DE60123935T2 - Synchronisierte datenübermittlung - Google Patents

Synchronisierte datenübermittlung Download PDF

Info

Publication number
DE60123935T2
DE60123935T2 DE60123935T DE60123935T DE60123935T2 DE 60123935 T2 DE60123935 T2 DE 60123935T2 DE 60123935 T DE60123935 T DE 60123935T DE 60123935 T DE60123935 T DE 60123935T DE 60123935 T2 DE60123935 T2 DE 60123935T2
Authority
DE
Germany
Prior art keywords
forwarding
data
distribution system
destination
delay
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
DE60123935T
Other languages
English (en)
Other versions
DE60123935D1 (de
Inventor
Andrew Paul EVANS
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.)
British Telecommunications PLC
Original Assignee
British Telecommunications PLC
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 British Telecommunications PLC filed Critical British Telecommunications PLC
Publication of DE60123935D1 publication Critical patent/DE60123935D1/de
Application granted granted Critical
Publication of DE60123935T2 publication Critical patent/DE60123935T2/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/1881Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with schedule organisation, e.g. priority, sequence management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • 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
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0823Errors, e.g. transmission errors
    • H04L43/0829Packet loss
    • H04L43/0835One way packet loss
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • H04L43/0858One way delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • 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/28Timers or timing mechanisms used in protocols

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 Erfindung betrifft die Verteilung von Datenelementen durch Sender, die mit einem Kommunikationsnetzwerk verbunden sind, um eine zeitlich gesteuerte Lieferung an einen Satz von einem oder mehreren Empfängern zu ermöglichen.
  • In der Netzwerkterminologie ist das Senden eines Datenelements (d.h. eine Nachricht, ein Paket, ein Rahmen oder Ähnliches) über ein Netzwerk an einen einzelnen Empfänger als „Unicasting" bekannt. Das Senden eines Datenelements an alle Empfänger, die mit einem Netzwerk verbunden sind, ist als „Broadcasting" bekannt. Das Senden eines Datenelements an einen Satz von Empfängern, die einen Teilsatz aller mit dem Netzwerk verbundener Empfänger bilden, wird als „Multicasting" bezeichnet. Ein derartiger Satz von Empfängern ist als eine Multicast-Gruppe bekannt.
  • In Broadcast-Netzwerken (z.B. fast alle lokalen Netzwerke) empfangen alle Empfänger jedes Datenelement, das auf dem Netzwerk platziert wird. Jeder Empfänger hat eine Netzwerkschnittstellenkarte, die Pakete identifiziert, die für diesen Empfänger vorgesehen sind. Um zu identifizieren, welche Multicast-Datenelemente für diesen Empfänger bestimmt sind, muss die Netzwerkschnittstellenkarte eine Anzeige bzw. Angabe für jede Multicast-Adresse speichern, für die der Empfänger ein Abnehmer ist.
  • In Netzwerken mit Vermittlungsknoten, die durch Punkt-zu-Punkt-Verbindungen miteinander verbunden sind, muss jeder Vermittlungsknoten für jede Multicast-Gruppe eine Anzeige davon speichern, welche der mit ihm verbundenen Verbindungen zu Mitgliedern der Multicast-Gruppe führen.
  • Multicasting-Techniken werden zunehmend verwendet, um Sätze von Information und andere Typen von Daten über ein Kommunikationsnetzwerk an Gruppen von Benutzern zu senden. Derartige Techniken können insbesondere vorteilhaft sein bei der Verteilung von Mehrfachkategoriedaten, wo unterschiedliche Benutzer einen Empfang von unterschiedlichen Kategorien von Daten erfordern. Statt Daten, die unterschiedliche Datenkategorien darstellen, an jeden Benutzer einzeln gemäß deren bestimmte Anforderungen per unicast zu senden, wobei in vielen Fällen die selben Datensätze wiederholt über ein Netzwerk gesendet werden, ermöglichen Multicast-Techniken, dass jeder Datensatz nur einmal gesendet wird, mit folgenden Einsparungen der Netzwerkbenutzung. Zum Beispiel können Benutzer durch Übertragen von Datensätzen in jeder Datenkategorie über eine andere Multicast-Adresse wählen, nur einem gewählten Teilsatz der verfügbaren Adressen zuzuhören, um nur Datensätze in diesen jeweiligen Kategorien von Interesse zu empfangen.
  • In einer typischen Multicasting-Anordnung ist eine Hierarchie von Weiterleitungscomputern, die durch ein Multicast-aktiviertes Kommunikationsnetzwerk miteinander verbunden sind, derart ausgebildet, Datenelemente von einer Quelle von Datenelementen an einen oder mehrere Empfänger zu verteilen, wobei die Quelle und jeder Empfänger mit einem Weiterleitungscomputer in der Hierarchie verbunden ist. Weiterleitungscomputer können ausgebildet sein, zum Beispiel Internetprotokolle, wie IP, zu verwenden, um Datenelemente über das Kommunikationsnetzwerk zu transportieren. Jedoch bietet die Lieferung eines Datenelements an eine Anzahl von unterschiedlichen Empfängern über ein IP-basiertes Kommunikationsnetzwerk keine Garantie, dass das Datenelement ankommt und somit gleichzeitig verfügbar ist für diese Empfänger. Eine Lieferung wird im Allgemeinen auf einer „bester Versuch (best effort)"-Basis ausgeführt.
  • Bei der Verteilung eines Datenelements, das ein besonders wichtiges Element an Information an eine Anzahl von Empfängern befördert, kann eine verspätete Lieferung derartiger Information an einen Empfänger im Vergleich zu einem anderen zu einem unfairen Vorteil für den ersten Empfänger einer derartigen Information führen. Die veröffentlichte Information kann zum Beispiel Aktienmarktpreise sehr stark beeinflussen.
  • US 5740161 beschreibt ein System zum Synchronisieren betrachteter Information in einer Konferenzumgebung mit mehreren Endpunkten basierend auf dem Senden von Synchronisierungsnachrichten von einem Endpunkt an einen anderen.
  • US 5521907 beschreibt ein Verfahren zum Messen einer Hin- und Rück-Verzögerung (round trip delay) in einem Kommunikationsnetzwerk, während das Netzwerk in Betrieb ist. Dies wird erreicht unter Verwendung zweier Proben, die sich entlang Punkten von Interesse in dem Netzwerk befinden, das mit einem Prozessor verbunden ist. Die Proben werden verwendet, um identifizierbare Datenmuster in dem Netzwerk zu erfassen und die Übertragungszeiten zwischen Proben zu bestimmen.
  • „Flow Synchronization Protocol" von Escobar et al, IEEE, US, Band 3, 6. Dezember 1992, Seiten 1381–1387, XP000390435 beschreibt ein Protokoll, das eine synchronisierte Lieferung von Daten an und von verteilte(n) Standorte(n) ermöglicht. Das Protokoll basiert auf dem Zeit-stempeln von Daten an der Quelle und Abgleichen einer Verzögerung an Zielen basierend auf vorhergesagten Verzögerungen in dem Netzwerk. Dieses System erfordert eine Client-Anwendung, die über sowohl der Quelle als auch den Zielknoten steht, um zu berechnen und sicherzustellen, dass alle Knoten Kenntnis von der maximalen vorhergesagten Verzögerung über alle Knoten haben. Wenn somit ein Zielknoten die Zeit-gestempelten Daten empfängt, weiß er, wie lange die Daten zu verzögern sind basierend auf der Zeitstempelinformation in den Daten und der Verzögerungsinformation, die von der Client-Anwendung geliefert wird.
  • Gemäß einem ersten Aspekt der vorliegenden Erfindung ist vorgesehen ein Datenverteilungssystem, das eine Vielzahl von Weiterleitungseinrichtungen zur Weiterleitung eines Datenelements von einer Datenquelle an eine Vielzahl von Empfängern aufweist, wobei das Datenverteilungssystem eine Quelle-Weiterleitungseinrichtung aufweist, die zeitlich mit einer Vielzahl von Ziel-Weiterleitungseinrichtungen synchronisiert ist, wobei jeder der Vielzahl der Empfänger mit einer der Vielzahl von Ziel-Weiterleitungseinrichtungen verbunden ist, und wobei:
    • (i) die Quelle-Weiterleitungseinrichtung aufweist: Berechnungsmittel zur Berechnung der maximal erwarteten Verzögerung, die mit der Weiterleitung eines Datenelements von der Quelle-Weiterleitungseinrichtung an jede der Ziel- Weiterleitungseinrichtungen verbunden ist; und Weiterleitungsmittel zur Weiterleitung eines von der Datenquelle empfangenen Datenelements an jede der Vielzahl von Ziel-Weiterleitungseinrichtungen zu einer spezifizierten Weiterleitungszeit, und zum Schreiben einer vorgeschriebenen Lieferzeit basierend auf der spezifizierten Weiterleitungszeit plus der maximal erwarteten Verzögerung in jedes weiterzuleitende Datenelement; und wobei
    • (ii) jede der Vielzahl von Ziel-Weiterleitungseinrichtungen aufweist: Empfangsmittel zum Empfang des weitergeleiteten Datenelements; Liefermittel zum Liefern des Datenelements an jeden der verbundenen Empfänger zu der vorgeschriebenen Lieferzeit, die in das Datenelement geschrieben ist.
  • Während die vorliegende Erfindung eine besondere Anwendung bei Multicasting-Anordnungen findet, die eine Hierarchie von teilnehmenden Weiterleitungscomputern umfassen, kann die synchronisierte Weiterleitungs-Anordnung der vorliegenden Erfindung auf eine Kommunikation zwischen Servern in anderen Netzwerkanordnungen oder Netzwerktypen angewendet werden, die eine synchronisierte Lieferung von Datenelementen an zwei oder mehrere Ziele erfordern.
  • Vorzugsweise ist das Berechnungsmittel ausgebildet, eine Vielzahl von maximal erwarteten Verzögerungen zu berechnen, die jeweils einer Wahrscheinlichkeit entsprechen, dass ein Datenelement an einem Empfänger nach der maximal erwarteten Verzögerung empfangen wird; und das Weiterleitungsmittel ist ausgebildet, eine der Vielzahl von maximal erwarteten Verzögerungen für die vorgeschriebene Lieferzeit basierend auf der entsprechenden Wahrscheinlichkeit auszuwählen.
  • Ein oder mehrere Werte) der maximalen Verzögerung kann/können berechnet werden, so dass im Durchschnitt nicht mehr als ein Datenelement in n Datenelementen an einen Empfänger zu einem späteren Zeitpunkt geliefert wird, als der auf der Basis der berechneten maximalen Verzögerung spezifiziert wurde. Mehrere Werte der maximalen Verzögerung können berechnet werden gemäß unterschiedlichen Werten für n, wodurch die Option geboten wird, Dienstebenen gemäß dem kritischen Zustand bzw. der Kritikalität einer synchronisierten Lieferung an die Empfänger zu differieren. Maximale Verzögerungen können zum Beispiel berechnet werden für drei Werte von n: 10000; 1 Million; und 100 Millionen. Ein Datenelement kann auf der Basis von n = 100 Millionen verteilt werden, wenn eine synchronisierte Lieferung an eine Anzahl von Empfängern kritisch ist, oder mit n = 10000, wenn sie weniger kritisch ist.
  • Es folgt auf beispielhafte Weise eine Beschreibung von spezifischen Ausführungsbeispielen der vorliegenden Erfindung. Diese Beschreibung ist zu lesen in Verbindung mit den beigefügten Zeichnungen, wobei:
  • 1 ein Diagramm ist, das eine logische Hierarchie von Weiterleitungscomputern darstellt;
  • 2 ein Ablaufdiagramm ist, das Schritte in Betrieb eines Weiterleitungscomputerprozesses zum Bestimmen einer flußabwärtigen Verzögerung gemäß einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung zeigt;
  • 3 ein Ablaufdiagramm ist, das Schritte in Betrieb eines Weiterleitungscomputerprozesses zum Überwachen eines Verlustes von Datenelementen zeigt; und
  • 4 zwei Ablaufdiagramme zeigt, die Schritte in Betrieb eines Weiterleitungscomputers beim Weiterleiten eines Datenelements für eine synchronisierte Lieferung an die Empfänger gemäß einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung zeigen.
  • Unter Bezugnahme auf 1 ist ein Diagramm vorgesehen, das in schematischer Form eine einfache Hierarchie von Weiterleitungscomputern 100 (FC1 bis FC10) mit Verbindungen 105 eines Kommunikationsnetzwerks zeigt, das ausgewählte Paare von Weiterleitungscomputern 100 gemäß einer vorgegebenen Struktur für die Hierarchie miteinander verbindet. Ein „Weiterleitungscomputer" kann jede Computervorrichtung sein, die ausgebildet ist, das Weiterleiten eines Datenelements an ein Ziel oder mehrere Ziele über das Kommunikationsnetzwerk gemäß einer Adresse auszuführen, die von dem Datenelement eines vorgesehenen Empfängers übertragen wird. Der Weiter leitungscomputer hat eine oder mehrere Schnittstelle(n) mit dem Kommunikationsnetzwerk, um den Empfang und die Übertragung von Datenelementen zu ermöglichen.
  • In dem Beispiel von 1 dehnt sich die Hierarchie von dem Weiterleitungscomputer FC-1 „oben" bis zu den Weiterleitungscomputern FC-4, FC-5, FC-7, FC-8, FC-9 und FC-10 an den „Enden" der Hierarchie aus. Mit dem „oberen" Weiterleitungscomputer FC-1 ist eine Quelle 110 von Datenelementen verbunden und mit dem einen oder den mehreren der „End"-Weiterleitungscomputer sind Empfänger 115 von Datenelementen (EMPFÄNGER-A bis EMPFÄNGER-G) verbunden. Benutzer, in 1 nicht gezeigt, können wiederum mit den Empfängern 115 verbunden sein, um auf Datenelemente zuzugreifen, die von der Datenquelle 110 durch die Hierarchie der Weiterleitungscomputer verteilt werden.
  • In einer bevorzugten Hierarchie gibt es mehrere Ebenen zwischen einem „oberen" Weiterleitungscomputer und einem „End"-Weiterleitungscomputer. Jeder Weiterleitungscomputer unter der obersten Ebene der Hierarchie hat einen einzelnen „Vorgänger (parent)"-Weiterleitungscomputer und kann einen oder mehrere „Nachfolger (child)"-Weiterleitungscomputer in der Ebene darunter haben. In dem Beispiel von 1 hat der Weiterleitungscomputer FC-2 als Vorgänger den Weiterleitungscomputer FC-1 und als Nachfolger die Weiterleitungscomputer FC-4 und FC-5. Zum Zeitpunkt der Konfiguration der Hierarchie wird die Adresse des jeweiligen Vorgänger-Weiterleitungscomputers, wenn vorhanden, in jedem Weiterleitungscomputer zusammen mit einer Anzeige der Adressen von Nachfolger-Weiterleitungscomputern gespeichert.
  • Vorzugsweise, jedoch nicht notwendigerweise, ist das Kommunikationsnetzwerk, das die Weiterleitungscomputer 100 miteinander ver bindet, Multicast-aktiviert, so dass Multicast-Techniken verwendet werden können, um Datenelemente von der Quelle 110 von Datenelementen an ausgewählte Empfänger 115 zu transportieren. Bei geeigneter Verwendung von Multicast-Adressen können Weiterleitungscomputer eine aus einer Anzahl von Techniken verwenden, um Datenelemente entlang vorgegebenen Linien von Weiterleitungscomputern durch die Hierarchie weiterzuleiten, um sicherzustellen, dass ein Datenelement einen oder mehrere vorgesehene Empfänger 115 erreicht.
  • Die ebenfalls anstehende internationale Patentanmeldung WO0018068 der Anmelderin beschreibt ein Verfahren zum Weiterleiten von Datenelementen durch Weiterleitungscomputer über ein Multicast-aktiviertes Netzwerk unter Verwendung von Multicast-Adressen, die den verschiedenen Sätzen von möglichen Empfängern derartiger Datenelemente vorher zugewiesen werden. Jeder Weiterleitungscomputer in der Hierarchie hat Zugriff auf eine jeweilige Weiterleitungstabelle, die das Weiterleitungsziel oder -ziele für ein empfangenes Datenelement spezifiziert, das an eine bestimmte Multicast-Adresse adressiert ist. Die Pfade durch die Hierarchie sind somit vordefiniert gemäß den verwendeten Multicast-Adressen (und somit dem vorgesehenen Satz von Empfängern), wenn ein Datenelement weitergeleitet wird. Somit wählt in dem Beispiel von 1, um ein bestimmtes Datenelement von der Quelle 110 an einen vorgegebenen Satz von Empfängern 115 zu verteilen, der Weiterleitungscomputer FC-1 eine vorher zugewiesene Multicast-Adresse, die den vorgegebenen Satz von Empfängern darstellt, und leitet gemäß den Inhalten seiner Weiterleitungstabelle das Datenelement unter Verwendung dieser Adresse weiter. Wenn nur ein einziger Empfänger erforderlich ist, dann kann eine vorher zugewiesene Unicast-Adresse für diesen Empfänger verwendet werden.
  • Nun folgt ein Überblick der Hauptprinzipien in Betrieb eines Weiterleitungscomputers 100, einem in der Hierarchie von Weiterleitungscomputern, um eine synchronisierte Lieferung von Datenelementen gemäß bevorzugten Ausführungsbeispielen der vorliegenden Erfindung zu erzielen. Eine detailliertere Beschreibung des Betriebs eines Weiterleitungscomputers gemäß einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung folgt dann auf den Überblick.
  • Vorzugsweise wird eine synchronisierte Lieferung von Datenelementen nur versucht in der Hierarchie zwischen einem Ursprungs- bzw. Quelle-Weiterleitungscomputer (z.B. FC-1) – der erste Empfänger eines von einer Quelle 110 von Datenelementen zu verteilenden Datenelements – und einem Ziel-Weiterleitungscomputer (z.B. FC-9) – dem Weiterleitungscomputer, der mit einem vorgesehenen Empfänger 115 (z. B. EMPFÄNGER-E) des Datenelements verbunden ist. Von der letzten Stufe bei der Lieferung eines Datenelements von einem Ziel-Weiterleitungscomputer an einen damit verbundenen Empfänger wird angenommen, dass sie eine minimale oder anderweitig konsistente Verzögerung unter Empfängern des Datenelements umfasst.
  • Um eine synchronisierte Lieferung eines Datenelements an eine Anzahl von Empfängern 115 zu erreichen, ist jeder der Weiterleitungscomputer 100 in der oben beschriebenen Hierarchie ausgebildet, zwei Haupttypen von Information zu erzeugen und darauf Zugriff zu haben. Erstens ist jeder Weiterleitungscomputer 100 mit einem Zugriff auf ein gemeinsames synchronisiertes Zeitsignal ausgebildet. Zugriff auf das Zeitsignal kann von einem einer Anzahl von möglichen Mitteln vorgesehen werden. Zum Beispiel kann ein GPS(Global Positioning System)-Empfänger an jedem Weiterleitungscomputer 100 vorgesehen werden, um Zugang zu einer genauen Zeitinformation vorzusehen. Alternativ kann ein Netzwerktimingprotokoll, wie NTP, das in Internet Request for Comments (RFC) 1305 beschrieben wird, wie im Internet von der Internet Engineering Task Force veröffentlicht, implementiert werden, um eine Zeitinformation an jeden der Weiterleitungscomputer zu übertragen oder, was in der Praxis wahrscheinlicher ist, das NTP kann eine Zeitinformation von einem GPS-Empfänger an eine lokalisierte Gruppe von Weiterleitungscomputern in der Hierarchie übertragen, die durch ein Stadtnetz (MAN – metropolitan area network) miteinander verbunden sind, wobei der GPS-Empfänger dieses Netzgebiet bedient.
  • Der zweite Typ von Information betrifft die maximal erwartete flußabwärtige Verzögerung beim Weiterleiten eines Datenelements von einem „Ursprungs"-Weiterleitungscomputer (der erste Empfänger in der Hierarchie eines zu verteilenden Datenelements) an einen „Ziel"-Weiterleitungscomputer (der letzte „Stützpunkt" vor dem Empfänger selbst). Um eine solche Information zu erlangen, ist jeder der Weiterleitungscomputer 100 ausgebildet, einen „Hintergrund"-Prozess zu betreiben zur Überwachung eines vorgegebenen Satzes von Netzwerkcharakteristiken über eine vorgegebene Überwachungszeitdauer für den Teil des Kommunikationsnetzwerks, der den Weiterleitungscomputer mit seinen Nachfolger-Weiterleitungscomputern, wenn vorhanden, in der Hierarchie unter ihm verbindet. Die Netzwerkcharakteristiken, die zur Überwachung gewählt werden, sind die, die wahrscheinlich den signifikantesten Beitrag zu der Verzögerung bei der Weiterleitung eines Datenelements von einem Weiterleitungscomputer an den anderen liefern.
  • Der von den Weiterleitungscomputern 100 betriebene Hintergrundprozess berechnet die maximale flußabwärtige Verzögerung, die bei der Übertragung eines Datenelements von einem Ursprungs-Weiterleitungscomputer an einen Ziel-Weiterleitungscomputer unter ihm („flußabwärts") in dem selben Zweig der Hierarchie erwartet werden kann. Der Prozess arbeit auf einer zyklischen Basis, wobei die Be rechnung einer maximalen flußabwärtigen Verzögerung auf Daten basiert, die von den Weiterleitungscomputern für bestimmte Netzwerkcharakteristiken während jeder Überwachungszeitdauer gesammelt werden. Die Dauer der Überwachungsperiode und somit die Prozesszyklusfrequenz wird gemäß der Rate gesetzt, mit der die Hierarchie sich an ändernde Netzwerkbedingungen anpassen muss. Diese Weiterleitungscomputer (z.B. FC-4, FC-9) auf der niedrigsten Ebene in der Hierarchie – die keine Nachfolger-Weiterleitungscomputer unter sich haben – können ausgebildet sein, den Start jedes Überwachungszyklusses zu steuern, wie im Folgenden beschrieben wird, berechnen ansonsten aber keine flußabwärtigen Verzögerungen, da es keinen anderen flußabwärtigen Teil gibt als die Empfänger.
  • Somit kann ein Ursprungs-Weiterleitungscomputer mit Zugriff auf ein synchronisiertes Zeitsignal und auf Information über die maximale flußabwärtige Verzögerung, die zu einer bestimmten Zeit erwartet wird (über den letzten Überwachungszyklus), die letzte erwartete Ankunftszeit eines weitergeleiteten Datenelements an einem flußabwärtigen Ziel-Weiterleitungscomputer berechnen. Bei Empfang eines zu verteilenden Datenelements kann ein Ursprungs-Weiterleitungscomputer eine derartige Verzögerungsinformation auf mehrere unterschiedliche Arten verwenden, um eine synchronisierte Lieferung des Datenelements an die relevanten Ziel-Weiterleitungscomputer und somit an die vorgesehenen Empfänger 115 sicherzustellen helfen.
  • Vorzugsweise reagiert jeder Weiterleitungscomputer 100 auf eine Timing-Information, die von dem Ursprungs-Weiterleitungscomputer in ein Datenelement eingefügt wird, und welche die Zeit der Lieferung des Datenelements an die Empfänger 115 spezifiziert. Jeder Ziel-Weiterleitungscomputer ist somit ausgebildet, ein empfangenes Datenelement, das zur Lieferung an einen oder mehrere mit diesem Ziel-Weiterleitungscomputer verbundene(n) Empfänger 115 vorgesehen ist, zu speichern (cache) bis zur spezifizierten Zeit – die zum Beispiel gemäß dem synchronisierten Zeitsignal bestimmt wird – und daraufhin das Datenelement an einen vorgesehenen Empfänger 115 zu liefern. Die von dem Ursprungs-Weiterleitungscomputer spezifizierte Zeit zur Lieferung an die Empfänger 115 wird berechnet, damit das Datenelement ausreichend Zeit hat, an allen relevanten Ziel-Weiterleitungscomputern anzukommen, ohne für mehr als eine vorgegebene Wahrscheinlichkeit später als die spezifizierte Lieferzeit anzukommen. Wie im Folgenden beschrieben wird, kann ein Weiterleitungscomputer eine Anzahl von unterschiedlichen Optionen für eine maximale flußabwärtige Verzögerung gemäß des Grads des Risikos einer nichtsynchronisierten Lieferung vorsehen, die eine Quelle oder Empfänger von Datenelementen zu akzeptieren vorbereitet sind.
  • Betriebsschritte eines „Hintergrund"-Prozesses durch einen Weiterleitungscomputer 100 zur Bestimmung der maximalen flußabwärtigen Verzögerung werden nun im Überblick unter Bezugnahme auf 2 gemäß einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung beschrieben. Der Hintergrundprozess arbeitet auf der Basis, dass ein bestimmter Weiterleitungscomputer 100 die flußabwärtige Verzögerung direkt nur für den Abschnitt des Kommunikationsnetzwerks bestimmen kann, der ihn mit jedem seiner Nachfolger-Weiterleitungscomputer verbindet. Die gesamte flußabwärtige Verzögerung für Ebenen unter jedem der Nachfolger kann nach oben an den bestimmten Weiterleitungscomputer in einer „maximale flußabwärtige Verzögerung"(MDD – maximum downstream delay)-Nachricht kommuniziert werden, die von jedem der Nachfolger gesendet wird. Wie oben erwähnt, kann die Bestimmung der maximalen flußabwärtigen Verzögerung auf der Basis von Überwachungszyklen geschehen, wobei jeder Überwachungszyklus durch die Weiterleitungscomputer an den „Enden" der Hierarchie (ohne Nachfolger-Weiterleitungscomputer) ausgelöst werden. Vorzugsweise kann ein Überwachungs zyklus von jedem „End"-Weiterleitungscomputer gestartet werden, der mit einer vorgegebenen Frequenz eine initiierende „maximale flußabwärtige Verzögerung"(MDD)-Nachricht an seinen jeweiligen Vorgänger-Weiterleitungscomputer sendet, wobei die MD-Nachricht eine flußabwärtige Verzögerung von Null spezifiziert. Die Periode bzw. Zeitdauer zwischen aufeinander folgenden initiierenden Nachrichten kann zum Beispiel von einem Systemadministrator demgemäß gesetzt werden, wie schnell die Hierarchie von Weiterleitungscomputern sich an ändernde Netzwerkbedingungen anpassen muss. Es wird eine Zeitdauer von 0.25 bis 1.00 Sekunden zwischen aufeinander folgenden MDD-Nachrichten vorgeschlagen.
  • Unter Bezugnahme auf 2 empfängt in Schritt 200 ein derzeitiger Weiterleitungscomputer eine neue „maximale flußabwärtige Verzögerung"(MDD)-Nachricht von einem seiner Nachfolger-Weiterleitungscomputer. In Schritt 205 wird der Wert der maximalen flußabwärtigen Verzögerung, der in der Nachricht geliefert wird, gespeichert. In Schritt 210 wird ein Flag gesetzt, um anzuzeigen, dass eine neue MDD-Nachricht von diesem Nachfolger empfangen wurde. In Schritt 215 bestimmt der derzeitige Weiterleitungscomputer, ob alle seiner Nachfolger-Weiterleitungscomputer nun eine MDD-Nachricht für den aktuellen Überwachungszyklus gesendet haben. Wenn nicht, kehrt die Verarbeitung zu Schritt 200 zurück, um weitere erwartete MDD-Nachrichten für den aktuellen Zyklus zu erwarten.
  • Wenn in Schritt 215 von jedem Nachfolger MDD-Nachrichten empfangen wurden, dann werden in Schritt 220 alle Flags, die einen Empfang einer MDD-Nachricht von einem Nachfolger anzeigen, zurückgesetzt, was anzeigt, dass ein neuer Zyklus einer Datensammlung hinsichtlich der vorgegebenen Netzwerkcharakteristiken beginnt. In Schritt 225 wird der derzeitige Weiterleitungscomputer ausgelöst, die flußabwärtige Verzögerung zwischen sich und jedem der mit ihm verbundenen Nachfolger-Weiterleitungscomputer zu berechnen und zu speichern, unter Verwendung von Daten, die hinsichtlich der vorgegebenen Netzwerkcharakteristiken während der letzten Überwachungsperiode gesammelt wurden, und die berechneten Werte für jeden Nachfolger zu den jeweiligen Werten hinzuzufügen, die in den empfangenen MDD-Nachrichten geliefert wurden und in Schritt 205 gespeichert wurden, um die gesamte Verzögerung über jeden Nachkommen zu liefern. In Schritt 230 wählt der derzeitige Weiterleitungscomputer das Maximum der in den Schritten 225 und 235 berechneten gesamten flußabwärtigen Verzögerungen, und, wenn es einen Vorgänger-Weiterleitungscomputer für den derzeitigen Weiterleitungscomputer gibt, schreibt die gewählte maximale Verzögerung in eine MDD-Nachricht und sendet diese an seinen vorgegebenen Vorgänger. Die Verarbeitung kehrt dann zu Schritt 200 zurück, um die erste Nachricht eines neuen Satzes von MDD-Nachrichten hinsichtlich eines neuen Überwachungszyklusses zu erwarten.
  • Der derzeitige Weiterleitungscomputer kann ausgebildet sein, eine Bestätigungsnachricht an den Nachfolger zu senden, der eine MDD-Nachricht sendet. Zusätzlich kann, wenn der derzeitig Weiterleitungscomputer von seinem Vorgänger keine Bestätigungsnachricht hinsichtlich einer vor kurzem gesendeten MDD-Nachricht innerhalb einer vorgegebenen Timeout-Periode bekommt, die MDD-Nachricht erneut gesendet werden.
  • Wie oben erwähnt und wie detailliert im Folgenden beschrieben wird, kann jeder der Weiterleitungscomputer ausgebildet sein, in Schritt 225 von 2 mehr als einen Wert für die maximale flußabwärtige Verzögerung zu berechnen, wobei jeder Wert eine unterschiedliche vorgegebene Wahrscheinlichkeit anzeigt, dass ein Datenelement eine längere Zeit als vorhergesehen braucht, um an einem flußabwärtigen Ziel-Weiterleitungscomputer anzukommen. Ein MDD-Wert hinsicht lich jeder Wahrscheinlichkeit kann in einer MDD-Nachricht enthalten sein und getrennt von jedem Weiterleitungscomputer verarbeitet werden, wenn er durch die Hierarchie nach oben geleitet wird. Auf diese Weise kann eine Quelle von Datenelementen oder eine Gruppe von Empfängern eine der verfügbaren Optionen wählen, die unterschiedliche Risikograde betreffen, dass ein Datenelement nicht zur gleichen Zeit an einen Empfänger geliefert wird wie an andere Empfänger. Der Ursprungs-Weiterleitungscomputer kann dann die geeignete maximale flußabwärtige Verzögerung aus den in der als letztes empfangenen MDD-Nachricht kommunizierten Verzögerungen wählen und diesen Verzögerungswert verwenden, um eine geeignete Lieferzeit zu berechnen, die in einem weitergeleiteten Datenelement spezifiziert wird.
  • Es werden nun Details geliefert für einen bevorzugten Satz von Netzwerk- und anderen Charakteristiken und, wenn geeignet, ein Verfahren, durch das ein Weiterleitungscomputer diese messen kann zur Verwendung bei der Bestimmung der maximalen flußabwärtigen Verzögerung in Schritt 225 von 2.
  • In einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung werden drei Charakteristiken verwendet, um die Verzögerung zu bestimmen:
    • (1) Verlust von Datenelementen, die über eine Verbindung zwischen einem Vorgänger- und einem Nachfolger-Weiterleitungscomputer weitergeleitet werden;
    • (2) Latenzzeit einer Verbindung zwischen einem Vorgänger- und einem Nachfolger-Weiterleitungscomputer;
    • (3) Verzögerung aufgrund einer Verarbeitung durch einen Weiterleitungscomputer.
  • Vorzugsweise können die ersten zwei Charakteristiken durch einen Weiterleitungscomputer automatisch überwacht werden. Es ist un wahrscheinlich, dass die dritte Charakteristik während eines normalen Betriebs eines Weiterleitungscomputers signifikant variiert, aber sie kann zum Beispiel bei einer Installation einer aktualisierten Steuerungssoftware oder bei Änderungen der Anzahl von verbundenen Nachfolger-Weiterleitungscomputern variieren. Die Verzögerung aufgrund eines Weiterleitungscomputers kann somit jedes Mal experimentell bestimmt werden, wenn eine Änderung seiner Konfiguration gemacht wird und ein neuer Wert bei der Berechnung der flußabwärtigen Verzögerung angenommen wird.
  • Ein derzeitiger Weiterleitungscomputer kann einen Verlust von Datenelementen über die Verbindung mit jedem seiner Nachfolger-Weiterleitungscomputer messen durch Überwachen des normalen Weiterleitens von Datenelementen an den jeweiligen Nachfolger-Weiterleitungscomputer und des Empfangs von Bestätigungen von dem jeweiligen Nachfolger-Weiterleitungscomputer. Eine Bestätigungstabelle kann unterhalten werden, um eine Anzahl von Datenelementen zu führen, die an jeden Nachfolger-Weiterleitungscomputer während eines Überwachungszyklusses weitergeleitet wurden, und entsprechende Bestätigungen, die von jedem jeweiligen Nachfolger empfangen wurden. Betriebsschritte eines Weiterleitungscomputers beim Sammeln von Bestätigungsdaten über einen Überwachungszyklus werden nun unter Bezugnahme auf 3 beschrieben.
  • Unter Bezugnahme auf 3 wird in Schritt 300 eine Bestätigung von einem Nachfolger-Weiterleitungscomputer als Antwort auf ein weitergeleitetes Datenelement empfangen. In Schritt 305 wird der Status des „MDD-Nachricht empfangen"-Flags hinsichtlich des Nachfolger-Weiterleitungscomputers überprüft, der die Bestätigung sendet, und, wenn herausgefunden wurde, dass es gesetzt wurde (in Schritt 210 in 2), dann wird in Schritt 315 die empfangene Bes tätigung zu der Bestätigungstabelle hinsichtlich dieses Nachfolgers hinzugefügt, wobei ein Überwachungszyklus bereits im Laufen ist. Wenn in Schritt 305 das Flag zurückgesetzt wurde (in Schritt 220 in 2), dann wurde ein neuer Überwachungszyklus ausgelöst und in Schritt 310 überschreibt die empfangene Bestätigung die akkumulierten Daten in der Bestätigungstabelle hinsichtlich dieses Nachfolgers. Die Verarbeitung kehrt dann zu Schritt 300 zurück, um weitere Bestätigungen zu empfangen.
  • Bei der Berechnung der Verzögerung für jeden Nachfolger-Weiterleitungscomputer in Schritt 225 von 2 berechnet der derzeitige Weiterleitungscomputer den Verlust von Datenelementen für jeden Nachfolger als das Verhältnis von empfangenen Bestätigungen zu weitergeleiteten Datenelementen während des letzten Überwachungszyklusses, wie für jeden Nachfolger in der Bestätigungstabelle aufgezeichnet.
  • Fachleuten ist es möglich, eine geeignete Technik zu implementieren, um Zugriff auf eine Bestätigungsinformation zu erlangen, gemäß dem Typ von Datentransportprotokoll, das zwischen Weiterleitungscomputern verwendet wird.
  • Ähnlich ist es Fachleuten möglich, eine geeignete Technik zu implementieren, um eine Latenzzeit über die Verbindungen zu jedem der Nachfolger-Weiterleitungscomputer zu messen. Vorzugsweise können, wenn TCP/IP verwendet wird, um Datenelemente zwischen Weiterleitungscomputern zu transportieren, PING- oder TRACEROUTE-Utilities bzw. Dienstprogramme verwendet werden während Perioden mit geringem Verkehr, um die Verbindungslatenzzeit zu dem Nachfolger zu messen. Eine Verwendung derartiger Dienstprogramme wird in dem Buch „TCP/IP Illustrated, Volume 1: The Protocols" (Addison-Wesley Professional Computing Series) von W. Richard Stevens be schrieben. Die letzten gemessenen Werte der Latenzzeit werden in dem derzeitigen Weiterleitungscomputer gespeichert zur Verwendung bei der Berechnung in Schritt 225.
  • Eine Verzögerung aufgrund der Verarbeitung des derzeitigen Weiterleitungscomputers kann gemäß einer experimentellen Messung der Leistung des Weiterleitungscomputers gesetzt werden. Ein typischer Wert für die Verzögerung kann 20 Millisekunden (ms) betragen, wenn ein relativ „langsamer" Prozessor installiert wird, oder 5 ms für einen „schnellen" Prozessor.
  • Unter Verwendung von Werten von Datenelementverlust, Verbindungslatenzzeit und Verarbeitungsverzögerung kann der derzeitige Weiterleitungscomputer in Schritt 225 eine flußabwärtige Verzögerung D an jeden der Nachfolger-Weiterleitungscomputer für jede der drei Ebenen einer Wahrscheinlichkeit berechnen, dass ein Datenelement an einem Nachfolger später als die berechnete Verzögerung D ankommen wird, unter Verwendung der folgenden Formel: D = (1 + log(1/r)P) (f+t)wobei:
  • D
    die Verzögerung ist (ausgedrückt in ms);
    P
    die Wahrscheinlichkeit darstellt, dass nicht mehr als ein Datenelement in P Datenelementen länger als die Verzögerung D braucht, um an dem jeweiligen Nachfolger-Weiterleitungscomputer anzukommen;
    r
    das Verhältnis von Datenelementen ist, die während der Überwachungsperiode verloren gingen;
    f
    die Verarbeitungsverzögerung des derzeitigen Weiterleitungscomputers ist (ausgedrückt in ms);
    t
    die Latenzzeit der Verbindung ist (ausgedrückt in ms).
  • Die Betriebsschritte eines Weiterleitungscomputers in zwei Szenarien werden nun unter Bezugnahme auf die 4 beschrieben. In dem ersten Szenario ist der Weiterleitungscomputer ein „Ursprungs"-Weiterleitungscomputer – der erste Weiterleitungscomputer in der Hierarchie zum Empfang eines zu verteilenden Datenelements von einer Datenquelle 110. Die Betriebsschritte eines „Ursprungs"-Weiterleitungscomputers werden unter Bezugnahme auf die 4a beschrieben. In dem zweiten Szenario ist der Weiterleitungscomputer ein „Ziel"-Weiterleitungscomputer – der letzte Weiterleitungscomputer in der Hierarchie zum Empfang eines Datenelements vor der Lieferung an einen Empfänger 115, der damit verbunden ist. Die Betriebsschritte eines „Ziel"-Weiterleitungscomputers werden unter Bezugnahme auf die 4b beschrieben.
  • Unter Bezugnahme auf 4a empfängt in Schritt 400 der „Ursprungs"-Weiterleitungscomputer ein zu verteilendes Datenelement von der Datenquelle 400. In Schritt 405 wird die Anforderung für eine synchronisierte Lieferung an die Empfänger überprüft. Wenn keine synchronisierte Lieferung erforderlich ist, dann wird in Schritt 425 das empfangene Datenelement gemäß einer vorgegebenen Adresse weitergeleitet. Wenn jedoch in Schritt 405 eine synchronisierte Lieferung erforderlich ist, dann erlangt in Schritt 410 der Ursprungs-Weiterleitungscomputer die letzte berechnete maximale flußabwärtige Verzögerung, wie von dem darauf laufenden Hintergrundprozess und den anderen Weiterleitungscomputern bestimmt wird, wie oben beschrieben. In Schritt 415 bestimmt der Ursprungs-Weiterleitungscomputer die Zeit der Übertragung des Datenelements, z.B. aus der synchronisierten Zeitquelle, einschließlich einer Zugabe für die verbleibenden Verarbeitungsschritte vor der tatsächlichen Weiterleitung, und fügt zu dieser Zeit die maximale erwartete Verzögerung hinzu, um eine Lieferzeit des Datenelements durch den Ziel- Weiterleitungscomputer zu erlangen. In Schritt 420 schreibt der Ursprungs-Weiterleitungscomputer dann die Lieferzeit in das Datenelement und in Schritt 425 wird das Datenelement gemäß der vorgegebenen Adresse weitergeleitet. Die Verarbeitung kehrt dann zu Schritt 400 zurück, um auf das nächste zu verteilende Datenelement zu warten.
  • Unter Bezugnahme auf 4b empfängt in Schritt 450 der Ziel-Weiterleitungscomputer ein Datenelement, das durch die Hierarchie von Weiterleitungscomputern nach unten geleitet wurde zur Lieferung an einen oder mehrere vorgegebene Empfänger durch den Ziel-Weiterleitungscomputer. In Schritt 455 bestimmt der Ziel-Weiterleitungscomputer, ob das empfangene Datenelement eine spezifizierte Lieferzeit umfasst oder nicht. Wenn in Schritt 455 keine Lieferzeit gefunden wird, dann war keine synchronisierte Lieferung an die Empfänger vorgesehen und in Schritt 470 wird das empfangene Datenelement an den einen oder die mehreren vorgegebenen Empfänger ohne Rücksichtnahme auf die Zeit übertragen.
  • Wenn in Schritt 455 festgestellt wird, dass das empfangene Datenelement eine Zeit zur Lieferung spezifiziert, dann wird in Schritt 460 die aktuelle Zeit erlangt, z.B. von einem synchronisierten Zeitsignal oder Takt bzw. einer Uhr. Wenn in Schritt 465 die aktuelle Zeit mit der spezifizierten Lieferzeit übereinstimmt oder überschreitet, dann wird in Schritt 470 das Datenelement an den einen oder die mehreren vorgegebenen Empfänger übertragen. Wenn in Schritt 465 die Zeit zur Lieferung noch nicht erreicht ist, dann geht der Prozess über den Schritt 460 in eine Schleife (loop), bis die Lieferzeit eintritt.
  • Nach der Übertragung des Datenelements an den oder die vorgegebenen Empfänger kehrt die Verarbeitung zu Schritt 450 zurück, um auf weitere Datenelemente zur Lieferung an Empfänger zu warten, die mit dem derzeitigen Ziel-Weiterleitungscomputer verbunden sind.
  • Es ist offensichtlich, dass Ausführungsbeispiele der vorliegenden Erfindung auf andere Datenverteilungsanordnungen angewendet werden können unter Verwendung unterschiedlicher Netzwerkkonfigurationen, in denen eine synchronisierte Lieferung von Datenelementen an einen Satz von Empfängern erforderlich ist. Jede Netzwerkanordnung, in der Pfade durch das Netzwerk überwacht werden, um die wahrscheinliche Maximalzeit zur Übertragung eines Datenelements zu bestimmen, zieht möglicherweise einen Vorteil aus der Anwendung von Ausführungsbeispielen der vorliegenden Erfindung.

Claims (11)

  1. Datenverteilungssystem, das eine Vielzahl von miteinander verbundenen Weiterleitungseinrichtungen zur Weiterleitung eines Datenelements von einer Datenquelle (110) an eine Vielzahl von Empfängern (115) aufweist, wobei das Datenverteilungssystem eine Quelle-Weiterleitungseinrichtung (100) aufweist, die zeitlich mit einer Vielzahl von Ziel-Weiterleitungseinrichtungen (100) synchronisiert ist, wobei jeder der Vielzahl der Empfänger (115) mit einer der Vielzahl von Ziel-Weiterleitungseinrichtungen (100) verbunden ist, und wobei: (i) die Quelle-Weiterleitungseinrichtung aufweist: Berechnungsmittel zur Berechnung der maximal erwarteten Verzögerung, die mit der Weiterleitung eines Datenelements von der Quelle-Weiterleitungseinrichtung an jede der Ziel-Weiterleitungseinrichtungen verbunden ist; und Weiterleitungsmittel zur Weiterleitung eines von der Datenquelle empfangenen Datenelements an jede der Vielzahl von Ziel-Weiterleitungseinrichtungen zu einer spezifizierten Weiterleitungszeit, und zum Schreiben einer vorgeschriebenen Lieferzeit basierend auf der spezifizierten Weiterleitungszeit plus der maximal erwarteten Verzögerung in jedes weiterzuleitende Datenelement; und wobei (ii) jede der Vielzahl von Ziel-Weiterleitungseinrichtungen aufweist: Empfangsmittel zum Empfang des weitergeleiteten Datenelements; Liefermittel zum Liefern des Datenelements an jeden der verbundenen Empfänger (115) zu der vorgeschriebenen Lieferzeit, die in das Datenelement geschrieben ist.
  2. Datenverteilungssystem gemäß Anspruch 1, wobei jede der Weiterleitungseinrichtungen eine maximale flußabwärtige Verzögerung berechnet, die zu der Weiterleitungseinrichtung gehört, wobei die maximal erwartete Verzögerung, die von dem Berechnungsmittel berechnet wird, auf allen maximalen flußabwärtigen Verzögerungen basiert, die von jeder der Weiterleitungseinrichtungen erhalten wird.
  3. Datenverteilungssystem gemäß Anspruch 1 oder 2, wobei: das Berechnungsmittel ausgebildet ist, eine Vielzahl von maximal erwarteten Verzögerungen zu berechnen, die jeweils einer Wahrscheinlichkeit entsprechen, dass ein Datenelement an einem Empfänger nach der maximal erwarteten Verzögerung empfangen wird; und das Weiterleitungsmittel ausgebildet ist, eine der Vielzahl von maximal erwarteten Verzögerungen für die vorgeschriebene Lieferzeit basierend auf der entsprechenden Wahrscheinlichkeit auszuwählen.
  4. Datenverteilungssystem gemäß Anspruch 1, 2 oder 3, wobei die Quelle-Weiterleitungseinrichtung und die Ziel-Weiterleitungseinrichtung mit einem gemeinsamen synchronisierten Timing-Signal synchronisiert sind.
  5. Datenverteilungssystem gemäß Anspruch 4, wobei das gemeinsame Timing-Signal von einem GPS(global positioning system)-Signal geliefert wird.
  6. Datenverteilungssystem gemäß einem der vorhergehenden Ansprüche, wobei die maximal erwartete Verzögerung auf Berechnungen basiert, die von jeder Weiterleitungseinrichtung gemacht werden hinsichtlich der flußabwärtigen Verzögerung zur Weiterleitung eines Datenelements an eine weitere Weiterleitungseinrichtung in dem Datenverteilungssystem.
  7. Datenverteilungssystem gemäß Anspruch 6, wobei die Berechnungen von einer Ziel-Weiterleitungseinrichtung initiiert werden.
  8. Datenverteilungssystem gemäß einem der vorhergehenden Ansprüche, wobei die maximal erwartete Verzögerung auf dem Verlust von Datenelementen zwischen einer Weiterleitungseinrichtung und einer anderen Weiterleitungseinrichtung basiert.
  9. Datenverteilungssystem gemäß einem der vorhergehenden Ansprüche, wobei die maximal erwartete Verzögerung auf der Latenzzeit einer Verbindung zwischen einer Weiterleitungseinrichtung und einer anderen Weiterleitungseinrichtung basiert.
  10. Datenverteilungssystem gemäß einem der vorhergehenden Ansprüche, wobei die maximal erwartete Verzögerung auf der Verzögerung aufgrund einer Verarbeitungszeit an der Weiterleitungseinrichtung basiert.
  11. Quelle-Weiterleitungseinrichtung (100) zur Verwendung in einem Datenverteilungssystem, wobei das Datenverteilungssystem eine Vielzahl von Weiterleitungseinrichtungen zur Weiterleitung eines Datenelements von einer Datenquelle (110) an eine Vielzahl von Empfängern (115) aufweist, wobei die Quelle-Weiterleitungseinrichtung (100) aufweist: Synchronisierungsmittel zur zeitlichen Synchronisierung mit einer Vielzahl von Ziel-Weiterleitungseinrichtungen (100); Berechnungsmittel zur Berchnung der maximal erwarteten Verzögerung, die mit der Weiterleitung eines Datenelements von der Quelle-Weiterleitungseinrichtung an jede der Ziel-Weiterleitungseinrichtungen verbunden ist; Weiterleitungsmittel zur Weiterleitung eines Datenelements an jede der Vielzahl von Ziel-Weiterleitungseinrichtungen zu einer spezifizierten Weiterleitungszeit, und zum Schreiben einer vorgeschriebenen Lieferzeit zur Lieferung des Datenelements von einer Ziel-Weiterleitungseinrichtung an einen Empfänger in jedes weiterzuleitende Datenelement, wobei die vorgeschriebenen Lieferzeit auf der spezifizierten Weiterleitungszeit plus der maximal erwarteten Verzögerung basiert.
DE60123935T 2000-03-17 2001-03-06 Synchronisierte datenübermittlung Expired - Lifetime DE60123935T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP00302201 2000-03-17
EP00302201 2000-03-17
PCT/GB2001/000971 WO2001069853A2 (en) 2000-03-17 2001-03-06 Synchronised data delivery

Publications (2)

Publication Number Publication Date
DE60123935D1 DE60123935D1 (de) 2006-11-30
DE60123935T2 true DE60123935T2 (de) 2007-09-06

Family

ID=8172802

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60123935T Expired - Lifetime DE60123935T2 (de) 2000-03-17 2001-03-06 Synchronisierte datenübermittlung

Country Status (7)

Country Link
US (1) US7385933B2 (de)
EP (1) EP1264438B1 (de)
JP (1) JP4611598B2 (de)
AU (1) AU3587501A (de)
CA (1) CA2403368C (de)
DE (1) DE60123935T2 (de)
WO (2) WO2001069853A2 (de)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7085848B2 (en) * 2002-03-15 2006-08-01 Microsoft Corporation Time-window-constrained multicast using connection scheduling
US20030188188A1 (en) * 2002-03-15 2003-10-02 Microsoft Corporation Time-window-constrained multicast for future delivery multicast
US8929228B2 (en) * 2004-07-01 2015-01-06 Honeywell International Inc. Latency controlled redundant routing
US7711008B2 (en) * 2006-01-23 2010-05-04 Ipwireless, Inc. Quasi synchronous transmission in cellular networks
JP4407700B2 (ja) * 2007-02-02 2010-02-03 日本電気株式会社 通信端末、通信システム、輻輳制御方法、及び輻輳制御用プログラム
US8356303B2 (en) * 2007-12-10 2013-01-15 Infosys Technologies Ltd. Method and system for integrated scheduling and replication in a grid computing system
GB2462627B (en) 2008-08-14 2012-08-15 Vodafone Plc Widget execution device and associated application for use therewith
GB0902014D0 (en) * 2009-02-09 2009-03-11 Vodafone Plc SMS delivery technique
CN101998616B (zh) * 2009-08-31 2014-05-14 国际商业机器公司 无线通信系统基站及其数据传输的同步方法
TWI498024B (zh) * 2010-07-30 2015-08-21 Ibm 無線通訊系統基地台及其資料傳輸同步方法
US20120303743A1 (en) * 2010-12-08 2012-11-29 Qualcomm Incorporated Coordinate sharing between user equipments during a group communication session in a wireless communications system
US9295849B2 (en) * 2012-07-27 2016-03-29 Zoll Medical Corporation Medical equipment messaging
CN116867087A (zh) * 2018-09-27 2023-10-10 中兴通讯股份有限公司 业务传输方法及装置

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60105364A (ja) * 1983-11-14 1985-06-10 Fujitsu Ltd ファクシミリの中継通信方式
JPH02234560A (ja) * 1989-03-08 1990-09-17 Fuji Xerox Co Ltd 中継同報送信システム
JPH07336350A (ja) * 1994-06-08 1995-12-22 Mitsubishi Electric Corp データ配布システム
US5521907A (en) 1995-04-25 1996-05-28 Visual Networks, Inc. Method and apparatus for non-intrusive measurement of round trip delay in communications networks
US6922416B2 (en) * 1995-04-28 2005-07-26 Matsushita Electric Industrial Co., Ltd. Data transmitting apparatus, data receiving apparatus and data transmission control apparatus
US5740161A (en) * 1995-11-08 1998-04-14 Intel Corporation Method and apparatus for synchronizing viewed information in a conferencing environment
AU1697697A (en) * 1996-01-16 1997-08-11 Fujitsu Limited A reliable and flexible multicast mechanism for atm networks
US6009077A (en) * 1997-04-08 1999-12-28 University Of Massachusetts Flow admission control for a router
US6442135B1 (en) * 1998-06-11 2002-08-27 Synchrodyne Networks, Inc. Monitoring, policing and billing for packet switching with a common time reference
US6038230A (en) 1998-07-22 2000-03-14 Synchrodyne, Inc. Packet switching with common time reference over links with dynamically varying delays
US6549514B1 (en) * 1998-07-07 2003-04-15 Nokia Corporation Method and apparatus for shaping traffice for a SIMA network
US6577604B1 (en) * 1999-11-09 2003-06-10 Nortel Networks Limited Determining link capacity utilization for HDLC encoded links
US6970481B2 (en) * 2001-04-17 2005-11-29 Microsoft Corporation Methods and systems for distributing multimedia data over heterogeneous networks

Also Published As

Publication number Publication date
DE60123935D1 (de) 2006-11-30
CA2403368A1 (en) 2001-09-20
WO2001069853A3 (en) 2001-12-20
WO2001069848A2 (en) 2001-09-20
JP2003527036A (ja) 2003-09-09
WO2001069853A2 (en) 2001-09-20
EP1264438B1 (de) 2006-10-18
CA2403368C (en) 2009-10-06
JP4611598B2 (ja) 2011-01-12
US7385933B2 (en) 2008-06-10
WO2001069848A3 (en) 2001-12-20
EP1264438A2 (de) 2002-12-11
US20030021231A1 (en) 2003-01-30
AU3587501A (en) 2001-09-24

Similar Documents

Publication Publication Date Title
DE60127454T2 (de) Zeitsynchronisation in einem computernetzwerk
DE60123935T2 (de) Synchronisierte datenübermittlung
DE69927457T2 (de) Verfahren und Vorrichtung zur Cache-Speicherung von Informationen im Netzwerk
DE69532262T2 (de) Verfahren zum Mehrfachsenden
DE69930992T2 (de) Verfahren und Rechnerprogrammprodukt zum effizienten und sicheren Senden von kleinen Datennachrichten von einem Sender zu einer grossen Anzahl von Empfangssystemen
DE60002396T2 (de) Verbindungsauswahlverfahren
DE69636201T2 (de) Methode zur Mehrfachaussendung in Netzwerken mit ARQ zur Vermeidung unnötiger Wiederholungsübertragungen
DE19900065A1 (de) Netzwerküberwachungsgerät
DE102006024965A1 (de) Verfahren zum Messen einer Zeitverzögerungsmetrik und Messsystem
DE60110934T2 (de) Modularer und skalierbarer switch und verfahren zum verteilen schneller ethernet-datenrahmen
EP2847936B1 (de) Verfahren zur übertragung von daten in einem paketorientierten kommunikationsnetzwerk und entsprechend eingerichtetes teilnehmergerät an dem kommunikationsnetzwerk
WO2002025821A2 (de) Verfahren zur messung von unidirektionalen übertragungseigenschaften in einem datennetz
DE60037914T2 (de) Multicasting von Daten in einem mobilen IP-Kommunikationsnetz
DE60026006T2 (de) System zum Empfang von Mehrfachdaten
EP0419959A2 (de) Schaltungsanordnung zum Überprüfen der Einhaltung festgelegter Übertragungsbitraten bei der Übertragung von Nachrichtenzellen
DE102017127431A1 (de) Messverfahren zur bedarfsgerechten Bestimmung von Durchlaufzeiten in einem Datennetzwerk
DE69833206T2 (de) Netzwerkkontrolle zum verarbeiten von statusproblemen
WO2003039081A1 (de) Verfahren, empfangseinrichtung und sendeeinrichtung zur bestimmung des schnellsten nachrichtenpfades ohne uhrensynchronisation
EP0996258A2 (de) Lokales Netzwerk mit einem Brücken-Terminal zur Übertragung von Daten zwischen mehreren Sub-Netzwerken und zur Schleifendetektion
DE102005029429A1 (de) Verfahren zum Sammeln von BGP-Routing-Protokollmitteilungen
EP0996259A2 (de) Automatische Konfigurierung eines Brücken-Terminals zur Uebertragung von Daten zwischen mehreren Sub-Netzwerken in einem lokalen Netzwerk
DE60310752T2 (de) Datenzugriffsprozess
EP2263399B1 (de) Verfahren und kommunikationssystem zum bestimmen der qualität wenigstens einer ip-verbindung zwischen einer mobilen einrichtung und einem mit einem öffentlichen ip-basierten kommunikationsnetz verbundenen server
DE602005005025T2 (de) Gateway und datenübertragungssystem für das diagnostische netzwerk eines kraftfahrzeugs
EP2098014A2 (de) Verfahren und vorrichtung zum austausch von daten

Legal Events

Date Code Title Description
8364 No opposition during term of opposition