DE60008102T2 - Verfahren und vorrichtung zur mehrfachsendung - Google Patents

Verfahren und vorrichtung zur mehrfachsendung Download PDF

Info

Publication number
DE60008102T2
DE60008102T2 DE60008102T DE60008102T DE60008102T2 DE 60008102 T2 DE60008102 T2 DE 60008102T2 DE 60008102 T DE60008102 T DE 60008102T DE 60008102 T DE60008102 T DE 60008102T DE 60008102 T2 DE60008102 T2 DE 60008102T2
Authority
DE
Germany
Prior art keywords
mint
group
node
data
nodes
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE60008102T
Other languages
English (en)
Other versions
DE60008102D1 (de
Inventor
Steven Mccanne
Andrew Swan
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Altaba Inc
Original Assignee
FastForward Networks Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by FastForward Networks Inc filed Critical FastForward Networks Inc
Application granted granted Critical
Publication of DE60008102D1 publication Critical patent/DE60008102D1/de
Publication of DE60008102T2 publication Critical patent/DE60008102T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/185Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with management of multicast group membership
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/15Flow control; Congestion control in relation to multipoint traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/78Architectures of resource allocation
    • H04L47/783Distributed allocation of resources, e.g. bandwidth brokers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/80Actions related to the user profile or the type of traffic
    • H04L47/806Broadcast or multicast traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/24Negotiation of communication capabilities

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

  • 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:
  • Figure 00140001
  • 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:
  • Figure 00160001
  • 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.

Claims (8)

  1. Verfahren zur Verteilung von Daten in einem Datennetzwerk (200), wobei das Datennetzwerk (200) eine Mehrzahl von Knoten (202, 204, 206, 208, 210, 212) verknüpft und mindestens ein Teil der Mehrzahl der Knoten eine Mehrfachsendungs-Gruppe (A) bildet, wobei einer der Knoten in der Mehrfachsendungs-Gruppe (A) als ein Rendevouz-Knoten (RP) bestimmt wird, wobei das Verfahren aufweist: Halten eines Datenspeichers (304), welcher einen Gruppenzustand enthält, bei jedem der Knoten in der Mehrfachsendungs-Gruppe; Empfangen von Zustands-Aktualisierungen bei dem Rendevouz-Knoten (RP); Aktualisieren des Gruppenzustandes in dem Datenspeicher (304) bei dem Rendevouz-Knoten (RP) mit den Zustands-Aktualisierungen; Verbreiten der Zustands-Aktualisierungen unter Verwendung eines zuverlässigen Protokolls von dem Rendevouz-Knoten (RP) zu den anderen Knoten in der Mehrfachsendungs-Gruppe (A); und Aktualisieren des Gruppenzustandes in den Datenspeichern (304) bei den anderen Knoten in der Mehrfachsendungs-Gruppe (A).
  2. Verfahren nach Anspruch 1, wobei ein Verbindungs-Knoten, welcher ein Knoten der Mehrzahl der Knoten (202, 204, 206, 208, 210, 212) ist, zu der Mehrfachsendungs-Gruppe (A) hinzugefügt wird, wobei der Verbindungs-Knoten einen Datenspeicher (304) hat, wobei das Verfahren weiter die Schritte aufweist: Verbreiten des Gruppenzustandes zu den Verbindungs-Knoten; und Aktualisieren des Datenspeichers (304) bei dem Verbindungs-Knoten mit dem Gruppenzustand.
  3. Verfahren nach Anspruch 2, wobei der Schritt der Verbreitung des Gruppenzustandes einen Schritt der Verbreitung des Gruppenzustandes zu dem Verbindungs-Knoten von einem ausgewählten Knoten in der Mehrfachsendungs-Gruppe (A) aufweist.
  4. Verfahren nach Anspruch 3, wobei der Schritt der Verbreitung des Gruppenzustandes einen Schritt der Verbreitung des Gruppenzustandes zu dem Verbindungs-Knoten von ei nem ausgewählten Knoten in der Mehrfachsendungs-Gruppe (A), welcher am nächsten zu dem Verbindungs-Knoten ist, aufweist.
  5. Verfahren nach Anspruch 3, wobei der Schritt der Verbreitung des Gruppenzustandes einen Schritt der Verbreitung des Gruppenzustandes zu dem Verbindungs-Knoten von einem ausgewählten Knoten in der Mehrfachsendungs-Gruppe (A) aufweist, wobei der ausgewählte Knoten von einem Netzwerk-Routing-Protokoll bestimmt wird.
  6. Datennetzwerk (200) zum Übertragen von Daten, wobei das Datennetzwerk (200) eine Mehrzahl von Knoten (202, 204, 206, 208, 210, 212) verbindet und mindestens ein Teil der Mehrzahl der Knoten eine Mehrfachsendungs-Gruppe (A) bildet, wobei einer der Knoten in der Mehrfachsendungs-Gruppe (A) als ein Rendevouz-Knoten (RP) bestimmt wird, wobei das Datennetzwerk (200) aufweist: eine Mehrzahl von Prozess-Agent-Vorrichtungen (232, 234, 236, 240, 238, 242), wobei jede der Prozess-Agent-Vorrichtungen einen Zustandsspeicher hat, wobei jeder Prozess-Agent mit einem korrespondierenden Knoten in der Mehrfachsendungs-Gruppe (A) gekoppelt ist; eine Vorrichtung zum Empfangen von Daten bei dem Prozess-Agent, gekoppelt mit dem Rendevouz-Knoten (RP); eine Vorrichtung zur Aktualisierung des Zustandsspeichers des Prozess-Agenten, gekoppelt mit dem Rendevouz-Knoten (RP), mit den Daten; eine Vorrichtung zum Verbreiten der Daten von dem Zustandsspeicher des Prozess-Agenten, gekoppelt mit dem Rendevouz-Knoten (RP), zu allen anderen Prozess-Agenten in der Mehrfachsendungs-Gruppe (A); und eine Vorrichtung zur Aktualisierung der Zustandsspeicher von allen anderen Prozess-Agenten in der Mehrfachsendungs-Gruppe (A) mit den Daten.
  7. Datennetzwerk (200) nach Anspruch 6, wobei ein Verbindungs-Knoten, der ein Knoten der Mehrzahl der Knoten (202, 204, 206, 208, 210, 212) ist, zu der Mehrfachsendungs-Gruppe (A) hinzugefügt wird, wobei der Verbindungs-Knoten einen Datenspeicher (304) hat, wobei das Datennetzwerk (200) weiter aufweist: eine Vorrichtung zur Verbreitung der Daten zu dem Verbindungs-Knoten unter Verwendung eines zuverlässigen Protokolls; und eine Vorrichtung zur Aktualisierung des Datenspeichers (304) bei dem Verbindungs-Knoten mit den Daten.
  8. Datennetzwerk (200) nach Anspruch 6, wobei die Vorrichtung zur Verbreitung eine Logik bei jedem der Prozess-Agenten aufweist, um einen Daten-Kanal unter Verwendung eines zuverlässigen Protokolls zu implementieren.
DE60008102T 1999-06-01 2000-06-01 Verfahren und vorrichtung zur mehrfachsendung Expired - Lifetime DE60008102T2 (de)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US13715399P 1999-06-01 1999-06-01
US137153P 1999-06-01
US09/412,815 US6850987B1 (en) 1999-06-01 1999-10-05 System for multipoint infrastructure transport in a computer network
US412815 1999-10-05
PCT/US2000/015417 WO2000074312A1 (en) 1999-06-01 2000-06-01 Method and device for multicasting

Publications (2)

Publication Number Publication Date
DE60008102D1 DE60008102D1 (de) 2004-03-11
DE60008102T2 true DE60008102T2 (de) 2004-12-23

Family

ID=26834975

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60008102T Expired - Lifetime DE60008102T2 (de) 1999-06-01 2000-06-01 Verfahren und vorrichtung zur mehrfachsendung

Country Status (7)

Country Link
US (2) US6850987B1 (de)
EP (1) EP1183820B1 (de)
JP (1) JP4685299B2 (de)
KR (1) KR100699018B1 (de)
AU (1) AU5321300A (de)
DE (1) DE60008102T2 (de)
WO (1) WO2000074312A1 (de)

Families Citing this family (65)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6850987B1 (en) * 1999-06-01 2005-02-01 Fastforward Networks, Inc. System for multipoint infrastructure transport in a computer network
JP2001186142A (ja) * 1999-12-27 2001-07-06 Toshiba Corp パケットバッファ装置、及び、パケットスイッチ装置
US8396950B1 (en) * 2000-03-02 2013-03-12 Rockstar Consortium Us Lp Method and apparatus for the fast detection of connectivity loss between devices in a network
EP1133101A1 (de) * 2000-03-07 2001-09-12 BRITISH TELECOMMUNICATIONS public limited company Datenverteilung
US6917985B2 (en) * 2000-03-10 2005-07-12 The Regents Of The University Of California Core assisted mesh protocol for multicast routing in ad-hoc Networks
US6886160B1 (en) * 2000-11-29 2005-04-26 Hyung Sup Lee Distribution of mainframe data in the PC environment
JP4225681B2 (ja) * 2000-12-06 2009-02-18 富士通株式会社 仮想閉域網構築方法及び装置並びに中継装置
US7830787B1 (en) * 2001-09-25 2010-11-09 Cisco Technology, Inc. Flooding control for multicast distribution tunnel
GB2381427A (en) * 2001-10-27 2003-04-30 Hewlett Packard Co Spanning tree in peer to peer networks
US8688853B2 (en) * 2001-12-21 2014-04-01 Agere Systems Llc Method and apparatus for maintaining multicast lists in a data network
US7304955B2 (en) * 2002-03-28 2007-12-04 Motorola, Inc. Scalable IP multicast with efficient forwarding cache
US7302691B2 (en) * 2002-05-10 2007-11-27 Sonics, Incorporated Scalable low bandwidth multicast handling in mixed core systems
KR100871118B1 (ko) 2002-05-18 2008-11-28 엘지전자 주식회사 멀티캐스트 그룹 관리 방법
US7089323B2 (en) * 2002-06-21 2006-08-08 Microsoft Corporation Method for multicasting a message on a computer network
US7180866B1 (en) * 2002-07-11 2007-02-20 Nortel Networks Limited Rerouting in connection-oriented communication networks and communication systems
US8370523B1 (en) 2002-12-20 2013-02-05 Symantec Operating Corporation Managing routing information for a computer network
US7467194B1 (en) 2002-12-20 2008-12-16 Symantec Operating Corporation Re-mapping a location-independent address in a computer network
US7292585B1 (en) 2002-12-20 2007-11-06 Symantec Operating Corporation System and method for storing and utilizing routing information in a computer network
US7406535B2 (en) * 2002-12-20 2008-07-29 Symantec Operating Corporation Role-based message addressing for a computer network
US7327741B1 (en) 2002-12-20 2008-02-05 Symantec Operating Corporation Detecting and breaking cycles in a computer network
US7653059B1 (en) 2002-12-20 2010-01-26 Symantec Operating Corporation Communication sessions for a computer network
US8275864B1 (en) 2002-12-20 2012-09-25 Symantec Operating Corporation Peer-to-peer network with recovery capability
US7233987B2 (en) * 2002-12-20 2007-06-19 Alcatel Canada Inc. System and method for converting requests between different multicast protocols in a communication network
US7404006B1 (en) 2002-12-20 2008-07-22 Symantec Operating Corporation Publishing a network address in a computer network
KR100552506B1 (ko) * 2003-03-28 2006-02-14 삼성전자주식회사 씨비티 기반 오버레이 멀티 캐스트를 위한 방향성 기반씨비티 구성방법
US8886705B1 (en) 2003-06-30 2014-11-11 Symantec Operating Corporation Goal-oriented storage management for a distributed data storage network
US7197508B1 (en) * 2003-07-25 2007-03-27 Brown Iii Frederick R System and method for obtaining, evaluating, and reporting market information
KR100943901B1 (ko) * 2003-08-19 2010-02-24 엘지전자 주식회사 방송 및 멀티캐스트를 위한 무선 프로토콜 엔터티 공유방식
US7725925B2 (en) 2003-10-31 2010-05-25 Juniper Networks, Inc. Enforcing access control on multicast transmissions
US7555527B1 (en) 2003-11-07 2009-06-30 Symantec Operating Corporation Efficiently linking storage object replicas in a computer network
US8060619B1 (en) 2003-11-07 2011-11-15 Symantec Operating Corporation Direct connections to a plurality of storage object replicas in a computer network
US7680950B1 (en) 2003-11-07 2010-03-16 Symantec Operating Corporation Efficient search for storage objects in a network
US7570600B1 (en) 2003-12-17 2009-08-04 Symantec Operating Corporation Overlay network with efficient routing and recovery
WO2005121959A2 (en) * 2004-06-08 2005-12-22 Dartdevices Corporation Architecture, apparatus and method for device team recruitment and content renditioning for universal device interoperability platform
US20070195772A1 (en) * 2004-06-14 2007-08-23 Alloptic, Inc. Distributed igmp processing
JP5021475B2 (ja) * 2004-08-03 2012-09-05 マイクロソフト コーポレーション コンテキストポリシー制御によるアプリケーション間の関連付けの制御のためのシステムおよび方法
US8392515B2 (en) * 2004-10-22 2013-03-05 Microsoft Corporation Subfederation creation and maintenance in a federation infrastructure
US8014321B2 (en) * 2004-10-22 2011-09-06 Microsoft Corporation Rendezvousing resource requests with corresponding resources
US7694167B2 (en) * 2004-10-22 2010-04-06 Microsoft Corporation Maintaining routing consistency within a rendezvous federation
US8095601B2 (en) * 2004-10-22 2012-01-10 Microsoft Corporation Inter-proximity communication within a rendezvous federation
US8549180B2 (en) * 2004-10-22 2013-10-01 Microsoft Corporation Optimizing access to federation infrastructure-based resources
US7958262B2 (en) * 2004-10-22 2011-06-07 Microsoft Corporation Allocating and reclaiming resources within a rendezvous federation
US20110082928A1 (en) 2004-10-22 2011-04-07 Microsoft Corporation Maintaining consistency within a federation infrastructure
US7730220B2 (en) 2004-10-22 2010-06-01 Microsoft Corporation Broadcasting communication within a rendezvous federation
US8095600B2 (en) * 2004-10-22 2012-01-10 Microsoft Corporation Inter-proximity communication within a rendezvous federation
US8090880B2 (en) 2006-11-09 2012-01-03 Microsoft Corporation Data consistency within a federation infrastructure
US20060090003A1 (en) * 2004-10-22 2006-04-27 Microsoft Corporation Rendezvousing resource requests with corresponding resources
US7747573B2 (en) * 2004-11-18 2010-06-29 International Business Machines Corporation Updating elements in a data storage facility using a predefined state machine, with serial activation
FR2878676B1 (fr) * 2004-11-30 2007-02-09 Thales Sa Systeme de routage multiple-topologie et multiple-services
US7400596B1 (en) 2005-08-17 2008-07-15 Rockwell Collins, Inc. Dynamic, multicast routing using a quality of service manager
US7698439B2 (en) * 2006-09-25 2010-04-13 Microsoft Corporation Application programming interface for efficient multicasting of communications
US8094585B2 (en) * 2006-10-31 2012-01-10 International Business Machines Corporation Membership management of network nodes
US9218213B2 (en) 2006-10-31 2015-12-22 International Business Machines Corporation Dynamic placement of heterogeneous workloads
JP4903642B2 (ja) * 2007-07-11 2012-03-28 日本無線株式会社 オーバレイマルチキャストシステム
WO2010092751A1 (ja) * 2009-02-16 2010-08-19 日本電気株式会社 イベント配信システム、ランデブーノード、ブローカーノード、イベント配信システムの負荷分散方法、ランデブーノードの負荷分散方法、ブローカーノードの配信ルート構築方法、負荷分散プログラムが格納された記憶媒体、及び配信ルート構築プログラムが格納された記憶媒体
US8688779B2 (en) 2009-04-08 2014-04-01 Blackberry Limited Publishing location for a limited time
KR100928243B1 (ko) * 2009-07-28 2009-11-24 엑스투커머스 주식회사 리눅스를 기반으로 하는 트리구조의 네트워크 하드 디스크 복사 시스템
US8850053B2 (en) 2010-04-08 2014-09-30 At&T Intellectual Property I, L.P. System and method for providing information to users of a communication network
KR20130047862A (ko) 2011-11-01 2013-05-09 삼성전자주식회사 이동 통신 시스템에서 사용자 장치 별로 사용 가능한 대역폭을 추정하는 방법 및 장치
US8868672B2 (en) * 2012-05-14 2014-10-21 Advanced Micro Devices, Inc. Server node interconnect devices and methods
US9137173B2 (en) 2012-06-19 2015-09-15 Advanced Micro Devices, Inc. Devices and methods for interconnecting server nodes
US8930595B2 (en) 2012-06-21 2015-01-06 Advanced Micro Devices, Inc. Memory switch for interconnecting server nodes
US9253287B2 (en) 2012-08-20 2016-02-02 Advanced Micro Devices, Inc. Speculation based approach for reliable message communications
US8875256B2 (en) 2012-11-13 2014-10-28 Advanced Micro Devices, Inc. Data flow processing in a network environment
KR102008670B1 (ko) * 2019-04-18 2019-08-08 주식회사 유니온플레이스 멀티캐스트 그룹을 모니터링하는 장치

Family Cites Families (60)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57153359A (en) * 1981-03-18 1982-09-21 Ibm Data processing system with common memory
US4807224A (en) * 1987-08-21 1989-02-21 Naron Steven E Multicast data distribution system and method
JPH03273727A (ja) * 1990-03-23 1991-12-04 Hitachi Ltd ネットワーク構成変更方式
JPH05207023A (ja) * 1992-01-24 1993-08-13 Hitachi Ltd 大量データ伝送方法
CA2094410C (en) * 1992-06-18 1998-05-05 Joshua Seth Auerbach Distributed management communications network
US5331637A (en) * 1993-07-30 1994-07-19 Bell Communications Research, Inc. Multicast routing using core based trees
US5530963A (en) * 1993-12-16 1996-06-25 International Business Machines Corporation Method and system for maintaining routing between mobile workstations and selected network workstation using routing table within each router device in the network
US5606705A (en) * 1994-04-15 1997-02-25 Honeywell Inc. Communication coordinator for messages to be sent from at least one data source to a plurality of clients
US5517494A (en) * 1994-09-30 1996-05-14 Apple Computer, Inc. Method and system of multicast routing for groups with a single transmitter
US5751338A (en) * 1994-12-30 1998-05-12 Visionary Corporate Technologies Methods and systems for multimedia communications via public telephone networks
US5721951A (en) * 1995-02-24 1998-02-24 Digital Interactive Corporation Systems, Ltd. Home entertainment system for playing software designed for play in home computer
US5608726A (en) * 1995-04-25 1997-03-04 Cabletron Systems, Inc. Network bridge with multicast forwarding table
US6181867B1 (en) 1995-06-07 2001-01-30 Intervu, Inc. Video storage and retrieval system
US6003030A (en) 1995-06-07 1999-12-14 Intervu, Inc. System and method for optimized storage and retrieval of data on a distributed computer network
US5640553A (en) * 1995-09-15 1997-06-17 Infonautics Corporation Relevance normalization for documents retrieved from an information retrieval system in response to a query
US5706431A (en) * 1995-12-29 1998-01-06 At&T System and method for distributively propagating revisions through a communications network
US5831975A (en) * 1996-04-04 1998-11-03 Lucent Technologies Inc. System and method for hierarchical multicast routing in ATM networks
US5793962A (en) * 1996-04-30 1998-08-11 International Business Machines Corporation System for managing membership of a group of processors in a distributed computing environment
JP2842524B2 (ja) * 1996-06-06 1999-01-06 日本電気株式会社 マルチキャストグループ構成方法及びマルチキャスト通信ネットワーク
US5748736A (en) * 1996-06-14 1998-05-05 Mittra; Suvo System and method for secure group communications via multicast or broadcast
JP3150624B2 (ja) * 1996-09-13 2001-03-26 株式会社ディジタル・ビジョン・ラボラトリーズ 通信システム及び通信経路制御方法
US6321270B1 (en) * 1996-09-27 2001-11-20 Nortel Networks Limited Method and apparatus for multicast routing in a network
US6101180A (en) * 1996-11-12 2000-08-08 Starguide Digital Networks, Inc. High bandwidth broadcast system having localized multicast access to broadcast content
US5903559A (en) * 1996-12-20 1999-05-11 Nec Usa, Inc. Method for internet protocol switching over fast ATM cell transport
US6052718A (en) * 1997-01-07 2000-04-18 Sightpath, Inc Replica routing
US5946316A (en) * 1997-01-17 1999-08-31 Lucent Technologies, Inc. Dynamic distributed multicast routing protocol
US6331983B1 (en) * 1997-05-06 2001-12-18 Enterasys Networks, Inc. Multicast switching
US6112239A (en) 1997-06-18 2000-08-29 Intervu, Inc System and method for server-side optimization of data delivery on a distributed computer network
US6138144A (en) * 1997-06-24 2000-10-24 At&T Corp. Method for managing multicast addresses for transmitting and receiving multimedia conferencing information on an internet protocol (IP) network implemented over an ATM network
US6154463A (en) * 1997-08-26 2000-11-28 Lucent Technologies, Inc. System and method for multicast conferencing and online discussion groups
US6148005A (en) * 1997-10-09 2000-11-14 Lucent Technologies Inc Layered video multicast transmission system with retransmission-based error recovery
US6115749A (en) * 1997-10-14 2000-09-05 Lucent Technologies Inc. System and method for using a window mechanism to control multicast data congestion
US6671276B1 (en) * 1997-11-18 2003-12-30 Nec Corporation Switch based network architecture for IP multicast and integrated services
US6785274B2 (en) * 1998-10-07 2004-08-31 Cisco Technology, Inc. Efficient network multicast switching apparatus and methods
US6219706B1 (en) * 1998-10-16 2001-04-17 Cisco Technology, Inc. Access control for networks
US6286052B1 (en) * 1998-12-04 2001-09-04 Cisco Technology, Inc. Method and apparatus for identifying network data traffic flows and for applying quality of service treatments to the flows
US6487170B1 (en) * 1998-11-18 2002-11-26 Nortel Networks Limited Providing admission control and network quality of service with a distributed bandwidth broker
US6631420B1 (en) * 1999-02-25 2003-10-07 Nortel Networks Limited Reducing convergence time by a protocol independent multicast (PIM) router
US6370565B1 (en) * 1999-03-01 2002-04-09 Sony Corporation Of Japan Method of sharing computation load within a distributed virtual environment system
US6711163B1 (en) * 1999-03-05 2004-03-23 Alcatel Data communication system with distributed multicasting
US6873618B1 (en) * 1999-03-16 2005-03-29 Nortel Networks Limited Multipoint network routing protocol
US6269080B1 (en) * 1999-04-13 2001-07-31 Glenayre Electronics, Inc. Method of multicast file distribution and synchronization
US6839348B2 (en) * 1999-04-30 2005-01-04 Cisco Technology, Inc. System and method for distributing multicasts in virtual local area networks
US6735633B1 (en) * 1999-06-01 2004-05-11 Fast Forward Networks System for bandwidth allocation in a computer network
US6850987B1 (en) * 1999-06-01 2005-02-01 Fastforward Networks, Inc. System for multipoint infrastructure transport in a computer network
JP3623694B2 (ja) * 1999-07-02 2005-02-23 株式会社エヌ・ティ・ティ・ドコモ 情報配信システムおよび情報配信方法
US6684331B1 (en) * 1999-12-22 2004-01-27 Cisco Technology, Inc. Method and apparatus for distributing and updating group controllers over a wide area network using a tree structure
US6795433B1 (en) * 1999-10-21 2004-09-21 Nortel Networks Limited Multicast routing cache
US6983317B1 (en) * 2000-02-28 2006-01-03 Microsoft Corporation Enterprise management system
KR100449497B1 (ko) * 2000-12-21 2004-09-21 주식회사 매직아이 실시간 정보 제공 장치 및 그 처리 방법
US20020107966A1 (en) * 2001-02-06 2002-08-08 Jacques Baudot Method and system for maintaining connections in a network
FI20010267A0 (fi) * 2001-02-13 2001-02-13 Stonesoft Oy Tietoturvagatewayn tilatietojen synkronointi
US7092399B1 (en) * 2001-10-16 2006-08-15 Cisco Technology, Inc. Redirecting multiple requests received over a connection to multiple servers and merging the responses over the connection
FR2831743B1 (fr) * 2001-10-25 2004-01-30 Cit Alcatel Systeme de routage is-is tolerant aux fautes et procede correspondant
US20030217096A1 (en) * 2001-12-14 2003-11-20 Mckelvie Samuel J. Agent based application using data synchronization
US7111035B2 (en) * 2001-12-26 2006-09-19 Hewlett-Packard Development Company, L.P. Fault tolerance associations for IP transport protocols
US20030195962A1 (en) * 2002-04-10 2003-10-16 Satoshi Kikuchi Load balancing of servers
US7155632B2 (en) * 2002-06-27 2006-12-26 Nokia, Inc. Method and system for implementing IS-IS protocol redundancy
JP2004070860A (ja) * 2002-08-09 2004-03-04 Hitachi Ltd ストリームコンテンツ配送システムおよびプロキシサーバ
US7114096B2 (en) * 2003-04-02 2006-09-26 International Business Machines Corporation State recovery and failover of intelligent network adapters

Also Published As

Publication number Publication date
KR20020013567A (ko) 2002-02-20
EP1183820A1 (de) 2002-03-06
US20040139150A1 (en) 2004-07-15
AU5321300A (en) 2000-12-18
WO2000074312A1 (en) 2000-12-07
KR100699018B1 (ko) 2007-03-23
JP2003501881A (ja) 2003-01-14
DE60008102D1 (de) 2004-03-11
US6850987B1 (en) 2005-02-01
EP1183820B1 (de) 2004-02-04
JP4685299B2 (ja) 2011-05-18
US8886826B2 (en) 2014-11-11

Similar Documents

Publication Publication Date Title
DE60008102T2 (de) Verfahren und vorrichtung zur mehrfachsendung
DE60038705T2 (de) Verfahren und vorrichtung für die aktivitäts-basierte zusammenarbeit eines rechnersystems, ausgestattet mit einem kommunikations-manager
DE60319007T2 (de) Abbildung einer quellenspezifischen multicast-gruppenadresse auf eine quellenadresse
DE69729399T2 (de) Datenverwaltungssystem und Verfahren für replizierte Daten
DE60313371T2 (de) Verwendung von baumartigen "Bitmap" Datenstrukturen
DE60216221T2 (de) Verfahren und Vorrichtung zur automatischen Erkennung von logischen Verbindungen zwischen Netzvorrichtungen
DE60108166T2 (de) Untergruppen-multicasting in einem kommunikationsnetz
DE60214823T2 (de) Verfahren und System für eine verteilte Multicastcachetechnik
DE69927929T2 (de) Verfahren und System zur Netzwerkverwaltung
EP0825524B1 (de) Verfahren zur Verwaltung der Benennung von Objekten
DE69628718T2 (de) Netzwerk - Topologie-Verwaltungssystem
DE602004009543T2 (de) Verfahren und einrichtung zur protokollunabhängigen realisierung von ip-multicast
EP1194865B1 (de) Verfahren zur datenpflege in einem netzwerk teilweise replizierter datenbanksysteme
DE10205108A1 (de) System und Verfahren zum Zugreifen auf Softwarekomponenten in einer verteilten Netzwerkumgebung
DE112015003926B4 (de) Verfahren, System und Computerprogramm zum Publish/Subscribe-Messaging unter Verwendung einer Nachrichtenstruktur
EP1456742A2 (de) Verfahren, gerätesystem und computerprogramm zum speichern und abrufen von druckdaten in einem netzwerk
DE102005013301A1 (de) Verteiltes Datenmodell
EP0791884A2 (de) Verfahren zum rechnergestützten Abgleich mehrerer, in mindestens einem Rechner gespeicherten Dateikopien einer gespeicherten Datei
DE69636993T2 (de) Informationsverarbeitungssystem und Kommunikationsverfahren
DE19943453A1 (de) System und Verfahren zur Unterstützung der Gruppeninteraktion (GIA) in hypermedialen Informationsräumen
DE19900636A1 (de) Datenzugriffs- und -verwaltungssystem sowie Verfahren zum Datenzugriff und zur Datenverwaltung für ein Rechnersystem
DE10244459A1 (de) Rechner- und/oder Software-Architektur unter Verwendung von Micro-Kernel- und Multi-Tier-Konzept mit Komponententechnik
DE19607132B4 (de) Verfahren zum rechnergestützten Abgleich mehrerer, in mindestens einem Rechner gespeicherten Dateikopien einer gespeicherten Datei
DE19858163A1 (de) Verfahren zum Übertragen von Informationen zwischen Datenbeständen Client-Applikationen
EP1415452B1 (de) Kopplungsmittel für eine datenverarbeitungsvorrichtung

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: YAHOO| INC., SUNNYVALE, CALIF., US