DE60317890T2 - Verfahren und anordnung zur lokalen synchronisation in verteilten master-slave-kommunikationssystemen - Google Patents

Verfahren und anordnung zur lokalen synchronisation in verteilten master-slave-kommunikationssystemen Download PDF

Info

Publication number
DE60317890T2
DE60317890T2 DE60317890T DE60317890T DE60317890T2 DE 60317890 T2 DE60317890 T2 DE 60317890T2 DE 60317890 T DE60317890 T DE 60317890T DE 60317890 T DE60317890 T DE 60317890T DE 60317890 T2 DE60317890 T2 DE 60317890T2
Authority
DE
Germany
Prior art keywords
data
synchronization
packet
control information
control
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
DE60317890T
Other languages
English (en)
Other versions
DE60317890D1 (de
Inventor
Francois G. Abel
Alan Benner
Alain Blanc
Michel Colmant
Mitch Gusat
Michel Poret
Norbert Schumacher
Mark Verhappen
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE60317890D1 publication Critical patent/DE60317890D1/de
Application granted granted Critical
Publication of DE60317890T2 publication Critical patent/DE60317890T2/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
    • H04L49/00Packet switching elements
    • H04L49/15Interconnection of switching modules
    • H04L49/1515Non-blocking multistage, e.g. Clos
    • H04L49/153ATM switching fabrics having parallel switch planes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • H04L49/253Routing or path finding in a switch fabric using establishment or release of connections between ports
    • H04L49/254Centralised controller, i.e. arbitration or scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3081ATM peripheral units, e.g. policing, insertion or extraction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/45Arrangements for providing or supporting expansion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3009Header conversion, routing tables or routing tags
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3072Packet splitting

Landscapes

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

Description

  • GEBIET DER ERFINDUNG
  • Die Erfindung betrifft die Paketvermittlungstechnologie in elektronischen Datenübertragungsnetzen und die konstruktive Gestaltung der hierfür verwendeten Verarbeitungseinrichtungen. Insbesondere betrifft die Erfindung ein Verfahren und eine Vorrichtung zum Synchronisieren mehrerer parallel betriebener Verarbeitungselemente (oder -module), um eine einzige gleichwertige Verarbeitungseinrichtung zu schaffen, deren Gesamtdurchsatz gleich der Summe der Einzeldurchsätze mehrerer parallel betriebener Verarbeitungselemente ist. Eine typische Anwendung dieser Erfindung stellen Paketvermittlungssysteme dar.
  • EINLEITUNG
  • Von allen konkurrierenden Anforderungen, die an Koppelnetze der heutigen Generation gestellt werden, stellen die Skalierbarkeit der Anzahl der Anschlüsse und die Kostenkontrolle zwei zu lösende Hauptaufgaben dar. Zum Aufbau von kostengünstigen und skalierbaren Koppelnetzen gibt es zwei unterschiedliche Möglichkeiten. Die erste besteht in der weit verbreiteten einstufigen Vermittlungsarchitektur, die zwar sehr leistungsfähig ist, deren Skalierbarkeit jedoch an Grenzen stößt, da ihre Komplexität mit dem Quadrat der Anzahl der Anschlüsse zunimmt. Die zweite Möglichkeit besteht in der mehrstufigen Vermittlungsarchitektur, die durch einen höheren Parallelitätsgrad einen höheren Durchsatz liefert, im Allgemeinen aber komplexer und nicht so leistungsfähig ist wie einstufige Vermittlungen.
  • Eine mehrstufige Vermittlungsarchitektur wird als Multistage Interconnection Network (MIN) bezeichnet, d. h. als Vermittlungseinrichtung aus „kleinen" einstufigen Vermittlungsmodulen, die mehrstufig oder vernetzt durch Leitungen so miteinander verbunden sind, dass die Vermittlungs- und Leitungsressourcen gleichzeitig von mehreren Verbindungen genutzt werden können, sodass die Komplexität langsamer als mit N2, in der Regel jedoch mit NlogN zunimmt, wobei N die Gesamtzahl der Anschlüsse des Koppelnetzes ist. Obwohl bekannt ist, dass MINs zum Erzielen eines sehr hohen Durchsatzes und zur Unterstützung einer sehr großen Anzahl von Anschlüssen benötigt werden, ist ihre allgemeine Einführung im vergangenen Jahrzehnt mehrfach verschoben worden. Ein Grund hierfür besteht darin, dass im gleichen Zeitraum ständig neue Entwicklungen der einstufigen Vermittlungssysteme in Verbindung mit Fortschritten der zugrunde liegenden Technologien mit den zunehmenden Anforderungen des Marktes Schritt halten konnten. Außerdem bleiben die einstufigen Vermittlungsarchitekturen innerhalb ihres Skalierbarkeitsbereichs sehr attraktiv, da sie das beste Preis-Leistungs-Verhältnis für den Aufbau eines elektronischen paketvermittelten Netzes bieten.
  • Einstufige Vermittlungsarchitekturen können in zwei Typen eingeteilt werden: Architekturen mit zentraler Steuerung und Architekturen mit verteilter Steuerung. Der letztere Typ besteht aus parallelen Vermittlungsbereichen, die jeweils eine unabhängige Ablaufsteuerung aufweisen (Steuerbereich). Deren größter Nachteil besteht darin, dass sie infolge der Lastausgleichs- und Sortieralgorithmen, welche die über die zahlreichen Vermittlungsbereiche verteilten Pakete verarbeiten, einen bestimmten komplexen Systemaufwand erfordern. In der Literatur wird dies auch als parallele Paketvermittlung (Parallel Packet Switching, PPS) bezeichnet. Die Vermittlungsarchitektur mit zentraler Steuerung weist hingegen nur einen Vermittlungsbereich auf, der normalerweise aus mehreren parallel laufenden Vermittlungsschichten besteht. Durch den Parallelbetrieb mehrerer Vermittlungsschichten kann die Geschwindigkeit der Vermittlungsanschlüsse erhöht und somit ein Vermittlungskern mit höherer Geschwindigkeit geschaffen werden. Dieser Ansatz wird in einer Anzahl einstufiger Vermittlungen verwendet, da so Systeme erstellt werden können, die eine große Anzahl externer Leitungen bedienen können, indem sie die Leitungen auf eine einzige Leitung mit höherer Geschwindigkeit multiplexen. Für jedes Schaltkreistechnologie gibt es eine Grenze der Anwendbarkeit dieses Verfahrens, jedoch bietet sie innerhalb deren Anwendungsbereich die kostengünstigste Möglichkeit zur Skalierung hin zu größer dimensionierten Vermittlungen. Weitere Gründe, die zur zunehmenden Verbreitung der einstufigen Vermittlungseinrichtungen mit zentraler Steuerung führen, sind die Einzigartigkeit ihres Steuerschemas und ihre Eignung zur Realisierung beliebiger Warteschlangenstrukturen: Struktur mit gemeinsamem Speicher und Ausgangswarteschlange, Struktur mit Kreuzschienenverteiler (Koppelfeld) und Eingangswarteschlange oder kombinierte Struktur mit Eingangs- und Ausgangswarteschlange.
  • Das durch die vorliegende Erfindung gelöste Problem betrifft Vermittlungsarchitekturen mit zentraler Steuerung. Die Aufgabe besteht darin, ein Mittel zur Verbesserung der ihnen innewohnenden Wachstumsgrenzen bereitzustellen. Diese Aufgabe wird dadurch gelöst, dass mehrere Vermittlungselemente zusammengeschaltet und in einem so genannten Port-Speed-Expansion-Modus (Erweiterung der Anschlussgeschwindigkeit) betrieben werden. Diese Verbesserung betrifft indirekt auch MIN-Architekturen, da diese normalerweise aus einstufigen Vermittlungsmodulen bestehen.
  • BESCHREIBUNG UND NACHTEILE DES STANDES DER TECHNIK
  • In der Computertechnik wird die Parallelverarbeitung von Daten und Warteschlangen seit langem zum Erreichen höherer Bandbreiten genutzt. Bei der Anwendung auf die Paketvermittlungstechnologie in elektronischen Netzen bedeutet dies, dass Pakete über mehrere parallele Schichten vermittelt werden, was mitunter auch als Erweiterung der Anschlussgeschwindigkeit bezeichnet wird.
  • Eine frühe Beschreibung zur Erweiterung der Anschlussgeschwindigkeit ist zu finden in dem Artikel „A flexible shared-buffer switch for ATM at Gb/s rates", von W. E. Denzel, A. P. J. Engbersen und I. Iliadis, veröffentlicht in Computer Networks and ISDN Systems, Bd. 27, Nr. 4, Januar 1995, S. 611 bis 624. In diesem Artikel wird die Anschlussgeschwindigkeit modular durch Stapeln mehrerer Slave-Chips und Steuern dieses Stapels durch einen einzelnen Master-Chip erhöht. Ferner wird in der europäischen Patentanmeldung EP 0 849 917 A2 eine spezielle Ausführungsart zur Erhöhung der Anschlussgeschwindigkeit beschrieben, die in einer Vermittlungsarchitektur mit Ausgangswarteschlange eingesetzt wird.
  • In der europäischen Patentanmeldung EP 0 471 380 A wird eine ATM-Vermittlung (Asynchronous Transfer Mode, asynchroner Übertragungsmodus) beschrieben, in welcher die Datenvermittlung in einer aus Zellen bestehenden Einheit erfolgt. In der US-Patentanmeldung Nr. 5 321 691 A wird eine ATM-Vermittlung beschrieben, in welcher die Kapazität des Pufferspeichers durch Nutzung von Master- und Slave-Steckkarten erhöht wird, wobei die zahlreichen Slave-Steckkarten den zusätzlichen Pufferspeicher aufweisen. In der US-Patentanmeldung Nr. 5 412 646 A wird eine Paketvermittlung mit hoher Vermittlungskapazität beschrieben, die unter Verwendung eines Erweiterungsmoduls realisiert wird, das eine ankommende Paketzelle in eine Vielzahl von Segmenten aufteilt und die Segmente ihrer Reihenfolge nach an entsprechende Konzentrations-Module im Erweiterungsmodul weiterleitet. In der US-Patentanmeldung Nr. 5 506 842 A wird eine Schnittstelle zur Übertragung von Nachrichtenzellen, die auf einer Eingangshauptleitung mit einer bestimmten Bitübertragungsrate ankommen und zu verschiedenen virtuellen Verbindungen oder virtuellen Pfaden gehören, über Eingänge einer für eine niedrigere Bitübertragungsrate ausgelegten ATM-Datenübertragungseinrichtung beschrieben. In der US-Patentschrift Nr. 5 905 725 A wird ein Router zur Vermittlung eines Datenpakets zwischen einer Quelle und einem Ziel in einem Netz mit einer Vielzahl von Eingangsanschlüssen beschrieben, die jeweils eine Vielzahl von Eingangsanschlüssen und diese wiederum jeweils eine Datenroutine beinhalten.
  • Das durch die vorliegende Erfindung zu lösende Problem wird im Folgenden ausführlicher erläutert. Eine bekannte Schwierigkeit bei der Erhöhung der Anschlussgeschwindigkeit besteht darin, dass die Master- und Slave-Module strikt synchron laufen müssen, wodurch die Ausführung komplex wird. Bei einer hohen Anschlussgeschwindigkeit führt dies zu einer komplexen und/oder aufwendigen Synchronisationslogik, die für gewöhnlich das physische Ausmaß der Parallelität und somit auch den maximal erreichbaren Durchsatz beschränkt. Deshalb besteht ein Bedarf daran, die Skalierbarkeit einer Schaltung zur Erweiterung der Anschlussgeschwindigkeit von der durch die Synchronisationsprobleme bedingten Komplexität der Ausführung zu trennen.
  • Bei einer im Modus der Erhöhung der Anschlussgeschwindigkeit betriebenen Koppelnetzschaltung werden die Einzelvermittlungen entweder als „Master"- oder als „Slave"-Vermittlung bezeichnet. Ein Koppelnetz mit erhöhter Anschlussgeschwindigkeit enthält eine Master- und eine oder mehrere Slave-Komponenten. Das Master-Modul und die Slave-Module können in einer beliebigen Topologie miteinander verbunden werden, zum Beispiel in einer Kette, einem Ring oder einer Baumstruktur. Die allgemeine Idee der Erhöhung der Anschlussgeschwindigkeit wird im Folgenden unter Bezug auf 1 beschrieben/wiederholt, die als Beispiel das IBM PRS64G, ein Handelsprodukt nach dem Stand der Technik mit nur einem Slawe veranschaulicht. Das PRS64G ist eine Paketvermittlung mit 32 Eingangs- und 32 Ausgangsanschlüssen mit einer Datenrate von je 2 GBit/s bzw. einer Gesamtbandbreite von 64 GBit/s. Wenn zwei dieser Chips im Modus zur Erhöhung der Anschlussgeschwindigkeit kombiniert werden, können die physischen Anschlüsse mit einer Datenrate von 4 GBit/s betrieben und ein Koppelnetz mit der doppelten Gesamtbandbreite von 128 GBit/s aufgebaut werden. Wenn ein zu vermittelndes Paket durch eine Eingangsschnittstelle des Koppelnetzes empfangen wird, wird es in mehrere Teile aufgeteilt, die hier als „Logikeinheit" (LU) (oder später auch als „Segment") bezeichnet werden. In diesem bestimmten Beispiel ist die Anzahl der LUs gleich der Anzahl der Einzelvermittlungen, was jedoch nicht unbedingt der Fall sein muss. Dann sendet die Eingangsschnittstelle des Koppelnetzes eine LU jedes Pakets an die Master-Vermittlung und die folgende LU an die Slave-Vermittlung. Die erste LU enthält nur einen Teil der ersten Nutzdaten des Pakets und die gesamten Kopfdaten des Pakets mit den Leitweginformationen. Die zum Slawe weitergeleitete LU enthält nur Nutzdaten und keine Leitweginformationen. Der Master verarbeitet seine LU entsprechend den Informationen der Kopfdaten zum Leitweg und zur Dienstqualität (Quality-of-Service) und teilt dann dem Slave-Modul seine Weiterleitungsentscheidung mit, indem er ihm eine geeignete (abgeleitete) Steuerinformation sendet. Für jede beim Master ankommende LU wird über einen so genannten Bus zur Erweiterung der Eingangsanschlussgeschwindigkeit eine abgeleitete Steuerinformation an das Slave-Modul gesendet. Wenn der Master ein zu übertragendes Paket einordnet, wird desgleichen eine ähnliche Steuerinformation über einen Bus zur Erweiterung der Ausgangsanschlussgeschwindigkeit an das Slave-Modul gesendet. Aufgrund der Laufzeit des Ausgangssteuerpfades kann die vom Master-Modul gesendete LU in Wirklichkeit früher abgehen als die vom Slave-Modul gesendete LU. In manchen Fällen kann zwischen dem Master-Modul und dem Slave-Modul ein zusätzlicher Synchronisierungsmechanismus erforderlich sein, wenn die beiden abgehenden LUs die Ausgangsschnittstelle des Koppelnetzes annähernd gleichzeitig erreichen sollen. Aus der obigen Beschreibung zeigt sich, dass bei einem Koppelnetz mit erhöhter Anschlussgeschwindigkeit die Laufzeiten gesteuert und die beiden verschiedenen Datenströme genau aufeinander abgestimmt werden müssen: der Datenfluss von der Eingangsschnittstelle zur Schaltung des Koppelnetzes und zur Ausgangsschnittstelle des Koppelnetzes (in 1 horizontal gezeichnet) und der Steuerdatenfluss vom Master zu einem oder mehreren Slaves (in 1 vertikal gezeichnet). Bei dem Beispiel der Paketlaufzeit von 1 (128 ns für ein Paket von 64 Bytes) und dem kompakten Aufbau der Koppelnetzschaltung (auf einer Leiterplatte) wurde dies dadurch einfach realisiert, dass die Steuerinformation den Slave innerhalb eines Paketzyklus von 128 ns erreicht, was beim heutigen Stand der Technik mit einer Leiterplatte eine ausreichende Zeit darstellt.
  • Aufgrund der ständigen Zunahme der Datenleitungsgeschwindigkeiten und der Systemdimensionen ist es inzwischen immer schwieriger geworden, System mit erhöhter Geschwindigkeit aufzubauen. Einerseits sind die Paketlaufzeiten infolge der schnelleren Datenleitungen immer kürzer geworden und haben deshalb bei den Installationen zur Erhöhung der Anschlussgeschwindigkeit einen höheren Parallelitätsgrad erforderlich gemacht. Andererseits waren die Entwickler gezwungen, infolge der größer dimensionierten Systeme das Koppelnetz auf mehrere Leiterplatten und Einschubmodule zu verteilen, sodass die Leitungslängen für die Datenflüsse und/oder Steuerdatenflüsse innerhalb des Koppelnetzes größer wurden. Ausgehend von all diesen strengeren Systemanforderungen und -dimensionen wird es sehr schwierig und/oder aufwändig, die Laufzeiten zwischen physisch verteilten Elementen genau zu steuern und aufeinander abzustimmen, deren Paketlaufzeiten zudem noch kürzer geworden sind. Insbesondere kann es vorkommen, dass mehrere LUs aus einem Paket bei der Mastervermittlung und einer oder mehreren Slave-Vermittlungen nicht genau oder annähernd zum selben Zeitpunkt ankommen. Es kann sogar vorkommen, dass vollkommen verschiedene Pakete zu genau oder annähernd demselben Zeitpunkt bei der Master- und/oder den Slave-Vermittlungen ankommen.
  • Ausgehend vom Beispiel einer kettenförmigen Topologie aus 1 Master-Modul und N-1 Slave-Modulen nach 2 besteht eine Lösung darin, jedes Slave-Modul mit einem Mittel zur Messung der Latenzzeit des Steuerpfades während der Systeminitialisierung auszustatten und in den Datenpfad jedes Slave-Moduls eine digital programmierbare Verzögerung einzufügen, welche die Laufzeit des Steuerpfades ausgleicht und anpasst. Die Messung der Latenzzeit des Steuerpfades erfolgt im Vergleich mit einem vom Master an alle Slave-Module rundgesendeten Synchronisierungssignals. Nachdem bei jedem Slave-Modul die Latenzzeit des Steuerpfades gemessen wurde, wird entsprechend die digital programmierbare Verzögerung des Datenpfades individuell innerhalb jedes Slave-Moduls eingestellt, sodass die Verzögerungen im Steuerdatenpfad und im Datenpfad in Bezug auf die Paketzyklen übereinstimmen. Obwohl dieser Vorschlag in die richtige Richtung geht, löst er das Problem nur zur Hälfte, da er die verschiedenen Latenzzeiten in den Datenpfaden mit erhöhter Anschlussgeschwindigkeit nicht ausgleichen kann (siehe Laufzeitunterschied im Datenpfad in 2). Der vorgeschlagene Ansatz funktioniert in der Tat nur, wenn das System ziemlich genau synchronisiert ist, sodass alle von der Eingangsschnittstelle des Koppelnetzes gesendeten LUs die Koppelnetzschaltung innerhalb eines Laufzeitfensters erreichen, das kürzer als die Dauer des Paketzyklus ist. Bei einer Anschlussrate in der Größenordnung von 10 GBit/s (OC192) kann dies erreichbar sein, wenn die Anzahl der Anschlüsse es zulässt, dass das gesamte physische Koppelnetz kompakt gebaut werden kann und zum Beispiel in einen Elektronikeinschub passt. Bei Systemen mit größeren Abmessungen und höheren Anschlussgeschwindigkeiten wie beispielsweise 40 GBit/s (OC768) sollte das lokale Synchronisationsverfahren nicht nur die Latenzzeit des Steuerdatenpfades kompensieren, sondern auch unvorhersehbare Laufzeitunterschiede sowohl in den Datenpfaden als auch in den Steuerdatenpfaden, wobei dies für jede (beliebige) Topologie gelten muss. Um eine leichte Skalierbarkeit zu ermöglichen sollte das Verfahren außerdem in der Lage sein, die durch das Konzept zur Erhöhung der Anschlussgeschwindigkeit auferlegten Einschränkungen zu mildern.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Im Allgemeinen besteht die Zielstellung dieser Erfindung darin, ein Verfahren und eine Vorrichtung zur lokalen Synchronisation von Daten- und Steuerinformationen in jedem Modul eines verteilten Master-Slave-Datenübertragungssystem mit einer beliebigen Topologie bereitzustellen. Die Synchronisation wird durch das Ausgleichen der unvorhersehbaren Laufzeitunterschiede in den Übertragungspfaden der Daten- und Steuerinformationen erreicht. Die Größe und das Vorzeichen jeder Kompensation wird durch das Senden von Synchronisierungspaketen durch das Datenübertragungssystem bestimmt.
  • Eine weitere Zielstellung besteht darin, ein Mittel zur lokalen und unabhängigen Messung der Differenz der Laufzeit zwischen dem Daten- und dem Steuerpfad an jedem Synchronisierungspunkt des verteilten Systems bereitzustellen. Durch diese lokale Messung ist es möglich, die den verteilten Datenübertragungssystemen mit zentraler Steuerung innewohnenden Einschränkungen bezüglich der Skalierbarkeit der Übertragungsgeschwindigkeit in den Griff zu bekommen, indem das System in die Lage versetzt wird, im lokalen Maßstab synchron und im globalen Maßstab asynchron zu arbeiten. Der Vorteil dieses Ansatzes gegenüber einer globalen Synchronisation eines Master-Moduls und mehrerer Slave-Module besteht darin, dass ein zentral gesteuertes System so skaliert werden kann, dass es mit einem höheren Parallelitätsgrad, einer beliebigen Anzahl von Slave-Modulen und einer beliebigen Topologie arbeiten kann. Insbesondere können zeitlich aufeinander abgestimmte Systeme geschaffen werden, die verschiedene Module mit geringfügig unterschiedlichen Frequenzen mit langsam veränderlichen Phasen betreiben, was in großen verteilten Systemen für gewöhnlich der Fall ist.
  • Gemäß der vorliegenden Erfindung wird ein Datenübertragungssystem zur Verarbeitung von Datenpaketen bereitgestellt, die jeweils Kopfdaten mit Steuerinformationen und Nutzdaten enthalten. Das System umfasst einen Eingangsanschluss zum Empfangen der Datenpakete, in welchem jedes Datenpaket in Segmente aufgeteilt wird. Ferner umfasst das System ein Master-Modul und ein oder mehrere Slave-Module zur parallelen Verarbeitung der Segmente. Das Master-Modul ist so beschaffen, dass es die Kopfdaten jedes Datenpakets über einen Datenpfad empfängt, und die Slave-Module sind so beschaffen, dass sie Datensegmente über einen Datenpfad empfangen. Vom Master-Modul können über einen Steuerpfad abgeleitete Steuerinformationen an ein oder mehrere Slave-Module übertragen werden. Im System gibt es Synchronisationsmittel zum Senden von Synchronisationspaketen, die ebenfalls in Segmente aufgeteilt sind, vom Eingangsanschluss über dieselben Pfade wie normale Datenpakete durch das System und zum Weiterleiten der Synchronisations-Steuerinformationen über dieselben Pfade wie normale abgeleitete Steuerinformationen durch das System. Jedes des einen oder der mehreren Slave-Module umfasst ein Zeitverschiebungsinformationsmittel, das auch als erstes Mittel bezeichnet wird, zum Gewinnen von Zeitverschiebungsinformationen, welche die Differenz der Übertragungsverzögerung zwischen dem Datenpfad und dem Steuerpfad darstellen, wenn ein Synchronisationspaketsegment und dessen entsprechende Synchronisationssteuerinformation empfangen werden. Jedes der einen oder mehreren Slave-Module umfasst ein Verzögerungsmittel, das auch als zweites Mittel bezeichnet wird, zum Verzögern eines Datensegments oder aber einer abgeleiteten Steuerinformation als Reaktion auf die durch das Zeitverschiebungsinformationsmittel gewonnene Zeitverschiebungsinformation.
  • Gemäß einem zweiten Aspekt der vorliegenden Erfindung wird eine Datenübertragungsanordnung zur Verarbeitung von Datenpaketen bereitgestellt, die jeweils Kopfdaten mit Steuerinformationen und Nutzdaten beinhalten, wobei die Datenübertragungsanordnung einen Eingangsanschluss zum Empfangen der Datenpakete umfasst, in welchem jedes Datenpaket in Segmente aufgeteilt wird,
    und ein Datenübertragungssystem mit einem Master-Modul und einem oder mehreren Slave-Modulen zur parallelen Verarbeitung der Segmente umfasst, wobei das Master-Modul so beschaffen ist, dass es die Kopfdaten mit Steuerinformationen jedes Datenpakets über einen Datenpfad empfangt, und wobei das eine oder die mehreren Slave-Module so beschaffen sind, dass sie Datensegmente über einen Datenpfad empfangen; wobei abgeleitete Steuerinformationen vom Master-Einheit über einen Steuerpfad an das eine oder die mehreren Slave-Module weiterleiten,
    wobei die Anordnung Mittel, die auch aus Synchronisationsmittel bezeichnet werden, zum Senden von ebenfalls in Segmente aufgeteilten Synchronisationspaketen vom Eingangsanschluss über dieselben Pfade wie normale Datenpakete durch das System und zum Weiterleiten der Synchronisations-Steuerinformationen über dieselben Pfade wie normale abgeleitete Steuerinformationen durch das System bereitstellt, wobei jedes Slave-Modul ein erstes Mittel zum Gewinnen von Zeitverschiebungsinformationen, welche die Differenz der Übertragungsverzögerung zwischen dem Datenpfad und dem Steuerpfad darstellen, umfasst, wenn ein Segment des Synchronisationspakets und deren entsprechende Synchronisations-Steuerinformation empfangen wird, und wobei jedes Slave-Modul ein zweites Mittel zum Verzögern eines Datensegments oder aber einer abgeleiteten Steuerinformation als Reaktion auf eine durch das erste Mittel gewonnene Zeitverschiebungsinformation umfasst.
  • Gemäß einem dritten Aspekt der vorliegenden Erfindung wird ein Verfahren zur lokalen Synchronisation in einem Master-Slave-Datenübertragungssystem zur Verarbeitung von Datenpaketen, die jeweils Kopfdaten mit einer Steuerinformation und Nutzdaten umfassen und durch mindestens einen Eingangsanschluss empfangen werden können, wobei in dem System im Eingangsanschluss jedes Datenpaket in Segmente aufgeteilt wird, um die Segmente parallel zu verarbeiten;
    wobei das System ein Master-Modul und ein oder mehrere Slave-Module zur parallelen Verarbeitung der Segmente umfasst; wobei das Master-Modul die Kopfdaten mit Steuerinformationen jedes Pakets empfängt und das eine oder die mehreren Slave-Module Datensegmente über einen Datenpfad empfangen; und wobei eine abgeleitete Steuerinformation vom Master-Modul an das eine oder die mehreren Slave-Module über einen Steuerpfad weitergeleitet werden;
    wobei das Verfahren zur Sicherstellung der genauen Zuordnung zwischen empfangenen Datensegmenten und abgeleiteten Steuerinformationen in den Slave-Module trotz unterschiedlicher Laufzeit im Datenpfad und im Steuerpfad die folgenden Schritte umfasst:
    • (a) Senden eines ebenfalls in Segmente aufgeteilten Synchronisationspakets vom Eingangsanschluss über dieselben Pfade wie normale Datenpakete durch das System und Weiterleiten einer von den Kopfdaten des Synchronisationspakets abgeleiteten Synchronisationssteuerinformation über dieselben Pfade wie die von den Kopfdaten der Datenpakete abgeleitete Steuerinformation durch das System;
    • (b) Gewinnen einer Zeitverschiebungsinformation, welche die Differenz der Laufzeit zwischen dem Datenpfad und dem Steuerpfad darstellt, in dem einen oder den mehreren Slave-Modulen, wenn ein Segment des Synchronisationspakets und dessen entsprechende Synchronisationssteuerinformation empfangen werden; und
    • (c) Ausgleichen der durch die in Schritt (b) gewonnene Zeitverschiebungsinformation dargestellten Differenz der Laufzeit in dem einen oder den mehreren Slave-Modulen für jedes empfangene Paketsegment durch Verzögern des Paketsegments selbst oder aber der abgeleiteten Steuerinformation.
  • Ein besonderer Vorteil dieser Erfindung besteht darin, dass deren Synchronisationsansatz lokal selbstanpassend ist und stabil ausgeführt werden kann. Unter selbstanpassend ist zu verstehen, dass der Synchronisationsprozess an jedem Synchronisationspunkt des verteilten Systems lokal und autonom abläuft und dass zwischen keinem der Module des Datenübertragungssystems eine bidirektionale Datenübertragung erforderlich ist. Stabilität gegenüber variierenden Verzögerungen des Datenpfades und/oder des Steuerpfades kann durch oftmaliges Senden der Synchronisationspakete, zum Beispiel in regelmäßigen Intervallen, durch das System erreicht werden.
  • Ein weiterer Vorteil dieser Erfindung besteht darin, dass die Eingangsadapterquelle nicht alle Paketsegmente gleichzeitig zu senden braucht, da die Master-/Slave-Module die Laufzeitunterschiede zwischen Paketsegmenten ausgleichen können. In der Tat ist es von Vorteil, die an den Master und die Slaves übertragenen Segmente zu einem Zeitpunkt zu senden, der um die Zeit verzögert ist, welche die vorhergehenden Master-/Slave-Module im Steuerpfad zur Weiterleitung der Steuerinformation an das nachfolgende Slave-Modul benötigen, zuzüglich der Laufzeitdifferenz dieser aufeinanderfolgenden Segmente im Datenpfad gegenüber dem Steuerpfad. Dadurch wird die im Datenpfad der Slave-Module benötigte Pufferkapazität zum Kompensieren der Latenz des Steuerpfads verringert. Dieser Vorteil gilt für einstufige Systeme oder die erste Stufe in einem mehrstufigen Datenübertragungssystem.
  • Der Vorteil der weniger strengen Synchronisationseinschränkungen pro Stufe verschafft dem Entwickler in einstufigen und auch in mehrstufigen Systemen mehr Freiheitsgrade in der Master-Ebene, da diese nun zeitweilig von selbstanpassenden Slave-Ebenen unabhängig ist. Der Vorteil der lokalen Synchronisation in mehrstufigen Systemen besteht darin, dass in jeder Stufe keine weitere Latenzzeit hinzukommt, was bei einer globalen Synchronisation aller Stufen der Fall wäre. Da mehrstufige Datenübertragungssysteme (bei identischer Technologie) auch physisch größer als einstufige Systeme sind, werden weniger strenge Synchronisationseinschränkungen für solche Systeme immer wichtiger, da sich das größere System über mehrere Leiterplatten/Einschübe/Schränke erstrecken kann, die durch längere Leitungen miteinander verbunden sind. Wegen der immer größeren Bandbreiten und der kürzeren Paketübertragungszeiten stellt die Entkopplung der Synchronisationseinschränkungen von der Paketlänge einen wichtigen Vorteil dar.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • Die vorliegende Erfindung wird anhand von Beispielen veranschaulicht und ist nicht auf die Form der Figuren oder Zeichnungen beschränkt, wobei:
  • 1 ein Blockschaubild eines elektronischen Vermittlungssystems nach dem Stand der Technik ist, welches das allgemeine Konzept eines verteilten Master-Slave- Datenübertragungssystems und der Erweiterung der Anschlussgeschwindigkeit realisiert.
  • 2 ein Blockschaubild ist, das schematisch die Übertragung von mehreren Datenpaketen von einer Eingangsquelle an ein segmentiertes Datenübertragungssystem darstellt, welches (beliebig) durch eine Kettentopologie aus einem Master-Modul und N-1 Slave-Modulen realisiert ist.
  • 3 eine allgemeine schematische Übersicht eines paketvermittelten Datenübertragungssystems (CS) und des entsprechenden segmentierten paketvermittelten Datenübertragungssystems ist, das durch die vorliegende Erfindung verbessert werden kann.
  • 4 ein Blockschaubild gemäß der Erfindung ist, das schematisch die Übertragung von Segmenten des Synchronisationspakets und Steuerinformationen zeigt, die von dem die Kopfdaten enthaltenden Segment des Synchronisationspakets abgeleitet wurden.
  • 5 ein Blockschaltbild einer bevorzugten Ausführungsart der Erfindung ist.
  • 6 ein Blockschaubild ist, das schematisch die Übertragung mehrerer Datenpakete von der Ausgangsseite eines segmentierten Datenübertragungssystems an einen Ausgangsadapter (6a) oder im Fall einer mehrstufigen Anordnung an ein anderes segmentiertes Datenübertragungssystem (6b) zeigt.
  • 7 ein Ablaufplan ist, der die Synchronisationsprozedur veranschaulicht.
  • DETAILLIERTE BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSART
  • Im Folgenden wird unter allgemeinem Bezug auf die Figuren und unter besonderem Bezug auf 3 ein allgemeines Datenübertragungssystem 30 zum Befördern von Dateneinheiten beschrieben, die im Folgenden als Pakete bezeichnet werden. Abgesehen von bestimmten strikten Anforderungen an Größe oder Leistungsfähigkeit stellt bei bestimmten Technologien die parallele Datenverarbeitung mitunter die einzige brauchbare Lösung dar.
  • Die parallele Datenverarbeitung kann durch Gliederung und Verteilung des Systems erreicht werden. Die Funktionalität der verteilten Systembereiche 30-1 bis 30-N zusammengenommen ist der Funktionalität des ursprünglichen Systems 30 identisch. Deshalb wird auch ein Paket 31 (in Segmente) aufgeteilt und durch das Datenübertragungssystem befördert, indem verschiedene Teile des Pakets in verschiedenen Bereichen des Systems verarbeitet werden. Die Gliederung des Systems und des Pakets ist im unteren Teil von 3 dargestellt. Ein typisches Beispiel eines solchen parallelen Systems stellt der Fall M=N dar, bei dem jedes Segment eines Pakets durch einen entsprechenden Bereich des Datenübertragungssystems verarbeitet wird.
  • Es wird davon ausgegangen, dass die Segmentierung der ankommenden Pakete durch eine externe Einheit 33 erfolgt, die im Folgenden als Eingangsadapter bezeichnet wird. Desgleichen wird davon ausgegangen, dass die Segmente der abgehenden Pakete ebenfalls durch eine externe Einheit 34 wieder zusammengesetzt werden, der im Folgenden als Ausgangsadapter bezeichnet wird.
  • Für die in der Einleitung erwähnte Segmentierung und Verteilung der Funktionalitäten eines Datenübertragungssystems gibt es mehrere Möglichkeiten. Das von der vorliegenden Erfindung zu lösende Problem betrifft verteilte Datenübertragungssysteme mit zentraler Steuerung, die mitunter auch als Systeme der Master-Slave-Klasse bezeichnet werden.
  • Ein System der Master-Slave-Klasse kann in einer beliebigen Topologie geschaltet werden, zum Beispiel als Kette, als Ring, als Baumstruktur oder eine beliebige Kombination dieser drei Topologien. Unter Bezug auf 2 wird nun das Eingangsverhalten eines verteilten Datenübertragungssystems mit zentraler Steuerung für eine Kettentopologie beschrieben, die unter anderem eine mögliche Ausführungsart darstellt. Eine Haupteigenschaft eines verteilten Datenübertragungssystems mit zentraler Steuerung besteht darin, dass seine internen Leitungen mit einer wesentlich geringeren Datenrate arbeiten können als die ankommende externe Leitung. Unter der Annahme einer Datenrate R der externen Leitung kann das Datenübertragungssystem aus mehreren (beispielsweise N) parallel arbeitenden Modulen zusammengesetzt sein, sodass die Leitungen jedes einzelnen Moduls mit einer Datenrate von R/N arbeiten. Ankommende Pakete wird von einem Eingangsadapter in N identische Segmente aufgeteilt, bevor sie über N verschiedene Leitungen oder Verbindungen 20-0, 20-1, ..., 20-N-1 gesendet werden, die jeweils mit einer Datenrate von R/N arbeiten. Das erste Segment, das die Kopfdaten (und möglicherweise auch Nutzdaten) enthält, wird an ein Master-Modul 21 gesendet, während die N-1 anderen Segmente, die nur Nutzdaten enthalten, an ein erstes, zweites und weitere Slave-Module 22-1 bis 22-N-1 übertragen werden. Der größtmögliche Parallelitätsgrad ist durch die Kopfdaten bestimmt, die vollständig in ein einziges Segment passen müssen. Deshalb kann N nicht größer sein als die Größe des Pakets, dividiert durch die Größe der Kopfdaten. Beim maximalen Erweiterungsmodus enthält das erste Segment keinerlei Nutzdaten.
  • Obwohl alle Segmente gleichzeitig vom Eingangsadapter gesendet werden, unterliegen verschiedene Segmente unterschiedlich lange Laufzeiten τ0 bis τN-1, die von der Topologie und der Länge und Qualität der Leitungen abhängen. Deshalb kommen die N Segmente 23-0 bis 23-N-1 eines bestimmten Pakets im Allgemeinen nicht genau oder annähernd genau zum gleichen Zeitpunkt beim Master-Einheit und bei den Slave-Modulen an. Die Differenz zwischen der kürzesten und der längsten Laufzeit definiert das Datenpfad-Laufzeitfenster, das zur Vereinfachung als Paketzykluszeit angenommen wird. Ferner ist klar, dass bei Datenübertragungssystemen mit sehr großer Bandbreite und/oder bei sehr großen Datenübertragungssystemen über jede einzelne Leitung oder Verbindung 20-0 bis 20-N-1 gleichzeitig mehrere Paketsegmente von aufeinander folgenden Paketen übertragen werden können.
  • Wenn das Master-Modul 21 das Segment 23-0 empfängt, entnimmt es die Kopfdaten und verarbeitet das Segment entsprechend der in den Kopfdaten enthaltenen Leitweg- und QoS-Informationen (Quality of Service, Verarbeitungsinformation). Dann oder möglicherweise gleichzeitig wird eine Steuerinformation 24-0, die im Folgenden als abgeleitete Steuerinformation bezeichnet wird, erzeugt und über eine Steuerschnittstelle 25-0 an das Slave-Modul 22-1 übertragen. Die abgeleitete Steuerinformation 24-0 teilt dem ersten Slave-Modul 22-1 die vom Master-Modul 21 getroffene(n) Entscheidung(en) mit und enthält die Information, welche das erste Slave-Modul 22-1 zur Verarbeitung seines ankommenden Segments 23-1 benötigt. Deshalb und in Analogie zu den Datenleitungen 20-0 bis 20-N-1 werden gleichzeitig mehrere Module der abgeleiteten Steuerinformation über eine Schnittstelle 25-k (0 ≤ k ≤ M-2) übertragen.
  • In einer Kettentopologie gemäß 2 wird die durch das erste Slave-Modul 22-1 empfangene abgeleitete Steuerinformation 24-0 auch an das zweite Slave-Modul 22-2 oder das nächste Slave-Modul in der Kette weitergeleitet und so weiter, bis die abgeleitete Steuerinformation 24-N-2 das letzte Slave-Modul 22N-1 erreicht. In einer baumähnlichen Topologie könnte die abgeleitete Steuerinformation 24-0 gleichzeitig an alle Slave-Module gesendet werden.
  • Bei dem Topologiebeispiel von 2 können alle abgeleiteten Steuerinformationen 24-0 bis 24-N-2 unterschiedlich langen Laufzeiten δ0 bis δN-2 ausgesetzt sein. Damit jedes Slave-Modul sein Segment 23-i (0 ≤ i ≤ N-1) der zugehörigen abgeleiteten Steuerinformation 24-j (0 ≤ j ≤ N-2) richtig zuordnen kann, ist es von Vorteil, dass der Datenfluss und der Steuerdatenfluss in jedem Slave-Modul 22-1 bis 22-N-1 synchronisiert werden. Diese Synchronisation kann durch Einfügen einer programmierbaren Verzögerung in den Datenpfad und/oder den Steuerpfad vorgenommen werden, sodass die Differenzen der Laufzeiten zwischen den Pfaden ausgeglichen werden können. In der Praxis entspricht der durch das erste Slave-Modul 22-1 einzufügende Ausgleichsbetrag für die Laufzeit δ0 der abgeleiteten Steuerinformation 24-0, abzüglich der Laufzeitdifferenz zwischen den Leitungen 20-0 und 20-1: (δ0 – (τ0 – τ1)). Der Ausgleichsbetrag des zweiten Slave-Moduls 22-2 für die vom Master-Modul 21 gesendete abgeleitete Steuerinformation entspricht ((δ0 + δ1) – (τ0τ2)), während der Ausgleichsbetrag für das letzte Slave-Modul 22-N-1 in der Kette gleich ((δ0 + δ1 + ... + δN-2) – (τ0 – τN-1)) ist.
  • Um eine programmierbare Verzögerung in den Datenpfad und/oder den Steuerpfad jedes Slave-Moduls 22-1 bis 22-N-1 einfügen zu können, wird die Laufzeitdifferenz gemessen, d. h. eine diese Differenz darstellende Zeitverschiebungsinformation gewonnen, um dann die lokal erforderliche Ausgleichsverzögerung zu berechnen. Die Letzteren wird im Folgenden ausführlich beschrieben. Um an die obige Beschreibung des Problems anzuknüpfen, wird darauf hingewiesen, dass sich die Beschreibung auch weiterhin auf eine Kettentopologie bezieht.
  • Ein Merkmal der Erfindung gemäß 4 besteht darin, dass spezielle Synchronisationspakete, die im Folgenden als Sync-Pakete bezeichnet werden, in das Datenübertragungssystem eingefügt werden und lokal (innerhalb jedes Slave-Moduls) die Laufzeitdifferenz zwischen dem Steuerdatenfluss und dem Datenfluss gemessen wird. Dies erfolgt durch das Erfassen von Zeitmarken für den Datenpfad und den Steuerpfad, welche die Zeitverschiebung zwischen den beiden Pfaden darstellen. Sync-Pakete können vom normalen Datenstrom unterschieden werden und werden, gesteuert durch einen speziellen Prozess 47, durch den Eingangsadapter 46 eingefügt. Synchronisationspakete werden ebenfalls in Segmente 43-0 bis 43-N-1 aufgeteilt, die wiederum von den Paketsegmenten der normalen Datenpakete unterschieden werden können. In 4 ist dies durch schraffierte Paketsegmente dargestellt.
  • Die Synchronisationspakete könnten periodisch oder in regelmäßigen Intervallen zwischen den normalen Datenpaketen durch das System übertragen werden. In bestimmten Fällen kann es jedoch ausreichen, nur ein Synchronisationspaket während der Initialisierung des gesamten Systems oder bei Bedarf Pakete (in unregelmäßigen Intervallen) zu senden.
  • Wenn das Master-Modul 41 ein Segment 43-0 des Synchronisationspakets empfängt, erzeugt es eine spezielle Steuerinformation 44-0, die im Folgenden als abgeleitete Synchronisations-Steuerinformation bezeichnet wird, und überträgt die Steuerinformation auf ähnliche Weise über die Steuerschnittstelle 45-0 an das erste Slave-Modul 42-1, wie dies bei der Übertragung einer normalen (nicht synchronen) abgeleiteten Steuerinformation für ein Datenpaket geschieht. Die abgeleitete Synchronisations-Steuerinformation kann von der normalen abgeleiteten Steuerinformation unterschieden werden und ist in 4 ebenfalls schraffiert dargestellt.
  • Unter Bezug auf 5 und 7 wird nun das Abstimmen der Daten und der abgeleiteten Steuerinformation gemäß einer bevorzugten Ausführungsart innerhalb jedes Slave-Moduls beschrieben.
  • Wenn ein Slave-Modul über seine Eingangs-Steuerschnittstelle 510 eine abgeleitete Steuerinformation empfängt, führt es zwei Aktivitäten aus. Erstens leitet es die Steuerinformation sofort über eine Ausgangs-Steuerschnittstelle 520 an das nächste Slave-Modul in der Kette weiter. zweitens untersucht es die ankommende Steuerinformation mit Hilfe eines Synchronisations-Steuerdetektors 534. Wenn die ankommende abgeleitete Steuerinformation von einem normalen Datenpaket stammt, wird sie in einen ersten FIFO-Puffer 530 geschrieben. Wenn die ankommende abgeleitete Steuerinformation vom Synchronisationstyp ist, löst sie das Laden einer Folgenummer in ein Steuerzeitmarken-Register 533 aus, die von einer Abfolgesteuerung 550 über einen Bus 551 bereitgestellt wird. Bei dieser bevorzugten Ausführungsart wird davon ausgegangen, dass die abgeleitete Synchronisations-Steuerinformation ebenfalls in den ersten FIFO-Puffer 530 geschrieben wird, obwohl dies optional ist.
  • Dieselbe Verarbeitung erfolgt mit ankommenden Paketsegmenten, die über eine Eingangs-Datenschnittstelle 570 empfangen werden. Ein Synchronisationspaketdetektor 544 sortiert die normalen Datensegmente aus den Synchronisationspaketsegmenten heraus. Normale Datenpaketsegmente werden in einen zweiten FIFO-Puffer 540 geschrieben, während Synchronisationspaketsegmente dazu verwendet werden, das Laden der ebenfalls von der Abfolgesteuerung 550 bereitgestellten Folgenummer in das Daten-Zeitmarkenregister 543 zu laden. Wenn zuvor festgelegt wurde, die abgeleitete Synchronisations-Steuerinformation in den ersten FIFO-Puffer 530 zu schreiben, werden die Synchronisations-Paketsegmente auch in den zweiten FIFO-Puffer 540 geschrieben.
  • Die Abfolgesteuerung 550 ist im Grunde ein Zähler, der durch den internen Takt des Slave-Moduls kontinuierlich erhöht wird. Diese Abfolgesteuerung 550 kann veranlasst werden, nach einem durch eine Rücksetzlogik 590 erzeugten Befehl mit dem Zählen wieder bei null zu beginnen. Diese Rücksetzlogik 590 erzeugt einen Rücksetzbefehl, nachdem die Detektoren 544 und 534 das erste Eintreffen entweder eines Synchronisations-Paketsegments oder dessen entsprechender abgeleiteter Synchronisations-Steuerinformation erkannt haben. Der Rücksetzbefehl veranlasst die Abfolgesteuerung 550, mit dem Zählen wieder bei null zu beginnen.
  • Nach dem Übertragen eines Synchronisationspakets wird unter Verwendung eines Steuerprogramms 580 (das normalerweise für alle Master-Module und Slave-Module gleich ist) über den Bus 581 der Inhalt der Daten- und Steuer-Zeitmarkenregister 533 und 543 geprüft. Dieses Steuerprogramm berechnet die Differenz zwischen dem Inhalt der Zeitmarkenregister und initialisiert dementsprechend über entsprechende Busse 582 und 583 einen Schreibzeigerwert 531 und 541. Bei dieser bestimmten Ausführungsart wird davon ausgegangen, dass für die FIFOs 530 und 540 Umlaufschieberegister verwendet werden, jedoch ist klar, dass sich ein Fachmann andere Lösungen zum Realisieren einer programmierbaren digitalen Verzögerung vorstellen kann. Unter umlaufendem Betrieb der FIFO-Puffer 530, 540 ist zu verstehen, dass nach ihrer Aktivierung über die entsprechenden Busse 582 und 583 sowohl der Lesezeiger als auch der Schreibzeiger (gesteuert durch den internen Takt) gleichzeitig erhöht werden und der Abstand zwischen dem Schreibzeiger und dem Lesezeiger konstant bleibt (dies gilt für normale Betriebsbedingungen, also bei kontinuierlichen Zustrom von ankommenden Datenpaketen, leeren und/oder Synchronisationspaketen, und solange nach dem Empfang eines Synchronisationspakets durch die Schaltung in 5 keine lokale Änderung der Laufzeiten im Datenpfad und im Steuerpfad erkannt werden).
  • Das Setzen des Lesezeigers und des Schreibzeigers wird wie folgt durchgeführt. Die Lesezeiger 532 und 542 werden immer auf null gesetzt. Das Setzen der Schreibzeiger 531 und 541 erfolgt ausgehend von den Zahlen, die dem Datenregister und dem Steuer-Zeitmarkenregister 533 bzw. 543 entnommen werden. Wenn das Steuerprogramm 580 feststellt, dass das Datensegment vor seiner zugehörigen abgeleiteten Steuerinformation empfangen wird (d. h. ({533} > {543}), wird eine Verzögerung in den ankommenden Datenpfad eingefügt, indem der Daten-Schreibzeiger 541 mit einem der erforderlichen Verzögerung gleichen Wert initialisiert. Da der Steuerpfad nicht verzögert werden muss, kann der Steuer-Schreibzeiger 531 mit demselben Wert wie der Schreibzeiger initialisiert werden, d. h. mit dem Wert null.
  • Wenn das Steuerprogramm hingegen feststellt, dass der Steuerpfad schneller als der Datenpfad ist (d. h. {533} < {543}), wird eine Verzögerung in den Steuerpfad eingefügt, indem der Steuer-Schreibzeiger 531 mit der erforderlichen Verzögerung initialisiert und der Daten-Schreibzeiger 541 auf null gesetzt wird. Die erforderliche Verzögerung ist gleich (dem Absolutwert) der Differenz zwischen den Inhalten der Zeitmarkenregister 533 und 543.
  • Im normalen Betriebsmodus kann der Inhalt des Datenregisters und des Steuer-Zeitmarkenregisters 533 bzw. 543 auch durch das Steuerprogramm 580 oder ein beliebiges anderes im Slave-Modul installiertes Hardwaremittel geprüft werden, um zu überprüfen, ob der Abstand zwischen den beiden Registerwerten gleich bleibt und das System somit synchron bleibt. Eine andere Möglichkeit zur Prüfung, ob das System synchron bleibt, kann direkt innerhalb einer Eingangsanschlusssteuerung 560 durchgeführt werden, wenn sowohl die Segmente des Synchronisationspakets als auch die abgeleitete Synchronisations-Steuerinformation in die FIFO-Puffer 540 bzw. 530 geschrieben werden. In diesem Fall sollte jedes aus dem zweiten FIFO-Puffer 540 gelesene Segment des Synchronisationspakets mit einer anderen aus dem ersten FIFO-Puffer 530 ausgelesenen abgeleiteten Synchronisations-Steuerinformation übereinstimmen, da das System ansonsten nicht synchron wäre.
  • Es muss darauf hingewiesen werden, dass die bevorzugte Ausführungsart in der Lage ist, sowohl den Datenfluss als auch den Steuerdatenfluss zu verzögern, obwohl bei den meisten realen Anwendungen zu erwarten ist, dass der Steuerpfad am langsamsten ist. Der Mechanismus zum Ausgleichen der Verzögerung des Steuerdatenflusses und die entsprechende Schaltlogik werden nicht benötigt, wenn das (als Maximum der Datenverzögerungen zwischen allen Paketsegmenten eines bestimmten Pakets definierte) Laufzeitfenster Dskw des Datenpfades konstruktiv bedingt immer kleiner als die Latenzzeit jedes Steuerpfades zwischen zwei aufeinanderfolgenden Slave-Modulen ist: Dskw < δ0, und Dskw < δ1, und ..., und Dskw < δN-2
  • Wie oben erwähnt, können Synchronisationspakete entweder periodisch oder in gleichmäßigen Intervallen (was normalerweise der Fall sein dürfte) gesendet werden, oder es können zu Beginn nur ein Synchronisationspaket oder jedes Mal bei Bedarf Synchronisationspakete gesendet werden.
  • Gemäß 2 wird das Übertragungsintervall zwischen den Synchronisationspaketen vom Eingangsadapter bestimmt und muss mindestens so lang sein wie die größtmögliche Latenzzeit im Steuerdatenpfad, zuzüglich der maximalen Größe des Laufzeitfensters für den Datenpfad: ((maxδ0 + maxδ1 + ... + maxδN-2) + Dskw)
  • Alle zur Berechnung des kleinstmöglichen Übertragungsintervalls zwischen zwei Synchronisationspaketen verwendeten Zahlen können einfach gewonnen werden, da sie den konstruktiv bedingten absoluten Maximalwerten entsprechen. Andererseits ist das größtmögliche Übertragungsintervall zwischen zwei Synchronisationspaketen nur durch den maximalen Zahlenfolgebereich, der von der Abfolgesteuerung 550 adressiert werden kann, und die Länge der FIFO-Puffer 530, 540 begrenzt.
  • Außerdem ist klar, dass sich die obige Anforderung auf die spezielle Ausführungsart von 5 bezieht und sich der Fachmann eine weitere Ausführungsart vorstellen kann, die eine andere Übertragungsregel für die Synchronisationspakete verwendet.
  • In Bezug auf 4 gibt es verschiedene Verfahren zum Unterscheiden der Segmente der Synchronisationspakete 43-i (0 ≤ i ≤ N-1) und der abgeleiteten Synchronisations-Steuerinformationen 44-j (0 ≤ j ≤ N-2) von den Segmenten der normalen Datenpakete und den normalen abgeleiteten Steuerinformationen. Als bevorzugtes Verfahren kommt hierfür das Codieren der Pakete und insbesondere die Codierung zum Beispiel der K-Zeichen des 8b/10b-Fibre-Channel-/Ethernet-/Infiniband-Codes infrage, um die Segmente der Synchronisationspakete und die abgeleiteten Synchronisations-Steuerinformationen deutlich voneinander zu unterscheiden. Ungeachtet dessen wären auch beliebige andere Verfahren geeignet, welche die Synchronisationspakete und die abgeleiteten Synchronisations-Steuerinformationen deutlich von anderen Paketen unterscheiden können.
  • Unter Bezug auf 6 wird nun der Ausgangsbereich eines verteilten Datenübertragungssystem mit zentraler Steuerung für zwei verschiedene Fälle beschrieben. 6a zeigt den Fall eines Datenübertragungssystems 600 in einem einstufigen System oder die letzte Stufe einer Gruppe gleicher Datenübertragungssysteme, während 6b einen Fall zeigt, bei dem das Datenübertragungssystem 600 nur eine Stufe einer mehrstufigen Anordnung darstellt, auf die als nächste Stufe in der Anordnung ein anderes System 660b folgt. Ähnlich wie bei der Eingangsseite des Datenübertragungssystems 600 werden die das System verlassenden Pakete ebenfalls in N identische Segmente aufgeteilt und über N verschiedene Leitungen oder Verbindungen 640-0, 640-1, ..., 640-N-1 gesendet, die jeweils mit einer Datenrate von R/N arbeiten. Das erste Segment, das die Kopfdaten (und möglicherweise auch noch Nutzdaten) enthält, wird durch das Master-Modul 601 übertragen, während die N-1 anderen Segmente, die nur Nutzdaten enthalten, durch die Slave-Module 602-1 bis 602-N-1 übertragen werden. Der Ausgangsbereich des Datenübertragungssystems 600 ist entweder mit einem Ausgangsadapter 660a, der die abgehenden Datensegmente wieder zu einem einzigen Paket zusammensetzt (6a), oder bei einer mehrstufigen Anordnung (6b) mit dem Eingangsbereich des anderen Datenübertragungssystems 660b verbunden.
  • Da auch verschiedene abgehende Datensegmente über die Leitungen 640-0 bis 640-N-1 (sowie über den Steuerpfad 663-0 bis 663-N-1 der nächsten Stufe in 6b) von unterschiedlichen Laufzeiten betroffen sind, wird ähnlich wie auf der Eingangsseite des Datenübertragungssystems auch ein Synchronisationsprozess zwischen der Ausgangsseite des Datenübertragungssystems 600 und dem nächsten damit verbundenen Block, d. h. dem Ausgangsadapter 660a und dem Datenübertragungssystem 660b in der nächsten Stufe, verwendet. Das bedeutet, dass das Datenübertragungssystem 600 über die Leitungen 640-0 bis 640-N-1 spezielle Segmente 650-0, 650-1, 650-N-1 des Synchronisationspakets erzeugt und einfügt, die insgesamt ein Synchronisationspaket darstellen, um die Laufzeitdifferenzen für die nächste Stufe lokal zu messen und entsprechend auszugleichen.
  • Wenn die nächste Stufe aus einem Datenübertragungssystem der Master-Slave-Klasse besteht (6b), werden die von der Ausgangsseite des Datenübertragungssystems 600 erzeugten Segmente 650-0 bis 650-N-1 des Synchronisationspakets von der Eingangsseite der nächsten Stufe 660b verwendet, um in der oben beschriebenen Weise die lokale Synchronisation der Daten und der abgeleiteten Steuerinformation zu erreichen. Wenn die nächste Stufe aus einem Ausgangsadapter besteht (6a), werden die von der Ausgangsseite des Datenübertragungssystems 600 erzeugten Segmente 650-0 bis 650-N-1 des Synchronisationspakets verwendet, um die relativen Ankunftszeiten zwischen den mehreren Segmenten des Synchronisationspakets zu messen und diese wieder zu einem einzigen Paket zusammenzusetzen, das weiterverarbeitet und/oder weitergeleitet werden kann. In beiden Fällen (6a und 6b) verhält sich die Ausgangsseite des Datenübertragungssystems 600 wie ein Eingangsadapter der folgenden angeschlossenen Stufe.
  • Es gibt mehrere Verfahren, mit denen der Zeitpunkt zum Einfügen der auf der Ausgangsseite erzeugten Segmente des Synchronisationspakets definiert werden kann. Ein bevorzugtes Verfahren besteht darin, den Zeitpunkt zum Einfügen von den Segmenten 610-0 bis 610-N-1 des ankommenden Synchronisationspakets abzuleiten, während bei einem anderen Verfahren der Zeitpunkt zum Einfügen direkt von einem speziellen Ausgangsprozess 604 abgeleitet wird. Die erste Variante wird wahrscheinlich von einem System ohne Puffer verwendet, bei dem die ankommenden Pakete ohne Speicherung sofort zu einem Ausgangsanschluss weitergeleitet werden. In diesem bestimmten Fall kann auf der Ausgangsseite ein Segment des Synchronisationspakets immer dann erzeugt werden, wenn in der Eingangsanschlusssteuerung 560 (5) eine Übereinstimmung zwischen einem Segment des Synchronisationspakets und einer abgeleiteten Synchronisations-Steuerinformation festgestellt wird. Wenn das Datenübertragungssystem 600 hingegen gepuffert ist, sind die Prozesse auf der Eingangs- und Ausgangsseite höchstwahrscheinlich voneinander entkoppelt. In diesem bestimmten Fall können die Segmente des Synchronisationspakets durch das Datenübertragungssystem selbst regeneriert werden, wenn es auf der Ausgangsseite einen speziellen Synchronisationsprozess 604 hierfür ausführt. Wenn dieser Prozess das Einfügen eines Synchronisationspakets auslöst, wird vom Master-Modul 601 ein Segment 650-0 des Synchronisationspakets erzeugt und über die Leitung 640-0 übertragen. Gleichzeitig wird auch eine abgeleitete Synchronisations-Steuerinformation, die als abgeleitete ausgangsseitige Synchronisations-Steuerinformation bezeichnet wird, an alle Slave-Module 602-1 bis 602-N-1 über die Steuerschnittstelle 603-0 bis 603-N-2 übertragen. Innerhalb jedes Slave-Moduls 602 wird dann die abgeleitete ausgangsseitige Synchronisations-Steuerinformation lokal zum Regenerieren eines über die Leitungen 640-0 bis 640-N-1 zu übertragenden Segments des Synchronisationspakets verwendet. Ein anderer Fall, bei dem die Entkopplung zwischen Eingang und Ausgang angezeigt ist, liegt vor, wenn sich die Verzögerungen im Ausgangssteuerpfad von den Verzögerungen im Eingangssteuerpfad unterscheiden.
  • Es wird darauf hingewiesen, dass die 2, 4 und 6 einen einzigen Steuerpfad vom Master-Modul zu den Slave-Modulen zeigen. Das schließt keineswegs die Möglichkeit aus, dass es mehrere voneinander verschiedene Steuerpfade gibt. Ein Beispiel hierfür zeigt 11, wo Eingangs- und Ausgangssteuerpfad voneinander getrennt sind.
  • Jede beschriebene Ausführungsart kann mit einer oder mehreren gezeigten und/oder beschriebenen Ausführungsarten kombiniert werden. Dies gilt auch für ein oder mehrere Merkmale der Ausführungsarten.

Claims (10)

  1. Datenübertragungssystem zum Verarbeiten von Datenpaketen, die jeweils Kopfdaten mit Steuerinformationen und Nutzdaten beinhalten, wobei das System Folgendes umfasst: einen Eingangsanschluss zum Empfangen der Datenpakete, in welchem jedes Datenpaket in Segmente aufgeteilt wird; ein Master-Modul und ein oder mehrere Slave-Module zum parallelen Verarbeiten der Segmente, wobei das Master-Modul so beschaffen ist, dass es die Kopfdaten jedes Pakets über einen Datenpfad empfängt, und wobei das eine oder die mehreren Slave-Module so beschaffen sind, dass sie Datensegmente über einen Datenpfad empfangen, wobei abgeleitete Steuerinformationen vom Master-Modul über einen Steuerpfad an das eine oder die mehreren Slave-Module übertragen werden können; wobei das System dadurch gekennzeichnet ist, dass im System (a) Synchronisationsmittel (46, 47, 510, 520, 570) zum Senden von ebenfalls in Segmente aufgeteilten Synchronisationspaketen vom Eingangsanschluss über dieselben Pfade wie die Datenpakete durch das System und zum Weiterleiten der aus den Kopfdaten der Synchronisationspakete abgeleiteten Synchronisationssteuerinformation über dieselben Pfade wie die aus den Kopfdaten der Datenpakete abgeleitete Steuerinformation durch das System bereitgestellt werden; (b) jedes des einen oder der mehreren Slave-Module Zeitverschiebungsinformationsmittel (533, 534, 543, 544) zum Gewinnen von Zeitverschiebungsinformationen umfasst, welche die Laufzeitdifferenz zwischen dem Datenpfad und dem Steuerpfad darstellen, wenn ein Segment des Synchronisationspakets und seine entsprechende Synchronisationssteuerinformation empfangen werden; und (c) jedes der einen oder mehreren Slave-Module Verzögerungsmittel (530, 531, 532, 540, 541, 542, 581, 582, 583) zum Verzögern eines Datensegments oder aber einer abgeleiteten Steuerinformation als Reaktion auf die durch das Zeitverschiebungsinformationsmittel (533, 534, 543, 544) gewonnene Zeitverschiebungsinformation umfasst.
  2. Datenübertragungssystem nach Anspruch 1, dadurch gekennzeichnet, dass jedes der einen oder mehreren Slave-Module in Verbindung mit dem ersten Mittel zum Gewinnen der Zeitverschiebungsinformation eine Ablaufsteuerung (550) in Form eines Zählers umfasst, dessen Inhalt als Reaktion auf lokale Taktimpulse des entsprechenden Slave-Einheit erhöht wird.
  3. Datenübertragungssystem nach Anspruch 2, dadurch gekennzeichnet, dass jedes der einen oder mehreren Slave-Module im ersten Mittel zum Gewinnen der Zeitverschiebungsinformation (a) ein Steuer-Zeitmarkenregister (533) zum Speichern des Inhalts der Ablaufsteuerung (550), wenn über den Steuerpfad eine von einem Synchronisationspaket abgeleitete Synchronisationsinformation empfangen wird, und (b) ein Daten-Zeitmarkenregister (543) zum Speichern des Inhalts der Ablaufsteuerung, wenn über den Datenpfad ein Segment des Synchronisationspakets empfangen wird, umfasst.
  4. Datenübertragungssystem nach Anspruch 3, dadurch gekennzeichnet, dass ein internes oder externes Steuermittel (580) zum Bewerten des Inhalts der Zeitmarkenregister in einem der einen oder mehreren Slave-Module und zum Ermitteln der die Zeitverschiebung darstellenden Differenz bereitgestellt wird und dass jedes der einen oder mehreren Slave-Module in dem zweiten Mittel (a) separate Verzögerungsmittel (540, 530) zum Verzögern von Segmenten des Datenpakets und zum Verzögern der abgeleiteten Steuerinformationen, und (b) Aktivierungsmittel (541, 542, 531, 532) zum selektiven Aktivieren einer Verzögerung in einem dieser Verzögerungsmittel (540, 530) als Reaktion auf das Steuermittel (580) umfasst.
  5. Datenübertragungssystem nach Anspruch 4, dadurch gekennzeichnet, dass in jedem Slave-Modul (a) die Verzögerungsmittel durch Schreib- und Lesezeiger gesteuerte Umlaufschieberegister (540, 530) umfassen, und (b) die Aktivierungsmittel Schreibzeigerregister (541, 531) und Lesezeigerregister (542, 532) sowie Setzmittel (583, 582) zum Setzen des Inhalts eines der Schreibzeigerregister (541, 531) auf einen Verzögerungswert, der die Differenz zwischen den Inhalten der beiden Zeitmarkenregister darstellt, und zum Setzen des Inhalts des jeweils anderen Schreibzeigerregisters und der beiden Lesezeigerregister (542, 532) auf null beinhalten.
  6. Datenübertragungssystem nach Anspruch 2, dadurch gekennzeichnet, dass jedes der einen oder mehreren Slave-Module ein Mittel (590) zum Zurücksetzen der Ablaufsteuerung (550) als Reaktion auf den Empfang eines Segments des Synchronisationspakets oder der entsprechenden abgeleiteten Synchronisationssteuerinformation, je nachdem, welche zuerst ankommt, umfasst.
  7. Datenübertragungssystem nach Anspruch 1, das zusätzlich mindestens einen Ausgangsanschluss (660a) zum Neuzusammenstellen der Segmente zur Bildung von Datenpaketen umfasst, dadurch gekennzeichnet, dass zum Kompensieren von Differenzen der Laufzeit in den Pfaden zwischen dem Master-Modul und den Slave-Modulen des Datenübertragungssystem einerseits und dem Ausgangsanschluss andererseits ein zusätzliches Mittel bereitgestellt wird.
  8. Datenübertragungssystem nach Anspruch 1, das mindestens zwei verteilte Datenübertragungssysteme (600, 660b) umfasst, dadurch gekennzeichnet, dass zum Kompensieren von Laufzeitdifferenzen in den Datenpfaden zwischen den Ausgangsleitungen (640-i) der Module eines verteilten Datenübertragungssystems (600) und den Eingangsleitungen der Module des nachfolgenden verteilten Datenübertragungssystems (660b) sowie dem Steuerpfad (663-i) ein zusätzliches Mittel bereitgestellt wird.
  9. Verfahren zur lokalen Synchronisation in einem Master-Slave-Datenübertragungssystem zur Verarbeitung von Datenpaketen, die jeweils Kopfdaten mit einer Steuerinformation und Nutzdaten umfassen und durch mindestens einen Eingangsanschluss empfangen werden können, wobei in dem System im Eingangsanschluss jedes Datenpaket in Segmente aufgeteilt wird, um die Segmente parallel zu verarbeiten; wobei das System ein Master-Modul und ein oder mehrere Slave-Module zur parallelen Verarbeitung der Segmente umfasst; wobei das Master-Modul die Kopfdaten mit Steuerinformationen jedes Pakets empfängt und das eine oder die mehreren Slave-Module Datensegmente über einen Datenpfad empfangen; und wobei abgeleitete Steuerinformationen vom Master-Modul an das eine oder die mehreren Slave-Module über einen Steuerpfad weitergeleitet werden; wobei das Verfahren durch das Folgende und dadurch gekennzeichnet ist, dass es die folgenden Schritte umfasst: (a) Senden eines ebenfalls in Segmente aufgeteilten Synchronisationspakets vom Eingangsanschluss über dieselben Pfade wie die Datenpakete durch das System und Weiterleiten einer von den Kopfdaten des Synchronisationspakets abgeleiteten Synchronisationssteuerinformation über dieselben Pfade wie die von den Kopfdaten der Datenpakete abgeleitete Steuerinformation durch das System; (b) Gewinnen einer Zeitverschiebungsinformation, welche die Laufzeitdifferenzen zwischen dem Datenpfad und dem Steuerpfad darstellt, in dem einen oder den mehreren Slave-Module, wenn ein Segment des Synchronisationspakets und dessen entsprechende Synchronisationssteuerinformation empfangen werden; und (c) Kompensieren der durch die in Schritt (b) gewonnene Zeitverschiebungsinformation dargestellten Laufzeitdifferenzen in dem einen oder den mehreren Slave-Module für jedes empfangene Paketsegment durch Verzögern des Paketsegments selbst oder aber der abgeleiteten Steuerinformation.
  10. verfahren nach Anspruch 9, bei dem Synchronisationspakete in regelmäßigen Intervallen zwischen normalen Datenpaketen vom Eingangsanschluss durch das System übertragen werden.
DE60317890T 2002-04-30 2003-03-31 Verfahren und anordnung zur lokalen synchronisation in verteilten master-slave-kommunikationssystemen Expired - Lifetime DE60317890T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP02009738 2002-04-30
EP02009738 2002-04-30
PCT/IB2003/001227 WO2003094446A1 (en) 2002-04-30 2003-03-31 Method and arrangement for local synchronization in master-slave distributed communication systems

Publications (2)

Publication Number Publication Date
DE60317890D1 DE60317890D1 (de) 2008-01-17
DE60317890T2 true DE60317890T2 (de) 2008-11-27

Family

ID=29286105

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60317890T Expired - Lifetime DE60317890T2 (de) 2002-04-30 2003-03-31 Verfahren und anordnung zur lokalen synchronisation in verteilten master-slave-kommunikationssystemen

Country Status (7)

Country Link
US (2) US7720105B2 (de)
EP (1) EP1500239B1 (de)
JP (1) JP3989932B2 (de)
CN (1) CN1297116C (de)
AU (1) AU2003215841A1 (de)
DE (1) DE60317890T2 (de)
WO (1) WO2003094446A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE112012006762B4 (de) 2012-08-01 2022-12-08 Mitsubishi Electric Corporation Kommunikationsvorrichtung, Kommunikationssystem und synchrones Steuerverfahren

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040208199A1 (en) * 2003-04-16 2004-10-21 Bo Li Data encoding for simultaneous bus access
DE10331873B4 (de) * 2003-07-14 2022-09-01 Robert Bosch Gmbh Verfahren zur Überwachung verteilter Software
US7570654B2 (en) * 2003-12-22 2009-08-04 Intel Corporation Switching device utilizing requests indicating cumulative amount of data
US7623524B2 (en) * 2003-12-22 2009-11-24 Intel Corporation Scheduling system utilizing pointer perturbation mechanism to improve efficiency
US20050207436A1 (en) * 2004-03-18 2005-09-22 Anujan Varma Switching device based on aggregation of packets
DE602005026482D1 (de) * 2004-06-14 2011-04-07 Broadcom Corp Kompensation und Messung der Differentiellen Verzögerung in gebundenen Systemen
US7792158B1 (en) 2004-08-18 2010-09-07 Atheros Communications, Inc. Media streaming synchronization
US8149880B1 (en) 2004-08-18 2012-04-03 Qualcomm Atheros, Inc. Media streaming synchronization
CN100377519C (zh) * 2005-06-17 2008-03-26 凯明信息科技股份有限公司 码分多址移动通信系统中用于初始同步的相关方法
US20070091928A1 (en) * 2005-10-21 2007-04-26 Wee Susie J Serial and parallel processing of data using information about the data and information about a streaming network
KR100735230B1 (ko) * 2006-05-02 2007-07-03 삼성전자주식회사 분산 제어 시스템에서의 타임 동기화 방법
CA2661379C (en) * 2006-08-22 2014-10-14 Brilliant Telecommunications, Inc. Apparatus and method of controlled delay packet forwarding
US20080159145A1 (en) * 2006-12-29 2008-07-03 Raman Muthukrishnan Weighted bandwidth switching device
US20090063693A1 (en) 2007-08-30 2009-03-05 International Business Machines Corporation System and method for active transcoding of content in a distributed system
EP2297886B1 (de) * 2008-06-02 2013-02-20 TTTech Computertechnik AG Verfahren zum synchronisieren von lokalen zeitgebern in einem verteilten computernetzwerk
US8315278B2 (en) * 2008-12-23 2012-11-20 Nokia Corporation Network synchronization method
EP2424136B1 (de) * 2010-08-24 2013-10-02 Siemens Aktiengesellschaft System und Verfahren zur Zeitsynchronisierung in einem Kommunikationsnetzwerk
BR112013011363A2 (pt) * 2011-01-11 2017-03-01 Siemens Entpr Communications Gmbh & Co Kg método para a sincronização de clock de uma pluralidade de módulos
CN104067581B (zh) * 2012-01-19 2017-01-11 三菱电机株式会社 多网关装置、复用线路通信系统以及复用线路通信方法
JP5970958B2 (ja) * 2012-05-22 2016-08-17 富士通株式会社 情報処理装置、遅延差測定方法、及び遅延差測定プログラム
CN104283906B (zh) * 2013-07-02 2018-06-19 华为技术有限公司 分布式存储系统、集群节点及其区间管理方法
EP2866398B1 (de) * 2013-10-28 2017-03-01 Alcatel Lucent Datenübertragungssystem mit verbesserter Ausfallsicherheit
CN104660395B (zh) * 2013-11-25 2019-03-01 北京壹人壹本信息科技有限公司 一种数据同步方法、系统和设备
KR102165231B1 (ko) * 2013-12-30 2020-10-14 에스케이하이닉스 주식회사 스큐를 보정하는 리시버 회로, 이를 포함하는 반도체 장치 및 시스템
JP6514001B2 (ja) * 2015-03-31 2019-05-15 株式会社メガチップス 受信装置
CN104901905B (zh) * 2015-04-27 2018-07-03 国家电网公司 一种智能变电站专用网络交换机及其数据交换方法
CN105072047B (zh) * 2015-09-22 2018-12-07 浪潮(北京)电子信息产业有限公司 一种报文传输及处理方法
US10095263B1 (en) * 2015-12-15 2018-10-09 Marvell International Ltd. Apparatus and method for calibrating signal synchronization
US10372647B2 (en) * 2015-12-22 2019-08-06 Intel Corporation Exascale fabric time synchronization
CN106936641B (zh) * 2017-03-27 2019-10-29 迈普通信技术股份有限公司 表项管理方法和系统
CN107257310B (zh) * 2017-07-05 2020-04-24 北京东土科技股份有限公司 基于工业互联网现场层宽带总线架构的实现系统
US11307773B1 (en) * 2018-05-02 2022-04-19 Innovium, Inc. Memory-based power stabilization in a network device
CN109286462B (zh) * 2018-09-12 2019-11-08 中国科学院自动化研究所 基于动态延时补偿的重采样方法、装置和系统
CN111385049B (zh) * 2018-12-29 2022-09-27 中兴通讯股份有限公司 一种时间校正方法、装置、系统及存储介质
CN111459069B (zh) * 2020-04-14 2021-06-01 山东高云半导体科技有限公司 第一控制模块、第二控制模块、数据传输系统及控制方法
CN112887398B (zh) * 2020-04-28 2024-05-24 广州织网通讯科技有限公司 采用通信联网平台的指定范围信号控制系统
CN113703874B (zh) * 2021-09-06 2023-09-05 深信服科技股份有限公司 一种数据流处理方法、装置、设备及可读存储介质
CN113806188B (zh) * 2021-11-18 2022-02-22 苏州浪潮智能科技有限公司 一种数据同步告警的方法、装置、设备及可读介质
CN114338361B (zh) * 2022-03-15 2022-06-07 浙江中控技术股份有限公司 通讯装置的通讯方法、通讯装置及分布式控制系统

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01231543A (ja) 1988-03-11 1989-09-14 Nec Corp 交換方式
JPH0467824A (ja) 1990-07-06 1992-03-03 Matsushita Electric Ind Co Ltd 自動炊飯装置
JP2993715B2 (ja) 1990-08-17 1999-12-27 株式会社日立製作所 Atmスイッチおよびその制御方法
JP2902215B2 (ja) 1992-06-24 1999-06-07 株式会社日立製作所 Atmセルの多重方法および装置
JP3069207B2 (ja) 1992-12-15 2000-07-24 株式会社日立製作所 光atm通話路
EP0603424A1 (de) 1992-12-21 1994-06-29 Siemens Aktiengesellschaft Verfahren und Schaltungsanordnung zum Übertragen von Nachrichtenzellen über eine ATM-Kommunikationseinrichtung
US5321691A (en) 1993-01-11 1994-06-14 At&T Bell Laboratories Asynchronous transfer mode (ATM) switch fabric
US5412646A (en) * 1994-05-13 1995-05-02 At&T Corp. Asynchronous transfer mode switch architecture
JP3404136B2 (ja) 1994-07-22 2003-05-06 パナソニック コミュニケーションズ株式会社 段ボールパッキン製作治具及び製作方法
US6775375B1 (en) * 1995-05-16 2004-08-10 At&T Corp. Service and information management system for determining, replicating or correcting failed calls in a telecommunications network
US5905725A (en) * 1996-12-16 1999-05-18 Juniper Networks High speed switching device
JP3563221B2 (ja) 1997-01-13 2004-09-08 株式会社日立コミュニケーションテクノロジー セル復元検査機能を持つセル分割形atmスイッチ
US20020095613A1 (en) * 1997-07-25 2002-07-18 Shinya Matsuoka Synchronizing motion and time-based data for transfer between a server and a client
JPH11252086A (ja) 1998-02-27 1999-09-17 Hitachi Ltd セル分割形atmスイッチ
JP2000151628A (ja) 1998-11-09 2000-05-30 Hitachi Ltd Atmスイッチ
US6434146B1 (en) * 1998-12-04 2002-08-13 Koninklijke Philips Electronics N.V. Use of sequencing information in a local header that allows proper synchronization of packets to subsidiary interfaces within the post-processing environment of an mpeg-2 packet demultiplexing architecture
US6631422B1 (en) * 1999-08-26 2003-10-07 International Business Machines Corporation Network adapter utilizing a hashing function for distributing packets to multiple processors for parallel processing
US6715125B1 (en) * 1999-10-18 2004-03-30 Agere Systems Inc. Source coding and transmission with time diversity
US6940807B1 (en) * 1999-10-26 2005-09-06 Velocity Communication, Inc. Method and apparatus for a X-DSL communication processor
AU2108501A (en) * 1999-12-14 2001-06-25 General Instrument Corporation Mpeg re-multiplexer having multiple inputs and multiple outputs
US6697382B1 (en) * 2000-03-07 2004-02-24 Cisco Technology Inc. Distributing and synchronizing a representation of time between components of a packet switching system
JP2001358766A (ja) * 2000-06-14 2001-12-26 Mitsubishi Electric Corp パケット通信システム、パケット通信方法、およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体
US6976096B1 (en) * 2001-06-02 2005-12-13 Redback Networks Inc. Method and apparatus for controlling the admission of data into a network element
US7336700B2 (en) * 2001-09-20 2008-02-26 Lockheed Martin Corporation System bus transceiver interface
CA2360712A1 (en) * 2001-10-31 2003-04-30 Sicon Video Corporation Method and apparatus for the data-driven synchronous parallel processing of digital data

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE112012006762B4 (de) 2012-08-01 2022-12-08 Mitsubishi Electric Corporation Kommunikationsvorrichtung, Kommunikationssystem und synchrones Steuerverfahren

Also Published As

Publication number Publication date
AU2003215841A1 (en) 2003-11-17
DE60317890D1 (de) 2008-01-17
EP1500239B1 (de) 2007-12-05
US8009702B2 (en) 2011-08-30
US20060251124A1 (en) 2006-11-09
JP3989932B2 (ja) 2007-10-10
CN1643854A (zh) 2005-07-20
JP2005524343A (ja) 2005-08-11
WO2003094446A1 (en) 2003-11-13
US20100220749A1 (en) 2010-09-02
EP1500239A1 (de) 2005-01-26
US7720105B2 (en) 2010-05-18
CN1297116C (zh) 2007-01-24

Similar Documents

Publication Publication Date Title
DE60317890T2 (de) Verfahren und anordnung zur lokalen synchronisation in verteilten master-slave-kommunikationssystemen
DE60313780T2 (de) Multiport serielles hochgeschwindigkeits-vermittlungsquerverbindungschip in einer vermaschten konfiguration
EP0320772B1 (de) Verfahren zur hybriden Paketvermittlung und Einrichtungen hierzu
DE68929523T2 (de) ATM-Vermittlungssystem
DE3752370T2 (de) Vermittlungssystem
DE60314205T2 (de) Arbiter für ein Vermittlungssystem mit Eingangspuffer
DE69034133T2 (de) Kommunikationsgerät
DE60226268T2 (de) Verfahren und vorrichtung zur bereitstellung einer optimierten ausnutzung schneller strecken
DE60033099T2 (de) Hochkapazitäts WDM-TDM Paketvermittlungseinrichtung
DE69833708T2 (de) Kommunikationsverfahren für eine medienunabhängige Schnittstelle (MII) für ein hochintegriertes Ethernet-Netzelement
DE60222656T2 (de) Vorrichtung und verfahren für effizientes multicasting von datenpaketen
DE19757966A1 (de) ATM-Schalter-Warteschlangensystem
DE3344140A1 (de) Nachrichtenuebertragungsanlage mit zwei sammelleitungen
DE19757965A1 (de) Verteiltes Puffersystem für ATM-Schalter
DE3702614A1 (de) Digitales koppelnetz fuer leitungs- und paketvermittlung und koppeleinrichtung hierzu
DE60217685T2 (de) System und verfahren zum vermitteln von daten unter verwendung eines gemeinsamen koppelfeldes
DE69729853T2 (de) Modulare vermittlungsanordnung
EP0351014B1 (de) Koppelfeld für ein Vermittlungssystem
EP0289087B1 (de) Paketvermittlungssystem
DE69837609T2 (de) Kommunikationsnetz
DE69826640T2 (de) Vermittlungsarchitektur mit zwei Koppelfelden
DE60031519T2 (de) Kommunikationsnetzwerk
DE60126470T2 (de) Netzwerkvorrichtung und Verfahren zum Laufzeitausgleich von Datenpaketen
DE60113603T2 (de) Verbesserungen an Vermittlungsanlagen
EP0322075B1 (de) Koppelfeld und Koppelfeldsteuerung für ein Vermittlungssystem

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8320 Willingness to grant licences declared (paragraph 23)