-
Diese
Anmeldung beansprucht die Priorität der gleichzeitig anhängigen vorläufigen Patentanmeldung US
60/137.153, die am 1. Juni 1999 eingereicht wurde. Diese Anmeldung
bezieht sich auf die Patentanmeldung US 09/323.869 mit dem Titel "PERFORMING MULTICAST
COMMUNICATIONS IN COMPUTER NETWORKS BY USING OVERLAY ROUTING", die am 1. Juni
1999 eingereicht wurde (und nachfolgend als "McCanne '869" bezeichnet
wird) und auf die Patentanmeldung US 09/384.865 mit dem Titel "SYSTEM FOR BANDWIDTH
ALLOCATION IN A COMPUTER NETWORK",
die am 27. August 1999 eingereicht wurde (und nachfolgend als "McCanne '865" bezeichnet wird).
-
GEBIET DER
ERFINDUNG
-
Diese
Erfindung bezieht sich im Allgemeinen auf das Gebiet der Computernetzwerke
und insbesondere auf ein Mehrpunkt-Übertragungsprotokoll zur Verwendung
in einem Computernetzwerk.
-
HINTERGRUND
DER ERFINDUNG
-
Da
die Popularität
des Internets zunimmt, ist es erwünscht, das "Mehrfachsenden" von Informationen, wie etwa Multimedia-Informationen, über das
Internet zu schaffen. Mehrfachsenden ist der Prozess zum Übertragen
von Informationen von einem Host in einem Datennetzwerk an eine
ausgewählte
Mehrzahl von Hosts in dem Datennetzwerk. Die ausgewählte Mehrzahl
wird häufig
als "Mehrfachsendungs-Gruppe" bezeichnet.
-
Während sich
die Einzelsendungs-Zustellung von Daten als Grundbaustein des Internet
eines gewaltigen Erfolgs erfreute, hat sich das Mehrfachsenden als
viel komplexer erwiesen und es gibt weiterhin viele technische Barrieren,
die verhindern, dass das Mehrfachsenden über einen großen Bereich
entfaltet wird. Das domäneneigene
Mehrfachsendungs-Routing muss noch erfolgreich realisiert werden
und es gibt viele Gründe anzunehmen,
dass sich das Mehrfachsenden in seiner gegenwärtigen Form niemals im gesamten
Internet universell entfalten wird. Andererseits ist das Mehrfachsenden
dann, wenn es auf eine einzeln verwaltete Netzwerkdomäne beschränkt ist,
viel einfacher zu konfigurieren und zu verwalten und kann bei einigen
Anwendungen eine annehmbare Leistungsfähigkeit aufweisen.
-
Das
Patent US Nr. 5.634.011 lehrt ein Mehrfachknoten-Mehrfachsendungs-Kommunikationsnetzwerk mit
einer verteilten Steuerung der Erzeugung, Verwaltung und Betriebsartauswahl,
die in jedem der Knoten des Netzwerks betreibbar ist. Jeder Knoten
des Netzwerkes ist mit einem Einstellungsmanager versehen, um entweder
die Erzeugung, die Verwaltung oder den Zugriff auf eine Gruppe von
Benutzern zu steuern, an die eine Mehrfachsendung gerichtet ist.
-
Deering
S u. a. lehren in "The
PIM Architecture for Wide-Area Multicast Routing" (IEEE/ACM Transactions on Networking,
IEEE Inc. New York, US, Bd. 4, Nr. 2, 1. April 1996) eine protokollunabhängige Mehrfachsendungs-Routing-Architektur, die
Verteilungsbaumstrukturen über
großflächige Internets
aufbaut.
-
Ein
Problem, das gegenwärtigen
Mehrfachsendungs-Techniken sogar in einzeln verwalteten Netzwerkdomänen zugehörig ist,
besteht darin, dass dann, wenn Gruppenmitglieder kommen und gehen,
kein Zustellungsmechanismus vorhanden ist, der sicherstellt, dass
alle Informationen an alle gegenwärtigen Gruppenmitglieder zuverlässig zugestellt
werden. Es gibt außerdem
im Allgemeinen keinen Zustellungsmechanismus, der ein effizientes
Routing von Informationen in der gesamten Mehrfachsendungs-Gruppe
sicherstellt. Wegen des Fehlens eines derartigen Zustellungsmechanismus
ist die Verwendung des Mehrfachsendens weitestgehend auf Anwendungen
beschränkt
gewesen, bei denen eine zuverlässige
Zustellung und ein effektives Routing nicht gefordert wurden.
-
ZUSAMMENFASSUNG
DER ERFINDUNG
-
Gemäß einem
ersten Aspekt der Erfindung wird ein Verfahren geschaffen zum Verteilen
von Daten in einem Datennetzwerk, das im Folgenden im Anspruch 1
definiert ist.
-
Bevorzugte
Merkmale des ersten Aspektes der Erfindung sind im Folgenden in
den Ansprüchen
2 bis 5 definiert.
-
Gemäß einem
zweiten Aspekt der Erfindung wird ein Datennetzwerk zum Übertragen
von Daten geschaffen, das im Folgenden im Anspruch 6 definiert ist.
-
Bevorzugte
Merkmale des zweiten Aspektes der Erfindung sind im Folgenden in
den Ansprüchen
7 und 8 definiert.
-
Die
vorliegende Erfindung schafft vorzugsweise ein Verfahren und eine
Vorrichtung zum Implementieren eines Mehrpunktinfrastruktur-Transport-Protokolls
(MINT-Protokoll) in einem Datennetzwerk. Das MINT-Protokoll schafft
vorzugsweise einen zuverlässigen
Informationszustellungsmechanismus zwischen einem einzelnen Knoten
in dem Datennetzwerk und in der gesamten weiteren Infrastruktur
sowie End-Hostknoten in dem Datennetzwerk, die Mitglieder einer
bestimmten Gruppe sind. Die vorliegende Erfindung ist vorzugsweise
geeignet für
eine Verwendung bei Gruppen, die unter Verwendung von IP-Mehrfachsendungs-Routing-Protokollen
wie verteilter Modus PIM oder kerngestützte Baumstrukturen (CBT) gebildet
werden oder vorzugsweise in anderen Mehrfachsendungs-Protokollen,
wobei die Mehrfachsendungs-Gruppe einen zugeordneten Rendezvous-Punkt
oder -Knoten besitzt. Ein Beispiel eines derartigen Protokolls ist
in McCanne '869 beschrieben,
in dem eine Beschreibung eines Überlagerungs-Mehrfachsendungs-Netzwerks
(OMN) offenbart ist.
-
In
einer alternativen Ausführungsform
der vorliegenden Erfindung wird ein Prozess-Agent zum Verarbeiten
von Daten in einem Knoten in einem Datennetzwerk geschaffen. Das
Datennetzwerk dieser Ausführungsform
verbindet mehrere Knoten und wenigstens ein Teil der mehreren Knoten
bilden eine Mehrfachsendungs-Gruppe. Einer der Knoten in der Mehrfachsendungs-Gruppe wird als ein
Rendezvous-Knoten bezeichnet. Der Prozess-Agent umfasst einen Zustandsspeicher
und einen Protokoll-Prozessor. Der Protokoll-Prozessor besitzt eine
Logik, um mit einem ausgewählten
Knoten in dem Datennetzwerk zu verbinden, und besitzt eine Logik,
um unter Verwendung eines zuverlässigen
Protokolls über
einen Datenkanal Daten an weitere Prozess-Agenten in dem Datennetzwerk
zu senden und von diesen zu empfangen. Der Protokoll- Prozessor verbindet
außerdem
mit dem Zustandsspeicher und besitzt eine Logik zum Speichern der
Daten in dem Zustandsspeicher bzw. um Daten aus diesem wiederzugewinnen.
-
KURZBESCHREIBUNG
DER ZEICHNUNG
-
Bevorzugte
Ausführungsformen
der Erfindung werden nun lediglich beispielhaft unter Bezugnahme auf
die beigefügte
Zeichnung beschrieben, in der:
-
1A einen Computer zeigt,
der zur Verwendung mit der Verwendung geeignet ist;
-
1B Untersysteme in dem Computer
von 1A zeigt;
-
2 ein Datennetzwerk zeigt,
das gemäß der vorliegenden
Erfindung aufgebaut ist;
-
3 einen Blockschaltplan
eines MINT-Prozess-Agenten 300 zeigt, der gemäß der vorliegenden
Erfindung aufgebaut ist;
-
4 beispielhafte MINT-Informationen
zeigt;
-
5 eine Mehrfachsendungs-Gruppe
zeigt, die in dem Datennetzwerk von 2 definiert
ist;
-
6 einen Blockschaltplan
für ein
Verfahren zum Verbreiten von MINT-Informationen über das in 5 gezeigte Netzwerk zeigt;
-
7 eine modifizierte Mehrfachsendungs-Gruppe
zeigt, die so modifiziert ist, dass sie einen Verbindungs-Knoten
enthält;
-
8 einen Blockschaltplan
für ein
Verfahren zum Verbreiten von MINT-Informationen über der modifizierten Mehrfachsendungs-Gruppe
von 7 zeigt;
-
9 einen Blockschaltplan
eines Verfahrens zum Freigeben eines Knotens in einer Mehrfachsendungs-Gruppe
und zum Beenden seiner zugeordneten MINT- Bindung zeigt;
-
10 eine Darstellung ist,
die Transaktionsschritte während
der Ausführung
des in 9 gezeigten Verfahrens
weiter erläutert;
und
-
11 eine Darstellung ist,
die Transaktionsschritte während
der Ausführung
des in 9 gezeigten Verfahrens
weiter erläutert.
-
BESCHREIBUNG
DER SPEZIELLEN AUSFÜHRUNGSFORMEN
-
In
einer Ausführungsform
schafft die vorliegende Erfindung ein Verfahren und eine Vorrichtung
zum Implementieren eines MINT-Protokolls in einem Datennetzwerk,
um einen zuverlässigen
Informationszustellungsmechanismus zwischen einem Absenderknoten
in dem Datennetzwerk und Mitgliedern einer Mehrfachsendungs-Gruppe,
der Infrastruktur und/oder End-Hosts in dem Datennetzwerk zu schaffen.
-
Unter
Verwendung von MINT ordnen Absender bezeichnete Werte einer Mehrfachsendungs-Gruppe zu,
die in und über
dem Datennetzwerk verbreitet werden, wodurch andere Gruppenmitglieder
sowie Netzwerkobjekte diese "Datenbank" des verteilten Zustands
abfragen können.
Jedes Tupel in der Datenbank, das als ein "Mint" bezeichnet
wird, ist durch seinen Besitzer (der Mehrfachsendungs-Absender), die Bezeichnung
und die Mehrfachsendungs-Gruppe gekennzeichnet. Die Mints werden
zuverlässig
zu allen Abschnitten des Netzwerks mit aktiven Gruppenteilnehmern
verbreitet. Vorzugsweise bewegen sich Mints lediglich zu Routern,
die längs
eines Weges von der Quelle zu der Menge von aktiven Empfängern für diese
Gruppe vorhanden sind. Das hat ein effektives Routing von MINT-Informationen
zu Folge, was einen Vorteil gegenüber Systemen des Standes der
Technik darstellt, die so betrieben werden, dass sie das gesamte
Netzwerk mit Informationen überfluten
ohne Rücksicht
auf effektives Routing und effektive Verteilung. Ein End-Host kann
das Mehrfachsendungs-Untersystem abfragen, um alle bekannten Mints,
die durch jeden Besitzer verbreitet wurden, zu entdecken und/oder
zu spezifizieren. Die Mint-Werte können wiederum durch Bezugnahme
auf die Bezeichnung bzw. den Besitzer abgefragt werden und der Agent,
der die Abfrage ausführt,
kann asynchron benachrichtigt werden, wenn der Besitzer die Werte
modifiziert.
-
In
einer Ausführungsform
sind spezielle Mints für
systemspezifische Funktionen reserviert, die z. B. eine Gruppe auf
einen Anwendungstyp abbilden oder die Attribute einer Gruppe beschreiben,
so dass die Gruppe in lokal definierte Verkehrsklassen in unterschiedlichen
Teilen des Netzwerks abgebildet werden kann. Wenn z. B. ein gesendeter
Datenstrom eine Verarbeitung auf Anwendungsebene und/oder eine Verkehrsverwaltung
erfordert, schafft ein spezielles "Einstellungs-Mint" die erforderlichen Informationen und
geht der Übertragung
von Daten voraus.
-
In
einer weiteren Ausführungsform
kann eine Informationsquelle das MINT-Protokoll verwenden, um Mints,
die in die Gruppe eingeleitete Datenströme kommentieren, zu verbreiten.
Spezialisierte Paketweiterleitungseinrichtungen, die sich in jedem
Knoten in der Mehrfachsendungs-Baumstruktur für die fragliche Gruppe befinden,
verarbeiten die empfangenen Datenströme auf der Grundlage der Stromkommentare.
Die Paketweiterleitungseinrichtungen können z. B. Netzwerkbandbreite
an die Datenströme
auf der Grundlage der Stromkommentare zuweisen.
-
1A ist eine Darstellung
eines Computersystems 1, das für die Verwendung bei der vorliegenden Erfindung
geeignet ist. Das Computersystem 1 enthält eine Anzeige 3 mit
einem Anzeigebildschirm 5. Das Gehäuse 7 beherbergt (nicht
gezeigte) Standard-Computerkomponenten, wie etwa ein Plattenlaufwerk,
ein CD-ROM-Laufwerk, einen Anzeigeadapter, eine Netzwerkkarte, einen
Arbeitsspeicher (RAM), eine zentrale Verarbeitungseinheit (CPU)
und weitere Komponenten, Untersysteme und Vorrichtungen. Benutzer-Eingabevorrichtungen,
wie etwa eine Maus 11 mit Knöpfen 13 und eine Tastatur 9,
sind gezeigt. Weitere Benutzer-Eingabevorrichtungen, wie etwa eine
Rollkugel, ein Berührungsbildschirm,
ein Digitalisiertablett usw., können
verwendet werden. Das Computersystem stellt im Allgemeinen lediglich
eine Veranschaulichung eines Typs des Computersystems dar, wie etwa
ein Desktop-Computer,
das für
die Verwendung bei der vorliegenden Erfindung geeignet ist. Computer
können
mit vielen unterschiedlichen Hardware-Komponenten konfiguriert sein und
können
in vielen Abmessungen und Arten (z. B. Laptop, Palmtop, Pentop,
Server, Arbeitsstation, Mainframe) hergestellt sein. Jede Hardware-Plattform,
die zum Ausführen
der hier beschriebenen Verarbeitung geeignet ist, ist für die Verwendung
bei der vorliegenden Erfindung geeignet.
-
1B veranschaulicht ein Untersystem,
das typischerweise in einem Computer, wie etwa das Gehäuse 7 des
Computers 1, vorkommen könnte. In 1B sind die Untersysteme direkt an den
internen Bus 22 angeschlossen. Die Untersysteme enthalten
einen Eingabe/Ausgabe- (E/A) Controller 24, einen System-Arbeitsspeicher
(RAM) 26, eine zentrale Verarbeitungseinheit (CPU) 28,
einen Anzeigeadapter 30, einen seriellen Anschluss 40,
eine Festplatte 42 und einen Netzwerk-Schnittstellenadapter 44.
Die Verwendung des Busses 22 ermöglicht, dass jedes der Untersysteme
zwischen den Untersystemen und, was am wichtigsten ist, mit der
CPU Daten übertragen
kann. Externe Vorrichtungen können
mit der CPU oder mit anderen Untersystemen über den Bus 22 kommunizieren,
indem sie sich mit einem Untersystem auf dem Bus verbinden. Der Monitor 46 ist über den
Bus mit dem Anzeigeadapter 30 verbunden. Eine Relativzeigevorrichtung
(RPD) 48, wie etwa eine Maus, ist über den seriellen Anschluss 40 angeschlossen.
Einige Vorrichtungen, wie etwa die Tastatur 50, können ohne
Verwendung des Hauptdatenbusses mit der CPU direkt kommunizieren,
z. B. über einen
Unterbrechungscontroller und zugehörige Register (die nicht gezeigt
sind).
-
Wie
bei der externen physikalischen Konfiguration, die in 1A gezeigt ist, sind viele
Untersystem-Konfigurationen möglich. 1B veranschaulicht lediglich
eine geeignete Konfiguration. Andere Untersysteme, Komponenten oder
Vorrichtungen als diejenigen, die in 1B gezeigt
sind, können
angefügt
werden. Andere Untersysteme, wie etwa ein CD-ROM-Laufwerk, Graphik-Beschleuniger usw.,
können
in der Konfiguration enthalten sein, ohne die Leistungsfähigkeit
des Systems der vorliegenden Erfindung zu beeinflussen.
-
2 zeigt einen Abschnitt
eines Datennetzwerks 200, das gemäß der vorliegenden Erfindung
aufgebaut ist. Das Netzwerk 200 umfasst Routing-Knoten (oder Ursprungs-Router) 202, 204, 206, 208, 210 und 212. Die
Knoten sind untereinander durch zweiseitig gerichtete Verbindungen,
wie jene, die mit den Bezugszeichen 214, 216 und 218 gezeigt
sind, verbunden. Im Netzwerk 200 sind die Informationsquellen 220 und 222 enthalten.
Außerdem
sind im Netzwerk 200 die Clienten 224, 226, 228 und 230 gezeigt,
die an die Routing-Knoten über
zusätzliche
zweiseitig gerichtete Verbindungen angeschlossen sind. Das Netzwerk 200 veranschaulicht, dass
die Routing-Knoten 204 und 210 tatsächlich Teil
anderer Netzwerkdomänen,
wie etwa die Domäne
X bzw. die Domäne
Y, sein können.
Somit veranschaulicht das Netzwerk 200 lediglich eine Ausführungsform
der vorliegenden Erfindung. Es ist für einen Fachmann selbstverständlich,
dass weitere Ausführungsformen
der vorliegenden Erfindung in anderen Typen von Netzwerkarchitekturen
oder Topologien verwendet werden können.
-
Mit
jedem der Knoten des Netzwerks 200 sind Prozess-Agenten 232, 234, 236, 238, 240 und 242 verbunden.
Die Prozess-Agenten sind so gezeigt, dass sie sich außerhalb
der Routing-Knoten befinden, die MINT-Prozess-Agenten können jedoch
in jedem der Routing-Knoten enthalten sein. Die MINT-Prozess-Agenten
senden und empfangen Informationen über ihre zugeordneten Knoten,
um das MINT-Protokoll zu implementieren. Das Netzwerk 200 kann
Mehrfachsendungs-Gruppen
bilden, wie z. B. in IP-Mehrfachsendungs-Routing-Protokollen wie
verteilter Modus PIM oder kerngestützte Baumstrukturen, bei denen
die Mehrfachsendungs-Gruppe einen zugeordneten Rendezvous-Punkt
oder – knoten
besitzt.
-
3 zeigt eine beispielhafte
Ausführungsform
eines MINT-Prozess-Agenten 300, der gemäß der vorliegenden Erfindung
aufgebaut ist. Der MINT-Prozess-Agent 300 ist
repräsentativ
für die
in 2 gezeigten MINT-Prozess-Agenten,
wie etwa der MINT-Prozess-Agent 232. Der MINT-Prozess-Agent 300 kann
im Datennetzwerk 200 verwendet werden, um das MINT-Protokoll
zu implementieren. Der MINT-Prozess-Agent umfasst ein MINT-Protokoll-Modul
(PM) 302, einen Datenspeicher 304 und wahlweise
eine Paketweiterleitungseinrichtung 306.
-
Das
MINT-PM 302 verbindet mit einem Routing-Knoten in dem Datennetzwerk über eine
Verbindung 308. Das MINT-PM verwendet die Verbindung 308,
um mit dem Routing-Knoten zu kommunizieren und um einen MINT-Kanal
zu bilden, der ermöglicht,
dass die MINT-Prozess-Agenten in dem Datennetzwerk miteinander kommunizieren.
Der MINT-Kanal wird z. B. verwendet, um Informationen zwischen den
MINT-Prozess-Agenten und/oder zwischen den MINT-Prozess-Agenten und Clienten,
Informationsquellen und allen anderen End-Hosts in dem Datennetzwerk
zu senden und zu empfangen. Der Datenspeicher 304 verbindet
mit dem MINT-PM und speichert die Mint-Informationen, die eine Datenbank
des verteilten Zustands bilden.
-
Die
optionale Paketweiterleitungseinrichtung 306 kann verwendet
werden, wenn die MINT-Prozess-Agenten verwendet werden, um Verkehrsströme auf der
Grundlage von Mint-Informationen zu regeln, wie in McCanne '865 beschrieben ist.
Die Paketweiterleitungseinrichtung 306 empfängt Datenpakete 310,
die in dem Netzwerk 200 übertragen werden, und verarbeitet
die empfangenen Datenpakete, um einen Ausgangsstrom 312 für eine Übertragung
in dem Netzwerk zu bilden. Die Paketweiterleitungseinrichtung 302 koppelt
mit dem MINT-PM 302 und dem Datenspeicher 304,
um Informationen auszutauschen, die zum Festlegen verwendet werden,
wie die Paketweiterleitungseinrichtung 306 die empfangenen
Datenpakete verarbeitet. Mint-Informationen, die von dem Datenspeicher 304 wiedergewonnen
werden, werden z. B. von der Paketweiterleitungseinrichtung 306 verwendet,
um Bandbreitenzuweisungen in dem Datennetzwerk für die empfangenen Datenpakete 310 festzulegen.
In einem weiteren Beispiel werden Mint-Informationen, die von dem
Datenspeicher 304 wiedergewonnen werden, von der Paketweiterleitungseinrichtung 306 verwendet,
um Pakete in dem Ausgangsdatenstrom 312 auf der Grundlage
von Prioritätsinformationen,
die in den Mint-Informationen enthalten sind, zusammenzustellen.
-
In
einer weiteren Ausführungsform
des MINT-Prozess-Agenten 300 ist die Paketweiterleitungseinrichtung 306 in
dem MINT-Prozess-Agenten 300 weggelassen und es wird angenommen,
dass sie in dem zugehörigen
Ursprungs-Router vorhanden ist. In einer derartigen Ausführungsform
wird der MINT-Prozess-Agent verwendet, um Mints in dem Datennetzwerk
zu verarbeiten und zu übertragen,
er führt
jedoch keine Verarbeitung an Datenpaketen, die in dem Netzwerk übertragen
werden, aus. Somit wäre
der MINT-Prozess-Agent auf die Aufgaben der Verarbeitung von Mints
und der Gewährleistung
der zuverlässigen
Zustellung von Mints in dem Datennetzwerk beschränkt.
-
Das MINT-Protokoll
-
Das
MINT-Protokoll schafft einen gruppenorientierten zuverlässigen Informationszustellungsmechanismus
an die Untermenge von Knoten in einem Datennetzwerk, die die Mehrfachsendungs-Routing-Baumstruktur überspannen,
die die entsprechende Gruppe unterstützt. Außerdem können End-Host-Quellen Daten in
dem Netzwerk verbreiten, indem sie MINT-Befehle an die Rendezvous-Punkte für die fragliche
Gruppe richten. Das MINT-Protokoll schafft einen Mechanismus, durch
den eine Menge verteilter Werte bei allen MINT-Prozess-Agenten, die mit
aktiven Knoten in der überspannenden
Baumstruktur verbunden sind, gehalten werden, wenn Mitglieder kommen
und gehen. Zusätzliche
Merkmale des MINT-Protokolls dienen für Anfragen durch beliebige Netzwerk-Clienten
oder Management-Agenten, um die aktuellste Menge der verbreiteten
Werte zu erhalten.
-
Ein
MINT-Kanal ist jeder aktiven Mehrfachsendungs-Gruppe zugeordnet.
Der MINT-Kanal könnte
eine zuverlässige
Steuerverbindung unter Verwendung von TCP sein, das einem MINT-Zugriffsprotokoll
zusammenhängt,
das mehrere MINT-Befehle umfasst. Anwendungen verbreiten bezeichnete
Daten-Tupels, die als "Mints" bezeichnet werden,
in dem MINT-Kanal, indem MINT-Befehle an den Rendezvous-Punkt gerichtet
werden; wobei das MINT-PM bei dem Rendezvous-Punkt wiederum sicherstellt, dass jedes
derartige Mint zu allen MINT-Prozess-Agenten verbreitet wird, die Routing-Knoten
zugeordnet sind, die der Verteilungs-Baumstruktur für diese
Gruppe zugehörig
sind. Das ermöglicht
Randanwendungen, einen Zustand in dem Netzwerk zu verbreiten und
mit Prozess-Agenten auf Anwendungsebene (d. h. Einschübe) zu kommunizieren,
die in dem Netzwerk vorhanden sein können oder als Teil der MINT-Prozess-Agenten vorgesehen
sein können.
Die Paketweiterleitungseinrichtungen können z. B. Prozess-Agenten
auf Anwendungsebene betreiben, die mit Randanwendungen über den
MINT-Kanal kommunizieren können,
um den Randanwendungen Netzwerk-Bandbreite zuzuweisen. Das MINT-Protokoll
schafft außerdem
eine wohldefinierte Kommunikationsabstraktion für sich ausbreitende Mints längs des
Pfads der überspannenden
Baumstruktur in dynamischer Weise, wenn Unter-Baumstrukturen kommen
und gehen. Immer dann, wenn ein Router oder ein Knoten in einen
Zweig zu einer überspannenden
Baumstruktur einer bestimmten Gruppe eingesetzt wird, werden alle
Mints für
diese Gruppe längs des
neu erzeugten Zweiges geleitet oder verbreitet. Als Ergebnis wird
ein Zustand zuverlässig
an alle MINT-Prozess-Agenten längs
des neu eingesetzten Zweiges verbreitet.
-
Das Datenmodell
-
Das
Datenmodell, das durch das MINT-Protokoll angenommen wird, ist ein
dauerhafter Datenspeicher der bezeichnete Tupels oder Mints. Ein
Ursprungsknoten (oder Besitzer) kann Mints in dem Netzwerk verbreiten
(publish) oder kann seine Zugehörigkeit
zu dem dauerhaften Datenspeicher unter Verwendung der MINT-Zugriffsbefehle
aufgeben (relinquish). Wenn ein Knoten ausfällt oder in anderer Weise vom
Netzwerk getrennt wird, werden alle seine verbreiteten Bindungen
aus seinem zugehörigen
Datenspeicher gelöscht,
wenn der entsprechende Ast der Mehrfachsendungs-Routing-Baumstruktur
(für die
fragliche Gruppe) entfernt wird.
-
Da
Mints beständig
sind, können
dem MINT-Prozess-Agenten die Betriebsmittel ausgehen, um alle die Mints
zu halten, die in dem Netzwerk verbreitet wurden. In diesem Fall
misslingt der Mint-Verbreitungsprozess. Um die End-Clienten über diesen
Ausfall zu benachrichtigen, wird ein spezielles, reserviertes Fehler-Mint
an die Gruppe angefügt
und besitzt Priorität
gegenüber
allen vorhandenen Mints.
-
Statische
Prioritäten
können
Mints zugewiesen sein. Diese steuern die relative Reihenfolge der
Mints, wenn sie zwischen MINT-Prozess-Agenten verbreitet werden,
wenn Zweige der Verteilungs-Baumstruktur kommen und gehen. Jedes
Mint ist mit einer strukturierten hierarchischen Bezeichnung bezeichnet,
wodurch ein reicher Mechanismus zum Beurteilen eine Klasse von Mints
durch einen Präfix,
einen regelmäßigen Ausdruck
oder andere Beurteilungstechniken geschaffen wird. MINT-Datenbezeichnungen
werden als Textstrings repräsentiert,
während
MINT-Werte beliebige binäre
Daten sind.
-
4 zeigt beispielhafte MINT-Informationen 400,
die bei dem Datenspeicher 304 des MINT-Prozess-Agenten 300 vorkommen
können.
Die MINT-Informationen 400 umfassen
Tupels aus Mint-Parametern, die jeden Typ von Informationen repräsentieren.
Die Mint-Parameter können
z. B. Informationen beschreiben, die in dem Datennetzwerk übertragen
werden. Obwohl eine spezielle Ausführungsform der MINT-Informationen 400 in 4 gezeigt ist, ist es für einen
Fachmann selbstverständlich,
dass weitere Ausführungsformen der
MINT-Informationen, die andere Datentypen repräsentieren, möglich sind,
ohne vom Umfang der vorliegenden Erfindung abzuweichen.
-
Die
MINT-Informationen 400 umfassen Mints, die eine Gruppe 401,
einen Ursprung 402, eine Bezeichnung 404, einen
Wert 406 und eine Priorität 408 umfassen. Da
ein Knoten in dem Datennetzwerk einer oder mehreren Mehrfachsendungs-Gruppen
zugeordnet sein kann, können
die MINT-Informationen
Mint-Parameter enthalten, die einer oder mehreren Mehrfachsendungs-Gruppen
zugeordnet sind. Wie in 4 gezeigt
ist, kann ein Ursprung mehreren bezeichneten Werten zugeordnet sein.
In der speziellen Ausführungsform
der MINT-Informationen 400 beschreiben Paare aus Bezeichnung
und Wert Video-Datenströme.
Es ist für
einen Fachmann selbstverständlich,
dass die Paare aus Bezeichnung und Wert jeden Informationstyp repräsentieren
können.
-
Der Bezeichnungsraum
-
Die
Bezeichnungen, die den MINT-Datenspeicher indexieren, bilden natürlich einen
Bezeichnungsraum. Jeder Gruppe ist ein autonomer Bezeichnungsraum
zugeordnet, d. h. die Mints jeder Gruppe sind vollkommen unabhängig von
allen anderen Gruppen. Um ergiebige und effiziente Anfragen über diese
Bezeichnungsräume
zu unterstützen,
werden die Bezeichnungen in einer strukturierten und trotzdem einfachen
Form repräsentiert.
Im Einzelnen bilden die Bezeichnungen einen hierarchischen Bezeichnungsraum,
wobei die Hierarchie-Abgrenzungen durch einen Trennstrich "/" bezeichnet sind, in gleicher Weise
wie das Unix-Dateisystem Verzeichnisnamen in einer Hierarchie anordnet
und den Trennstrich "/" verwendet, um die
relativen Elemente des Pfads durch eine baumgestützte Hierarchie anzugeben.
-
Die
Darstellung des hierarchischen Bezeichnungsraums ermöglicht,
dass Übereinstimmungsanfragen bei
dem vorhandenen Bezeichnungsraum ausgeführt werden. Um z. B. einen
Werbe-Einfügungsdienst
aufzubauen, könnte
ein Sendesystem Werbeinformationen als eine Folge von Mints unter
dem Präfix "/ad/info" verbreiten. Somit
könnte
ein Client die Datenbank abfragen wollen, um festzustellen, welche
Bezeichnungen unter diesem Präfix
mit einer "globalen" Übereinstimmung, z. B. "/ad/info/*" vorhanden sind.
Ein Netzwerk-Agent könnte
gleichfalls immer dann benachrichtigt werden wollen, wenn sich diese
Informationen ändern,
so das eine Ereignis-Rückmeldung
erfolgen kann, wenn Mints, die mit "/ad/info/*" übereinstimmen,
erzeugt, gelöscht oder
modifiziert werden.
-
Das Protokoll-Modul
-
Jeder
MINT-Prozess-Agent in dem Netzwerk enthält ein MINT-Protokoll-Modul
(MINT-PM), das den Datenspeicher hält, der durch Ursprung, Gruppe
und Bezeichnung aller verbreiteter Mints, die diesem Agenten bekannt
sind, indexiert wird. Der Verbreiter eines Mints wird als sein Ursprung
oder Besitzer bezeichnet. Obwohl sich ein Ursprung irgendwo in dem
Datennetzwerk befinden kann, muss er Mints für eine bestimmte Gruppe über diesen
Rendezvous-Punkt der Gruppe verbreiten.
-
In
einer Ausführungsform
der Erfindung wird jedes Mint undefiniert verbreitet und es gibt
keinen Auffrischungsprozess. Das ist möglich, da das MINT-Protokoll
(in Verbindung mit dem zu Grunde liegenden Routing-Protokoll) ermöglicht,
dass der Gruppenzustand über
die gruppenüberspannende
Baumstruktur widerspruchsfrei aufrechterhalten werden kann. Wenn
z. B. in einigen Routing-Protokollen
ein Fehler auftaucht, reagiert das Routing-System mit Abbruch und
bei Bedarf mit anschließendem
Neuaufbau der Gruppe; folglich werden alle Mints, die der fraglichen
Gruppe angefügt
sind, durch das MINT-Protokoll verbreitet, wenn die Gruppe neu aufgebaut
wird. Somit kann der Gruppenzustand widerspruchsfrei verwaltet werden
und es gibt keine Notwendigkeit für einen Auffrischungs/Zeitsperren-Prozess.
-
Der
Umfang des Mint-Zustands, den ein beliebiger einzelner Knoten in
das Netzwerk einleiten kann, ist durch einen konfigurierbaren Parameter
beschränkt.
Die Daten, die für
jedes Tupel, das einer vorgegebenen Gruppe zugeordnet ist, gespeichert
werden, enthalten die folgenden Elemente:
-
-
Es
gibt keine Notwendigkeit für
eine Folgenummer oder eine Zeitmarkierung, da der Datenspeicher bei
jedem Knoten nachweisbar zu dem Datenspeicher konvergieren wird,
der bei dem Rendezvous-Punkt für die
Gruppe gehalten wird.
-
Es
gibt drei Typen von Protokoll-Nachrichten:
- – Verbreiten-Nachrichten
(publish-Nachrichten) bewirken, dass ein MINT erzeugt, verbreitet
und über
der Sende-Baumstruktur, die durch die fragliche Gruppe überspannt
wird, gehalten wird;
- – Löschen-Nachrichten
(relinquish-Nachrichten) heben eine Mint-Bindung im Namen ihres
Ursprungs explizit auf; und
- – Abfrage-Nachrichten
(query-Nachrichten) ermöglichen,
dass der MINT-Datenspeicher nach Bezeichnung und Wertinformationen
abgefragt werden kann.
-
Diese
Nachrichten werden mit Partner-MINT-PMs ausgetauscht und besitzen
die folgende abstrakte Form:
-
-
Die Verbreiten-Nachricht
-
Die
Zuverlässigkeit
der vorliegenden Erfindung basiert auf einem neuartigen Zustellungsmechanismus,
der mit dem Gruppenmitgliedschaft-Protokoll verbunden ist. Da das
MINT-Protokoll gruppenweise betrieben wird, wird die fragliche Gruppe
allgemein als "Gruppe
G" bezeichnet. Eine
Partner-Vorrichtung, von der ein MINT-PM verbreitete Mints empfängt, wird
sich im Allgemeinen auf dem Rückweg
der kürzesten
Route zurück
zum Rendezvous-Punkt befinden. Das kann nicht immer der Fall sein,
da der Pfad von dem zu Grunde liegenden Routing-Prozess abhängt. Diese
Partner-Vorrichtung kann als "Stamm"-Partner-Vorrichtung bezeichnet
werden. Zu jedem Zeitpunkt können
verbreitete Mints von unterschiedlichen Stamm-Vorrichtungen empfangen
werden als Ergebnis der Routing-Änderungen,
die bei Änderungen
in der überspannenden
Baumstruktur für
die Gruppe G auftreten können.
Alle diese Mints werden in dem Datenspeicher, der dem MINT-PM zugeordnet
ist, gehalten.
-
MINT-PMs,
die Partner-Vorrichtungen in einer Gruppe, wie etwa die Gruppe G,
zugeordnet sind, übertragen
Mints untereinander über
den MINT-Kanal durch Einzelsenden. Der MINT-Kanal ist eine zuverlässige Verbindung,
z. B. eine zuverlässige
TCP-Verbindung, die mit den zu Grunde liegenden Partner-Relationen des Routers
konform ist.
-
Wenn
ein MINT-PM ein neues Mint von einem MINT-PM, der seiner Partner-Stammvorrichtung
zugeordnet ist, empfängt,
gibt es das Mint in seinen Datenspeicher ein und leitet eine Kopie
des Mints an die MINT-PMs weiter, die anderen Stammvorrichtungen
in der aktuellen Mehrfachsendungs-Überspannungs-Baumstruktur
zugeordnet sind. Ein MINT-PM empfängt z. B. ein verbreitetes
Mint von seiner Partner-Stammvorrichtung, aktualisiert deren Datenspeicher
und verbreitet dann als eine Stammvorrichtung das Mint zu anderen
MINT-PMs. Es wird angemerkt, dass diese Aktion gegenüber allen Änderungen
der überspannenden
Baumstruktur elementar ausgeführt
wird. Das Ziel besteht darin, die Invarianz aufrechtzuerhalten, dass
alle MINT-PMs, die Stammvorrichtungen in der überspannenden Baumstruktur
für G zugeordnet
sind, alle Mints, die in dem Datenspeicher ihrer entsprechenden
Partner gespeichert sind, zuverlässig
verteilten, wobei der letzte Partner das MINT-PM ist, das dem Rendezvous-Punkt
für die
Gruppe zugeordnet ist.
-
Wenn
das MINT-PM (von seinem Partner) ein Mint empfängt, das bereits in seiner
Tabelle ist, prüft
es um festzustellen, ob der Datenwert unterschiedlich ist. Wenn
das nicht der Fall ist, erhöht
es einen Fehlerzähler (auf
den über
das Netzwerk-Management-Protokoll zugegriffen werden kann), da die
Stammvorrichtung wissen sollte, keine redundante Aktualisierung
zu senden.
-
Wenn
der Wert unterschiedlich ist, aktualisiert das MINT-PM seinen Datenspeicher
und verbreitet die Änderung
(durch Neuverteilung des Mints als eine Partner-Stammvorrichtung)
zu jeder seiner Nachfolger-Stammvorrichtungen in der aktuellen Mehrfachsendungs-Überspannungsbaumstruktur
für G.
Tatsächlich gibt
das MINT-PM einen weiteren Verbreiten-Befehl an Stamm-MINT-PMs aus, als
ob es die Stammvorrichtung sei.
-
Wenn
das MINT-PM ein Mint von einer Stammvorrichtung empfängt, die
nicht sein Partner für
die Gruppe G ist, zeichnet es die Mint-Aktualisierung in einer Schattentabelle
für diese
Stammvorrichtung auf. Wenn diese Stammvorrichtung später seine
Partnervorrichtung für
G wird, wird diese Schattentabelle der aktuelle Datenspeicher (und
alle Unterschiede, die auftreten, wenn die Tabellen gewechselt werden,
werden als normale Mint-Ankünfte
oder Löschungen
behandelt).
-
Wenn
ein Knoten der Gruppe G eine Einfügen-Nachricht empfängt und
der anfordernde Knoten an der Gruppe G eingefügt wird, werden alle Mints,
die der Gruppe G zugeordnet ist, an das MINT-PM gesendet, das dem
anfordernden Knoten zugeordnet ist. Die Mints werden in der Reihenfolge
der statistischen Priorität
gesendet (gemäß dem Prioritätsfeld in
dem Tupel). Die Sammlung aller bekannten Mints muss gegen spätere Mint-Ankünfte und
andere Zustandsänderungen
elementar gebildet werden. Wenn der Knoten eine Löschen-Nachricht
von einem anderen Knoten in der Gruppe G empfängt, muss er nichts tun und
muss annehmen, dass die stromabwärts
liegende Stammvorrichtung alle Mints für die Gruppe G vergessen hat.
-
Wenn
ein MINT-PM ein Mint von einer Stammvorrichtung empfängt, die
nicht in der Mehrfachsendungs-Überspannungsbaumstruktur
enthalten ist, ignoriert es die Aktualisierung und erhöht den Fehlerzähler. Das
ist ein Fehlerzustand, da eine Stammvorrichtung keine Mints für die Gruppe
G senden kann, es sei denn, sie ist zuvor der Gruppe beigetreten.
-
Die Löschen-Nachricht
-
Wenn
ein Mint für
Gruppe G durch einen Ursprungsknoten gelöscht wird (über die Löschen-Nachricht, die an den
Rendezvous-Punkt gesendet wird), entfernt das MINT-PM bei dem Rendezvous-Punkt
das entsprechende Mint aus seinem Datenspeicher und verbreitet eine
Löschen-Nachricht
an jede seiner Nachfolger-Stammvorrichtungen
in der aktuellen überspannenden
Mehrfachsendungs-Baumstruktur
für G.
-
Wenn
das MINT-PM eine Löschen-Nachricht
für ein
Mint von einer Partner-Stammvorrichtung
empfängt,
konsultiert es seinen Datenspeicher (der durch Besitzer und Bezeichnung
indexiert ist). Falls ein Tupel mit gleichem Besitzer und Bezeichnung
vorhanden ist, entfernt es das entsprechende Mint aus seinem Datenspeicher
und verbreitet eine Löschungsnachricht
an jede seiner Nachfolger-Stammvorrichtungen
in der aktuellen überspannenden
Baumstuktur der Mehrfachsendung für G. Wenn kein Mint mit dieser
Bezeichnung und diesem Besitzer vorhanden ist, wird ein Fehlerzähler erhöht, um den
Fehlerzustand anzugeben. Wenn eine Löschen-Nachricht von einer Stammvorrichtung,
die keine Partnervorrichtung ist, empfangen wird, wird eine Schattentabelle
aktualisiert und wird dann verwendet, wenn die Stammvorrichtung,
die keine Partnervorrichtung ist, eine Partnervorrichtung wird.
Alle Ereignisse, die mit der Löschung
eines Mints verbunden sind, werden abgeschickt, wenn das Mint aus
dem Datenspeicher gelöscht
ist.
-
Beispiele
von Transaktionen
-
Die
folgende Beschreibung präsentiert
Beispiele von Transaktionen unter Verwendung des MINT-Protokolls
gemäß der vorliegenden
Erfindung. Bei den Beispielen von Transaktionen wird angenommen,
dass Netzwerkgruppen durch Routing-Protokolle gebildet werden können, die
einen Rendezvous-Punkt (RP) verwenden, der für die Gruppe als ein Ankerpunkt
wirkt. Während
des typischen Netzwerkbetriebs kann jeder Routing-Knoten auf eine
spezielle Gruppe und ihren zugeordneten RP direkt oder indirekt
zugreifen.
-
5 zeigt das Datennetzwerk 200 und
zugeordnete MINT-Prozess-Agenten gemäß der vorliegenden Erfindung.
In dem Netzwerk 200 ist eine Mehrfachsendungs-Gruppe A
gebildet, die einen Routing-Knoten 206 als RP für die Gruppe
aufweist. Die Gruppe A enthält
die Routing-Knoten 202, 206, 208 und 204,
die Informationen an weitere Mitglieder der Gruppe A leiten, die
stromabwärts
von diesen Knoten angeordnet sind. Es wird angemerkt, dass die vorliegende Erfindung
zur Verwendung bei Gruppen, die in einer einzelnen Domäne gebildet
sind, oder bei Gruppen, die aus Knoten in mehreren Domänen gebildet
sind, wie durch die Einbeziehung des Knotens X in die Gruppe A gezeigt
ist, geeignet ist.
-
6 zeigt eine Blockdarstellung
für ein
Verfahren 600 zum Betreiben des Netzwerks 200 von 5 gemäß der vorliegenden Erfindung.
Im Block 602 beginnt das Verfahren 600 mit der
Bildung der Gruppe A, die den RP für die Gruppe A aufweist, der
beim Knoten 206 angeordnet ist, wie in 5 gezeigt ist.
-
Im
Block 604 verbreitet die Informationsquelle 220 ein
Mint zur Gruppe A. In einem Beispiel sendet z. B. die Informationsquelle 220 einen
Verbreiten-Befehl zur Gruppe A (der Mint-Informationen enthält) an den Knoten 202.
Als Teil des zu Grunde liegenden Routing-Protokolls ist dem Knoten 202 bewusst,
dass der Knoten 206 der RP für die Gruppe A ist. Folglich
leitet der Knoten 202 die Verbreiten-Anweisung zum RP,
an dem sie schließlich
empfangen wird. In einer weiteren Ausführungsform kann die Informationsquelle 202 das
Netzwerk abfragen, z. B. unter Verwendung eines Verzeichnisdienstes,
um den Standort des RP für
die Gruppe A zu bestimmen. Wenn der Standort des RP bekannt ist,
kann die Informationsquelle den Verbreiten-Befehl direkt an den
RP leiten. Der Transaktionsweg 502 zeigt die Route des
Verbreiten-Befehls von der Quelle 202 zum RP.
-
Im
Block 606 empfängt
der RP den Verbreiten-Befehl, wobei dieser an den MINT-Prozess-Agenten 236 weitergeleitet
wird, wie durch den Transaktionsweg 504 gezeigt ist.
-
Im
Block 608 aktualisiert der MINT-Prozess-Agent 236 seinen
Datenspeicher mit den neuen Mint-Informationen. Diese Operation
erfolgt, wenn das MINT-PM 302 das verbreitete Mint über den
MINT-Kanal 308 empfängt
und die Mint-Informationen verwendet, um seinen zugeordneten Datenspeicher 304 zu
aktualisieren.
-
Im
Block 610 werden die aktualisierten Mint-Informationen
zu weiteren MINT-Prozess-Agenten
in der Gruppe A verbreitet, und zwar zu den Agenten 232, 234 und 240.
Dazu verteilt das MINT-PM, das dem RP zugeordnet ist, die neuen
Mint-Informationen über
den MINT-Kanal zu den weiteren MINT-Prozess-Agenten in der Gruppe A. Der MINT-Prozess-Agent 236 verbreitet
die neue MINT-Informationen zur Gruppe A und die Aktualisierung
folgt dem Routing der Gruppe A, das durch das zu Grunde liegende
Routing-Protokoll festgelegt ist. Der Transaktionsweg 506 zeigt
z. B. das Routing der neu verbreiteten Mint-Informationen von dem MINT-Prozess-Agenten 236 zu
den weiteren MINT-Prozess-Agenten
in der Gruppe A. Eine Widerspruchsfreiheit wird eingehalten, indem
die oben dargestellten Mint-Verteilungsregeln befolgt werden. Folglich
werden die Mint-Informationen, die durch die Informationsquelle 220 verbreitet
werden, zuverlässig
zu allen MINT-Prozess-Agenten in der Gruppe A verteilt.
-
7 zeigt das Netzwerk 200 von 5, wobei Änderungen
bei der Zugehörigkeit
zur Gruppe A gezeigt sind. Es wird. z. B. angemerkt, dass die Zugehörigkeit
zur Gruppe A von der Gruppe, die durch die Linie 750 angegeben
ist, zu der durch die Linie 752 angegebenen Gruppe erweitert
ist, die den Knoten 212 enthält.
-
8 zeigt eine Blockdarstellung
für ein
Verfahren 800 zum Betreiben des Netzwerks von 7 gemäß der vorliegenden Erfindung.
In dem Verfahren 800 fordert der Client 226 einen
Beitritt zur Gruppe A und im Ergebnis wird die Gruppe A erweitert,
damit sie den Knoten 212 und den MINT-Prozess-Agenten 242 enthält. Das
Verfahren 800 beschreibt, wie Mint-Informationen zuverlässig verbreitet
werden, um das neue Gruppenmitglied aufzunehmen.
-
Im
Block 802 gehören
gegenwärtig
die Knoten 202, 204, 206 und 208 zur
Gruppe A, wie durch das Bezugszeichen 750 in 7 gezeigt ist. Im Block 804 sendet
der Client 228 ein Gesuch an den Knoten 212, um
der Gruppe A beizutreten. Der Client 228 möchte Informationen
empfangen, die gegenwärtig über Mehrfachsendung
in der Gruppe A verteilt werden. Im Block 806 leitet der
Knoten 212 das Beitrittsgesuch an den Knoten 206,
der bereits Mitglied der Gruppe A ist. Das Beitrittsgesuch ist durch
den Transaktionsweg 702 gezeigt. Wenn der Knoten 212 das
Beitrittsgesuch vom Knoten 212 empfängt, wird der Knoten 212 in
die überspannende
Baumstruktur für
die Gruppe A eingeschlossen, so dass die Zugehörigkeit zur Gruppe A durch
das Bezugszeichen 752 gezeigt ist. Der MINT-Prozess-Agent 242,
der dem Knoten 212 zugeordnet ist, wird ebenfalls ein Mitglied
der Gruppe A.
-
Im
Block 808 benachrichtigt der Knoten 206 den MINT-Prozess-Agenten 236, dass
der Knoten 212 und sein zugeordneter MINT-Prozess-Agent 242 der
Gruppe A beigetreten sind. Das ist durch den Transaktionsweg 704 gezeigt.
Im Block 810 verbreitet der MINT-Prozess-Agent 236 Mints,
die sich auf die Gruppe A beziehen, von seinem MINT-Datenspeicher
zu dem neu zugefügten
MINT-Prozess-Agenten 242.
Die Mints werden über
den MINT-Kanal verbreitet, wenn das MINT-PM des Agenten 236 Mint-Informationen
zu dem MINT-PM des Agenten 242 verbreitet. Das ist durch
den Transaktionsweg 706 gezeigt. Im Block 812 aktualisiert
der MINT-Prozess-Agent 242 seinen Datenspeicher mit den
neuen MINT-Informationen, so dass alle MINT-Prozess-Agenten in der
Gruppe A gleiche MINT-Informationen der Gruppe A besitzen. Es wird
angemerkt, dass der MINT-Agent 236 die Partner-Stammvorrichtung
des MINT-Agenten 242 ist.
Wenn der MINT-Prozess-Agent 242 eine Partner-Stammvorrichtung
für weitere
neu hinzugefügte
MINT-Prozess-Agenten wäre,
würde er
die neuen Mint-Informationen zu diesen weiteren MINT-Prozess-Agenten weiterverbreiten.
-
In
dem obigen Beispiel wurde der Gruppe A lediglich ein neuer Knoten
angefügt,
der anschließend
mit Mint-Informationen aktualisiert wurde. In einer Situation, bei
der der Gruppe A mehrere Knoten angefügt werden, kann die Mint-Verbreitung
der Route folgen, die im Ergebnis des Beitrittsgesuchs aufgebaut
wurde. In einer Ausführungsform
verbreiten sich z. B. die Mint-Informationen in der umgekehrten
Richtung (im Vergleich zum Beitrittsgesuch); beginnend von dem Knoten
in der Gruppe, der das Beitrittsgesuch empfangen hat, schrittweise
zurück
zu dem Beitrittssuchenden. Jeder MINT-Prozess-Agent in der umgekehrten
schrittweisen Route wird aktualisiert, bis alle MINT-Prozess-Agenten,
die dem neuen Zweig der überspannenden
Baumstruktur für
die Gruppe zugeordnet sind, aktualisiert sind.
-
Wenn
alle MINT-Prozess-Agenten die gleichen Mint-Informationen, die sich
auf die Gruppe A beziehen, in ihren entsprechenden Datenspeichern
aufweisen, möchte
die Quelle 220 aktualisierte Mint-Informationen zur Gruppe
A verbreiten. Im Block 814 sendet die Quelle 220 über den
Knoten 202 einen Verbreiten-Befehl zu dem RP. Das ist durch den
Transaktionsweg 708 gezeigt. Wie zuvor kann die Quelle
eine von mehreren Möglichkeiten
verwenden, um den Verbreiten-Befehl an den RP für die Gruppe A zu senden.
-
Im
Block 816 empfängt
der RP den Verbreiten-Befehl von der Quelle 220. Im Block 818 benachrichtigt der
RP den MINT-Prozess-Agenten 236 über den Verbreiten-Befehl (Weg 708)
und der MINT-Prozess-Agent 236 empfängt die Mints und aktualisiert
seinen Datenspeicher auf der Grundlage der Mints in dem neuen Verbreiten-Befehl.
Im Block 820 verbreitet der MINT-Prozess-Agent 236 (als
Partnervorrichtung) die neuen Mint-Informationen zu allen Stamm-MINT-Prozess-Agenten (Nachfolge-Stammvorrichtungen),
die der Gruppe A zugeordnet sind. Eine Möglichkeit dafür besteht
darin, dass der MINT-Prozess-Agent
einen Verbreiten-Befehl über
den MINT-Kanal an weitere Mitglieder der Gruppe A ausgibt, wie durch
den Transaktionsweg 710 gezeigt ist. Im Ergebnis werden
die neuen Mint-Informationen zuverlässig zu den Knoten 202, 204, 208 und 212 verbreitet,
die alle Teil der Gruppe A und Nachfolge-Stammvorrichtungen zum Agenten 236 sind.
-
Bei
diesem Beispiel müssen
die neuen Mint-Informationen, die durch den Agenten 236 verbreitet
werden, um lediglich einen Schritt verbreitet werden, um die Nachfolge-Stammvorrichtungen
zu erreichen, wie in 7 gezeigt
ist. Es ist jedoch für
einen Fachmann selbstverständlich,
dass die Nachfolge-Stammvorrichtungen (als Partnervorrichtungen)
die Mint-Informationen zu weiteren Knoten in der Gruppe A weiterverbreiten können. Somit
würden
sich dann, wenn die überspannende
Baumstruktur der Gruppe A große
Zweige von miteinander verbundenen Knoten enthalten würde, die
neuen Mint-Informationen schrittweise (von der Partnervorrichtung
zur Nachfolgevorrichtung) in der überspannenden Baumstruktur
nach unten zu allen Knoten (und MINT-Prozess-Agenten), die der Gruppe
A zugeordnet sind, ausbreiten.
-
Im
Block 822 empfangen alle MINT-Prozess-Agenten 232, 234, 240 und 242 die
neuen Mint-Informationen und aktualisieren ihre zugeordneten Datenspeicher
mit den neuen Mint-Informationen. Somit werden gemäß der vorliegenden
Erfindung die neuen Mint-Informationen zuverlässig zu allen MINT-Prozess-Agenten, die aktiven
Knoten in der überspannenden
Baumstruktur der Gruppe A zugeordnet sind, verteilt.
-
Das
Verfahren 800 veranschaulicht außerdem, wie die Mint-Informationen
gemäß der vorliegenden Erfindung
abgefragt werden können.
-
Im
Block 824 möchte
der Client 228 Mint-Informationen, die der Gruppe A zugeordnet
sind, abfragen. Der Client 228 sendet eine Abfrageanweisung
zum Knoten 212, die die Gruppe A als die Gruppe festlegt,
die von Interesse ist. Der verwendete Typ der Abfrage wird alle
bekannten Bezeichnungen (und entsprechende Ursprünge) von Datenbindungen, die
in dem Netzwerk für
die Gruppe A verbreitet wurden, zurücksenden. Die oben genannte
bezeichnungsgestützte
Anweisung [query_name(A)] wird z. B. diese Informationen zurücksenden.
-
Im
Block 826 empfängt
der MINT-Prozess-Agent 242 die Abfrageanweisung. Das ist
durch den Transaktionsweg 712 gezeigt.
-
Im
Block 828 antwortet der MINT-Prozess-Agent 242 mit
den angeforderten Mint-Informationen, indem er das Ergebnis der
Abfrage an den Clienten 228 überträgt, wie durch den Transaktionsweg 714 gezeigt
ist. Das erfolgt, wenn das MINT-PM beim Agenten 242 die
geforderten Informationen aus seinem zugeordneten Mint-Datenspeicher
wiedergewinnt und das Ergebnis über
den MINT-Kanal an den Clienten 228 sendet. Im Block 830 empfängt der
Client 228 die geforderten Mint-Informationen und der Client 228 kann
folglich die zurückgesendeten
Mint-Informationen verwenden, um den Status der Gruppe A zu bestimmen
oder aktiv werden, um einen Datenstrom, der in der Gruppe A übertragen
wird, zu empfangen.
-
9 zeigt eine Blockdarstellung
für ein
Verfahren 900, bei dem der Client 228 seine Verbindung
zur Gruppe A beendet und seine MINT-Bindung löscht. Das Verfahren 900 wird
unter Bezugnahme auf die 10 und 11 erläutert.
-
Die 10 und 11 zeigen das Netzwerk 200 und
zugeordnete Transaktionen, die während
der Ausführung
des Verfahrens 900 auftreten.
-
Nochmals
bezugnehmend auf 9 ist
der Client 228 im Block 901 mit der Gruppe A verbunden,
die Knoten und MINT-Prozess-Agenten enthält, wie in 10 gezeigt ist. Im Block 904 fordert
der Client 228 die Trennung von der Gruppe A, indem er
ein Freigabegesuch vom Clienten 228 an den Knoten 212 sendet.
Die Route des Freigabegesuchs ist mit dem Bezugszeichen 1102 gezeigt.
-
Im
Block 906 benachrichtigt der Knoten 212 den Agenten 242,
dass der Client 228 seine Zugehörigkeit zur Gruppe A beendet
und deswegen wird der Knoten 212 aus der Gruppe A herausgelöst. Da der
Knoten 212 aus der Gruppe A herausgelöst ist, verwirft der Agent 242 im
Block 908 Mints, die sich auf die Gruppe A beziehen. Es
wird angemerkt, dass dann, wenn der Knoten 212 ein Mitglied
anderer Gruppen ist, Mints, die sich auf diese anderen Gruppen beziehen,
durch den Agenten 424 gehalten werden. In anderen Ausführungsformen
kann der Agent gemäß einem
weiteren Aspekt der Erfindung, die in einem späteren Abschnitt beschrieben
wird, die Mints halten, nachdem die Gruppe verlassen wurde.
-
Im
Block 910 verbreitet der Knoten 212 das Freigabegesuch
zum RP (Knoten 206), in dem es schließlich empfangen wird. Der RP
benachrichtigt den Agenten 236 über das Freigabegesuch (durch
den Clienten 228), wie durch den Transaktionsweg 1104 gezeigt
ist. Im Block 912 hält
der Agent 236 seinen Speicher von Mints für die Gruppe
A, da er dem RP für
die Gruppe zugeordnet ist. Solange die Gruppe A vorhanden ist, wird der
Agent 236 seinen Datenspeicher von Mints halten, damit
er sie bei Bedarf zu anderen Gruppenmitgliedern verbreiten kann.
-
Im
Block 914 verarbeitet der RP (Knoten 206) das
Freigabegesuch vom Clienten 228 und im Ergebnis wird der
Knoten 212 aus der Gruppe A herausgelöst. Nachdem das erfolgt ist,
umfasst die sich ergebende Gruppe die Knoten 202, 206 und 208,
wie durch die Gruppe A von 11 gezeigt
ist:
-
In 11 setzt sich das Verfahren 900 dann,
wenn der Knoten 212 aus der Gruppe herausgelöst ist, mit
weiteren Transaktionen fort, die im Folgenden beschrieben werden.
-
Im
Block 916 verbreitet die Informationsquelle 220 ein
neues Mint, das sich auf die Gruppe A bezieht. Der Knoten 202 empfängt den
Verbreiten-Befehl und leitet ihn zum RP. Wie oben erläutert wurde,
kann die Informationsquelle den Standort des RP ermitteln und den
Verbreiten-Befehl direkt zu dem RP verbreiten. Alternativ kann dem
Knoten 202 als ein Ergebnis des zu Grunde liegenden Routing-Protokolls
der Gruppe der Standort des RP bekannt sein und deswegen leitet
der Knoten 202 den Verbreiten-Befehl direkt an den RP. Diese
Transaktion ist mit dem Transaktionsweg 1102 gezeigt.
-
Im
Block 918 empfängt
der RP den Verbreiten-Befehl und leitet die verbreiteten Mints zu
dem MINT-Prozess-Agenten 236, wie durch den Transaktionsweg 1104 gezeigt
ist. Im Block 920 aktualisiert der MINT-Prozess-Agent 236 seinen
Datenspeicher mit den neuen Mint-Informationen. Im Block 922 verbreitet
der MINT-Prozess-Agent
die neuen Mint-Informationen zu den anderen MINT-Prozess-Agenten in der Gruppe
A, und zwar zu den Agenten 232, 234 und 240.
Das ist durch die Transaktionswege 1106 gezeigt. Die Mint-Verbreitung
erfolgt, wenn der Agent 236 einen Verbreiten-Befehl mit
den neuen Mint-Informationen zu anderen Knoten in der Gruppe A ausgibt.
-
Als
ein Ergebnis dessen, dass der Client 228 seine Verbindung
mit der Gruppe A beendet und der Knoten 212 folglich aus
der überspannenden
Baumstruktur der Gruppe A herausgelöst wird, wird der MINT-Prozess-Agent 242 nicht
mehr mit neuen Mint-Informationen für die Gruppe A aktualisiert.
Das MINT-Protokoll wird jedoch weiterhin die Mint-Datenspeicher
für MINT-Prozess-Agenten,
die aktive Mitglieder der Gruppe A sind, zuverlässig aktualisieren. Sollte
der Knoten 212 zukünftig
fordern, der Gruppe A beizutreten, würden wieder aktualisierte Mints
zu dem Knoten 212 und daraufhin zum MINT-Prozess-Agenten 242 verbreitet
werden.
-
In
einer weiteren Ausführungsform
wird das MINT-Protokoll ausgeführt,
um Probleme zu überwinden, die
mit übermäßigen Routing-Schwankungen
verbunden sind. Während übermäßiger Routing-Schwankungen,
bei denen bestimmte Knoten wiederholt die Gruppe verlassen und erneut
eintreten, werden die Mint-Informationen
in den Datenspeichern, die diesen Knoten zugeordnet sind, wiederholt
verworfen und erneut eingestellt. Das hat eine übermäßige Übertragung von Mint-Informationen
in dem Datennetzwerk zur Folge. Um dieses Problem zu vermeiden,
werden durch Verbesserungen an dem MINT-Protokoll das Verwerten und das erneute
Einstellen der Datenspeicher als ein Ergebnis der übermäßigen Routing-Änderungen
vermieden.
-
In
einer Ausführungsform
wird eine MINT-Übersicht über die
in dem Datenspeicher vorhandenen Mints berechnet. Die MINT-Übersicht
kann alle Mints in dem Datenspeicher oder ausgewählte Abschnitte der Mints in
dem Datenspeicher repräsentieren.
Anstatt die Mint-Informationen zu verwerfen, wenn ein Knoten die
Gruppe verlässt,
werden die Mint-Informationen, die diesem Knoten zugeordnet sind,
gemeinsam in ihrer zugeordneten MINT-Übersicht in dem Datenspeicher
aufbewahrt. Wenn dieser Knoten wieder in die Gruppe eintritt, sendet
er seine MINT-Übersicht
zu der Gruppe. Wenn sich die MINT-Übersicht von der aktuellen
MINT-Übersicht
für die
Gruppe unterscheidet, wird der Knoten mit einer neuen Kopie der
Mint-Informationen aktualisiert. Der Knoten aktualisiert dann seinen
Mint-Datenspeicher und seine zugeordnete Übersicht. Wenn die MINT-Übersicht
von dem Knoten mit der MINT-Übersicht
für die
Gruppe übereinstimmt,
ist es nicht erforderlich, eine neue Kopie der Mint-Informationen
an den Knoten zu senden. Deswegen verhindert das verbesserte MINT-Protokoll
die übermäßige Übertragung
von Mint-Informationen in dem Netzwerk.
-
In
einer weiteren Ausführungsform
wird ein Zeitparameter verwendet, um zu verhindern, dass die Betriebsmittel
der Datenspeicher verwendet werden, um veraltete Mint-Informationen
zu speichern. Wenn ein Knoten eine Gruppe verlässt, verwendet der MINT-Prozess-Agent,
der diesem Knoten zugeordnet ist, den Zeitparameter, um festzustellen,
wie lange die Mint-Informationen in dem Datenspeicher aufzubewahren
sind. Der Wert des Zeitparameters kann durch einen Netzwerk-Administrator
bestimmt werden. Durch das Aufbewahren des Datenspeichers und seiner
zugeordneten MINT-Übersicht
während
der Zeitperiode, die durch den Zeitparameter definiert ist, kann
eine übermäßige Übertragung
von Mint-Informationen verhindert werden, wie oben erläutert wurde.
Wenn jedoch ein Knoten die Gruppe verlässt und die durch den Zeitparameter
definierte Zeitperiode abläuft,
können
die Mints für
diese Gruppe in dem Mint-Datenspeicher gelöscht werden, wodurch Betriebsmittel
des Datenspeichers freigegeben werden. Somit bewahrt der MINT-Prozess-Agent
den Datenspeicher, um redundante Mint-Übertragungen während eines
instabilen Zustands des Netzwerks zu vermeiden, und nach dem Ablauf
einer ausgewählten
Zeitperiode löscht
er den Datenspeicher, um wertvolle Betriebsmittel für die Speicherung
zusätzlicher
Mints freizugeben.
-
Für einen
Fachmann ist selbstverständlich,
dass Variationen an den oben beschriebenen Verfahren und der Vorrichtung
zum Implementieren des MINT-Protokolls möglich sind, ohne vom Umfang
der vorliegenden Erfindung abzuweichen. Demzufolge sollen die hier
erfolgten Offenbarungen und Beschreibungen den Umfang der Erfindung,
der in den folgenden Ansprüchen
dargestellt ist, veranschaulichen und nicht einschränken.