DE112013000839B4 - Datenübertragungsprotokoll für verteilte Informationstechnologie-Architekturen - Google Patents

Datenübertragungsprotokoll für verteilte Informationstechnologie-Architekturen Download PDF

Info

Publication number
DE112013000839B4
DE112013000839B4 DE112013000839.4T DE112013000839T DE112013000839B4 DE 112013000839 B4 DE112013000839 B4 DE 112013000839B4 DE 112013000839 T DE112013000839 T DE 112013000839T DE 112013000839 B4 DE112013000839 B4 DE 112013000839B4
Authority
DE
Germany
Prior art keywords
packet
source node
node
transmission
packets
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.)
Active
Application number
DE112013000839.4T
Other languages
English (en)
Other versions
DE112013000839T5 (de
Inventor
c/o IBM Corporation Kamble Keshav Govind
c/o IBM Corporation Ghosh Nirapada
c/o IBM Corporation Leu Dar-Ren
c/o IBM Corporation Kamath Dayavanti Gopal
c/o IBM Corporation Mukherjee Nilanjan
c/o IBM Corporation Pandey Vijoy
c/o IBM Corporation Anantharam Sushma
c/o IBM Corporation Peethambaram Nandakumar
c/o IBM Corporation Mendon Chandarani
c/o IBM Corporation Benny Stephan
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 DE112013000839T5 publication Critical patent/DE112013000839T5/de
Application granted granted Critical
Publication of DE112013000839B4 publication Critical patent/DE112013000839B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/44Distributed routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/66Layer 2 routing, e.g. in Ethernet based MAN's

Landscapes

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

Abstract

Netzwerk-Switch-System zum Übertragen von Daten zwischen Knoten in einem Netzwerk, das aufweist:ein Dienstregistrierungsmodul, das einen oder mehrere Quellknoten für einen Paketübertragungsdienst registriert;ein Sendemodul, das ein oder mehrere Pakete von einem registrierten Quellknoten zu einem oder mehreren Zielknoten weiterleitet;ein Empfangsmodul, das ein oder mehrere Pakete von einem oder mehreren Zielknoten zu einem registrierten Quellknoten weiterleitet;wobei die Protokollpakete in einem Schicht-2(L2)-Bereich weitergeleitet werden,wobei das Netzwerk-Switch-System ein L2- oder Schicht-3(L3)-fähige Netzwerkeinheit ist,wobei das Sendemodul eine Sendewarteschlange zum Einreihen von Paketen von entsprechenden registrierten Quellknoten zum Senden verwaltet,wobei das Sendemodul eine Kopfzeile an jedes Paket zum Senden anhängt;wobei die Kopfzeile Informationen zum Datenübertragungsprotokoll aufweist;wobei das Empfangsmodul eine Empfangswarteschlange verwaltet, um Pakete von Zielknoten einzureihen, die registrierten Quellknoten entsprechen,wobei das Sendemodul nach einer fehlenden Bestätigung von einem Zielknoten als Antwort auf ein Senden eines Pakets ein Paket mindestens einmal erneut sendet, bevor der Sendevorgang einem entsprechenden registrierten Quellknoten als fehlgeschlagen anzeigt wird.wobei als Reaktion auf eine Dienstregistrierungsanforderung von einem Quellknoten das Dienstregistrierungsmodul eine Rückruffunktion registriert, die von dem Quellknoten bereitgestellt wird, um Sendeinformationen von dem System zu empfangen,wobei das Sendemodul die von einem registrierten Quellknoten bereitgestellte Rückruffunktion verwendet, um den Sendestatus von Paketen bereitzustellen, die dem registrierten Quellknoten entsprechen,wobei die Kopfzeile ein Protokoll eines Formats Type-Länge-Wert (TLV) für das auf Ethernet beruhende L2-Datenübertragungsprotokoll (EL2T) enthält und an ein von einem Client-Knoten ankommendes Paket angehängt wird.

Description

  • GEBIET DER ERFINDUNG
  • Die vorliegende Erfindung bezieht sich allgemein auf Datenübertragungen, insbesondere auf Datenübertragungsprotokolle für verteilte Informationssysteme.
  • HINTERGRUND DER ERFINDUNG
  • Netzwerk-Switching-Einheiten werden verwendet, um Datenverarbeitungssysteme in einem Netzwerk zu verbinden. Solche Netzwerk-Switches arbeiten in der Regel in der Datensicherungsschicht (Schicht 2) des OSl-Modells und leiten Pakete von Quellknoten (Einheiten) zu Zielknoten in einem Netzwerk weiter.
  • Die US 7 016 352 B1 betrifft ein Gerät mit mehreren Ports. Das Gerät beinhaltet einen Internal Rules Checker (IRC), der Weiterleitungsadressen für am Gerät empfangene Pakete ermittelt. Die ermittelten Weiterleitungsadressen können eine neue MAC-Zieladresse beinhalten, die anstelle der MAC-Zieladresse des empfangenen Pakets eingesetzt werden soll. In einer Implementierung wird die neue MAC-Zieladresse vom IRC an die Dequeuing-Logik übertragen, indem Paare von benachbarten Wörtern durch die Switch-Ausgangswarteschlangen übertragen werden. In anderen Implementierungen wird die neue MAC-Zieladresse vom IRC an die Dequeuing-Logik übertragen, indem ein Indexfeld an die Ausgangswarteschlangenlogik übertragen wird oder indem der IRC die neue MAC-Zieladresse direkt in den Speicher schreibt.
  • Die US 7 502 366 B1 betrifft einen Netzwerk-Switch, der Netzwerk-Switch-Anschlüsse beinhaltet, die jeweils einen Port-Filter beinhalten, der zum Erkennen von benutzergewählten Attributen aus einem empfangenen Daten-Frame vom Typ Schicht 2 konfiguriert ist. Jeder Anschlussfilter sendet nach dem Erkennen eines benutzergewählten Attributs in einem empfangenen Frame des Typs Schicht 2 ein Signal an ein Vermittlungsmodul, das das festgestellte Vorhandensein des benutzergewählten Attributs angibt, wodurch das Vermittlungsmodul in die Lage versetzt wird, eine Vermittlungsentscheidung basierend auf dem entsprechenden benutzergewählten Attribut und basierend auf einer entsprechenden benutzerdefinierten Vermittlungsrichtlinie zu erzeugen. Die Vermittlungsrichtlinie kann eine Prioritätsklasse oder eine garantierte Dienstgüte (z. B. eine garantierte Bandbreite) angeben, wodurch sichergestellt wird, dass der empfangene Daten-Frame vom Typ Schicht 2 die entsprechende Vermittlungsunterstützung empfängt. Die benutzerdefinierten Attribute für den Anschlussfilter und die benutzerdefinierte Vermittlungsrichtlinie für das Vermittlungsmodul werden von einem Host-Prozessor programmiert. Daher ist der integrierte Netzwerk-Switch in der Lage, auf Grundlage der vom Benutzer ausgewählten Attribute in den Datenpaketen des Typs Schicht 2 und der für das Vermittlungsmodul festgelegten benutzerdefinierten Vermittlungsrichtlinien erweiterte Vermittlungsvorgänge für Datenpakete des Typs Schicht 2 auszuführen, um die Anforderungen an die Dienstqualität sicherzustellen, unabhängig von den in den Datenpaketen des Typs Schicht 2 angegebenen Prioritätsinformationen.
  • Die US 6 571 291 B1 betrifft ein Netzwerk-Switch-System, das zum Auswerten eines ankommenden Datenpakets konfiguriert ist, das Schicht-3-Informationen mit einer Internet-Protokoll-(IP)-Kopfzeile und einer IP-Prüfsumme beinhaltet. Das System beinhaltet einen Pufferspeicher und einen Netzwerk-Switch. Der Netzwerk-Switch beinhaltet ein Media Access Control (MAC)-Modul mit einem Empfangsdaten-Teil und einem Sende-Daten-Teil. Der Empfangsdaten-Teil ist konfiguriert, um die IP-Prüfsumme aus dem IP-Header zu extrahieren und die IP-Prüfsumme zu validieren. Ein Warteschlangenblock ist so konfiguriert, dass er die IP-Prüfsumme an den Pufferspeicher zur Speicherung darin sendet. Ein interner Schicht-3-Regel-Checker ist so konfiguriert, dass er Schicht-3-Informationen empfängt und den IP-Header auf Grundlage eines Feldes des IP-Headers ändert. Der interne Regel-Checker erzeugt eine Kennung, die angibt, dass das Feld geändert werden muss. Der Netzwerk-Switch beinhaltet auch einen Dequeue-Block, der so konfiguriert ist, dass er die Kennung empfängt und die IP-Prüfsumme aus dem Pufferspeicher abruft und die IP-Prüfsumme als Ergebnis der Änderung des Feldes inkrementell aktualisiert, wobei die aktualisierte IP-Prüfsumme von dem Sendedaten-Teil des MAC-Moduls empfangen wird.
  • Die Veröffentlichung „Grundlagen Rechnernetze und Verteilte Systeme“ betrifft die folgenden Aspekte in HDLC, PPP, Ethernet Direktverbindungsnetzen: Grundverständnis von Daten- und Signalübermittlung, Fehlerursachen und Fehlertypen, Fehlerbehandlungen, Vorgänge in der Sicherungsschicht und Zugriffsverfahren (Carle G.: Grundlagen Rechnernetze und Verteilte Systeme. TUM, Kapitel 3, SS2010, 117).
  • KURZDARSTELLUNG
  • Der Erfindung liegt die Aufgabe zugrunde ein Netzwerk-Switch-System, ein Verfahren sowie ein Computerprogramm zum Übertragen von Daten zwischen Knoten in einem Netzwerk unter Einsatz einer breiten Skala von Übertragungsprotokollen zu schaffen. Diese Aufgabe wurde durch die Merkmale der nebengeordneten Ansprüche gelöst. Ausführungsformen sind in den untergeordneten Ansprüchen angegeben.
  • Ausführungsformen der vorliegenden Erfindung beziehen sich auf ein Datenübertragungsprotokoll und System für Informationstechnologie-Architekturen von verteilten Systemen. Eine Ausführungsform stellt ein Verfahren zum Übertragen von Daten zwischen Knoten in einem Netzwerk bereit. Das Netzwerk kann beispielsweise ein System mit einem Protokoll einer verteilten Struktur (distributed fabric protocol, DFP) aufweisen.
  • Das Verfahren weist als Reaktion auf eine Dienstanforderung durch einen Quellknoten ein Registrieren des Quellknotens für einen Paketübertragungsdienst beispielsweise in einem Schicht-2(L2)-Netzwerk-Switch-System auf. Das Verfahren weist ferner ein Weiterleiten eines oder mehrerer Pakete von dem registrierten Quellknoten zu einem oder mehreren Zielknoten auf. Das Verfahren weist des Weiteren ein Empfangen von Paketen von einem oder mehreren Zielknoten und ein Weiterleiten jedes empfangenen Pakets an einen entsprechenden registrierten Knoten auf.
  • Das Registrieren eines Quellknotens für einen Paketübertragungsdienst weist ein Verwalten einer Datenstruktur zur Transaktionsüberwachung auf, indem ein Client-Eintrag in einer Client-Liste für den Quellknoten verwaltet wird. Für jeden Client-Eintrag werden ein oder mehrere Zieleinträge in einer Zielknotenliste verwaltet, wobei jeder Zieleintrag einem Zielknoten für den Quellknoten entspricht. Für jeden Zieleintrag wird eine Liste mit Pakettransaktionen verwaltet, die anstehenden Paketübertragungen zwischen dem Quellknoten und dem Zielknoten entsprechen, der dem Zieleintrag entspricht.
  • Das Verfahren weist ferner ein Verwalten einer Sendewarteschlange zum Einreihen von Paketen von entsprechenden registrierten Quellknoten zum Senden auf sowie ein Anhängen einer Kopfzeile an jedes Paket zum Senden, wobei die Kopfzeile Informationen zum Datenübertragungsprotokoll aufweist, und ein Aktualisieren der Datenstruktur zur Transaktionsüberwachung auf der Grundlage des Übertragungsstatus des Pakets.
  • Das Verfahren weist ferner ein Verwalten einer Empfangswarteschlange zum Einreihen von Paketen von Zielknoten auf, die registrierten Quellknoten entsprechen, und ein Aktualisieren der Datenstruktur zur Transaktionsüberwachung auf der Grundlage des Übertragungsstatus des empfangenen Pakets.
  • Das Verfahren weist des Weiteren als Reaktion auf eine Dienstregistrierungsanforderung von einem Quellknoten ein Registrieren einer Rückruffunktion auf, die von dem Quellknoten bereitgestellt wird, um Informationen zum Sendestatus von dem System zu empfangen. Die von einem registrierten Quellknoten bereitgestellte Rückruffunktion wird verwendet, um den Sendestatus von Paketen bereitzustellen, die dem registrierten Quellknoten entsprechen.
  • Diese und andere Aspekte, Merkmale und Vorteile der Erfindung werden mit Bezug auf die Zeichnungsfigur und die genaue Beschreibung hierin verständlich und werden durch die verschiedenen Elemente und Kombinationen umgesetzt, die in den beigefügten Ansprüchen besonders hervorgehoben werden. Es versteht sich, dass die vorstehende allgemeine Beschreibung und die nachfolgende kurze Beschreibung der Zeichnungen sowie die ausführliche Beschreibung der Erfindung beispielhaft sind und bevorzugte Ausführungsformen der Erfindung erklären und die Erfindung wie beansprucht nicht einschränken.
  • Figurenliste
  • Der Gegenstand, der als die Erfindung betrachtet wird, wird in den Ansprüchen am Ende der Beschreibung besonders hervorgehoben und ausdrücklich beansprucht. Das Vorstehende und andere Aufgaben, Merkmale und Vorteile der Erfindung ergeben sich aus der nachfolgenden ausführlichen Beschreibung in Verbindung mit den beigefügten Zeichnungen, in denen:
    • 1 ein Beispiel für die grundlegenden Komponenten eines Informationstechnologiesystems 10 veranschaulicht, bei dem gemäß einer Ausführungsform der vorliegenden Erfindung ein Datenübertragungsprotokoll verwendet wird;
    • 2 ein Blockschaltbild ist, das ein Beispiel einer Computernetzwerkeinheit wie in 1 gezeigt veranschaulicht, bei der gemäß einer Ausführungsform der vorliegenden Erfindung ein System mit einem Datenübertragungsprotokoll verwendet wird;
    • 3 einen Ablaufplan eines Prozesses für eine Übertragung von Daten zwischen Knoten in einem DFP-Netzwerk gemäß einer Ausführungsform der Erfindung zeigt;
    • 4 eine Architektur eines Datenübertragungsprotokolls in einem Datenübertragungsstapel mit mehreren Funktionsschichten gemäß einer Ausführungsform der Erfindung zeigt; und
    • 5 ein Ausführungs- und Datenmodell für ein Datenübertragungsprotokoll gemäß einer Ausführungsform der Erfindung zeigt.
  • Die ausführliche Beschreibung erklärt die bevorzugten Ausführungsbeispiele der Erfindung zusammen mit Vorteilen und Merkmalen beispielhaft mit Bezug auf die Zeichnungen.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Die vorliegende Erfindung wird ohne Weiteres unter Bezugnahme auf die folgende ausführliche Beschreibung der Erfindung im Zusammenhang mit den zugehörigen Zeichnungsfiguren verständlich, die Teil dieser Offenbarung sind. Es versteht sich, dass diese Erfindung nicht auf die hier beschriebenen und/oder gezeigten spezifischen Einheiten, Verfahren, Bedingungen oder Parameter beschränkt ist und dass die hierin verwendete Terminologie lediglich beispielhaft zum Zwecke der Beschreibung bestimmter Ausführungsformen dient und die beanspruchte Erfindung nicht beschränken soll.
  • Ausführungsformen der Erfindung stellen ein Datenübertragungsprotokoll und System für Informationstechnologie-Architekturen von verteilten Systemen bereit. Eine Ausführungsform stellt ein Verfahren zum Übertragen von Daten zwischen Knoten in einem Netzwerk bereit. Bei einer Ausführungsform weist das Netzwerk ein System mit einem Protokoll einer verteilten Struktur auf.
  • Das Verfahren weist als Reaktion auf eine Dienstanforderung durch einen Quellknoten ein Registrieren des Quellknotens für einen Paketübertragungsdienst in einem Schicht-2(L2)-Netzwerk-Switch-System auf. Das Verfahren weist ferner ein Weiterleiten eines oder mehrerer Pakete von dem registrierten Quellknoten zu einem oder mehreren Zielknoten auf. Das Verfahren weist des Weiteren ein Empfangen von Paketen von einem oder mehreren Zielknoten und ein Weiterleiten jedes empfangenen Pakets an einen entsprechenden registrierten Knoten auf. Die Protokollpakete werden in einem L2-Bereich weitergeleitet, und das Netzwerk-Switch-System ist eine L2- oder Schicht-3(L3)-fähige Netzwerkeinheit.
  • Das Registrieren eines Quellknotens für einen Paketübertragungsdienst weist ein Verwalten einer Datenstruktur zur Transaktionsüberwachung auf, indem ein Client-Eintrag in einer Client-Liste für den Quellknoten verwaltet wird. Für jeden Client-Eintrag werden ein oder mehrere Zieleinträge in einer Zielknotenliste verwaltet, wobei jeder Zieleintrag einem Zielknoten für den Quellknoten entspricht. Für jeden Zieleintrag wird eine Liste mit Pakettransaktionen verwaltet, die anstehenden Paketübertragungen zwischen dem Quellknoten und dem Zielknoten entsprechen, der dem Zieleintrag entspricht.
  • Das Verfahren weist ferner ein Verwalten einer Sendewarteschlange zum Einreihen von Paketen von entsprechenden registrierten Quellknoten zum Senden auf sowie ein Anhängen einer Kopfzeile an jedes Paket zum Senden, wobei die Kopfzeile Informationen zum Datenübertragungsprotokoll aufweist, und ein Aktualisieren der Datenstruktur zur Transaktionsüberwachung auf der Grundlage des Übertragungsstatus des Pakets.
  • Das Verfahren weist ferner ein Verwalten einer Empfangswarteschlange zum Einreihen von Paketen von Zielknoten auf, die registrierten Quellknoten entsprechen, und ein Aktualisieren der Datenstruktur zur Transaktionsüberwachung auf der Grundlage des Übertragungsstatus des empfangenen Pakets.
  • Das Verfahren weist des Weiteren als Reaktion auf eine Dienstregistrierungsanforderung von einem Quellknoten ein Registrieren einer Rückruffunktion auf, die von dem Quellknoten bereitgestellt wird und aufgerufen würde, wenn ein Paket für diesen Quellknoten empfangen wird. Die von einem registrierten Quellknoten bereitgestellte Rückruffunktion wird verwendet, um das empfangene Paket für den Quellknoten zu verarbeiten.
  • Das Verfahren weist darüber hinaus ein Auswählen eines Schnittstellenanschlusses auf, der einem Zielknoten zugehörig ist, um unter Verwendung des ausgewählten Schnittstellenanschlusses ein Paket von einem entsprechenden Quellknoten über eine Datenübertragungsverbindung zu dem Zielknoten zu senden. Das Verfahren weist ferner ein Empfangen eines Pakets von einem Zielknoten und ein Einreihen des Pakets in die Empfangswarteschlange für einen entsprechenden Quellknoten auf. Beispielhafte Ausführungsformen eines Systems mit einem Datenübertragungsprotokoll gemäß der vorliegenden Erfindung werden hierin nachstehend mit Bezug auf die Zeichnungen beschrieben. Bei einer Ausführungsform weist das System mit einem Datenübertragungsprotokoll eine Computernetzwerkeinheit (Netzwerk-Switch) auf, die Datenverarbeitungssysteme oder Netzwerksegmente wie beispielsweise verschiedene Arten von Netzwerken verbindet. Eine Ausführungsform weist eine Netzwerkeinheit mit Mehrfach-Anschluss auf, die Daten in der Datensicherungsschicht (Schicht 2 des OSl-Modells) verarbeitet und weiterleitet.
  • Mit Bezug auf die Zeichnungen, in denen gleiche Ziffern gleiche Elemente in den verschiedenen Ansichten darstellen, veranschaulicht 1 ein Beispiel für die grundlegenden Komponenten eines Informationstechnologiesystems 10, bei dem gemäß einer Ausführungsform der vorliegenden Erfindung ein Datenübertragungsprotokoll verwendet wird. Das System 10 enthält eine Computernetzwerkeinheit 11 und die entfernt angeordneten Einheiten 15 sowie 17 bis 20, die ein System 100 mit einem Datenübertragungsprotokoll (2) der Computernetzwerkeinheit 11 verwenden, die gemäß einer Ausführungsform der vorliegenden Erfindung ein Datenübertragungsprotokoll ausführt.
  • Jede der entfernt angeordneten Einheiten 15 sowie 17 bis 20 weist Anwendungen auf und kann über eine lokale Datenbank 16 verfügen. Die Computernetzwerkeinheit 11 enthält ein Datenübertragungsprotokoll. Bei einer Ausführung führt der Server 11 Software für ein Computernetzwerk aus. Bei einer Ausführungsform verbindet die Computernetzwerkeinheit 11 die Netzwerksegmente 13 und 13A.
  • Die entfernt angeordneten Einheiten 15 sowie 17 bis 20 können über ein Netzwerk 13 über die Verbindungen 14 (A bis F) auf eine Datenbank 12 zugreifen. Die entfernt angeordneten Einheiten 15 sowie 17 bis 20 können über ein Netzwerk 13 auf die Datenbank 12 zugreifen, beispielsweise über: das Internet, ein lokales Netzwerk (LAN), ein Weitverkehrsnetzwerk (WAN), eine Telefonleitung unter Verwendung eines Modems (POTS), Bluetooth, WiFi, WiMAX, Mobilfunk, optische Einheit, Satellit, Hochfrequenz (HF), Ethernet, magnetische Induktion, Koaxialkabel, RS-485, Ähnliches oder andere ähnliche Netzwerke, ohne darauf beschränkt zu sein. Die Computernetzwerkeinheit 11 kann auch mit dem LAN in einem Unternehmen verbunden sein.
  • Die entfernt angeordneten Einheiten 15 sowie 17 bis 20 können sich jeweils an entfernt angeordneten Orten befinden. Zu den entfernt angeordneten Einheiten 15 sowie 17 bis 20 gehören PCs, Workstations, Laptops, Handheld-Computer, Taschen-PCs, PDAs, Pager, WAP-Einheiten, Nicht-WAP-Einheiten, Mobiltelefone, Palm-Einheiten, Druckereinheiten und Ähnliches, ohne darauf beschränkt zu sein. Wenn ein Benutzer an einer der entfernt angeordneten Einheiten 15 sowie 17 bis 20 auf Daten von der Datenbank 12 zugreifen möchte, tauschen die entfernt angeordneten Einheiten 15 sowie 17 bis 20 über das Netzwerk 13 Daten aus, um auf die Datenbank 12 zuzugreifen.
  • Daten, die von Computersystemen 21 Dritter und einer Datenbank 22 abgerufen werden, können in der Datenbank 12 gespeichert werden, um dem Benutzer später Zugriff auf die entfernt angeordneten Einheiten 15 sowie 17 bis 20 bereitzustellen. Es wird auch in Betracht gezogen, dass die Computersysteme 21 Dritter und die Datenbank 22 das Netzwerk 13 direkt für bestimmte Arten von Daten verwenden, auf die die entfernt angeordneten Einheiten 15 sowie 17 bis 20 zugreifen.
  • In 2 ist ein Blockschaltbild veranschaulicht, das ein Beispiel der Computernetzwerkeinheit 11 wie in 1 gezeigt darstellt, bei der gemäß einer Ausführungsform der vorliegenden Erfindung ein System 100 mit einem Datenübertragungsprotokoll verwendet wird.
  • In einem Beispiel enthält die Computernetzwerkeinheit 11 in Bezug auf die Hardware-Architektur wie in 2 gezeigt einen Prozessor 41, ein computerlesbares Medium wie beispielsweise einen Speicher 42 sowie eine oder mehrere Eingabe- und/oder Ausgabe(E/A)-Einheiten (oder Peripheriegeräte), die über eine lokale Schnittstelle 43 verbunden sind. Bei der lokalen Schnittstelle 43 kann es sich zum Beispiel um einen oder mehrere Busse oder andere drahtgebundene oder drahtlose Verbindungen handeln, wie sie in der Technik bekannt sind, ohne darauf beschränkt zu sein. Die lokale Schnittstelle 43 kann zusätzliche Elemente aufweisen, die aus Gründen der Einfachheit weggelassen wurden, wie beispielsweise Steuereinheiten, Puffer (Cachespeicher), Treiber, Verstärker und Empfänger, um Übertragungen von Daten zu ermöglichen. Die lokale Schnittstelle 43 kann des Weiteren Adress-, Steuer- und/oder Datenverbindungen beinhalten, um geeignete Übertragungen von Daten zwischen den vorstehend genannten Komponenten zu ermöglichen.
  • Bei dem Prozessor 41 handelt es sich um eine Hardware-Einheit zum Ausführen von Software, die in dem Speicher 42 gespeichert werden kann. Bei dem Prozessor 41 kann es sich um praktisch jeden kundenspezifischen oder handelsüblichen Prozessor, eine Zentraleinheit (CPU), einen Datensignalprozessor (DSP) oder einen Hilfsprozessor unter mehreren Prozessoren handeln, die zu dem Computernetzwerksystem 11 gehören, sowie um einen Mikroprozessor auf Halbleiterbasis (in Form eines Mikrochips) oder einen Mikroprozessor.
  • Der Speicher 42 kann ein beliebiges oder eine Kombination aus flüchtigen Speicherelementen (z.B. Arbeitsspeicher (RAM), beispielsweise einen dynamischen Arbeitsspeicher (DRAM), einen statischen Arbeitsspeicher (SRAM) usw.) und nichtflüchtigen Speicherelementen (z.B. Nur-Lese-Speicher (ROM), löschbare programmierbare Nur-Lese-Speicher (EPROM), elektronische löschbare programmierbare Nur-Lese-Speicher (EEPROM), programmierbare Nur-Lese-Speiche (PROM), Band, Compact-Disc-Nur-Lese-Speicher (CD-ROM), Platte, Diskette, Kassette oder Ähnliches usw.) enthalten. Des Weiteren kann der Speicher 42 elektronische, magnetische, optische und/oder andere Arten von Speichermedien beinhalten. Hierbei ist zu beachten, dass der Speicher 42 eine verteilte Architektur aufweisen kann, bei der verschiedene Komponenten entfernt voneinander angeordnet sind, auf die der Prozessor 41 jedoch zugreifen kann.
  • Die Software in dem Speicher 42 kann ein oder mehrere separate Programme enthalten, von denen jedes eine geordnete Auflistung von ausführbaren Anweisungen zum Ausführen logischer Funktionen aufweist. In dem in 2 veranschaulichten Beispiel enthält die Software in dem Speicher 42 ein geeignetes Betriebssystem (BS) 51 und das System 100 der vorliegenden Erfindung. Das System 100 weist die nachstehend beschriebenen funktionalen Komponenten und Prozessblöcke auf.
  • Das Betriebssystem 51 steuert im Wesentlichen die Ausführung anderer Computerprogramme wie beispielsweise einen Datenübertragungsstapel mit dem System 100 mit Datenübertragungsprotokoll und stellt Zeitplanung, E/A-Steuerung, Datei- und Datenverwaltung, Speicherverwaltung, Datenübertragungssteuerung und damit zusammenhängende Dienste bereit. Das System 100 mit Datenübertragungsprotokoll der vorliegenden Erfindung kann jedoch auch auf andere Betriebssysteme angewendet werden.
  • Der Datenübertragungsstapel enthält mehrere Schichten, darunter Protokolle der oberen Schicht (upper layer protocols, ULPs) 99 wie beispielsweise eine beliebige Schicht über Schicht 2, die Datenübertragungsprotokollschicht 100 und untere Schichten 98 wie beispielsweise eine beliebige Schicht unter Schicht 2.
  • Das System 100 mit Datenübertragungsprotokoll kann ein Quellprogramm, ausführbares Programm (Objektcode), Skript oder eine andere beliebige Entität aufweisen, die einen Satz von durchzuführenden Computerprogrammanweisungen aufweist. Wenn es sich bei dem System 100 mit Datenübertragungsprotokoll um ein Quellprogramm handelt, wird das Programm in der Regel über einen Compiler, Assembler, Interpreter oder Ähnliches übersetzt, der in dem Speicher 42 enthalten sein kann, um in Verbindung mit dem Betriebssystem 51 richtig zu arbeiten. Das System 100 mit Datenübertragungsprotokoll kann ferner als (a) eine objektorientierte Programmiersprache, die Klassen von Daten und Methoden aufweist, oder (b) eine prozedurale Programmiersprache geschrieben werden, die Routinen, Unterroutinen und/oder Funktionen aufweist.
  • Diese Computerprogrammanweisungen können auch in einem computerlesbaren Medium gespeichert werden, das einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung oder andere Einheiten steuern kann, um auf eine bestimmte Weise zu funktionieren, so dass die in dem computerlesbaren Medium gespeicherten Anweisungen einen Herstellungsartikel einschließlich der Anweisungen erzeugen, die die in dem Block oder den Blöcken des Ablaufplans und/oder des Blockschaltbilds festgelegte Funktion/Maßnahme umsetzen.
  • Die Computerprogrammanweisungen können ferner in einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung oder andere Einheiten geladen werden, um eine Reihe von Funktionsschritten auszulösen, die auf dem Computer, in der anderen programmierbaren Vorrichtung oder den anderen Einheiten durchgeführt werden, um einen auf einem Computer implementierten Prozess zu erzeugen, so dass die Anweisungen, die auf dem Computer oder in der anderen programmierbaren Vorrichtung ausgeführt werden, Prozesse bereitstellen, um die in dem Block oder den Blöcken des Ablaufplans und/oder des Blockschaltbilds festgelegten Funktionen/Maßnahmen umzusetzen.
  • Zu den E/A-Einheiten können Eingabeeinheiten gehören, zum Beispiel eine Maus 44, eine Tastatur 45, ein Scanner (nicht dargestellt), ein Mikrofon (nicht dargestellt) usw., ohne darauf beschränkt zu sein. Die E/A-Einheiten können des Weiteren auch Ausgabeeinheiten enthalten, zum Beispiel einen Drucker (nicht dargestellt), eine Anzeige 46 usw., ohne darauf beschränkt zu sein. Schließlich können zu den E/A-Einheiten weiterhin Einheiten zählen, die sowohl Eingaben als auch Ausgaben übertragen, zum Beispiel eine NIC oder ein Modulator/Demodulator 47 (für den Zugriff auf entfernt angeordnete Einheiten, andere Dateien, Einheiten, Systeme oder ein Netzwerk), ein HF- oder ein anderer Sender-Empfänger (nicht dargestellt), eine Telefonschnittstelle (nicht dargestellt), eine Brücke (nicht dargestellt), ein Router (nicht dargestellt) usw., ohne darauf beschränkt zu sein.
  • Wenn es sich bei der Computernetzwerkeinheit 11 um einen PC, eine Workstation, eine intelligente Einheit oder Ähnliches handelt, kann die Software in dem Speicher 42 darüber hinaus ein grundlegendes Eingabe/Ausgabe-System (BIOS) enthalten (aus Gründen der Einfachheit weggelassen). Das BIOS besteht aus einem Satz wichtiger Software-Routinen, die die Hardware beim Start initialisieren und prüfen, das Betriebssystem 51 starten und die Übertragung von Daten unter den Hardware-Einheiten unterstützen. Das BIOS ist in einem Nur-Lese-Speicher-Typ wie beispielsweise einem ROM, PROM, EPROM, EEPROM oder Ähnlichem gespeichert, so dass das BIOS ausgeführt werden kann, wenn die Computernetzwerkeinheit 11 aktiviert wird.
  • Wenn die Computernetzwerkeinheit 11 in Betrieb ist, ist der Prozessor 41 so konfiguriert, dass er in dem Speicher 42 gespeicherte Software ausführt, um Daten zu und von dem Speicher 42 zu übertragen und allgemein Operationen der Computernetzwerkeinheit 11 in Verbindung mit der Software zu steuern. Das System 100 und das Betriebssystem 51 werden ganz oder teilweise von dem Prozessor 41 gelesen, unter Umständen in dem Prozessor 41 zwischengespeichert und dann ausgeführt.
  • Wenn das System 100 mit Datenübertragungsprotokoll in Software ausgeführt ist, wie in 2 dargestellt, sei darauf hingewiesen, dass das System 100 mit Datenübertragungsprotokoll in einem beliebigen computerlesbaren Medium ausgeführt sein kann, um von oder in Verbindung mit einem System, einer Vorrichtung oder Einheit zum Ausführen von Anweisungen wie beispielsweise einem System auf Grundlage eines Computers, einem System, das einen Prozessor enthält, oder einem anderen System verwendet zu werden, das Anweisungen aus dem System, der Vorrichtung oder Einheit zum Ausführen von Anweisungen abrufen und die Anweisungen ausführen kann.
  • Für den Fachmann ist ersichtlich, dass Aspekte der vorliegenden Erfindung als System, Verfahren oder Computerprogrammprodukt ausgeführt werden können. Aspekte der vorliegenden Erfindung können daher die Form einer kompletten Hardware-Ausführung, einer kompletten Software-Ausführung (darunter Firmware, residente Software, Mikrocode usw.) oder eine Ausführungsform haben, bei der Hardware- und Software-Aspekte kombiniert sind, die allgemein hierin als „Schaltung“, „Modul“ oder „System“ bezeichnet werden können. Aspekte der vorliegenden Erfindung können des Weiteren die Form eines Computerprogrammprodukts haben, das in einem oder mehreren computerlesbaren Medien ausgeführt ist, die über einen darin enthaltenen computerlesbaren Programmcode verfügen.
  • Im Zusammenhang mit diesem Dokument kann es sich bei einem „computerlesbaren Medium“ um ein beliebiges Medium handeln, das das Programm speichern, übertragen, weitergeben oder transportieren kann, welches von oder in Verbindung mit dem System, der Vorrichtung oder Einheit zum Ausführen von Anweisungen verwendet wird. Bei dem computerlesbaren Medium kann es sich zum Beispiel um ein elektronisches, magnetisches, optisches, elektromagnetisches, Infrarot- oder Halbleitersystem, eine solche Vorrichtung oder Einheit, ein Weitergabemedium oder eine andere physische Einheit oder ein anderes physisches Mittel handeln, ohne darauf beschränkt zu sein, die ein Computerprogramm enthalten oder speichern können, welches von oder in Verbindung mit einem computergestützten System oder einem solchen Verfahren verwendet wird.
  • Zu genauen Beispielen (einer nicht vollständigen Liste) für das computerlesbare Medium gehören wie folgt: eine elektrische Verbindung (elektronisch) mit einer oder mehreren Leitungen, eine tragbare Computer-Diskette (magnetisch oder optisch), ein RAM (elektronisch), ein ROM (elektronisch), ein EPROM, EEPROM oder Flash-Speicher (elektronisch), ein Lichtwellenleiter (optisch) und ein tragbarer CD/ROM, CD R/W (optisch). Es sei darauf hingewiesen, dass es sich bei dem computerlesbaren Medium auch um Papier oder ein anderes geeignetes Medium handeln kann, auf das das Programm gedruckt oder gestanzt (wie bei Lochstreifen, Lochkarten usw.) wird, da das Programm zum Beispiel über optisches Abtasten des Papiers oder anderen Mediums elektronisch erfasst, dann kompiliert, übersetzt oder gegebenenfalls auf andere Weise in geeigneter Form verarbeitet werden und anschließend in einem Computerspeicher gespeichert werden kann.
  • Ein computerlesbares Signalmedium kann ein sich ausbreitendes Datensignal mit darin enthaltenem computerlesbarem Programmcode beinhalten, zum Beispiel im Basisband oder als Teil einer Trägerwelle. Ein solches sich ausbreitendes Signal kann eine Vielfalt von Formen haben, darunter elektromagnetische, optische Formen oder eine geeignete Kombination davon, ohne darauf beschränkt zu sein. Bei einem computerlesbaren Signalmedium kann es sich um ein beliebiges computerlesbares Medium handeln, das kein computerlesbares Speichermedium ist und das ein Programm zur Verwendung durch oder in Verbindung mit einem System, einer Vorrichtung oder Einheit zum Ausführen von Anweisungen übertragen, weitergeben oder transportieren kann. In einem computerlesbaren Medium enthaltener Programmcode kann unter Verwendung eines geeigneten Mediums übermittelt werden, das drahtlos, drahtgebunden, ein Lichtwellenleiterkabel, HF usw. oder eine geeignete Kombination davon sein kann, ohne darauf beschränkt zu sein.
  • Bei einer alternativen Ausführungsform, bei dem das System 100 mit Datenübertragungsprotokoll in Hardware ausgeführt ist, kann das System 100 mit Datenübertragungsprotokoll mit einer beliebigen oder einer Kombination der folgenden Technologien ausgeführt sein, die in der Technik bekannt sind: eine oder mehrere diskrete Logikschaltungen mit Logikgattern zum Umsetzen von logischen Funktionen auf Datensignalen, eine anwendungsspezifische integrierte Schaltung (ASIC) mit geeigneten kombinatorischen Logikgattern, eine oder mehrere programmierbare Gatteranordnungen (PGA), eine vor Ort programmierbare Gatteranordnung (FPGA) usw.
  • Nachstehend werden Aspekte der vorliegenden Erfindung unter Bezugnahme auf Ablaufplandarstellungen und/oder Blockschaltbilder von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß Ausführungsformen der Erfindung beschrieben. Es versteht sich, dass jeder Block der Ablaufplandarstellungen und/oder der Blockschaltbilder sowie Kombinationen von Blöcken in den Ablaufplandarstellungen und/oder in den Blockschaltbildern durch Computerprogrammanweisungen umgesetzt werden können. Diese Computerprogrammanweisungen können einem Prozessor eines Universalrechners, eines Spezialrechners oder einer anderen programmierbaren Datenverarbeitungsvorrichtung bereitgestellt werden, um eine Maschine zu bilden, so dass die Anweisungen, die über den Prozessor des Computers oder der anderen programmierbaren Datenverarbeitungsvorrichtung ausgeführt werden, ein Mittel erzeugen, um die in dem Block oder den Blöcken des Ablaufplans und/oder des Blockschaltbilds festgelegten Funktionen/Maßnahmen umzusetzen.
  • Wie dargelegt, weist eine Ausführungsform der Computernetzwerkeinheit 11 eine Netzwerkeinheit mit Mehrfach-Anschluss auf, die Daten in der Datensicherungsschicht (Schicht 2 des OSl-Modells) verarbeitet und weiterleitet und dabei gemäß einer Ausführungsform der Erfindung ein Schicht-2(L2)-Übertragungsprotokoll und einen entsprechenden Mechanismus verwendet. Eine Ausführung des Systems 100 in der Einheit 11 weist ein auf Ethernet beruhendes System mit L2-Datenübertragungsprotokoll (EL2T) für verteilte Systemarchitekturen wie beispielsweise ein System mit einem Protokoll einer verteilten Struktur (DFP) auf (in einem Beispiel weist das System 10 ein DFP-System auf). Bei einer Ausführung funktioniert das EL2T-System als ein logischer Ersatz für ein Übertragungsprotokollmodul, bei dem Systeme (Knoten), die das EL2T-System verwenden, mit anderen Systemen Daten austauschen können, ohne Berücksichtigung der Details der tatsächlichen Datenübertragung wie beispielsweise die bei der Übermittlung verwendete Paketstruktur.
  • In einem DFP-System mit einer Computernetzwerkeinheit 11 verwenden alle mit einem DFP-System verbundenen Knoten das EL2T-System, das Datenübertragungsdienste bereitstellt, darunter ein Erkennen von Fehlern beim Senden und ein erneutes Senden. Das EL2T-System stellt Protokolle der oberen Schicht (z.B. ULPs 99) bereit, ein wirksamer Mechanismus für das Austauschen von Daten mit anderen Knoten. Solche ULPs registrieren sich bei dem EL2T-System für einen Dienst und fordern Datenübertragungsdienste an, die das EL2T-System wie hierin beschrieben bearbeitet.
  • 3 zeigt einen Ablaufplan eines Prozesses 50 zum Übertragen von Daten zwischen Knoten in einem DFP-Netzwerk gemäß einer Ausführungsform der Erfindung. Gemäß Prozessblock 51 wird in einer Schicht-2(L2)-Netzwerkeinheit eine Anforderung für einen Paketübertragungsdienst von einem Quellknoten empfangen.
  • Gemäß Prozessblock 52 wird der Quellknoten als Reaktion auf die Anforderung als Client-Knoten für einen Paketübertragungsdienst registriert (eine von dem Quellknoten bereitgestellte Rückruffunktion wird zum Empfangen von Informationen zum Sendestatus von dem System registriert). Bei einer Ausführung weist das Registrieren eines Quellknotens für einen Paketübertragungsdienst gemäß Prozessblock 53 weiterhin ein Verwalten einer Datenstruktur zur Transaktionsüberwachung einschließlich eines Client-Eintrags in einer Client-Liste für den Quellknoten auf. Für jeden Client-Eintrag gibt es einen oder mehrere Zieleinträge in einer Zielknotenliste, wobei jeder Zieleintrag einem Zielknoten für den Quellknoten entspricht. Für jeden Zieleintrag gibt es eine Liste mit Pakettransaktionen, die anstehenden Paketübertragungen zwischen dem Quellknoten und dem Zielknoten entsprechen, der dem Zieleintrag entspricht.
  • Gemäß Prozessblock 54 wird eine Sendewarteschlange verwendet, um Pakete von entsprechenden registrierten Quellknoten (d.h. Client-Knoten) zum Senden einzureihen.
  • Zum Senden von Paketen wird gemäß Prozessblock 55 eine Kopfzeile an jedes Paket zum Senden angehängt, wobei die Kopfzeile Informationen zum Datenübertragungsprotokoll aufweist (die Datenstruktur zur Transaktionsüberwachung wird auf der Grundlage des Übertragungsstatus des Pakets aktualisiert).
  • Gemäß Prozessblock 56 wird ein Schnittstellenanschluss ausgewählt, der einem Zielknoten zugehörig ist, um unter Verwendung des ausgewählten Schnittstellenanschlusses ein Paket von einem entsprechenden Quellknoten über eine Datenübertragungsverbindung zu dem Zielknoten zu senden.
  • Gemäß Prozessblock 57 werden ein oder mehr Pakete von der Warteschlange zu einem oder mehreren Zielknoten über die ausgewählten Schnittstellen gesendet.
  • Gemäß Prozessblock 58 werden beim Paketempfang Pakete von einem oder mehreren Zielknoten empfangen. Eine Empfangswarteschlange wird verwendet, um Pakete von Zielknoten einzureihen, die registrierten Quellknoten entsprechen. Die Datenstruktur zur Transaktionsüberwachung wird auf der Grundlage des Übertragungsstatus eines empfangenen Pakets aktualisiert.
  • Gemäß Prozessblock 59 werden empfangene Pakete von einem Zielknoten für einen entsprechenden Quellknoten in die Empfangswarteschlange eingereiht.
  • Gemäß Prozessblock 60 wird jedes empfangene Paket an einen entsprechenden registrierten Knoten weitergeleitet (die von einem registrierten Quellknoten bereitgestellte Rückruffunktion wird verwendet, um Sende-Informationen für Pakete bereitzustellen, die dem registrierten Quellknoten entsprechen).
  • 4 zeigt eine Architektur eines Datenübertragungsprotokolls für das EL2T-System 100 in einem Datenübertragungsstapel mit mehreren Funktionsschichten gemäß einer Ausführungsform der Erfindung. 5 zeigt ein Ausführungs- und Datenmodell 150 für das EL2T-System 100 gemäß einer Ausführungsform der Erfindung. Das EL2T-System beinhaltet zwei primäre Datenübertragungsmodule, eines zum Senden von Daten (TX-Schicht 101) und eines zum Empfangen von Daten (RX-Schicht 102). Das EL2T-System 100 erzeugt jedes Mal, wenn ein ULP 99 sich bei dem EL2T-System für einen Dienst registriert, einen Client-Knoten 151. Jeder Client-Knoten 151 entspricht einem ULP 99, das sich bei dem EL2T-System 100 für einen Dienst registriert.
  • Jeder Client-Knoten (Client-Knoten) 151 weist einen oder mehrere zugehörige CPU-Knoten (CPU_Knoten) 152 auf. Ein CPU-Knoten 152 bezeichnet einen Zielknoten zum Austauschen von Daten mit dem Client-Knoten 151 (der einem registrierten ULP entspricht). Ein Client-Knoten 151 muss unter Umständen gleichzeitig mit mehreren Zielknoten in dem System 10 Daten austauschen. Das EL2T-System erzeugt daher für jeden Zielknoten einen CPU-Knoten 152. Um die Transaktionen für das Senden (TX) und den Empfang (RX) für jeden CPU-Knoten 152 nachzuverfolgen, verwendet das EL2T-System eine Sende-Transaktionsliste (TX-Transaktionsliste) 152T bzw. eine Empfangs-Transaktionsliste (TX-Transaktionsliste) 152R.
  • Während der Verarbeitung analysiert ein TX-Thread (Prozess) der TX-Schicht 101 alle TX-Transaktionslisten aller CPU-Knoten, und ein RX-Thread der RX-Schicht 102 prüft alle RX-Transaktionslisten aller CPU-Knoten. Die TX- und RX-Threads prüfen für die registrierten ULPs gegebenenfalls den Status der Sendevorgänge von Paketen, Zeitlimitüberschreitungen und erneutes Senden. Wenn die Anzahl der erneuten Sendevorgänge einen Grenzwert überschreitet, wird das Senden dem entsprechenden ULP, das bei dem EL2T-System für einen Dienst registriert ist, als fehlgeschlagen gemeldet.
  • Bei einer Ausführung stellt das EL2T-System ein Übertragungsprotokoll für ein DFP-System mit einem effizienten, kostengünstigen, niedrige Latenzzeit aufweisenden und zuverlässigen Schicht-2-Datenübertragungsprotokoll in verteilten Systemarchitekturen wie z.B. in Blade-Switch-Anwendungen bereit. In einem Beispiel stellt das EL2T-Protokoll ein Übertragungsprotokoll für eine DFP-Ausführung bereit, bei der ein Paket als ein Zeichenpuffer behandelt wird, ohne dass die Paketstruktur für die Datenübertragung bekannt sein muss. Gemäß einer Ausführungsform der Erfindung funktioniert das EL2T-System daher als ein logischer Ersatz für eine herkömmliche Datenübertragungsschicht, die als Sendemittel zum Austauschen von Daten mit mehreren Einheiten in einem Datenübertragungsstapel verwendet wird. Das EL2T-System verschleiert, wie die tatsächliche Datenübertragung von den mehreren Einheiten stattfindet.
  • Ausführungsmodell
  • Ein ULP (d.h. Client), das einen EL2T-Dienst benötigt, registriert sich bei einem Dienstregistrierungsmodul 120 des EL2T-Systems 100 für den Dienst, indem beispielsweise eine Funktion el2t_register() des Registrierungsmoduls 120 aufgerufen wird. Der Client geht zu einer clientld (Client-Kennung) und einer Rückrufroutine für diesen Client weiter (ein Client-Knoten wird nach der Registrierung erzeugt (5)). Nach der Registrierung kann der Client mit dem Senden und Empfangen von EL2T-Paketen beginnen. Clients, die sich bei einer NULL-Rückrufroutine registrieren, können keine EL2T-Pakete empfangen, da es sich bei der Rückrufroutine um die Routine handelt, die für die Verarbeitung dieser empfangenen Pakete zuständig ist.
  • Wie dargestellt, verwendet ein EL2T-Protokoll des EL2T-Systems in einer Ausführungsform zwei Datenübertragungsmodule (TX-Schicht 101 und RX-Schicht 102) bei einer Datenübertragungsoperation. Die TX-Schicht 101 implementiert einen Sendeprozess (TX-Thread), und die RX-Schicht 102 implementiert einen Empfangsprozess (RX-Thread). In einem Beispiel weist der TX-Thread einen pthread EL2T_TX auf, und der RX-Thread weist einen pthread EL2T_RX auf. Die Prozesse werden beim Starten des Systems statisch erzeugt.
  • Der TX-Thread ist für das Senden einer Nachricht (z.B. eines Pakets) von einem ULP 99 (d.h. Client-Knoten 151) zu einem Zielknoten 105 über eine Datenübertragungsverbindung zuständig, wobei ein Zeitgeber gestartet wird, der auf eine ACK-Nachricht (Bestätigungsnachricht) wartet und die Nachricht erneut sendet, wenn die ACK nicht rechtzeitig empfangen wird. In einem Beispiel weist ein Zielknoten 105 ein System 15 in 1 auf. Der RX-Thread ist für das Empfangen einer Nachricht von einem Zielknoten 105 und für das Weiterleiten der Nachricht zu einem entsprechenden Client-Knoten 151 für diese Nachricht zuständig. Wenn der RX-Thread als Reaktion auf die weitergeleitete Nachricht eine ACK von dem Client-Knoten 151 empfängt, stoppt der RX-Thread den Zeitgeber, und ein entsprechender Thread, der die Paketübermittlung initialisiert hat, wird durch eine Aufwecknachricht (z.B. ST_MSGCMD_WAKEUP) aktiviert. Die Aufwecknachricht gibt an, ob die Nachrichtenübertragungsoperation fehlgeschlagen ist oder erfolgreich war.
  • In einem Beispiel verwaltet das EL2T-System 100 eine Liste 150 mit registrierten Clients 151, die der Priorität nach geordnet sind, und eine Liste mit CPU-Knoten 152 für jeden Client 151. Die Liste mit CPU-Knoten wird als eine Anordnung von Client-CPU-Datenstrukturen für die Clients verwaltet. Zu Informationen im Zusammenhang mit einer CPU für jeden Anordnungseintrag gehören eine Kennung Cpuld, ein Merker, der anzeigt, ob es sich aktuell um einen gültigen Eintrag handelt, eine Empfangs-Transaktionswarteschlange (RX-Warteschlange) 106 und eine Sende-Transaktionswarteschlange (TX-Warteschlange) 107. Cpuld und ein entsprechender Schlüssel werden in einer CPU-Datenbank verwaltet, die von einem Protokoll einer höheren Schicht wie beispielsweise einem Switch-Erkennungsprotokoll (Switch Discovery Protocol, SDP) verwaltet wird.
  • Die RX-Warteschlange entspricht dem RX-Thread, und die TX-Warteschlange entspricht dem TX-Thread. RX- und TX-Thread sind immer bereit, ihre Funktionen durchzuführen, warten jedoch nicht aktiv. Jeder der RX- und TX-Threads wartet auf seinen jeweiligen Zähl-Semaphor, der immer, wenn eine Nachricht in seine Warteschlange (d.h. RX-Warteschlange bzw. TX-Warteschlange) gestellt wird, inkrementiert wird und entsprechend dekrementiert wird, wenn eine Nachricht aus der Warteschlange entfernt und danach verarbeitet wird.
  • Eine Pfadauswahlschicht (path selection layer, PSL) 109 gemäß der vorliegenden Erfindung empfängt Pakete von Zielknoten. Ein von einer PSL 109 empfangenes EL2T-Paket wird in die entsprechende RX-Warteschlange 106 eingereiht, wo das Paket wiederum von dem RX-Thread verarbeitet wird.
  • Die richtige TX-Warteschlange für ein zu sendendes Paket und die richtige RX-Warteschlange für ein empfangenes Paket werden anhand einer Clientld und einer CpulD ermittelt, die von dem Aufruferprozess zum Senden von Daten (TX) oder einem Paket zum Empfangen von Daten (RX) bereitgestellt werden.
  • Der TX-Thread verarbeitet eine Pakettransaktion, indem eine Paketsendung (d.h. Zuteilen zu der richtigen PSL-Schnittstelle zur Anwendungsprogrammierung (API)) und gegebenenfalls ein erneutes Senden durchgeführt werden. In einem Beispiel wird ein erneutes Senden dreimal versucht, bevor einem entsprechenden ULP ein Fehler angezeigt wird. Ein erneutes Senden beinhaltet ein Starten eines Zeitgebers beim Senden, wobei der RX-Thread den Zeitgeber stoppt, wenn eine ACK innerhalb eines Zeitlimits von einem Zielknoten empfangen wird. Andernfalls löst der Ablauf des Zeitgebers ein erneutes Senden durch den TX-Thread aus.
  • Für ein vorgegebenes Paar (Clientld, Cpuld) kann es nur einen ausstehenden Sendevorgang eines Pakets geben. Auch wenn sich das nächste Paket in der TX-Warteschlange befindet, wird nicht versucht, es zu senden, wenn ein gesendetes Paket nicht bestätigt ist oder als fehlgeschlagen angezeigt wird.
  • Paketsendung
  • Der TX-Thread wählt aus, welche Pakettransaktion als nächstes verarbeitet werden soll, indem die Warteschlangen 107 für alle Client-Knoten 151 geprüft werden, um eine Transaktion zu suchen, für die ein Sendevorgang ausgeführt werden muss. Der TX-Thread wartet auf einen Zähl-Semaphor wie beispielsweise tx_cnt_semaphore, bevor er mit dem Senden für eine ausgewählte Transaktion fortfährt. Wenn der Zähl-Semaphor angibt, dass der TX-Thread fortfahren kann, verwendet der TX-Thread für die zu verarbeitende ausgewählte Transaktion die clientld, die in minClientld gespeichert ist, welche die erste clientld in der Reihenfolge der Priorität verwaltet.
  • Für eine Pakettransaktion hängt der TX-Thread eine EL2T-Kopfzeile (Hdr) an ein ankommendes Paket 110 von einem Client-Knoten 151 an, wobei die EL2T-Kopfzeile ein Protokoll des Formats Typ-Länge-Wert (type-length-value, TLV) für EL2T enthält sowie weitere Informationen zum Nachverfolgen der clientld, Transaktionsnummer usw. Das daraus sich ergebende EL2T-Paket 110E beinhaltet eine solche Kopfzeile und Nutzdateninformationen von dem ankommenden Paket. In einem Datenübertragungsprotokoll können optionale Informationen als TLV-Element im Protokoll codiert werden.
  • Der TX-Thread sendet das EL2T-Paket 110E unter Verwendung einer Anwendungsschnittstelle der PSL 109, beispielsweise der API PSL_tx, startet den Zeitgeber, ändert den Status der Transaktion in IN_PROGRESS (in Verarbeitung) und verwaltet einen Zähl-Semaphor. Wenn eine Transaktion einen Status COMPLETED (beendet) aufweist, aktiviert der TX-Thread einen Aufrufer-Thread (d.h. Rückrufroutine), der von dem Client 151 weitergegeben wurde, der sich für ein Senden des Pakets 110E registriert hat. Der TX-Thread entfernt dann die Transaktion aus der Transaktionsliste 152T für den Client-Knoten 151 (und das gesendete Paket wird dann aus der Warteschlange entfernt).
  • Wenn der Zähl-Semaphor nach Ablauf des Zeitgebers nicht einen Grenzwert wie beispielsweise MAX_RETRY überschreitet, löst eine Zeitgeber-Rückrufroutine, die ab dem Starten des Zeitgebers verfügbar ist, den nächsten erneuten Versuch aus und startet den Zeitgeber gegebenenfalls erneut.
  • Sobald die ausgewählte Transaktion verarbeitet ist, geht der TX-Thread zu einem nächsten Client-Knoten 151 in der Reihenfolge der Priorität für eine nächste Transaktion weiter (wenn minClient-Kennung unverändert ist), oder er geht andernfalls zu einer geänderten minClientld weiter. Und so weiter.
  • Paketempfang
  • Die PSL-Schicht 109 verwendet Paketinformationen (z.B. von den empfangenen Paketen 111), um die Pakete in die entsprechenden RX-Warteschlangen 106 mittels Rückrufroutinen zu stellen, die von den Client-Knoten 151 beim Registrieren für einen EL2T-Dienst bei dem EL2T-System 100 bereitgestellt werden.
  • Der RX-Thread prüft die RX-Warteschlangen 106 und verarbeitet nacheinander die darin enthaltenen RX-Transaktionen. Beim Ermitteln, welcher Client-Knoten 151 zuerst verarbeitet werden soll, führt der RX-Thread ähnliche Schritte wie der TX-Thread durch, indem zuerst ein Paket von den RX-Warteschlangen 106 ausgewählt wird. Wenn es sich bei dem ausgewählten Paket um eine ACK-Anforderung handelt, bricht der RX-Thread den von dem TX-Thread eingestellten entsprechenden Sende-Zeitgeber ab und kennzeichnet die entsprechende TX-Transaktion als COMPLETED (beendet). Wenn es sich bei dem ausgewählten Paket nicht um eine ACK-Anforderung handelt, stellt der RX-Thread ein entsprechendes ACK-Paket in die TX-Warteschlange 107 für den zugehörigen Client-Knoten 151 und ruft die Rückrufroutine auf, die von dem zugehörigen Client-Knoten 151 bereitgestellt wird (dieser Rückruf wurde verfügbar, als der Client sich für den EL2T-Dienst registriert hat).
  • Paketzuordnung
  • Das EL2T-System 100 enthält ferner ein Speicherverwaltungsmodul 130, das APIs zur Speicherverwaltung für eine Speicherzuordnungsfunktion (z.B. EL2T_alloc()) und eine Freigabefunktion (z.B. EL2T_free()) bereitstellt. Das EL2T-System verwaltet somit seinen Pufferspeicher-Pool 131. Die Zuordnungsfunktion dient für die ULPs dazu, ein Zuordnen eines Puffers für das Senden eines Pakets aufzurufen. Die Zuordnungsfunktion gibt einen Pufferzeiger auf einen Speicherblock 131B zurück, wo ein ULP seine Nutzdaten platzieren kann. Die Zuordnungsfunktion reserviert den Platz für eine EL2T-Paketkopfzeile am Anfang des Puffers, wobei die ULPs den zugeordneten Platz solange nicht verwalten müssen, wie die ULPs die Freigabefunktion aufrufen. In einem Beispiel ordnet das EL2T-System 100 vorweg eine Anzahl der zu verwaltenden Speicherblöcke zu. Ein ULP verwendet eine Freigabefunktion, um einen zugeordneten Puffer freizugeben.
  • Datenübertragung mit ULP
  • Ein ULP überträgt Daten über eine EL2T-API-Schicht für das Senden von Paketen (d.h. TX-Schicht) und über eine Rückruffunktion (d.h. RX-Schicht) mit dem EL2T-System, wenn ein Paket 110 für das ULP empfangen wird. Das Beendigen des Sendevorgangs wird durch eine an den Aufrufer-Thread gesendete Nachricht angezeigt.
  • Ein ULP überträgt auch Daten mit dem EL2T-System 100 über die Funktionsaufrufe el2t_register() und el2t_unregister(), die die vorstehend für das Dienstregistrierungsmodul in 4 beschriebenen Registrierungs- und Registrierungsaufhebungsdienste bereitstellen.
  • Ein ULP verwendet auch die APIs el2t_pkt_malloc() und el2t_pkt free(), die von EL2T bereitgestellt werden und die die vorstehend mit Bezug auf das Speicherverwaltungsmodul in 4 beschriebenen Speicherzuordnungs- und Freigabefunktionen bereitstellen.
  • Datenübertragung mit PSL
  • Das EL2T-System 100 überträgt mit der PSL-Schicht 109 Daten, indem es sich für einen Dienst der PSL-Schicht registriert. Das EL2T-System 100 registriert sich bei der PSL 109 bzw. hebt die Registrierung bei der PSL 109 auf und zwar über die von der PSL-Schicht 109 bereitgestellten API-Aufrufe pls_register() bzw. psl_unregister(). Die PSL-Schicht 109 unterstützt das EL2T-System 100 allgemein beim Ermitteln, welche Schnittstelle 140 unter den zahlreichen Schnittstellen beim Senden von Paketen verwendet werden soll und an welchen Client-Knoten 151 ein ankommendes Paket gesendet werden soll. Das ULP muss sich somit nicht damit befassen, welche Schnittstelle verwendet wird. Zu Beispielen der Schnittstellen gehören eine Verwaltungsanschlussschnittstelle und eine Datenanschlussschnittstelle (ein Datenanschluss verfügt über seinen eigenen Treiber und ein Verwaltungsanschluss verfügt über seinen eigenen Treiber). Je nach Zieladresse entscheidet die PSL-Schicht 109, welcher Pfad verwendet werden soll (z.B. Verwaltungsanschlussschnittstelle oder Datenanschlussschnittstelle).
  • Für das Registrieren bei der PSL-Schicht 109 gibt das EL2T-System während des Registrierens bei der PSL-Schicht seinen Protokolltyp weiter und gibt einen Rückruf für den Empfang der Nachrichten für sich selbst weiter. Für das Senden verwendet das EL2T-System 100 eine Funktion wie psl_tx(). Für das Empfangen überträgt das EL2T-System 100 Daten über die Rückruffunktion, die bei der Registrierung bereitgestellt wurde. PSL ist ähnlich wie EL2T ein auf Registrierung beruhender Dienst. EL2T ist somit einer der Clients von PSL, wobei die PSL ihre Clients durch eine Protokollkennung kennzeichnet.
  • Zustandsmaschine
  • FürTX- und RX-Transaktionen in den Transaktionslisten 152T, 152R verwendet das EL2T-System 100 in einer Ausführungsform ein Zustandsmaschinenmodell. Wenn eine Transaktion erzeugt wird, wird die Transaktion in eine Warteschlange gestellt und mit dem Zustand ENQUEUED (eingereiht) gekennzeichnet. Wenn die Transaktion verarbeitet wird, geht die Transaktion in den Zustand IN_PROGRESS (in Verarbeitung) über. Die Transaktion bleibt in diesem Zustand, während Warten-auf-ACK/erneutes Senden im Gange ist. Wenn dies erfolgt ist (oder maximale Anzahl von erneuten Versuchen erreicht ist), geht die Transaktion in einen Zustand COMPLETED (beendet) über und wird in der nächsten Runde gelöscht. Bei einer Ausführungsform verwaltet das EL2T-System 100 Statistiken aller empfangenen und gesendeten Pakete pro Client-Knoten 151 pro CPU-Knoten 152.
  • Datenstrukturen
  • Die nachstehenden Tabellen 1 bis 7 veranschaulichen beispielhafte Datenstrukturen und Funktionen, die von dem EL2T-System 100 und Protokollschichten (z.B. 3 und 4) gemäß einer Ausführungsform der Erfindung verwendet werden. Tabelle 1 zeigt eine beispielhafte Datenstruktur für Client-Knoten, die von dem EL2T-System verwaltet werden.
    Figure DE112013000839B4_0001
    Figure DE112013000839B4_0002
  • Tabelle 2 zeigt eine beispielhafte Datenstruktur für CPU-spezifische Informationen in Verbindung mit einem Client.
    Figure DE112013000839B4_0003
  • Tabelle 3 zeigt eine beispielhafte Datenstruktur für eine EL2T-Kopfzeile, die bei einer EL2T-Übermittlung verwendet wird.
    Figure DE112013000839B4_0004
    Figure DE112013000839B4_0005
  • Tabelle 4 zeigt eine beispielhafte Datenstruktur für RX-Transaktionen.
    Figure DE112013000839B4_0006
    Figure DE112013000839B4_0007
  • Tabelle 5 zeigt eine beispielhafte Datenstruktur für TX-Transaktionen.
    Figure DE112013000839B4_0008
  • Schnittstellen zur Anwendungsprogrammierung
  • Figure DE112013000839B4_0009
    Figure DE112013000839B4_0010
  • In Tabelle 6 wird die API EL2T_register von einem ULP als Client zum Registrieren bei dem EL2T-System verwendet und enthält einen von dem Client als eindeutige Kennzeichnung für das EL2T-System bereitgestellten Parameter clientld, um einen registrierenden Client zu kennzeichnen. Mit dem Merker-Parameter kann der Client angeben, ob eine Bestätigung erforderlich ist. Der Rückruf-Parameter stellt eine Funktion bereit, die von dem EL2T-System aufgerufen wird, wenn ein Paket für den Client empfangen wird (z.B. RX-Rückruf). Mit dem Cookie-Parameter kann das EL2T-System unter Verwendung der Rückruffunktion Informationen an den Client weiterleiten. Ebenso kann die Funktion EL2T_tx einen Parameter aufweisen, der im Fall von Fehlern bei einem erneuten Senden vom EL2T-System aufgerufen wird.
  • Das ULP verwendet die API EL2T_unregister, wenn es den EL2T-Dienst nicht mehr braucht.
  • Tabelle 7 zeigt eine Liste mit beispielhaften APIs für eine PSL-Datenübertragung zum Verwenden durch das EL2T-System.
    Figure DE112013000839B4_0011
    Figure DE112013000839B4_0012
  • Das EL2T-System registriert sich unter Verwendung der API PSL_register bei der PSL-Schicht für einen Dienst, ähnlich wie sich ein ULP unter Verwendung ähnlicher Parameter bei dem EL2T-System registriert.
  • Eine Ausführungsform des EL2T-Systems ist für ein Switching-System für die Übertragung von Daten in einem Datenzentrum von Nutzen, beispielsweise für Topof-Rack- und Blade-Server-Switches, die in einer Server-, Speicher- und Netzwerkinfrastruktur für Datenzentren von Informationstechnologie-Unternehmen verwendet werden. Bei einer Ausführung ermöglicht es das EL2T-System, dass mehrere physische Router funktional als ein logischer Switch erscheinen, der für weitere physische Router erweitert werden kann.
  • Die hierin verwendete Terminologie dient lediglich zum Zweck des Beschreibens von speziellen Ausführungsformen und soll die Erfindung nicht einschränken. Wie hierin verwendet, sollen die Singularformen „ein/eine/einer/eines“ und „der/die/das“ ebenfalls die Pluralformen umfassen, es sei denn, der Zusammenhang zeigt eindeutig etwas anderes auf. Es versteht sich ferner, dass die Ausdrücke „aufweisen“ und/oder „aufweisend“, wenn sie in dieser Beschreibung verwendet werden, die Anwesenheit von angegebenen Merkmalen, Ganzzahlen, Schritten, Operationen, Elementen und/oder Komponenten spezifizieren, jedoch nicht die Anwesenheit oder Hinzufügung von einem oder mehreren anderen Merkmalen, Ganzzahlen, Schritten, Operationen, Elementen, Komponenten und/oder Gruppen davon ausschließen.
  • Der Ablaufplan und die Blockschaltbilder in den Figuren veranschaulichen die Architektur, Funktionalität und den Betrieb möglicher Ausführungen von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedener Ausführungsformen der vorliegenden Erfindung. In dieser Hinsicht kann jeder Block in dem Ablaufplan oder den Blockschaltbildern ein Modul, Segment oder einen Teil eines Codes darstellen, das/der eine oder mehrere ausführbare Anweisungen zur Umsetzung der festgelegten Logikfunktion(en) aufweist. Es ist ferner darauf hinzuweisen, dass die im Block angegebenen Funktionen bei einigen alternativen Ausführungen in einer anderen Reihenfolge als in den Figuren dargestellt ablaufen können. Zwei aufeinanderfolgend dargestellte Blöcke können zum Beispiel tatsächlich im Wesentlichen gleichzeitig ausgeführt werden, oder die Blöcke können je nach entsprechender Funktionalität manchmal in umgekehrter Reihenfolge ausgeführt werden. Des Weiteren ist darauf hinzuweisen, dass jeder Block der Blockschaltbilder und/oder der Ablaufplandarstellung sowie Kombinationen von Blöcken in den Blockschaltbildern und/oder der Ablaufplandarstellung durch spezielle auf Hardware beruhende Systeme umgesetzt werden können, die die angegebenen Funktionen oder Maßnahmen durchführen, oder durch Kombinationen von spezieller Hardware und Computeranweisungen.
  • Es ist zu betonen, dass die oben beschriebenen Ausführungsformen der vorliegenden Erfindung, insbesondere alle „bevorzugten“ Ausführungsformen, lediglich mögliche Beispiele von Ausführungen sind, die nur zum besseren Verständnis der Grundgedanken der Erfindung erläutert wurden.
  • An der/den oben beschriebenen Ausführungsform(en) der Erfindung können viele Abwandlungen und Änderungen vorgenommen werden, ohne im Wesentlichen vom Geist und den Grundgedanken der Erfindung abzuweichen. Alle diese Änderungen und Abwandlungen sollen hierin im Umfang dieser Offenbarung und der vorliegenden Erfindung enthalten und durch die nachfolgenden Ansprüche geschützt sein.

Claims (10)

  1. Netzwerk-Switch-System zum Übertragen von Daten zwischen Knoten in einem Netzwerk, das aufweist: ein Dienstregistrierungsmodul, das einen oder mehrere Quellknoten für einen Paketübertragungsdienst registriert; ein Sendemodul, das ein oder mehrere Pakete von einem registrierten Quellknoten zu einem oder mehreren Zielknoten weiterleitet; ein Empfangsmodul, das ein oder mehrere Pakete von einem oder mehreren Zielknoten zu einem registrierten Quellknoten weiterleitet; wobei die Protokollpakete in einem Schicht-2(L2)-Bereich weitergeleitet werden, wobei das Netzwerk-Switch-System ein L2- oder Schicht-3(L3)-fähige Netzwerkeinheit ist, wobei das Sendemodul eine Sendewarteschlange zum Einreihen von Paketen von entsprechenden registrierten Quellknoten zum Senden verwaltet, wobei das Sendemodul eine Kopfzeile an jedes Paket zum Senden anhängt; wobei die Kopfzeile Informationen zum Datenübertragungsprotokoll aufweist; wobei das Empfangsmodul eine Empfangswarteschlange verwaltet, um Pakete von Zielknoten einzureihen, die registrierten Quellknoten entsprechen, wobei das Sendemodul nach einer fehlenden Bestätigung von einem Zielknoten als Antwort auf ein Senden eines Pakets ein Paket mindestens einmal erneut sendet, bevor der Sendevorgang einem entsprechenden registrierten Quellknoten als fehlgeschlagen anzeigt wird. wobei als Reaktion auf eine Dienstregistrierungsanforderung von einem Quellknoten das Dienstregistrierungsmodul eine Rückruffunktion registriert, die von dem Quellknoten bereitgestellt wird, um Sendeinformationen von dem System zu empfangen, wobei das Sendemodul die von einem registrierten Quellknoten bereitgestellte Rückruffunktion verwendet, um den Sendestatus von Paketen bereitzustellen, die dem registrierten Quellknoten entsprechen, wobei die Kopfzeile ein Protokoll eines Formats Type-Länge-Wert (TLV) für das auf Ethernet beruhende L2-Datenübertragungsprotokoll (EL2T) enthält und an ein von einem Client-Knoten ankommendes Paket angehängt wird.
  2. System nach Anspruch 1, das weiterhin aufweist: ein Auswahlmodul, das einen Schnittstellenanschluss auswählt, der einem Zielknoten zugehörig ist, wobei das Sendemodul unter Verwendung des ausgewählten Schnittstellenanschlusses ein Paket von einem entsprechenden Quellknoten über eine Datenübertragungsverbindung zu dem Zielknoten sendet.
  3. System nach Anspruch 2, wobei das Auswahlmodul ein Paket von einem Zielknoten empfängt und das Paket in die Empfangswarteschlange für einen entsprechenden Quellknoten einreiht.
  4. System nach einem der vorangehenden Ansprüche, wobei das Dienstregistrierungsmodul den einen oder die mehreren Quellknoten für den Paketübertragungsdienst als Reaktion auf einen Empfang einer oder mehrerer Anfragen für den Paketübertragungsdienst über eine Datenübertragungsprotokollschicht des OSl-Modells registriert, wobei die Datenübertragungsprotokollschicht des OSl-Modells über die Datenübertragungsprotokollschicht-2 des OSl-Modells in dem OSl-Model positioniert ist.
  5. Verfahren zum Übertragen von Daten zwischen Knoten in einem Netzwerk, das aufweist: Registrieren eines Quellknotens für einen Paketübertragungsdienst in einem Netzwerk-Switch-System als Reaktion auf eine Dienstanforderung durch den Quellknoten; Weiterleiten eines oder mehrerer Pakete von dem registrierten Quellknoten zu einem oder mehreren Zielknoten; Empfangen von Paketen von einem oder mehreren Zielknoten und Weiterleiten jedes empfangenen Pakets zu einem entsprechenden registrierten Knoten; wobei das Paket in einem Schicht-2-Bereich weitergeleitet wird, wobei das Netzwerk-Switch-System eine Schicht-2(L2)- oder Schicht-3(L3)-Netzwerkeinheit ist; wobei ein Registrieren eines Quellknotens für einen Paketübertragungsdienst aufweist: Verwalten einer Datenstruktur zur Transaktionsüberwachung durch: Verwalten eines Client-Eintrags in einer Client-Liste für den Quellknoten; für jeden Client-Eintrag Verwalten eines oder mehrerer Zieleinträge in einer Zielknotenliste, wobei jeder Zieleintrag einem Zielknoten für den Quellknoten entspricht; für jeden Zieleintrag Verwalten einer Liste mit Pakettransaktionen, die einem anstehenden Senden von Paketen zwischen dem Quellknoten und dem Zielknoten entsprechen, der dem Zieleintrag entspricht; weiterhin aufweisend: Verwalten einer Sendewarteschlange zum Einreihen von Paketen von entsprechenden registrierten Quellknoten zum Senden; Anhängen einer Kopfzeile an jedes Paket zum Senden, wobei die Kopfzeile Informationen zum Datenübertragungsprotokoll aufweist; Aktualisieren der Datenstruktur zur Transaktionsüberwachung auf der Grundlage des Übertragungsstatus des Pakets; Verwalten einer Empfangswarteschlange, um Pakete von Zielknoten einzureihen, die registrierten Quellknoten entsprechen; Aktualisieren der Datenstruktur zur Transaktionsüberwachung auf der Grundlage des Übertragungsstatus des empfangenen Pakets; als Reaktion auf eine Dienstregistrierungsanforderung von einem Quellknoten Registrieren einer Rückruffunktion, die von dem Quellknoten bereitgestellt wird, um Informationen zum Sendestatus von dem System zu empfangen; Verwenden der von einem registrierten Quellknoten bereitgestellten Rückruffunktion, um den Sendestatus von Paketen bereitzustellen, die dem registrierten Quellknoten entsprechen, wobei die Kopfzeile ein Protokoll eines Formats Type-Länge-Wert (TLV) für das auf Ethernet beruhende L2-Datenübertragungsprotokoll (EL2T) enthält und an ein von einem Client-Knoten ankommendes Paket angehängt wird.
  6. Verfahren nach Anspruch 5, das weiterhin aufweist: Auswählen eines Schnittstellenanschlusses, der einem Zielknoten zugehörig ist, um unter Verwendung des ausgewählten Schnittstellenanschlusses ein Paket von einem entsprechenden Quellknoten über eine Datenübertragungsverbindung zu dem Zielknoten zu senden.
  7. Verfahren nach Anspruch 6, das weiterhin aufweist Empfangen eines Pakets von einem Zielknoten und Einreihen des Pakets in die Empfangswarteschlange für einen entsprechenden Quellknoten.
  8. Verfahren nach Anspruch 7, wobei: das Netzwerk ein System mit einem Protokoll einer verteilten Struktur aufweist; und das Verfahren weiterhin ein Durchführen von erneuten Sendevorgängen und Bestätigungen für ein L2-Paket für geringen Verarbeitungsaufwand von Paketen sowie Zuverlässigkeit aufweist.
  9. Verfahren nach einem der Ansprüche 5 bis 8, wobei der Quellknoten für den Paketübertragungsdienst registriert wird, wenn eine Anfrage für den Paketübertragungsdienst über eine Datenübertragungsprotokollschicht des OSl-Modells empfangen wurde, die über die Datenübertragungsprotokollschicht-2 des OSl-Modells in dem OSl-Modell positioniert ist.
  10. Computerprogramm, das Anweisungen zum Ausführen aller Schritte des Verfahrens gemäß einem der vorherigen Verfahrensansprüche 5 bis 9 aufweist, wenn das Computerprogramm auf einem Computersystem ausgeführt wird.
DE112013000839.4T 2012-03-29 2013-03-27 Datenübertragungsprotokoll für verteilte Informationstechnologie-Architekturen Active DE112013000839B4 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/434,705 US8792489B2 (en) 2012-03-29 2012-03-29 Communication transport protocol for distributed information technology architectures
US13/434,705 2012-03-29
PCT/IB2013/052453 WO2013144876A1 (en) 2012-03-29 2013-03-27 Communication transport protocol for distributed information technology architectures

Publications (2)

Publication Number Publication Date
DE112013000839T5 DE112013000839T5 (de) 2014-11-06
DE112013000839B4 true DE112013000839B4 (de) 2021-12-23

Family

ID=49234964

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112013000839.4T Active DE112013000839B4 (de) 2012-03-29 2013-03-27 Datenübertragungsprotokoll für verteilte Informationstechnologie-Architekturen

Country Status (4)

Country Link
US (2) US8792489B2 (de)
CN (1) CN104205735B (de)
DE (1) DE112013000839B4 (de)
WO (1) WO2013144876A1 (de)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2696037A1 (en) 2010-03-15 2011-09-15 Research In Motion Limited Advertisement and dynamic configuration of wlan prioritization states
US8750180B2 (en) 2011-09-16 2014-06-10 Blackberry Limited Discovering network information available via wireless networks
US9204299B2 (en) 2012-05-11 2015-12-01 Blackberry Limited Extended service set transitions in wireless networks
US10812964B2 (en) 2012-07-12 2020-10-20 Blackberry Limited Address assignment for initial authentication
US9137621B2 (en) * 2012-07-13 2015-09-15 Blackberry Limited Wireless network service transaction protocol
US9301127B2 (en) 2013-02-06 2016-03-29 Blackberry Limited Persistent network negotiation for peer to peer devices
WO2017066953A1 (en) * 2015-10-22 2017-04-27 Oracle International Corporation System and method for providing distributed caching in transactional processing environment
US10128984B2 (en) 2015-12-21 2018-11-13 Intel Corporation Packet tracking techniques for communication networks
US10499250B2 (en) 2017-06-22 2019-12-03 William Turner RF client for implementing a hyper distribution communications protocol and maintaining a decentralized, distributed database among radio nodes
CN109254855B (zh) * 2018-08-29 2022-06-03 北京奇艺世纪科技有限公司 一种参数传输协议的注册方法、装置及电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6571291B1 (en) 2000-05-01 2003-05-27 Advanced Micro Devices, Inc. Apparatus and method for validating and updating an IP checksum in a network switching system
US7016352B1 (en) 2001-03-23 2006-03-21 Advanced Micro Devices, Inc. Address modification within a switching device in a packet-switched network
US7502366B1 (en) 2000-05-23 2009-03-10 Advanced Micro Devices, Inc. Arrangement in a network switch for prioritizing data frames based on user-defined frame attributes

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5461611A (en) * 1994-06-07 1995-10-24 International Business Machines Corporation Quality of service management for source routing multimedia packet networks
CN101127702A (zh) * 2007-08-02 2008-02-20 北京航空航天大学 用于平面结构网络的多对多可靠组播错误恢复方法
JP4764394B2 (ja) * 2007-09-19 2011-08-31 株式会社日立製作所 データ中継システム、データ中継方法およびデータ中継装置
US8068482B2 (en) * 2008-11-13 2011-11-29 Qlogic, Corporation Method and system for network switch element
JP2011155462A (ja) * 2010-01-27 2011-08-11 Nakayo Telecommun Inc 接続端末識別機能を有する中継装置
US8433783B2 (en) * 2010-09-29 2013-04-30 Citrix Systems, Inc. Systems and methods for providing quality of service via a flow controlled tunnel

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6571291B1 (en) 2000-05-01 2003-05-27 Advanced Micro Devices, Inc. Apparatus and method for validating and updating an IP checksum in a network switching system
US7502366B1 (en) 2000-05-23 2009-03-10 Advanced Micro Devices, Inc. Arrangement in a network switch for prioritizing data frames based on user-defined frame attributes
US7016352B1 (en) 2001-03-23 2006-03-21 Advanced Micro Devices, Inc. Address modification within a switching device in a packet-switched network

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Carle G.: Grundlagen Rechnernetze und Verteilte Systeme. TUM, Kapitel 3, SS2010, 117

Also Published As

Publication number Publication date
US20130259038A1 (en) 2013-10-03
CN104205735B (zh) 2017-06-13
DE112013000839T5 (de) 2014-11-06
US20130259040A1 (en) 2013-10-03
US8976789B2 (en) 2015-03-10
US8792489B2 (en) 2014-07-29
CN104205735A (zh) 2014-12-10
WO2013144876A1 (en) 2013-10-03

Similar Documents

Publication Publication Date Title
DE112013000839B4 (de) Datenübertragungsprotokoll für verteilte Informationstechnologie-Architekturen
DE60027404T2 (de) Kreditbasiertes flusskontrollverfahren
DE112020002498T5 (de) System und verfahren zur erleichterung einer effizienten paketweiterleitung in einer netzwerkschnittstellensteuerung (nic)
DE60201682T2 (de) Anordnung zur erzeugung mehrerer virtueller warteschlangenpaare aus einer komprimierten warteschlange auf der basis gemeinsamer attribute
DE60114097T2 (de) Verfahren und System zur Verbesserung der Netzleistungsfähigkeit unter Verwendung eines leistungssteigernden Proxies
DE602005003142T2 (de) Vorrichtung und verfahren zur unterstützung von verbindungsherstellung in einem offload der netzwerkprotokollverarbeitung
DE112016005924T5 (de) Beschleunigte Netzwerkpaketverarbeitung
DE112011106016T5 (de) Gemeinsame Sendeschlange
DE69836778T2 (de) Vorrichtung und Verfahren zur Fernpufferspeicherzuordnung und Verwaltung für Nachrichtenübertragung zwischen Netzknoten
DE112013000411T5 (de) Benachrichtigung durch Netzwerkelement über Paketverluste
DE112010004006T5 (de) Zuverlässige kommunikationen in chipintegrierten netzwerken
DE202016107377U1 (de) Systeme zur Auslagerung von Netzwerkfunktionen über Paket-Trunking
DE19730159B4 (de) Kommunikationsverfahren und System
DE102005014727A1 (de) Hardwarekoordination von Power Management-Aktivitäten
DE112013004449T5 (de) Vorrichtung und Verfahren zum Optimieren von halbaktiven Auslastungen
US8539089B2 (en) System and method for vertical perimeter protection
DE102019104942A1 (de) Kommunikation einer Nachricht unter Verwendung einer Netzwerkschnittstellensteuerung in einem Subnetz
DE60318252T2 (de) Verfahren und vorrichtungen zur datenübertragung zwischen speichernetzwerken
DE112019007502T5 (de) Zuordnen von nvme-over-fabric-paketen mithilfe von virtuellen ausgangswarteschlangen
DE112004002544B4 (de) Verfahren, System und Programm zur Identifizierung von Datenüberlauf
DE60307320T2 (de) Warteschlangenverfahren und -system für einen drahtlosen lan-router
DE112019007406T5 (de) Weiterleitung von nvsvse-overfabric-paketen
DE102017222299A1 (de) Kommunikation mit geringer latenz
DE60036121T2 (de) Hochgeschwindigkeitsverbindung für eingebettete Systeme in einem Rechnernetzwerk
DE102019105065A1 (de) Technologien zur gezielten flusssteuerungswiederherstellung

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: H04L0012280000

Ipc: H04L0012700000

R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: H04L0012280000

Ipc: H04L0012700000

Effective date: 20141112

R016 Response to examination communication
R016 Response to examination communication
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R084 Declaration of willingness to licence
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: H04L0012700000

Ipc: H04L0045000000

R020 Patent grant now final