-
Die
vorliegende Erfindung betrifft ein Multicast-Übertragungsverfahren
zum Übertragen
von Daten zu einer Mehrzahl von Knoten (Computer, Terminals), die
zu einer spezifischen Gruppe in einem Kommunikationsnetzwerk gehören, basierend
auf einem Protokoll, wie TCP/IP (engl.: Transmission Control Protocol/Internet
Protocol; Übertragungssteuerungsprotokoll/Internetprotokoll).
-
In
vergangenen Jahren hat mit dem Fortschreiten von Computernetzwerken
mit verteilter Verarbeitung ein Erfordernis, gleichzeitig dieselben
Daten zu einer Mehrzahl von Knoten zu senden, zum Zwecke des Verbesserns
der Verarbeitungseffizienz zugenommen. In dem Fall von 1-zu-N- (Eine-an-Viele-) oder N-zu-N-Kommunikationen
(zum Beispiel für die
Ausführung
einer Anwendung, wie einer Televisionskonferenz an einer Mehrzahl
von Knoten) wächst eine
solche Situation, wie, dieselben Daten an eine Mehrzahl von Knoten
zu übertragen,
im Vergleich zu 1-zu-1-Kommunikationen. Um eine solche Situation zu
meistern, setzen Computernetzwerke eine Multicast-Funktion ein,
um gleichzeitig Daten zu einer Mehrzahl von Knoten weiterzuleiten,
die zu einer spezifischen Gruppe gehören.
-
Allgemein
war das Ethernet als das typische Protokoll für das LAN (engl.: Local Area
Network; Lokalbereichsnetzwerk) bekannt, das ein Computernetzwerk
bildet. In diesem Ethernet wird, um die vorerwähnte Multicast-Funktion zu
realisieren, eine Gruppenadresse (Multicast-Adresse) zuerst eingestellt
und in einem Kommunikationstreiber von jedem der Knoten registriert,
der zu einer spezifischen Gruppe (Multicast-Gruppe) gehört. Danach
broadcastet ein Knoten, der Daten überträgt, Übertragungsdaten, die eine
Adresse enthalten, die eine spezifische Gruppe bezeichnet, zu allen
den Knoten mit Ausnahme des Datenübertragungsknotens. Der Kommunikationstreiber
von jedem der Knoten, die die Daten empfangen, entscheidet, ob die
Adresse, die zu den übertragenen
Daten hinzu gefügt
wurde, mit einer Adresse übereinstimmt
oder nicht, die vorher seinem eigenen Terminal zugeordnet wurde. Wenn
zwischen beiden Adressen eine Übereinstimmung
herrscht, akzeptiert der Kommunikationstreiber jene Daten, wohingegen
er, wenn keine Übereinstimmung
auftritt, die selbigen Daten sein lässt.
-
Zusätzlich offenbart
die japanische Patentoffenlegung (Kokai) Nr. Hei 5-324545 eine Technik
(ein Bussteuersystem zum leichten Realisieren der Initialverbindungsprozedur
beim Broadcasten), um eine Empfangsterminalgruppe zu bestimmen,
zu welcher Daten übertragen
werden sollen. Bei der in dieser Veröffentlichung offenbarten Technik
wird eine Gruppenadressensignalleitung in Bussen zum Einrichten von
Verbindungen unter allen den Terminals (Knoten) bereitgestellt,
während
eine Gruppenadresse, die für eine
Gruppe repräsentativ
ist, zu der jedes der Terminals gehört, vorher jenem Terminal zugeordnet
wird. Ferner überträgt beim Übertragen
von Daten zu nur einer spezifischen Gruppe ein Übertragungsterminal zuerst
die Gruppenadresse, die die spezifische Gruppe bezeichnet, durch
die Gruppenadressensignalleitungen zu allen den von diesem Übertragungsterminal
verschiedenen Terminals. Jedes der Empfangsterminals, das die Gruppenadresse
empfängt,
prüft, ob
die Gruppenadresse, die übertragen
wurde, mit seiner eigenen Gruppenadresse übereinstimmt oder nicht, die
vorher eingestellt wurde. Das Empfangsterminal, dessen Gruppenadresse
mit der übertragenen Gruppenadresse übereinstimmt,
geht in einen Empfangsbereitschaftszustand. Daran anschließend beginnt
die Übertragungsterminalseite,
Daten zu dem Empfangsterminal zu schicken (broadcasten), das zu der
spezifischen Gruppe gehört.
-
Jedoch
werden bei dem Multicast-Übertragungsverfahren
auf dem Ethernet die Daten, die zu den Knoten zu übertragen
sind, die zu einer spezifischen Gruppe gehören, in einem Zustand, in dem eine
Gruppenadresse dazu hinzu gefügt
wurde, zusammen mit dem Auferlegen einer Last auf die Verarbeitung
auf der Übertragungsseite
oder auf der Empfangsseite gebroadcastet, wobei das Netzwerk oder
die Knoten, das/die keine Relation hat/haben, auch seinem Einfluss
unterliegen, und nimmt der Verkehr in dem gesamten Kommunikationsnetzwerk
zu.
-
Die
Multicast-Kommunikation zielt ab auf Multimedia einschließlich Bewegtbilddaten.
Die Bewegtbilddaten erfordern üblicherweise
die Übertragung
von 30 Szenen (Rahmen) pro Sekunde, was ein extrem großes Datenvolumen
erzeugt. Entsprechend findet in dem Fall eines großen Datenvolumens,
wie solche Bewegtbilddaten oder Klangdaten, die gemäß dem oben
angegeben Multicast-Kommunikationsverfahren übertragen werden, eine signifikante
Erhöhung
beim Verkehr in dem gesamten Kommunikationsnetzwerk statt.
-
Außerdem ist
die Technik, die in der japanischen Patentoffenlegung (Kokai) Nr.
Hei 5-324545 offenbart ist, so gestaltet, dass ein Übertragungsterminal
ein Empfangstermi nal bezeichnet, das zu einer spezifischen Gruppe
gehört,
damit es in einen Empfangsbereitschaftszustand übergeht, bevor die Übertragungsterminalseite
Daten broadcastet und das Terminal, das in dem Empfangsbereitschaftszustand (das
heißt,
das Empfangsterminal, das zu der spezifischen Gruppe gehört) ist,
die gebroadcasteten Daten empfängt.
Da jedoch die Übertragung
von dem Übertragungsterminal
zu dem Empfangsterminal vollständig
von dem Broadcasten abhängt,
nimmt der Verkehr auf dem Kommunikationsnetzwerk zu, und verursacht
die Übertragung
eines großen
Datenvolumens, wie Bewegtbilddaten und Klangdaten, gemäß der vorerwähnten Technik
eine beachtliche Zunahme im Verkehr auf dem Kommunikationsnetzwerk.
-
Ein
Ausführungsbeispiel
der vorliegenden Erfindung kann ein Multicast-Übertragungsverfahren bereitstellen,
das zum Realisieren einer Multicast-Funktion geeignet ist, während der
Verkehr auf einem Kommunikationsnetzwerk gleichzeitig mit dem Beibehalten
der Unabhängigkeit
jedes der Knoten durch die Verwendung des existierenden Kommunikationsursprungs
minimiert wird, wie dem SENDEN-ERLANGEN, das nachfolgend konkret
beschrieben wird.
-
Zu
diesem Zweck ist gemäß der vorliegenden
Erfindung ein Multicast-Übertragungsverfahren für ein System
vorgesehen, enthaltend eine Mehrzahl von Knoten, die durch ein Kommunikationsnetzwerk
miteinander verbunden sind, um wechselseitig kommunikativ zu sein,
wobei jeder der Mehrzahl von Knoten einen Kommunikationstreiber
enthält,
der als eine Basiskommunikationsfunktion eine Funktion zum Ausgeben
und Senden einer Datensendemitteilung zum Senden von Daten zu einem
Empfangspuffer, der vorher in einem Empfangsknoten definiert wurde,
einen Datenerlangungsbefehl zum Bestimmen von Daten in einem Speicher
eines gegebenen Knotens, um eine Anforderung für eine Übertragung der Daten zu dem
gegebenen Knoten auszuführen, und
einen Datensendebefehl zum Bestimmen einer Speicheradresse in einem
Datenempfangsknoten hat, um Daten zu übertragen,
welches Verfahren
einen Datenübertragungsknoten der
Mehrzahl von Knoten, in welchem eine Multicast-Übertragungsanforderung auftritt,
veranlasst, Daten zu einem Knoten der Mehrzahl von Knoten, der zu
einer spezifischen Gruppe gehört,
durch das Kommunikationsnetzwerk zu übertragen, und enthaltend die
Schritte:
Einstellen und Registrieren, wenn ein Knoten zu der spezifischen
Gruppe gehört,
von einer Multicast-Adresse, die die spezifische Gruppe bezeichnet, in
einer Multicast-Tabelle,
die in dem Knoten enthalten ist, der zu der spezifischen Gruppe
gehört;
welcher
Datenübertragungsknoten
die Datensendemitteilung, an welche die Multicast-Adresse, die die spezifische
Gruppe bezeichnet, hinzugefügt
ist, durch das Kommunikationsnetzwerk an alle der Mehrzahl von Knoten
sendet;
jeder der anderen Knoten die Multicast-Adresse durch
die Datensendemitteilung empfängt
und auf seine eigene Multicast-Tabelle Bezug nimmt, um zu entscheiden,
ob eine Multicast-Adresse, die mit der empfangenen Multicast-Adresse übereinstimmt,
innerhalb der Multicast-Tabelle existiert oder nicht; und
jeder
der anderen Knoten, wenn dieselbe Multicast-Adresse innerhalb seiner Multicast-Tabelle
existiert, eine Anforderung für
eine Übertragung
von Daten entsprechend der Multicast-Übertragungsanforderung zu dem
Datenübertragungsknoten
durch Verwendung der Basiskommunikationsfunktion durchführt, so
dass die Daten von dem Datenübertragungsknoten
zu dem Knoten übertragen
werden, der als ein Datenempfangsknoten dient.
-
Bei
einem Beispiel des obigen Verfahrens wird der Datenerlangungsbefehl,
die Datensendemitteilung oder der Datensendebefehl von dem Datenempfangsknoten,
für welchen
die Multicast-Adresse innerhalb seiner Multicast-Tabelle existiert,
ausgegeben, und an den Datenübertragungsknoten
gesendet, um eine Anforderung für
die Übertragung
von Daten entsprechend der Multicast-Übertragungsanforderung auszuführen, so
dass die Daten von dem Datenübertragungsknoten
zu dem Datenempfangsknoten übertragen
werden.
-
Bei
einem anderen Beispiel des obigen Verfahrens wird der Datensendebefehl,
der Datenerlangungsbefehl oder die Datensendemitteilung von dem Knoten,
für welchen
die Multicast-Adresse nicht innerhalb seiner Multicast-Tabelle existiert,
ausgegeben und gesendet an den Datenübertragungsknoten, um den Datenübertragungsknoten über die
Tatsache zu informieren, dass die Übertragung der Daten entsprechend
der Multicast-Übertragungsanforderung unnötig ist.
Alternativ beendet der Knoten, für
welchen die Multicast-Adresse nicht innerhalb seiner Multicast-Tabelle
existiert, sofort seine Verarbeitung, ohne den Datenübertragungsknoten über die
Tatsache zu informieren, dass die Übertragung der Daten in Antwort
auf die Multicast-Übertragungsanforderung
unnötig
ist.
-
Bei
einem Multicast-Übertragungsverfahren, das
diese Erfindung verkörpert,
wird nur die Übertragung
einer kleinen Menge von Daten bei der Multicast-Adresse auf die
Broadcast-Weise
durchgeführt und
erfolgt die Übertragung
der Multi cast-Daten in einer Eins-zu-Eins-Beziehung zwischen dem
Datenübertragungsknoten
und jedem der Knoten, der das Ziel der Multicast-Übertragung
ist, womit leicht die Multicast-Funktion
zwischen den Knoten erfüllt
wird, während
der Verkehr auf dem Kommunikationsnetzwerk minimiert wird.
-
Noch
weiter ist es, da die Entscheidung, ob jeder der Knoten das Ziel
der Multicast-Übertragung ist
oder nicht, durch die Verwendung der Multicast-Tabelle erfolgt,
möglich,
die Multicast-Funktion zu realisieren, während die Unabhängigkeit
jedes der Knoten erhalten bleibt.
-
Es
wird exemplarisch Bezug genommen auf die begleitenden Zeichnungen,
in welchen:
-
1A und 1B Flussdiagramme
sind, die zum Erklären
eines Multicast-Übertragungsverfahrens
gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung nützlich
sind;
-
2 ein
Blockdiagramm ist, das eine Anordnung eines Kommunikationsnetzwerksystems zeigt,
bei welchem das Multicast-Übertragungsverfahren
des Ausführungsbeispiels
dieser Erfindung angewandt ist, und ist auch eine Darstellung zum
Beschreiben eines Betriebs des selbigen Kommunikationsnetzwerksystems;
-
3 ein
Blockdiagramm ist, das einen prinzipiellen Teil des Kommunikationsnetzwerksystems gemäß diesem
Ausführungsbeispiel
zum Beschreiben eines ersten Datenübertragungsanforderungsverfahrens
zeigt;
-
4 ein
Blockdiagramm ist, das einen prinzipiellen Teil des Kommunikationsnetzwerksystems gemäß diesem
Ausführungsbeispiel
zum Beschreiben eines zweiten Datenübertragungsanforderungsverfahrens
zeigt;
-
5 ein
Blockdiagramm ist, das einen prinzipiellen Teil des Kommunikationsnetzwerksystems gemäß diesem
Ausführungsbeispiel
zum Beschreiben eines dritten Datenübertragungsanforderungsverfahrens
zeigt;
-
6 ein
Blockdiagramm ist, das einen prinzipiellen Teil des Kommunikationsnetzwerksystems gemäß diesem
Ausführungsbeispiel
zum Erklären
eines ersten Datenübertragungslöschungsmitteilungsverfahrens
zeigt;
-
7 ein
Blockdiagramm ist, das einen prinzipiellen Teil des Kommunikationsnetzwerksystems gemäß diesem
Ausführungsbeispiel
zum Erklären
eines zweiten Datenübertragungslöschungsmitteilungsverfahrens
zeigt;
-
8 ein
Blockdiagramm ist, das einen prinzipiellen Teil des Kommunikationsnetzwerksystems gemäß diesem
Ausführungsbeispiel
zum Erklären
eines dritten Datenübertragungslöschungsmitteilungsverfahrens
zeigt;
-
9 ein
Blockdiagramm ist, das einen prinzipiellen Teil des Kommunikationsnetzwerkssystems gemäß diesem
Ausführungsbeispiel
zum Erklären
eines Verfahrens zeigt, das in dem Fall keiner Mitteilung der Datenübertragungslöschung heranzuziehen ist;
-
10 ein
Blockdiagramm ist, das einen prinzipiellen Teil eines allgemeinen
Kommunikationsnetzwerksystems zum Erklären eines EINSETZEN-Befehls
und eines ERLANGEN-Befehls zeigt; und
-
11 ein
Blockdiagramm ist, das einen prinzipiellen Teil eines allgemeinen
Kommunikationsnetzwerksystems zum Erklären eines Kommunikationsverfahrens
basierend auf einem SENDEN-ERLANGEN zeigt.
-
Ein
Ausführungsbeispiel
der vorliegenden Erfindung wird nachfolgend unter Bezugnahme auf die
Zeichnungen beschrieben.
-
Allgemein
wird in einem Hochgeschwindigkeitskommunikationsnetzwerk (zum Beispiel AP-Netz),
das eine Kommunikationsgeschwindigkeit über 1600 Mbps ausführt, ein
EINSETZEN-Befehl oder
ein ERLANGEN-Befehl zur Verwendung für die Datenkopie (Speicherkopie)
zwischen Knoten durch das Kommunikationsnetzwerk eingesetzt.
-
In
diesem Fall leitet, wie in der 10 gezeigt
ist, ein Knoten #N die Daten an einer Adresse XXX in einem Speicher 100-N zu
einem Knoten #M weiter, wobei der EINSETZEN-Befehl (Datensendebefehl) von dem Knoten
#N zu dem Knoten #M ausgegeben wird. Das heißt, dass in einer Weise, in
der der Knoten #N eine ID (in diesem Beispiel M) des Datenempfangsknotens
#M, der das Ziel der Daten ist, und eine Datenkopiert-Adresse YYY
in einem Speicher 100-M des Knotens #M bestimmt und den
EINSETZEN-Befehl ausgibt, die Daten, die an der Adresse XXX in dem
Speicher 100-N des Knotens #N liegen, durch ein Kommunikationsnetzwerk 200 in
die Adresse YYY in dem Speicher 100-M des Knotens #M übertragen
und kopiert werden.
-
Andererseits
wird, wie in derselben Darstellung gezeigt ist, wenn der Knoten
#N die Daten an einer Adresse WWW in dem Speicher 100-M des
Knotens #M erlangt (kopiert), der ERLANGEN-Befehl (Datenerlangungsbefehl)
von dem Knoten #N an den Knoten #M ausgeben. Das heißt, dass
in einer weise, in der der Knoten #N eine ID (in diesem Beispiel
M) des Knotens #M, der die Zieldaten aufbewahrt, und die Adresse
WWW bestimmt, die die Zieldaten bestimmt, und den ERLANGEN-Befehl
ausgibt, die Daten, die an der Adresse WWW in dem Speicher 100-M des
Knotens #M existieren, durch das Kommunikationsnetzwerk 200 in
eine Adresse ZZZ in dem Speicher 100-N des Knotens #N kopiert
werden.
-
Üblicherweise
wird der vorerwähnte
ERLANGEN-Befehl in der Form einer Kombination mit einer SENDEN-Mitteilung
verwendet, wie in der 11 gezeigt ist, und wird ein
Kommunikationsmodus basierend auf dieser Kombination SENDEN-ERLANGEN genannt.
Daneben wird die SENDEN-Mitteilung (Datensendemitteilung) verwendet,
wenn die Daten eines Datenübertragungsknotens
zu einem Empfangspuffer weitergeleitet werden, der vorher durch
einen Datenempfangsknoten definiert wurde.
-
Ferner
werden in dem Kommunikationsmodus, der auf SENDEN-ERLANGEN basiert,
wie in der 11 gezeigt ist, die SENDEN-Mitteilung,
die die Adresse XXX der Übertragungsdaten
an dem Speicher (SENDEDATENPUFFER) 100-N aufbewahrt, und
die Größe S jener
Daten von dem Datenübertragungsknoten
#N zu dem Datenempfangsknoten #M übertragen.
-
In
dem Knoten #M wird die SENDEN-Mitteilung, die vom Knoten #N durch
das Kommunikationsnetzwerk 200 aufgenommen wurde, einmal
in einem Empfangspuffer (nicht gezeigt) gespeichert. Nachfolgend
wird, nachdem die Inhalte der SENDEN-Mitteilung in einem Kommunikationstreiber
(nicht gezeigt) entziffert oder decodiert wurden, ein Datenschreibbereich
gemäß der Größe S auf
dem Speicher (ERLANGEN-DATENPUFFER) 100-M sichergestellt,
bevor der ERLANGEN-Befehl zum Knoten #N ausgegeben wird, so dass
die Daten an der Adresse XXX in dem Speicher 100-N zu dem
Knoten #M weitergeleitet werden. Die Daten, die von dem Knoten #N
durch das Kommunikationsnetzwerk 200 in Abhängigkeit von
diesem ERLANGEN-Befehl gesendet wurden, werden in den Bereich der
bestimmten Adresse (den vorerwähnten
Datenschreibbereich) in dem Speicher 100-M des Knotens
#M geschrieben.
-
Durch
die Verwendung des Kommunikationstreibers, der den SENDEN-ERLANGEN-
oder den EINSETZEN-Befehl als eine Basiskommunikationsfunktion einsetzt,
kann der Datenübertragungsknoten
eine willkürliche
Adresse in einem Speicher bestimmen, um direkt Daten zu jener Adresse
zu übertragen,
womit die effektive Ausführung
des Datenkopierens zwischen Knoten ermöglicht wird, um die Kommunikationsleistung
zu steigern und ferner das Puffermanagement in jedem der Knoten
zu erleichtern.
-
Dieses
Ausführungsbeispiel
ist zum Entwickeln und Etablieren eines Verfahrens zum Realisieren
einer Multicast-Funktion
durch Verwenden der existierenden Basiskommunikationsfunktion, die
eine SENDEN-Mitteilung, einen ERLANGEN-Befehl und einen EINSETZEN-Befehl ausgibt,
und dieses Ver fahren kann den Verkehr in dem gesamten Kommunikationsnetzwerk
gleichzeitig mit dem Aufrechterhalten der Unabhängigkeit jedes der Knoten minimieren.
-
Die 2 ist
ein Blockdiagramm, das eine Anordnung eines Kommunikationsnetzwerksystems zeigt,
bei welchem ein Multicast-Übertragungsverfahren
gemäß dem Ausführungsbeispiel
dieser Erfindung angewandt wird, und sie ist auch eine Darstellung,
die zum Erklären
einer Operation dieses Kommunikationsnetzwerksystems verfügbar ist.
In dem Kommunikationsnetzwerksystem gemäß diesem Ausführungsbeispiel,
das in der 2 gezeigt ist, ist eine Mehrzahl
von Knoten 1 (#0 bis #N) durch ein Kommunikationsnetzwerk
(zum Beispiel AP-Netz) 2 unter
Verwendung zum Beispiel von TCP/IP miteinander verbunden, um wechselseitig
kommunikativ zu sein.
-
Jeder
der Knoten 1 ist mit einem Kommunikationstreiber (Datenverbindungstreiber;
zum Beispiel AP-Netz-Treiber) 1a ausgestattet, um direkt
Signale zu geben an das und zu erhalten von dem Kommunikationsnetzwerk 2,
um die Übertragung/den
Empfang von Daten zu leisten.
-
Dieser
Kommunikationstreiber 1a ist als eine Basiskommunikationsfunktion
(die nachfolgend manchmal als ein Kommunikationsursprung bezeichnet
wird) eingesetzt, die eine Funktion (enthaltend einen Kommunikationsmodus
basierend auf SENDEN-ERLANGEN) enthält, um die SENDEN-Mitteilung,
den ERLANGEN-Befehl und den EINSETZEN-Befehl auszugeben, die vorher
unter Bezugnahme auf die 10 und 11 angegeben
wurden. Wie vorher erwähnt
wurde, dient die SENDEN-Mitteilung (Datensendemitteilung) zum Übertragen
von Daten zu einem Empfangspuffer, der vorher durch den Datenübertragungs knoten
definiert wurde, und dient der ERLANGEN-Befehl (Datenerlangungsbefehl)
zum Bezeichnen von Daten in einem Speicher (Sendedatenpuffer 4,
der hier später
beschrieben wird) eines gegebenen Knotens, um eine Anforderung für die Übertragung
von jenen Daten zu dem entsprechenden Knoten auszuführen, und
dient ferner der EINSETZEN-Befehl (Datensendebefehl) zum Bezeichnen
einer Speicheradresse in einem Empfangs- (Ziel-) Knoten und zum Übertragen
von Daten.
-
Zusätzlich ist,
wie in den 3 bis 9 gezeigt
ist, jeder der Knoten 1 mit einer Multicast-Tabelle 3,
einem Sende- (Übertragungs-)
Datenpuffer 4, einem Empfangs-/Erlangungs- (Akquisitions-)
Datenpuffer 5 und einer Multicast-Übertragungstabelle 6 versehen.
In den 3 bis 9 ist ein Datenübertragungsknoten 1 als
ein Knoten #n gezeigt, während einer
der Datenempfangsknoten 1, der zu einer Multicast-Gruppe gehört, als
ein Knoten #m gezeigt ist, und sind nur Komponenten, die bei der
Transmission in jedem Modus erforderlich sind, in dem Knoten #n gezeigt,
während
nur Komponenten, die beim Empfang in jedem Modus erforderlich sind,
in dem Knoten #m dargestellt sind. Ferner ist in den 3 bis 9 der
Kommunikationstreiber 1a der Knoten 1 aus der Darstellung
weggelassen.
-
In
diesem Fall ist die Multicast-Tabelle 3 in einer solchen
Weise erstellt, dass, wenn ein Knoten 1, der diese Multicast-Tabelle 3 besitzt,
zu einer Multicast-Gruppe (spezifische Gruppe) gehört, eine
Multicast-Adresse (Gruppenadresse) der Gruppe, zu der er gehört, vorher
eingestellt und registriert wird. Im Übrigen wird bei einer Multicast-Übertragung
basierend auf dem TCP/IP, bei IP-Adressen, die jeweils 32 Bits enthalten,
eine Adresse, deren führende
vier Bits "1110" sind, als eine Multicast-Adresse
erkannt. Das heißt,
dass der Bereich von 224.0.0.0 bis 239.255.255.255 erstellt ist,
um den Multicast-Adressen zugewiesen zu werden.
-
Der
Sendedatenpuffer (Speicher) 4 speichert Daten (zum Beispiel
Multicast-Daten), die zu übertragen
sind, während
der Empfangs-/Erlangungs-Datenpuffer (Speicher) 5 Daten
speichert, die von einem Übertragungsknoten
empfangen oder erlangt wurden.
-
Die
Multicast-Übertragungstabelle 6 ist
in einer solchen Weise erstellt, dass eine Markierung (JA/NEIN)
zum Erkennen eines Knotens (Datenempfangsknoten), der das Ziel der
Multicast-Übertragung ist,
bei jedem von seinem eigenen Knoten verschiedenen Knoten 1 eingestellt
wird, wobei jene Markierung durch einen EINSETZEN-Befehl oder eine SENDEN-Mitteilung
von einem Datenempfangsknoten eingestellt wird, wie später angegeben
wird.
-
Die
Multicast-Tabelle 3, der Sendedatenpuffer 4, der
Empfangs-/Erlangungs-Datenpuffer 5 und die Multicast-Übertragungstabelle 6 sind
integriert in oder vorgesehen in Verbindung mit dem Kommunikationstreiber 1a jedes
der Knoten 1.
-
Zweitens
wird unter Bezugnahme auf die 1 bis 9 nachfolgend
eine Beschreibung von einem Multicast-Übertragungsverfahren zur Verwendung
in dem Kommunikationsnetzwerksystem angegeben, das somit gemäß diesem
Ausführungsbeispiel
arrangiert ist.
-
Die
Beschreibung beginnt mit einer Basisprozedur des Multicast-Übertragungsverfahrens
gemäß diesem
Ausführungsbeispiel,
das heißt
einer Basisoperation für
die Multicast-Übertragung
durch den Kommunikationstreiber 1a jedes der Knoten 1, unter
Bezugnahme auf die Flussdiagramme, die in den 1a und 1b gezeigt
sind, im Hinblick auf die 2.
-
Die 1a ist
ein Flussdiagramm (Schritte S0 bis S3 und S31), das zum Beschreiben
einer Basisübertragungsverarbeitungsprozedur
verfügbar ist,
die in jedem der Knoten 1 auszuführen ist. Wie in der 1a dargestellt
ist, entscheidet der Kommunikationstreiber 1a jedes der
Knoten 1 immer, ob eine Übertragungsanforderung auftritt
oder nicht (Schritt S0), und prüft,
wenn sie auftritt (JA-Weg vom Schritt S0), ob die Übertragungsanforderung
eine Multicast-Übertragungsanforderung
bezeichnet oder nicht (Schritt S1).
-
Wenn
die Multicast-Übertragungsanforderung
empfangen wird (JA-Weg vom Schritt S1), fügt der Kommunikationstreiber 1a eine
Multicast-Adresse entsprechend jener Multicast-Übertragungsanforderung zu einer
SENDEN-Mitteilung hinzu und broadcastet die SENDEN-Mitteilung plus
Multicast-Adresse zu allen den Knoten 1 (Schritt S2; siehe ein
Pfeil A1 "SENDE
MITTEILUNG MIT MULTICAST-ADRESSE" in
der 2 aus einer dünnen durchgezogenen
Linie). Zu dieser Zeit ist das Datenvolumen der SENDEN-Mitteilung
mit der Multicast-Adresse bemerkenswert klein, mit dem Ergebnis,
dass der Verkehr auf dem Kommunikationsnetzwerk 2 kaum
dem Einfluss des Broadcastens der SENDEN-Mitteilung unterliegt.
-
Ferner überträgt der Kommunikationstreiber 1a Multicast-Daten
zu dem Knoten (Knoten, der zu einer Multicast- Gruppe gehört; Datenempfangsknoten) 1,
der die Anforderung für
die Datenübertragung ausgibt,
in Abhängigkeit
von der gebroadcasteten SENDEN-Mitteilung (Schritt S3).
-
Andererseits
führt,
wenn die Antwort des Schrittes S1 zeigt, dass die Übertragungsanforderung
nicht die Multicast-Übertragungsanforderung annimmt
(NEIN-Weg vom Schritt S1), der Kommunikationstreiber 1a die Übertragungsverarbeitung
als Antwort auf jene Übertragungsanforderung
aus (Schritt S31).
-
Unterdessen
ist die 1B ein Flussdiagramm (Schritte
S32, S4 bis S7 und S41), das zum Erklären einer Basisübertragungsverarbeitungsprozedur
nützlich
ist, die in jedem der Knoten 1 durchzuführen ist. Wie in der 1B gezeigt
ist, entscheidet der Kommunikationstreiber 1a jedes der
Knoten 1 immer, ob Daten ankommen (empfangen werden) oder nicht
(Schritt S32), und überprüft, wenn
die Daten kommen (JA-Weg vom Schritt S32), ob jene Daten eine SENDEN-Mitteilung
mit einer Multicast-Adresse sind oder nicht (Schritt S4).
-
Wenn
der Knoten 1 (Kommunikationstreiber 1a) die SENDEN-Mitteilung
mit der Multicast-Adresse empfängt
(JA-Weg vom Schritt S4), bezieht sich der Kommunikationstreiber 1a auf
die Multicast-Tabelle 3 (siehe 3 bis 9),
um die Multicast-Adresse, die zu der SENDEN-Mitteilung hinzugefügt ist,
die er empfängt,
mit einer eingestellten Adresse innerhalb der Multicast-Tabelle 3 zu
vergleichen, um zu entscheiden, ob jene Multicast-Adresse innerhalb
der Multicast-Tabelle 3 existiert
oder nicht (Schritt S5).
-
Wenn
jene Multicast-Adresse innerhalb der Multicast-Tabelle 3 existiert (JA-Weg
vom Schritt S5), gibt der Kommunikationstreiber 1a eine
Anforderung für
die Übertragung
von Multicast-Daten (Daten, die auf eine Multicast-Übertragungsanforderung
antworten, die ein Datenübertragungsknoten
ausgibt) an einen Datenübertragungsknoten
aus, der die SENDEN-Mitteilung überträgt, durch
die Verwendung eines Kommunikationsursprungs (die Erzeugung und Zustellung
eines ERLANGEN-Befehls,
einer SENDEN-Mitteilung oder eines EINSETZEN-Befehls) (siehe ein Pfeil A2 "FORDERE MULTICAST-DATEN AN" aus einer gepunkteten
Linie), um den Datenübertragungsknoten
die Daten zu seinem eigenen Knoten übertragen zu lassen (Schritt
S6). Das Datenübertragungsanforderungsverfahren,
das den Kommunikationsursprung (einen ERLANGEN-Befehl, eine SENDEN-Mitteilung
oder einen EINSETZEN-Befehl) in diesem Schritt S6 verwendet, wird hier
später
unter Bezugnahme auf die 3 bis 5 beschrieben.
-
Andererseits
informiert, wenn die Multicast-Adresse nicht innerhalb der Multicast-Tabelle 3 existiert
(NEIN-Weg vom Schritt S5), der Kommunikationstreiber 1a den
Datenübertragungsknoten,
der die SENDEN-Mitteilung überträgt, von
der Tatsache, dass die Übertragung
der Multicast-Daten unnötig
ist, durch die Verwendung des Kommunikationsursprungs (die Erzeugung
und Zustellung eines EINSETZEN-Befehls, eines ERLANGEN-Befehls oder einer
SENDEN-Mitteilung) (Schritt S7; siehe Pfeil A3 "LÖSCHE
MULTICAST-DATEN" in
gestrichelter Linie). Das Datenübertragungslöschungsmitteilungsverfahren,
das den Kommunikationsursprung (ein EINSETZEN-Befehl, ein ERLANGEN-Befehl
oder eine SENDEN-Mitteilung) in diesem Schritt S7 verwendet, wird
hier später
unter Bezugnahme auf die 6 bis 8 beschrieben.
-
Daneben
kann, wie hier später
angegeben wird, der Kommunikationstreiber 1a auch sofort
seine Verarbeitung beenden, ohne über ein Nichterfordernis für die Datenübertragung
zu informieren. In diesem Fall kann der Schritt S7 weggelassen werden.
-
Ferner
verarbeitet, wenn die Entscheidung des Schrittes S4 angibt, dass
die Empfangsdaten nicht die SENDEN-Mitteilung mit der Multicast-Adresse
sind (NEIN-Weg vom Schritt S4), der Kommunikationstreiber 1a die
Daten, die er empfängt,
gemäß seinen
Inhalten angemessen verarbeiten (Schritt S41).
-
Unter
Bezugnahme auf die 2 erfolgt nachfolgend eine Beschreibung
einer Reihe von Multicast-Übertragungsoperationen
gemäß diesem
Ausführungsbeispiel.
Wie durch den Pfeil A1 in dünner durchgezogener
Linie angegeben ist, fügt
ein Datenübertragungsknoten
#0, in welchem eine Multicast-Übertragungsanforderung
auftritt, eine Multicast-Adresse zu einer SENDEN-Mitteilung hinzu
und broadcastet die SENDEN-Mitteilung
plus Multicast-Adresse zu Knoten #1 bis #N durch das Verarbeiten
des Schrittes S2 in der 1A.
-
Jeder
der Knoten #i (i = 1 bis N), der die Multicast-Adresse empfängt, vergleicht jene Multicast-Adresse
mit einer eingestellten Adresse innerhalb der Multicast-Tabelle 3 durch
die Verarbeitung des Schrittes S5 in der 1B, um
zu prüfen,
ob jene Multicast-Adresse innerhalb der Multicast-Tabelle 3 existiert
oder nicht.
-
Der
Knoten #1, in welchem die Multicast-Adresse innerhalb seiner Multicast-Tabelle 3 existiert,
führt eine
Anforderung für
die Übertragung der
entsprechenden Multicast-Daten
zu dem Datenübertragungsknoten
#0 durch die Verwendung eines Kommunikationsursprungs (ein ERLANGEN-Befehl, eine
SENDEN-Mitteilung oder ein EINSETZEN-Befehl) durch das Verarbeiten
des Schrittes S6 in der 1B durch,
wie durch den Pfeil A2 in gepunkteter Linie angegeben ist, so dass
der Datenübertragungsknoten
#0 die Multicast-Daten zu dem Knoten #1 überträgt.
-
Andererseits
informiert der Knoten #2 oder #N, in welchem die Multicast-Adresse
nicht innerhalb seiner Multicast-Tabelle 3 existiert,
den Datenübertragungsknoten
#0 von der Tatsache keines Erfordernisses für die Übertragung der Multicast-Daten
durch die Verwendung eines Kommunikationsursprungs (ein EINSETZEN-Befehl,
ein ERLANGEN-Befehl oder eine SENDEN-Mitteilung) durch das Verarbeiten
des Schrittes S7 in der 1B, wie
durch den Pfeil A3 in gestrichelter Linie dargestellt ist.
-
Somit
ist es möglich,
die Multicast-Übertragung
von dem Datenübertragungsknoten
#0, in welchem die Multicast-Übertragungsanforderung
auftritt, zu dem Datenempfangsknoten #1, der zu der Multicast-Gruppe
gehört,
als Antwort auf die Multicast-Übertragungsanforderung
auszuführen.
-
Außerdem erfolgt
nachfolgend unter Bezugnahme auf die 3 bis 5 eine
Beschreibung von Datenübertragungsanforderungsverfahren
(die Verarbeitung des Schrittes S6 in der 1B) unter Verwendung
eines ERLANGEN-Befehls, einer SENDEN-Mitteilung oder eines EINSETZEN-Befehls, der/die
ei nen Kommunikationsursprung bildet. In jedem der Beispiele, die
in den 3 bis 5 gezeigt sind, sei angenommen,
dass ein Datenübertragungsknoten
#n eine Multicast-Adresse, zum Beispiel "224.0.0.2" an eine SENDEN-Mitteilung anfügt, um die
SENDEN-Mitteilung plus Multicast-Adresse zu broadcasten, und diese
Adresse "224.0.0.2" existiert innerhalb
der Multicast-Tabelle 3 eines Knotens #m.
-
Bei
einem ersten Übertragungsanforderungsverfahren,
das in der 3 gezeigt ist, gibt der Knoten
#m einen ERLANGEN-Befehl zu dem Datenübertragungsknoten #n aus, um
eine Anforderung für die Übertragung
von Multicast-Daten auszuführen, so
dass der Kommunikationstreiber 1a (siehe 2) die
Multicast-Daten in dem Sendedatenpuffer 4 des Datenübertragungsknotens
#n veranlasst, durch das Kommunikationsnetzwerk 2 zu dem
Knoten #m weitergeleitet zu werden und an einer gewünschten Adresse
in dem Empfangs-/Erlangungsdatenpuffer 5 des Knotens #m
eingesetzt zu werden.
-
Ferner
schickt bei einem zweiten Datenübertragungsanforderungsverfahren,
das in der 4 gezeigt ist, der Knoten #m
eine SENDEN-Mitteilung mit einer Multicast-Datenübertragungsanforderung ("FORDERE MULTICAST-DATEN
AN") zu dem Datenübertragungsknoten
#n, um eine Anforderung für die Übertragung
von Multicast-Daten dahin auszuführen,
woraufhin der Kommunikationstreiber 1a (siehe 2),
nach dem Entziffern jener Mitteilung die Multicast-Daten in dem
Sendedatenpuffer 4 des Datenübertragungsknotens #n veranlasst,
durch das Kommunikationsnetzwerk 2 zu dem Knoten #m weitergeleitet
zu werden.
-
Noch
weiter gibt der Knoten #m bei einem dritten Datenübertragungsanforderungsverfahren
einen EINSETZEN-Befehl an den Datenübertragungsknoten #n zum Ausführen einer
Anforderung für
die Übertragung
der Multicast-Daten aus, woraufhin "JA" (Markierung
EIN) in eine Spalte eingesetzt wird, die zu dem Knoten #m in der
Multicast-Übertragungstabelle 6 des
Datenübertragungsknotens
#n gehört. Unter
Bezugnahme auf die Multicast-Übertragungstabelle 6 überträgt, um zu
bestätigen,
dass die Markierung des Knotens #m in dem EIN-Zustand ist, gegebenenfalls
der Kommunikationstreiber 1a (siehe 2) des Datenübertragungsknotens
#n die Multicast-Daten in dem Sendedatenpuffer 4 durch
das Kommunikationsnetzwerk 2 zu dem Knoten #m.
-
Unterdessen
erwartet der Datenübertragungsknoten 1,
der eine SENDEN-Mitteilung mit einer Multicast-Adresse broadcastet,
eine Antwort von allen den Knoten 1, die die Broadcast-Ziele
bilden. Somit informiert/informieren bei diesem Ausführungsbeispiel,
wie frühere
angegeben wurde, der/die Knoten 1, in welchem/-n die Multicast-Adresse
nicht innerhalb seiner/ihrer Multicast-Tabelle 3 existiert auch
den Datenübertragungsknoten 1 über die
Tatsache, dass die Übertragung
der Multicast-Daten unnötig
ist, durch die Verwendung eines EINSETZEN-Befehls, eines ERLANGEN-Befehls
oder einer SENDEN-Mitteilung.
-
Außerdem erfolgt
nachfolgend unter Bezugnahme auf die 6 bis 9 eine
Beschreibung von Datenübertragungslöschungsmitteilungsverfahren
(die Verarbeitung des Schrittes S7 in der 1B) unter
Verwendung eines EINSETZEN-Befehls, eines ERLANGEN-Befehls oder
einer SENDEN-Mitteilung, der/die einen Kommunikationsursprung bildet,
und von dem Fall einer Nichtmitteilung der Datenübertragungslöschung.
Bei jedem der Beispiele, die in den 6 bis 9 gezeigt
sind, soll angenommen sein, dass der Datenübertragungsknoten #n eine Multicast-Adresse,
zum Beispiel "224.0.0.2" zu einer SENDEN-Mitteilung
hinzufügt,
um die SENDEN-Mitteilung plus Multicast-Adresse zu braodcasten, und jene Adresse
nicht mit einer Adresse "224.0.0.3" übereinstimmt, die in der Multicast-Tabelle 3 des Knotens
#m registriert ist, das heißt,
dass die Adresse "224.0.0.2" nicht innerhalb
der Multicast-Tabelle 3 des
Knotens #m existiert.
-
Bei
einem ersten Datenübertragungslöschungsmitteilungsverfahren,
das in der 6 gezeigt ist, gibt der Knoten
#m einen EINSETZEN-Befehl an den Datenübertragungsknoten #n aus, um
ihn über
die Tatsache zu informieren, dass die Übertragung der Multicast-Daten
unnötig
ist, so dass "NEIN" (Markierung AUS)
in einer Spalte für
den Knoten #m in der Multicast-Übertragungstabelle 6 des
Datenübertragungsknotens
#n angeordnet wird. Der Kommunikationstreiber 1a (siehe 2)
des Datenübertragungsknotens
#n bezieht sich auf die Multicast-Übertragungstabelle 6,
und unterbindet, wenn die Markierung des Knotens #m in dem AUS-Zustand ist,
die Übertragung
der Multicast-Daten zu dem Knoten #m.
-
Bei
einem zweiten Datenübertragungslöschungsmitteilungsverfahren,
das in der 7 gezeigt ist, gibt der Knoten
#m einen ERLANGEN-Befehl an den Datenübertragungsknoten #n aus, um
ihn über
die Tatsache zu informieren, dass die Übertragung der Multicast-Daten
unnötig
ist (die Information erfolgt durch das Aktualisieren einer ERLANGEN-Befehlskomplettierungsmarkierung),
so dass "NEIN" (Markierung AUS)
in einer Spalte für
den Knoten #m in der Multicast-Übertra gungstabelle 6 des
Datenübertragungsknotens
#n angeordnet wird. Der Kommunikationstreiber 1a (siehe 2)
des Datenübertragungsknotens
#n bezieht sich auf die Multicast-Übertragungstabelle 6 und
unterbindet, wenn die Markierung des Knotens #m in dem AUS-Zustand ist,
die Übertragung
der Multicast-Daten zu dem Knoten #m.
-
Bei
einem dritten Datenübertragungslöschungsmitteilungsverfahren,
das in der 8 gezeigt ist, gibt der Knoten
#m eine SENDEN-Mitteilung mit Multicast-Datenübertragungsnichtanforderungsinformationen
("LÖSCHE MUTICAST-DATEN") an den Datenübertragungsknoten
#n aus, um ihn über die
Tatsache zu informieren, dass die Übertragung der Multicast-Daten
unnötig
ist. Der Kommunikationstreiber 1a (siehe 2),
der jene Mitteilung decodiert, überträgt die Multicast-Daten
nicht zu dem Knoten #m.
-
Daneben
ist es auch geeignet, dass, wie in der 9 gezeigt
ist, der Knoten #m sofort die Verarbeitung beendet, ohne die Datenübertragungslöschungsmitteilung
zu dem Datenübertragungsknoten #n
auszugeben. Außerdem
gibt es in diesem Fall, da die Seite des Datenübertragungsknotens #n auf die Antwort
von dem Knoten #m wartet, ein Erfordernis, eine Anordnung hinzuzufügen, die
derart ist, dass ein Timer vorgesehen ist, so dass, wenn es von
dem Knoten #m für
eine gegebene Zeitperiode keine Antwort gibt, die Seite des Datenübertragungsknotens #n
annimmt, dass die Übertragung
der Multicast-Daten zu dem Knoten #m unnötig ist.
-
Wie
oben beschrieben wurde fügt
bei dem Multicast-Übertragungsverfahren
gemäß einem
Ausführungsbeispiel
dieser Erfindung ein Datenübertragungsknoten 1,
in welchem eine Multicast-Übertragungsanforderung
auftritt, eine Multicast-Adresse
zu einer SENDEN-Mitteilung hinzu und broadcastet die SENDEN-Mitteilung
plus Multicast-Adresse zu allen Knoten, und nur der/die Knoten 1 mit
einer vorher eingestellten Adresse, die mit der Multicast-Adresse übereinstimmt,
gibt/geben aus und sendet/senden einen ERLANGEN-Befehl, eine SENDEN-Mitteilung oder
einen EINSETZEN-Befehl, um aktiv eine Anforderung für die Übertragung
der Multicast-Daten zudem Datenübertragungsknoten 1 auszuführen, und daher
wird die Multicast-Datenübertragung
in einer Eins-zu-Eins-Relation zwischen dem Datenübertragungsknoten 1 und
jedem der Knoten erzielt, der das Ziel der Multicast-Übertragung
ist. Dabei ist es, da das Broadcasten der SENDEN-Mitteilung kaum
den Verkehr auf dem Kommunikationsnetzwerk 2 beeinträchtigt,
wie vorher angegeben wurde, möglich,
eine Multicast-Funktion unter den Knoten 1 zu realisieren, während der
Verkehr auf dem Kommunikationsnetzwerk 2 minimiert ist.
-
Zusätzlich ist
es gemäß diesem
Ausführungsbeispiel,
da die Entscheidung, welches das Ziel der Multicast-Übertragung
ist, von der Verwendung der Multicast-Tabelle 3 in jedem
der Knoten 1 abhängt,
möglich,
einen Multicast-Funktion gleichzeitig mit dem Aufrechterhalten der
Unabhängigkeit
jedes der Knoten zu realisieren.
-
Obwohl
bei dem oben beschriebenen Ausführungsbeispiel
diese Erfindung für
ein Kommunikationsnetzwerk basierend auf TCP/IP angewandt ist, ist
diese Erfindung nicht darauf beschränkt, sondern ist genauso anwendbar
bei jeglichem Kommunikationsnetzwerk, das ein Protokoll einsetzt,
das eine SENDEN-Mitteilung, einen ERLANGEN-Befehl und einen EINSETZEN-Befehl
definiert, und sind in diesem Fall dieselben Effekte erreichbar.