[go: up one dir, main page]

DE60036121T2 - Hochgeschwindigkeitsverbindung für eingebettete Systeme in einem Rechnernetzwerk - Google Patents

Hochgeschwindigkeitsverbindung für eingebettete Systeme in einem Rechnernetzwerk Download PDF

Info

Publication number
DE60036121T2
DE60036121T2 DE60036121T DE60036121T DE60036121T2 DE 60036121 T2 DE60036121 T2 DE 60036121T2 DE 60036121 T DE60036121 T DE 60036121T DE 60036121 T DE60036121 T DE 60036121T DE 60036121 T2 DE60036121 T2 DE 60036121T2
Authority
DE
Germany
Prior art keywords
calculation
result
systems
data packet
voting
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
DE60036121T
Other languages
English (en)
Other versions
DE60036121D1 (de
Inventor
Rainer Birkenmaier
Oliver Graebner
Holger Dr. Kuefner
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.)
Siemens Corp
Original Assignee
Siemens 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 Siemens Corp filed Critical Siemens Corp
Application granted granted Critical
Publication of DE60036121D1 publication Critical patent/DE60036121D1/de
Publication of DE60036121T2 publication Critical patent/DE60036121T2/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
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1867Arrangements specially adapted for the transmitter end
    • H04L1/188Time-out mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/1607Details of the supervisory signal
    • H04L1/1642Formats specially adapted for sequence numbers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1809Selective-repeat protocols

Landscapes

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

Description

  • Die vorliegende Erfindung betrifft einen Prozess zum Übertragen von Daten von einem ersten System zu einem zweiten System innerhalb eines lokalen Rechnernetzwerkes unter Verwendung von Ethernet-Kommunikationstechnik und einen Abstimmungsmechanismus in einem fehlertoleranten System innerhalb eines Rechnernetzwerkes, bei dem ein solcher Prozess zum Übertragen von Daten angewendet wird, wobei
    • – mehrere verschiedene Berechnungssysteme dieselbe Berechnung ausführen und jedes Ergebnis einer Berechnung von jedem Berechnungssystem zu einem Abstimmsystem übertragen wird, um verglichen zu werden,
    • – das besagte Abstimmsystem die verschiedenen Ergebnisse vergleicht und ein Ergebnis des Vergleiches zu den besagten verschiedenen beteiligten Berechnungssystemen rückmeldet, wobei diese Berechnungssysteme keine weiteren Berechnungen beginnen, bis sie das Ergebnis des Abstimmungsprozesses empfangen haben.
  • Im Bereich der lokalen Ethernet-Kommunikation verwenden moderne Rechnernetzwerke, insbesondere bei der Bürokommunikation, hauptsächlich Netzprotokolle, insbesondere TCP/IP, welche nicht für diesen speziellen Typ von Kommunikation optimiert sind, sondern vorwiegend für Weitverkehrsnetze entwickelt wurden.
  • Der dadurch erzeugte zusätzliche Aufwand verlangsamt den Kommunikationsprozess insgesamt. Außerdem müssen spezielle Mechanismen auf der Anwendungsebene modelliert werden, um eine Synchronisation von Kommunikationssystemen zu erreichen. Dies hat im Wesentlichen drei Probleme (a, b, c) zur Folge, welche durch diese Erfindung gelöst werden sollen.
    • a) Effiziente Kommunikation, was im Wesentlichen mit den Reaktionszeiten und der Datendurchsatzrate zusammenhängt, jedoch auch andere Bereiche der erforderlichen Protokollelemente berücksichtigt. In der Vergangenheit wurde eine Verbesserung der Effizienz von Kommunikation hauptsächlich durch Verwendung von schnellerer Hardware erreicht. Eine andere Vorgehensweise besteht darin zu versuchen, die Effizienz durch Reimplementierung von vorhandenen Protokollstapeln oder Teilen von Protokollstapeln zu verbessern. Jedoch besteht in diesem Falle das grundlegende Problem nach wie vor darin, dass das Protokoll selbst nicht für den Zweck optimiert ist.
    • b) Zuverlässige Kommunikation; wenn Daten übertragen werden, kommen sie entweder korrekt an, oder es wird ein entsprechender Fehler signalisiert. In jedem Falle muss daher die Anwendung über den Status der Datenübertragung informiert werden. Eine zuverlässige Kommunikation wird gegenwärtig entweder durch den Protokollstapel gewährleistet, oder sie muss durch die Anwendung selbst implementiert werden.
    • c) Verteilte Synchronisation von Prozessen für Abstimmungsmechanismen in fehlertoleranten Systemen.
  • Verteilte Synchronisation ist bis jetzt nur auf der Anwendungsebene erreicht worden, was Probleme im Hinblick auf die Implementierung und die Leistungsfähigkeit verursacht.
  • Die internationale Anmeldung WO 00/24165 beschreibt ein Verfahren zum Übertragen von Daten von einem ersten zu einem zweiten System innerhalb eines lokalen Netzes unter Anwendung von Ethernet-Technik. Datenpakete werden mittels einer im Ethernet-Protokoll existierenden Adresse und einer laufenden Nummer gekennzeichnet. Empfangene Pakete werden dem sendenden System quittiert, und ein Datenpaket wird bei Timeout (Zeitüberlauf) für eine zu empfangende Quittung erneut übertragen.
  • Eine Aufgabe der vorliegenden Erfindung ist es daher, einen Prozess zum Übertragen von Daten innerhalb eines lokalen Rechnernetzwerkes bereitzustellen, welcher die Effizienz und Zuverlässigkeit der Übertragung verbessert.
  • Die oben genannte Aufgabe wird durch eine Abstimmungsvorrichtung nach Anspruch 1 gelöst.
  • Gemäß einer Ausführungsform der vorliegenden Erfindung wird ein Prozess zum Übertragen von Daten von einem ersten System zu einem zweiten System innerhalb eines lokalen Rechnernetzwerkes unter Verwendung von Ethernet-Kommunikationstechnik bereitgestellt, wobei existierende Protokollstapel innerhalb der lokalen Ethernet-Kommunikation auf eine solche Weise umkonstruiert werden, dass Funktionen, welche die Verwendung in Weitverkehrsnetzen betreffen, insbesondere Routing-Fähigkeit und/oder komplexe Namensdienste wie etwa DNS für TCP/IP und/oder mehrfache Prüfsummen, dadurch beseitigt werden, dass
    • – Datenpakete durch eine eindeutige Kennnummer gekennzeichnet werden, die aus einer im Ethernet-Protokoll existierenden Adresse, insbesondere einer Medienzugriffssteuerungs-(Medium Access Control) Adresse, und aus einer laufenden Nummer aufgebaut ist, wobei
    • – empfangene Pakete dem sendenden System durch Quittungs-Kennungen quittiert werden, wobei
    • – ein Datenpaket bei Timeout (Zeitüberlauf) für eine zu empfangende Quittungs-Kennung von dem sendenden System erneut gesendet wird.
  • Gemäß der vorliegenden Erfindung können diese Funktionen effizienter und einfacher verwendet werden, wenn sie wie beschrieben in dem Protokollstapel selbst implementiert sind.
  • Bei einer ersten vorteilhaften Ausführungsform des Prozesses zum Übertragen von Daten gemäß der vorliegenden Erfindung hat es sich als besonders vorteilhaft erwiesen, wenn eindeutige Kennnummern erzeugt werden, indem die Kennnummer eines aktuellen Paketes erhöht wird, um eine eindeutige Kennnummer für das jeweils nachfolgende Paket zu erhalten.
  • Bei einer anderen vorteilhaften Ausführungsform des Prozesses zum Übertragen von Daten gemäß der vorliegenden Erfindung macht das besagte sendende System eines Datenpaketes Speicher für dieses Datenpaket innerhalb eines Datenpuffers erst frei, nachdem es die entsprechende Quittungs-Kennung gültig empfangen hat.
  • Unter diesen Bedingungen hat es sich als besonders vorteilhaft erwiesen, wenn das besagte empfangende System eines Datenpaketes eine Kennnummer eines Datenpaketes nur vergisst, falls die Kennnummer kleiner ist als diejenige der letzten quittierten Quittungs-Kennung, die von einem sendenden System geliefert wurde.
  • Ferner hat es sich als besonders vorteilhaft erwiesen, wenn ein Timeout (Zeitüberlauf) für eine zu empfangende Quittungs-Kennung berechnet wird mittels einer
    • – Zeit, zu der ein Datenpaket gesendet wird, einer
    • – Empfangszeit des sendenden Systems und einer
    • – maximalen Verarbeitungszeit des sendenden Systems, um einen Zeitplan zu erhalten und um mit dem Senden eines Datenpakets zu beginnen.
  • Vorzugsweise wird die Empfangszeit berechnet aus
    • – dem Zweifachen einer maximalen Ethernet-Laufzeit für ein Datenpaket,
    • – addiert zu einer maximalen Verarbeitungszeit in dem empfangenden System.
  • Bei einer anderen vorteilhaften Ausführungsform des Prozesses zum Übertragen von Daten gemäß der vorliegenden Erfindung wird ein Übertragungsfehler von einem sendenden System anhand einer Anzahl von Übertragungswiederholungen eines Datenpaketes erkannt, die eine vorgegebene Anzahl von Versuchen überschreitet.
  • Als Alternative hierzu wird ein Übertragungsfehler von einem empfangenden System anhand eines Timeouts erkannt, wenn eine Kennnummer länger als eine vorgegebene Zeit aufbewahrt werden muss.
  • Die Vorteile, die mit der vorliegenden Erfindung erzielt werden, sind besonders wertvoll, wenn jedes System innerhalb des lokalen Rechnernetzwerkes ein eingebettetes System ist.
  • Um die besagten Quittungs-Kennungen effizient zu handhaben, werden sie als Teil eines Datenpaketes übertragen.
  • Unter diesen Bedingungen hat es sich als besonders vorteilhaft erwiesen, wenn ein Datenpaket, das von einem sendenden System gesendet wird, auch die letzte quittierte Quittungs-Kennung umfasst.
  • Eine weitere Aufgabe der Erfindung ist, einen Abstimmungsmechanismus in einem fehlertoleranten System innerhalb eines Rechnernetzwerkes zu implementieren, bei dem der oben genannte Prozess zum Übertragen von Daten auf eine einfache und effiziente Weise angewendet wird.
  • Bei einer vorteilhaften Ausführungsform des Abstimmungsmechanismus gemäß der vorliegenden Erfindung wird ein Ergebnis einer Berechnung von einem Berechnungssystem, welches ein anforderndes System innerhalb des Netzwerkes ist, zu dem besagten Abstimmsystem unter Verwendung eines einzigen Systemaufrufes übertragen, welcher nicht zurückgesendet wird, bis die Abstimmung im Hintergrund abgeschlossen worden ist und ein Ergebnis vorliegt und an das besagte Berechnungssystem rückgemeldet wird.
  • Durch dieses Merkmal wird erreicht, dass die Abwicklung eines Abstimmungsprozesses stark vereinfacht wird. Ein einziger Ruf ist ausreichend, und der Prozess des Abstimmens läuft im Hintergrund ab und ist für die Anwendung transparent.
  • Bei bekannten Abstimmungsmechanismen ist ein noch wesentlicherer Faktor die Tatsache, dass diese Prozedur gewöhnlich die Anwendung zwingt, aktiv zu warten.
  • Um dieses Problem zu vermeiden wird bei einer anderen vorteilhaften Ausführungsform des Abstimmungsmechanismus gemäß der vorliegenden Erfindung ein Prozess, welcher den besagten Systemaufruf ausgegeben hat, in eine Nicht-Bereit-Warteschlange innerhalb des besagten Berechnungssystems eingereiht, bis der Systemaufruf zurückkommt, wodurch vermieden wird, dass das besagte Berechnungssystem aktiv auf das Ergebnis des Abstimmungsprozesses warten muss.
  • Es hat sich erwiesen, dass es besonders vorteilhaft ist, wenn sichergestellt ist, dass alle verschiedenen beteiligten Berechnungssysteme das Ergebnis derselben Berechnung zu dem Abstimmsystem senden. Um einen "Single Point of Failure" (Punkt, dessen Ausfall den Ausfall des Gesamtsystems verursachen kann) zu vermeiden, ist das besagte Abstimmsystem, das die verschiedenen Ergebnisse vergleicht und ein Ergebnis des Vergleichs zurück an die besagten verschiedenen beteiligten Berechnungssysteme meldet, innerhalb des Rechnernetzwerkes verteilt.
  • Weitere Vorteile und Einzelheiten der vorliegenden Erfindung sind in den Erläuterungen zu den folgenden bevorzugten Ausführungsformen und in Verbindung mit den Zeichnungen beschrieben. In den Zeichnungen sind ähnliche Elemente mit derselben Funktion mit denselben Bezugszeichen bezeichnet, jedoch müssen ähnliche Elemente nicht unbedingt identisch sein.
  • 1 zeigt ein Blockdiagramm eines Protokollstapels gemäß dieser Erfindung, der in Windows CE® eingebettet ist,
  • 2 zeigt die wichtigsten Teile eines Datenpaketes,
  • 3 zeigt ein Zeitablaufdiagramm einer Datenübertragung gemäß der Erfindung,
  • 4 zeigt ein Zeitablaufdiagramm einer Datenübertragung gemäß der Erfindung mit einem verloren gegangenen Datenpaket,
  • 5 zeigt ein Zeitablaufdiagramm einer Datenübertragung gemäß der Erfindung mit einer verloren gegangenen Quittungs-Kennung, und
  • 6 zeigt ein Blockdiagramm eines Abstimmungsmechanismus mit einem Systemaufruf gemäß der Erfindung.
  • Der Protokollstapel innerhalb einer Ethernet-Kommunikation in einem Rechnernetzwerk gemäß der vorliegenden Erfindung unterstützt nur Funktionalität, welche für die Anwendung absolut wesentlich ist. Insbesondere ignoriert er alle diejenigen Funktionen, welche mit der Verwendung in Weitverkehrsnetzen zusammenhängen, z.B. Routing-Fähigkeit. Die Implementierung ist nicht nur an lokale Kommunikation angepasst, sondern auch für die angewendete Kommunikationstechnik, Ethernet, optimiert. Es wird keinerlei Namensdienst benötigt, wie etwa DNS für TCP/IP. Stattdessen werden die Medienzugriffssteuerungs-(Medium Access Control) Adressen MAC von Ethernet verwendet.
  • Bei herkömmlichen Protokollen wie etwa TCP/IP existieren oft Mechanismen, welche mehr als einmal angewendet werden, deren mehrfache Anwendung jedoch keinen erhöhten Nutzen zur Folge hat. Zum Beispiel geschieht dies in den Prüfsummen von TCP/IP. Diese werden verwendet, um die Korrektheit der empfangenen Daten zu prüfen. Auf der Ebene des Ethernet sind sie hardwaremäßig implementiert und sind somit praktisch frei von jeder Latenzzeit. TCP/IP Prüfsummen werden auf zwei weiteren Ebenen wiederholt erneut berechnet, was zusätzliche und unnötige Komplexität bedeutet, wenn das Ethernet als ein Transportmedium verwendet wird.
  • Die Erfindung macht daher von einem extrem flachen und somit hocheffizienten Protokollstapel Gebrauch, wie in 1 dargestellt, in der das Beispiel von Windows CE® verwendet wird, um zu zeigen, wie der Protokollstapel gemäß der vorliegenden Erfindung in ein Betriebssystem integriert werden kann.
  • Es ist eine Anwendung APL dargestellt, welche über einen Protokollstapel PST, der das Hochgeschwindigkeits-Verbindungsprotokoll I der vorliegenden Erfindung und Ethernet-Kommunikationstechnik EN für die Verbindung umfasst, mit einem Rechnernetzwerk N kommuniziert.
  • 2 zeigt ein Beispiel eines Datenpaketes P, welches für eine Hochgeschwindigkeits-Verbindung gemäß der Erfindung verwendet wird. Verschiedene Systeme innerhalb des Rechnernetzwerkes N senden solche Datenpakete P, um eine Hochgeschwindigkeits-Verbindung dieser Systeme auf eine Art und Weise zu erreichen, die weiter unten anhand der 3 bis 5 erläutert wird.
  • Die Datenpakete P, wie in 2 dargestellt, sind durch eine eindeutige Kennnummer ID gekennzeichnet, die aus der oben erwähnten MAC Ethernet-Adresse, welche bereits im Ethernet-Paket enthalten ist, und einer laufenden Nummer seq# aufgebaut ist. Durch Verwendung der Ethernet-Adresse kann eine Adressierung realisiert werden, indem die Ethernet-Socket-Schnittstelle benutzt wird.
  • Gewöhnlich sind beide Kommunikationssysteme A und B sowohl sendende als auch empfangende Systeme. Deshalb ist es vorteilhaft, wenn, wie in 2 dargestellt, jedes Datenpaket P, neben Anwendungsdaten, eine Quittungs-Kennnummer Ack-ID sowie die letzte Quittungs-Kennung "last-Ack-ID" umfasst. Die Tatsache, dass die Quittungsinformation Teil eines Datenpaketes ist, macht die Verbindung effizienter. Natürlich ist es auch möglich, eine Quittungsinformation in einem separaten Paket zu dem sendenden System A zu senden.
  • Für die Zwecke der Erläuterung wird in der folgenden Beschreibung das Kommunikationssystem A nur als sendendes System und das Kommunikationssystem B nur als empfangendes System verwendet.
  • In 3 bis 5 wird somit beschrieben, wie Datenpakete P von einem ersten System A, welches das sendende System ist, zu einem zweiten System B, welches das empfangende System ist, gesendet werden.
  • Für die Beschreibung werden die folgenden Zeitbezeichnungen verwendet:
  • t1
    Zeit, zu der ein Datenpaket P gesendet wird
    t2
    Empfangszeit eines empfangenden Systems
    tR
    Empfangszeit eines sendenden Systems
    tP1
    maximale Verarbeitungszeit in einem empfangenen System
    tP2
    maximale Verarbeitungszeit eines sendenden Systems, um einen Zeitplan zu erhalten und um mit dem Senden zu beginnen
    t3
    Zeit, zu der Ack gesendet wird
    t4
    Zeit, zu der Ack empfangen wird
    tL
    maximale Ethernet-Laufzeit eines Datenpaketes, das über das Rechnernetzwerk N übertragen wird
  • 3 zeigt eine Übertragung eines Datenpaketes P, welche korrekt ohne irgendeinen Verlust von Paketen abläuft. Ein Kommunikationssystem A sendet "sd" ein Datenpaket P zur Zeit t1, welches von einem Kommunikationssystem B zur Zeit t2 empfangen wird "rcv". Das empfangene Datenpaket wird dann von dem empfangenden System B innerhalb einer Verarbeitungszeit tP1 verarbeitet, bevor eine Quittungsinformation Ack-ID zu einer Zeit t3 zu dem Kommunikationssystem A zurückgesendet wird "sd ack", wo diese Quittungsinformation zu einer Zeit t4 empfangen wird "rcv ack". Die Quittungsinformation Ack-ID kann als Teil eines Datenpaketes P gesendet werden, wie in 2 beschrieben ist.
  • Jedes der Kommunikationssysteme A und B kann einen Pufferspeicher zum Speichern der Daten von mehreren zu übertragenden Datenpaketen umfassen. Ein Teil dieses Pufferspeichers, der für das Datenpaket P verwendet wird, das gesendet worden ist, wird erst freigegeben "del P", wenn die korrekte Quittungsinformation Ack-ID empfangen wird.
  • 4 zeigt dieselbe Art und Weise des Übertragens von Daten gemäß der Erfindung, jedoch in einem Fall, in welchem das Datenpaket P während der Übertragung zum Kommunikationssystem B verloren ging. Da das sendende System A keine Quittungsinformation für das Datenpaket P, das gesendet worden ist "sd", während einer erwarteten Zeit empfängt, muss das Datenpaket bei Timeout (Zeitüberlauf) erneut übertragen werden "rtm".
  • Ein Timeout für eine zu empfangende Quittungs-Kennung wird anhand der Zeit t1, zu der das Datenpaket P gesendet wurde, der Empfangszeit tR des sendenden Systems A und der maximalen Verarbeitungszeit tP2 des sendenden Systems A, um einen Zeitplan zu erhalten und um mit dem Senden eines Datenpaketes zu beginnen, nach der folgenden Formel berechnet: Timeout = t1 + tR + tP2 (1)
  • Vorzugsweise wird die Empfangszeit tR berechnet aus dem Zweifachen einer maximalen Ethernet-Laufzeit tL für ein Datenpaket, addiert zu der maximalen Verarbeitungszeit tP1 in dem empfangenden System B gemäß der folgenden Formel: tR = 2·tL + tP1 (2)
  • Daher kann das Timeout wie folgt berechnet werden: Timeout = t1 + 2·tL + tP1 + tP2 (3)
  • 5 zeigt dieselbe Art und Weise des Übertragens von Daten gemäß der Erfindung wie in 3 in einem Fall, in welchem das Datenpaket P korrekt übertragen wurde, jedoch die Quittungsinformation Ack-ID während der Übertragung zurück zum Kommunikationssystem A verloren geht. Da das sendende System A keine Quittungsinformation, die gesendet worden ist "sd ack", während einer erwarteten Zeit empfängt, muss das Datenpaket P auch in diesem Falle bei einem Timeout, das in den Formeln (1) bis (3) berechnet wird, erneut übertragen werden "rtm".
  • Wenn das empfangende System B das Datenpaket P zum zweiten Mal empfängt "rcv", muss es die Quittungsinformation Ack-ID zurücksenden, jedoch berücksichtigen, dass das Datenpaket P bereits korrekt empfangen worden ist. Mittels der eindeutigen Kennungen jedes Datenpakets ist das empfangende System B in der Lage zu erkennen, dass dasselbe Datenpaket P bereits früher empfangen worden ist.
  • Die Zeit tF, zu der ein Datenpaket P zum zweiten Mal von dem empfangenden System B empfangen wird, wird gemäß Formel (1) wie folgt berechnet: tF = t1 + tR + tL + tP2 (4)
  • Mit Formel (2) kann dies umgeformt werden in: tF = t1 + 3·tL + tP1 + tP2 (5)
  • Die Zeit t1 ist dem empfangenden System B nicht bekannt, sie kann jedoch im ungünstigsten Fall berechnet werden als t1 = t2 – tL (6)so dass man für tF erhält tF = t2 + 2·tL + tP1 + tP2. (7)
  • Mit t3 = t2 + tP1 (8)ergibt sich die folgende Formel zum Berechen der Zeit tF des Empfangens eines Datenpaketes P zum zweiten Mal: tF = t3 + 2·tL + tP2. (9)
  • Das empfangende System B vergisst eine Kennnummer ID eines Datenpaketes P nur in dem Falle, wenn diese Kennung kleiner ist als die letzte quittierte Ack-ID, die von dem sendenden System A als Teil eines Datenpaketes P geliefert wurde, gemäß: ID =< last-Ack-ID. (10)
  • Das sendende System A erkennt einerseits einen Übertragungsfehler an zu vielen Übertragungswiederholungen. Daher ist eine Anzahl von Versuchen vorgegeben, welche für eine korrekte Übertragung von Datenpaketen P nicht überschritten werden darf.
  • Das empfangende System B erkennt andererseits einen Übertragungsfehler an einem Timeout, wenn eine Kennung zu lange aufbewahrt werden muss.
  • Ein Vorteil der Datenübertragung gemäß der beschriebenen Erfindung auf dem Gebiet einer zuverlässigen Kommunikation ist, dass Datagramm-Kommunikation in dem Protokoll selbst geschützt ist, wie oben in 3 bis 5 beschrieben, im Gegensatz zum Beispiel zu TCP/IP. Ferner werden Schutzmechanismen verwendet, welche an die Anforderungen einer lokalen Kommunikation angepasst sind. Unter den oben beschriebenen Bedingungen kann bei einem Fehler der vollständige Zustand des Systems in jedem Falle rekonstruiert werden.
  • Mit der eine hohe Geschwindigkeit aufweisenden und zuverlässigen Verbindung, die oben beschrieben wurde, ist es möglich, ein Protokoll zu implementieren, welches eine verteilte Synchronisation für Abstimmungsmechanismen unterstützt. In einem Abstimmungsmechanismus, wie er in 6 dargestellt ist, senden mehrere verschiedene Berechnungssysteme CS_A, CS_B das Ergebnis einer Berechnung, welches verglichen werden soll, zu einem Abstimmsystem VS, wobei alle Systeme CS_A, CS_B und VS Kommunikationspartner in einem lokalen Rechnernetzwerk N sind, die wie oben beschrieben kommunizieren.
  • Dieses Abstimmsystem VS vergleicht die Ergebnisse und meldet das Ergebnis des Vergleiches zurück zu den verschiedenen beteiligten Berechnungssystemen CS_A, CS_B. Für diesen Vergleich wird sichergestellt, dass sämtliche verschiedenen beteiligten Berechnungssysteme CS_A, CS_B das Ergebnis derselben Berechnung zu dem Abstimmsystem VS senden, und dass sie keinerlei weitere Berechnungen beginnen, bis sie das Ergebnis des Abstimmungsprozesses VP empfangen haben.
  • Anders ausgedrückt, die verschiedenen beteiligten Berechnungssysteme CS_A, CS_B sind zeitlich synchronisiert. Bei dieser Erfindung ist dieser Abstimmungsmechanismus in dem Protokollstapel PST der verschiedenen Berechnungssysteme CS_A, CS_B selbst implementiert, wobei er Teil des Kernmodus KM oder, anders gesagt, des Betriebssystems ist, z.B. Windows CE®.
  • Die Anwendungen APL1, APL2 der verschiedenen Berechnungssysteme CS_A, CS_B befinden sich im Benutzermodus UM und kommunizieren mit dem Protokollstapel PST, der den Abstimmungsmechanismus enthält, unter Verwendung eines Systemaufrufes SYS vom Typ "Ergebnis der Abstimmung zurücksenden".
  • Daher wird für eine zeitliche Synchronisation kein Systemaufruf SYS zurückgesendet, bis die Abstimmung abgeschlossen worden ist und ein Ergebnis vorliegt, welches zu den verschiedenen beteiligten Berechnungssystemen CS_A, CS_B zurückgeführt wird.
  • Dies hat im Wesentlichen zwei Vorteile gegenüber einer Implementierung in der Anwendung, wie es dem Stand der Technik entspricht, zur Folge. Erstens wird die Abwicklung eines Abstimmungsprozesses VP stark vereinfacht, ein einziger Systemaufruf SYS ist ausreichend, und alles andere wird im Hintergrund verarbeitet (Kernmodus KM) und ist für die Anwendung transparent. Ein noch wesentlicherer Faktor ist jedoch die Tatsache, dass bei dieser Prozedur vermieden wird, dass die Anwendung aktiv warten muss. Stattdessen wird der anfordernde Prozess, wie es für einen Systemaufruf normal ist, von einem Prozess-Scheduler in die Nicht-Bereit-Warteschlange Q eingereiht, bis der Systemaufruf SYS zurückkehrt. Der Prozess wird somit während der gesamten Wartezeit gestoppt, was Prozessorzeit spart und den Prozessor zum Ausführen anderer Prozesse freigibt. Auch in diesem Falle kann diese Funktionalität sehr leicht verwendet werden, mittels eines einfachen Funktionsaufrufes SYS.
  • 6 zeigt, wie ein typischer System-Funktionsaufruf SYS vom Typ "Ergebnis der Abstimmung zurücksenden" abläuft. Um die Darstellung einfach und verständlich zu halten, ist das Abstimmsystem VS als ein einziger Knoten innerhalb des Netzwerkes N dargestellt, obwohl es in Wirklichkeit vorzugsweise verteilt sein sollte, um einen "Single Point of Failure" (Punkt, dessen Ausfall den Ausfall des Gesamtsystems verursachen kann) zu vermeiden.
  • Die Erfindung realisiert erstens die Bewegung der verteilten Synchronisation zu dem Protokollstapel PST und zweitens die Integration dieser Funktionalität in ein effizientes, eine hohe Geschwindigkeit aufweisendes und zuverlässiges Verbindungsprotokoll I, wie es in eingebetteten, fehlertoleranten Systemen erforderlich ist.
  • Dies bedeutet jedoch nicht, dass das Protokoll I nur für verteilte Synchronisation verwendet werden kann. Aufgrund seiner Vorteile (Effizienz und Zuverlässigkeit) ist es eine wertvolle Alternative zu anderen Protokollen, sogar bei normalem Betrieb.
  • Die obige Beschreibung von bevorzugten Ausführungsformen der vorliegenden Erfindung wurde für die Zwecke der Veranschaulichung gegeben, sie ist jedoch nicht erschöpfend. Ebenso ist die vorliegende Erfindung nicht auf die hier beschriebene präzise Form begrenzt, sondern vielmehr sind auch zahlreiche Modifikationen und Änderungen innerhalb des Kontextes der obigen Beschreibung möglich.
  • Es wurden bevorzugte Ausführungsformen beschrieben, um die grundlegenden Einzelheiten der vorliegenden Erfindung und praktische Anwendungen darzustellen, um Fachleute in die Lage zu versetzen, diese Erfindung zu implementieren. Für spezielle Anwendungen können zahlreiche zusätzliche Modifikationen implementiert werden.

Claims (4)

  1. Abstimmungsvorrichtung für ein fehlertolerantes System innerhalb eines Rechnernetzwerkes (N), wobei – mehrere verschiedene Berechnungssysteme (CS_A, CS_B) dieselbe Berechnung ausführen und jedes Ergebnis einer Berechnung von jedem Berechnungssystem (CS_A, CS_B) zu einem Abstimmsystem (VS) übertragen wird, um verglichen zu werden, – das besagte Abstimmsystem (VS) die verschiedenen Ergebnisse vergleicht und ein Ergebnis des Vergleiches zu den besagten verschiedenen beteiligten Berechnungssystemen (CS_A, CS_B) rückmeldet, und wobei die besagten Berechnungssysteme keine weiteren Berechnungen beginnen, bis sie das Ergebnis des Abstimmungsprozesses (VP) empfangen haben, wobei die Vorrichtung einen Protokollstapel (PST) für die Kommunikation innerhalb des Netzwerkes (N) umfasst, dadurch gekennzeichnet, dass eine verteilte zeitliche Synchronisation der besagten verschiedenen Berechnungssysteme (CS_A, CS_B) als Teil des Protokollstapels (PST) implementiert ist.
  2. Abstimmungsvorrichtung nach Anspruch 1, welche erste Mittel auf eine solche Weise umfasst, dass ein Ergebnis einer Berechnung von einem Berechnungssystem (CS_A, CS_B), welches ein anforderndes System innerhalb des Netzwerkes (N) ist, zu dem besagten Abstimmsystem (VS) unter Verwendung eines einzigen Systemaufrufes (SYS) übertragen wird, welcher nicht zurückgesendet wird, bis die Abstimmung im Hintergrund (KM) abgeschlossen worden ist und ein Ergebnis vorliegt und an das besagte Berechnungssystem (CS_A, CS_B) rückgemeldet wird.
  3. Abstimmungsvorrichtung nach Anspruch 2, welche zweite Mittel auf eine solche Weise umfasst, dass ein Prozess, welcher den besagten Systemaufruf (SYS) ausgegeben hat, in eine Nicht-Bereit-Warteschlange (Q) innerhalb des besagten Berechnungssystems (CS_A, CS_B) eingereiht wird, bis der Systemaufruf (SYS) zurückkommt, wodurch vermieden wird, dass das besagte Berechnungssystem (CS_A, CS_B) aktiv (UM) auf das Ergebnis des Abstimmungsprozesses (VP) warten muss.
  4. Abstimmungsvorrichtung nach Anspruch 1 oder 2 oder 3, welche dritte Mittel auf eine solche Weise umfasst, dass sichergestellt ist, dass alle verschiedenen beteiligten Berechnungssysteme (CS_A, CS_B) das Ergebnis derselben Berechnung zu dem Abstimmsystem (VS) senden.
DE60036121T 2000-10-30 2000-10-30 Hochgeschwindigkeitsverbindung für eingebettete Systeme in einem Rechnernetzwerk Expired - Lifetime DE60036121T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
EP00123673A EP1225741B1 (de) 2000-10-30 2000-10-30 Hochgeschwindigkeitsverbindung für eingebettete Systeme in einem Rechnernetzwerk

Publications (2)

Publication Number Publication Date
DE60036121D1 DE60036121D1 (de) 2007-10-04
DE60036121T2 true DE60036121T2 (de) 2008-05-21

Family

ID=8170242

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60036121T Expired - Lifetime DE60036121T2 (de) 2000-10-30 2000-10-30 Hochgeschwindigkeitsverbindung für eingebettete Systeme in einem Rechnernetzwerk

Country Status (5)

Country Link
US (1) US20020057687A1 (de)
EP (1) EP1225741B1 (de)
AT (1) ATE371328T1 (de)
DE (1) DE60036121T2 (de)
ES (1) ES2289990T3 (de)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1260642C (zh) * 2002-11-18 2006-06-21 深圳市朗科科技有限公司 一种向移动存储装置发送命令和数据的方法
US8489128B2 (en) 2005-10-31 2013-07-16 Qualcomm Incorporated Efficient transmission on a shared data channel for wireless communication
US8625601B2 (en) * 2005-10-31 2014-01-07 Qualcomm Incorporated Method and apparatus for low-overhead packet data transmission and control of reception mode
US8427951B2 (en) * 2007-08-30 2013-04-23 International Business Machines Corporation Method, system, and apparatus for reliable data packet recovery in a link layer of a data center ethernet network
CN104426641B (zh) * 2013-09-11 2019-01-11 松下知识产权经营株式会社 通信控制装置及通信控制方法
CN104581772B (zh) * 2013-10-09 2018-04-17 电信科学技术研究院 一种网络节点的报文传输的容错方法及网络节点
EP3347845B1 (de) 2015-09-11 2023-08-02 Curtail, Inc. Auf implementierungsvergleich basierendes sicherheitssystem
CN105721245B (zh) * 2016-02-02 2019-03-15 四川长虹电器股份有限公司 基于快连协议的网络数据嗅探实现方法
EP3414683B1 (de) 2016-02-10 2021-07-28 Curtail Security, Inc. Vergleich von verhaltenspopulationen für sicherheits- und complianceüberwachung

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2280820A (en) * 1993-07-29 1995-02-08 Ibm Distributed system for call processing
CA2177850A1 (en) * 1993-12-01 1995-06-08 Thomas Dale Bissett Fault resilient/fault tolerant computing
US5678007A (en) * 1994-11-22 1997-10-14 Microsoft Corporation Method and apparatus for supporting multiple outstanding network requests on a single connection
US6215797B1 (en) * 1998-08-19 2001-04-10 Path 1 Technologies, Inc. Methods and apparatus for providing quality of service guarantees in computer networks
US6909717B1 (en) * 1998-10-21 2005-06-21 Peter Higgins Real time ethernet protocol
US6269080B1 (en) * 1999-04-13 2001-07-31 Glenayre Electronics, Inc. Method of multicast file distribution and synchronization
US6335933B1 (en) * 1999-05-21 2002-01-01 Broadcom Homenetworking, Inc. Limited automatic repeat request protocol for frame-based communication channels
US6578068B1 (en) * 1999-08-31 2003-06-10 Accenture Llp Load balancer in environment services patterns
US6907005B1 (en) * 2000-07-24 2005-06-14 Telefonaktiebolaget L M Ericsson (Publ) Flexible ARQ for packet data transmission

Also Published As

Publication number Publication date
US20020057687A1 (en) 2002-05-16
ATE371328T1 (de) 2007-09-15
ES2289990T3 (es) 2008-02-16
EP1225741B1 (de) 2007-08-22
EP1225741A1 (de) 2002-07-24
DE60036121D1 (de) 2007-10-04

Similar Documents

Publication Publication Date Title
DE60111551T2 (de) Mechanismus zur vervollständigung von nachrichten im speicher
DE10066507B3 (de) Verfahren und Vorrichtung zur Kommunikation mit verzögerter Bestätigung und Alarmverwaltung
DE112020002496B4 (de) System und verfahren zur erleichterung eines effizienten host-speicherzugriffs von einer netzwerkschnittstellensteuerung (nic)
DE69531410T2 (de) Mehrrechnerumgebungen
DE69015275T2 (de) Datenkommunikationssystem und Vorrichtung mit einer zyklischen Quittungsantwortensequenz.
DE3586434T2 (de) Lokales netzwerk fuer ein numerisches datenverarbeitungssystem.
DE69836778T2 (de) Vorrichtung und Verfahren zur Fernpufferspeicherzuordnung und Verwaltung für Nachrichtenübertragung zwischen Netzknoten
DE3882238T2 (de) Verfahren zur Behandlung von durch ein Netzwerk übertragenen langsamen Anforderungen.
DE69031266T2 (de) Übertragungsarchitektur für Hochgeschwindigkeitsnetzwerk
DE69735740T2 (de) Asynchrone paketvermittlung
DE69328578T2 (de) Leistungsfähiges und betriebssicheres Übertragungsverfahren und System für grosse Datenmengen
DE60030094T2 (de) Datenablösungsmechanismus für selektive wiederholungsprotokolle
DE69228960T2 (de) Vermittlungsnetz für Prozessoren
DE69527948T2 (de) System und verfahren zur kommunikation mit einem entfernten netzwerk-apparatus
DE2953444C2 (de) Anordnung und Verfahren für ein digitales Datenübertragungsnetzwerk
DE3751091T2 (de) Übertragungsprotokoll zwischen Prozessoren.
DE19924922A1 (de) System und Verfahren für Nachrichtenübermittlung zwisfchen Netzwerkknoten, die durch parallele Verbindungen verbunden sind
DE69232703T2 (de) Synchrones Steuerwerk für Knoten in Vermittlungsnetzwerken
DE3331233C3 (de)
DE60036121T2 (de) Hochgeschwindigkeitsverbindung für eingebettete Systeme in einem Rechnernetzwerk
DE112011105003T5 (de) Sendevorrichtung, Empfangsvorrichtung, Kommunikationsvorrichtung, Kommunikationssystem und Sendeverfahren
DE60318252T2 (de) Verfahren und vorrichtungen zur datenübertragung zwischen speichernetzwerken
DE3853118T2 (de) Verfahren und Vorrichtung zur Datenübertragung.
DE102008001548B4 (de) Teilnehmerknoten eines Kommunikationssystems, Kommunikationssystem und Verfahren zum Übertragen einer Nachricht in dem Kommunikationssystem
DE60202124T2 (de) Verfahren und Netzwerkelement zum sicheren Transport von Ethernet-Rahmen über ein SDH/SONET Transport-Netzwerk

Legal Events

Date Code Title Description
8364 No opposition during term of opposition