DE60302027T2 - Angereicherter Baum für ein inhaltverteilendes Netz - Google Patents

Angereicherter Baum für ein inhaltverteilendes Netz Download PDF

Info

Publication number
DE60302027T2
DE60302027T2 DE60302027T DE60302027T DE60302027T2 DE 60302027 T2 DE60302027 T2 DE 60302027T2 DE 60302027 T DE60302027 T DE 60302027T DE 60302027 T DE60302027 T DE 60302027T DE 60302027 T2 DE60302027 T2 DE 60302027T2
Authority
DE
Germany
Prior art keywords
tree
paths
data
nodes
node
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.)
Expired - Lifetime
Application number
DE60302027T
Other languages
English (en)
Other versions
DE60302027D1 (de
Inventor
Stephen R. Spanish Fork Carter
Juan Carlos Highland Luciani
Vernon Roger Sandy Holm
Jamshid San Jose Mahdavi
Felix Sun-Tsyr San Jose Wu
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 DE60302027D1 publication Critical patent/DE60302027D1/de
Application granted granted Critical
Publication of DE60302027T2 publication Critical patent/DE60302027T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

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
    • 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/02Topology update or discovery

Description

  • Urheberrechtshinweis/Erlaubnis
  • Ein Abschnitt der Offenbarung dieser Patentliteratur enthält Material, das Gegenstand von Urheberrechtsschutz ist. Der Urheberrechtsinhaber hat keinen Einwand gegen die Faksimile-Reproduktion durch irgendjemanden der Patentliteraturstelle oder der Patentoffenbarung, wie sie in der Patentakte oder Aufzeichnungen des Patent- und Warenzeichenamtes erscheint, reserviert aber andererseits alle welche auch immer Urheberrechte. Der folgende Hinweis trifft auf die Software und Daten, wie nachstehend beschrieben, und in beliebigen Zeichnungen dazu zu: Copyright © 2002, Volera, Inc., alle Rechte vorbehalten.
  • Gebiet der Erfindung
  • Die vorliegende Erfindung bezieht sich auf Inhaltsverteilungsnetze, und insbesondere auf eine Anreicherung eines Baums für ein Inhaltsverteilungsnetz.
  • Hintergrund der Erfindung
  • Netzbandbreite wird zunehmend eine Herausforderung, da Ressourcen, die zuvor aufgestellt werden, für eine Handhabung von steigendem Verkehr unzureichend werden. Viele Probleme haben zu dieser nicht vorhergesehenen Erweiterung in der Verwendung von Netzbandbreite beigetragen. Eines der Probleme ist die stets ansteigende Verwendung digitaler Medien, die für Ausbildung und elektronisches Lernen verwendet werden.
  • Entsprechend haben Organisationen entdeckt, dass Fern-Netzmeetings und/oder Ausbildung unter Verwendung von Multimedia-Inhalt für eine spezifische Aufgabe für die Organisation weit weniger aufwändig ist als Fliegen von Meeting-Koordinatoren und/oder Lehrkräften zu entfernten geografischen Standorten.
  • Auf dem Gebiet von Unterhaltung haben außerdem viele die Bequemlichkeit von Auswahl und Betrachtung von Medien von einem gewünschten Standort viel verlockender gefunden als Durchführen einer Fahrt zu einem Geschäft, Durchsuchen von Medieninventar, Prüfen einer gewünschten Auswahl und Rückkehr, um die Medien in dem gewünschten Standort zu betrachten. Ferner eskaliert das Problem wegen der steigenden Verwendung von Netzen, um erhebliche Mediendateien zu entfernten Betrachtungsstandorten rechtzeitig für gewünschte Ereignisse zu verschieben, rasch. Altlast-Netzinfrastruktur wird über ihre gedachte Kapazität hinaus belastet, und der Aufwand, der mit einer Aufstellung zusätzlicher oder neuer Netzressourcen in Verbindung steht, ist für Organisationen häufig ausgeschlossen.
  • Konventionell wird ein Netz 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 physischen Netz betrachtet. Außerdem wird auf die Abstraktion häufig als eine Topologie oder logische Abbildung des Netzes verwiesen. Die Abbildung enthält Knoten, die physische (z.B. Server) oder logische (z.B. Anwendungen) Ressourcen des Netzes darstellen. Die Abbildung enthält auch Verknüpfungen, die physische (z.B. Medienkanäle) oder logische (z.B. Protokolle) Kommunikationen zwischen den Knoten darstellen. Ein Pfad von einem Eingangs- oder Zugangsknoten zu einem oder mehr 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 Kos ten enthalten, die durch Richtlinien für das Netz bestimmt sind. Somit kann ein Pfad von einem Zugangsknoten zu einem Ausstiegsknoten zugehörige Kosten haben. Die Richtlinien können eine Vielfalt von Metrik oder Attributen für jede der Verknüpfungen und/oder Knoten enthalten, wie etwa verfügbare Bandbreite, geografischer Abstand, Medienübertragungskanal und dergleichen.
  • Sobald die Knoten, Verknüpfungen und Richtlinien bekannt sind, können Umspannungsbaumalgorithmen (spanning tree algorithms) verwendet werden, um hierarchische Bäume innerhalb der Topologie zu generieren. Außerdem existiert eine Vielfalt von Algorithmen eines besten Pfades (best-path algorithms), um Pfade mit geringsten Kosten zu erzeugen, die zum Transferieren von Daten von einem Zugangsknoten zu Ausstiegsknoten innerhalb eines Baums der Topologie verwendet werden können. Existierende Techniken beruhen jedoch auf Software und Hardware, die mit dem physischen Netz in Verbindung stehen, um die Daten durch das Netz umzuleiten, sollte irgendein bestimmter Knoten oder eine Verknüpfung ausfallen, wenn die Daten innerhalb des Netzes im Durchgang sind. Diese Techniken sind nicht optimal, da die unterliegende Software und Hardware des physischen Netzes einen neuen Durchgangspfad für die Daten dynamisch neu kalkulieren müssen, wenn Fehler erfasst werden. Wenn Neukalkulationen benötigt werden, können des weiteren die unterliegende Software und/oder Hardware des physischen Netzes belastet werden oder gerade andere wichtige Operationen durchführen. Als ein Ergebnis können die Daten nicht optimal, effizient und/oder zeitgerecht durch das Netz bewegt werden, wenn dynamische Umleitung benötigt wird. Außerdem kann die ursprüngliche Struktur eines beliebigen verwendeten Baums verloren gehen oder nicht effizient aufrechterhalten werden, wenn dynamische Umleitung durchgeführt wird.
  • Da konventionelle Ansätze dynamische Umleitung verwenden, wenn Fehler während eines Datentransfers erfasst werden, wird wenig empirisches Wissen, das ein Netzadministrator mit Bezug auf sein/ihr Netz haben kann, während der Umleitung verwendet. Z.B. kann eine Organisation eines Landes in der Dritten Welt häufig Verknüpfungs- oder Kommunikationsausfälle über eine spezifische Verknüpfung erfahren, während eine andere Organisation häufigen heftigen Verkehr in einem spezifischen Knoten während gewisser Stunden des Tages erfährt. Da dieses empirische Wissen nicht vollständig genutzt werden kann, wenn dynamische Umleitung auftritt, können somit Umleitungspfade für einen Netzadministrator konsistent und unnötig problematisch sein.
  • Wie einem Durchschnittsfachmann nun offensichtlich ist, existiert eine Notwendigkeit für verbesserte Techniken, die angereicherte Bäume für Inhaltsverteilungsnetze erzeugen. Die Notwendigkeit ist besonders in Netzen großen Maßstabs, Netzen mit starkem Verkehr und/oder Netzen, die große Mediendateien verarbeiten, wünschenswert. Des weiteren sollten die Techniken eine dynamische Umleitungskalkulation nicht erfordern, wenn Knoten und/oder Verknüpfungen des Netzes während eines Datentransfers ausfallen. Außerdem sollten die Techniken flexibel genug sein, um das empirische Wissen von Netzadministratoren mit Bezug auf ihre eigenen individuellen Netze und Erfahrungen, die darauf bezogen sind, zu erfassen.
  • US 6047231 offenbart ein Verfahren zum Generieren erster und zweiter Baumtopologien für einen beliebigen Quellknoten in einem Netz, der als ein Knoten oder ein kantenredundanter Graph dargestellt werden kann, derart, dass ein beliebiger Knoten in dem Graph mit dem Quellknoten über mindestens einen Baum verbunden bleibt, selbst nach dem Ausfall eines Knotens oder einer Kante.
  • Zusammenfassung der Erfindung
  • In verschiedenen Ausführungsformen der vorliegenden Erfindung werden Techniken zum Anreichern eines Verteilungsbaums eines Inhaltsverteilungsnetzes beschrieben. Der angereicherte Baum repräsentiert eine Abbildung, die geplante Pfade enthält, um Daten durch das Inhaltsverteilungsnetz zu bewegen, und einen oder mehr alternative Pfade, um die Daten umzuleiten, sollte ein Fehler mit einer oder mehr Verknüpfungen und/oder Knoten des Inhaltsverteilungsnetzes auftreten. Der angereicherte Baum oder erweiterte Baum kann als ein gerichteter Graph (kann zyklisch sein) mit einem oder mehr alternative Pfaden, auf die innerhalb des angereicherten Baums zugegriffen werden kann, gesehen werden.
  • Genauer und in einer Ausführungsform der vorliegenden Erfindung wird ein Verfahren, um einen Baum für ein Inhaltsverteilungsnetz anzureichern, präsentiert. Der Baum für das Inhaltsverteilungsnetz wird empfangen und es wird auch eine Anforderung empfangen, die alternativen Pfade für den Baum zu generieren. Außerdem werden die alternativen Pfade basierend auf der Anforderung generiert. Ferner werden die alternativen Pfade vor einer Verwendung des Baums generiert, um Daten durch das Inhaltsverteilungsnetz zu transferieren.
  • In einer anderen Ausführungsform der vorliegenden Erfindung wird ein anderes Verfahren beschrieben, um einen Baum für ein Inhaltsverteilungsnetz anzureichern. Der Baum wird für das Inhaltsverteilungsnetz angefordert und präsentiert. Es wird ein gewünschter Grad von alternativen Pfaden, die für den Baum zu generieren sind, empfangen. Als Nächstes werden alternative Pfade unter Verwendung des gewünschten Grades und des Baums generiert. Des weiteren werden die Pfade mit den Baum in Verbindung gebracht, bevor Daten über das Inhaltsverteilungsnetz unter Verwendung des Baums transferiert werden.
  • In noch einer anderen Ausführungsform der vorliegenden Erfindung wird ein System, um einen Baum für ein Inhaltsverteilungsnetz anzureichern, präsentiert. Das System enthält einen Baum, ein Sprungelternmodul (skip parent module) und ein Verbindungsmodul (join module). Es wird ein Umspannungsbaumalgorithmus verwendet, um den Baum zu generieren. Außerdem enthält der Baum eine Vielzahl von Verknüpfungen zwischen Knoten, und einen oder mehr geplante Pfade zum Bewegen von Daten durch das Inhaltsverteilungsnetz. Das Sprungelternmodul wird verwendet, um eine Zahl der alternativen Pfade zu generieren, falls ein Elternknoten (Parentknoten) innerhalb des Inhaltsverteilungsnetzes ausfällt. Das Verbindungsmodul wird verwendet, um eine Zahl der alternativen Pfade zu generieren, falls eine Verknüpfung innerhalb des Inhaltsverteilungsnetzes ausfällt. Ferner werden die alternativen Pfade mit dem Baum in Verbindung gebracht, bevor die Daten durch das Inhaltsverteilungsnetz bewegt werden.
  • In noch einer anderen Ausführungsform der vorliegenden Erfindung wird eine erweiterte Baumdatenstruktur beschrieben, die sich auf einem computerlesbaren Medium befindet zum Vorsehen alternativer Pfade, wenn Daten durch ein Inhaltsverteilungsnetz bewegt werden. Die erweiterte Baumdatenstruktur enthält einen Baum mit Zugriff auf einen oder mehr alternative Pfade innerhalb des Baums. Der Baum wird innerhalb einer Topologie des Inhaltsverteilungsnetzes dargestellt und enthält einen Zugangsknoten, Zwischenknoten, einen oder mehr Ausstiegsknoten, Verknüpfungen zwischen den Knoten und einen oder mehr geplante Pfade von dem Zugangsknoten zu den Ausstiegsknoten zum Bewegen von Daten durch das Inhaltsverteilungsnetz. Der eine oder mehr alternative Pfad erweitert die geplanten Pfade zum Bewegen der Daten um potenzielle Fehler herum in den Knoten und/oder den Verknüpfungen, wenn die Daten durch das Inhaltsverteilungsnetz bewegt werden.
  • Noch andere Aspekte der vorliegenden Erfindung werden einem Fachmann aus der folgenden Beschreibung von verschiedenen Ausführungsformen offensichtlich. Wie erkannt wird, ist die Erfindung zu anderen Ausführungsformen fähig, alle ohne Abweichung von der vorliegenden Erfindung. Entsprechend sind die Zeichnungen und Beschreibungen veranschaulichend in ihrem Wesen und nicht gedacht, einschränkend zu sein.
  • Kurze Beschreibung der Zeichnungen
  • 1A ist ein Diagramm einer Beispieltopologie eines Inhaltsverteilungsnetzes gemäß einer Ausführungsform der vorliegenden Erfindung;
  • 1B ist ein Diagramm einer Beispieltopologie, das Anreicherung von 1A darstellt, gemäß einer Ausführungsform der vorliegenden Erfindung;
  • 2 ist ein Flussdiagramm, das ein Verfahren darstellt, um einen Baum anzureichern, gemäß einer Ausführungsform der vorliegenden Erfindung;
  • 3 ist ein Flussdiagramm, das ein anderes Verfahren darstellt, um einen Baum anzureichern, gemäß einer Ausführungsform der vorliegenden Erfindung;
  • 4 ist ein Diagramm eines Systems, um einen Baum anzureichern, gemäß einer Ausführungsform der vorliegenden Erfindung; und
  • 5 ist ein Diagramm einer Datenstruktur, die einen erweiterten Baum darstellt, gemäß einer Ausführungsform der vorliegenden Erfindung.
  • Detaillierte 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 Bereich der vorliegenden 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 Inhaltsverteilungsnetz (Content Distribution Network, 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, Switches, Hubs und dergleichen verwendet, um das physische Netz 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 Administratoren visuell zu präsentieren.
  • Entsprechend verwenden Administratoren die Topologie, um das Netz als einen oder mehr hierarchische Bäume zu visualisie ren, wobei jeder Baum einen Zugangsknoten, Null oder mehr Zwischenknoten und einen oder mehr Ausstiegs-/Zielknoten hat. Die Knoten repräsentieren physische 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 Verknüpfungen verbunden. Die Verknüpfungen repräsentieren physische 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).
  • Die Topologie gestattet, dass Attribute oder Charakteristika verschiedener Bäume leicht wahrgenommen werden. Z.B. kann ein Zugangsknoten (z.B. ein Wurzelknoten des einzelnen Baums) als ein Achteck dargestellt werden, ein Ausstiegsknoten 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 den Abstand einer Kommunikationsverbindung zwischen zwei Knoten zu bestimmen, oder optional die Qualität oder Geschwindigkeit der Kommunikationslänge. Somit wird 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 des Inhalts/der Daten durch einen beliebigen bestimmten Baum von dem Zugangsknoten zu einem oder mehr Ausstiegsknoten anzuzeigen. CDN-Topologien sind einem Durchschnittsfachmann gut bekannt, und werden CDN-Administratoren einfach zur Verfügung gestellt. Alle derartigen Topologien und Topologievisualisierungswerkzeuge sind gedacht, in den Bereich der vorliegenden Offenbarung zu fallen. Außerdem kann eine Vielfalt von visuellen Hinweisen (z.B. Farben, Texturen, Schriftarten und dergleichen) über das hinaus verwendet wer den, was präsentiert wurde, um verschiedene Attribute und Charakteristika von Knoten, Verknüpfungen und Pfaden innerhalb des Baums oder 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 in der vorliegenden Erfindung betrachtet werden.
  • Ein Zugangsknoten ist ein Punkt in der Topologie, wo Inhalt/Daten in das CDN eingeführt wird/werden. Ein einzelner Baum, der innerhalb der CDN-Topologie dargestellt wird, enthält einen einzelnen Zugangsknoten. Es ist nicht wünschenswert, den Inhalt, sobald in einem Zugangsknoten empfangen, zu allen Knoten des CDN zu bewegen, da dies eine ineffiziente Verwendung ist, die zu redundanten Inhalts-/Datentransfers innerhalb des CDN führt. Ein Ausstiegsknoten ist ein Austrittspunkt für den Inhalt/die Daten (z.B. eine Einrichtung oder ein Gerät, wo der Inhalt/die Daten verbraucht wird/werden).
  • Des weiteren können Anfangsbäume, die innerhalb der CDN-Topologie der vorliegenden Erfindung dargestellt werden, unter Verwendung eines beliebigen konventionellen Algorithmus generiert werden, wie etwa des Umspannungsbaumalgorithmus nach Steiner (Steiner spanning tree algorithm). 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, Richtlinien, Attribute von Knoten und Verknüpfungen, Ausstiegsknoten und derglei chen), um einen oder mehr geplante Pfade innerhalb eines Baums zu erzeugen, damit der Inhalt/die Daten ihren Weg am effizientesten nimmt/nehmen.
  • Des weiteren ist in einer Ausführungsform die vorliegende Offenbarung innerhalb des Produktangebotes Volera Content Distribution Network (VCDN), vertrieben durch Volera, Inc. implementiert. Es wird ein angereicherter CDN-Baum verwendet, um eine Weiterleitungstabelle zu erzeugen, die weiter durch VCDN verwendet wird, um Inhalt/Daten durch ein CDN ohne signifikante Unterbrechung effizient zu bewegen, selbst wenn einige Knoten und Verknüpfungen innerhalb des CDN ausfallen, während die Daten durch das CDN bewegt werden. Es ist jedoch zu verstehen, dass die Unterweisungen der vorliegenden Offenbarung in anderen existierenden Produkten (z.B. existierenden Routern, Switches, Hubs und dergleichen) und/oder eigenständigen Produkten implementiert werden können. Alle derartigen Modifikationen an existierenden Produkten und/oder angepasst erstellten Produkten, die die Unterweisungen der vorliegenden Offenbarung verwenden, sind gedacht, in den Bereich der vorliegenden Offenbarung zu fallen.
  • 1A veranschaulicht ein Diagramm einer Beispieltopologie 100 eines CDN gemäß einer Ausführungsform der vorliegenden Erfindung. Die Beispieltopologie 100 ist auf einem computerlesbaren Medium verkörpert und repräsentiert CDN-Knoten 09. Nur für den Zweck der Veranschaulichung werden Zugangsknoten 4 und 5 als Achtecke dargestellt, während die Ausstiegsknoten 9, 0, 7 und 2 als Kreise mit zwei Dreiecken unten rechts von dem Kreisen dargestellt werden. Die Topologie enthält auch Kreise ohne Dreiecke, die Zwischenknoten 3, 8, 6 und 1 anzeigen, die weder Zugangsknoten noch Ausstiegsknoten 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 Kno ten in Verbindung stehen. Somit ist eine Verknüpfung kürzerer Länge wünschenswerter als eine Verknüpfung längerer Länge.
  • Jeder Zugangsknoten 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 generiert werden, wie etwa des Umspannungsbaumalgorithmus nach Steiner und anderer. 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 Zugangsknoten 5 innerhalb der Topologie 100 dargestellt ist. Der Baum enthält Knoten 5, 6, 9, 7, 2 und 0.
  • Zusätzlich zum Generieren eines Anfangsbaums T können beliebige konventionelle, angepasste oder ad hoc Pfadgenerierungsalgorithmen verwendet werden, um Pfade von dem Wurzelknoten/Zugangsknoten 5 des Baums T zu den entsprechenden Ausstiegsknoten 9, 0, 7 und 2 zu generieren. Z.B. ist der Pfad zu Ausstiegsknoten 9 durch Durchlaufen des Baums T in der folgenden Reihenfolge 5→6→9 definiert. Gleichermaßen ist der Pfad zu Ausstiegsknoten 0 durch 5→6→7→0 definiert. Der Pfad zu Ausstiegsknoten 7 ist 5→6→7, und der Pfad zu Ausstiegsknoten 2 ist 5→6→7→2. Pfadgenerierungsalgorithmen bestimmen basierend auf Kosten (z.B. Charakteristika von Knoten und/oder Verknüpfungen und/oder Richtlinien des CDN), welche Pfade für das CDN als ein ganzes optimal sind. Somit ist es in dem vorliegenden Beispiel weniger aufwändig, Inhalt/Daten, der/die in das CDN in Zugangsknoten 5 eingeführt wird/werden, zu Knoten 6 zu bewegen, bevor zu beliebigen der Ausstiegsknoten 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 mehr alternierende Pfade inner halb des Baums T zu enthalten, um den Inhalt/die Daten in dem potenziellen Ereignis von Ausfällen eines Knotens/einer Verknüpfung zu bewegen. 1B stellt eine derartige Anreicherung dar. Obwohl 1B Ausstiegsknoten 7 als innerhalb der Topologie 110 isoliert darstellt, ist zu verstehen, dass dies nicht der Fall ist. Dies ist zum Zweck der Veranschaulichung geschehen, um ein Beispiel einer Anreicherung zu isolieren, das mit der vorliegenden Erfindung geeignet ist. In der Tat existieren alle Pfade, die ursprünglich in 1A dargestellt werden, auch in 1B, 1B enthält jedoch alternierende oder angereicherte Pfade, die die existierenden Pfade von Baum T in 1A erweitern.
  • 1B veranschaulicht ein Diagramm einer Beispieltopologie 110, die eine Anreicherung von Baum T in 1A gemäß einer Ausführungsform der vorliegenden Erfindung darstellt. Anreicherung von Bäumen in der vorliegenden 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 (Sprungelternanreicherungstyp, 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 (Verbindungsanreicherungstyp, Join enrichment type). Außerdem kann ein Merkmal "optionale Anreicherung" mit einem der zwei Typen von Anreicherung verwendet werden. 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ängste Pfad). Ursprüngliche geplante Pfade für Baum T und beliebige alternative angereicherte Pfade für Baum T werden als Weiterleitungstabellen zum Bewegen von Inhalt/Daten durch das CDN verfügbar gemacht. Auch kann jeder Anreicherungstyp isoliert oder in Kombination mit dem verbleibenden Anreicherungstyp, mit dem oder ohne das optionale(n) Anreicherungsmerkmal verwendet werden.
  • Zum Zweck der Veranschaulichung wird ein Knoten, an dem zum Zweck von Anreicherung gearbeitet wird, hierin als "Subjektknoten" bezeichnet. Außerdem wird die Notation N(#, EP) zum Zweck von Veranschaulichung verwendet, wobei N ein Knoten ist, der eine ganze Zahl identifiziert, # die aktuelle Zahl von nicht verwendeten Verknüpfungen anzeigt, die mit Knoten N in Verbindung stehen, und EP verwendet wird um anzuzeigen, ob Knoten N ein Ausstiegsknoten ist (z.B. Ausstiegsknoten (EP)).
  • Wie zuvor übermittelt, leiten konventionelle Techniken Inhalt/Daten durch das CDN dynamisch um, wenn Ausfälle eines Knotens oder einer Verknüpfung erfasst werden. Dies belastet die Netzressourcen, führt zu Verzögerungen und setzt die Verwendung des anfänglichen erstellten Umspannungsbaums innerhalb der Topologie des CDN nicht wirksam ein. Mit der vorliegenden Erfindung, wie in verschiedenen hierin präsentierten Ausführungsformen dargestellt, sind angereicherte oder alternative Pfade für den anfangs erstellten Umspannungsbaum T mit dem Baum T verfügbar und vorbestimmt, derart, dass wenn ein tatsächlicher Ausfall auftritt, keine neue Kalkulation der Netzressourcen erforderlich ist. Somit kommt Inhalt/kommen Daten zeitgerechter in den Ausstiegsknoten 9, 0, 7 und 2 an. Des weiteren nutzt die Bewegung des Inhalts/der Daten das CDN effizienter, und die Bewegung kann die Einwirkung auf identifizierte für die Aufgabe kritische Anwendungsverarbeitung innerhalb des CDN verringern. Außerdem können minimale CDN-Ressourcen verwendet werden, um CDN-Schleifen zu erfassen und Umleitung von Inhalt/Daten, wenn Unterbrechungen oder Ausfälle erfasst werden, erfordert keine zusätzlichen CDN-Ressourcen zur Auflösung.
  • Wenn ein CDN-Administrator Anreicherung wünscht, identifiziert der Administrator anfangs eine Zahl von Subjektknoten, für die alternative Pfade innerhalb des Baums T zu generieren sind. Alternativ oder in Kombination mit der Identifikation der Subjektknoten kann der Administrator eine Zahl von Verknüpfungen innerhalb des Baums T identifizieren, für die alternative Pfade mit dem Baum T zu generieren sind. Auf diese Weise kann der Administrator den Grad von Granularität anpassen, der mit Generieren alternativer Pfade in Verbindung steht, und der Administrator kann sein/ihr eigenes empirisches Wissen über sein/ihr Netz verwenden um zu bestimmen, ob und wann Sprungelternanreicherung und/oder Verbindungsanreicherung verwendet werden sollte, kombiniert mit dem/ohne das optionale(n) Anreicherungsmerkmal.
  • In einer Ausführungsform kann bei Vorbereitung des Baums T für Anreicherung eine optionale Operation implementiert sein, um eine effizientere Verarbeitung der Sprungeltern- und Verbindungsanreicherungsoperationen vorzusehen. Die optionale Operation wird Subjektknotenordnung (Subject Node Ordering) genannt. Subjektknotenordnung erstellt eine Liste aller Knoten, die mit Baum T in Verbindung stehen. Diese Operation bestimmt, welche Knoten des Baums T mit einer optionalen Anreicherung in Verbindung stehen und fügt diese Knoten der Liste hinzu. Außerdem enthält jeder Knoten des Baums T einen ganzzahligen Zähler #, der die Gesamtzahl von nicht verwendeten oder nicht-füllenden Verknüpfungen enthält (z.B. Verknüpfungen, die gegenwärtig nicht geplant sind, als den Inhalt/die Daten ausgebend verwendet zu werden), die mit jedem Knoten in Verbindung stehen. Außerdem werden Ausstiegsknoten als EP-Knoten identifiziert und gekennzeichnet. Als Nächstes wird die gesamte Liste in aufsteigender Reihenfolge durch den Zählerwert # und EP-Indikator sortiert. Schließlich werden alle Knoten mit einem Zählerwert von 0 entfernt, da diese Knoten nicht angereichert sein können, da nur eine füllende Verknüp fung existiert und gegenwärtig gerade innerhalb des Baums T verwendet wird.
  • Wenn ein Administrator einen Sprungelternanreicherungstyp wählt, wird ein Subjektknoten innerhalb des Baums T durch den Administrator innerhalb der Topologie 110 identifiziert. In dem in 1B präsentierten veranschaulichenden Beispiel wird angenommen, dass der Administrator Subjektknoten 2 (einen Ausstiegsknoten) für das Sprungelternanreicherungsmerkmal der vorliegenden Erfindung gewählt hat. Knoten und Verknüpfungen, die mit den ursprünglichen geplanten Pfaden in Verbindung stehen, um den Inhalt/die Daten durch das CDN zu bewegen, können mit der Notation: 2(1EP), 0(1EP), 9(2EP), 7(4EP), and 6(4) identifiziert werden und sind in 1A dargestellt.
  • Wenn die Sprungelternanreicherungsoperation mit Subjektknoten 2 durchgeführt wird, werden alle Verknüpfungen, die mit dem Elternknoten von Subjektknoten 2 in Verbindung stehen, verwendet in dem geplanten Pfad für Baum T, außer Acht gelassen. Mit dem vorliegenden Beispiel macht dies die Verknüpfung von Knoten 7 zu Knoten 2 nicht verfügbar. Es kann eine beliebige Technik verwendet werden, um den Elternknoten außer Acht zu lassen; eine derartige Technik ist, den Elternknoten mit unendlichen Kosten zu kennzeichnen, wobei allen verbleibenden Verknüpfungen von Baum T, die anfangs als nicht-füllende Verknüpfungen für den Subjektknoten erachtet wurden, Kosten von 0 zugewiesen werden. Als Nächstes werden die verbleibenden Knoten/Verknüpfungen innerhalb der zeitweilig überarbeiteten Topologie dem verwendeten Pfadgenerierungsalgorithmus vorgelegt, um einen neuen alternativen Pfad für den Subjektknoten 2 zu erzeugen.
  • Wie in 1B dargestellt, führt dies zu einem angereicherten Pfad 5→3→2, der für Subjektknoten 2 generiert wird, wenn wir annehmen, dass Knoten 2 seinen Elternknoten 7 nicht verfügbar haben wird. Der angereicherte Baum T kann dann als 2(0EP), 0(1EP), 9(2EP), 7(4EP), und 6(4) bezeichnet werden. Wenn Knoten 0 die Sprungelternanreicherungsoperation verwendet, was auch Knoten 7 in dem Baum T ist, wird ein angereicherter Pfad als 5→6→9→0 generiert, wie auch in 1B dargestellt wird. Sobald Anreicherung zu dem vom Administrator konfigurierten gewünschten Grad von Granularität durchgeführt ist, werden der Baum T und seine ursprünglichen geplanten Pfade zu ihren ursprünglichen Werten wiederhergestellt, wie in 1A dargestellt, und mit den alternativen Pfaden, die in 1B dargestellt sind, erweitert oder angereichert.
  • Entsprechend enthält der revidierte, angereicherte und erweiterte Baum T einen gewünschten Grad von alternativen Pfaden, die verwendet werden können, wenn der Inhalt/die Daten durch das CDN bewegt wird/werden. Wenn somit ein Elternknoten nicht reagiert oder während einer Übertragung von Inhalt/Daten ausfällt, wird der Umleitungsvektor oder Pfad für den ausgefallenen Parent (Eltern) leicht aus dem angereicherten Baum T der vorliegenden Erfindung erlangt, ohne Verzögerung oder unnötige Verwendung von Netzressourcen. In einigen Ausführungsformen kann dieser angereicherte Baum T als eine Weiterleitungstabelle 111 für den Inhalt/die Daten vorgesehen werden, wie er/sie das CDN durchquert/durchqueren.
  • Somit würde in dem vorliegenden Beispiel Knoten 2 automatisch den Inhalt/die Daten von Knoten 3 erlangen, sollte Knoten 7 nicht verfügbar werden, und gleichermaßen würde Knoten 0 automatisch den Inhalt/die Daten von Knoten 9 erlangen, falls Knoten 7 nicht verfügbar ist. Die Weiterleitungstabelle 111 kann konventionellen oder traditionellen Weiterleitungseinrichtungen, Weiterleitungsprotokollen und/oder Weiterleitungsanwendungen zur Verwendung zugeführt werden, wenn sich der Inhalt durch das CDN bewegt. Alternativ kann die Weiter leitungstabelle 111 durch Cache-Beschleuniger oder andere angepasste Anwendungen verwendet werden, um den Inhalt/die Daten durch das CDN weiterzuleiten. Die Pfade/Routen, die innerhalb der Weiterleitungstabelle 111 enthalten sind, können in einer Ausführungsform nach geringsten Kosten oder kürzestem Pfad geordnet sein, wenn der Administrator das optionale Anreicherungsmerkmal der vorliegenden Erfindung wählt, wie in Weiterleitungstabelle 111 von 1B dargestellt wird.
  • Außerdem kann die Sprungelternanreicherungsoperation für jeden Knoten in den ursprünglichen Baum (per Vorgabe) oder für jene Knoten in dem ursprünglichen Baum, spezifiziert durch den Administrator, die einen alternativen Pfad erfordern, verwendet werden.
  • Die Verbindungsanreicherungsoperation konzentriert sich nicht darauf, wenn ein Parent eines Subjektknotens ausfällt, sondern konzentriert sich vielmehr auf schnelle und effiziente erneute Verbindung des Baums T, wenn von einer Verknüpfung zu dem Subjektknoten angenommen wird, dass sie nicht verfügbar ist. Dies geschieht durch Kennzeichnen von füllenden Verknüpfungen zu dem Subjektknoten bei unendlichen Kosten oder nicht verfügbar und allen nicht-füllenden Verknüpfungen zu dem Subjektknoten zu Kosten gesetzt, wobei alle verbleibenden Verknüpfungen, die Teil des Baums T sind, bei Null-Kosten markiert sind. Dann wird der Pfadgenerierungsalgorithmus ausgeführt, um einen angereicherten Pfad zu dem Subjektknoten zu finden. Die ursprünglichen Einstellungen für den Baum T werden dann wiederhergestellt und mit dem angereicherten Pfad erweitert, der durch die Verbindungsanreicherungsoperation generiert wird. Eine Anwendung der Verbindungsanreicherungsoperation auf das vorliegende Beispiel mit Subjektknoten 2 führt zu der gleichen Anreicherung, die mit dem Sprungparent erzeugt wurde und in 1B dargestellt ist. Wie ein Durchschnittsfachmann jedoch schnell erkennt, ist dies nicht immer der Fall und angereicherte Pfade können abhängig von dem Baum variieren, der angereichert wird, und können unter Verwendung der oben präsentierten Unterweisungen bestimmt werden.
  • Wie zuvor erörtert, können die Sprungeltern- und Verbindungsanreicherungsoperationen in einer beliebigen Reihenfolge, allein oder in Kombination durch einen CDN-Administrator verarbeitet werden. Ferner kann jede Operation das optionale Anreicherungsmerkmal enthalten, wie oben präsentiert. Außerdem können beliebige doppelte angereicherte Pfade, die generiert sind, aus dem verbesserten Baum T für Effizienzzwecke ausgeschnitten werden.
  • Während des Betriebs wird, wenn ein Knoten und/oder eine Verknüpfung ausfällt, ein Ereignis innerhalb des CDN ausgelöst, das anzeigt, dass der Knoten/Verknüpfung nicht reagiert oder innerhalb einer vorbestimmten Zeitperiode nicht antwortet, da es sein könnte, dass der nicht reagierende Knoten nicht ausgeschaltet ist, sondern vielmehr wegen einer heftigen Verarbeitung, die in einem beliebigen bestimmten Zeitpunkt geladen ist, im Timeout ist. Wenn dies auftritt, wird auf die Weiterleitungstabelle 111, die den angereicherten Baum T darstellt, unverzüglich für den nächsten alternativen Pfadknoten zugegriffen. Somit führen die Netzressourcen nur Nachschauen in einer Tabelle durch und müssen keinerlei Umleitungskalkulationen durchführen. Dies ist besonders wünschenswert, wenn der Inhalt/die Daten, der/die durch das CDN bewegt wird/werden, große Mediendateien sind. Dennoch können die Grundsätze der vorliegenden Offenbarung mit irgendeinem Netz oder Datentransfer verwendet werden und alle derartigen Anwendungen gedacht, in den Bereich der vorliegenden Offenbarung zu fallen.
  • Die dargestellte Weiterleitungstabelle 111 enthält andere Anreicherung für Knoten und Verknüpfungen, die oben nicht erörtert werden. Für einen Durchschnittsfachmann ist es jedoch offensichtlich, dass diese zusätzlichen angereicherten Knoten und Verknüpfungen auf die gleiche Art und Weise erzeugt werden können, wie es mit dem veranschaulichenden Beispiel präsentiert wird.
  • 2 veranschaulicht ein Flussdiagramm, das ein Verfahren 200 darstellt, um einen Baum anzureichern, gemäß einer Ausführungsform der vorliegenden Erfindung. Der Baum wird aus einer CDN-Topologie abgeleitet oder generiert. Baumgenerierung oder Ableitung kann unter Verwendung eines beliebigen konventionellen, angepassten und/oder ad hoc Baumgenerierungsalgorithmus geschehen. Pfade können auch innerhalb des Baums zum Projizieren von einem oder mehr geplanten Pfaden für Inhalt/Daten, der/die durch das CDN zu bewegen ist/sind, generiert werden. Pfadgenerierungsalgorithmen sind einem Durchschnittsfachmann gut bekannt, und alle derartigen existierenden, angepasst entwickelten oder ad hoc Pfadgenerierungsalgorithmen können mit der vorliegenden Offenbarung verwendet werden. Die Pfade entspringen in der Wurzel des Baums oder einem Zugangsknoten und durchlaufen definierte Verknüpfungen durch Null oder mehr Zwischenknoten zu einem oder mehr Ausstiegsknoten.
  • Ein CDN-Administrator kann die Topologie (z.B. Knoten und Verknüpfungen), den Baum und die geplanten Pfade unter Verwendung einer beliebigen grafischen Benutzerschnittstellen- (GUI) Anwendung betrachten. Die Visualisierung gestattet dem Administrator auch, Kosten zu erkennen, die mit den Knoten, Verknüpfungen und Pfaden in Verbindung stehen. Kosten werden durch Charakteristika der Knoten und/oder Verknüpfungen, oder Richtlinien, die für das CDN festgesetzt sind, bestimmt. Der Pfadgenerierungsalgorithmus kann Kosten verwenden, wenn die Pfade für den Baum generiert werden.
  • In 201 wird ein Baum empfangen, der innerhalb der CDN-Topologie enthalten ist. In einigen Ausführungsformen wird der Empfang durch Erhalten eines Zeigers zu dem Wurzelknoten des Baums erhalten, derart, dass der gesamte Baum durch Verwenden des Wurzelzeigers bestimmt und durchlaufen werden kann. Der Baum wird durch Baumanreicherungsoperationen empfangen, die die Unterweisungen der vorliegenden Offenbarung praktizieren. In einigen Ausführungsformen sind diese Operationen als ein Sprungelternmodul und ein Verbindungsmodul implementiert, wobei jedes Modul ein optionales Anreicherungsmerkmal hat, das die generierten angereicherten Pfade nach geringsten Kosten zu höchsten Kosten ordnet. Wie einem Durchschnittsfachmann natürlich leicht offensichtlich ist, können ein einzelnes Modul oder mehr als zwei Module implementiert sein, um die hierin präsentierten Unterweisungen zu praktizieren, und alle derartigen Konfigurationen fallen in den Bereich der vorliegenden Offenbarung.
  • In 202 wird eine Anforderung durch das Operationsimplementierungsverfahren 200 empfangen. Die Anforderung dient zum Anreichern des aktuellen Baums mit einem oder mehr alternativen Pfaden basierend auf Annahmen, die als Parameter zu der Anforderung bereitgestellt werden. Die Parameter identifizieren Subjektknoten des Baums, der anzureichern ist, zusammen mit Angeben bezüglich dessen, ob ein Parent als nicht verfügbar anzunehmen ist und/oder ob füllende Verknüpfungen, die innerhalb der ursprünglichen geplanten Pfade enthalten sind, als für die Subjektknoten nicht verfügbar angenommen werden. Optional kann in 203 ein angepasster Grad (level) von Anreicherung (z.B. Parameter) von einem Administrator empfangen werden. Der angepasste Grad kann eine Liste von Knoten/Verknüpfungen vorsehen, die anzureichern sind, zusammen mit dem Typ von durchzuführender Anreicherung. Alternativ kann der angepasste Grad eine hierarchische Ebene innerhalb des Baums darstellen, wo Anreicherung gewünscht wird. Außerdem kann der angepasste Grad eine Anzeige vorsehen, dass der Baum mit allen bestimmbaren alternativen Pfaden anzureichern ist, die durch den aktuellen Baum generiert werden können.
  • In 204 werden, bevor der Baum mit alternativen Pfaden angereichert wird, die Anfangsbaumeinstellungen und Pfade für eine anschließende Wiederherstellung gesichert, wenn der Baum zu dem gewünschten Grad angereichert wurde. Als Nächstes werden in 205 die geeigneten Anreicherungsmodule ausgeführt. Die Anreicherungsmodule identifizieren einen Subjektknoten innerhalb des Baums, und sie nehmen an, dass der Parent des Subjektknotens nicht verfügbar ist und/oder die füllende Verknüpfungen des Subjektknotens nicht verfügbar sind. Der Pfadgenerierungsalgorithmus wird dann mit dem nicht verfügbaren Parent und/oder Knoten ausgeführt, um einen angereicherten und alternativen Pfad für den Subjektknoten zu erzeugen. Entsprechend wird in 206 ein alternativer Pfad (Pfade) für jeden Subjektknoten generiert, an dem durch die Anreicherungsmodule gearbeitet wird. Die Anreicherungsmodule setzen eine Verarbeitung fort, bis alle Subjektknoten, die als eine Anreicherung erfordernd identifiziert sind, verarbeitet sind. Optional wird (werden) in 210 der (die) angereicherte(n) Pfad(e) von geringsten Kosten (z.B. kürzestem Pfad) zu höchsten Kosten (z.B. längstem Pfad) geordnet. Dies kann durch Verwenden des optionalen Anreicherungsmerkmals der vorliegenden Erfindung erreicht werden.
  • In 220 werden die alternativen Pfaden mit dem Baum in Verbindung gebracht und die ursprünglichen geplanten Pfade des Baums und die ursprünglichen Baumeinstellungen werden wiederhergestellt. In irgend einem späteren Zeitpunkt wird/werden Inhalt/Daten in das CDN in dem Zugangsknoten unter der Wurzel des Baums eingespeist, wie in 230 dargestellt wird. Falls der Zugang oder die Wurzel nicht verfügbar ist, dann schlägt die Bewegung von Inhalt/Daten fehl, da der Inhalt/Daten in das CDN nicht eintreten können. Falls jedoch der Zugangsknoten verfügbar ist, dann wird/werden der Inhalt/die Daten anfangs durch das CDN unter Verwendung der ursprünglich generierten geplanten Pfade für den Baum bewegt, um einen oder mehr Ausstiegsknoten zu erreichen, wo der Inhalt/die Daten verbraucht wird/werden.
  • Während sich der Inhalt/die Daten durch das CDN bewegt/bewegen, werden Prüfungen durchgeführt um zu bestimmen, ob der/die nächste verfügbare Knoten/Verknüpfung ausgefallen ist oder anderweitig nicht reagiert, wie in 231 dargestellt. Falls ein Ausfall für den/die nächste(n) Knoten/Verknüpfung eines geplanten oder aktuellen Pfades für den Inhalt/die Daten erfasst wird, wird dann in 232 der geeignete angereicherte oder alternative Pfad ausgewählt, und der Inhalt/die Daten wird/werden geeignet zu dem/der neuen Knoten/Verknüpfung bewegt. Dieser Prozess setzt in 233 fort, bis der Inhalt/die Daten die gewünschten Ausstiegsknoten erreicht hat/haben. In einigen Ausführungsformen werden die geplanten Pfade des Baums und die alternativen oder angereicherten Pfade innerhalb einer Weiterleitungstabelle dargestellt, auf die die Weiterleitungsanwendungen von angepassten Anwendungen zugreifen können, die zum Bewegen des Inhalts/der Daten durch das CDN verantwortlich sind. Somit ist Umleitung vorbestimmt und verfügbar, wenn ein Ausfall auftritt, und anders als in konventionellen Ansätzen gibt es keine Notwendigkeit zum Durchführen dynamischer Umleitungskalkulationen, die zu Verzögerungen führen und die CDN-Ressourcen übermäßig belasten können. Außerdem wird die Anfangsstruktur des optimal generierten Baums für das CDN während der Umleitung des Inhalts/der Daten im wesentlichen aufrechterhalten.
  • 3 veranschaulicht ein Flussdiagramm, das ein anderes Verfahren 300 darstellt, um einen Baum anzureichern, gemäß einer Ausführungsform der vorliegenden Erfindung. Anfangs wird in 301 eine Anforderung durchgeführt, eine Baumabstraktion von einer gegebenen Topologie für ein CDN zu generieren. In einer Ausführungsform wird in 302 die Baumgenerierung aus dem Umspannungsbaumalgorithmus nach Steiner angefordert, es kann natürlich ein beliebiger Generierungsalgorithmus mit den Unterweisungen der vorliegenden Offenbarung verwendet werden. Der Zugangsknoten des Baums ist die Wurzel des Baums. Außerdem kann ein beliebiger Pfadgenerierungsalgorithmus verwendet werden, um einen oder mehr Pfade von dem Zugangsknoten zu einem oder mehr Ausstiegsknoten zu erzeugen (z.B. Ziel oder Verbrauchsstellen von Inhalt/Daten innerhalb des CDN).
  • In 303 wird der generierte Baum empfangen. In einer Ausführungsform wird der Baum mit einer GUI-Anwendung einem CDN-Administrator vorgelegt, wie in 304 dargestellt, innerhalb des Kontexts der gesamten Topologie, wie in 304 dargestellt. Die Topologie kann einen oder mehr zusätzliche Bäume enthalten, die innerhalb des CDN dargestellt sind. Die Darstellung gestattet dem Administrator auch, Charakteristika und Kosten zu visualisieren, die mit Knoten, Verknüpfungen und/oder Pfaden des Baums in Verbindung stehen. Somit gestatten erkennbare visuelle Hinweise dem Administrator, Aspekte des Baums leicht zu bestimmen. Der Administrator verwendet die Visualisierung und den Baum, um einen Job zu erstellen, um Inhalt/Daten von der Wurzel (z.B. dem Zugangsknoten) des Baums zu einem oder mehr Ausstiegsknoten zu bewegen.
  • Der Administrator stellt den gewünschten Grad von alternativen Pfaden in 305 bereit, die für den Job gewünscht sind. Der gewünschte Grad kann Subjektknoten mit potenziellen nicht verfügbaren Eltern und/oder Verknüpfungen identifizieren. Alternativ kann der gewünschte Grad einen Wunsch des Administrators anzeigen, alternative oder erweiterte Pfade für den Job völlig und vollständig zu erzeugen. Sobald der gewünschte Grad von Granularität für alternative Pfadgenerierung empfan gen ist, werden dann in 310 der Anfangsbaum und seine Einstellungen/geplanten Pfade für eine spätere Wiederherstellung gesichert.
  • Als Nächstes werden eine oder mehr Baumverbesserungsoperationen ausgeführt, wo Knoten, die für Verbesserungen verarbeitet werden, als Subjektknoten identifiziert sind. Entsprechend nehmen in 311 die Operationen an, das Elternknoten/Verknüpfungen für die Subjektknoten nicht verfügbar sind und führen den Baumgenerierungsalgorithmus unter diesen Umständen aus. Dies führt zu alternativen Pfaden für die Subjektknoten, die in 312 generiert werden. Dies nimmt an, dass der Subjektknoten andere Verknüpfungen und/oder Eltern über das hinaus hat, was ausgeschlossen wurde; anderenfalls wird unter derartigen Umständen Anreicherung nicht durchgeführt. Die alternativen Pfade, die generiert werden, können in einigen Ausführungsformen CDN-Richtlinien oder angepasste Richtlinien verwenden, wenn Kosten bestimmt werden, die mit den alternativen Pfaden in Verbindung stehen. In einigen Fällen sind diese Richtlinien die gleichen wie sie verwendet wurden, als die anfänglichen geplanten Pfade für den Baum generiert wurden, obwohl nichts verbietet, dass die Richtlinien mit der vorliegenden Offenbarung erweitert werden, um neue Richtlinien zu enthalten, die durch einen Administrator erwünscht sind.
  • In 320 terminiert die Verarbeitungsschleife der Anreicherungsoperationen, sobald alle gewünschten Subjektknoten verarbeitet sind. Darauf wird der Baum zu seinen ursprünglichen Einstellungen wiederhergestellt und mit allen generierten alternativen Pfaden in Verbindung gebracht. Wenn der Job des Administrators verarbeitet wird, wird/werden als Nächstes in 330 der Inhalt/die Daten des Jobs in das CDN in der Wurzel oder dem Zugangsknoten eingespeist, um den Inhalt/die Daten entlang der ursprünglichen geplanten Pfade für den Baum zu bewegen. Entsprechend wird in 331 die/der nächste Verknüpfung/Knoten in der Initialisierung der Wurzelknoten sein.
  • Folgend den geplanten Pfaden für den Job wird eine nächste Verknüpfung/ein nächster Knoten innerhalb der geplanten Pfade identifiziert und in 332 wird eine Prüfung durchgeführt um zu bestimmen, ob eine derartige Verknüpfung/ein derartiger Knoten reagiert oder verfügbar ist. Falls die/der nächste Verknüpfung/Knoten nicht reagiert oder nicht verfügbar ist, dann wird in 333 einer der entsprechenden alternativen Pfade, mit alternativen nächsten Knoten/Verknüpfungen, unverzüglich ausgewählt und in 332 auf Verfügbarkeit geprüft. Der Prozess kehrt zurück zu 331, bis der Job verarbeitet ist, was anzeigt, dass der Inhalt/die Daten durch das CDN zu den Ausstiegsknoten zum Verbrauch erfolgreich bewegt wurde/wurden.
  • In einer Ausführungsform werden die geplanten Pfade und angereicherten alternativen Pfade in einer Weiterleitungstabellendatenstruktur dargestellt, auf die eine Weiterleitungsanwendung zugreifen kann, wie etwa eine Caching-Anwendung, die verantwortlich ist, den Inhalt/die Daten zu bewegen, oder traditionelle Weiterleitungstechniken, die die Weiterleitungstabellendatenstruktur der vorliegenden Offenbarung verwenden.
  • 4 veranschaulicht ein Diagramm eines Systems 400, um einen Baum anzureichern, gemäß einer Ausführungsform der vorliegenden Erfindung. Das System 400 enthält einen Baum 410, ein Sprungelternmodul 420 und ein Verbindungsmodul 430. Das System ist auf einem computerlesbaren Medium verkörpert und wird verwendet, um einen konventionellen Baum mit alternativen Pfaden zu verbessern, wobei der Baum 410 der vorliegenden Offenbarung verwendet wird, um Weiterleitungsinformation für eine Bewegung von Inhalt/Daten durch ein CDN 411 von einem Zugangsknoten zu einem oder mehr Ausstiegsknoten vorzusehen.
  • Der Baum 410 ist aus einer Topologie des CDN 411 abgeleitet. In einigen Ausführungsformen wird der Baum unter Verwendung eines beliebigen existierenden oder angepasst entwickelten Umspannungsbaumgenerierungs-/Ableitungsalgorithmus 440 abgeleitet oder generiert. Außerdem enthält der Baum 410 eine Zahl von geplanten Pfaden 412, die anfangs mit dem Baum 410 durch Verwendung eines beliebigen existierenden oder angepasst entwickelten Pfadgenerierungsalgorithmus 450 bereitgestellt werden. Pfade identifizieren eine Route für Inhalt/Daten für einen Weg durch das CDN 411, beginnend von einem Zugangsknoten und sich durch einen oder mehr Zwischenknoten zu einem oder mehr endgültigen Ziel- oder Ausstiegsknoten bewegend. Der Baum 410 enthält einen Zugangsknoten, Null oder mehr Zwischenknoten, Ausstiegsknoten, Angeben geplanter Pfade 412 und Verknüpfungen zwischen den Knoten.
  • Generieren von einem oder mehr alternativen Pfaden 412 für den Baum 410 reichert den Baum 410 an. Das Sprungelternmodul 420 und das Verbindungsmodul 430 generieren die alternativen Pfade 413 für den Baum 410. Außerdem sind die alternativen Pfade 413 vorgesehen und erweitern den Baum 410, bevor beliebiger Inhalt/beliebige Daten in das CDN 411 eingespeist und zu einem Fortschritt entlang eines geplanten Pfades 412 zu einem oder mehr Ausstiegsknoten gelenkt wird/werden.
  • Das Sprungelternmodul 420 empfängt konfigurierbare Parameter, die anzeigen, welche Knoten des Baums 410 mit alternativen Pfaden 413 anzureichern sind. Das Sprungelternmodul 420 arbeitet an den Knoten, die als Subjektknoten identifiziert sind, und macht Elternknoten, die mit den Subjektknoten in Verbindung stehen, für Pfadgenerierung 450 nicht verfügbar. Als Nächstes ruft das Sprungelternmodul 420 den Pfadgenerator 450 mit einer überarbeiteten Version des Baums 410 auf und fordert einen neuen alternativen Pfad 413 für die Subjekt knoten an, die angereichert werden. Schließlich werden, sobald das Sprungelternmodul 420 seine Anreicherung abgeschlossen hat, die ursprünglichen Einstellungen und geplanten Pfade 412 für den Baum 410 wiederhergestellt und die neu angereicherten alternativen Pfade 413 werden mit dem Baum 410 in Verbindung gebracht.
  • Auf eine ähnliche Weise empfängt das Verbindungsmodul 430 konfigurierbare Parameter, die Subjektknoten des Baums 410 identifizieren, die anzureichern sind. Das Verbindungsmodul 430 arbeitet an den identifizierten Subjektknoten und macht existierende füllende Verknüpfungen zu den Subjektknoten für Pfadgenerierung 450 nicht verfügbar. Als Nächstes ruft das Verbindungsmodul 430 den Pfadgenerator 450 auf, um einen neu angereicherten alternativen Pfad 413 für einen Subjektknoten zu generieren, wobei vorherige existierende füllende Verknüpfungen nicht verwendet werden. Schließlich werden, sobald das Verbindungsmodul 430 seine Anreicherung abgeschlossen hat, die ursprünglichen Einstellungen und geplanten Pfade 412 für den Baum 410 wiederhergestellt und die neu angereicherten alternativen Pfade 413 werden mit dem Baum 410 in Verbindung gebracht.
  • Das Sprungelternmodul 420 und das Verbindungsmodul 430 können in Kombination miteinander oder getrennt voneinander verwendet werden, abhängig von den Bedürfnissen und/oder Wünschen eines CDN-Administrators. Außerdem kann jedes Modul 420 und 430 ein optionales Anreicherungsmerkmal enthalten, das die alternativen Pfade 413 von den geringsten Kosten (z.B. kürzester Pfad) zu höchsten Kosten (z.B. längster Pfad) ordnet. Des weiteren kann der Pfadgenerator 450 Pfade basierend auf Kosten vorsehen, die mit verschiedenen Charakteristika des CDN 411, Knoten und/oder Verknüpfungen in Verbindung stehen.
  • In einer Ausführungsform ist der angereicherte Baum 410 für eine Verwendung in einer Netzweiterleitungstabelle vorgesehen und wird durch eine oder mehr beschleunigte Caching-Anwendungen verwendet, um den Inhalt/die Daten durch das CDN 411 zu bewegen. In einer anderen Ausführungsform ist der angereicherte Baum 410 für eine Verwendung in einer Netzweiterleitungstabelle vorgesehen und wird durch eine oder mehr konventionelle Weiterleitungseinrichtungen oder Weiterleitungsanwendungen verwendet, um den Inhalt/die Daten durch das CDN 411 zu bewegen.
  • Auf diese Weise kann das System 400 durch eine oder mehr zusätzliche Anwendungen verwendet werden, um den Inhalt/die Daten durch das CDN 411 effizient zu bewegen. Dies geschieht derart, dass wenn der Inhalt/die Daten in das CDN 411 in dem Zugangs- oder Wurzelknoten des angereicherten Baums 410 eingespeist wird/werden, alternative Knoten/Verbindungen, die mit den alternativen Pfaden 413 in Verbindung stehen, vorbestimmt und für eine Verwendung verfügbar gemacht werden, sollte ein(e) beliebige(r) Knoten/Verknüpfung während einer Bewegung des Inhalts/der Daten ausfallen. Wie ein Durchschnittsfachmann leicht erkennt, erfordern die Techniken der vorliegenden Offenbarung keine wesentliche Verwendung von Netzressourcen, um eine Weiterleitung des Inhalts/der Daten zu beeinflussen, wenn Ausfälle auftreten, da die vorliegende Offenbarung derartige Umstände mit dem angereicherten Baum 410, der die alternativen Pfade 413 hat, bereits berücksichtigt hat. Außerdem können die alternativen Pfade 413 basierend auf empirischem Wissen eines CDN-Administrators des CDN 411 angepasst generiert werden. Somit wird/werden Inhalt/Daten durch das CDN 411 mit den Grundsätzen der vorliegenden Offenbarung effizienter bewegt.
  • In einigen Ausführungsformen kann der Pfadgenerator 450 in dem Baumgenerator 440 enthalten oder Teil von ihm sein.
  • Außerdem kann in einigen Ausführungsformen der Pfadgenerator 450, der verwendet wird, um die geplanten Pfade zu generieren, getrennt und verschieden von einem Pfadgenerator 450 sein, der verwendet wird, um die alternativen Pfade zu generieren.
  • 5 veranschaulicht ein Diagramm einer Datenstruktur, die einen erweiterten Baum 500 darstellt, gemäß einer Ausführungsform der vorliegenden Erfindung. Die erweiterte Baumdatenstruktur 500 enthält eine ursprüngliche Baumdatenstruktur mit einem Zugangsknoten 501, Null oder mehr Zwischenknoten 502, einem oder mehr Zugangsknoten 503 und einem oder mehr ursprünglichen geplanten Pfaden 504. Die erweiterte Baumdatenstruktur 500 enthält auch einen oder mehr angereicherte oder alternative Pfade 505. Die erweiterte Baumdatenstruktur 500 befindet sich auf einem computerlesbaren Medium 510 und ist für eine oder mehr Anwendungen zugreifbar, die verwendet werden, um die Datenstruktur 500 anzureichern, oder um die Datenstruktur 500 zum Weiterleiten von Inhalt/Daten 540 durch ein CDN zu verwenden.
  • Die ursprüngliche Baumdatenstruktur wird unter Verwendung beliebiger konventioneller oder angepasst entwickelter Umspannungsbaumalgorithmen generiert. Die ursprüngliche Baumdatenstruktur wird innerhalb einer Topologie dargestellt, die aus dem CDN abstrahiert ist. Die Topologie kann eine oder mehr Baumdatenstrukturen enthalten. Ferner enthält die ursprüngliche Baumdatenstruktur Verknüpfungen zwischen den Knoten. Die geplanten Pfade 504 sehen eine geplante Route zum Bewegen von Inhalt/Daten 540 von dem Zugangsknoten 501 durch Null oder mehr Zwischenknoten 502 zu einem oder mehr Ausstiegsknoten 503 unter Verwendung der Verknüpfungen vor.
  • Die alternativen Pfade 505 sind Alternativen zu den geplanten Pfaden 504 und sind mit der erweiterten Baumdatenstruktur 500 (z.B. nun einem zyklischen Graph) verfügbar, bevor der Inhalt/die Daten 540 bewegt oder in das CDN eingespeist wird/werden. Die alternativen Pfade 505 werden automatisch aus Weiterleitungstabellen 520 erlangt, wenn ein Knoten/eine Verknüpfung bestimmt wird, mit einem geplanten Pfad 504 nicht verfügbar oder nicht reagierend zu sein, oder mit einem der alternativen Pfade 505. Die Weiterleitungstabellen 520 sind für Anwendungen und/oder Einrichtungen 530 (z.B. Caching-Anwendungen, traditionelle Weiterleitungssysteme und andere) zugreifbar, wenn diese Anwendungen und/oder Einrichtungen 530 zum Bewegen des Inhalts/der Daten 540 durch das CDN verantwortlich sind.
  • Alternative Pfade 505 können durch eine beliebige Anreicherungsanwendung generiert werden, die angereicherte Pfade basierend auf konfigurierbaren Annahmen vorbestimmt, dass Elternknoten und/oder existierende füllende Verknüpfungen innerhalb der ursprüngliche Baumdatenstruktur potenziell nicht verfügbar sind. Des weiteren können diese alternativen Pfade optional von geringsten Kosten (z.B. kürzester Pfad) zu höchsten Kosten (z.B. längster Pfad) organisiert sein. Die alternativen Pfade 505 werden der erweiterten Baumdatenstruktur 500 bereitgestellt, bevor der Inhalt/die Daten 540 in das CDN eingespeist wird/werden. Es kann auch ein Grad von Granularität konfiguriert und der Anreicherungsanwendung zugeführt werden, derart, dass die Zahl und der Typ von alternativen Pfaden 505 bestimmt werden können. Ein Typ eines alternativen Pfades 505 kann eine ausgefallene existierende füllende Verknüpfung für einen Subjektknoten oder ein ausgefallener Elternknoten für den Subjektknoten sein.
  • Somit wird/werden mit der erweiterten Baumdatenstruktur 500 Inhalt/Daten 540 effizienter durch das CDN umgeleitet, wenn Ausfälle von Verknüpfungen und/oder Knoten erfasst werden. Außerdem kann der Grad von Granularität, der mit alternativer Pfadgenerierung in Verbindung steht, konfiguriert und durch jemanden, der mit dem CDN am meisten vertraut ist, wie etwa einem Inhaltsadministrator, bereitgestellt werden. Wenn eine Umleitung für den Inhalt/die Daten 540 innerhalb des CDN erforderlich ist, sind außerdem die alternativen Pfade 505, die verwendet werden, um eine beliebige Umleitung aufzulösen, eng ausgerichtet und setzen die ursprüngliche Baumdatenstruktur wirksam ein. Ein Durchschnittsfachmann versteht nun beim Lesen und Nachvollziehen der vorliegenden Offenbarung, wie ein Baum für ein CDN angereichert werden kann, um effizienteren und zeitgerechteren Service vorzusehen.
  • Obwohl verschiedene Ausführungsformen der vorliegenden Erfindung in Form eines CDN erörtert wurden, ist einem Durchschnittsfachmann leicht offensichtlich, dass dieser Begriff eine beliebige Netzkonfiguration enthalten kann, die verwendet wird, um die Unterweisungen der vorliegenden Erfindung zu erreichen. Außerdem sind die angereicherten Bäume von verschiedenen Ausführungsformen der vorliegenden Erfindung gerichtete Graphen und können Ringe enthalten. Des weiteren ist einem Durchschnittsfachmann leicht offensichtlich, dass wenn die angereicherten Bäume in Gebrauch sind, beliebige standardmäßige oder angepasst entwickelte Mechanismen verwendet werden können, um Weiterleitungsschleifen oder einen Bruch von Ringweiterleitung zu erfassen und zu vermeiden. Diese Mechanismen können mit den angereicherten Bäumen in Verbindung stehen und/oder von den angereicherten Bäumen getrennt und verschieden sein.
  • Obwohl verschiedene Ausführungsformen Daten darstellen, als in ein CDN eingespeist oder geschoben zu werden, ist außerdem leicht offensichtlich, dass dies nicht der Fall sein muss. In der Tat können in einigen Ausführungsformen die Daten in und durch das CDN gezogen werden. Deshalb können Schiebe- oder Zugtechniken mit der vorliegenden Offenbarung verwendet werden.
  • Die vorangehende Beschreibung von verschiedenen Ausführungsformen der Erfindung wurde zum Zweck von Veranschaulichung und Beschreibung präsentiert. Sie ist nicht gedacht, erschöpfend zu sein oder die Erfindung auf die genaue offenbarte Form zu begrenzen. Einem Fachmann werden angesichts der obigen Unterweisung viele Alternativen, Modifikationen und Variationen offensichtlich sein. Obwohl verschiedene Ausführungsformen der Erfindung als eine Reihe sequenzieller Schritte beschrieben wurden, ist die Erfindung z.B. nicht auf eine Durchführung beliebiger bestimmter Schritte in einer beliebigen bestimmten Reihenfolge begrenzt. Entsprechend ist diese Erfindung gedacht, alle Alternativen, Modifikationen, Entsprechungen und Variationen zu umgreifen, die in den Bereich der angefügten Ansprüche fallen.

Claims (12)

  1. Verfahren, um einen Baum (410) für ein Inhaltsverteilungsnetz (411) anzureichern, umfassend: Empfangen des Baums (303) für das Inhaltsverteilungsnetz; gekennzeichnet dadurch, dass das Verfahren ferner umfasst: Empfangen einer Anfrage, alternative Pfade für den Baum zu generieren; und Generieren der alternativen Pfade, wobei die alternativen Pfade generiert werden, bevor Daten durch das Inhaltsverteilungsnetz transferiert werden, wobei bei Empfang des Baums der Baum eine hierarchische Abstraktion des Inhaltsverteilungsnetzes ist, und der Baum eine Zahl von geplanten Pfaden von einem Eingangsknoten zu einem oder mehr Eingangsknoten inkludiert und wobei das Verfahren den weiteren Schritt zum Empfangen eines Anpassungsgrades (305), der mit der Anfrage in Verbindung steht, umfasst, wobei der Anpassungsgrad die Zahl von Knoten anzeigt, für die alternative Pfade in dem Baum zu generieren sind.
  2. Verfahren nach Anspruch 1, ferner umfassend Transferieren der Daten (330) unter Verwendung des Baums über das Inhaltsverteilungsnetz, nachdem die alternativen Pfade (312) generiert sind.
  3. Verfahren nach Anspruch 1, ferner umfassend Verwenden mindestens eines der alternativen Pfade, während die Da ten transferiert werden, wenn ein Inhaltsverteilungsnetzknoten und/oder Verknüpfung bestimmt sind, nicht verfügbar zu sein.
  4. Verfahren nach Anspruch 5, wobei beim Generieren der alternativen Pfade jeder alternative Pfad eine oder mehr Kosten inkludiert, die mit Verwendung jeden Pfades in Verbindung stehen, um die Daten zu transferieren, und wobei die Kosten basierend auf Richtlinien konfigurierbar sind, die mit dem Inhaltsverteilungsnetz in Verbindung stehen.
  5. Verfahren nach Anspruch 1, wobei beim Generieren der alternativen Pfade jeder alternative Pfad innerhalb einer Datenstruktur geordnet ist, die mit dem Baum in Verbindung steht.
  6. Verfahren nach Anspruch 1, ferner umfassend den Schritt zum Erfassen eines Fehlers in einer Verknüpfung und/oder einem Knoten für einen geplanten Pfad innerhalb des Baums während eines Transfers der Daten über das Inhaltsverteilungsnetz und automatischen Verwenden eines der alternativen Pfade, um den geplanten Pfad zu ergänzen, um einen Transfer der Daten fortzusetzen.
  7. Verfahren nach Anspruch 1, wobei beim Anfordern des Baums der Baum unter Verwendung eines Umspannungsbaumgenerierungsalgorithmus nach Steiner angefordert wird.
  8. Verfahren nach Anspruch 1, ferner umfassend Präsentieren des Baums innerhalb einer grafischen Benutzerschnittstellen- (GUI) Anwendung, wobei Knoten, Verknüpfungen und geplante Pfade zusammen mit Kosten, die mit den Knoten, Verknüpfungen und Pfaden in Verbindung stehen, erkennbar sind.
  9. Verfahren nach Anspruch 1, wobei beim Empfangen des gewünschten Grades der gewünschte Grad konfigurierbar ist, um die alternativen Pfade basierend auf potenziellen Verknüpfungsfehlern und/oder potenziellen Knotenfehlern, die innerhalb des Baums inkludiert sind, zu generieren.
  10. Verfahren nach Anspruch 1, ferner umfassend Verwenden angepasster Richtlinien, um den Baum anzufordern und die alternativen Pfade zu generieren, wobei die angepassten Richtlinien verwendet werden, um Kosten beim Transfer der Daten über die alternativen Pfade zu bestimmen.
  11. Verfahren nach Anspruch 1, ferner umfassend Verwenden eines beschleunigten Caches, um die Daten von einem Eingangsknoten innerhalb des Baums zu einem oder mehr Eingangsknoten innerhalb des Baums zu transferieren, wobei eine Zahl der alternativen Pfade verwendet werden, wenn Verknüpfungen und/oder Knoten während des Transfers der Daten durch das Inhaltsverteilungsnetz fehlschlagen.
  12. System zum Anreichern eines Baums für ein Inhaltsverteilungsnetz, umfassend: einen Baum, der durch einen Umspannungsbaumalgorithmus für ein Inhaltsverteilungsnetz generiert wird, wobei der Baum eine Vielzahl von Knoten, eine Verknüpfung zwischen einer Zahl der Knoten und einen oder mehr geplante Pfade zum Bewegen von Daten durch das Inhaltsverteilungsnetz inkludiert, und wobei das System angepasst ist, das Verfahren nach einem beliebigen von Ansprüchen 1–11 durchzuführen.
DE60302027T 2002-10-31 2003-08-22 Angereicherter Baum für ein inhaltverteilendes Netz Expired - Lifetime DE60302027T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US285271 2002-10-31
US10/285,271 US20050188108A1 (en) 2002-10-31 2002-10-31 Enriched tree for a content distribution network

Publications (2)

Publication Number Publication Date
DE60302027D1 DE60302027D1 (de) 2005-12-01
DE60302027T2 true DE60302027T2 (de) 2006-07-13

Family

ID=32093556

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60302027T Expired - Lifetime DE60302027T2 (de) 2002-10-31 2003-08-22 Angereicherter Baum für ein inhaltverteilendes Netz

Country Status (3)

Country Link
US (1) US20050188108A1 (de)
EP (1) EP1416685B1 (de)
DE (1) DE60302027T2 (de)

Families Citing this family (23)

* 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
US7373394B1 (en) * 2003-06-30 2008-05-13 Cisco Technology, Inc. Method and apparatus for multicast cloud with integrated multicast and unicast channel routing in a content distribution network
US8245269B2 (en) * 2004-06-25 2012-08-14 Arris Solutions, Inc. System and method for delivering video programs to a video distribution center
US20060206586A1 (en) * 2005-03-09 2006-09-14 Yibei Ling Method, apparatus and system for a location-based uniform resource locator
US8218445B2 (en) * 2006-06-02 2012-07-10 Ciena Corporation Smart ethernet edge networking system
US7693072B2 (en) * 2006-07-13 2010-04-06 At&T Intellectual Property I, L.P. Method and apparatus for configuring a network topology with alternative communication paths
US7873988B1 (en) 2006-09-06 2011-01-18 Qurio Holdings, Inc. System and method for rights propagation and license management in conjunction with distribution of digital content in a social network
US7992171B2 (en) 2006-09-06 2011-08-02 Qurio Holdings, Inc. System and method for controlled viral distribution of digital content in a social network
US7925592B1 (en) 2006-09-27 2011-04-12 Qurio Holdings, Inc. System and method of using a proxy server to manage lazy content distribution in a social network
US7698380B1 (en) * 2006-12-14 2010-04-13 Qurio Holdings, Inc. System and method of optimizing social networks and user levels based on prior network interactions
US7730216B1 (en) 2006-12-14 2010-06-01 Qurio Holdings, Inc. System and method of sharing content among multiple social network nodes using an aggregation node
US20090198725A1 (en) * 2008-02-06 2009-08-06 Microsoft Corporation Visualizing tree structures with different edge lengths
WO2009138133A1 (en) * 2008-05-12 2009-11-19 Telefonaktiebolaget Lm Ericsson (Publ) Re-routing traffic in a communications network
JP5228951B2 (ja) * 2009-01-30 2013-07-03 沖電気工業株式会社 パケット中継システム及び無線ノード
JP5550198B2 (ja) 2009-12-10 2014-07-16 トムソン ライセンシング マルチキャスト・ネットワークにおけるsctpのためのプロトコル・ブースタ
US9304829B2 (en) * 2013-01-30 2016-04-05 Hewlett Packard Enterprise Development Lp Determining and ranking distributions of operations across execution environments
CN103617199B (zh) * 2013-11-13 2016-08-17 北京京东尚科信息技术有限公司 一种操作数据的方法和系统
JP6870347B2 (ja) * 2017-01-31 2021-05-12 オムロン株式会社 情報処理装置、情報処理プログラムおよび情報処理方法
US20190213304A1 (en) 2018-01-11 2019-07-11 Turner Broadcasting Systems, Inc. System to establish a network of nodes and participants for dynamic management of media content rights
US11252034B1 (en) * 2019-03-15 2022-02-15 Juniper Networks, Inc. Generating candidate links and candidate paths before selecting links for an optimized optical network plan
US11477116B2 (en) * 2020-08-20 2022-10-18 Nokia Solutions And Networks Oy Loop detection in ethernet packets
CN115695560A (zh) * 2021-07-23 2023-02-03 伊姆西Ip控股有限责任公司 内容分发方法、电子设备和计算机程序产品
CN115102957A (zh) * 2022-06-08 2022-09-23 中移(杭州)信息技术有限公司 基于混合管理系统的业务分发方法及相关设备

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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 富士通株式会社 通信ノード及び障害復旧方法並びに通信ネットワーク
US5737319A (en) * 1996-04-15 1998-04-07 Mci Corporation Dynamic network topology determination
US5920697A (en) * 1996-07-11 1999-07-06 Microsoft Corporation Method of automatic updating and use of routing information by programmable and manual routing information configuration based on least lost routing
US6108713A (en) * 1997-02-11 2000-08-22 Xaqti Corporation Media access control architectures and network management systems
EP0859491B1 (de) * 1997-02-18 2006-01-11 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
KR100514681B1 (ko) * 2000-09-22 2005-09-13 주식회사 케이티 비동기 전송 모드 통신망에서의 라우팅 방법 및 장치
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
US7168044B1 (en) * 2000-12-22 2007-01-23 Turin Networks Apparatus and method for automatic network connection provisioning
US6735548B1 (en) * 2001-04-10 2004-05-11 Cisco Technology, Inc. Method for automated network availability analysis
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
US7603481B2 (en) * 2002-10-31 2009-10-13 Novell, Inc. Dynamic routing through a content distribution network

Also Published As

Publication number Publication date
EP1416685A1 (de) 2004-05-06
DE60302027D1 (de) 2005-12-01
EP1416685B1 (de) 2005-10-26
US20050188108A1 (en) 2005-08-25

Similar Documents

Publication Publication Date Title
DE60302027T2 (de) Angereicherter Baum für ein inhaltverteilendes Netz
DE60125954T2 (de) Adressierung und routen von datenpaketen in einem computer-netzwerk mit hilfe von inhaltsbeschreibenden labeln
DE69832140T2 (de) Verkehrswegesucher in einem Kommunikationsnetz
US10580013B2 (en) Method and apparatus for autonomous services composition
DE69927929T2 (de) Verfahren und System zur Netzwerkverwaltung
DE602004005785T2 (de) Dynamische Leitweglenkung in einem inhaltbasierten verteilten Netzwerk
DE69839239T2 (de) Hypermedia-Dokumententwurf
DE102015013946A1 (de) Netzwerkbasiertes Service Function Chaining
DE60213154T2 (de) Verfahren und System zur Erzeugung geographisch-visueller Anzeigen von Breitband - Netzwerkdaten
DE10222687B4 (de) Modellauswahl für Entscheidungsunterstützungssysteme
DE60318471T2 (de) Extraktion von wissen mittels eines objektbasierten semantischen netzes
DE69533349T2 (de) Persistenzspezifizierungssystem und Verfahren für Hochleistungssubkarten auf Anfrage
DE69837180T2 (de) Korrelation von Netzwerkverwaltungs-Ereignissen in Umgebungen mit inaktiven Netzelementen
DE60207368T2 (de) Verfahren und Vorrichtung zur automatischen Erkennung von Netzelementen mit Datenübertragungsfähigkeiten
US20050240664A1 (en) System and method for configuring and managing a network device
DE69907482T2 (de) Vorrichtung und verfahren zur ausführung von interaktiven fernsehanwendungen auf set top boxen
US20160173340A1 (en) Methods, systems, and computer readable media for modeling packet technology services using a packet virtual network (pvn)
DE10243595A1 (de) System und Verfahren zum Konfigurieren eines Speicherbereichsnetzwerks (Storage Area Network, SAN)
DE202013012474U1 (de) Netzwerkvorrichtung
US9806957B2 (en) Link clouds and user/community-driven dynamic interlinking of resources
DE19681678B4 (de) Telekommunikationsnetz-Verwaltungssystem
DE69633373T2 (de) Verfahren und Gerät zur Programmierung eines Aufgabentickets in einem Dokumentenverarbeitungssystem
CN113673707A (zh) 一种应用机器学习的方法、装置、电子设备及存储介质
JPWO2019216082A1 (ja) システム構成導出装置およびシステム構成導出方法
US20230318922A1 (en) Model-based service placement

Legal Events

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

Ref document number: 1416685

Country of ref document: EP

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