DE69532262T2 - Verfahren zum Mehrfachsenden - Google Patents

Verfahren zum Mehrfachsenden Download PDF

Info

Publication number
DE69532262T2
DE69532262T2 DE69532262T DE69532262T DE69532262T2 DE 69532262 T2 DE69532262 T2 DE 69532262T2 DE 69532262 T DE69532262 T DE 69532262T DE 69532262 T DE69532262 T DE 69532262T DE 69532262 T2 DE69532262 T2 DE 69532262T2
Authority
DE
Germany
Prior art keywords
blocks
local exchange
local
status
received
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
DE69532262T
Other languages
English (en)
Other versions
DE69532262D1 (de
Inventor
David Morris Summit Kristol
Krishan Kumar Westfield Sabnani
Sanjoy Atlantic Highlands Paul
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.)
AT&T Corp
Original Assignee
AT&T Corp
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 AT&T Corp filed Critical AT&T Corp
Publication of DE69532262D1 publication Critical patent/DE69532262D1/de
Application granted granted Critical
Publication of DE69532262T2 publication Critical patent/DE69532262T2/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
    • H04L12/1863Arrangements for providing special services to substations for broadcast or conference, e.g. multicast comprising mechanisms for improved reliability, e.g. status reports
    • H04L12/1877Measures taken prior to transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/1607Details of the supervisory signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1829Arrangements specially adapted for the receiver end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1867Arrangements specially adapted for the transmitter end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q11/00Selecting arrangements for multiplex systems
    • H04Q11/04Selecting arrangements for multiplex systems for time-division multiplexing
    • H04Q11/0428Integrated services digital network, i.e. systems for transmission of different types of digitised signals, e.g. speech, data, telecentral, television signals
    • H04Q11/0478Provisions for broadband connections
    • 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/1886Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with traffic restrictions for efficiency improvement, e.g. involving subnets or subdomains
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L2001/0092Error control systems characterised by the topology of the transmission link
    • H04L2001/0093Point-to-multipoint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L2001/0092Error control systems characterised by the topology of the transmission link
    • H04L2001/0097Relays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5629Admission control
    • H04L2012/563Signalling, e.g. protocols, reference model
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5638Services, e.g. multimedia, GOS, QOS
    • H04L2012/564Connection-oriented
    • H04L2012/5642Multicast/broadcast/point-multipoint, e.g. VOD

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)
  • Small-Scale Networks (AREA)

Description

  • Technisches Gebiet
  • Die Erfindung betrifft Multicast-Protokolle für Netzwerke.
  • Allgemeiner Stand der Technik
  • Ein Computernetzwerk ist ein Mittel zum Austausch oder Transfer von Informationen (z. B. Daten, Sprache, Text, Video usw.) zwischen Hostmaschinen in dem Netzwerk. Das Netzwerk umfaßt Hostmaschinen, die durch ein Kommunikationssubnetz verbunden sind. Das Subnetz umfaßt Knoten (die auch als Vermittlungselemente bezeichnet werden), die durch Strecken miteinander und mit den Hosts verbunden sind. Die Informationen, die häufig zweckmäßig zu Paketen oder Zellen formatiert sind, werden zwischen einem Quellenhost (der auch als eine „Quelle" bezeichnet wird) und einem oder mehreren Empfangshosts (die auch als „Ziele" oder „Endpunkte" bezeichnet werden) auf einem Weg durch Auswahl einer Menge von Strecken und Knoten in dem Kommunikationssubnetz zur Bildung des Weges transferiert. Siehe Andrew S. Tanenbaum, Computer Networks, Prentice-Hall, Inc., Englewood Cliffs, NJ, 1981.
  • Es gibt drei Arten von Entwürfen für das Kommunikationssubnetz: 1) Punkt-zu-Punkt-Subnetze, 2) Rundsende-Subnetze und 3) Multicast-Subnetze. Bei einem Punkt-zu-Punkt-Subnetz müssen, wenn zwei Hosts kommunizieren möchten, aber keine sie direkt verbindende einzelne Strecke aufweisen, die Hosts dann indirekt kommunizieren, d. h. über zwischengeschaltete Knoten. In der Regel wird eine Übermittlung an jedem zwischengeschalteten Knoten vollständig empfangen, in Puffern in dem Knoten gespeichert, bis die nächste erforderliche Strecke in dem Weg frei ist, und dann weitergeleitet. In einem Rundsende-Subnetz werden durch einen beliebigen Host gesendete Informationen von allen anderen Hosts empfangen. Die Informationen enthalten in der Regel eine Adresse, die den Host angibt, für den die Informationen bestimmt sind. Nach Empfang der Informationen prüft jeder Host die Adresse, und wenn die Informationen für diesen Host bestimmt sind, werden sie verarbeitet; andernfalls werden die Informationen ignoriert. In einem Multicast-Subnetz wird eine Übermittlung von einer Teilmenge von Hosts in dem Netzwerk empfangen. Das Multicasting kann vom Typ Punkt-zu-Multipunkt sein (wobei ein einziger Host zu mehreren Hosts sendet, z. B. elektronische Verteilung von Büchern von einem Verleger zu Buchläden im ganzen Lande) oder Multipunkt-zu-Multipunkt (wobei eine Teilmenge von Hosts in einem Netzwerk Informationen unter den Hosts in der Teilmenge sendet, z. B. landesweite Videokonferenzen).
  • Ein Multicast-Protokoll ist eine Menge von Regeln zum Übermitteln von Informationen von einem einzigen Host zu mehreren Hosts in einem Netzwerk oder zum Übermitteln von Informationen unter einer Teilmenge von Hosts. Obwohl Multicast-Protokolle für unzuverlässige Rundsende-Netzwerk- und Satellitenrundsendekanäle entwickelt wurden (siehe J. M. Chang und N. F. Maxemchuk, „Reliable Broadcast Protocols", ACM Trans. Comp. Sys., Band 2, Nr. 3, 251–273, August 1984; K. Sabnani und M. Schwartz, „Multidestination Protocols for Satellite Broadcast Channels", IEEE Trans. Comm., Band COM-33, Nr. 3, März 1985), ist der Entwurf von Multicast-Protokollen im allgemeinen und von Multicast-Protokollen für großflächige schnelle Breitbandnetzwerke im besonderen mit speziellen Problemen verbunden. Da jeder Host empfangene Informationen bestätigen muß, muß erstens das Protokoll das Problem der Bestätigungsimplosion (d. h. Empfang im Quellenhost mehrerer Bestätigungssignale), das jedem Multicasting-Schema innewohnt, überwinden. Zweitens erzeugen Ausbreitungsverzögerungen (aufgrund des von dem Netzwerk versorgten physikalischen Gebiets und der endlichen Geschwindigkeit von über das Netzwerk übertragenen Signalen) in Kombination mit hohen Übertragungsraten (aufgrund eines Wunsches, soviel Informationen wie möglich in der kürzest möglichen Zeit zu übertragen) große Verzögerungs-Bandbreiten-Produkte.
  • Große Verzögerungs-Bandbreiten-Produkte führen tendenziell zu einer Zunahme der Notwendigkeit, Informationen neuzusenden (d. h. neuzumulticasten). Dies hat die folgenden Gründe: 1) zu jedem gegebenen Zeitpunkt befindet sich eine große Informationsmenge auf dem Netzwerk (aufgrund der großen Netzwerkbandbreite), und diese große Informationsmenge muß neu gemulticastet werden, wenn Informationen verloren gehen, z. B. aufgrund überlaufender Puffer in Knoten in dem Netzwerk, und 2) Rückmelde- oder Bestätigungssignale von Empfangshosts nehmen eine von null verschiedene Zeitdauer in Anspruch, um den Quellenhost zu erreichen (aufgrund von Ausbreitungsverzögerungen), wodurch bewirkt wird, daß der Quellenhost neusendet, da Bestätigungen fehlen oder verzögert sind.
  • Es ist wünschenswert, daß eine Multicasting-Quelle unnötige Neumulticasts vermeidet, da dies die Ende-zu-Ende-Verzögerung des Protokolls weiter vergrößert und den Verkehr dem Netzwerk vergrößert. Deshalb wird ein Multicast-Protokoll für Breitbandnetze benötigt, das unnötige Neuübertragungen von Informationen vermeiden kann und das Bestätigungsimplosionsproblem vermeiden kann, während vorteilhafterweise ein hoher Durchsatz und eine niedrige Verzögerung der Informationsübertragung erzielt wird.
  • Aus EP-A-0 303 830 ist ein Datenverteilungssystem zur pünktlichen, effizienten und zuverlässigen Verteilung von Daten zu einer unbegrenzten Anzahl abgesetzter Empfängerinstallationen bekannt. Eine Datenquelle assembliert Datenpakete und sendet nach dem Füllen oder nach dem Ablaufen einer vorbestimmten Zeitspanne ein jeweiliges Datenpaket zu allen Empfängern und Behebungsmitteln entlang einem Kommunikationsnetz rund. Jeder Empfänger ist insofern intelligent, als er die Datenpakete in einen Puffer kopiert und dafür verantwortlich ist, Daten, die zur Durchführung der beabsichtigten Funktionen des Empfängers notwendig sind, auszuwählen. Als Folge werden zwischengeschaltete Datenauswahl- und Routing-Mittel zwischen der Datenquelle und Empfängern vermieden, was zu einer Datenablieferung führt, die sowohl schnell als auch pünktlich ist. Für Zuverlässigkeit überwacht jeder Empfänger die Sequenznummern der Datenpakete, die empfangen wurden, und außerdem, ob ein Datenpaket mindestens so häufig wie das vorbestimmte Zeitintervall empfangen wird. Jedes Datenpaket, das ein Empfänger als fehlend bestimmt, kann aus dem Behebungsmittel erhalten werden, das eine Bibliothek der empfangenen Datenpakete speichert oder das das fehlende Datenpaket aus der Datenquelle abrufen kann.
  • Kurze Darstellung der Erfindung
  • Die obigen Probleme werden gemäß der Erfindung gelöst durch ein Verfahren des Netzwerk-Multicasting, bei dem ein Multicast-Baum aus einem Quellenhost zu einer Menge von Zielhosts verwendet wird. Das erfindungsgemäße Verfahren liefert Informationen aus dem Quellenhost der Reihe nach entlang dem Multicast-Baum an die Zielhosts ab, unabhängig davon, wie der Baum erzeugt wird und wie Betriebsmittel zugeteilt werden.
  • Insbesondere ist die vorliegende Erfindung ein Verfahren mit den folgenden Schritten: Senden von Informationsblöcken von einer Quelle zu einer Menge von Zielen, wobei jedes Ziel einer lokalen Vermittlungsstelle in einer Menge von lokalen Vermittlungsstellen zugewiesen ist, Empfangen eines ersten Statussignals von jeder lokalen Vermittlungsstelle in der Quelle, wobei das erste Statussignal einen Empfangsstatus für diese lokale Vermittlungsstelle relativ zu den gesendeten Blöcken anzeigt; und Senden der Blöcke, die von keiner der lokalen Vermittlungsstellen empfangen wurden, als Reaktion auf die ersten Statussignale.
  • Das erfindungsgemäße Verfahren verringert das Bestätigungsimplosionsproblem durch Begrenzen oder Konsolidieren von Status- und Bestätigungsinformationen von den Zielen. Das erfindungsgemäße Verfahren vermindert außerdem unnötige Übertragungen von Informationen durch das Netzwerk durch Neusenden von Informationen entlang lokaler Multicast-Bäume. Das Protokoll kann in verschiedenen Arten von Netzwerken implementiert werden. Z. B. können die Protokolle verbesserte Betriebsmittelzuteilungstechniken in Datagramm-Netzwerken oder etwaige effiziente Techniken zur Einrichtung virtueller Leitungen in verbindungsorientierten Netzwerken ausnutzen.
  • Kurze Beschreibung der Zeichnungen
  • Vorteile der Erfindung werden aus der folgenden ausführlichen Beschreibung in Verbindung mit den Zeichnungen deutlich. Es zeigen:
  • 1 die Struktur eines Computernetzwerks, in dem das erfindungsgemäße Verfahren beispielhaft ausgeübt wird.
  • 2 ein Blockschaltbild einer Netzwerkarchitektur auf der Basis des ISO-Modells.
  • 3 die Struktur eines Computernetzwerks, in dem das erfindungsgemäße Verfahren ausgeübt werden kann.
  • 4 einen globalen Multicast-Baum, dessen Wurzel bei S liegt und lokale Multicast-Bäume mit Wurzel bei Ei,1-
  • 5 ein Diagramm von Schritten in einer ersten Ausführungsform des erfindungsgemäßen Verfahrens.
  • 6 Paketformate für die erste Ausführungsform des erfindungsgemäßen Verfahrens.
  • 7 ein Diagramm von Schritten in einer zweiten Ausführungsform des erfindungsgemäßen Verfahrens.
  • 8 ein Diagramm von Schritten in einer dritten Ausführungsform des erfindungsgemäßen Verfahrens.
  • Ausführliche Beschreibung
  • A. Übersicht über Multicast-Protokolle
  • 1 zeigt die Struktur eines typischen Computernetzwerks, in dem das erfindungsgemäße Verfahren ausgeübt werden kann. Computernetzwerke, d. h. verbundene Ansammlungen autonomer Computer, stellen vielfältige Dienste bereit, wie z. B. e-Mail und Dateitransferdienste. Der erste Teil des Netzwerks umfaßt in der Regel eine Ansammlung von Maschinen 102, die als Hosts bezeichnet werden, auf denen Anwendungsprogramme ablaufen sollen, und das Kommunikationssubnetz 104, das die Hosts verbindet. Die Aufgabe des Subnetzes besteht darin, Informationen von Host zu Host zu transferieren. Das Subnetz umfaßt in der Regel zwei Grundkomponenten: Vermittlungselemente (die auch als Knoten oder Schnittstellennachrichtenprozessoren, IMPs, bezeichnet werden) 106 und Strecken (die auch als Übertragungsleitungen bezeichnet werden) 108. Jeder Host ist mit einem oder gelegentlich mit mehreren IMPs verbunden.
  • Computernetzwerke sind in der Regel auf eine hochstrukturierte Weise ausgelegt. Um die Entwurfskomplexität zu reduzieren, sind die meisten Computernetzwerke als eine Reihe von Schichten organisiert. Z. B. ist das Referenzmodell der von der Internationalen Organisation für Standards (ISO) entwickelten Open Systems Interconection ein Modell mit sieben Schichten. 2 zeigt eine Netzwerkarchitektur auf der Basis dieses Modells. Siehe Tanenbaum, supra. Der Zweck jeder Schicht besteht darin, höheren Schichten Dienste anzubieten und diese höheren Schichten vor den Einzelheiten dessen, wie die angebotenen Dienste tatsächlich implementiert werden, abzuschirmen. Ein Dienst wird formal durch eine Menge von Primitiven spezifiziert, die die Operationen definieren, die eine Schicht der Schicht über ihr bereitstellt. Angrenzende Schichten kommunizieren durch eine Schnittstelle, die die Dienste definiert, die die niedrigere Schicht der höheren Schicht anbietet.
  • Die aktiven Elemente dieser Schicht werden als Entitäten bezeichnet. Eine Entität kann eine Softwareentität (z. B, ein Prozeß) oder eine Hardwareentität (z. B. eine integrierte Schaltung) oder eine Kombination von beiden sein. Entitäten in derselben Schicht auf verschiedenen Maschinen werden als Peer-Entitäten bezeichnet.
  • Jedem Computernetzwerk ist ein wohldefiniertes „Protokoll" bzw. eine Menge von Regeln, die für die Kommunikation zwischen Peer-Entitäten gelten sollen, zugeordnet. Insbesondere dienen Protokolle zum physischen Herstellen, Ausführen und Abschließen von Übermittlungen zwischen gleichen oder Peer-Schichten auf dem Netzwerk, so daß angebotene Dienste vorteilhafterweise verwendet werden können. Siehe allgemein Tanenbaum, supra; Engineering and Operations in the Bell System, Bell Laboratories, Inc., 1983. Die Kommunikation zwischen entsprechenden Schichten in verschiedenen Hosts ist insofern virtuell, als sich auf der niedrigsten Schicht eine physische Verbindung befindet.
  • Wie bereits erwähnt, kann das Kommunikationssubnetz 104 (das in dem ISO-Modell drei niedrigste Schichten umfaßt) für Punkt-zu-Punkt-Übermittlungen (d. h. Übermittlungen zwischen zwei Hosts) oder für Rundsendeübermittlungen ausgelegt sein. In letzter Zeit ist jedoch die Multicast-Übertragung (oder einfach das „Multicasting") innerhalb einer Teilmenge von Hosts in dem Netzwerk zunehmend wichtiger geworden.
  • Die folgende ausführliche Beschreibung zeigt mehrere Ausführungsformen von Multicast-Transportprotokollen, d. h. Multicast-Protokollen für die Transportschicht des ISO-Modells. Die Protokolle sind insofern allgemein, als sie entweder auf Netzwerken mit virtuellen Leitungen oder auf Datagramm-Netzwerken aufgebaut werden können. Die Protokolle können vorteilhafterweise in schnellen Breitbandnetzwerken, wie z. B. ATM-Netzwerken (asynchroner Transfermodus) eingesetzt werden.
  • Die Funktion der erfindungsgemäßen Protokolle besteht darin, Informationspakete von einer Quelle der Reihe nach entlang einem Multicast-Baum zu Zielen abzuliefern, unabhängig davon, wie der Baum erzeugt wird und wie Betriebsmittel (z. B. Bandbreite in den Strecken) zugeteilt werden. Die Protokolle sind also in verschiedenen Netzwerken einsetzbar und können vorteilhafterweise beliebige Betriebsmittelzuteilungstechniken in Datagramm-Netzwerken oder beliebige Techniken zum Einrichten von virtuellen Leitungen in verbindungsorientierten Netzwerken verwenden.
  • Der einzige Dienst, der von dem erfindungsgemäßen Verfahren erwartet wird, ist die Herstellung eines Multicast-Baums von der Quelle zu den Zielen. Ein Baum ist gekennzeichnet durch eine Wurzel und eine Menge zwischengeschalteter Knoten und Strecken, die in einer Menge von Blättern enden. Z. B. ist in dem Netzwerk von 1 in einem Punkt-zu-Multipunkt-Multicast-Baum einer der Hosts seine Quelle, seine Blätter eine Menge von Zielhosts und seine zwischengeschalteten Knoten und Strecken der IMPS und Übertragungsleitungen, die die Wurzel mit den Blättern verbinden. Ein Multicast-Baum ist nicht nur eine Menge verbindender Knoten und Strecken, sondern enthält außerdem die Datenverarbeitungs- und Kommunikationsbetriebsmittel, wie z. B. notwendige Bandbreite zur Garantie einer gegebenen Dienstqualität, die entlang den zwischengeschalteten Knoten und Strecken reserviert wird. Die hier beschriebenen Protokolle sind unabhängig davon, wie der Multicast-Baum hergestellt wird, z. B. durch Verwenden von ST-2, RSVP oder eines beliebigen verbindungsorientierten Protokolls. Siehe C. Patridge und S. Pink, „An Implementation of the Revised Internet Stream Protocol (ST-2)", Journal of Internetworking: Research and Experience, Band 4, Nr. 1, März 1992; L. Zhang et al., „RSVP: A New Resource ReSerVation Protocol", IEEE Network Magazine, September 1993. Solange der Multicast-Baum bereitgestellt wird, funktionieren die Protokolle.
  • Die Multicast-Protokolle sind vorteilhafterweise im Kontext des Netzwerks 300 von 3 dargestellt. Hosts 302 (die auch als Endpunkte bezeichnet werden), sind entweder direkt oder durch Zugangsknoten 306 mit der lokalen Vermittlungsstelle (LE) 304 verbunden. Man beachte, daß der Begriff lokale Vermittlungsstelle nicht auf verbindungsorientierte Netzwerke beschränkt ist (d. h. das erfindungsgemäße Verfahren gilt in dem Fall, daß die lokale Vermittlungsstelle als ein Router in einem Datagram-Netzwerk betrachtet wird). Die lokalen Vermittlungsstellen sind unter Verwendung des Backbone-Netzwerks 310, das hier als Beispiel als ein ATM-Netzwerk dargestellt ist, verbunden. Es wird ein hierarchisches Adressierungsschema wie z. B. E.164, das dem derzeitigen Telefon-Rufnummernsystem gleicht, angenommen. Das heißt, wenn die Adresse eines Endpunkts gegeben ist, ist es möglich, auf das Gebiet zu schließen, in dem sich der Endpunkt befindet. Wenn die Adresse eines Endpunkts z. B. 908-555-4567 ist, kann geschlossen werden, daß der Endpunkt durch die Bereichskennzahl 908 versorgt wird und sich der Endpunkt in New Jersey befindet. Es ist lediglich notwendig, daß das Protokoll ausreichend Informationen besitzt, um Ziele in einer lokalisierten Region zum Zweck des Neusendens von Paketen als eine Gruppe zu definieren.
  • Wie bereits erwähnt, erfordern die Protokolle einen Multicast-Baum. Man nehme an, daß ein Multicast-Baum mit der Zuteilung von Betriebsmitteln auf der Netzwerkschicht in dem ISO-Modell (z. B. der ATM-Schicht) eingerichtet ist, mit Wurzel an einem Quellenhost S, und der Baum alle Ziele (d. h. die anderen Hosts oder Endpunkte) überspannt. Dies wird in der Regel als der globale Multicast-Baum bezeichnet, um ihn von dem lokalen Multicast-Baum zu unterscheiden. 4 zeigt den globalen Multicast-Baum. Der globale Multicast-Baum identifiziert die durch fette Linien gezeigte virtuelle Multicast-Leitung (MVC) 405. Die Endpunkte in der lokalen Vermittlungsstelle Li werden als Ei,j bezeichnet. Li ist kein Endpunkt. Es wird angenommen, daß eine bestimmte Schätzung der Umlaufverzögerung zwischen S und jedem Ei,i verfügbar ist, nachdem der Multicast-Baum eingerichtet ist. Die Umlaufverzögerung, die Ei,1 entspricht, wird als RTDi bezeichnet. Die Spitzenbandbreite, Paketgröße, Blockgröße und Umordnungspuffergröße, die in jedem Ziel erforderlich ist, wird auch zum Zeitpunkt der Verbindungsherstellung eingestellt (d. h. zu dem Zeitpunkt, zu dem Netzwerkbetriebsmittel, wie z. B. Bandbreite, vor der Übertragung von Daten reserviert werden).
  • Man beachte, daß mehrere lokale Multicast-Bäume auf der Basis des globalen Multicast-Baums gebildet werden. Ein lokaler Multicast-Baum mit Wurzel bei Ei,1 ist der Teil des globalen Multicast-Baums, der die Ei,j in den Li überspannt. Die lokalen Multicast-Bäume 410-i sind in 4 durch gestrichelte Linien gezeigt. Ein solcher lokaler Multicast-Baum wird durch eine Kennung einer lokalen virtuellen Multicast-Leitung identifiziert, die als LMVCI bezeichnet wird. Zur Veranschaulichung wird nur Punkt-zu-Multipunkt-Multicasting betrachtet, so daß zu Anfang eine feste Quelle und eine feste Menge von Endpunkten vorliegen. Das heißt, es liegt der Fall einer festen einzigen Quelle und fester mehrerer Ziele vor. Später wird gezeigt, wie veränderliche Quelle und veränderliche Ziele sowie die Multipunkt-zu-Multipunkt-Multicasting-Situation behandelt werden können.
  • B. Eine erste Ausführungsform – Designations-Status-Protokoll (DSP)
  • In diesem Abschnitt wird eine erste Ausführungsform eines Multicast-Protokolls, das als Designations-Status-Protokoll (DSP) bezeichnet wird, beschrieben. Bei diesem Protokoll wird der Multicast-Baum weiter charakterisiert. Die Quelle sucht einen Endpunkt Ei,1 aus, der als Repräsentant der Gruppe von Ei,j s in jeder lokalen Vermittlungsstelle Li betrachtet werden kann. Dieser Ei,1 ist für das Senden seines eigenen Status zu der Quelle verantwortlich. Wenn es also m LE s mit Endzielen (oder Endpunkten) gibt, gibt es m designierte Endpunkte, von denen erwartet wird, daß sie ihren Status zu der Quelle senden. Tatsächlich wird der von Ei,1 gesendete Status zeigen, welche Blöcke von Ei,1 empfangen wurden, d. h. es wird ein Statussignal zu der Quelle gesendet, das einen Empfangsstatus in bezug auf die gesendeten Blöcke anzeigt. Ein Block ist eine Ansammlung von Paketen, und er ist die Einheit, die für die selektive Wiederholungsneuübertragung gewählt wird, wie nachfolgend beschrieben wird. Der Status gibt in der Regel jedoch nicht für j 1 an, welche Blöcke durch die Ei,j empfangen wurden. Jedes Ei,1 wird (im Gegensatz zu der globalen Quelle S) als eine lokale Quelle bezeichnet.
  • 5 ist ein Diagramm der Hauptschritte in dem DSP-Protokoll. Das Protokoll arbeitet wie folgt:
    • 1. S sendet im Multicast-Verfahren Datenpakete zu allen Zielen (den Ei,j ∀ i,j) unter Verwendung des globalen Multicast-Baums im Schritt 510. Dieses Multicast wird als globales Multicast bezeichnet.
    • 2. Jedes Ei,1 sendet seinen eigenen Status in regelmäßigen Intervallen im Schritt 520 zu S in Form von Steuer-(Status-)Paketen. Das Statuspaket enthält die Informationen darüber, welche Blöcke durch Ei,1 empfangen wurden. S führt global nochmals im Schritt 530 ein Neu-Multicasting eines Blocks durch, wenn es ein Ei,1 gibt, das den Block innerhalb der erwarteten Zeit noch nicht empfangen hat. Diese Zeitdauer ist im allgemeinen ein Vielfaches der Umlaufverzögerung zwischen S und dem fraglichen Ei,1.
    • 3. Jedes Ei,j (j 1) sendet seinen Status in regelmäßigen Intervallen in Schritt 540 zu dem entsprechenden Ei,1. Ei,1 führt im Schritt 550 ein lokales Multicasting eines Blocks durch, wenn es ein Ei,j (j 1) gibt, das während des globalen Multicast den Block nicht empfangen hat. Man beachte, daß ein Ei,j (j 1) für die Neuübertragung eines Blocks von dem entsprechenden Ei,1 abhängt, wenn es den Block nicht entweder während des globalen Multicast oder während lokaler Multicasts empfangen hat.
    • 4. S führt ein Multicasting neuer Blöcke durch, solange jedes Ei,1 verfügbaren Pufferraum für die neuen Blöcke besitzt. Man beachte, daß ein Ei,1 vorteilhafterweise zwei Puffer aufweist: (1) einen Neuassemblierpuffer, der zum Assemblieren der von ihm aus S empfangenen Pakete benutzt wird, und (2) einen Neuübertragungspuffer, der verwendet wird, um die Pakete (Blöcke) zu halten, die nicht von allen Ei,j in seinem Zuständigkeitsbereich empfangen wurden (Anmerkung: Ei,j, die durch ein Li versorgt werden, werden als im selben Zuständigkeitsbereich befindlich bezeichnet.) Ein Block wird aus dem Neuassemblierpuffer zu dem Neuübertragungspuffer transferiert, wenn Platz in dem Neuübertragungspuffer vorhanden ist. Dieser Transfer erzeugt Platz im Neuassemblierpuffer von Ei,1. Wenn jedoch beide Puffer voll sind, gibt es keinen Platz für neue Blöcke. Der Status des im Neuassemblierpuffer verfügbaren Platzes wird als Teil der Statusnachricht von Ei,1 zu S gesendet, so daß S weiß, ob es einen neuen Block multicasten kann.
  • Es kann auch eine leicht modifizierte Version des Protokolls betrachtet werden, bei der die Quelle zu allen Repräsentanten Ei,1 (anstelle aller Ei,j für alle i, j) multicastet und die Ei,1 zu den Ei,j s (j 1) multicasten, wodurch die Verbindung entlang jedem Paar von Quelle/Ziel in zwei Segmente unterteilt werden: eines von der Quelle zu Ei,1 und das andere von Ei,1 zu Ei,j (j 1).
  • Die folgenden Absätze beschreiben das DSP-Protokoll ausführlicher durch Beschreibung des Formats von Steuer- und Datenpaketen und durch Beschreibung der von den Entitäten des DSP verwendeten Datenstruktur.
  • Die folgenden Paketstrukturen werden vorteilhafterweise in dem Protokoll benutzt und sind in 6 dargestellt: ein Steuer-(Status-)Paket 610 von einem Ei,1 zu der Quelle; ein Steuer-(Status-)Paket 620 von einem Ei,j (j 1) zu Ei,1; ein Multicast-Datenpaket 630 von der Quelle S zu Ei,j ∀ i,j; und ein Multicast-Datenpaket 640 von einem Ei,1 zu Ei,j ∀ i, j (j 1).
  • Die nachfolgend gegebene Notation dient zur Darstellung der Felder der in 6 dargestellten Steuer- und Datenpakete. Man beachte, daß die MVCI (Kennung für virtuelle Multicast-Leitung) der VCI (Kennung für virtuelle Leitung) ähnelt, die in verbindungsorientierten Netzwerken verwendet wird. MVCI ist hier jedoch allgemeiner und identifiziert einfach eine spezifische Multicast-Verbindung, die eine statische Zuteilung von Betriebsmitteln zum Zeitpunkt der Verbindungsherstellung oder eine dynamische Zuteilung von Betriebsmitteln, so wie es durch das RSVP-Protokoll geschieht, verwenden kann. Siehe Zhang, supra.
  • Figure 00140001
  • Figure 00150001
    Tabelle 1: Erläuterung der in Paketformaten verwendeten Notation
  • Die Quelle S führt eine Tabelle T zum Verfolgen des Status jedes Multicast-Blocks. Das heißt, T zeichnet auf, welche der Ei,1 einen gegebenen Block empfangen und bestätigt haben, und ob es ein Ei,1 gibt, das einen Block innerhalb der erwarteten Zeit nicht empfangen hat. Ein Eintrag in T entspricht einem Block, der gemulticastet wurde. Jeder Eintrag enthält ein Array von Neuübertragungszählwerten count[i] und ein Array von Bestätigungen ack[i], wobei count[i] und ack[i] dem Neuübertragungszählwert bzw. dem Bestätigungsstatus von Ei,1 entsprechen. Ein ack[i] ist 1 (0), wenn der entsprechende Block durch Ei,1 zu S (nicht) empfangen und bestätigt wurde. Der Neuübertragungszählwert wird vorteilhafterweise gleich RTDi/TIN,i + Konstante gesetzt, wobei TIN,i = max (RTDi/kou, ipt), wobei kou eine Konstante zwischen 2 und 32 und ipt das Intervall zwischen zwei sukzessiven Paketübertragungen ist. RTDi ist die geschätzte Umlaufverzögerung zwischen S und Ei,1. Jedesmal, wenn ein Statuspaket von Ei,1 ankommt, werden die count[i] s und ack[i] s durch S in der Tabelle T aktualisiert: Tatsächlich wird count[i] durch ki jedesmal dann erniedrigt, wenn ein Statuspaket von Ei,1. an der Quelle S ankommt, wobei ki das Intervall in Einheiten von TIN,i zwischen zwei sukzessiven Statuspaketen von Ei,1 ist.
  • Über die von den Zielen verwendeten Datenstrukturen ausgedrückt, führt jedes Ziel zwei Tabellen: eine, die den Blöcken entspricht, und eine andere, die den Paketen in den Blöcken entspricht. Die Tabelle, die den Blöcken entspricht, verfolgt, welche Blöcke durch das Ziel empfangen wurden, während die Tabelle, die den Paketen entspricht, verfolgt, welche Pakete in einem Block durch das Ziel empfangen wurden. Tatsächlich wird ein einem Block entsprechender Eintrag in der ersten Tabelle auf der Basis der Einträge, die den Paketen in dem gegebenen Block in der zweiten Tabelle entsprechen, aktualisiert. Wenn z. B. alle Pakete pi,j in einem Block bi am Ziel empfangen werden, wird der bi entsprechende Eintrag in der ersten Tabelle als durch das Ziel empfangen markiert. Andernfalls wird er als durch das Ziel nicht empfangen markiert. Diese Informationen bezüglich bi werden in dem LOB-Teil der Statusnachrichten geführt.
  • Eine Lastquelle Ei,1 kann bestimmte zusätzliche Datenstrukturen verwenden. Jedes Ei,1 führt eine Tabelle T(i), um den Status der von ihm lokal gemulticasteten Blöcke zu verfolgen. Somit hilft T(i) dem Ei,1, zu bestimmen, welche Blöcke von allen Zielen in seinem Zuständigkeitsbereich empfangen wurden, und ob es einen Block gibt, der während der erwarteten Zeit durch ein Ziel in seinem Zuständigkeitsbereich nicht empfangen wurde. Jeder Eintrag in T(i) entspricht einem Block, der lokal gemulticastet wurde. T(i) hat eine ähnliche Struktur wie T. Das heißt, ein Eintrag in T(i) enthält ein Array von Neuübertragungszählwerten count[j] und ein Array von Bestätigungen ack[j], wobei ein count[j] und ein ack[j] jeweils dem Neuübertragungszählwert bzw. dem Bestätigungsstatus von Ei,j, so wie es Ei,1 bekannt ist, entsprechen. Jedesmal, wenn ein Statuspaket von Ei,1 ankommt, werden count[j] und ack[j] durch Ei,1 in der Tabelle T(1) aktualisiert. Tatsächlich wird count[j] Jedesmal, wenn ein Statuspaket von Ei,j an der lokalen Quelle Ei,1 ankommt, um kj erniedrigt, wobei kj das Intervall in Einheiten von T (i) / IN,j zwischen zwei sukzessiven Statuspaketen von Ei,j ist. T (i) / IN,j = max (RTD (i) / j/kou, ipt) und RTD (i) / j = Umlaufverzögerung zwischen Ei,1 und Ei,j.
  • Mit Definitionen des Formats von Daten- und Steuerpaketen und mit Definitionen der Datenstrukturen, die von Entitäten des Protokolls verwendet werden, können die Schritte in der ersten Ausführungsform des Protokolls (d. h. des DSP-Protokolls) sogar noch ausführlicher beschrieben werden. Insbesondere gilt:
    • 1. S multicastet Pakete zu allen Zielen (den Ei,j ∀ i,j) unter Verwendung des Multicast-Baums und aktualisiert die Tabelle T. Es setzt count[i] auf ki und ack[i] auf 0 für jeden Blocki.
    • 2. Jedes Ei,1 sendet seinen Status zu S in Form von Steuer-(Status-)Paketen in regelmäßigen Intervallen (ki bedeutet das Intervall, ausgedrückt über TIN,i in dem Statuspaket). S führt ein Neumulticasten eines Blocks durch, wenn es ein i gibt, dergestalt, daß der Neuübertragungszählwert count[i], der dem Block entspricht, auf null reduziert wird, aber das ack[i], das dem Block entspricht, nicht 1 ist. Das heißt, ein Block wird neu gemulticastet, solange es ein Ei,1 gibt, das den Block innerhalb der Zeit, die es haben sollte, nicht empfangen hat.
    • 3. Jedes Ei,j sendet in seinen regelmäßigen Intervallen Status zu dem entsprechenden Ei,1. Das Ei,1, das count[j] und ack[j] auf kj bzw. auf 0 initialisiert, multicastet einen Block, wenn es ein j gibt, dergestalt, daß count[j] = 0 und ack[j] = 0 in der Tabelle T(i) gilt. Das heißt, ein Block wird lokal von Ei,1 gemulticastet, wenn es ein Ei,j gibt, das den Block nicht empfangen hat.
    • 4. S multicastet einen neuen Block, solange buffer_availablei > 0 ∀ i gilt. Das heißt, in jedem Ei,1 ist Platz für neue Pakete vorhanden. Man beachte, daß Ei,1 anzeigen kann, daß buffer_availablei = 0 ist, wenn es keine alten Blöcke aus seinem Neuübertragungspuffer entfernen kann, weil bestimmte lokale Ziele Ei,j s den Empfang dieser Blöcke noch nicht bestätigt haben. Auf diese Weise kann ein Ei,1 verhindern, daß die Quelle S das Netzwerk mit neuen Multicast-Blöcken überflutet.
  • Das erfindungsgemäße DSP-Protokoll hat mehrere Vorteile. Erstens ist der Bestätigungsverkehr zu der Quelle im Vergleich zu Verfahren, bei denen jedes Ziel einzeln den Empfang eines Pakets/Blocks der Multicast-Quelle bestätigt, wesentlich reduziert. Der Grund dafür besteht darin, daß nicht alle Ziele (Endpunkte) bei dem erfindungsgemäßen Protokoll Bestätigungs-(Status-)Pakete zu der Quelle S senden. Es senden nur die Ei,1 Statuspakete zu der Quelle S. Aufgrund des lokalen Multicasting ist zweitens der Neuübertragungsverkehr aufgrund redundanter globaler Multicasts wesentlich verringert, wie auch die Datenlatenz, dieses Protokoll hat viele Vorteile des SNR-Protokolls. Siehe A. N. Netravali et al., „Design and Implementation of a High Speed Transport Protocol", IEEE Trans. Comm., Band 38, Nr. 11, November 1990. Wie bei dem SNR-Protokoll wird durch den periodischen Austausch vollständiger Statusinformationen (d. h. der Informationen LWr, LOB und buffer_available) in dem DSP-Protokoll die Fehlerbehebung in diesem Verfahren im Vergleich zu Verfahren, die nicht periodisch vollständige Statusinformationen austauschen, einfacher. Drittens werden der globale Multicast-Baum und die lokalen Multicast-Bäume zum Zeitpunkt der Verbindungsherstellung eingerichtet, und die Datentransferphase ist daher bei diesem Verfahren im Vergleich zu einem Verfahren, bei dem die Multicast-Bäume dynamisch eingerichtet werden, weniger zeitaufwendig. wenn ein Block eines der Ei,1 nicht erreicht, wird er viertens gemulticastet, sobald die Quelle den Verlust des Blocks erkennt. Wenn also ein Block von mehr als einem Ei,1 nicht empfangen wird, erkennt S es aus dem „nächstliegenden" Ei,1, daß es den Block nicht empfangen hat und wartet nicht auf die Bestätigung der anderen Ei,1, die ihn ebenfalls nicht empfangen haben. Deshalb beginnt die Behebung so früh wie möglich. Fünftens kann es auch möglich sein, einen Block selektiv neu zu übertragen und den Neuübertragungsverkehr zu reduzieren, wenn zwei Ebenen von VCIs verfügbar sind: Punkt-zu-Multipunkt und Punkt-zu-Punkt.
  • Es ist jedoch zu beachten, daß die Ei,1 einen Neuübertragungspuffer halten müssen, so daß sie die Blöcke lokal zu den Endpunkten Ei,j neu senden können, die die Blöcke nicht empfangen haben. Außerdem muß ein Endpunkt Ei,1 die Verantwortung übernehmen, bestimmte Blöcke auch dann zu multicasten, wenn es sich einfach um einen passiven Endpunkt handelt, der nur daran interessiert ist, Multicast-Nachrichten zu empfangen, und da die Ei,1 zum Zeitpunkt der Verbindungsherstellung ausgewählt werden, kann es schließlich passieren, daß in einer bestimmten lokalen Vermittlungsstelle Li Ei,1 einen Block nicht empfängt, aber ein bestimmtes anderes Ei,j ihn empfängt. In diesem Fall muß S den Block neu multicasten, obwohl ein bestimmtes Ei,j ihn im Zuständigkeitsbereich von Ei,1 empfangen hat. Dieses Problem könnte überwunden werden, wenn das Ei,j, das den Block empfangen hat, als das Ei,1 gewählt wird. Wenn das Ei,1 jedoch dynamisch gewählt wird, muß der lokale Multicast-Baum jedesmal dann aufgebaut werden, wenn ein Block gesendet wird, und dies ist eine zeitaufwendige Prozedur.
  • Außerdem ist zu beachten, daß, um Verbindungsausfälle zu erkennen, es notwendig sein kann, daß die Ei,1 den Status von S kennen und die Ei,j den Status entsprechender Ei,1 kennen. In diesem Fall kann ein Steuerpaket für S eingeführt werden, das periodisch auf die gleiche Weise wie in dem SNR-Protokoll zu Ei,1 s sendet. Ähnlich muß Ei,1 seinen Status in regelmäßigen Intervallen zu Ei,j s senden.
  • Das hier beschriebene Protokoll gilt für eine einzige Quelle und mehrere Ziele. Im Fall mehrerer Quellen und mehrerer Ziele müssen mehrere Multicast-Bäume eingerichtet werden, deren Wurzeln jeweils an jeder möglichen Quelle liegen. Dadurch wird ein gleichzeitiges Multipunkt-zu-Multipunkt-Multicasting möglich. Um ein Überbuchen von Betriebsmitteln entlang gemeinsamer Zweige verschiedener Multicast-Bäume zu verhindern, können in einem verbindungslosen Netzwerk Betriebsmittelzuteilungstechniken wie z. B. RSVP verwendet werden.
  • B. Eine zweite Ausführungsform – Konsolidations-Status-Protokoll (CSP)
  • Bei DSP wird ein Ei,1 in jedem Li gewählt und dieser designierte Endpunkt sendet seine eigene Statusnachricht zu der Quelle S. Bei einer zweiten Ausführungsform des erfindungsgemäßen Verfahrens, die als das Konsolidations-Status-Protokoll (CSP) bezeichnet wird, wird von jeder lokalen Vermittlungsstelle Li eine Statusnachricht zu der Quelle gesendet und diese Statusnachricht ist eine konsolidierte Statusnachricht aller Endpunkte/Ziele in ihrem Zuständigkeitsbereich.
  • 7 ist ein Diagramm der Hauptschritte in dem CSP-Protokoll. Das Protokoll arbeitet folgendermaßen:
    • 1. S multicastet einen Block zu allen Zielen Ei,j ∀ i, j im Schritt 710 unter Verwendung des Multicast-Baums, der in der Verbindungsherstellungsphase eingerichtet wird.
    • 2. Die Ei,j senden ihren Status in regelmäßigen Intervallen zu der entsprechenden lokalen Vermittlungsstelle Li (Schritt 720). Das Format der Statusnachricht ist dasselbe wie das der Statusnachricht 620, die von Ei,j s (für j 1) bei DSP zu Ei,1 gesendet wird.
    • 3. Li konsolidiert die Statusnachrichten aus Ei,j's in seinem Zuständigkeitsbereich. Li sendet periodisch seinen konsolidierten Status zu S (Schritt 730), d. h. ein Statussignal wird zu der Quelle gesendet, das einen Empfangsstatus relativ zu den gesendeten Blöcken angibt. Die folgenden Absätze beschreiben ein bevorzugtes Verfahren, bei dem Li konsolidierte Felder LWr, LOB und buffer_available aus den entsprechenden Feldern einzelner Statusnachrichten von Ei,j s für die konsolidierte Statusnachricht präpariert. Man erinnere sich, daß die Felder LWr, LOB und buffer_available in Tabelle 1 definiert sind. Das konsolidierte LWr wird folgendermaßen gebildet: LWr(consolidated) = min (LW (j) / r) wobei LW (j) / r das LWr-Feld der Statusnachricht von Ei,j zu Li ist. Das heißt, Li wählt den niedrigsten Wert von LWr unter den LWr der Statusnachrichten der Ei,j als das LWr(consolidated). Wenn Z. B. die LWr der Ei,j 4, 3, 2, 8 und 5 sind, Wählt Li 2 als LWr(consolidated), wodurch S angegeben wird, daß alle Ziele in seinem Zuständigkeitsbereich alle Blöcke bis zum Block Nummer 2 empfangen haben, obwohl es bestimmte Ziele in demselben Zuständigkeitsbereich gibt, die alle Blöcke bis zu den Block Nummern 3, 4, 5 und 8 empfangen haben. Das konsolidierte LOB wird folgendermaßen gebildet: LOBconsolidated ist eine bitweise AND-Verknüpfung der ordnungsgemäß ausgerichteten LOB der Ei,j. Man beachte, daß das LOB-Feld abhängig von dem Wert von LWr eine verschiedene Bedeutung für die verschiedenen Ei,j hat. Wenn das LWr von Ei,2 z. B. 3 und LOB den Wert 01000010 hat (das äußerste linke Bit in LOB entspricht dem unteren Ende des Fensters und das äußerste rechte Bit entspricht dem oberen Ende des Fensters) bedeutet dies, daß Ei,2 alle Blöcke bis zum Block Nummer 3 empfangen hat und auch die Blöcke 5 und 10 empfangen hat. Wenn Ei,4 LWr = 4 und dasselbe LOB hat, bedeutet dies, daß Ei,4 alle Blöcke bis zum Block Nummer 4 empfangen hat und auch die Blöcke 6 und 11 empfangen hat. wenn das LOB von Ei,2 und das von Ei,4 konsolidiert werden sollen, muß man also das LOB von Ei,4 um ein Bit verschieben und das äußerste linke Bit des LOB mit 1 füllen und das äußerste rechte Bit des ursprünglichen LOB verwerfen, so daß die Bit, die den Status der Blöcke 3, 4, 5, 6, 7, 8, 9 und 10 darstellen, ausgerichtet werden. Nachdem die Ausrichtung geschehen ist, muß eine bitweise AND-Operation durchgeführt werden, um das konsolidierte LOB zu finden. Das Feld buffer_available in dem konsolidierten Status von Li ist das Minimum der buffer_available-Werte in den Ei,j in seinem Zuständigkeitsbereich. Li sendet den konsolidierten Status der Ziele in seinem Zuständigkeitsbereich zu S. Das Format dieser Statusnachricht ist vorteilhafterweise dasselbe wie das der bei DSP von den Ei,1 zu S gesendeten Statusnachricht.
    • 4. Im Schritt 740 multicastet S einen Block neu zu allen Zielen, wenn es ein Ei,j gibt, das den Block nicht innerhalb der erwarteten Zeit empfangen hat. S könnte den Block jedoch auch nur neu zu dem spezifischen Ei,j senden, das den Block nicht empfangen hat, solange zusätzlich zu den Punkt-zu-Multipunkt-Verbindungen Punkt-zu-Punkt-Verbindungen verfügbar wären.
    • 5. S multicastet einen neuen Block, solange Pufferplatz in jedem Li zum Empfang eines neuen Blocks verfügbar ist. Wenn jeder Endpunkt Ei,j in der lokalen Vermittlungsstelle Li verfügbaren Puffer für einen neuen Block hat, wird gesagt, daß das Li verfügbaren Pufferplatz für einen neuen Block hat. Man beachte, daß dieses Protokoll vermeidet, die Li als Speicher- und Weiterleitungs-Knoten zu benutzen, da das Assemblieren von Paketen in den Li unnötige Verzögerung und unnötige Komplexität in den Vermittlungen einführt.
  • CSP ist im allgemeinen sehr unkompliziert und hat mehrere Vorteile. Z. B. gibt es keine lokalen Multicast-Bäume wie bei DSP, und daher geschehen alle Neumulticasts durch die Quelle S. Außerdem ist der Bestätigungs-(Statusnachrichten-)Verkehr zu der Quelle S im Vergleich zu dem Verfahren, bei dem jedes Ziel einzeln den Empfang eines Blocks der Quelle bestätigt wesentlich geringer. Außerdem erfordert kein Ziel einen Neuübertragungspuffer wie bei DSP. Wenn ein Block nicht eines der Ei,j erreicht, wird er schließlich gemulticastet, sobald S den Verlust des Blocks erkennt. Wenn also ein Block nicht von mehr als einem Ei,j empfangen wird, dann erkennt S dies aus dem „nächsten" Li, das den Block nicht empfangen hat und wartet nicht auf die Bestätigung der anderen Li, die ihn auch nicht empfangen haben. Deshalb startet die Behebung so früh wie möglich. Man beachte jedoch, daß jedes Li den Status der Ei,j in seinem Zuständigkeitsbereich konsolidieren muß. Dies ist eine zusätzliche Last für die Li und erfordert Wechsel zu Vermittlungen anstelle von Endpunkten. Wenn es ein einzelnes Ei,j gibt, das einen Block nicht empfangen hat, muß außerdem S den Block zu allen Zielen multicasten, während bei DSP ein solcher Fall durch das lokale Multicast durch das entsprechende Ei,1 abgewickelt wird.
  • D. Ein drittes Protokoll – kombiniertes Protokoll (CP)
  • Eine dritte Ausführungsform des erfindungsgemäßen Verfahrens, die als das kombinierte Protokoll (CP) bezeichnet wird, kombiniert Ideen aus DSP und CSP. Die lokalen Multicast-Bäume in DSP werden zum Zeitpunkt der Verbindungsherstellung eingerichtet und die Ei,1 bleiben daher während des gesamten Multicasts von S unverändert. Dies kann jedoch zu einer Situation führen, in der ein Ei,1 einen Block nicht empfangen hat, aber ein bestimmtes anderes Ei,j im selben Zuständigkeitsbereich (d. h., innerhalb desselben Li) diesen Block empfangen hat. In einer solchen Situation multicastet S bei DSP das Paket neu.
  • CP ist jedoch ein Versuch, der obigen Situation abzuhelfen, indem die lokalen Multicast-Bäume dynamisch gewählt werden. 8 ist ein Diagramm der Hauptschritte in dem CP-Protokoll. Das Protokoll arbeitet wie folgt:
    • 1. S multicastet einen Block im Schritt 810 zu allen Zielen unter Verwendung des globalen Multicast-Baums, der zum Zeitpunkt der Verbindungsherstellung gewählt wird.
    • 2. Die Endpunkte Ei,j senden ihren Status zu der entsprechenden lokalen Vermittlungsstelle Li genau wie bei CSP im Schritt 820. Li sendet einen konsolidierten Status zu der Quelle S, der einen Empfangsstatus relativ zu den gesendeten Blöcken anzeigt. Die Statuskonsolidierung geschieht jedoch bei CP anders als bei CSP. Die folgenden Abschnitte beschreiben, wie Li aus den entsprechenden Feldern der einzelnen Statusnachrichten von Ei,j s für das CP-Protokoll ein konsolidiertes LWr, ein konsolidiertes LOB und ein konsolidiertes buffer_available präpariert. Das konsolidierte LWr wird folgendermaßen gebildet: LWr(consolidated) = max (LW (j) / r) wobei LW (j) / r das LWr-Feld der Statusnachricht von Ei,j zu Li ist. Das heißt, Li wählt den höchsten Wert von LWr unter den LWr der Statusnachrichten der Ei,j als das LWr(consolidated). Wenn z. B. die LWr der Ei,j 4, 3, 2, 8 und 5 lauten, wählt Li 8 als sein LWr, wodurch S das Vorhandensein eines Ziels in seinem Zuständigkeitsbereich angezeigt wird, das alle Blöcke bis zum Block Nummer 8 empfangen hat, obwohl es andere Ziele in demselben Zuständigkeitsbereich gibt, die nicht alle Blöcke bis zum Block Nummer 8 empfangen haben. In einem gewissen Sinne ist CP ein optimistisches Protokoll, im Gegensatz zu CSP, das pessimistisch ist. LOBconsolidated ist eine bitweise OR-Verknüpfung der ordnungsgemäß ausgerichteten LOB der Ei,j. Man nehme an, daß das LWr von Ei,2 3 und LOB 01000010 beträgt und das LWr von Ei,4 4 und LOB dasselbe ist. Die Konsolidierung bei CP erfolgt auf die folgende Weise. Das LOB von Ei,2 wird um ein Bit nach links geschoben, wobei das äußerste rechte Bit des LOB mit 0 gefüllt und das äußerste linke Bit des ursprünglichen LOB verworfen wird, wodurch die den Status der Blöcke 4, 5, 6, 7, 8, 9, 10 und 11 darstellenden Bit ausgerichtet werden. Nach der Ausrichtung muß eine bitweise OR-Operation stattfinden, um das konsolidierte LOB zu finden. Das Feld buffer_available in dem konsolidierten Status von Li ist das Minimum des buffer_available an den Ei,j in seinem Zuständigkeitsbereich.
    • 3. Li sendet den konsolidierten Status der Ziele in seinem Zuständigkeitsbereich zu S (Schritt 830). Das Format dieser Statusnachricht ist vorteilhafterweise dasselbe wie das der Statusnachricht, die von den Ei,1 bei DSP zu S gesendet wird. Da das Li den globalen Status der Ziele in seinem Zuständigkeitsbereich besitzt, weiß es, welche Blöcke von welchen Endpunkten empfangen wurden, und welche Blöcke nicht von allen Endpunkten in seinem Zuständigkeitsbereich empfangen wurden. Auf der Basis dieser Informationen erzeugt Li einen lokalen Multicast-Baum mit Wurzel an dem Ei,j, das einen gegebenen Block empfangen hat, der nicht von jedem Ziel in dem Li empfangen wurde. Dieses bestimmte Ei,j soll als Ei,jsource bezeichnet werden.
    • 4. Li informiert Ei,jsource über den Block bzw. die Blöcke, den bzw. die es benötigt, um lokal zu den Zielen in Li zu multicasten. Ei,jsource multicastet wiederholt zu den Ei,j, bis es von Li, das den angesammelten Status der Ei,j in seinem Zuständigkeitsbereich besitzt, angewiesen wird, zu stoppen. Tatsächlich senden die Ziel-Ei,j weiter ihren Status zu Li und nicht zu Ei,jsource. Li sammelt den Status der Ziele in seinem Zuständigkeitsbereich und erzeugt dynamisch einen lokalen Multicast-Baum. Dies ist Schritt 850.
    • 5. S multicastet einen Block neu, wenn ein bestimmtes Li den Block nicht empfangen hat (Schritt 840). Hierbei hat, wenn kein Ei,j in einem Li einen gegebenen Block empfangen hat, das Li den Block nicht empfangen.
    • 6. S multicastet einen neuen Block, wenn jedes Li verfügbaren Pufferplatz für neue Blöcke hat. In diesem Kontext ist, wenn buffer_available > 0 für jedes Ei,j in einem Li ist, Pufferplatz für das Li verfügbar.
  • Von den beschriebenen Protokollen ist in der Regel bei CP das Neumulticasten von Verkehr von der Quelle S zu den Zielen am geringsten. Der Grund dafür besteht darin, daß S einen Block nicht neu multicasten muß, sobald mindestens ein einziges Ziel in jedem Li den Block empfängt. CP ist insofern vorteilhaft, als Bestätigungsverkehr zu der Quelle im Vergleich zu dem Verfahren, bei dem jedes Ziel einzeln den Empfang eines Pakets/Blocks der Multicasting-Quelle bestätigt, wesentlich verringert, weil nicht alle Ziele (Endpunkte) Bestätigungs-(Status-)Pakete zu der Quelle S senden. Nur die Li senden Statuspakete zu der Quelle S. CP behält außerdem alle Vorteile des SNR-Protokolls. Der periodische Austausch vollständiger Zustandsinformationen vereinfacht die Fehlerbehebung bei diesem Protokoll im Vergleich zu anderen Protokollen, die nicht periodisch vollständige Zustandsinformationen austauschen. Man beachte außerdem, daß, wenn ein Block eines der Li nicht erreicht, dieser gemulticastet wird, sobald S den Verlust des Blocks erkennt. Hierbei wird, wenn ein Block ein beliebiges Ziel Ei,j in der lokalen Vermittlungsstelle Li nicht erreicht, der Block nicht durch Li empfangen. Wenn ein Block also nicht von mehr als einem Li empfangen wird, erkennt S dies aus dem „nächsten" Lj, das den Block nicht empfangen hat, und wartet nicht auf die Bestätigung von den anderen Ei,1. die ihn ebenfalls nicht empfangen haben. Deshalb beginnt die Behebung so früh wie möglich.
  • CP weist ein Verarbeitungsoverhead auf, das dem dynamischen Einrichten der lokalen Multicast-Bäume, im Gegensatz zu dem statischen Einrichten dieser während der Verbindungsherstellung wie bei DSP, zugeordnet ist. Außerdem besteht ein Kommunikationsoverhead, da jedes Li das entsprechende Ei,jsource über das Paket informieren muß, das Ei,jsource lokal multicasten muß, und außerdem Ei,jsource informieren muß, wenn es nicht mehr multicasten muß. Man beachte weiterhin, daß CP erfordert, daß alle Endpunkte Ei,j zwei Puffer führen müssen: (1) einen Neuassemblierpuffer und (2) einen Neuübertragungs puffer. Die Notwendigkeit des ersteren ist offensichtlich. Der Neuübertragungspuffer muß geführt werden, da ein Ei,j möglicherweise die Blöcke lokal zu anderen Ei,j neu senden muß, die sie nicht empfangen haben. Schließlich muß jeder Endpunkt Ei,j möglicherweise die Verantwortung tragen, bestimmte Blöcke neu zu senden, auch wenn er einfach nur ein passiver Endpunkt ist, der nur daran interessiert ist; Multicast-Nachrichten zu empfangen.
  • E. Schlußfolgerung
  • Die vorliegende Offenlegung beschreibt ein Verfahren zum Netzwerk-Multicasting. Das Verfahren wurde ohne Bezugnahme auf spezifische Hardware oder Software beschrieben. Stattdessen wurde das Verfahren so beschrieben, daß Fachleute ohne weiteres Hardware oder Software je nach Verfügbarkeit oder Vorzug anpassen können. Obwohl die obigen Lehren der vorliegenden Erfindung im Hinblick auf Multicast-Protokolle erfolgten, werden Fachleute die Anwendbarkeit dieser Lehren auf andere Kontexte erkennen.

Claims (14)

  1. Verfahren mit den folgenden Schritten: Senden von Informationsblöcken von einer Quelle zu einer Menge von Zielen, wobei jedes Ziel einer lokalen Vermittlungsstelle in einer Menge von lokalen Vermittlungsstellen zugewiesen ist, Empfangen eines ersten Statussignals von jeder lokalen Vermittlungsstelle in der Quelle, wobei das erste Statussignal einen Empfangsstatus für ein oder mehrere Ziele anzeigt, die relativ zu den gesendeten Blöcken dieser lokalen Vermittlungsstelle zugewiesen sind; und Senden der Informationsblöcke, die von keinen der lokalen Vermittlungsstellen empfangen wurden, von der Quelle zu den lokalen Vermittlungsstellen als Reaktion auf die ersten Statussignale.
  2. Verfahren nach Anspruch 1, wobei die Informationsblöcke entlang einem globalen Multicast-Baum gesendet werden.
  3. Verfahren nach Anspruch 2, wobei der globale Multicast-Baum auf einer Transportebene in einem Computernetzwerk hergestellt wird.
  4. Verfahren nach Anspruch 1, wobei jedes Ziel eine zugeordnete Menge von Puffern aufweist und wobei das erste Statussignal aus jeder lokalen Vermittlungsstelle den Platz anzeigt, der in den Puffern mindestens eines Ziels in dieser lokalen Vermittlungsstelle verfügbar ist.
  5. Verfahren nach Anspruch 1, wobei das erste Statussignal aus jeder lokalen Vermittlungsstelle durch ein repräsentatives Ziel in jeder lokalen Vermittlungsstelle gesendet wird und wobei das erste Statussignal eine Menge von bestimmten Informationsblöcken anzeigt, die der ausgewiesene Repräsentant nicht empfangen hat.
  6. Verfahren nach Anspruch 5, weiterhin mit dem folgenden Schritt: Senden eines jeweiligen zweiten Statussignals von jedem Ziel in jeder lokalen Vermittlungsstelle zu dem Repräsentant für diese lokale Vermittlungsstelle, wobei das jeweilige zweite Statussignal von jedem Ziel eine Menge von Informationsblöcken anzeigt, die dieses Ziel nicht empfangen hat.
  7. Verfahren nach Anspruch 6, weiterhin mit dem folgenden Schritt: Senden, entlang einem lokalen Multicast-Weg in jeder lokalen Vermittlungsstelle, einer Teilmenge der Menge von Informationsblöcken, die von Zielen in dieser lokalen Vermittlungsstelle nicht empfangen wurden, wobei die Wurzel des lokalen Multicast-Baums in jeder lokalen Vermittlungsstelle das jeweilige repräsentative Ziel für diese lokale Vermittlungsstelle ist.
  8. Verfahren nach Anspruch 1, wobei das jeweilige erste Statussignal aus jeder lokalen Vermittlungsstelle auf einem jeweiligen zweiten Statussignal aus jedem Ziel in dieser lokalen Vermittlungsstelle basiert und wobei das jeweilige zweite Statussignal aus jedem Ziel eine Menge von Informationsblöcken anzeigt, die dieses Ziel nicht empfangen hat.
  9. Verfahren zum Senden von Informationen von einer Quelle zu jedem Ziel in einer Menge von Zielen entlang einem globalen Multicast-Baum, wobei jedes Ziel in der Menge von Zielen einer lokalen Vermittlungsstelle in einer Menge von lokalen Vermittlungsstellen zugewiesen ist, mit den folgenden Schritten: Senden von Informationsblöcken zu jedem Ziel in der Menge von Zielen entlang dem globalen Multicast-Baum; Senden eines jeweiligen ersten Statussignals von jedem Ziel in einer lokalen Vermittlungsstelle zu dieser lokalen Vermittlungsstelle, wobei das jeweilige erste Statussignal von jedem Ziel eine Menge von Informationsblöcken anzeigt, die dieses Ziel in dieser lokalen Vermittlungsstelle nicht empfangen hat; und Senden eines jeweiligen konsolidierten Statussignals von jeder lokalen Vermittlungsstelle zu der Quelle, wobei das jeweilige konsolidierte Statussignal von jeder lokalen Vermittlungsstelle auf ersten Statussignalen basiert, die aus Zielen in dieser lokalen Vermittlungsstelle empfangen werden, und wobei das konsolidierte Statussignal von jeder lokalen Vermittlungsstelle die Menge von Informationsblöcken anzeigt, die die Ziele in dieser lokalen Vermittlungsstelle nicht empfangen haben.
  10. Verfahren nach Anspruch 9, wobei jedes Ziel eine Menge von zugeordneten Puffern aufweist und wobei die Informationen in den Puffern gespeichert werden.
  11. Verfahren nach Anspruch 10, wobei das erste Statussignal aus einem gegebenen Ziel anzeigt, ob das Ziel ausreichend Platz in dem zugeordneten Puffer zum Empfangen neuer Informationblöcke besitzt.
  12. Verfahren nach Anspruch 9, wobei der globale Multicast-Baum auf einer Transportebene in einem Computernetzwerk hergestellt wird.
  13. Verfahren nach Anspruch 9, weiterhin mit dem folgenden Schritt: Neusenden der Mengen von Bblöcken, die von einem oder mehreren Zielen nicht empfangen wurden, von der Quelle zu einem gegebenen Ziel entlang dem globalen Multicast-Baum.
  14. Verfahren nach Anspruch 9, weiterhin mit dem folgenden Schritt: Neusenden der Mengen von Blöcken, die von dem gegebenen Ziel nicht empfangen wurden, von der Quelle zu einem gegebenen Ziel entlang einer Punkt-zu-Punkt-Verbindung.
DE69532262T 1994-08-24 1995-08-15 Verfahren zum Mehrfachsenden Expired - Lifetime DE69532262T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/295,333 US5541927A (en) 1994-08-24 1994-08-24 Method of multicasting
US295333 1994-08-24

Publications (2)

Publication Number Publication Date
DE69532262D1 DE69532262D1 (de) 2004-01-22
DE69532262T2 true DE69532262T2 (de) 2004-09-30

Family

ID=23137247

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69532262T Expired - Lifetime DE69532262T2 (de) 1994-08-24 1995-08-15 Verfahren zum Mehrfachsenden

Country Status (5)

Country Link
US (1) US5541927A (de)
EP (1) EP0698975B1 (de)
JP (1) JPH0888633A (de)
CA (1) CA2151072C (de)
DE (1) DE69532262T2 (de)

Families Citing this family (174)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5555244A (en) 1994-05-19 1996-09-10 Integrated Network Corporation Scalable multimedia network
US5973724A (en) * 1995-02-24 1999-10-26 Apple Computer, Inc. Merging multiple teleconferences
US5854898A (en) 1995-02-24 1998-12-29 Apple Computer, Inc. System for automatically adding additional data stream to existing media connection between two end points upon exchange of notifying and confirmation messages therebetween
US6094525A (en) * 1995-07-06 2000-07-25 Novell, Inc. Network addressing arrangement for backward compatible routing of an expanded address space
US5852606A (en) * 1995-07-12 1998-12-22 Bay Networks, Inc. Method and apparatus for transmitting cells across an ATM switch bus
WO1997003508A1 (fr) * 1995-07-13 1997-01-30 Sony Corporation Procede, appareil et systeme de transmission de donnees
JP3698761B2 (ja) * 1995-07-19 2005-09-21 富士通株式会社 情報転送方法及び情報転送装置
US5930259A (en) * 1995-08-25 1999-07-27 Kabushiki Kaisha Toshiba Packet transmission node device realizing packet transfer scheme and control information transfer scheme using multiple virtual connections
NZ315992A (en) * 1995-09-07 2000-02-28 Nec Australia Pty Ltd A distribution system to enable video and interactive services to be distributed over a public switched telephone network
US5831973A (en) * 1995-10-11 1998-11-03 Mitsubishi Denki Kabushiki Kaisha Multicast connection control method and apparatus
EP0771131A3 (de) 1995-10-27 2000-02-09 Lucent Technologies Inc. Echtzeitverarbeitung von virtuellen Verbindungen in Paketvermittlung
US6437803B1 (en) 1998-05-29 2002-08-20 Citrix Systems, Inc. System and method for combining local and remote windows into a single desktop environment
US7555529B2 (en) * 1995-11-13 2009-06-30 Citrix Systems, Inc. Interacting with software applications displayed in a web page
US6950991B2 (en) * 1995-11-13 2005-09-27 Citrix Systems, Inc. Interacting with software applications displayed in a web page
US6088515A (en) 1995-11-13 2000-07-11 Citrix Systems Inc Method and apparatus for making a hypermedium interactive
GB9603582D0 (en) 1996-02-20 1996-04-17 Hewlett Packard Co Method of accessing service resource items that are for use in a telecommunications system
JP3529541B2 (ja) * 1996-04-02 2004-05-24 株式会社東芝 ルータ装置及びパケット転送方法
US6353596B1 (en) * 1996-04-12 2002-03-05 Lucent Technologies Inc. System and method for multipoint-to-multipoint multicasting
US6154445A (en) * 1996-04-18 2000-11-28 Bell Atlantic Network Services, Inc. Telephony communication via varied redundant networks
US6069890A (en) 1996-06-26 2000-05-30 Bell Atlantic Network Services, Inc. Internet telephone service
US5862329A (en) * 1996-04-18 1999-01-19 International Business Machines Corporation Method system and article of manufacture for multi-casting audio visual material
US6683876B1 (en) * 1996-09-23 2004-01-27 Silicon Graphics, Inc. Packet switched router architecture for providing multiple simultaneous communications
US6122275A (en) * 1996-09-26 2000-09-19 Lucent Technologies Inc. Real-time processing for virtual circuits in packet switching
US5905871A (en) * 1996-10-10 1999-05-18 Lucent Technologies Inc. Method of multicasting
US5910179A (en) * 1996-10-25 1999-06-08 Pitney Bowes Inc. Method and system for transmitting data within a tree structure and receiving a confirmation or status therefor
US6016307A (en) 1996-10-31 2000-01-18 Connect One, Inc. Multi-protocol telecommunications routing optimization
US6473404B1 (en) 1998-11-24 2002-10-29 Connect One, Inc. Multi-protocol telecommunications routing optimization
US6101180A (en) 1996-11-12 2000-08-08 Starguide Digital Networks, Inc. High bandwidth broadcast system having localized multicast access to broadcast content
US6690654B2 (en) 1996-11-18 2004-02-10 Mci Communications Corporation Method and system for multi-media collaboration between remote parties
US6909708B1 (en) * 1996-11-18 2005-06-21 Mci Communications Corporation System, method and article of manufacture for a communication system architecture including video conferencing
US5999525A (en) * 1996-11-18 1999-12-07 Mci Communications Corporation Method for video telephony over a hybrid network
US5867495A (en) * 1996-11-18 1999-02-02 Mci Communications Corporations System, method and article of manufacture for communications utilizing calling, plans in a hybrid network
US7145898B1 (en) 1996-11-18 2006-12-05 Mci Communications Corporation System, method and article of manufacture for selecting a gateway of a hybrid communication system architecture
US6754181B1 (en) 1996-11-18 2004-06-22 Mci Communications Corporation System and method for a directory service supporting a hybrid communication system architecture
US5867494A (en) * 1996-11-18 1999-02-02 Mci Communication Corporation System, method and article of manufacture with integrated video conferencing billing in a communication system architecture
US6335927B1 (en) 1996-11-18 2002-01-01 Mci Communications Corporation System and method for providing requested quality of service in a hybrid network
US6078582A (en) 1996-12-18 2000-06-20 Bell Atlantic Network Services, Inc. Internet long distance telephone service
US6178443B1 (en) * 1996-12-20 2001-01-23 Intel Corporation Method and apparatus for propagating user preferences across multiple computer environments
US6169734B1 (en) 1996-12-31 2001-01-02 Mci Communications Corporation Internet phone set
US5946316A (en) * 1997-01-17 1999-08-31 Lucent Technologies, Inc. Dynamic distributed multicast routing protocol
US6198747B1 (en) 1997-01-30 2001-03-06 International Business Machines Corporation Method and system for enhancing communications efficiency in data communications networks wherein broadcast occurs
US6731625B1 (en) 1997-02-10 2004-05-04 Mci Communications Corporation System, method and article of manufacture for a call back architecture in a hybrid network with support for internet telephony
US6067567A (en) * 1997-02-20 2000-05-23 International Business Machines Corporation Message distribution capability which uses distribution nodes to collect acknowledgements for a primary node
US5859939A (en) * 1997-02-25 1999-01-12 Mci Communications Corporation Method and system for equalizing PMD using incremental delay switching
US6137869A (en) 1997-09-16 2000-10-24 Bell Atlantic Network Services, Inc. Network session management
US6574216B1 (en) 1997-03-11 2003-06-03 Verizon Services Corp. Packet data network voice call quality monitoring
US6292479B1 (en) 1997-03-19 2001-09-18 Bell Atlantic Network Services, Inc. Transport of caller identification information through diverse communication networks
US6870827B1 (en) 1997-03-19 2005-03-22 Verizon Services Corp. Voice call alternative routing through PSTN and internet networks
US6078590A (en) * 1997-07-14 2000-06-20 Cisco Technology, Inc. Hierarchical routing knowledge for multicast packet routing
US6205473B1 (en) * 1997-10-03 2001-03-20 Helius Development Corporation Method and system for asymmetric satellite communications for local area networks
US6006206A (en) * 1997-09-08 1999-12-21 Reuters Limited Data health monitor for financial information communications networks
US6396814B1 (en) * 1997-09-12 2002-05-28 Kabushiki Kaisha Toshiba Network construction method and communication system for communicating between different groups via representative device of each group
US5956165A (en) * 1997-09-12 1999-09-21 Mci Communications Corporation Method and apparatus for updating subcarrier modulation in a communication network
US6058113A (en) * 1997-09-30 2000-05-02 Lucent Technologies, Inc. Method for enhancing resource reservation communication
US6671276B1 (en) * 1997-11-18 2003-12-30 Nec Corporation Switch based network architecture for IP multicast and integrated services
US6185599B1 (en) * 1997-11-19 2001-02-06 At&T Corporation Method of electronic bidding over networks through data tagging and data scanning
US6219691B1 (en) * 1997-11-19 2001-04-17 At&T Corporation Communication circulation system and method for communication in a network
DE19817024A1 (de) * 1998-04-17 1999-10-21 Alcatel Sa Integrierte Schaltung
US7123628B1 (en) * 1998-05-06 2006-10-17 Lg Electronics Inc. Communication system with improved medium access control sub-layer
US6515994B1 (en) 1998-07-30 2003-02-04 Lucent Technologies Inc. Method of communication in a communications network and apparatus therefor
US6141347A (en) * 1998-08-26 2000-10-31 Motorola, Inc. Wireless communication system incorporating multicast addressing and method for use
US6959323B1 (en) * 1998-08-27 2005-10-25 Lucent Technologies Inc. Scalable atomic multicast
US6167383A (en) * 1998-09-22 2000-12-26 Dell Usa, Lp Method and apparatus for providing customer configured machines at an internet site
EP1044546A1 (de) * 1998-10-13 2000-10-18 General Electric Company System und verfahren zur bestimmung von globaler virtueller zeit ("gvt") in optimistischen parallelen simulationen mit verteilten diskreten ereignissen ("pdes")
US6928469B1 (en) 1998-12-29 2005-08-09 Citrix Systems, Inc. Apparatus and method for determining a program neighborhood for a client node in a client-server network using markup language techniques
US6415312B1 (en) * 1999-01-29 2002-07-02 International Business Machines Corporation Reliable multicast for small groups
US6307861B1 (en) 1999-03-18 2001-10-23 Motorola, Inc. Method and system for multicast using a satellite network
US6269080B1 (en) * 1999-04-13 2001-07-31 Glenayre Electronics, Inc. Method of multicast file distribution and synchronization
JP3764016B2 (ja) 1999-05-10 2006-04-05 財団法人流通システム開発センタ− 統合ip転送網
US7457857B1 (en) * 1999-05-26 2008-11-25 Broadcom Corporation Method and apparatus for a network hub to diagnose network operation and broadcast information to a remote host or monitoring device
US6625773B1 (en) * 1999-06-09 2003-09-23 International Business Machines Corporation System for multicast communications in packet switched networks
US6697365B1 (en) 1999-06-10 2004-02-24 Charles Hayes Messenger Method of listener transmitted broadcasting
US6581175B1 (en) * 1999-06-29 2003-06-17 Nortel Networks Limited Apparatus and method of requesting retransmission of a message across a network
US7085273B1 (en) * 1999-07-08 2006-08-01 Lucent Technologies Inc. Sender-initiated recovery algorithm (SIRA) for the layer 2 tunneling protocol (L2TP)
EP1107508A1 (de) * 1999-12-06 2001-06-13 Telefonaktiebolaget Lm Ericsson System, Verfahren und Rechnerprogrammprodukt zum Empfangen von Rundschreibnachrichten
US6667976B1 (en) * 1999-12-09 2003-12-23 Lucent Technologies Inc. Fuzzycast service in switches
US7424444B1 (en) 1999-12-20 2008-09-09 Dell Usa, L.P. Apparatus and method for configuring computers
US20010025377A1 (en) * 1999-12-30 2001-09-27 Hinderks Larry W. High bandwidth transmission system and method having local insertion, delay play and demand play
US6738900B1 (en) 2000-01-28 2004-05-18 Nortel Networks Limited Method and apparatus for distributing public key certificates
US20020031131A1 (en) * 2000-02-02 2002-03-14 Yechiam Yemini Method and apparatus for the exchange of data between a dynamically addressed network and a foreign network
US7301952B2 (en) 2000-04-06 2007-11-27 The Distribution Systems Research Institute Terminal-to-terminal communication connection control method using IP transfer network
EP1487174A3 (de) * 2000-04-06 2014-12-10 The Distribution Systems Research Institute Endgerät-zu-Endgerät-Kommunikationssteuerungsverfahren unter Verwendung eines IP-Übertragungsnetzes
EP1305924B1 (de) * 2000-04-07 2010-03-31 Network Appliance, Inc. Verfahren und gerät zur sicheren und skalierbaren übertragung von datendateien in verteilten netzwerken
US6748447B1 (en) * 2000-04-07 2004-06-08 Network Appliance, Inc. Method and apparatus for scalable distribution of information in a distributed network
US6718361B1 (en) 2000-04-07 2004-04-06 Network Appliance Inc. Method and apparatus for reliable and scalable distribution of data files in distributed networks
US6993587B1 (en) 2000-04-07 2006-01-31 Network Appliance Inc. Method and apparatus for election of group leaders in a distributed network
US6693907B1 (en) * 2000-04-11 2004-02-17 Sun Microsystems, Inc. Method and system for measuring reception characteristics in a multicast data distribution group
US6701360B1 (en) * 2000-04-13 2004-03-02 Hewlett-Packard Development Company, L.P. Method and system for independent console access with tracking in a server system
US6850488B1 (en) * 2000-04-14 2005-02-01 Sun Microsystems, Inc. Method and apparatus for facilitating efficient flow control for multicast transmissions
US6407341B1 (en) 2000-04-25 2002-06-18 International Business Machines Corporation Conductive substructures of a multilayered laminate
US6922724B1 (en) 2000-05-08 2005-07-26 Citrix Systems, Inc. Method and apparatus for managing server load
US6789112B1 (en) 2000-05-08 2004-09-07 Citrix Systems, Inc. Method and apparatus for administering a server having a subsystem in communication with an event channel
US6785726B1 (en) 2000-05-08 2004-08-31 Citrix Systems, Inc. Method and apparatus for delivering local and remote server events in a similar fashion
US6785713B1 (en) 2000-05-08 2004-08-31 Citrix Systems, Inc. Method and apparatus for communicating among a network of servers utilizing a transport mechanism
US6717921B1 (en) * 2000-05-17 2004-04-06 Lucent Technologies Inc. Method for configuring a shared tree for routing traffic in a multicast conference
SG101985A1 (en) 2000-07-12 2004-02-27 Distribution Systems Res Inst Integrated information communication system
US6990098B1 (en) 2000-09-11 2006-01-24 Sun Microsystems, Inc. Reliable multicast using merged acknowledgements
US7870183B1 (en) * 2000-10-25 2011-01-11 International Business Machines Corporation Multicast enabled mail
US7031308B2 (en) * 2000-10-30 2006-04-18 The Regents Of The University Of California Tree-based ordered multicasting method
AU2002228318A1 (en) * 2001-01-31 2002-08-12 Tulip Networks Ltd. Distributed multicasting for an atm network
US7284050B1 (en) 2001-03-26 2007-10-16 Cisco Technology, Inc. Method and system for a voice multicast hardware accelerator
CA2388938C (en) 2001-06-08 2010-05-04 The Distributions Systems Research Institute Terminal-to-terminal communication connection control system for ip full service
US7009971B2 (en) * 2001-07-16 2006-03-07 International Business Machines Corporation Methods and arrangements for multicasting a data stream at different data rates to groups of subscribers
WO2003019840A2 (en) * 2001-08-23 2003-03-06 Bamboo Mediacasting Inc. Multicast transmission in packet based cellular networks
US6697349B2 (en) 2001-08-30 2004-02-24 Motorola, Inc. System and methods for distributed connection and mobility processing in a multicast IP network incorporating multi-cell location areas
US6580284B1 (en) * 2001-11-19 2003-06-17 Siemens Aktiengesellschaft Method and apparatus for determining an operating state of a motor which is connected to a rigid network
US20030163544A1 (en) * 2002-02-04 2003-08-28 Wookey Michael J. Remote service systems management interface
US20030149889A1 (en) * 2002-02-04 2003-08-07 Wookey Michael J. Automatic communication and security reconfiguration for remote services
US20030177259A1 (en) * 2002-02-04 2003-09-18 Wookey Michael J. Remote services systems data delivery mechanism
US20030149771A1 (en) * 2002-02-04 2003-08-07 Wookey Michael J. Remote services system back-channel multicasting
US20030149740A1 (en) * 2002-02-04 2003-08-07 Wookey Michael J. Remote services delivery architecture
US7167448B2 (en) * 2002-02-04 2007-01-23 Sun Microsystems, Inc. Prioritization of remote services messages within a low bandwidth environment
GB2385499A (en) * 2002-02-18 2003-08-20 Venation Ltd Network transport protocol
US8135843B2 (en) * 2002-03-22 2012-03-13 Citrix Systems, Inc. Methods and systems for providing access to an application
US20030208361A1 (en) * 2002-05-02 2003-11-06 Belinne Daryl Jarvis Configuration of systems with services
US20030212738A1 (en) * 2002-05-10 2003-11-13 Wookey Michael J. Remote services system message system to support redundancy of data flow
US8072979B2 (en) 2002-06-07 2011-12-06 The Distribution Systems Research Institute Terminal-to-terminal communication control system for IP full service
US7181455B2 (en) * 2002-06-27 2007-02-20 Sun Microsystems, Inc. Bandwidth management for remote services system
US8266239B2 (en) * 2002-06-27 2012-09-11 Oracle International Corporation Remote services system relocatable mid level manager
US7240109B2 (en) * 2002-06-27 2007-07-03 Sun Microsystems, Inc. Remote services system service module interface
US7260623B2 (en) * 2002-06-27 2007-08-21 Sun Microsystems, Inc. Remote services system communication module
US7289500B1 (en) * 2003-07-17 2007-10-30 Novell, Inc. Method and system for reliable multicast data transmission
US20040081089A1 (en) * 2002-09-26 2004-04-29 Sharp Laboratories Of America, Inc. Transmitting data on scheduled channels in a centralized network
US7653012B2 (en) * 2002-09-26 2010-01-26 Sharp Laboratories Of America, Inc. Relay transmission of data in a centralized network
KR100935933B1 (ko) * 2002-10-15 2010-01-11 삼성전자주식회사 무선통신에서 무선단말 그룹화에 의한 신뢰성 있는멀티캐스트 데이터 재전송 방법 및 장치
US7548972B2 (en) * 2002-10-23 2009-06-16 Cisco Technology, Inc. Method and apparatus for providing likely updates to views of group members in unstable group communication systems
US7542471B2 (en) 2002-10-30 2009-06-02 Citrix Systems, Inc. Method of determining path maximum transmission unit
US7616638B2 (en) 2003-07-29 2009-11-10 Orbital Data Corporation Wavefront detection and disambiguation of acknowledgments
US8233392B2 (en) 2003-07-29 2012-07-31 Citrix Systems, Inc. Transaction boundary detection for reduction in timeout penalties
US8270423B2 (en) 2003-07-29 2012-09-18 Citrix Systems, Inc. Systems and methods of using packet boundaries for reduction in timeout prevention
US7630305B2 (en) 2003-07-29 2009-12-08 Orbital Data Corporation TCP selective acknowledgements for communicating delivered and missed data packets
DE10251654B4 (de) * 2002-10-31 2006-03-02 Siemens Ag Verfahren zur Sicherstellung der gleichen Nachrichtenreihenfolge in mehreren Datensenken
EP1450535A1 (de) * 2003-02-18 2004-08-25 Matsushita Electric Industrial Co., Ltd. Weiterleitungseinrichtung für hierarchische Weiterübertragungen in Multimedia-Datenströmen
IL154739A0 (en) * 2003-03-04 2003-10-31 Bamboo Mediacasting Ltd Segmented data delivery over non-reliable link
US7769885B1 (en) * 2003-05-23 2010-08-03 Juniper Networks, Inc. Determining liveness of protocols and interfaces
US7372853B2 (en) * 2003-06-25 2008-05-13 Fujitsu Limited Method and system for multicasting data packets in an MPLS network
US7656799B2 (en) 2003-07-29 2010-02-02 Citrix Systems, Inc. Flow control system architecture
US8432800B2 (en) 2003-07-29 2013-04-30 Citrix Systems, Inc. Systems and methods for stochastic-based quality of service
US8437284B2 (en) 2003-07-29 2013-05-07 Citrix Systems, Inc. Systems and methods for additional retransmissions of dropped packets
US8238241B2 (en) 2003-07-29 2012-08-07 Citrix Systems, Inc. Automatic detection and window virtualization for flow control
US7444396B2 (en) * 2003-08-29 2008-10-28 Sun Microsystems, Inc. Transferring system identities
US20050049932A1 (en) * 2003-09-03 2005-03-03 Howell James A. Process for managing subscription service purchases
IL157885A0 (en) * 2003-09-11 2004-03-28 Bamboo Mediacasting Ltd Iterative forward error correction
IL157886A0 (en) * 2003-09-11 2009-02-11 Bamboo Mediacasting Ltd Secure multicast transmission
US20050071270A1 (en) * 2003-09-26 2005-03-31 Ramirez Christopher W. Process for remote recovery and creation of machine specific authentication keys for systems
IL158158A (en) 2003-09-29 2012-05-31 Bamboo Mediacasting Ltd Distribution of multicast data to users
US7095739B2 (en) * 2003-11-25 2006-08-22 Cisco Technology, Inc. Reliable multicast communication
US7562363B1 (en) 2003-11-25 2009-07-14 Cisco Technology, Inc. Gang scheduling among one or more components or systems
US20060122894A1 (en) * 2004-12-03 2006-06-08 Mcgary Jon User configured order status updates
US7893882B2 (en) 2007-01-08 2011-02-22 Ruckus Wireless, Inc. Pattern shaping of RF emission patterns
FI20050114A0 (fi) * 2005-02-01 2005-02-01 Nokia Corp Nousevalta siirtotieltä tulevan datan käsittely viestintäjärjestelmässä
US20060193462A1 (en) * 2005-02-28 2006-08-31 Gregg Hansen System for optimizing configurable information handling systems
US7631021B2 (en) * 2005-03-25 2009-12-08 Netapp, Inc. Apparatus and method for data replication at an intermediate node
US20060291645A1 (en) * 2005-06-08 2006-12-28 Vasu Mekala Needs based offer
US8281025B2 (en) * 2005-06-13 2012-10-02 Hewlett-Packard Development Company, L.P. Contemporaneous peer-to-peer multicast data distribution
US7623684B2 (en) * 2005-07-19 2009-11-24 Dell Products, L.P. System and method for information handling system software registration code management
US7716586B2 (en) * 2006-02-17 2010-05-11 International Business Machines Corporation Apparatus, system, and method for progressively disclosing information in support of information technology system visualization and management
KR100872415B1 (ko) * 2006-03-03 2008-12-05 삼성전자주식회사 중계기를 사용하는 무선 접속 통신시스템에서 패킷 전송장치 및 방법
US8140618B2 (en) 2006-05-04 2012-03-20 Citrix Online Llc Methods and systems for bandwidth adaptive N-to-N communication in a distributed system
JP4680860B2 (ja) 2006-09-29 2011-05-11 富士通株式会社 データ通信方法
US8051326B2 (en) * 2006-12-29 2011-11-01 Futurewei Technologies, Inc. System and method for completeness of TCP data in TCP HA
US9648147B2 (en) * 2006-12-29 2017-05-09 Futurewei Technologies, Inc. System and method for TCP high availability
US7706266B2 (en) * 2007-03-12 2010-04-27 Citrix Systems, Inc. Systems and methods of providing proxy-based quality of service
US20080285496A1 (en) * 2007-05-14 2008-11-20 Bamboo Mediacasting Ltd. Data download in wireless network
US7660539B2 (en) * 2007-07-11 2010-02-09 Dell Products, L.P. Printer consumable ordering direct from printer
US8547899B2 (en) 2007-07-28 2013-10-01 Ruckus Wireless, Inc. Wireless network throughput enhancement through channel aware scheduling
US7936753B1 (en) * 2007-11-30 2011-05-03 Qlogic, Corporation Method and system for reliable multicast
US8238538B2 (en) 2009-05-28 2012-08-07 Comcast Cable Communications, Llc Stateful home phone service
CN102668494B (zh) * 2009-09-22 2016-08-24 法国电信公司 在属于第一用户的终端与属于第二用户的至少一个终端之间的数据交换会话的监视
GB2466540B (en) * 2009-09-24 2010-11-17 Nokia Corp Multicast service
JP2012010296A (ja) * 2010-06-28 2012-01-12 Toshiba Corp 無線通信システム及び中継装置
US10834065B1 (en) 2015-03-31 2020-11-10 F5 Networks, Inc. Methods for SSL protected NTLM re-authentication and devices thereof
US10404698B1 (en) 2016-01-15 2019-09-03 F5 Networks, Inc. Methods for adaptive organization of web application access points in webtops and devices thereof
US20170270165A1 (en) * 2016-03-16 2017-09-21 Futurewei Technologies, Inc. Data streaming broadcasts in massively parallel processing databases

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5355371A (en) * 1982-06-18 1994-10-11 International Business Machines Corp. Multicast communication tree creation and control method and apparatus
US4807224A (en) * 1987-08-21 1989-02-21 Naron Steven E Multicast data distribution system and method
US5036518A (en) * 1988-11-02 1991-07-30 Tseung Lawrence C N Guaranteed reliable broadcast network
US5297143A (en) * 1990-12-03 1994-03-22 Echelon Systems, Corp. Network communication protocol including a reliable multicasting technique
US5255268A (en) * 1992-02-04 1993-10-19 International Business Data distribution network with improved broadcast feature
US5309433A (en) * 1992-06-18 1994-05-03 International Business Machines Corp. Methods and apparatus for routing packets in packet transmission networks
GB2272310A (en) * 1992-11-07 1994-05-11 Ibm Method of operating a computer in a network.

Also Published As

Publication number Publication date
EP0698975B1 (de) 2003-12-10
EP0698975A2 (de) 1996-02-28
US5541927A (en) 1996-07-30
JPH0888633A (ja) 1996-04-02
CA2151072A1 (en) 1996-02-25
EP0698975A3 (de) 1999-06-02
DE69532262D1 (de) 2004-01-22
CA2151072C (en) 2000-06-27

Similar Documents

Publication Publication Date Title
DE69532262T2 (de) Verfahren zum Mehrfachsenden
DE60316745T2 (de) Erleichterung der beschleunigten Verarbeitung von Nachrichten des Internet Group Management Protokolls
DE69325957T2 (de) Verfahren und Einrichtung zur Leitweglenkung von Paketen in Paketübertragungsnetzen
DE69601374T2 (de) Verfahren und vorrichtung zur synchronisierung von datenubertragungen mit wahlverbindungen in einem netzwerk
DE69829203T2 (de) Paketnetzwerk
DE3686254T2 (de) Verbindung von rundsendenetzwerken.
DE69726701T2 (de) Verfahren zur Übertragung von Verbindungsverwaltungsinformationen in World Wide Web Anforderungen und Antworten
DE60111551T2 (de) Mechanismus zur vervollständigung von nachrichten im speicher
DE2603262C3 (de) Einrichtung zur Vermittlung von Daten
DE3686629T2 (de) Paketvermittlungsnachrichtensystem hoher geschwindigkeit mit durchgehender fluesssteuerung und sendewiederholung.
DE69636201T2 (de) Methode zur Mehrfachaussendung in Netzwerken mit ARQ zur Vermeidung unnötiger Wiederholungsübertragungen
DE69015275T2 (de) Datenkommunikationssystem und Vorrichtung mit einer zyklischen Quittungsantwortensequenz.
DE60030050T2 (de) Vorrichtung und verfahren zur effiziente abgabe von mehrfachdaten im pacs (personal access communications system)
DE69808753T2 (de) Mehrfachübertragungsvermittlung und -verfahren
DE69429166T2 (de) Methode zur Modifizierung eines Mehrfachadressenbaums in einem Vermittlungsnetz
DE69219141T2 (de) Übertragungsemulator für lokales netz
DE69735740T2 (de) Asynchrone paketvermittlung
DE69433126T2 (de) Verfahren zum Einrichten von virtuellen Mehrfachsendeverbindungen
DE69031266T2 (de) Übertragungsarchitektur für Hochgeschwindigkeitsnetzwerk
DE60022602T2 (de) Verfahren, Vorrichtung und Computerprogramm um Topologiedaten eines Link State Routing Netzwerkes aktuell zu halten
DE69835809T2 (de) Kommunikationssteuereinheit und Kommunikationssteuerungsverfahren angewendet für ein Mehrfachsende-unterstützendes LAN
DE60119461T2 (de) Verfahren zur Bereitstellung einer bidirektionellen Verbindung in einem Netz für die Mehrfachübertragung von Datenströmen mit Verwendung vom Internetprotokoll und Netz für die Anwendung des Verfahrens
DE69829346T2 (de) Ein-/Ausgabevorrichtung für ein Peripheriegerät
DE19532422C1 (de) Lokales, nach dem asynchronen Transfermodus (ATM) arbeitendes Netzwerk mit wenigstens zwei Ringsystemen
DE60019206T2 (de) Verfahren und Vorrichtung zur vom Empfänger inizierten Wiederherstellung für das L2TP Protokoll

Legal Events

Date Code Title Description
8364 No opposition during term of opposition