DE602004005785T2 - Dynamische Leitweglenkung in einem inhaltbasierten verteilten Netzwerk - Google Patents

Dynamische Leitweglenkung in einem inhaltbasierten verteilten Netzwerk Download PDF

Info

Publication number
DE602004005785T2
DE602004005785T2 DE602004005785T DE602004005785T DE602004005785T2 DE 602004005785 T2 DE602004005785 T2 DE 602004005785T2 DE 602004005785 T DE602004005785 T DE 602004005785T DE 602004005785 T DE602004005785 T DE 602004005785T DE 602004005785 T2 DE602004005785 T2 DE 602004005785T2
Authority
DE
Germany
Prior art keywords
node
routing
routing table
nodes
cdn
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
DE602004005785T
Other languages
English (en)
Other versions
DE602004005785D1 (de
Inventor
Stephen R. Carter
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Micro Focus Software Inc
Original Assignee
Novell Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Novell Inc filed Critical Novell Inc
Publication of DE602004005785D1 publication Critical patent/DE602004005785D1/de
Application granted granted Critical
Publication of DE602004005785T2 publication Critical patent/DE602004005785T2/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/22Alternate routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/28Routing or path finding of packets in data switching networks using route fault recovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/302Route determination based on requested QoS
    • H04L45/308Route determination based on user's profile, e.g. premium users
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/20Traffic policing

Description

  • Gebiet der Erfindung
  • Diese Erfindung bezieht sich auf Inhalts-Verteil-Netzwerke und insbesondere auf Techniken zum dynamischen Routen unter Verwendung angereicherter Routing-Tabellen eines Inhalts-Verteil-Netzwerks.
  • Hintergrund der Erfindung
  • Konventionell wird ein Netzwerk in höhere Ebenen der Abstraktion abstrahiert, um die Komplexitäten des unterliegenden physischen Netzes zu vereinfachen. Die Abstraktion wird gewöhnlich als eine Überlagerung auf dem physikalischen Netzwerk betrachtet. Außerdem wird auf die Abstraktion häufig als eine Topologie oder logische Abbildung des Netzwerkes verwiesen. Die Abbildung enthält Knoten, die physikalische (z.B. Server) oder logische (z.B. Anwendungen) Ressourcen des Netzwerkes darstellen. Die Abbildung enthält auch Verknüpfungen, die physikalische (z.B. Medienkanäle) oder logische (z.B. Protokolle) Kommunikationen zwischen den Knoten darstellen. Ein Pfad von einem Eingangs- oder Zugangsknoten zu einem oder mehrere Ausgangs- oder Ausstiegsknoten kann innerhalb der Abbildung durch Verbinden von Knoten und Verknüpfungen auf eine geordnete Art und Weise definiert werden. Die Knoten und Verknüpfungen können auch Kosten enthalten, die durch Regeln für das Netz bestimmt sind. Somit kann ein Pfad von einem Zugangsknoten zu einem Ausstiegsknoten zugehörige Kosten haben. Die Regeln können eine Vielfalt von Metriken oder Attributen für jede der Verknüpfungen und/oder Knoten enthalten, wie etwa verfügbare Bandbreite, geografische Distanz, Medienübertragungskanal und dergleichen.
  • Sobald die Knoten, Verknüpfungen und Regeln bekannt sind, können Umspannungsbaumalgorithmen (engl. spanning tree algorithms) verwendet werden, um Bäume mit der Topologie zu generieren. Die Ergebnisse dieser Algorithmen erzeugen Pfade innerhalb des Netzwerks zum Routen von Daten. Diese Pfade können innerhalb von Routing-Tabellen angezeigt werden, welche durch Netzwerk-Routing-Vorrichtungen und- Anwendungen verbraucht werden, wenn die Daten durch das Netzwerk geroutet werden, da Daten, welche eine vernünftige Alternative heraussuchen müssen, erfasst werden.
  • Typische Routing-Tabellen enthalten einen einzelnen Pfad durch ein Netzwerk zum Routen von Daten, und sollte ein Fehler auftreten, werden alternative Pfade dynamisch durch die Hardware und Software, welche mit einer Netzwerkvorrichtung oder einer Anwendung in Zusammenhang stehen, dynamisch generiert, welche unzureichend versucht ein Datenpaket über eine fehlerhafte Verbindung oder einen Knoten zu routen. Ein dynamisches Bestimmen eines alternativen Pfades innerhalb einer Routing-Tabelle steckt voller Probleme, weil es unter anderen Gründen übermäßig die Routing-Verbindungen und Knoten des Netzwerkes belastet.
  • G. Ash, "Traffic Engineering and QoS Messages for IP-, ATM, and TDM-based Multiservice Networks", Network Working Group Internet Draft, Oktober 2001 (2001-10) XP015003551 beschreibt Verkehrsentwicklungs- und Dienstqualität (QoS)-Techniken. Die Techniken sind für eine Vielzahl von unterschiedlichen Netzwerkaufbauten beschrieben. Eine Routing-Tabelle enthält einen oder mehrere Pfade von einem Ursprungsknoten (ON) durch eine Vielzahl von weiteren Knoten (VN) zu einem Zielknoten (DN). Der Prozessfluss zur Regelverwendung mit Bezug auf ein Routen ist beschrieben. Es ist daher klar, dass es der DN ist, welcher die Routing-Tabelle und den Anfangspfad erlangt. VNs modifizieren nicht die Routing-Tabelle wenn ein Paket empfangen wird. Ferner, sogar wenn die VNs eine Richtlinie zum Auswählen eines unterschiedlichen Pfades, welcher innerhalb der durch den DN erzeugten Routing-Tabelle enthalten ist, verwenden, ändern die VNs immer noch nicht die Pfade, erzeugen neue Pfade oder modifizieren die Routing-Tabelle auf jegliche Weise.
  • D-S. Lee, et al., "Performance Analysis of a Thresholdbased Dynamic Routing Algorithm". Fundamental Role of Teletraffic in the Evolution of Telecommunications Networks. Proceedings of the 14th International Teletraffic Congress – ITC14, Juan-Les-Pins, 6.-10. Juni 1994, Teletraffic Science and Engineering, Elsevier, Amsterdam NL, vol. 1B, 6. Juni 1994, Seiten 1475-1484, beschreibt einen Schwellwert basierten Routing-Algorithmus, welcher Routing-Tabellen Aktualisierungen triggert, wenn bestimmte Puffer-Schwellwerte gekreuzt werden. Dies erstellt den Algorithmus unterschiedlich von herkömmlichen Routing-Algorithmen, in welchen Aktualisierungen periodisch durchgeführt werden. Ein Schwellwert basiertes Schema triggert Aktualisierungen, wenn sie am meisten benötigt werden, d. h., wenn ein bestimmter Teil des Netzwerks höchstwahrscheinlich verstopft wird, und reduziert die Anzahl von Aktualisierungen pro Zeiteinheit. Jedoch ist dies lediglich ein Verkehrslast-Mitbenutzungsalgorithmus, basierend lediglich auf den Füllgrad von Puffern an jedem Knoten, und nicht auf irgendeiner Untersuchung von Regeln im Zusammenhang mit jeder Verbindung der derzeit zur Verfügung stehenden Pfade.
  • Die US-2003/0039212 (Lloyd et al) beschreibt ein Erfassen, Analysieren und Ausstrahlen von Metriken im Zusammenhang mit einem Paket, welches durch ein Netzwerk läuft, und ein Verfahren zum Optimieren eines Netzwerkverkehrs basierend auf einer Leistungsmetrik. Es können Flüsse aufgeteilt werden, wenn ein vorgegebener Schwellwert in solchen Metriken (wie beispielsweise Kosten oder zur Verfügung stehende Bandbreite) erfasst wird. Die Ergebnisse einer Untersuchung der Metriken können bei einem Knoten bewirken, einen unterschiedlichen vorbestehenden Pfad in der Routing-Tabelle für ein vorgegebenes Paket auszuwählen. Die Metriken werden dazu verwendet, um einen Pfad auszuwählen, wobei ein Routen geändert werden kann, indem ein unterschiedlicher Pfad ausgewählt wird, wobei der Pfad in der Routing-Tabelle vorbestimmt ist und die Routing-Tabelle durch den Ursprungsknoten erzeugt wird.
  • Jedoch wurden jüngst vorteilhafte Verbesserungen auf diese herkömmlichen Annäherungen gemacht, so dass, wenn eine Routing-Tabelle anfangs für ein Netzwerk generiert wird, die Routing-Tabelle bereits einen gewünschten Pfad und einen oder mehrere alternative Pfade zur Verwendung enthält, wenn ein Knoten- oder Verbindungs-Fehler auftritt, während Datenpakete durch das Netzwerk geroutet werden. Eine solche vorteilhafte Verbesserung ist im Europäischen Patent No. 1,416,685B mit dem Titel "Enriched Tree for a Content Distribution Network" beschrieben.
  • Durch die Lehren der EP 1,416,685 B kann ein selektives und optimales dynamisches Routen innerhalb einer Routing-Tabelle wirksamer implementiert werden. Anstelle dass typische Techniken verwendet werden, um dynamisch von Grund auf alternative Pfade beim Ereignis eines Fehlers zu generieren, liegen die alternativen Pfade in den Routing-Tabellen der "Enriched Tree for a Content Distribution Network" Erfindung bereits vor.
  • Dennoch kann es in einigen Fällen, basierend auf derzeitigen Verarbeitungsbedingungen der Verbindungen und Knoten, welche mit einem Pfad in Zusammenhang stehen, vorteilhaft sein, Datenpakete an einige vorbestimmte alternative Pfade auf einer lokalen Basis dynamisch zu ändern oder neu zu richten, um das Netzwerk optimal zu verwenden. Beispielsweise können einige Verbindungen oder Knoten zu irgendeinem bestimmten Zeitpunkt überbenutzt oder unterbenutzt sein, wenn ein Datenpaket geroutet wird. In diesen Fällen ist es wünschenswert, das Datenpaket an eine alternative lokale Verbindung oder einen Knoten, welcher derzeit unterbenutzt sein kann, selektiv neu zu richten. Durch Verbesserungen, welche durch die "Enriched Tree for a Content Distribution Network" Erfindung gemacht worden sind, kann ein solcher Umstand zum selektiven und dynamischen Routen von Datenpaketen durch ein Netzwerk realisiert werden.
  • Somit gibt es eine Notwendigkeit zur Bereitstellung eines selektiven dynamischen Routens von Datenpaketen durch angereicherte Routing-Tabellen für ein Netzwerk.
  • Zusammenfassung der Erfindung
  • Die vorliegende Erfindung stellt ein Verfahren, ein System und eine Datenstruktur zum dynamischen Routen eines Datenpakets durch ein Inhalts-Verteil-Netzwerk (CDN) gemäß den folgenden Ansprüchen bereit. Eine Routing-Tabelle stellt das CDN dar und enthält einen gewünschten Pfad und einen oder mehrere alternative Pfade durch das CDN. Jeder Pfad enthält Verbindungen, welche Paare von einem Eingangsknoten, Zwischenknoten und einem Zielknoten verbinden. Jede Verbindung enthält Regeln, welche durch den Eingangsknoten und die Zwischenknoten verarbeitet werden, um eine Nummer der Zwischenknoten innerhalb der Routing-Tabelle neu zu ordnen.
  • Genauer gesagt, wird ein Verfahren zum dynamischen Routen eines Datenpakets durch ein CDN beschrieben. Es wird eine Routing-Tabelle für ein CDN und ein Datenpaket empfangen. Die Routing-Tabelle repräsentiert einen gewünschten Pfad und alternative Pfade durch das CDN. Zusätzlich repräsentiert jeder Pfad Verbindungen zwischen einem Eingangsknoten, Zwischenknoten und einem Zielknoten. Es werden Regeln, welche derzeit verfügbaren Verbindungen für derzeit verfügbare Pfade zugeordnet sind, am Eingangsknoten oder an einem der Zwischenknoten untersucht, wenn das Datenpaket empfangen wird. Als Nächstes werden derzeit verfügbare Zwischenknoten innerhalb der Routing-Tabelle neu geordnet, wenn die Regeln durch derzeitige Bedingungen der derzeit verfügbaren Zwischenknoten getriggert werden. Schließlich wird das Datenpaket an einen nächsten verfügbaren Zwischenknoten der Routing-Tabelle geroutet. Der nächste verfügbare Zwischenknoten ist aus einem der derzeit verfügbaren Zwischenknoten ausgewählt.
  • In einer weiteren Ausführungsform der Erfindung wird ein weiteres Verfahren zum dynamischen Routen eines Datenpakets durch ein Inhalts-Verteil-Netzwerk (CDN) bereitgestellt. Es werden Regeln einer Routing-Tabelle zugeordnet, und die Routing-Tabelle enthält einen gewünschten Pfad und einen oder mehrere alternative Pfade. Jeder Pfad enthält Verbindungen zwischen einem Eingangsknoten, Zwischenknoten und einem Zielknoten. Ein Empfangsknoten ordnet ebenfalls dynamisch nächste verfügbare Zwischenknoten innerhalb der Routing-Tabelle neu, wenn die Regeln getriggert werden.
  • In einer weiteren Ausführungsform der Erfindung wird ein System zum dynamischen Routen eines Datenpakets durch ein Inhalts-Verteil-Netzwerk gelehrt. Das System enthält eine Routing-Tabelle, Regeln und ein Routing-Modul. Die Routing-Tabelle enthält einen gewünschten Pfad und einen oder mehrere alternative Pfade. Jeder Pfad enthält Verbindungen von einem Eingangsknoten durch Zwischenknoten zu einem Zielknoten. Es werden Regeln den Verbindungen von den Pfaden zugeordnet, und jede Verbindung wird zwei Verbindungsknoten zugeordnet. Das Routing-Modul untersucht die Regeln, welche derzeit verfügbaren Verbindungen der Pfade zugeordnet sind, wenn ein Datenpaket empfangen wird und durch eine der derzeit verfügbaren Verbindungen zu Routen ist. Darüber hinaus ordnet das Routing-Modul dynamisch derzeit verfügbare Zwischenknoten, welche den derzeit verfügbaren Verbindungen zugeordnet sind, innerhalb der Routing-Tabelle, wenn die Regeln getriggert werden, neu.
  • In einer weiteren Ausführungsform der Erfindung ist eine CDN-Routing-Datenstruktur, implementiert in einem computerlesbaren Medium, zum dynamischen Routen eines Datenpakets durch ein Inhalts-Verteil-Netzwerk bereitgestellt. Die CDN-Routing-Datenstruktur enthält eine Routing-Tabelle und Regeln. Die Routing-Tabelle ist einem gewünschten Pfad oder einem oder mehreren alternativen Pfaden zugeordnet. Jeder Pfad enthält Verbindungen, und jede Verbindung repräsentiert Verbindungen zwischen Paaren von einem Eingangsknoten, Zwischenknoten und einem Zielknoten. Die Regeln sind jeder Verbindung der Pfade zugeordnet. Ferner werden die Regeln durch den Eingangsknoten und die Zwischenknoten verarbeitet, um die Zwischenknoten der Routing-Tabelle dynamisch umzusortieren, während das Datenpaket durch das CDN geroutet wird.
  • Kurze Beschreibung der Zeichnungen
  • 1A ist ein Diagramm einer Beispielstopologie eines CDN gemäß einer Ausführungsform der Erfindung;
  • 1B ist ein Diagramm einer Beispielstopologie, welches eine Anreicherung von 1A darstellt, gemäß einer Ausführungsform der Erfindung;
  • 2 ist ein Flussdiagramm, welches ein Verfahren zum dynamischen Routen eines Datenpakets durch ein CDN gemäß einer Ausführungsform der Erfindung darstellt;
  • 3 ist ein Flussdiagramm, welches ein weiteres Verfahren zum dynamischen Routen eines Datenpakets durch ein CDN gemäß einer Ausführungsform der Erfindung darstellt;
  • 4 ist ein Diagramm eines Systems zum dynamischen Routen eines Datenpakets durch ein CDN gemäß einer Ausführungsform der Erfindung; und
  • 5 ist ein Diagramm einer CDN-Routing-Datenstruktur zum dynamischen Routen eines Datenpakets durch das CDN gemäß einer Ausführungsform der Erfindung.
  • Genaue Beschreibung der Erfindung
  • In der folgenden Beschreibung wird auf die begleitenden Zeichnungen Bezug genommen, die einen Teil von ihr bilden, und in denen als Veranschaulichung spezifische Ausführungsformen gezeigt werden, in denen die Erfindung praktiziert werden kann. Diese Ausführungsformen werden ausreichend detailliert beschrieben, um einem Durchschnittsfachmann zu ermöglichen, die Erfindung zu praktizieren, und es ist zu verstehen, dass andere Ausführungsformen genutzt werden können, und dass strukturelle, logische, optische und elektrische Änderungen durchgeführt werden können, ohne von dem Umfang der Erfindung abzuweichen. Die folgende Beschreibung ist deshalb nicht in einer begrenzten Bedeutung aufzunehmen, und der Bereich der vorliegenden Erfindung wird durch die angefügten Ansprüche definiert.
  • In verschiedenen Ausführungsformen der vorliegenden Erfindung wird ein Inhalts-Verteil-Netzwerk (CDN) in eine Topologie abstrahiert, die die Besonderheiten darstellt und vereinfacht, die mit dem tatsächlichen physischen Netz in Verbindung stehen. Es werden viele Router, Vermittler, Hubs und dergleichen verwendet, um das physikalische Netzwerk zu bewirken, das die Topologie abstrahiert. CDN-Administratoren betrachten die Topologie, um einen Job zu erstellen, der den Inhalt/die Daten beschreibt, der/die durch das CDN zu bewegen ist/sind. Außerdem verwendet das CDN die Topologie um zu planen, wann der Job verarbeitet wird und wo der Inhalt/die Daten innerhalb des CDN auszugeben ist/sind. Die Topologie kennzeichnet das CDN und kann mit Visualisierungsanwendungen gekoppelt sein, um das CDN den Administratoren visuell zu präsentieren.
  • Entsprechend verwenden Administratoren die Topologie, um das Netzwerk als einen oder mehrere Bäume zu visualisieren, wobei jeder Baum einen Zugangsknoten (Eingangsknoten), keinen oder mehrere Zwischenknoten und einen oder mehrere Ausstiegsknoten (Zielknoten) hat. Die Knoten repräsentieren physikalische Einrichtungen des CDN (z.B. Server, Berechnungseinrichtungen, Geräte und andere) und logische Einrichtungen des CDN (z.B. Anwendungen, Server-Farmen und andere). Die Knoten des Baums sind über Verbindungen verbunden. Die Verbindungen repräsentieren physikalische Verbindungen zwischen den Knoten (z.B. Medienkanäle, Übertragungsleitungstypen und andere) und logische Verbindungen zwischen den Knoten (z.B. verwendete Kommunikationsprotokolle, verwendete Sicherheitsanwendungen und andere).
  • Darüber hinaus, in Abhängigkeit von einer bestimmten Knoten-Mitgliedschaft innerhalb eines Umspannungsbaums zu einem vorgegebenen Zeitpunkt, bei welchem ein Datenpaket geroutet wird, können ein Eingangsknoten und ein Zielknoten als Zwischenknoten charakterisiert werden. Beispielsweise kann ein Zielknoten als ein Zwischenknoten innerhalb eines Pfades zu einem unterschiedlichen Zielknoten verwendet werden. Zusätzlich kann ein Eingangsknoten als ein Zwischenknoten verwendet werden, wenn ein Datenpaket von einem weiteren Eingangsknoten empfangen wird. Somit kann sich die Charakterisierung von Eingangsknoten und Zielknoten basierend auf irgendeiner bestimmten derzeitigen Mitgliedschaft eines Verarbeitungsknotens innerhalb eines Umspannungsbaums während einer Datenpaket-Übertragung durch ein CDN ändern.
  • Die Topologie gestattet, dass Attribute oder Charakteristika verschiedener Bäume leicht wahrgenommen werden. Beispielsweise kann ein Zugangsknoten (z.B. ein Wurzelknoten des einzelnen Baums) als ein Achteck dargestellt werden, ein Zielknoten kann als ein Kreis mit zwei Dreiecken unten rechts von dem Kreis dargestellt werden, und dergleichen. Außerdem kann die angezeigte Länge einer Verknüpfung verwendet werden, um die physikalische Distanz einer Kommunikationsverbindung zwischen zwei Knoten zu bestimmen, oder optional die Qualität und Geschwindigkeit der Kommunikationsverbindung. Somit kann eine Verknüpfung einer längeren Länge mit einer weniger wünschenswerten Kommunikationsverbindung als eine Verknüpfung mit einer kürzeren Länge in Verbindung gebracht. Auch können Verknüpfungen als unterbrochene Linien mit gerichteten Pfeilen dargestellt werden, um einen geplanten Pfad eines Datenpakets durch einen beliebigen bestimmten Baum von dem Eingangsknoten zu einem oder mehreren Zielknoten anzuzeigen.
  • CDN-Topologien sind einem Durchschnittsfachmann gut bekannt, und werden CDN-Administratoren einfach zur Verfügung gestellt. Außerdem kann eine Vielfalt von visuellen Hinweisen (z.B. Farben, Texturen, Schriftarten und dergleichen) über das hinaus verwendet werden, was präsentiert wurde, um verschiedene Attribute und Charakteristika von Knoten, Verknüpfungen und Pfaden innerhalb des Baums oder der Topologie des CDN zu identifizieren. Somit werden die oben erörterten visuellen Hinweise nur für veranschaulichende Zwecke präsentiert, um bei der Beschreibung einiger Ausführungsformen der vorliegenden Erfindung zu helfen, und sollten nicht als eine Begrenzung der vorliegenden Erfindung betrachtet werden.
  • Ein Zugangsknoten ist ein Punkt in der Topologie, wo ein Datenpaket in das CDN eingeführt wird. Ein einzelner Baum, der innerhalb der CDN-Topologie dargestellt wird, enthält einen einzelnen Zugangsknoten. Es ist nicht wünschenswert, den Inhalt, sobald an einem Zugangsknoten empfangen, an alle Knoten des CDN zu bewegen, da dies eine ineffiziente Verwendung ist, die zu redundanten Datentransfers innerhalb des CDN führt. Ein Zielknoten ist ein Austrittspunkt für das Datenpaket (z.B. eine Einrichtung oder ein Gerät, wo der Inhalt/die Daten verbraucht wird/werden), und ist daher ein bekannter Verbraucher des Inhalts/der Daten.
  • Des Weiteren können Anfangsbäume, die innerhalb der CDN-Topologie für die Erfindung dargestellt werden, unter Verwendung eines beliebigen konventionellen Algorithmus generiert werden, wie etwa der Steiner Umspannungsbaumalgorithmus. Es können auch ad hoc oder angepasste Baumgenerierungsalgorithmen verwendet werden, wie etwa, wenn bestimmte Charakteristika des CDN eine derartige Option für eine Verwendung praktisch machen. Auch können Pfade innerhalb des Baums oder der Topologie generiert werden, unter Verwendung beliebiger konventioneller, ad hoc, oder angepasster Pfadgenerierungsalgorithmen. Wie ein Durchschnittsfachmann leicht erkennt, nehmen Pfadgenerierungsalgorithmen Eingangsparameter (z.B. einen Zeiger zu der Wurzel eines Baums, Kostencharakteristika, Regeln, Attribute von Knoten und Verknüpfungen, Ausstiegsknoten und dergleichen), um einen oder mehrere geplante Pfade innerhalb einer Topologie zu erzeugen, damit das Datenpaket seinen Weg am effizientesten nimmt.
  • Die Ausführungsformen der Erfindung verwenden die Lehre der "Enriched Tree for a Content Distribution Network" Erfindung derart, dass ein gewünschter Pfad und alternative Pfade vorbestimmt werden, bevor ein Datenpaket durch das CDN geroutet wird. Diese Pfade sind in einer Routing-Tabelle-Datenstruktur dargestellt. Zusätzlich zur Routing-Tabelle-Datenstruktur werden, mit den Lehren dieser Erfindung, Regeln den Verbindungen zwischen Knoten der Pfade zugeordnet. Diese Regeln werden durch Eingangsknoten oder Zwischenknoten verarbeitet, wenn ein Datenpaket empfangen wird, und an einen weiteren Zwischenknoten oder einen Zielknoten weiter zu Routen ist. Wenn ein Knoten die Regeln verarbeitet, kann ein dynamisches Umsortieren der Routing-Tabelle-Knoten auf einer lokalen Basis auftreten. Mit anderen Worten, kann irgendein bestimmter Verarbeitungsknoten das Routen eines Datenpakets entlang eines geplanten Pfades (beispielsweise Verbindung und Knoten) zu einem alternativen Pfad (beispielsweise alternative Verbindung und Knoten) ändern, wenn eine verarbeitete Regel eine solche Änderung basierend auf Bedingungen, welche nächsten verfügbaren Verbindungen und Knoten zugeordnet sind, welche unmittelbar auf dem Verarbeitungsknoten zugreifbar sind, vorschreibt.
  • Ferner ist die Erfindung in einer Ausführungsform innerhalb von CDN-Produktangeboten implementiert, welche durch Novell, Inc. verbreitet werden. Es ist jedoch zu verstehen, dass die Lehren der Erfindung in weiteren vorliegenden Produkten (beispielsweise bestehende Router, Vermittler, Hubs, Cache-Beschleuniger, kundenorientierte Anwendungen und dergleichen) und/oder unabhängigen Produkten implementiert werden können. Alle solche Modifikationen auf bestehende Produkte oder auf kundenerzeugte Produkte, welche die Lehren dieser Offenbarung verwenden, sind dazu gedacht, innerhalb des Umfangs der Erfindung zu fallen.
  • 1A veranschaulicht ein Diagramm einer Beispielstopologie 100 eines CDN. Die Beispielstopologie 100 ist in einem computerlesbaren Medium ausgeführt und repräsentiert CDN-Knoten 0-9. Nur für den Zweck der Veranschaulichung werden Eingangsknoten 4 und 5 als Achtecke dargestellt, während die Zielknoten 9, 0, 7 und 2 als Kreise mit zwei Dreiecken unten rechts von den Kreisen dargestellt werden. Die Topologie enthält auch Kreise ohne Dreiecke, die Zwischenknoten 3, 8, 6 und 1 anzeigen, die weder Eingangsknoten noch Zielknoten innerhalb des CDN sind. Außerdem kann die Länge der Linien, die die Knoten verbinden, als Kosten gesehen werden, die mit einer Verwendung einer bestimmten Kommunikation zwischen zwei Knoten in Verbindung stehen. Insgesamt sind Kosten, Bandbreite, Metriken und dergleichen angesammelt, und somit ist eine Verknüpfung kürzerer Länge wünschenswerter als eine Verknüpfung längerer Länge.
  • Jeder Eingangsknoten 4 und 5 kann als eine Wurzel eines Baums mit Knoten innerhalb der Topologie 100 gesehen werden. Wie ein Durchschnittsfachmann leicht erkennt, können Bäume unter Verwendung eines beliebigen Umspannungsbaumalgorithmus hergeleitet und generiert werden, wie etwa der Steiner Umspannungsbaumalgorithmus und andere. Nur für den Zweck der Veranschaulichung, legt das in 1A und 1B erörterte vorliegende Beispiel den Schwerpunkt auf einen einzelnen Baum T mit einem Wurzelknoten, der als ein Eingangsknoten 5 innerhalb der Topologie 100 dargestellt ist. Die Anwendung eines Umspannungsbaumalgorithmus führt zu einem Baum, welcher Knoten 5, 6, 9, 7, 2 und 0 enthält.
  • Zusätzlich zum Generieren eines Anfangsbaums T können beliebige konventionelle, angepasste oder ad hoc Pfadgenerierungsalgorithmen verwendet werden, um Pfade von dem Wurzelknoten 5 des Baums T zu den entsprechenden Zielknoten 9, 0, 7 und 2 zu generieren. Beispielsweise ist der Pfad zum Zielknoten 9 durch Durchlaufen des Baums T in der folgenden Reihenfolge 5→6→9 definiert. Gleichermaßen ist der Pfad zum Zielknoten 0 durch 5→6→7→0 definiert. Der Pfad zum Zielknoten 7 ist 5→6→7, und der Pfad zum Zielknoten 2 ist 5→6→7→2. Pfadgenerierungsalgorithmen sind basierend auf Kosten (z.B. Charakteristika von Knoten und/oder Verknüpfungen, und/oder Regeln des CDN), welche Pfade für das CDN als ein ganzes optimal sind, bestimmt. Somit ist es in dem vorliegenden Beispiel weniger aufwendig, ein Datenpaket, welches in das CDN am Eingangsknoten 5 eingeführt wird, an Knoten 6 zu bewegen, bevor mit beliebigen der Zielknoten 9, 0, 7 oder 2 fortgefahren wird.
  • Sobald der Baum T und die anfänglichen geplanten Pfade aus der Topologie 100 für das CDN abgeleitet sind, wird der Baum angereichert, um einen oder mehrere alternierende Pfade innerhalb des Baums T zu enthalten, um den Inhalt/die Daten in dem potenziellen Ereignis von Ausfällen eines Knotens oder einer Verknüpfung zu bewegen. 1B stellt eine derartige stufenweise Anreicherung dar. Obwohl 1B Zielknoten 7 als innerhalb der Topologie 110 isoliert darstellt, ist zu verstehen, dass dies nicht der Fall ist, da die Anwendung zur weiteren stufenweisen Anreicherung weitere Verbindungen zum Zielknoten 7 erzeugen wird. Dies ist zum Zweck der Veranschaulichung geschehen, um ein Beispiel einer Anreicherung zu isolieren. In der Tat existieren alle Pfade, die ursprünglich in 1A dargestellt werden, auch in 1B, jedoch enthält 1B alternierende oder angereicherte Pfade, die die existierenden Pfade von Baum T in 1A erweitern.
  • Demgemäß veranschaulicht 1B ein Diagramm einer Beispielstopologie 110, die eine Anreicherung von Baum T in 1A gemäß einer Ausführungsform der Erfindung darstellt. Eine Anreicherung von Bäumen in der Erfindung kann basierend auf konfigurierbaren Optionen geschehen, die durch einen CDN-Administrator geliefert werden. Der Baum T kann basierend auf einem bestimmten Knoten angereichert werden, der nicht in der Lage ist, mit einem seiner entsprechenden Elternknoten zu kommunizieren (Skip Parent enrichment type). Alternativ kann Baum T basierend auf einem bestimmten Knoten angereichert werden, der nicht in der Lage ist, mit einer seiner Verknüpfungen zu kommunizieren (Join enrichment type). Außerdem kann ein Merkmal "optionale Anreicherung" mit einem der zwei Typen von Anreicherung verwendet werden. Eine optionale Anreicherung organisiert die alternativen Pfade, die durch Anreicherung generiert werden, von geringsten Kosten (z.B. kürzester Pfad) zu höchsten Kosten (z.B. längster Pfad). Ursprüngliche geplante Pfade für Baum T und beliebige alternative angereicherte Pfade für Baum T werden als Routing-Tabellen zum Bewegen eines Datenpakets durch das CDN verfügbar gemacht. Auch kann jeder Anreicherungstyp isoliert oder in Kombination mit dem verbleibenden Anreicherungstyp, mit oder ohne das optionale Anreicherungsmerkmal, verwendet werden.
  • Sobald ein gewünschter Pfad (beispielsweise 1A: 5→6→7→2) und ein oder mehrere alternative Pfade (beispielsweise 1B: 5→3→2) unter Verwendung oben beschriebener Techniken und vollständiger in der "Enriched Tree for a Content Distribution Network" Erfindung beschrieben, bestimmt sind, kann ein angereicherter Baum T in einer Datenstruktur angezeigt werden, welche leicht durch Netzwerk-Routing-Vorrichtungen und -Anwendungen verbraucht werden kann. Diese Datenstruktur ist als Routing-Tabelle 111 in 1B angezeigt. Beispielsweise ist ein Zielknoten 2 lediglich vom Knoten 7 oder 3 über Verbindung 7→2 oder 3→2 erreichbar.
  • Jeder in der Routing-Tabelle 111 dargestellten Verbindung wird ebenfalls eine oder mehrere Regelmetriken zugeordnet. Diese Zuordnung kann durch einen Referenz-Zeiger von jeder Verbindung zu einer Regel-Datenstruktur erreicht werden, oder in einigen Ausführungsformen können die Regeln innerhalb der Routing-Tabelle 111 eingebettet sein.
  • In alternativen Ausführungsformen sind die Regeln gänzlich von der Routing-Tabelle 111 getrennt, so dass die Routing-Tabelle 111 irgendeine herkömmliche Routing-Tabelle ist, welche durch Netzwerk-Routing-Vorrichtungen und- Anwendungen verbraucht wird. In diesen Ausführungsformen werden Regel-Verarbeitungs-Anwendungen und Regel-Datenstrukturen als Schnittstelle der herkömmlichen Routing-Tabelle zu den Regeln verwendet.
  • Beispielsweise, wenn der Eingangsknoten 5 von 1B ein Datenpaket zum Routen an den Zielknoten 2 empfängt, wird der gewünschte Pfad von der Routine-Tabelle 111 als Pfad 5→6→7→2 erlangt, und ein alternativer Pfad wird als 5→3→2 erlangt. Somit kann Knoten 5 das Datenpaket zum Knoten 6 oder 3 routen, die Verbindung 5→6 und 5→3 kann in einer Regel-Datenstruktur und einem Routing-Modul, welches eine Schnittstelle zu einer herkömmlichen Routing-Anwendungen verbrauchenden Routing-Tabelle 111 bildet. Somit, bevor ein Datenpaket an Knoten 6 oder 3 von Knoten 5 geroutet wird, wird das Routing-Modul verarbeitet. Das Routing-Modul fragt dann die Regel-Datenstruktur nach Regel-Metriken ab, welche mit Verbindungen 5→6 und 5→3 in Zusammenhang stehen, und führt diese Regel-Metriken aus. Wenn während der Ausführung von einer der Regel-Metriken das Routing-Modul bestimmt, dass es basierend auf derzeitigen Bedingungen von lokal zugreifbaren Knoten 3 und 6 optimaler ist, das Datenpaket über Verbindung 5→3, im Gegensatz zu Verbindung 5→6, zu routen, dann wird das Routing-Modul dynamisch die Routing-Tabelle 111 Einträge derart umsortieren, dass Zielknoten 2 zu "2 : 3,7" wird. Dies zeigt an, dass es, um Zielknoten 2 zu erreichen, nun weiter wünschenswert ist, zunächst durch Knoten 3 zu gehen, wohingegen der Routing-Tabelle 111 Eintrag für 1B anfangs angezeigt hat, dass 7 mehr geeignet war, (beispielsweise "2 : 7,3"). Die umsortierte Routing-Tabelle wird dann den Netzwerk-Routing-Vorrichtungen und- Anwendungen dargelegt, welche auf Knoten 5 arbeiten, wobei das Datenpaket an Knoten 3 über Verbindung 5→3 geroutet wird. Diese umsortierte Routing-Tabelle bleibt dann in Wirkung, bis ein weiteres Regelereignis eine weitere Umsortierung bewirkt.
  • Demgemäß kann mit den Lehren dieser Erfindung jegliche Routing-Tabelle 111 in Kombination mit Regel-Datenstrukturen und Weiterleitungs-Modulen verwendet werden. Daher brauchen keine Änderungen auf herkömmliche Routing-Vorrichtungen und -Anwendungen vorgenommen zu werden, um die vorteilhaften Verbesserungen von der Erfindung zu realisieren.
  • Regeln in Zusammenhang mit Verbindungen der Routing-Tabelle können eine Vielzahl von Formen annehmen, wie beispielsweise Bits, welche derzeit durch einen Knoten oder eine Verbindung empfangen werden, Bits, welche derzeit durch einen Knoten oder eine Verbindung übertragen werden, derzeitige Anwendungen, welche auf einem Knoten verarbeitet werden, derzeitige Prioritäts-Zuweisungen für einen Netzwerkverkehr auf einem Knoten oder eine Verbindung, und weiteres. Die Regeln sind ausführbare oder interpretierbare Angaben, welche durch ein Routing-Modul verarbeitet werden, um Regel-Metriken zu einem vorgegebenen Zeitpunkt von einer Verbindung oder von einem Knoten zu erlangen. Dies wird einfach erreicht, da das dynamische Routen dieser Erfindung basierend lediglich auf lokale Knoten selektiv ist, welche unmittelbar auf einen Knoten zugreifbar sind, welcher die Regeln verarbeitet.
  • 2 ist ein Flussdiagramm, welches ein Verfahren 200 zum dynamischen Routen eines Datenpakets durch ein CDN darstellt. Die Verarbeitung des Verfahrens 200 ist in einem computerlesbaren Medium implementiert, und ist in einer Ausführungsform als ein Routing-Modul implementiert. Das Routing-Modul arbeitet auf Knoten von dem CDN.
  • Bei 210 empfängt ein Verarbeitungsknoten oder ein anfänglicher Verarbeitungsknoten (Eingangsknoten) eine Routing-Tabelle und ein Datenpaket zum Routen durch ein CDN. Bei Situationen, bei welchen der Verarbeitungsknoten die Routing-Tabelle und das Datenpaket empfängt, wird diese Information von einem vorherigen Verarbeitungsknoten empfangen, welcher das Datenpaket routet. Bei Situationen, bei welchen der Anfangsknoten die Information empfängt, wird sie von einer Anwendung empfangen, welche ursprünglich den Routing-Prozess durch das CDN beginnt. Zusätzlich brauchen die Routing-Tabelle und das Datenpaket nicht zusammen durch einen Verarbeitungsknoten empfangen zu werden. Somit, obwohl ein Verarbeitungsknoten sowohl die Routing-Tabelle als auch das Datenpaket empfängt, können diese Elemente separat durch den Verarbeitungsknoten empfangen werden, und es gibt keine Anforderung, dass sie zusammen empfangen werden.
  • Die Routing-Tabelle stelle eine elektronische Datenstruktur dar, welche durch Netzwerkvorrichtungen und -anwendungen zum Erlangen eines gewünschten Pfades und eines oder mehrerer alternativer Pfade für das Datenpaket durch das CDN verwendet werden kann. Wie zuvor diskutiert wurde, enthalten die Pfade Verbindungen von einem Eingangsknoten durch einen oder mehrere Zwischenknoten an einen oder mehrere Zielknoten, und jede Verbindung verbindet zwei Knoten miteinander. Somit wird die Routing-Tabelle auf die Art und Weise angereichert, welche in der "Enriched Tree for a Content Distribution Network" Erfindung diskutiert wird.
  • Jede Verbindung in der Routing-Tabelle kann Regeln enthalten, wobei diese Regeln durch einen Verarbeitungsknoten verarbeitet werden, welcher derzeit das Datenpaket enthält und es wünscht, das Datenpaket entlang einer lokalen Verbindung zu einem nächsten derzeit verfügbaren Zwischenknoten zu routen. Somit werden bei 220 Regeln für lokal zugreifbare Verbindungen, welche einem Verarbeitungsknoten verfügbar sind, welcher das Datenpaket enthält, verarbeitet, um Regel-Metriken zu untersuchen, welche durch die verarbeiteten Regeln bestimmt sind. In einigen Fällen können einige Verbindungen keine zugeordneten Regeln enthalten, und in diesen Situationen besteht eine NULL-Regel mit solchen Verbindungen in Zusammenhang.
  • Derzeitige Regel-Metrikwerte werden von derzeitigen Bedingungen erlangt, welche mit den derzeit verfügbaren Verbindungen (lokal zugreifbar) und Knoten in Zusammenhang stehen, welche in der Routing-Tabelle identifiziert sind. Einige Metriken enthalten eine derzeit verfügbare Verbindung oder eine Knoten-Verarbeitungslast, Bandbreiten-Verwendung und Datenverkehr-Prioritätszuordnungen. Der Verarbeitungsknoten vergleicht dann die resultierenden Metrik-Werte der derzeit verfügbaren Verbindungen und Knoten mit den entsprechenden Regel-Metrik Schwellwerten, welche durch die geeigneten Regeln bei 230 bestimmt sind.
  • Wenn bei 230 kein Schwellwert erfasst wird, dann wird bei 231 keine Aktion auf die Routing-Tabelle vorgenommen, und bei 260 routet der Verarbeitungsknoten das Datenpaket über eine bevorzugte Verbindung zu einem bevorzugten Knoten, welcher in der Routing-Tabelle auf eine normale und erwartete Weise identifiziert ist. Wenn jedoch irgendeinem bestimmten Schwellwert begegnet wird, dann wird eine Aktion in Zusammenhang mit der geeigneten Regel vorgenommen.
  • In einer Ausführungsform wird vor einem Verarbeiten von irgendeiner Aktion in Zusammenhang mit einem erreichten Schwellwert eine zusätzliche Überprüfung bei 232 vorgenommen, um zu bestimmten, ob die benötigte Aktion einen zuvor zurückgestuften Knoten innerhalb der Routing-Tabelle unterstützen wird. In einem solchen Fall kann es wünschenswert sein, einen zuvor zurückgestuften Knoten nicht zu unterstützen und daher mit 231 fortzufahren, wobei keine Aktion auf die Routing-Tabelle vorgenommen wird, und das Datenpaket bei 260 an eine bevorzugte Verbindung und einen in der Routing-Tabelle bestimmten Knoten zu routen.
  • Ein unterstützter Knoten ist ein Knoten in einer Routing-Tabelle, welcher vor weiteren Knoten in der Routing-Tabelle bewegt wurde, wodurch er bevorzugter als die Knoten erstellt wurde, über welche er unterstützt wurde. Im Gegensatz dazu, ist ein zurückgestufter Knoten ein Knoten in einer Routing-Tabelle, welcher hinter weiteren Knoten in der Routing-Tabelle bewegt wurde, wodurch er zu einem weniger bevorzugten Knoten über jenen vor ihm erstellt wird.
  • Zusätzlich kann dann bei 240 in einigen Ausführungsformen, wenn eine erforderliche Verarbeitungsaktion eine Verbindung oder einen Knoten innerhalb der Routing-Tabelle zurückstuft, eine formale Bezeichnung verwendet werden, um eine solche Verbindung oder Knoten eindeutig zu identifizieren. Diese Bezeichnung kann innerhalb einer Regel-Datenstruktur, der Routing-Tabelle oder innerhalb einer separaten Datenstruktur in Zusammenhang mit der Datenstruktur aufgezeichnet werden, so dass, wenn ein nächster Verarbeitungsknoten das Datenpaket empfängt, diese Situation erfasst werden kann, und, wenn gewünscht, der zurückgestufte Knoten nicht nachfolgend innerhalb der Routing-Tabelle durch den nächsten Verarbeitungsknoten unterstützt wird.
  • Bei 250, wenn eine Aktion in Zusammenhang mit einem Erreichen eines Schwellwertes erreicht ist, und weitere Bedingungen, wie oben diskutiert, angezeigt sind, dann wird bei 250 die Routing-Tabelle dynamisch umsortiert, um Verbindungen und Knoten widerzuspiegeln, welche basierend auf der vorgenommenen Aktion unterstützt oder zurückgestuft sind. Als Nächstes wird bei 260 das Datenpaket über eine neue bevorzugte Verbindung oder einen Knoten geroutet.
  • Die Verarbeitung des Verfahrens 200 ist iterativ und wird durch jeden Eingangsknoten oder Zwischenknoten verarbeitet, welcher das Datenpaket beginnend bei 220 empfängt. Darüber hinaus, kann in einigen Ausführungsformen die gesamte anfangs angereicherte Routing-Tabelle an alle Knoten des CDN verteilt werden, bevor das Datenpaket durch das CDN geroutet wird. Alternativ ist die Routing-Tabelle in einigen Ausführungsformen an das Datenpaket angeschlossen, und somit kann die Verarbeitung des Verfahrens 200 beginnend bei 210 wiederholt werden. Jedoch, braucht in keinen der zwei obigen alternativen Ausführungsformen irgendeine dynamisch umsortierte Routing-Tabelle an nachfolgende Verarbeitungsknoten kommuniziert zu werden, da es durch die Lehren der Erfindung die derzeit verfügbaren Verbindungen und Knoten (lokal zugreifbare Verbindungen und Knoten) sind, welche durch irgendeinen bestimmten Verarbeitungsknoten umsortiert werden. Somit wird die umsortierte Routing-Tabelle nicht durch nachfolgende Verarbeitungsknoten benötigt. Alternativ kann es in einigen Ausführungsformen vorteilhaft sein, zumindest irgendeine umsortierte Routing-Tabelle dem derzeit verfügbaren Knoten zu melden, welcher das Datenpaket von einem Verarbeitungsknoten empfängt, welcher die Routing-Tabelle umsortiert hat, so dass verhindert wird, dass zuvor zurückgestufte Knoten nachfolgend durch nachfolgende Verarbeitungsknoten unterstützt werden.
  • Zusätzlich können die Regeln in einigen Ausführungsformen derart bedingt sein, so dass, wenn eine bestimmte Verbindung oder ein Knoten durch die Routing-Tabelle unterstützt oder zurückgestuft wird, jegliche nachfolgende Verarbeitungsknoten diese Information zur Verarbeitung von alternativen Regeln verwenden können. Unter diesen Umständen können eine Rückhaltung und ein Routen von umsortieren Routing-Tabellen den Verarbeitungsknoten einen Vorteil bereitstellen.
  • 3 ist ein Flussdiagramm, welches ein weiteres Verfahren 300 zum dynamischen Routen eines Datenpakets durch ein CDN darstellt. Die Verarbeitung des Verfahrens 300 ist in einem computerlesbaren Medium implementiert, und ist in einer Ausführungsform als ein Routing-Modul zum Routen eines Datenpakets durch ein CDN implementiert.
  • Anfangs werden bei 310 Regeln einer Routing-Tabelle zugeordnet. Die Routing-Tabelle ist eine elektronische Datenstruktur, welche zum Herleiten eines gewünschten Pfades und eines oder mehrerer alternativer Pfade für ein Datenpaket verwendet wird, welches durch ein CDN zu routen ist. Ein Pfad enthält eine oder mehrere Verbindungen von einem Eingangsknoten durch einen oder mehrere Zwischenknoten an einen oder mehrere Zielknoten, und jede Verbindung ist ein Paar von Knoten, welche miteinander in Zusammenhang stehen.
  • Regeln sind ausführbare oder interpretierbare Anordnungen, welche durch Empfangsknoten im CDN verarbeitet werden. Diese Regeln enthalten Metriken, welche mit Schwellwerten für verschiedene Verarbeitungsbedingungen von lokal zugreifbaren (derzeitig verfügbaren) Verbindungen und Knoten in Relation zum empfangenen (verarbeitenden Knoten) in Zusammenhang stehen. Regeln können der Routing-Tabelle auf einer Vielzahl von Arten zugeordnet werden, wie beispielsweise durch ein Bereitstellen einer Verbindung innerhalb der Routing-Tabelle zu einer Regel-Datenstruktur, welche die Regeln und Metriken hat, oder durch ein Verwenden eines Routing-Moduls in Kombination mit der Regel-Datenstruktur, welche die Routing-Tabelle verbraucht und ändern kann, bevor die Routing-Tabelle an eine Netzwerk-Routing-Vorrichtung oder -Anwendung weitergereicht wird.
  • In einer Ausführungsform, stehen die Regeln bei 311 in Zusammenhang mit Verbindungen, welcher in der Routing-Tabelle bestimmt sind. Somit wird irgendeine bestimmte Regel durch einen Empfangsknoten für alle derzeit verfügbaren Verbindungen und Knoten ausgeführt, welche auf den Empfangsknoten zugreifbar sind.
  • Ein Empfangsknoten untersucht bei 330 die geeigneten Regeln durch ein Ausführen von Regel-Anordnungen, welche bei der Abfrage derzeitig verfügbare Zwischenknoten für Regel-Metriken sind, welche in den Regeln bestimmt sind. Einige dieser Metriken enthalten eine Bandbreitenverwendung, Verarbeitungslast und Verkehrsprioritäts-Zuweisungen. Die derzeitig verfügbaren Zwischenknoten antworten mit den Ergebnissen der Abfrageverarbeitung, und diese Ergebnisse werden mit Schwellwert-Metrikwerten verglichen, welche in den Regeln bestimmt sind. Wenn ein Schwellwert erreicht oder nicht erreicht wird, dann wird eine Aktion in Zusammenhang mit der geeigneten Regel zur Verarbeitung auf dem Empfangsknoten getriggert.
  • Wenn eine solche Verarbeitungsaktion bestimmt, dass die derzeit verfügbaren Verbindungen und Zwischenknoten innerhalb der Routing-Tabelle umsortiert werden müssen, dann wird die Routing-Tabelle bei 340 dynamisch umsortiert, um jegliche Unterstützung oder Herabstufung von derzeit erhältlichen Zwischenknoten und Verbindungen widerzuspiegeln.
  • Bei einigen Situationen, wie beispielsweise jene, welche oben mit 2 diskutiert sind, kann es wünschenswert sein, den derzeit verfügbaren Knoten oder allen verbleibenden Knoten des CDN zu melden, dass eine Umsortierung der Routing-Tabelle stattgefunden hat. Somit sendet der Empfangsknoten bei 341 die aktualisierte Routing-Tabelle oder zumindest eine Meldung über die Änderungen der derzeitig verfügbaren Knoten oder aller verbleibenden Knoten. Dies kann hilfreich sein, wenn irgendein nachfolgender Empfangsknoten diese Information aus Zwecken einer Nicht-Unterstützung zuvor herabgestufter Knoten oder aus Zwecken einer bedingten Verwendung alternativer Regeln für Verbindungen basierend auf irgendeiner Umsortierung, welche in der Routing-Tabelle auftritt, verwendet.
  • Bei 350 routet der Empfangsknoten das Datenpaket an einen nächsten derzeit verfügbaren Knoten, welcher innerhalb der Routing-Tabelle als ein bevorzugter Knoten und eine Verbindung zur Datenübertragung dargestellt ist.
  • Die Ausführungsformen von 3 demonstrieren, wie ein selektives Routen eines Datenpakets durch ein CDN auftritt. In den Ausführungsformen greifen Empfangsknoten, welche derzeit das Datenpaket enthalten, die Regeln, welche mit derzeit verfügbaren Verbindungen und Knoten in Zusammenhang stehen, und verarbeiten diese. Ein Ausführen der Regeln führt zu Werten für derzeitige Bedingungen auf den derzeit verfügbaren Verbindungen und Knoten. Diese Werte werden mit Regel-Metrik Schwellwerten verglichen, um Regel-Aktionen zu triggern. Regel-Aktionen können zu einer dynamischen Umsortierung der Routing-Tabelle für bevorzugte derzeit verfügbare Verbindungen und Knoten führen. Die Routing-Tabelle wird dann den Netzwerk-Routing-Vorrichtungen oder- Anwendungen bereitgestellt, und das Datenpaket wird über die bevorzugte Verbindung an den bevorzugten Knoten gesendet, welcher in der Routing-Tabelle identifiziert ist.
  • 4 ist ein Blockdiagramm von einem System 400 zum dynamischen Routen eines Datenpakets durch ein CDN. Das System 400 ist in einem computerlesbaren Medium implementiert und kann durch jeden Knoten 440 eines CDN- Netzwerks 401 verarbeitet werden. 4 zeigt einen einzelnen Knoten 440 an, welcher dazu dient, einen Verarbeitungsknoten des CDN 401 widerzuspiegeln und ist aus Gründen der Darstellung dargestellt, da eine Mehrzahl von Knoten 440 innerhalb eines vorgegebenen CDN 401 vorliegt.
  • Das System 400 enthält eine Routing-Tabelle 410, Regeln 420 und ein Routing-Modul 430. Die Routing-Tabelle 410 ist eine elektronische Datenstruktur, welche durch Netzwerk-Routing-Vorrichtungen und -Anwendungen verbraucht wird, wenn ein Datenpaket durch das CDN 401 geroutet wird. Die Routing-Tabelle 410 stellt eine Technik für die Netzwerk-Routing-Vorrichtungen und -Anwendungen bereit, um einen gewünschten Pfad und einen oder mehrere alternative Pfade zu erlangen. Somit stellt die Routing-Tabelle 401 einen angereicherten Baum für ein CDN 401 dar.
  • Ein Pfad enthält eine Route für ein durch das CDN 401 zu routendes Datenpaket, beginnend bei einem Eingangsknoten, und welches durch eine oder mehrere Kommunikationsverbindungen an einen oder mehrere Zwischenknoten und letztendlich an einen oder mehrere Zielknoten durchläuft. Der Pfad enthält Kommunikationsverbindungen, und jede Verbindung ist einem Paar von Knoten zugeordnet.
  • Regeln 420 enthalten Regel-Schwellwert-Metriken und ausführbare oder interpretierbare Anordnungen zur Verwendung durch einen Verarbeitungsknoten 440, um Verarbeitungsbedingungen auf derzeit verfügbaren Verbindungen und Knoten (lokal zugreifbare Verbindungen und Knoten) zu erlangen. Die Regeln sind jeder Verbindung zugeordnet; eine einzelne Verbindung kann eine oder mehrere Regeln haben. Das Ziel eines Verarbeitungsknotens 440 tritt auf, wenn irgendein bestimmter Knoten das Datenpaket enthält, welches durch das CDN 401 geroutet wird.
  • Das Routing-Modul 430 verbraucht die Routing-Tabelle 410 und die Regeln 420. Darüber hinaus, verarbeitet das Routing-Modul 430 auf jedem der Knoten, sobald irgendein bestimmter Knoten als der Verarbeitungsknoten 440 bestimmt wird. Das Routing-Modul 430 leitet ein, wenn ein Verarbeitungsknoten 440 das Datenpaket zum Routen empfängt. Als Nächstes erlangt das Routing-Modul 430 die Regeln 420, welche mit derzeit verfügbaren Verbindungen und Knoten in Zusammenhang stehen, welche in der Routing-Tabelle 410 bestimmt sind. Diese Regeln werden für jede der derzeit verfügbaren Verbindungen und Knoten verarbeitet, und es werden Verarbeitungs-Bedingungswerte von jedem der derzeit verfügbaren Knoten zurückgegeben. Diese Werte werden mit Regel-Metriken verglichen, um zu bestimmen, ob zugeordnete Regel-Aktionen ebenfalls durch das Routing-Modul 430 verarbeitet werden müssen. Regeln können dazu verwendet werden, um Werte von derzeit verfügbaren Verbindungen und Knoten in Zusammenhang mit einer derzeitigen Verarbeitungslast, einer derzeitigen Anzahl von Bits, welche pro Sekunde empfangen werden, einer derzeitigen Anzahl von Bits, welche pro Sekunde gesendet werden, derzeitigen Prioritäts-Zuordnungen für einen derzeitigen Datenverkehr, und weitere, zu erlangen.
  • Wenn eine Regel-Aktion getriggert ist, kann das Routing-Modul 430 dann dynamisch die bevorzugte Sortierung von derzeit verfügbaren Verbindungen und Knoten innerhalb der Routing-Tabelle 410 umsortieren. In dieser Situation erlangt eine Netzwerk-Routing-Vorrichtung und -Anwendung die aktualisierte Routing-Tabelle 410 und routet das Datenpaket durch die neue bevorzugte Verbindung an den neuen bevorzugten Knoten.
  • In weiteren Ausführungsformen können komplexere Routing-Operationen durch System 400 erzielt werden. Beispielsweise kann die Routing-Tabelle 410 eine formale Bezeichnung enthalten, welche Verbindungen und Knoten identifiziert, welche zuvor unterstützt oder zurückgestuft worden sind. Jegliches Routing-Modul 430 eines nachfolgenden Verarbeitungsknotens kann diese Information zur Auswahl alternativer Regeln 420 verwenden, um eine Aktion, welche basierend auf einer getriggerten Regel 420 stattfindet, zu verarbeiten oder zu verhindern.
  • 5 ist ein Blockdiagramm einer CDN-Routing-Datenstruktur 500 zum dynamischen Routen eines Datenpaketes durch das CDN. Die CDN-Routing-Datenstruktur 500 ist in einem computerlesbaren Medium 510 implementiert. Die CDN-Routing-Datenstruktur 500 wird beispielsweise von einem Routing-Modul 420 verarbeitet. Jedes Beispiel des Routing-Moduls 420 kann auf Verarbeitungsknoten 430 des CDN arbeiten.
  • Die CDN-Routing-Datenstruktur 500 enthält eine Routing-Tabelle 501, Regeln 502 und eine optionale formale Bezeichnung 503. Die Routing-Tabelle 501 stellt einen angereicherten Baum für das CDN dar. Somit stellt die Routing-Tabelle 501 einen gewünschten Pfad und einen oder mehrere alternative Pfade zum Durchlaufen durch das CDN dar. Jeder Pfad stellt Verbindungen von einem Paar von Knoten dar, und jeder Knoten kann ein Eingangsknoten, ein Zwischenknoten oder ein Zielknoten sein. Die Bestimmung eines Knotens als ein Eingangsknoten, Zwischenknoten oder Zielknoten kann basierend auf einer bestimmten derzeitigen Mitgliedschaft des Knotens innerhalb eines Umspannungsbaums während des Routens des Datenpakets geändert werden. Demgemäß kann ein Eingangsknoten in einigen Situationen als ein Zwischenknoten bestimmt werden, und in einigen Situationen kann ein Zielknoten als ein Zwischenknoten bestimmt werden.
  • Die Regeln 502 enthalten ausführbare Anordnungen, welche beispielsweise durch das Routing-Modul 502 verarbeitet werden können, Regel-Metriken und Regel-Aktionen. Das Routing-Modul 520 verarbeitet regelausführbare Anordnungen, wenn ein Verarbeitungsknoten bestimmt, welche derzeit verfügbare Verbindung und welcher Knoten das Datenpaket routet. Jede Regel 502, welche mit derzeit verfügbaren Verbindungen und Knoten in Zusammenhang steht, wird durch das Routing-Modul 520 verarbeitet, um die derzeit verfügbaren Verarbeitungsknoten nach Werten, welche mit derzeitigen Verarbeitungsbedingungen in Zusammenhang stehen, der derzeit verfügbaren Verbindungen und Knoten abzufragen. Wenn diese Werte zurückgegeben werden, vergleicht das Routing-Modul 520 sie mit Schwellwert-Regel-Metriken, um zu bestimmen, welche Regel-Aktion, wenn irgendeine vorliegt, ferner auszuführen ist.
  • Einige Regel-Aktionen, welche getriggert werden, führen zu einer bevorzugten Umsortierung der derzeit verfügbaren Verbindungen und Knoten, welche innerhalb der Routing-Tabelle 501 zu ändern oder dynamisch umzusortieren sind. Dies kann für eine Vielzahl von gewünschten Gründen auftreten, wie beispielsweise wenn die zuvor bevorzugte Verbindung und der Knoten, welcher in der Routing-Tabelle 501 enthalten war, zu stark mit einer Verarbeitung oder einem Übertragen von weiteren Daten belastet ist, um das neue Datenpaket adäquat zu behandeln, welches der Verarbeitungsknoten 530 zu routen wünscht. Alternativ kann ein Umsortieren auftreten, wenn ein Wunsch vorliegt, einen wirksamen Lastausgleich durchzuführen oder eine Daten-Bandbreite über das CDN hinweg zu verwenden. In weiteren Umständen kann ein Umsortieren basierend auf Prioritäts-Zuordnungen auftreten, welche einem derzeitigen Netzwerkverkehr auf den derzeit verfügbaren Verbindungen und Knoten zugeordnet sind.
  • In einer Ausführungsform, wenn ein Umsortieren entweder zum Unterstützen oder zum Zurückstufen eines Knotens innerhalb der Routing-Tabelle 501 auftritt, kann die Umsortierung innerhalb der CDN-Routing-Datenstruktur 500 unter Verwendung irgendeiner formalen Bezeichnung 503 erfasst und einbehalten werden. Daher kann irgendein nachfolgender Verarbeitungsknoten 530 die formale Bezeichnung erfassen und diese dazu verwenden, um Regeln 502 selektiv zu verarbeiten, um zu verhindern, dass bestimmte Regel-Aktionen stattfinden, wie beispielsweise eine Neuunterstützung eines zuvor zurückgestuften Knotens. Die formale Bezeichnung 503 kann den Regeln 502 oder der Routing-Tabelle 501 zugeordnet werden.
  • Obwohl hier spezifische Ausführungsformen dargestellt und beschrieben wurden, wird der Fachmann anerkennen, dass jegliche Anordnung, welche dazu ausgelegt ist, um den gleichen Zweck zu erreichen, die gezeigten spezifischen Ausführungsformen ersetzen kann. Diese Offenbarung dient dazu, um jegliche Adaptionen oder Veränderungen auf verschiedene Ausführungsformen der Erfindung abzudecken. Es ist zu verstehen, dass die obige Beschreibung lediglich aus Gründen der Darstellung gemacht wurde. Kombinationen der obigen Ausführungsformen und weiterer Ausführungsformen, welche hier nicht speziell beschrieben sind, werden dem Fachmann bei der Bewertung der obigen Beschreibung deutlich. Der Umfang von verschiedenen Ausführungsformen der Erfindung enthält jegliche weitere Anwendungen, in welchen die obigen Strukturen und Verfahren verwendet werden. Daher sollte der Umfang von verschiedenen Ausführungen der Erfindung mit Bezug auf die anliegenden Ansprüche, zusammen mit dem vollen Bereich von Äquivalenten, auf welche die Ansprüche berechtigt sind, bestimmt werden.

Claims (18)

  1. Ein Verfahren zum dynamischen Routen eines Datenpaketes durch ein Inhalts-Verteil-Netzwerk /CDN/ (100, 110) mit: Empfangen (210) einer Routing-Tabelle (111) für ein CDN und eines Datenpaketes an einem Eingangs- oder Zwischenknotens, wobei die Routing-Tabelle einen gewünschten Pfad und alternative Pfade durch das CDN repräsentiert, und wobei jeder Pfad Verbindungen von einem Eingangsknoten durch einen Zwischenknoten zu einem Zielknoten repräsentiert; Untersuchen (220) an dem Eingangs- oder Zwischenknoten, wann ein Datenpaket empfangen wird, Regeln, die den Pfaden jeder Verbindung zugeordnet sind, wobei jeder Verbindung zwei Verbindungsknoten zugeordnet sind; Aufzeichnen (250) der Zwischenknoten der Routing-Tabelle durch Modifizieren der Routing-Tabelle in Reaktion auf ein Untersuchen von mindestens einer der Regeln, wobei die Modifikation auftritt, wenn verbleibende der Zwischenknoten zur Benutzung verfügbar sind; und Routen (620) der Datenpakete an einen nächsten verfügbaren Zwischenknoten der Routing-Tabelle, wobei der nächste verfügbare Zwischenknoten einer der aktuell verfügbaren Zwischenknoten ist.
  2. Das Verfahren nach Anspruch 1, weiterhin mit Iterieren der Verarbeitung zum Untersuchen (220), Aufzeichnen (250) und Routen (260) in jedem Zwischenknoten, der ein Datenpaket empfängt, bis das Datenpaket den Zielknoten erreicht.
  3. Das Verfahren nach Anspruch 1, wobei das Untersuchen (220) weiterhin ein Vergleichen (230) von Regelschwellwertmetriken mit Verarbeitungsbelastungsniveaus der aktuell verfügbaren Zwischenknoten zur Bestimmung umfasst, ob Aktionen zu triggern sind, die den Regelschwellwertniveaus zugeordnet sind.
  4. Das Verfahren nach Anspruch 3, weiterhin umfassend eine Verarbeitung der Aktionen zum Begünstigen oder Zurückstellen (240) von einem oder mehreren der aktuell verfügbaren Zwischenknoten innerhalb der Routing-Tabelle (111).
  5. Das Verfahren nach Anspruch 1, wobei das Untersuchen (220) weiterhin ein Vergleichen (230) von Regelprioritätsmetriken mit dem Datenverkehr der aktuell verfügbaren Zwischenknoten zur Bestimmung umfasst, ob Aktionen zu triggern sind, die den Regelprioritätsmetriken zugeordnet sind.
  6. Das Verfahren nach Anspruch 5, weiterhin umfassend eine Verarbeitung einer der Aktionen zum Aussetzen von existierendem Verkehr, der einem der aktuell verfügbaren Knoten zugeordnet ist, um das Routing des Datenpaketes basierend auf den Regelprioritätsmetriken anzupassen, die dem Datenpaket zugeordnet sind.
  7. Das Verfahren nach Anspruch 1, wobei das Untersuchen (220) weiterhin ein Vergleichen von Regelbandbreitennutzungsmetriken mit existierenden Bandbreitenutzungsniveaus, die den aktuellen verfügbaren Zwischenknoten zugeordnet sind, zur Bestimmung umfasst, ob Bandbreitennutzungsaktionen zu triggern sind, um Bandbreitennutzungen innerhalb des CDN belastungsmäßig auszugleichen.
  8. Ein System (400) zum dynamischen Routen des Datenpaketes durch ein Inhalts-Verteil-Netzwerk /CDN/ mit: einer Routing-Tabelle (410) enthaltend einen gewünschten Pfad und einen oder mehrere alternative Pfade, wobei jeder Pfad Verbindungen von einem Eingangsknoten durch einen Zwischenknoten zu einem Zielknoten enthält, und wobei jeder Verbindung zwei verbindende Knoten zugeordnet sind; Eingangs- oder Zwischenknoten (440), die angepasst sind, Regeln (420) zu bewerten, die jedem der aktuell verfügbaren Verbindungen der Pfade zugeordnet sind, wenn ein Datenpaket empfangen wird und durch einen der aktuell verfügbaren Verbindungen geroutet werden soll, und ein Routing-Modul (430), das angepasst ist, um die aktuell verfügbaren Zwischenknoten, die den aktuell verfügbaren Verbindungen innerhalb der Routing-Tabelle zugeordnet sind, durch Modifizieren der Routing-Tabelle umzusortieren, wenn die Regeln getriggert werden, und wenn die aktuell verfügbaren Zwischenknoten jeweils betriebsbereit und verfügbar für eine Nutzung sind.
  9. Das System nach Anspruch 8, wobei die Regeln (420) basierend auf dem CDN oder eines Datentyps, der dem Datenpaket zugeordnet ist, konfigurierbar sind.
  10. Das System nach Anspruch 8, wobei die Regeln (420) Knotenbandbreitennutzungsmetriken, Knotenbelastungsmetriken und Knotenverkehrsprioritätsmetriken enthalten.
  11. Das System nach Anspruch 8, wobei der Eingangsknoten und jeder der Zwischenknoten der Routing-Tabelle (410) angepasst sind, um das Routing-Modul (430) auszuführen, wenn ein Datenpaket empfangen wird.
  12. Das System nach Anspruch 8, wobei, falls das Routing-Modul (430) die Routing-Tabelle umsortiert, dann das System angepasst ist, die Regeln (429) zu aktualisieren und sie durch die aktuell verfügbaren Zwischennoten zu routen.
  13. Das System nach Anspruch 8, wobei das System (400) durch mindestens einen Cache-Beschleuniger, einen Router, ein Gateway, eine Firewall, ein Netzwerk-Hub, einen Netzwerk-Switch, eine Netzwerkbrücke oder eine kundenspezifische Anwendung verarbeitet wird.
  14. Eine Inhalts-Verteil-Netzwerk-/CDN/-Routing-Datenstruktur implementiert in einem computerlesbaren Medium zum dynamischen Routen von Datenpaketen durch ein Inhalts-Verteil-Netzwerk mit: einer Routing-Tabelle (410), die jedem gewünschten Pfad und einem oder mehreren alternativen Pfaden zugeordnet ist, wobei jeder Pfad Verbindungen von einem Eingangsknoten durch einen Zwischenknoten zu einem Endknoten enthält; und Regeln-(420)-Datenstrukturen, die jeder Verbindung der Pfade zugeordnet sind, wobei die Regeln zur Verarbeitung durch den Eingangsknoten und die Zwischenknoten zum Umsortieren der Zwischenknoten der Routing-Tabelle vorgesehen sind, wenn ein Datenpaket empfangen wird, während die Daten durch das CDN geroutet werden, so dass mindestens einer der Zwischenknoten die Routing-Tabelle in Reaktion auf ein Untersuchen mindestens eine Regel modifiziert, und wobei die Modifikation erfolgen kann, wenn verbleibende Zwischenknoten für eine Nutzung verfügbar sind.
  15. Die CDN-Routing-Datenstruktur nach Anspruch 14, wobei, falls eine Umsortierung der Routing-Tabelle (410) an einem Eingangsknoten oder einem bestimmten Zwischenknoten auftritt, die Umsortierung nicht an einen empfangenden Zwischenknoten kommuniziert wird.
  16. Die CDN-Routing-Datenstruktur nach Anspruch 14, wobei die Regeln (420) basierend auf irgendeiner Umsortierung ausgewählt werden, die vorangehend innerhalb der Routing-Tabelle (410) aufgetreten ist.
  17. Die CDN-Routing-Datenstruktur nach Anspruch 14, wobei eine Formalnotation zugeordnet und genutzt wird, um einen beliebigen, umsortierten Knoten zu identifizieren, und die Formalnotation wird entweder in der Routing-Tabelle (410) oder von Regeln (420) genutzt und ist durch den Eingangsknoten oder die Zwischenknoten zugreifbar.
  18. Die CDN-Routing-Datenstruktur nach Anspruch 14, wobei die Regeln (420) Metriken enthalten, die mindestens einem der folgenden zugeordnet ist: Bits pro Sekunde, die aktuell durch die aktuell verfügbaren Zwischenknoten übertragen werden, Bits pro Sekunde, die aktuell von den aktuell verfügbaren Zwischenknoten empfangen werden; aktuellem Prioritätsverkehr, der aktuell verfügbaren Verbindungen zugewiesen ist, die den aktuell verfügbaren Zwischenknoten zugeordnet sind; und Aktionen, die aktuell auf den aktuell verfügbaren Zwischenknoten verarbeitet werden.
DE602004005785T 2003-07-15 2004-05-07 Dynamische Leitweglenkung in einem inhaltbasierten verteilten Netzwerk Active DE602004005785T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/619,886 US7603481B2 (en) 2002-10-31 2003-07-15 Dynamic routing through a content distribution network
US619886 2003-07-15

Publications (2)

Publication Number Publication Date
DE602004005785D1 DE602004005785D1 (de) 2007-05-24
DE602004005785T2 true DE602004005785T2 (de) 2008-01-24

Family

ID=33477082

Family Applications (1)

Application Number Title Priority Date Filing Date
DE602004005785T Active DE602004005785T2 (de) 2003-07-15 2004-05-07 Dynamische Leitweglenkung in einem inhaltbasierten verteilten Netzwerk

Country Status (3)

Country Link
US (1) US7603481B2 (de)
EP (1) EP1499074B1 (de)
DE (1) DE602004005785T2 (de)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7603481B2 (en) 2002-10-31 2009-10-13 Novell, Inc. Dynamic routing through a content distribution network
US20050188108A1 (en) * 2002-10-31 2005-08-25 Volera, Inc. Enriched tree for a content distribution network
US7657622B1 (en) * 2003-12-23 2010-02-02 At&T Intellectual Property Ii, L.P. Unified web hosting and content distribution system and method for assuring predetermined performance levels
US8285874B2 (en) * 2004-01-27 2012-10-09 Cisco Technology, Inc. Routing systems and methods for implementing routing policy with reduced configuration and new configuration capabilities
US7519596B2 (en) 2004-03-30 2009-04-14 Microsoft Corporation Globally trusted credentials leveraged for server access control
US7730207B2 (en) * 2004-03-31 2010-06-01 Microsoft Corporation Routing in peer-to-peer networks
US7818780B1 (en) 2004-04-01 2010-10-19 Cisco Technology, Inc. Method and compiler for routing policy
US7463587B2 (en) * 2005-01-11 2008-12-09 Alcatel Lucent System and method for identifying pre-computed paths in a policy-based routing network
US20060203805A1 (en) * 2005-03-08 2006-09-14 Avaya Technology Corp. Quality-of-service assurance for IP telephony
US8266516B2 (en) * 2005-09-16 2012-09-11 Yamaha Corporation Controller
US8218445B2 (en) * 2006-06-02 2012-07-10 Ciena Corporation Smart ethernet edge networking system
CN1933448A (zh) * 2006-08-17 2007-03-21 华为技术有限公司 业务快速收敛的方法和网络设备
CN101064687B (zh) * 2007-02-07 2011-09-21 中兴通讯股份有限公司 路由收敛的方法
US8161095B2 (en) 2007-03-12 2012-04-17 Microsoft Corporation Distributed routing table interface
US8874789B1 (en) * 2007-09-28 2014-10-28 Trend Micro Incorporated Application based routing arrangements and method thereof
US7987290B2 (en) * 2007-12-21 2011-07-26 Microsoft Corporation Security modes for a routing table distributed across multiple mesh nodes
US8370474B1 (en) * 2010-03-26 2013-02-05 Sprint Communications Company L.P. Arbitration server for determining remediation measures in response to an error message from a content provider
US9270577B2 (en) 2012-07-31 2016-02-23 Hewlett Packard Enterprise Development Lp Selection of one of first and second links between first and second network devices
US20160292599A1 (en) * 2015-04-06 2016-10-06 Fmr Llc Analyzing and remediating operational risks in production computing systems
CN106211229B (zh) * 2015-04-29 2019-11-15 中国电信股份有限公司 智能加速方法、装置及系统
CN106817432B (zh) * 2015-11-30 2020-09-11 华为技术有限公司 云计算环境下虚拟资源弹性伸展的方法,系统和设备
US20180199297A1 (en) * 2017-01-10 2018-07-12 Quantek, Inc. Method of Performing Timing Arrangement in a Mesh Network
JP6870347B2 (ja) * 2017-01-31 2021-05-12 オムロン株式会社 情報処理装置、情報処理プログラムおよび情報処理方法
US10791047B2 (en) * 2018-02-19 2020-09-29 Disney Enterprise Inc. Automated network navigation
US11575513B2 (en) * 2020-04-18 2023-02-07 Cisco Technology, Inc. Applying attestation tokens to multicast routing protocols

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4456957A (en) 1981-09-28 1984-06-26 Ncr Corporation Apparatus using a decision table for routing data among terminals and a host system
JP2701513B2 (ja) 1990-03-29 1998-01-21 日本電気株式会社 回線切替制御方式
US5754765A (en) 1993-11-24 1998-05-19 Intel Corporation Automatic transport detection by attempting to establish communication session using list of possible transports and corresponding media dependent modules
US5708772A (en) 1994-04-29 1998-01-13 Bay Networks, Inc. Network topology determination by dissecting unitary connections and detecting non-responsive nodes
JP3432664B2 (ja) 1996-02-14 2003-08-04 富士通株式会社 通信ノード及び障害復旧方法並びに通信ネットワーク
US6002757A (en) 1996-03-08 1999-12-14 Stentor Resource Centre, Inc. Number portability using enhanced routing table
US5737319A (en) 1996-04-15 1998-04-07 Mci Corporation Dynamic network topology determination
US5881241A (en) 1996-06-19 1999-03-09 Sun Microsystems, Inc. System for transmitting data packet after matching data packet's routing pattern with predetermined data routes stored in a route table
US6108713A (en) 1997-02-11 2000-08-22 Xaqti Corporation Media access control architectures and network management systems
ATE315861T1 (de) 1997-02-18 2006-02-15 Cit Alcatel Leitwegumlenkungsverfahren in hierarchischen strukturierten netzwerken
US6047331A (en) * 1997-02-19 2000-04-04 Massachusetts Institute Of Technology Method and apparatus for automatic protection switching
US6260072B1 (en) * 1997-06-12 2001-07-10 Lucent Technologies Inc Method and apparatus for adaptive routing in packet networks
US6347078B1 (en) * 1997-09-02 2002-02-12 Lucent Technologies Inc. Multiple path routing
US5920864A (en) 1997-09-09 1999-07-06 International Business Machines Corporation Multi-level category dynamic bundling for content distribution
US6256295B1 (en) * 1997-09-25 2001-07-03 Nortel Networks Limited Method and apparatus for determining multiple minimally-overlapping paths between nodes in a network
US6098107A (en) 1997-10-31 2000-08-01 Lucent Technologies Inc. Dynamic algorithms for shortest path tree computation
US6704320B1 (en) 1999-03-24 2004-03-09 Lucent Technologies Inc. Dynamic algorithm for determining a shortest path tree between network nodes
US6590867B1 (en) * 1999-05-27 2003-07-08 At&T Corp. Internet protocol (IP) class-of-service routing technique
US6857026B1 (en) * 1999-12-14 2005-02-15 Nortel Networks Limited Using alternate routes for fail-over in a communication network
US6928484B1 (en) 2000-01-18 2005-08-09 Cisco Technology, Inc. Method and apparatus for discovering edge-disjoint shortest path pairs during shortest path tree computation
US6704842B1 (en) 2000-04-12 2004-03-09 Hewlett-Packard Development Company, L.P. Multi-processor system with proactive speculative data transfer
US6914912B1 (en) 2000-08-11 2005-07-05 Nortel Networks Limited Route selection for alternate paths in connection-oriented networks
JP2002111729A (ja) * 2000-09-29 2002-04-12 Kddi Corp ポリシーベース管理システムの管理装置および被管理装置
AU2002214651A1 (en) 2000-10-13 2002-04-22 General Instrument Corporation Spanning tree alternate routing bridge protocol
US7336613B2 (en) * 2000-10-17 2008-02-26 Avaya Technology Corp. Method and apparatus for the assessment and optimization of network traffic
US7168044B1 (en) * 2000-12-22 2007-01-23 Turin Networks Apparatus and method for automatic network connection provisioning
US7035937B2 (en) * 2001-04-25 2006-04-25 Cornell Research Foundation, Inc. Independent-tree ad hoc multicast routing
US20030041167A1 (en) * 2001-08-15 2003-02-27 International Business Machines Corporation Method and system for managing secure geographic boundary resources within a network management framework
US7362709B1 (en) * 2001-11-02 2008-04-22 Arizona Board Of Regents Agile digital communication network with rapid rerouting
US7069336B2 (en) * 2002-02-01 2006-06-27 Time Warner Cable Policy based routing system and method for caching and VPN tunneling
US20050188108A1 (en) 2002-10-31 2005-08-25 Volera, Inc. Enriched tree for a content distribution network
US7603481B2 (en) 2002-10-31 2009-10-13 Novell, Inc. Dynamic routing through a content distribution network

Also Published As

Publication number Publication date
DE602004005785D1 (de) 2007-05-24
US20040088431A1 (en) 2004-05-06
EP1499074A1 (de) 2005-01-19
EP1499074B1 (de) 2007-04-11
US7603481B2 (en) 2009-10-13

Similar Documents

Publication Publication Date Title
DE602004005785T2 (de) Dynamische Leitweglenkung in einem inhaltbasierten verteilten Netzwerk
DE69533535T2 (de) Verfahren zur effizienten aggregation von verbindungsmetriken
DE60024228T2 (de) Dynamische zuweisung verkehrsklassen an einer prioritätswarteschlange in einer paketbeförderungsvorrichtung
DE102013225692B4 (de) Netzwerkstatusabbildung
DE60129480T2 (de) Technik zur bestimmung von konnektivitätslösungen für netzwerkelemente
DE69934644T2 (de) Netzwerkvermittlungseinrichtung mit auf der Basis von Benutzung verteilten Umleitungsdatenbanken
DE69534334T2 (de) Stapelübertragungssystem und -verfahren für graphische Hochleistungsdarstellung von Netztopologie
DE60016977T2 (de) Verfahren und system zur datenübertragung über einen optimierten datenpfad in einem netzwerk
DE69725261T2 (de) System zur Übermittlung des Netzwerkverkehrs in einem Kommunikationsnetzwerk
DE69533349T2 (de) Persistenzspezifizierungssystem und Verfahren für Hochleistungssubkarten auf Anfrage
DE69829830T2 (de) Weglenkungsverfahren unter Anwendung eines genetischen Algorithmus
EP0872090B1 (de) Verfahren zum bilden von leitweginformation
DE60022602T2 (de) Verfahren, Vorrichtung und Computerprogramm um Topologiedaten eines Link State Routing Netzwerkes aktuell zu halten
DE19746904B4 (de) Verkehrsdaten-Bewertungsgerät und zugeordnetes Verfahren für ein Netzwerk mit dynamischer Vermittlung
DE69926109T2 (de) Paketversendegerät mit einer Flussnachweistabelle
DE60021846T2 (de) Leitweglenkungsanordnung
DE69635648T2 (de) System und Verfahren zur Filterung eines Hochleistungsnetzwerk-Verwaltungsplans
DE60200466T2 (de) Ein adaptiver Pfad-Erkennungs-Prozess zum Routen von Datenpaketen in einem Mehrknotennetzwerk
DE69634928T2 (de) Netzwerkverwaltungssystem mit verbesserter Knotenerkennung und -überwachung
DE60127120T2 (de) Verfahren und netzwerk zur ausbreitung von statusinformationen
DE69434329T2 (de) Verfahren und Vorrichtung zur Regulierung von Zellentransmissionen über virtuelle Kanäle
DE112011105843T5 (de) Pfaddiversität in einem verbindungsorientierten Netzwerk
DE102007011143A1 (de) Ein Verfahren zum Optimieren des Leitens von Anforderungen in einem Netz
DE602004008618T2 (de) System und verfahren zum einheitlichen weiterleiten von paketen über drahtlose und verdrahtete netzwerke
DE102005053688A1 (de) Verfahren und Mechanismus zum Identifizieren eines nicht-verwalteten Schalters in einem Netz

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
R082 Change of representative

Ref document number: 1499074

Country of ref document: EP

Representative=s name: HOFFMANN - EITLE, 81925 MUENCHEN, DE