-
HINTERGRUND
DER ERFINDUNG
-
1. Gebiet
der Erfindung
-
Die
vorliegende Erfindung betrifft eine Technologie zum Berechnen von
Mehrfachsendungsleitwegen (auch Multicast-Leitwege bzw. Multicast-Pfade genannt)
in einem Multicast-Kommunikationsnetz. Insbesondere
betrifft die vorliegende Erfindung eine Technologie zum Berechnen
effizienter Multicast-Pfade von einem Quellenknoten zu jedem der Zielknoten
zum Übertragen
von Multicast-Verkehr.
-
2. Beschreibung des Standes
der Technik
-
Multicast-Kommunikation
wird zum Liefern von Bewegtbildern und Sprache zu einer Vielzahl spezifischer
Benutzer in einem Computernetz Beachtung geschenkt. In dem Multicast-Kommunikationsnetz
ist ein Quellenknoten mit Zielknoten über einen Rendezvouspunkt-Knoten
verbunden, bei welchem ein Pfad in eine Vielzahl von Pfaden zu den Zielknoten
aufgeteilt wird. An dem Rendezvouspunkt-Knoten werden Mehrfachsende-Daten kopiert und über die
mehreren Pfade zu den Zielknoten übertragen.
-
Bezüglich der
Einzelverbindungskommunikation bzw. Unicast-Kommunikation, bei welcher ein Quellenknoten
mit jedem Zielknoten in einem Eins-zu-eins-Zusammenhang verbunden
ist, muss der Quellenknoten Kopien von Informationen vorbereiten,
deren Anzahl dieselbe ist wie die der Zielknoten. Demnach kann durch
die Verwendung von Multicast-Kommunikation ggf. der Umfang an über das Netz übertragener
Information erhöht
werden.
-
Bei
Multicast-Kommunikation wird ein Satz von Zielknoten eine Multicast-Gruppe
genannt und ein Satz von Multicast-Pfaden wird von dem Quellenknoten
zu jedem Knoten der Multicast-Gruppe
eingerichtet. Die Multicast-Pfade werden derart eingerichtet, dass
der Quellenknoten mit allen Zielknoten, die zur Multicast-Gruppe
gehören,
verbunden wird. Ein Benutzer, der Information zu erhalten wünscht, die
zu einer Multicast-Gruppe übertragen
wird, tritt der Multicast-Gruppe bei. Demnach ändern sich die Multicast-Pfade
in Übereinstimmung
mit dem Beitrittszustand von Benutzern.
-
Es
gibt mehrere Anwendungen, die Multicast-Kommunikation verwenden
wie z.B. Videokonferenzen, Online-Spiele und Anwendungen zum Liefern
von Bewegtbildern wie z.B. Film- und Fernsehprogrammen. Bezüglich der
Videokonferenzen und Online-Spiele
entsprechen Zielknoten einer Vielzahl von Benutzern und zusätzlich kann
jeder der Vielzahl von Benutzer ein Quellenknoten werden, wenn er
auf empfangene Daten antwortet. Bezüglich solcher Anwendungen ist
eine Technologie zu beachten zum Ausgleichen von Zeiten, zu welchen
jeder Benutzer auf Daten, die über
das Multicast-Netz übertragen werden,
antwortet, so dass die Gelegenheit des Antwortens für jeden
Benutzer gleich wird. Zum Ausgleichen bzw. Gleichmachen der Antwortzeiten
gibt es eine Technologie, bei der Multicast-Pfade von dem Quellenknoten
zu jedem Zielknoten derart entworfen werden, dass ähnliche
Verzögerungen
in jedem Multicast-Pfad auftreten.
-
Differenzen
zwischen Verzögerungen
entlang der Pfade zwischen dem Quellenknoten und jedem Zielknoten
werden Verzögerungsschwankung unter
Benutzern genannt. Jedoch werden derzeit hauptsächlich Algorithmen zum Berechnen
von Minimalverzögerungs-Pfaden
verwendet und es gibt kein Kommunikationsverfahren, das einen Algorithmus zum
Berechnen von Pfaden unter Berücksichtigung der
Verzögerungsschwankung
zwischen Benutzern einsetzt. Es gibt folgende konventionelle Beispiele von
Algorithmen zum Verringern von Verzögerungsschwankungen zwischen
Benutzern:
Dokument 1: G, Rouskas et al., "Multicast Routing With End-to-End Delay and
Delay Variation Constraints",
IEEE Journal on Selected Areas in Communication, Band 15, Nr. 3,
April 1997.
Dokument 2: Pi-Rong Sheu et al., "A Fast and Efficient
Heuristic Algorithm for the Delay and Delay Variation Bound Multicast
Tree Problem", IEEEICC, 2001.
-
Das
Dokument 1 ist das erste Dokument, das versucht, das oben erwähnte Problem
zu lösen.
Das Folgende ist das Verfahren zum Berechnen von Pfaden in Übereinstimmung
mit Dokument 1.
-
Erstens,
jeder minimal verzögerte
Pfad zwischen einem Quellenknoten und jedem Zielknoten wird berechnet
und eine Verzögerung
w eines Pfades, die die maximale Verzögerung zwischen den minimal
verzögerten
Pfaden ist, wird geprüft.
Annehmend, dass Δ eine
von einer Anwendung akzeptierbare Verzögerungsschwankung ist (dieser
Parameter bedeutet, dass die Differenz der maximalen Ende-zu-Ende-Verzögerung und
der minimalen Ende-zu-Ende-Verzögerung über die
Pfade von dem Quellenknoten zu allen Zielknoten innerhalb Δ gehalten
worden ist), werden Pfade, die die Bedingung di ≤ w – Δ erfüllen, akzeptiert. Bezüglich eines
Pfades, der nicht akzeptiert worden ist, wird nach einem Pfad gesucht,
der die Bedingung erfüllt
unter Verwendung eines Algorithmus zum Suchen nach einem k-t kürzesten
Pfad. Dann wird der gesuchte Pfad akzeptiert. In der Annahme, dass
die Anzahl der Zielknoten m ist und die Anzahl der Knoten im Netz
n ist, ist dann die Rechenzeitkomplexität dieses Verfahrens O (kmn3).
-
In
dem Dokument 2 wird ein Verfahren vorgeschlagen, bei welchem die
Zeitkomplexität
kleiner ist als die des Dokumentes 1, so dass Rechenzeit zum Erhalten
von Pfaden gekürzt
wird. Das Rechenverfahren ist folgendermaßen.
-
Die
Multicast-Pfade schließen
einen Eins-zu-eins-Unicast-Pfad zwischen dem Quellenknoten und einem
Rendezvouspunkt-Knoten ein (der auch Zentralknoten genannt werden
kann) und Einer-zu-mehreren-Pfade
zwischen dem Rendezvouspunkt-Knoten und jedem Zielknoten. In dem
Verfahren des Dokumentes 2 wird die minimale Verzögerung zwischen
jedem Zielknoten und jedem anderen Knoten im Netz zuerst berechnet.
Als nächstes
wird für
jeden Knoten im Netz eine zugeordnete Multicast-Verzögerungsschwankung
zwischen dem Knoten und jedem Zielknoten berechnet. Dann wird ein Knoten
mit der minimalen Mulitcastverzögerungsschwankung
als Rendezvouspunkt-Knoten ausgewählt. Letztendlich wird jeder
Zielknoten mit diesem Rendezvouspunkt-Knoten über den Minimalverzögerungspfad
verbunden, der Quellenknoten wird ebenfalls mit dem Rendezvouspunkt-Knoten über den
Minimalverzögerungspfad
verbunden. Die Zeitkomplexität
dieses Verfahrens ist O (n3) und eine schnellere Berechnung
als bei Dokument 1 kann realisiert werden.
-
Es
gibt die folgenden Probleme bei den oben erwähnten konventionellen Technologien.
-
Gemäß den oben
erwähnten
zwei Berechnungsverfahren wird die Zeitkomplexität groß. Da Anwendungen, die eine
Verringerung der Verzögerungsschwankung
erfordern, im Allgemeinen Echtzeitverarbeitung benötigen, ist
es wünschenswert, die
Zeitkomplexität
zu verringern. Zudem wird gefordert, die Übertragungsverzögerung für die Echtzeitanwendungen
zu verringern. Bezüglich
des Verfahrens des Dokumentes 2, bei welchem ein Rendezvouspunkt
bereitgestellt wird, wird betont, dass ein Realisieren eines Minimalverzögerungspfades
allgemein schwierig ist. Daher gibt es ein Problem, dass die Übertragungsverzögerung zu
jedem Zielknoten im Allgemeinen gemäß dem Verfahren des Dokumentes
2 groß wird.
-
Beim
Einrichten des Multicast-Kommunikationsnetzes vom Gesichtspunkt
des effizienten Einrichtens von Multicastpfaden zwischen einem Quellenknoten
und jedem Zielknoten ist ein Minimalbaumproblem bekannt, bei dem
die Gesamtkosten der Multicast-Pfade minimiert werden. Dieses Problem wird
Steiner-Baumproblem genannt. Das Steiner-Baumproblem ist als NP-Problem
bekannt, bei welchem es in unmöglich
wird, Pfade, die einen optimalen Minimal-Baum von dem Quellenknoten
zu jedem Zielknoten bilden in einer endlichen Rechenzeit zu berechnen,
wenn die Größe des Netzes
groß ist.
-
Trotzdem
zum Erhalten der Ideallösung
des Steinerproblems NP hart ist, wird ein Rechenverfahren zum heuristischen
Herleiten einer Näherungslösung als
KMB-Kommunikationsverfahren
vorgeschlagen (siehe Dokument 3: L. Kou, G. Markowsky und L. Berman, "A Fast Algorithm
for Steiner Tree", Acta
Informatica 15, 1981, Seiten 141 bis 145).
-
In
diesem Verfahren werden der Quellenknoten und die Zielknotengruppe
extrahiert und ein Graph, der durch Ränder gebildet wird, die jeweils
einem kürzesten
Pfad zwischen extrahierten Knoten entsprechen, wird zuerst konstruiert.
Von dem konstruierten Graphen wird ein Minimalbereichsbaum konstruiert.
Dann wird jeder Rand des Bereichsbaums ersetzt durch den kürzesten
Pfad des Eingangsgraphen, um einen Subgraphen zu konstruieren. Dann
wird ein Minimalbereichsbaum aus dem Subgraphen gefunden. Letztendlich
werden Multicastpfade (Steinerbaum) konstruiert durch Löschen unnötiger Ränder aus
dem Bereichsbaum.
-
Jedoch
berücksichtigt
gemäß dem Multicastpfadberechenverfahren
des Dokumentes 3 obwohl die Übertragungskosten
der gesamten Multicastpfade minimiert werden können, das Verfahren nicht die Kostenschwankung
(Verzögerungsschwankung)
von dem Quellenknoten zu jedem Zielknoten. Demnach wird die Kostenschwankung
sehr groß.
Daher gibt es beim Anwenden dieses Rechenverfahrens auf die Echtzeitanwendung,
die keine große
Verzögerungsschwankung
zulässt,
ein großes
Problem dahingehend, dass große
Verzögerungsschwankung
auftritt zwischen Multicastempfängern.
-
RESÜMEE DER
ERFINDUNG
-
Ein
Ziel der vorliegenden Erfindung ist es, die Rechenzeitkomplexität zum Berechnen
von Multicastpfaden zu verbessern und die Verzögerungsschwankung zwischen
Benutzern zu verringern. Ein anderes Ziel der vorliegenden Erfindung
ist es, Verzögerungsschwankung
zwischen Benutzern zu verringern während des Reduzierens der Gesamtkosten von
Multicastpfaden.
-
Das
Ziel kann durch ein Multicast-Kommunikationspfad-Rechenverfahren erreicht werden, wie es
in Patentanspruch 1 definiert ist.
-
Die
Erfindung stellt auch ein Multicast-Kommunikationspfad-Einstellverfahren
bereit, wie es in Anspruch 3 definiert ist; ein Gerät, wie es
in Anspruch 5 definiert ist; und ein Programm und eine Medium, wie
sie in Anspruch 10 bzw. 12 definiert sind.
-
Gemäß der vorliegenden
Erfindung kann die Verzögerungsschwankung
zwischen Benutzern verringert werden mit einer Rechenzeitkomplexität, die niedriger
ist als die der konventionellen Technologie.
-
Bei
dem Multicast-Kommunikationspfad-Rechenverfahren kann der Minimalverzögerungspfad, auf
dem die Kandidatenknoten existieren, einer sein mit einer maximalen
Verzögerung
unter den Minimalverzögerungspfaden
von dem Quellenknoten zu jedem Zielknoten.
-
KURZBESCHREIBUNG
DER ZEICHNUNGEN
-
Andere
Ziele, Merkmale und Vorteile der vorliegenden Erfindung werden ersichtlicher
aus der folgenden detaillierten Beschreibung wenn gelesen im Zusammenhang
mit den beiliegenden Zeichnungen, in welchen zeigt:
-
1 eine
Figur zum Erläutern
des Entwurfs einer Ausführungsform
der Erfindung;
-
2 ein
Blockdiagramm einer Multicast-Kommunikationspfadberechnungseinrichtung nach
der Erfindung;
-
3 ein
Konfigurationsbeispiel eines Pfadberechnungsmoduls 121 der
Ausführungsform;
-
4 eine
Konfiguration einer Multicast-Kommunikationspfad-Einstelleinrichtung
gemäß der Ausführungsform;
-
5 ein
Ablaufdiagramm zum Zeigen von Prozessen für das Berechnen von Pfaden
bzw. Leitwegen in der Multicast-Kommunikationspfad-Recheneinrichtung
nach der Ausführungsform;
-
6 ein
Beispiel eines Multicastnetzes nach der Ausführungsform;
-
7 Minimalverzögerungspfade
von einem Quellenknoten zu jedem Zielknoten;
-
8 Pfade,
die Multicast-Kommunikationspfad-Einstelleinrichtung 20,
Knoten A, C, E, G, I und einen Zielknoten 3 verbinden;
-
9 einen
Minimalverzögerungspfad
von der Multicast-Kommunikationspfad-Einstelleinrichtung 20 zu
dem Knoten E und Minimalverzögerungspfade
von dem Knoten E zu jedem Zielknoten 1–5.
-
DETAILLIERTE BESCHREIBUNG
DER BEVORZUGTEN AUSFÜHRUNGSFORM
-
Im
Folgenden wird eine Ausführungsform der
vorliegenden Erfindung beschrieben.
-
Als
erstes wird ein Multicast-Kommunikationspfadeinrichtverfahren
gemäß der Ausführungsform
unter Bezugnahme auf die Figuren beschrieben.
-
1 ist
eine Figur zum Erläutern
des Entwurfs der Ausführungsform.
Ein Mulicastnetz der Ausführungsform
schließt
eine Vielzahl von Knoten ein, von denen jeder eine Multicastübertragungseinrichtung
einschließt.
Eine Multicast-Kommunikationspfad-Recheneinrichtung
wird in einem Knoten bereitgestellt und eine Multicast-Kommunikationspfad-Einstelleinrichtung
wird in einem Knoten bereitgestellt. Die Multicast-Kommunikationspfad-Recheneinrichtung
kann getrennt sein von den Knoten, die das Multicastnetz bilden.
Zudem können
die Multicast-Kommunikationspfad-Recheneinrichtung und die Multicast-Kommunikationspfad-Einstelleinrichtung
in einem Knoten enthalten sein.
-
(1)
Eine Multicastübertragungseinrichtung (Knoten)
in dem Netz sammelt Netzmessinformation wie z.B. die Verzögerung von
einer Datenübertragung
auf jeder Verbindung. (2) Dann sendet jede Multicastübertragungseinrichtung
die Netzmessinformation an die Multicast-Kommunikationspfad-Recheneinrichtung
und die Multicast-Kommunikationspfad-Einstelleinrichtung. (3) Wenn
Bedarf für
das Einstellen von Multicastpfaden für das Übertragen von Multicastdaten
aufkommt, führen
die Multicast-Kommunikationspfad-Einstelleinrichtung
und die Multicast-Kommunikationspfad-Recheneinrichtung
das Einstellen der Multicastpfade durch Ausführen später erwähnter Prozesse aus. In der
Ausführungsform
hat die Multicastübertragungseinrichtung
die Fähigkeit des
Sammelns von Netzmessinformation. Die Multicast-Kommunikationspfad-Recheneinrichtung
hat eine Fähigkeit
des Berechnens der Pfade bzw. der Leitwege. Die Multicast-Kommunikationspfad-Einstelleinrichtung
hat eine Fähigkeit
des Einstellens von Multicastpfaden im Netz.
-
Wenn
die Multicast-Kommunikationspfad-Einstelleinrichtung und die Multicast-Kommunikationspfad-Recheneinrichtung
getrennte Einrichtungen sind, fordert die Multicast-Kommunikationspfad-Einstelleinrichtung
von der Multicast-Kommunikationspfad-Recheneinrichtung das Berechnen der Multicastpfade
an. (4) Wenn die Multicast-Kommunikationspfad-Einstelleinrichtung
und die Multicast-Kommunikationspfad-Recheneinrichtung die selbe
Einrichtung sind, weist die Multicast-Kommunikationspfad-Einstelleinrichtung
ihr Pfad-Rechenmodul an, die Pfade zu berechnen. (5) Dann berechnet das
Pfad-Rechenmodul der Multicast-Kommunikationspfad-Einstelleinrichtung
oder der Multicast-Kommunikationspfad-Recheneinrichtung die Multicastpfade
in Übereinstimmung
mit der gesammelten Information. (6) Das Rechenergebnis wird an
ein Pfadeinstellmodul der Multicast-Kommunikationspfad-Einstelleinrichtung
gesendet. (7) Dann stellt die Multicast-Kommunikationspfad-Einstelleinrichtung, die
das Rechenergebnis empfängt,
die Multicastpfade ein.
-
Mit
der Fähigkeit
des Sammelns der Netzmessinformation wird die Netzmessinformation
unter Verwendung eines Protokolls mit Funktionen zum Austausch von
Netzmessinformation zwischen benachbarten Knoten gesammelt, wie
z.B. OSPF-TE (Open Shortest Path First-Traffic Engineering) und IS-IS-TE
(Intermediate system-Intermediate system-Traffic Engineering) und ähnlichem.
-
Die
Multicast-Kommunikationspfad-Recheneinrichtung schließt eine
Funktion zum Empfangen von Netzmessinformation von einer Multicastübertragungseinrichtung
ein, eine Paketübertragungsfunktion
zum Senden des Rechenergebnisses, ein Programm zum Realisieren eines
Algorithmus, der zur Pfadberechnung verwendet wird, ein Aufzeichnungsmedium
zum Speichern der Netzmessinformation, des Pfad-Rechenprogramms
und des Pfad-Rechenergebnisses, und eine Pfadberechnungsfunktion zum
Umsetzen der Pfadberechnung. Die Multicast-Kommunikationspfad-Recheneinrichtung
kann gegebenenfalls die Netzmessinformation von der Multicast-Kommunikationspfad-Recheneinrichtung empfangen,
statt die Netzmessinformation selbst zu sammeln.
-
Das
Pfad-Rechenprogramm, das in dieser Ausführungsform verwendet wird,
hat eine Funktion zum Berechnen von Minimalverzögerungspfaden von einem Quellenknoten
zu jedem Zielknoten, eine Funktion zum Berechnen von Verzögerungen
von einem Kandidatenknoten zu jedem Zielknoten, in welchem der Kandidatenknoten
auf einem Pfad existiert mit der maximalen Verzögerung unter den Minimalverzögerungspfaden
und eine Funktion zum Auswählen
eines Rendezvouspunkt-Knotens aus den Kandidatenknoten.
-
Gemäß den oben
beschriebenen Funktionen kann die Zeitkomplexität zum Auswählen eines Kandidatenknotens
als Rendezvouspunkt-Knoten verringert werden verglichen mit dem
Verfahren nach Dokument 2 in Übereinstimmung
mit dieser Ausführungsform.
Zudem kann in Übereinstimmung
mit der vorliegenden Ausführungsform
durch Auswählen
des Rendezvouspunkt-Knotens in Übereinstimmung
mit einem Auswahlkriterium, das wirksam ist für das Verringern von Verzögerungsschwankung,
die Verzögerungsschwankung
verringert werden verglichen mit einem konventionellen Multicastpfad-Rechenverfahren,
bei dem Minimalverzögerungspfade
als Multicastpfade ausgewählt
werden.
-
Zudem
können
gemäß der vorliegenden
Erfindung, da die vorliegende Fähigkeit
des Sammelns noch Netzmessinformation verwendet werden kann, die
Multicastpfade leicht berechnet werden. Es ist leicht für die Multicast-Kommunikationspfad-Recheneinrichtung,
die Netzmessinformation zu erhalten und es gibt einen Vorteil dahingehend,
dass es nicht erforderlich ist, ein neues Protokoll zu entwickeln zum
Sammeln der Netzmessinformation.
-
Im
Folgenden werden die Multicast-Kommunikationspfad-Recheneinrichtung
und die Multicast-Kommunikationspfad-Einstelleinrichtung beschrieben.
-
2 ist
ein Blockdiagramm der Multicast-Kommunikationspfad-Recheneinrichtung.
In 2 zeigt das Symbol 10 die Multicast-Kommunikationspfad-Recheneinrichtung.
Die Multicast-Kommunikationspfad-Recheneinrichtung 10 schließt einen
Informationsmanagementteil 11 ein, einen Pfad-Rechenteil 12 und
einen Paketverarbeitungsteil 13. Der Informationsmanagementteil 11 dient
dem Managen von Netzmessinformation in Bezug auf Verzögerung oder
Kosten, die in jedem Knoten und jeder Verbindung zwischen Knoten
im Netz auftreten. Der Pfad-Rechenteil 12 dient dem Berechnen
von Multicastpfaden bzw. Mehrfachrufleitwegen. Der Paketprozessteil 13 dient
dem Verarbeiten von zu sendenden oder zu empfangenden Pakten. Zudem
empfängt
der Paketverarbeitungsteil 13 die Netzmessinformation und
eine Pfadberechnungsanfrage und sendet ein Rechenergebnis an die
Multicast-Kommunikationspfad-Einstelleinrichtung.
-
Der
Informationsmanagementteil 11 schließt ein Routingprotokollmodul
bzw. Leitwegprotokollmodul 111 ein und einen Messinformationsspeicherteil 112.
Das Routingprotokollmodul 111 verarbeitet ein Informationsaustauschprotokoll,
das verwendet wird in einem Routingprotokoll wie z.B. OSPF und IS-IS, die
verwendet werden zum Sammeln von Information in Bezug auf den Verkehrszustand
und ähnliches. Der
Messinformationsspeicherteil 112 organisiert Netzmessinformation,
die durch das Protokoll erhalten wird wie z.B. Topologie und Verzögerung und Kosten.
Zudem schließt
der Pfad-Rechenteil 12 ein Pfad-Rechenmodul 121 ein
zum Berechnen von Multicastpfaden und einen Rechenergebnisspeicherteil 122 zum
Speichern von Rechenergebnissen.
-
Der
Paketverarbeitungsteil 13 schließt ein Paketverarbeitungsmodul 131 ein,
einen Paketübertragungstabellenspeicherteil 132 und
eine Netzschnittstelle 133. Das Paketverarbeitungsmodul 131 bestimmt
den Typ eines ankommenden Paketes, sendet das Paket zu einem anderen
Knoten oder sendet das Paket zu dem Informationsmanagementteil 11.
Der Paketübertragungstabellenspeicherteil 132 speichert Übertragungsziele.
-
3 zeigt
ein Beispiel einer Konfiguration des Pfadberechnungsmoduls 121 dieser
Ausführungsform.
Funktionen jedes Teils des Pfadberechnungsmoduls 121 können durch
Hardware wie z.B. eine CPU und einen Speicher, und durch Software realisiert
werden.
-
Wie
in 3 gezeigt schließt das Pfadberechnungsmodul 121 einen
Eingabeteil 141 ein, einen Minimalverzögerungspfadberechnungsteil 142, einen
Kandidatenknotenauswahlteil 143, einen Differenzberechnungsteil 144,
einen Rendezvouspunkt-Knotenauswahlteil 145 und
einen Ausgabeteil 146. Der Eingabeteil 141 empfängt Topologieinformation
und Verzögerungsinformation
von dem Netz. Der Minimalverzögerungspfadberechnungsteil 142 berechnet
Minimalverzögerungspfade
von einem Quellenknoten zu jedem Zielknoten unter Verwendung der
Topologieinformation und der Verzögerungsinformation. Der Kandidatenknotenauswahlteil 143 wählt Knoten
als Kandidatenknoten der Rendezvouspunkt-Knotens aus, die sich auf
einem Minimalverzögerungspfad
unter den vielen Minimalverzögerungspfaden
von dem Quellenknoten zu jedem Zielknoten befindet. Der Differenzberechnungsteil 144 berechnet
für jeden
der Kandidatenknoten Minimalverzögerungspfade
von dem Kandidatenknoten zu jedem Zielknoten und berechnet für jeden
der Kandidatenknoten eine Differenz zwischen dem Maximalwert und
dem Minimalwert zwischen den Verzögerungen der berechneten Minimalverzögerungspfade. Der
Rendezvouspunkt- Knotenauswahlteil 145 wählt einen
Kandidatenknoten als Rendezvouspunkt-Knoten aus, von welchem die
berechnete Differenz die geringste ist. Der Ausgabeteil 146 gibt
als Multicastpfade einen Minimalverzögerungspfad von dem Quellenknoten
zu dem Rendezvouspunkt-Knoten aus und jeden Minimalverzögerungspfad
von dem Rendezvouspunkt-Knoten zu jedem Zielknoten.
-
Die
Multicast-Kommunikationspfad-Recheneinrichtung 10 kann
gegebenenfalls als ein Hauptcomputer konfiguriert sein, der getrennt
von dem Multicastnetz vorgesehen ist, und eine CPU einschließt, einen
Speicher, ein Festplattenlaufwerk und ähnliches. In diesem Fall wird
eine Information, die erforderlich ist für die Pfadberechnung, von außen bereitgestellt
und die Pfadberechnung wird durch das Verwenden eines Programms
für Multicast-Kommunikationspfadberechnung
ausgeführt.
-
4 zeigt
ein Konfiguration der Multicast-Kommunikationspfad-Einstelleinrichtung.
In dieser Figur zeigt das Bezugszeichen 20 die Multicast-Kommunikationspfad-Einstelleinrichtung.
Die Multicast-Kommunikationspfad-Einstelleinrichtung 20 schließt einen
Informationsmanagementteil 21 ein, einen Messteil 22,
einen Pfad-Einstellprotokoll-Verarbeitungsteil 23 und einen
Paketverarbeitungsteil 24. Der Informationsmanagementteil 21 organisiert
Information in Bezug auf Verzögerung
oder Kosten, die in Knoten auf kommen oder in Verbindungen im Netz.
Der Mess-Teil 22 misst Verzögerungszeiten oder Kosten,
die in ihm aufkommen. Der Pfadeinstellprotokoll-Verarbeitungsteil 23 führt Pfadeinstellung
aus, wenn beispielsweise neue Datenströme aufkommen. Der Paketverarbeitungsteil 24 verarbeitet
ankommende Pakete.
-
Die
Grundstruktur des Informationsmanagementteils ist die selbe wie
die des Informationsmanagementteils 11 in der Multicast-Kommunikationsrecheneinrichtung 10 und
schließt
ein Routingprotokollmodul 211 ein und einen Messinformationsspeicherteil 212.
Der Messteil 22 schließt
ein Messmodul zum Messen von Zuständen der Netzschnittstelle 243 und Information
wie z.B. Verzögerung
jedes Knotens im Netz ein. Der Paketverarbeitungsteil 24 schließt ein Paketverarbeitungsmodul 241 ein,
einen Paketübertragungstabellenspeicherteil 242 zum
Speichern eines Übertragungsziels
von Paketen und Netzschnittstellen 243. Das Paketverarbeitungsmodul 241 bestimmt
Typen ankommender Pakete, leitet die Pakete weiter und bestimmt,
ob ein neuer Pfad einzurichten ist. Zudem schließt die Multicast-Kommunikationspfad-Einstelleinrichtung 20 einen
Pfad-Rechenteil 25 ein.
Der Pfad-Rechenteil 25 schließt ein Rechenprozessmodul 251 zum
Berechnen von Multicastpfaden ein und einen Rechenergebnisspeicherteil 252 zum
Speichern des Rechenergebnisses. In dem Fall, indem die Multicast-Kommunikationspfad-Einstelleinrichtung 20 eine
Berechnung von Multicastpfaden ausführt, führt der Pfadberechnungsteil 25 Prozesse
aus, die die selben sind wie jene der Multicast-Kommunikationspfad-Recheneinrichtung 10.
Wenn die Multicast-Kommunikationspfad-Einstelleinrichtung 20 keine
Berechnung der Multicastpfade ausführt, kann die Multicast-Kommunikationspfad-Einstelleinrichtung 20 nicht
den Pfad-Rechenteil 25 einschließen.
-
Der
Pfadeinstellprotokoll-Verarbeitungsteil 23 empfängt Pfadeinstellanfragen
von dem Paketverarbeitungsteil 24 und sendet die Anfragen
an die Multicast-Kommunikationspfad-Recheneinrichtung 10. Zudem
hat der Pfadeinstellprotokoll-Verarbeitungsteil 23 eine
Funktion des Einstellens von Multicast-Pfaden im Netz in Übereinstimmung
mit dem von der Multicast-Kommunikationspfad-Recheneinrichtung 10 erhaltenen
Rechenergebnis.
-
Wenn
die Multicast-Kommunikationspfad-Recheneinrichtung 10 und
die Multicast-Kommunikationspfad-Einstelleinrichtung 20 im
selben Knoten eingeschlossen sind, schließt der Knoten jeden Prozessteil
der Multicast-Kommunikationspfad- Recheneinrichtung 10 und
der Multicast-Kommunikationspfad-Einstelleinrichtung 20 ein.
-
Als
nächstes
wird der Betrieb der Multicast-Kommunikationspfad-Recheneinrichtung 10, der
Multicast-Kommunikationspfad-Einstelleinrichtung 20 und
der Multicast-Übertragungseinrichtung beschrieben.
-
Die
Knoten im Netz tauschen mit Nachbarnknoten Netzmessinformation einschließlich Topologie
und Verzögerung
des Netzes aus. Jeder Knoten speichert die durch die Austauschoperation
erhaltene Netzmessinformation.
-
Die
Netzmessinformation schließt
nicht nur Information ein, die durch den eigenen Knoten gemessen
worden ist, sondern schließt
auch Information ein, die von anderen Knoten gemessen worden ist.
In Übereinstimmung
mit der Austauschoperation kann jeder Knoten Netzmessinformation
von allen Knoten des Netzes erhalten.
-
Ein
Knoten mit der Fähigkeit
der Multicast-Kommunikationspfad-Einstelleinrichtung 20 sendet
eine Pfadberechnungsanfrage an einen Knoten mit der Fähigkeit
der Multicast-Kommunikationspfad-Recheneinrichtung 10.
Der Knoten mit der Fähigkeit
der Multicast-Kommunikationspfad-Recheneinrichtung 10 berechnet
die Multicastpfade unter Verwendung der durch den Informationsmanagementteil 11 gemanagten
Netzmessinformation und von Information von Zielknoten, die von
dem Knoten, der die Pfadberechnungsanfrage sendet, gesendet worden
sind.
-
5 ist
ein Ablaufdiagramm zum Zeigen von Prozessen zum Berechnen von Multicast-Pfaden in
der Multicast-Kommunikationspfad-Recheneinrichtung 10.
-
Zuerst
empfängt
die Multicast-Kommunikationspfad-Recheneinrichtung 10 die
Pfadberechnungsanfrage von der Multicast-Kommunikationspfad-Einstelleinrichtung 20.
Zu diesem Zeitpunkt empfängt
die Multicast-Kommunikationspfad-Recheneinrichtung 10 auch
Information des Quellenknotens und der Zielknoten von der Multicast-Kommunikationspfad-Einstelleinrichtung 20.
Dann liest der Pfad-Rechenteil 20 in der Multicast-Kommunikationspfad-Recheneinrichtung 10 von
dem Messinformationsspeicherteil 112 in dem Informationsmanagementteil 11 die
Netzmessinformation, die ein Topologie- und Verkehrsstatus des Netzes
angibt im Schritt S1. Dann berechnet das Pfadberechnungsmodul 121 Minimalverzögerungspfade
zwischen dem Quellenknoten zu jedem Zielknoten unter Verwendung
der Netzmessinformation im Schritt S2. Insbesondere berechnet das
Pfadberechnungsmodul 121 jeden Minimalverzögerungspfad
zwischen dem Quellenknoten, der die Pfadberechnungsanfrage sendet,
und jedem Zielknoten. Zum Berechnen des Minimalverzögerungspfades
wird beispielsweise ein Dijkstra-Algorithmus verwendet.
-
Als
nächstes
wählt im
Schritt S3 das Pfadberechnungsmodul der Multicast-Kommunikationspfad-Recheneinrichtung 10 einen
Minimalverzögerungspfad
aus, der die maximale Verzögerung
unter den Minimalverzögerungspfaden
hat, die im Schritt S2 berechnet worden sind. Dann berechnet das Pfadberechnungsmodul 121 für jeden
Knoten (der als Kandidatenknoten bezeichnet wird) auf dem ausgewählten Minimalverzögerungspfad
Datenübertragungsverzögerungen
von dem Knoten zu jedem Zielknoten im Schritt S4. Dann berechnet
das Pfadberechnungsmodul 121 für jeden Kandidatenknoten eine
Differenz zwischen der maximalen Verzögerung und der minimalen Verzögerung zwischen
den im Schritt S4 berechneten Verzögerungen und wählt einen
Kandidatenknoten, durch welchen die geringste Differenz berechnet
worden ist, als den Rendezvouspunkt-Knoten im Schritt S5 aus. Insbesondere
werden im Schritt S5 die Differenz δ zwischen der maximalen Verzögerung und
der minimalen Verzögerung zum Übertragen
von Daten von einem Kandidatenknoten zu jedem Zielknoten für jeden
Kandidatenknoten berechnet und der Rendezvouspunkt-Knoten wird als ein
Kandidatenknoten bestimmt, der die Minimaldifferenz δ hat. Dann
führt das
Pfadberechnungsmodul 121 das Rechenergebnis zu dem Knoten
zurück,
der die Pfadberechnungsanfrage gesendet hat, über den Paketverarbeitungsteil 12 im
Schritt S6, wobei das Rechenergebnis einen Pfad von dem Quellenknoten
zu dem Rendezvouspunkt-Knoten und Pfade von dem Rendezvouspunkt-Knoten zu jedem Zielknoten
angibt.
-
In
dieser Ausführungsform
wird zum Sammeln der Netzmessinformation wie z.B. Verzögerung durch
die Multicast-Übertragungseinrichtung
ein Kommunikationsprotokoll OSPF-TE verwendet. In dem OSPF-TE ist
Verkehrsinformation wie Verzögerung
in Topologieinformationsaustauschinformation des OSPF enthalten,
welches ein Unicast- bzw. ein Einzelverbindungsrouting- bzw. Leitwegfindeprotokoll
ist.
-
Zudem
wird gemäß dieser
Ausführungsform ein
Multicast-MPLS-Protokoll
(MPLS = Multi Protocol Label Switching) verwendet als ein Protokoll
zum Einstellen von Multicast-Pfaden. Das Multicast-MPLS-Protokoll
ist eine Erweiterung von RSVP-TE (Resource Reservation Protocol-Traffic
Engineering) zum Realisieren expliziter Pfadfestlegung. Das Multicast-MPLS
ist eine Technologie, bei welcher ein Informationselement zu RSVP-TE
hinzugefügt
wird, welches bei normalem MPLS verwendet wird, zu einer Meldung
zum Erzeugen von LSP (Label Switched Path) zum Speichern von Baumtopologie,
so dass Punkt-zu-Mehrpunkt-LSP
kann in Übereinstimmung
mit der Topologieinformation eingerichtet werden.
-
Im
Folgenden wird ein Prozessbeispiel zum Berechnen von Multicastpfaden
in Übereinstimmung mit
dieser Ausführungsform
beschrieben.
-
6 zeigt
ein Multicastnetz. In dieser Figur zeigen Symbole 1–5 Zielknoten.
A–I geben
Knoten an, die zwischen dem Quellenknoten und den Zielknoten existieren
und jeder Knoten schließt
die Fähigkeit
des Multicast-Übertragungseinrichtens
ein. Ein Multicastnetz wird durch die Multicast-Kommunikationspfad-Einstelleinrichtung 20 (Quellenknoten), die
Knoten A–I
und die Zielknoten 1–5 gebildet,
die durch Kommunikationsleitungen verbunden sind. Jede an jeder
Verbindung gezeigte Nummer gibt eine Verzögerung (Kosten) der Verbindung
an.
-
Die
Multicast-Kommunikationspfad-Einstelleinrichtung 20, die
ein Quellenknoten ist, überträgt Daten
zu den Zielknoten 1–5 in Übereinstimmung
mit dem von der Multicast-Kommunikationspfad-Recheneinrichtung 10 berechneten
Ergebnis. Die Netzmessinformation wie z.B. Verzögerung, die in jeder Verbindung
auftritt, wird durch jeden Knoten unter Verwendung des oben erwähnten OSPF-TE
gesammelt. Die Netzmessinformation wird im Voraus zu der Multicast-Kommunikationspfad-Recheneinrichtung gesendet.
-
7 zeigt
Minimalverzögerungspfade
von dem Quellenknoten zu jedem Zielknoten.
-
Wenn
die Multicast-Kommunikationspfad-Recheneinrichtung 10 eine
Pfadberechnungsaufforderung von der Multicast-Kommunikationspfad-Einstelleinrichtung 20 empfängt, berechnet
die Multicast-Kommunikationspfad-Recheneinrichtung 10 die
Minimalverzögerungspfade
von dem Quellenknoten (Multicast-Kommunikationspfad-Einstelleinrichtung 20)
zu jedem Zielknoten als erstes. Zum Berechnen der Minimalverzögerungspfade
verwendet die Multicast-Kommunikationspfad-Recheneinrichtung 10 einen
Dijkstra-Algorithmus.
Ein Dijkstra-Algorithmus wird im Allgemeinen zum Berechnen eines Minimalverzögerungspfades
verwendet. Die Minimalverzögerungspfade,
die durch die Multicast-Kommunikationspfad-Recheneinrichtung 10 berechnet worden
sind, sind die Multicast-Kommunikationspfad-Recheneinrichtung 20 → der Knoten
A → der Knoten
C → der
Zielknoten 1, die Multicast-Kommunikationspfad-Einstelleinrichtung 20 → der Knoten
A → der
Knoten C → der
Knoten E -> der Knoten
G → der Zielknoten 2,
die Multicast-Kommunikationspfad-Einstelleinrichtung 20 → der Knoten
A → der
Knoten C → der
Knoten E → der
Knoten G → der
Knoten I → der Zielknoten 3, die
Multicast-Kommunikationspfad-Einstelleinrichtung 20 → der Knoten
A → der
Knoten C → der
Knoten D → der
Knoten F → der
Zielknoten 4, und die Multicast-Kommunikationspfad-Einstelleinrichtung 20 → der Knoten
A → der
Knoten C → der
Knoten D → der
Zielknoten 5.
-
Die
Verzögerung
für die
Verbindung Quellenknoten → Zielknoten 1 ist 4,
die Verzögerung
für Quellenknoten → Zielknoten 2 ist 7,
die Verzögerung
für Quellenknoten → Zielknoten 3 ist 9,
die Verbindung für
Quellenknoten → Zielknoten 4 ist 6 und
die Verzögerung
für die
Quellenknoten → Zielknoten 5 ist 5. Daher
ist der Minimalverzögerungspfad
mit der maximalen Verzögerung
der Minimalverzögerungspfad von
dem Quellenknoten zu dem Zielknoten 3.
-
Als
nächstes
wählt die
Multicast-Kommunikationspfad-Recheneinrichtung 10 einen
Rendezvouspunkt-Knoten unter den Knoten A, C, E, G und I auf dem
Minimalverzögerungspfad
von dem Quellenknoten zu dem Zielknoten 3 mit der maximalen
Verzögerung
unter den Minimalverzögerungspfaden.
-
8 zeigt
den Quellenknoten und die Knoten A, C, E, G, I und den Zielknoten 3 verbindenden Minimalverzögerungspfad.
Im Folgenden wird der Minimalverzögerungspfad als Rendezvouspunkt-Kandidatenpfad
bezeichnet. Zudem werden die Knoten A, C, E, G und I Kandidatenknoten
genannt.
-
Als
nächstes
berechnet die Multicast-Kommunikationspfad-Recheneinrichtung 10 für jeden Kandidatenknoten
Minimalverzögerungspfade
von dem Kandidatenknoten zu jedem Zielknoten 1–5.
Für jeden
Kandidatenknoten n (n: n gibt eine Zahl eines Kandidatenknotens
an) unter der Annahme, dass die maximale Verzögerung zwischen den Verzögerungen
der berechneten Minimalverzögerungspfade durch
Dmax (n) dargestellt wird und die Minimalverzögerung dargestellt wird durch
Dn (n), berechnet die Multicast-Kommunikationspfad-Recheneinrichtung 10 Dmax
(A) und Dmin (A), Dmax (C) und Dmin (C), Dmax (E) und Dmin (E),
Dmax (G) und Dmin (G), und Dmax (I) und Dmin (I).
-
Zum
Verringern der Verzögerungsschwankung
zwischen Benutzern ist es erforderlich, dass eine Differenz zwischen
Dmax und Dmin gering ist. Daher wählt die Multicast-Kommunikationspfad-Recheneinrichtung 10 einen
Kandidatenknoten als Rendezvouspunkt-Knoten aus, durch welchen die
Differenz zwischen Dmax (n) und Dmin (n) am geringsten ist. Spezieller,
die Multicast-Kommunikationspfad-Recheneinrichtung 10 berechnet
jede Differenz zwischen Dmax (A) und Dmin (A), zwischen Dmax (C)
und Dmin (C), zwischen Dmax (E) und Dmin (E), zwischen Dmax (G)
und Dmin (G) und zwischen Dmax (I) und Dmin (I). Dann wählt die
Multicast-Kommunikationspfad-Recheneinrichtung 10 einen
Kandidatenknoten, durch den die Differenz am geringsten ist, als
Rendezvouspunkt-Knoten aus. Da der Kandidatenknoten, durch welchen
die Differenz zwischen Dmax (n) und Dmin (n) minimal ist, der Knoten
E ist, wählt
als ein Ergebnis die Multicast-Kommunikationspfad-Recheneinrichtung 10 den
Knoten E als Rendezvouspunkt-Knoten aus. Die Verzögerung vom
Knoten E zum Zielknoten 1 ist 3, die Verzögerung vom
Knoten E zum Zielknoten 2 ist 2, die Verzögerung vom
Knoten E zum Zielknoten 3 ist 4 und die Verzögerung vom
Knoten E zum Zielknoten 4 ist 3 und die Verzögerung vom
Knoten E zum Zielknoten 5 ist 4. Daher liegt die
Schwankung der Verzögerung vom
Rendezvouspunkt-Knoten zu jedem Zielknoten innerhalb eines Bereichs
von 2–4.
-
Die
Multicast-Kommunikationspfad-Recheneinrichtung 10 bereitet
als Multicast-Kommunikationspfade einen Minimalverzögerungspfad
von der Multicast-Kommunikationspfad-Einstelleinrichtung 20 zum
Knoten E vor und Minimalverzögerungspfade von
dem Knoten E zu jedem Zielknoten 1–5. Dann sendet die
Multicast-Kommunikationspfad-Recheneinrichtung 10 das
Rechenergebnis an die Multicast-Kommunikationspfad-Einstelleinrichtung 20. 9 zeigt
den Minimalverzögerungspfad
von der Multicast-Kommunikationspfad- Einstelleinrichtung 20 zu dem
Knoten E und die Minimalverzögerungspfade
von dem Knoten E zu jedem Zielknoten 1–5. Daten werden von
der Multicast-Kommunikationspfad-Einstelleinrichtung 20 zu
jedem Zielknoten über den
Knoten E übertragen,
der der Rendezvouspunkt-Knoten ist. Als nächstes schließt die Multicast-Kommunikationspfad-Einstelleinrichtung 20,
die Information in Bezug auf die Multicast-Kommunikationspfade empfängt, die
Information der Multicast-Kommunikationspfade
in einer Übertragungspfad-Einstellsteuermeldung
ein und richtet die Multicast-Pfade unter Verwendung von Multicast-MPLS ein,
was ein Protokoll ist zum Einstellen von Pfaden und ein erweitertes
Protokoll von RSVP-TE. Dann überträgt die Multicast-Kommunikationspfad-Einstelleinrichtung 20 Daten über die
Multicastpfade nach dem Einrichten der Multicastpfade.
-
Die
Zeitkomplexität
O des Dijkstra-Algorithmus ist im Allgemeinen n2,
wenn die Anzahl der Knoten n ist. Da die Multicastpfade durch Anwenden
von Dijkstra-Algorithmen zu jedem der n Knoten in Übereinstimmung
mit konventioneller Technologie berechnet werden, ist die Zeitkomplexität O = n3 in Übereinstimmung
mit der konventionellen Technologie. Jedoch, gemäß der vorliegenden Erfindung,
da Dijkstra-Algorithmen angewendet werden auf p Knoten (P < n) eines Minimalverzögerungspfades
zwischen dem Quellenknoten und einem Zielknoten, ist die Zeitkomplexität O = pn2. Daher, verglichen mit der konventionellen
Technologie, kann die Zeitkomplexität verringert werden.
-
Jede
der Multicast-Kommunikationspfad-Recheneinrichtungen und der Multicast-Kommunikationspfad-Einstelleinrichtungen
schließt
ein Computersystem in sich ein. Die oben erwähnten Prozesse dieser Ausführungsform
können
durch Lesen eines Programms von einem computerlesbaren Medium und Ausführen des
Programms realisiert werden. Das computerlesbare Medium kann eine
Magnetscheibe sein, eine optisch-magnetische Scheibe, eine CD-ROM,
eine DVD-ROM, eine Halbleiterspeicher und ähnliches. Das Computerprogramm
kann zu einem Computer über eine
Kommunikationsleitung geliefert werden, und der Computer kann als
Multicast-Kommunikationspfad-Recheneinrichtung oder Multicast-Kommunikationspfad-Einstelleinrichtung funktionieren.
-
Wie
oben erwähnt
können
durch Annehmen eines Systems, das einen Knoten zum Berechnen von
Pfaden einschließt,
der den Pfad-Rechenalgorithmus unter Berücksichtigung der Verzögerungsschwankung
zwischen Benutzern ausführt,
Verzögerungen
zwischen Benutzern ausgeglichen bzw. angepasst oder entzerrt werden.
Demgemäß kann ein Dienst
bereitgestellt werden zum Zufriedenstellen der Fairness zwischen
Benutzern in Bezug auf Verzögerung,
was gemäß der konventionellen
Technologie schwierig war. Zudem kann gemäß der vorliegenden Erfindung
eine schnellere Berechnung verglichen mit einem konventionellen
Gerät erhalten
werden, das einen Dienst zum Zufriedenstellen der Fairness zwischen
Benutzern in Bezug auf Verzögerung bereitstellt.
Entsprechend kann die Pfadeinrichtungszeit verringert werden.