DE60303026T2 - System, verfahren und produkt zur verwaltung des datenverkehrs in einem netzwerk - Google Patents

System, verfahren und produkt zur verwaltung des datenverkehrs in einem netzwerk Download PDF

Info

Publication number
DE60303026T2
DE60303026T2 DE60303026T DE60303026T DE60303026T2 DE 60303026 T2 DE60303026 T2 DE 60303026T2 DE 60303026 T DE60303026 T DE 60303026T DE 60303026 T DE60303026 T DE 60303026T DE 60303026 T2 DE60303026 T2 DE 60303026T2
Authority
DE
Germany
Prior art keywords
end node
instance number
logical connection
packet
node
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
DE60303026T
Other languages
English (en)
Other versions
DE60303026D1 (de
Inventor
Leroy Bruce BEUKEMA
Anthony Thomas GREGG
Marvin Danny NEAL
John Renato RECIO
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 DE60303026D1 publication Critical patent/DE60303026D1/de
Application granted granted Critical
Publication of DE60303026T2 publication Critical patent/DE60303026T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/326Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the transport layer [OSI layer 4]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Radar Systems Or Details Thereof (AREA)
  • Computer And Data Communications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • General Factory Administration (AREA)
  • Small-Scale Networks (AREA)

Description

  • 1. Bereich der Technik:
  • Die vorliegende Erfindung betrifft allgemein den Bereich der Rechnersysteme und insbesondere ein Datenverarbeitungssystem, ein Verfahren und ein Produkt zur Verwaltung von Datenübertragungen in einem Netzwerk.
  • 2. Beschreibung der verwandten Technik:
  • Es wird ständig nach verbesserten Verfahren zur Übertragung von Daten in einem Netzwerk gesucht. Ein solches Verfahren, das in PCT/US97/01595 offen gelegt ist, schlägt eine Flussklassifizierung und Kennzeichnung vor, um Datenflüsse an Routern und Vermittlungsstellen umzuleiten.
  • Viele vorhandene Rechnersysteme verwenden eine Architektur mit einem gemeinsam benutzten Bus wie zum Beispiel Peripheral Component Interconnect (PCI) als ein Mittel, um Daten rechnersystemintern zwischen den verschiedenen Prozessoren und E/A-Einheiten des Systems zu übertragen. Diese vorhandenen Architekturen mit gemeinsam benutztem Bus haben nicht mit der Verbesserung der Leistungsfähigkeit von gewöhnlichen Prozessoren Schritt gehalten. Folglich wurde eine neue Architektur, die allgemein als "Infiniband" bezeichnet wird, entwickelt, um Daten zwischen Prozessoren und E/A-Einheiten innerhalb eines Rechnersystems zu übertragen. Diese neue Architektur stellt eine höhere Bandbreite bereit und bietet eine verbesserte Erweiterbarkeit.
  • Die Infiniband-Architektur ist in der Infiniband Architecture Specification, Volume 1, Release 1.0, beschrieben.
  • Die neue Architektur stellt ein System Area Network (ein Netz mit hoher Bandbreite und geringer Latenz, das als Verbindung zwischen Rechnern in einem verteilten Computersystem dient) mit einer kanalbasierten Schaltnetzwerk-Technologie bereit. In solch einem System Area Network (SAN) werden Daten mittels Nachrichten übertragen, die aus Paketen bestehen. Jede Einheit, ungeachtet dessen, ob es sich um einen Prozessor oder eine E/A-Einheit handelt, enthält einen Kanaladapter. Die Nachrichten werden über Vermittlungsstellen vom Kanaladapter einer Einheit an den Kanaladapter einer anderen Einheit übertragen. Jeder Kanaladapter kann auch als "Endknoten" bezeichnet werden.
  • 1 zeigt zwei Endknoten, von denen jeder ein Warteschlangen-Paar gemäß dem Stand der Technik enthält. Wenn der Endknoten A 100 Daten an den Endknoten B 108 übertragen muss, wird zwischen einem Warteschlangen-Paar, das im Endknoten A enthalten ist, und einem Warteschlangen-Paar, das im Endknoten B enthalten ist, eine logische Verbindung hergestellt. Daten werden dann von der Sendewarteschlange des Warteschlangen-Paares im Endknoten A an die Empfangswarteschlange des Warteschlangen-Paares im Endknoten B übertragen. Antworten werden von der Sendewarteschlange des Warteschlangen-Paares im Endknoten B an die Empfangswarteschlange des Warteschlangen-Paares im Endknoten A übertragen. Der Endknoten A 100 enthält ein Warteschlangen-Paar 102. Das Warteschlangen-Paar 102 enthält eine Sendewarteschlange 104 und eine Empfangswarteschlange 106. Der Endknoten B 108 enthält ein Warteschlangen-Paar 110. Das Warteschlangen-Paar 110 enthält eine Empfangswarteschlange 112 und eine Sendewarteschlange 114. Anforderungen werden von den Sendewarteschlangen an die Empfangswarteschlangen, und Antworten werden von den Empfangswarteschlangen zurück an die Sendewarteschlangen übertragen. Die Anforderung 116 wird mit der Antwort 118 bestätigt. Die Anforderung 120 wird mit der Antwort 122 bestätigt.
  • Nachrichten und folglich Pakete können unter Verwendung von einer von fünf verschiedenen Übertragungsarten übertragen werden: "Reliable Connected" (RC) (zuverlässig verbunden), "Reliable Datagram" (RD) (zuverlässiges Datagramm), "Unreliable Connected" (UC) (unzuverlässig verbunden), "Unreliable Datagram" (UD) (unzuverlässiges Datagramm) oder "Raw Datagram" (RawD) (Roh-Datagramm). Bei Verwendung der Übertragungsart "Reliable Connected" werden in jedes Paket Folgenummern aufgenommen, und Paket-Übertragungen werden bestätigt.
  • Start-Folgenummern werden festgelegt, wenn eine logische Verbindung zwischen zwei Endpunkten hergestellt wird. Jedes Mal, wenn ein Paket übertragen wird, wird die Folgenummer erhöht und in das Paket aufgenommen. Folglich wird die Folgenummer eines Pakets zur Ermittlung der Position des Pakets in einer Folge von Paketen verwendet.
  • Nach dem Stand der Technik wird eine bestimmte Bitgruppe oder ein Feld in jedes Paket aufgenommen, um die Folgenummer anzugeben. Diese ganze Bitgruppe stellt somit die Folgenummer dar.
  • Die Paketfolgenummer (packet sequence number, PSN), die in der Anforderung 116 enthalten ist, ist dieselbe Paketfolgenummer, die in der Antwort 118 enthalten ist. Die PSN, die in der Anforderung 120 enthalten ist, ist dieselbe PSN, die in der Antwort 122 enthalten ist. Die in der Anforderung 116 und in der Antwort 118 enthaltene PSN steht in keiner Beziehung zu der in der Anforderung 120 und der Antwort 122 enthaltenen PSN, obgleich sie alle dieselben Warteschlangen-Paare verwenden.
  • Normalerweise erhöht der Anforderungsknoten die PSN in jedem Anforderungspaket, das übertragen wird, um eins. Der Antwortknoten vergleicht die PSN in den empfangenen Anforderungen mit seiner eigenen PSN (der erwarteten PSN), die der Antwortende jedes Mal, wenn ein Anforderungspaket empfangen wird, ebenfalls um eins erhöht. Wenn die PSNs übereinstimmen, kann der Antwortende dann eine Antwort auf die Anforderung (eine Bestätigung) senden, wobei. er dieselbe PSN verwendet, die in dem Anforderungspaket, das nun bestätigt wird, enthalten war. Beim Anfordernden wird die PSN in dem Antwortpaket dann wieder mit der Antwort-PSN des Anfordernden verglichen, um festzustellen, ob sie mit seiner eigenen Antwort-PSN (der erwarteten PSN) übereinstimmt, die der Anfordernde ebenfalls um eins erhöht.
  • Der Anfordernde darf mehrere Pakete senden, ohne dass er ein Antwortpaket empfängt. Das Antwortpaket kann von dem Anfordernden zu einem späteren Zeitpunkt empfangen werden, aber die PSNs in diesen Antwortpaketen werden mit dem Zählstand des Antwort-PSN-Zählers des Anfordernden verglichen. Wenn alle PSNs der Anforderungspakete mit der internen PSN des Antwortenden übereinstimmen und alle PSNs der Antwortpakete mit der internen PSN des Anfordernden übereinstimmen, wurden alle Pakete erfolgreich von einem Endknoten an einen anderen Endknoten (von einer Sendewarteschlange an eine Empfangswarteschlange) übertragen.
  • Es gibt zwei abnormale Bedingungen, die beim Antwortenden erkannt und behoben werden müssen, um einen zuverlässigen Betrieb zu gewährleisten. Die erste Bedingung ist das duplizierte Paket, und die zweite Bedingung ist das ungültige Paket.
  • Duplizierte Pakete werden beim Antwortenden erkannt, wenn der Anfordernde mehr als ein Mal ein Anforderungspaket sendet. Der Anfordernde sendet Pakete mehr als ein Mal, wenn er feststellt, dass das Paket möglicherweise verloren ging. 2 zeigt ein Leiterdiagramm, das die Übertragung von duplizierten Paketen nach dem Stand der Technik veranschaulicht. Das Anforderungspaket 204, das eine PSN = 1 enthält, wird vom Endknoten 200 übertragen und vom Antwortenden, dem Endknoten 202, empfangen. Die Antwort, die Bestätigung 206, die eine PSN = 1 enthält, ging entweder verloren oder verzögert sich. In diesem Fall stellt der Anfordernde, der Endknoten 200, eine Bedingung in Form von einer Zeitüberschreitung (time-out condition) fest und sendet dieselbe Anforderung erneut als die Anforderung 208, die dieselbe PSN (PSN = 1) enthält. Der Antwortende, der Endknoten 202, stellt fest, dass die PSN ein Duplikat ist (d.h., die PSN ist niedriger als der interne Zählstand des Endknotens 202), und der Antwortende sendet die Antwort erneut als Bestätigung 210 mit derselben PSN (PSN = 1).
  • Ein ungültiges Paket wird beim Antwortenden erkannt, wenn dieser ein Paket mit einer PSN empfängt, die höher als sein interner Zählstand ist. 3 zeigt ein Leiterdiagramm, das den Empfang eines ungültigen Pakets nach dem Stand der Technik darstellt. Der Anfordernde, der Endknoten 300, sendet eine Anforderung 304, die eine PSN = 1 enthält, eine Anforderung 308, die eine PSN = 2 enthält, und eine Anforderung 310, die eine PSN = 3 enthält. Die Anforderung 304 wird ordnungsgemäß mit der Bestätigung 306 bestätigt, die eine PSN = 1 enthält. Die Anforderung 308, die eine PSN = 2 enthält, geht in dem Schaltnetzwerk verloren. Folglich erkennt der Antwortende, der Endknoten 302, eine Anforderung 304 mit einer PSN = 1, gefolgt von einer Anforderung 310 mit einer PSN = 3. Somit ist die Anforderung 310 ein ungültiges Paket. In diesem Fall sendet der Antwortende, der Endknoten 302, erneut die Bestätigung 312 für das Anforderungspaket mit der PSN = 1, und der Anfordernde sendet erneut alle Pakete, wobei er mit der Anforderung 314, die die PSN = 2 enthält, beginnt.
  • Beim Anfordernden unterliegen die Antwortpakete ähnlichen Regeln. Das duplizierte Paket, das der Anfordernde erkennt, wird verworfen. Dieser Fall kann nur eintreten, wenn ein Anforderungspaket nicht verloren geht, sondern sich in dem Schaltnetzwerk lediglich so lange verzögert, dass der Anfordernde es erneut sendet. Die zweite Antwort mit der doppelten PSN wird verworfen. Die ungültige PSN beim Anfordernden kann vorkommen, wenn ein oder mehrere Pakete in einer aus mehreren Paketen bestehenden Antwort in dem Schaltnetzwerk verloren gehen. In diesem Fall sendet der Anfordernde die Anforderung noch einmal.
  • PSNs verwenden eine feste und endliche Zahl von Bits im Übertragungskopfbereich, der in jedem Paket enthalten ist. Daher werden die PSNs laufend wieder verwendet, wenn die Zähler, die sie erzeugen, von ihrem Höchstwert wieder auf null springen. Durch die Verwendung einer PSN, die einen viel höheren Wert als die Anzahl der gegebenenfalls noch ausstehenden Pakete hat, legen Anfordernde und Antwortende einen Bereich von Paketfolgenummern im Bereich der duplizierten und der ungültigen Pakete fest.
  • Ein Problem tritt bei PSNs auf, wenn eine logische Verbindung zwischen zwei Endknoten beendet (getrennt) und dann neu hergestellt wird, während Pakete unterwegs sind. In diesem Fall kann es vorkommen, dass ein Paket von der alten, nicht mehr aktuellen Verbindung beim Antwortenden ankommt. Der Antwortende deutet dieses Paket möglicherweise als ein gültiges Paket, obwohl es tatsächlich ein veraltetes Paket von der alten Verbindung ist.
  • Eine der Lösungen, die nach dem Stand der Technik beschrieben ist, besteht darin, zwischen der Trennung einer logischen Verbindung, die zwischen zwei bestimmten Gruppen von Warteschlangen-Paaren aufgebaut wurde, und der Wiederherstellung der logischen Verbindung zwischen denselben beiden Gruppen von Warteschlangen-Paaren zusätzliche Wartezustände vorzusehen. Die Endknoten warten somit lange genug auf alle möglichen veralteten Pakete von der alten Verbindung, bis diese nicht mehr gültig ist. Diese Vorgehensweise löst zwar das Problem, doch kann sie die Leistungsfähigkeit der Endknoten deutlich beeinträchtigen, insbesondere, wenn Verbindungen häufig getrennt und wiederhergestellt werden.
  • Daher besteht ein Bedarf an einem Verfahren, einem System und einem Produkt zur wirksamen Verwaltung von Datenübertragungen in einem Netzwerk.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • In einer ersten Erscheinungsform stellt die vorliegende Erfindung ein Verfahren zur Verwaltung von Daten bereit, die in einem Datenverarbeitungssystem von einem ersten Endknoten an einen zweiten Endknoten übertragen werden, wobei das Verfahren die folgenden Schritte umfasst: vor der Übertragung der Daten zwischen dem ersten Endknoten und dem zweiten Endknoten Herstellen einer logischen Verbindung zwischen dem ersten Endknoten und dem zweiten Endknoten; Zuordnen einer Instanznummer zu der logischen Verbindung, wobei die Instanznummer während der Dauer der logischen Verbindung gleich bleibt; Übertragen von einem oder mehreren Paketen einschließlich der zugeordneten Instanznummer in den Paketen von dem ersten Endknoten an den zweiten Endknoten, während die logische Verbindung besteht; Empfangen eines Pakets durch den zweiten Endknoten; unter Verwendung des zweiten Endknotens Ermitteln einer in dem empfangenen Paket enthaltenen Instanznummer; Feststellen, ob die in dem empfangenen Paket enthaltene Instanznummer die zugeordnete Instanznummer ist; als Reaktion auf die Feststellung, dass die in dem empfangenen Paket enthaltene Instanznummer die zugeordnete Instanznummer ist, Verarbeiten des empfangenen Pakets in der üblichen Weise durch den zweiten Endknoten; und als Reaktion auf die Feststellung, dass die in dem empfangenen Paket enthaltene Instanznummer nicht die zugeordnete Instanznummer ist, Verwerfen des empfangenen Pakets durch den zweiten Endknoten.
  • Das Verfahren umfasst vorzugsweise des Weiteren die folgenden Schritte: Wiederherstellen der logischen Verbindung zwischen dem ersten Endknoten und dem zweiten Endknoten;
  • Erhöhen der Instanznummer, wobei die erhöhte Instanznummer der wiederhergestellten logischen Verbindung zugeordnet wird; und Aufnehmen der erhöhten Instanznummer in jedes Paket, das zwischen dem ersten Endknoten und dem zweiten Endknoten übertragen wird, während die wiederhergestellte logische Verbindung besteht, wobei die erhöhte Instanznummer während der Dauer der wiederhergestellten logischen Verbindung gleich bleibt.
  • Vorzugsweise umfasst der Schritt der Herstellung einer logischen Verbindung zwischen dem ersten Endknoten und dem zweiten Endknoten des Weiteren den folgenden Schritt: Zuordnen eines Warteschlangen-Paares in dem ersten Endknoten zu einem Warteschlangen-Paar in dem zweiten Endknoten.
  • Vorzugsweise umfasst der Schritt der Zuordnung eines Warteschlangen-Paares in dem ersten Endknoten zu einem Warteschlangen-Paar in dem zweiten Endknoten des Weiteren die folgenden Schritte: Erstellen einer Tabelle mit Warteschlangen-Paaren in dem ersten Endknoten; und Speichern eines Hinweises auf eine Zuordnung von dem ersten Warteschlangen-Paar in dem ersten Endknoten zu einem Warteschlangen-Paar in dem zweiten Endknoten in der Tabelle.
  • Das Verfahren umfasst darüber hinaus die folgenden Schritte: Übertragen eines Pakets von dem zweiten Endknoten an den ersten Endknoten unter Verwendung einer bestimmten logischen Verbindung; Empfangen des Pakets unter Verwendung des ersten Endknotens; und Verwenden der Tabelle zur Feststellung, ob die bestimmte logische Verbindung zuvor hergestellt worden ist.
  • Vorzugsweise umfasst der Schritt der Verwendung der Tabelle zur Feststellung, ob die bestimmte logische Verbindung zuvor hergestellt worden ist, des Weiteren den folgenden Schritt: Feststellen, ob in der Tabelle ein Hinweis auf eine Zuordnung von einem Warteschlangen-Paar in dem ersten Endknoten zu einem Warteschlangen-Paar in dem zweiten Endknoten gespeichert ist.
  • Das Verfahren umfasst vorzugsweise ferner den folgenden Schritt: Aufnehmen der Instanznummer in einen Übertragungskopfbereich in jedem Paket, das während der Dauer der logischen Verbindung zwischen dem ersten Endknoten und dem zweiten Endknoten übertragen wird.
  • Das Verfahren umfasst vorzugsweise überdies den folgenden Schritt: Aufnehmen der Instanznummer in ein Folgenummernfeld in einem Übertragungskopfbereich in jedem Paket, das während der Dauer der logischen Verbindung zwischen dem ersten Endknoten und dem zweiten Endknoten übertragen wird. Das Verfahren umfasst vorzugsweise darüber hinaus den folgenden Schritt: Aufnehmen der Instanznummer in jedes Folgenummernfeld, das in Paketen enthalten ist, die während der Dauer der logischen Verbindung zwischen dem ersten Endknoten und dem zweiten Endknoten übertragen werden.
  • Das Verfahren umfasst vorzugsweise ferner die folgenden Schritte: Feststellen, ob die logische Verbindung eine erste logische Verbindung zwischen dem ersten Endknoten und dem zweiten Endknoten ist; als Reaktion auf die Feststellung, dass die logische Verbindung eine erste logische Verbindung ist: Zuordnen einer Instanznummer zu der logischen Verbindung; Aufnehmen der Instanznummer in jedes Paket, das zwischen dem ersten Endknoten und dem zweiten Endknoten während der Dauer der logischen Verbindung übertragen wird, wobei die Instanznummer während der Dauer der logischen Verbindung gleich bleibt; und Verwenden der Instanznummer als aktuelle Instanznummer; und als Reaktion auf die Feststellung, dass die logische Verbindung keine erste logische Verbindung ist: Erhöhen der aktuellen Instanznummer; Verwenden der erhöhten aktuellen Instanznummer als aktuelle Instanznummer; und Aufnehmen der erhöhten aktuellen Instanznummer in jedes Paket, das zwischen dem ersten Endknoten und dem zweiten Endknoten während der Dauer der logischen Verbindung übertragen wird.
  • Das Verfahren umfasst vorzugsweise des Weiteren die folgenden Schritte: Verlieren der logischen Verbindung; Wiederherstellen der logischen Verbindung zwischen dem ersten Endknoten und dem zweiten Endknoten, wobei zwischen dem Verlust der logischen Verbindung und der Wiederherstellung der logischen Verbindung keine Wartezustände ausgeführt werden.
  • Das Verfahren umfasst vorzugsweise des Weiteren die folgenden Schritte: Übertragen eines Pakets von dem ersten Endknoten an den zweiten Endknoten; und Aufnehmen einer aktuellen Instanznummer in das Paket.
  • Das Verfahren umfasst vorzugsweise des Weiteren die Schritte des Empfangs eines Pakets durch den zweiten Endknoten; unter Verwendung des zweiten Endknotens Ermitteln einer Instanznummer, die in dem empfangenen Paket enthalten ist; Feststellen einer aktuellen Instanznummer; Feststellen, ob die in dem empfangenen Paket enthaltene Instanznummer die aktuelle Instanznummer ist; als Reaktion auf die Feststellung, dass die in dem empfangenen Paket enthaltene Instanznummer die aktuelle Instanznummer ist, Verarbeiten des Pakets durch den zweiten Endknoten in gewöhnlicher Weise; und als Reaktion auf die Feststellung, dass die in dem empfangenen Paket enthaltene Instanznummer nicht die aktuelle Instanznummer ist, Verwerfen des Pakets durch den zweiten Endknoten.
  • Das Verfahren umfasst vorzugsweise des Weiteren die folgenden Schritte: Nachdem die logische Verbindung hergestellt worden ist, Setzen einer Folgenummer durch den ersten Endknoten; Erhöhen der Folgenummer nach jeder Übertragung eines Pakets von dem ersten Endknoten an den zweiten Endknoten; nach jeder Übertragung eines Pakets von dem ersten Endknoten an den zweiten Endknoten Setzen einer aktuellen Folgenummer, die gleich der erhöhten Folgenummer ist; und Aufnehmen einer aktuellen Folgenummer in jedes Paket, das von dem ersten Endknoten an den zweiten Endknoten übertragen wird.
  • In einer zweiten Erscheinungsform stellt die vorliegende Erfindung ein Datenverarbeitungssystem zur Verwaltung von Daten bereit, die in dem Datenverarbeitungssystem von einem ersten Endknoten an einen zweiten Endknoten übertragen werden, wobei das Datenverarbeitungssystem Folgendes umfasst: ein Mittel, das dazu dient, vor der Übertragung von Daten zwischen dem ersten Endknoten und dem zweiten Endknoten eine logische Verbindung zwischen dem ersten Endknoten und dem zweiten Endknoten herzustellen; ein Mittel, das dazu dient, der logischen Verbindung eine Instanznummer zuzuordnen; und ein Mittel, das dazu dient, ein oder mehrere Pakete von dem ersten Endknoten an den zweiten Endknoten zu übertragen und die zugeordnete Instanznummer in jedes Paket aufzunehmen, während die logische Verbindung besteht, wobei die zugeordnete Instanznummer während der Dauer der logischen Verbindung gleich bleibt; Mittel in dem zweiten Endknoten, die dazu dienen, ein Paket zu empfangen und eine in dem empfangenen Paket enthaltene Instanznummer zu ermitteln; Mittel in dem zweiten Endknoten, die dazu dienen, festzustellen, ob die in dem empfangenen Paket enthaltene Instanznummer die zugeordnete Instanznummer ist; und Mittel in dem zweiten Endknoten, die dazu dienen, das empfangene Paket in Abhängigkeit von der getroffenen Feststellung zu verarbeiten oder zu verwerfen, nämlich als Reaktion auf die Feststellung, dass die in dem empfangenen Paket enthaltene Instanznummer die zugeordnete Instanznummer ist, das empfangene Paket durch den zweiten Endknoten normal zu verarbeiten; und als Reaktion auf die Feststellung, dass die in dem empfangenen Paket enthaltene Instanznummer nicht die zugeordnete Instanznummer ist, das empfangene Paket durch den zweiten Endknoten zu verwerfen.
  • Das System umfasst darüber hinaus vorzugsweise ein Mittel, das dazu dient, die logische Verbindung zwischen dem ersten Endknoten und dem zweiten Endknoten wiederherzustellen; ein Mittel, das dazu dient, die Instanznummer zu erhöhen, wobei die erhöhte Instanznummer der wiederhergestellten logischen Verbindung zugeordnet wird; und ein Mittel, das dazu dient, die erhöhte Instanznummer in jedes Paket aufzunehmen, das zwischen dem ersten Endknoten und dem zweiten Endknoten während der wiederhergestellten logischen Verbindung übertragen wird, wobei die erhöhte Instanznummer während der Dauer der wiederhergestellten logischen Verbindung gleich bleibt.
  • Vorzugsweise umfasst das Mittel zur Wiederherstellung einer logischen Verbindung zwischen dem ersten Endknoten und dem zweiten Endknoten des Weiteren Folgendes: ein Mittel, das dazu dient, einem Warteschlangen-Paar in dem ersten Endknoten ein Warteschlangen-Paar in dem zweiten Endknoten zuzuordnen.
  • Vorzugsweise umfasst das Mittel zur Zuordnung eines Warteschlangen-Paars in dem ersten Endknoten zu einem Warteschlangen-Paar in dem zweiten Endknoten des Weiteren Folgendes: ein Mittel, das dazu dient, in dem ersten Endknoten eine Tabelle mit Warteschlangen-Paaren zu erstellen; und ein Mittel, das dazu dient, in der Tabelle einen Hinweis auf eine Zuordnung von dem Warteschlangen-Paar in dem ersten Endknoten zu einem Warteschlangen-Paar in dem zweiten Endknoten zu speichern.
  • Das System umfasst vorzugsweise des Weiteren ein Mittel, das dazu dient, ein Paket unter Verwendung einer bestimmten logischen Verbindung von dem zweiten Endknoten an den ersten Endknoten zu übertragen; ein Mittel, das dazu dient, das Paket unter Verwendung des ersten Endknotens zu empfangen; und ein Mittel, das dazu dient, die Tabelle zur Feststellung, ob die bestimmte logische Verbindung zuvor hergestellt worden ist, zu verwenden.
  • Vorzugsweise umfasst das Mittel zur Verwendung der Tabelle, um festzustellen, ob die bestimmte logische Verbindung zuvor hergestellt worden ist, darüber hinaus Folgendes: ein Mittel, das dazu dient, festzustellen, ob in der Tabelle ein Hinweis auf eine Zuordnung von einem Warteschlangen-Paar in dem ersten Endknoten zu einem Warteschlangen-Paar in dem zweiten Endknoten gespeichert ist.
  • Das System umfasst vorzugsweise darüber hinaus ein Mittel, das dazu dient, die Instanznummer in einen Übertragungskopfbereich in jedem Paket aufzunehmen, das zwischen dem ersten Endknoten und dem zweiten Endknoten während der Dauer der logischen Verbindung übertragen wird.
  • Das System umfasst vorzugsweise darüber hinaus ein Mittel, das dazu dient, die Instanznummer in ein Folgenummernfeld in einem Übertragungskopfbereich in jedem Paket aufzunehmen, das zwischen dem ersten Endknoten und dem zweiten Endknoten während der Dauer der logischen Verbindung übertragen wird.
  • Das System umfasst vorzugsweise darüber hinaus ein Mittel, das dazu dient, die Instanznummer in jede Folgenummer aufzunehmen, die in Paketen enthalten ist, welche zwischen dem ersten Endknoten und dem zweiten Endknoten während der Dauer der logischen Verbindung übertragen werden.
  • Das System umfasst vorzugsweise darüber hinaus Mittel zur Feststellung, ob die logische Verbindung eine erste logische Verbindung zwischen dem ersten Endknoten und dem zweiten Endknoten ist; als Reaktion auf die Feststellung, dass die logische Verbindung eine erste logische Verbindung ist: ein Mittel, das dazu dient, der logischen Verbindung eine Instanznummer zuzuordnen; ein Mittel, das dazu dient, die Instanznummer in jedes Paket aufzunehmen, das während der Dauer der logischen Verbindung zwischen dem ersten Endknoten und dem zweiten Endknoten übertragen wird, wobei die Instanznummer während der Dauer der logischen Verbindung gleich bleibt; und ein Mittel, das dazu dient, die Instanznummer als aktuelle Instanznummer zu verwenden; und als Reaktion auf die Feststellung, dass die logische Verbindung keine erste logische Verbindung ist: ein Mittel, das dazu dient, die aktuelle Instanznummer zu erhöhen; ein Mittel, das dazu dient, die erhöhte aktuelle Instanznummer als aktuelle Instanznummer zu verwenden; und ein Mittel, das dazu dient, die erhöhte aktuelle Instanznummer in jedes Paket aufzunehmen, das während der Dauer der logischen Verbindung zwischen dem ersten Endknoten und dem zweiten Endknoten übertragen wird.
  • Das System umfasst vorzugsweise des Weiteren ein Mittel, das dazu dient, die logische Verbindung zu verlieren; ein Mittel, das dazu dient, die logische Verbindung zwischen dem ersten Endknoten und dem zweiten Endknoten wiederherzustellen, wobei zwischen dem Verlust der logischen Verbindung und der Wiederherstellung der logischen Verbindung keine Wartezustände ausgeführt werden.
  • Das System umfasst vorzugsweise des Weiteren ein Mittel, das dazu dient, ein Paket von dem ersten Endknoten an den zweiten Endknoten zu übertragen; und ein Mittel, das dazu dient, eine aktuelle Instanznummer in das Paket aufzunehmen.
  • Das System umfasst vorzugsweise des Weiteren ein Mittel, das dazu dient, ein Paket durch den zweiten Endknoten zu empfangen; ein Mittel, das dazu dient, unter Verwendung des zweiten Endknotens eine in dem empfangenen Paket enthaltene Instanznummer zu ermitteln; ein Mittel, das dazu dient, eine aktuelle Instanznummer festzustellen; ein Mittel, das dazu dient, festzustellen, ob die in dem empfangenen Paket enthaltene Instanznummer die aktuelle Instanznummer ist; als Reaktion auf die Feststellung, dass die in dem empfangenen Paket enthaltene Instanznummer die aktuelle Instanznummer ist, ein Mittel, das dazu dient, das Paket durch den zweiten Endknoten normal zu verarbeiten; und als Reaktion auf die Feststellung, dass die in dem empfangenen Paket enthaltene Instanznummer nicht die aktuelle Instanznummer ist, ein Mittel, das dazu dient, das Paket durch den zweiten Endknoten zu verwerfen.
  • Das System umfasst vorzugsweise des Weiteren ein Mittel, das dazu dient, nach der Herstellung der logischen Verbindung eine Folgenummer durch den ersten Endknoten zu setzen; ein Mittel, das dazu dient, die Folgenummer nach jeder Übertragung eines Pakets von dem ersten Endknoten an den zweiten Endknoten zu erhöhen; ein Mittel, das dazu dient, nach jeder Übertragung eines Pakets von dem ersten Endknoten an den zweiten Endknoten eine aktuelle Folgenummer gleich der erhöhten Folgenummer zu setzen; und ein Mittel, das dazu dient, in jedes Paket, das von dem ersten Endknoten an den zweiten Endknoten übertragen wird, eine aktuelle Folgenummer aufzunehmen.
  • In einer dritten Erscheinungsform stellt die vorliegende Erfindung ein Rechnerprogramm bereit, das, nachdem es in ein Rechnersystem geladen wurde und darauf ausgeführt wird, dazu dient, die Schritte des Verfahrens der ersten Erscheinungsform durchzuführen. Bevorzugte Merkmale des Rechnerprogramms entsprechen bevorzugten Schritten des Verfahrens der ersten Erscheinungsform.
  • Ein Verfahren, ein System und ein Produkt in einem Datenverarbeitungssystem werden offen gelegt, um Daten zu verwalten, die von einem ersten Endknoten an einen zweiten Endknoten übertragen werden, welche in dem Datenverarbeitungssystem enthalten sind. Vor der Übertragung der Daten zwischen den Endknoten wird zwischen dem ersten Endknoten und dem zweiten eine logische Verbindung hergestellt. Dieser bestimmten logischen Verbindung wird eine Instanznummer zugeordnet. Die Instanznummer wird in jedes Paket aufgenommen, das zwischen den Endknoten übertragen wird, während diese logische Verbindung besteht. Die Instanznummer bleibt während der Dauer dieser logischen Verbindung gleich. Jedes Mal, wenn eine logische Verbindung zwischen diesen Endknoten wiederhergestellt wird, wird die Instanznummer geändert, beispielsweise, indem sie erhöht wird. Folglich wird jedem Paket eine bestimmte Instanz der logischen Verbindung zugeordnet. Wenn ein Paket empfangen wird, kann die in dem Paket enthaltene Instanznummer zur Feststellung verwendet werden, ob das Paket ein veraltetes Paket ist, das während einer vorherigen logischen Verbindung zwischen diesen Endknoten übertragen worden ist.
  • In einer bevorzugten Ausführungsform wird die Instanznummer als Teil der Folgenummer aufgenommen. Die Bits, die in jedem Paket als Folgenummer vorgesehen sind, werden gemäß der vorliegenden Erfindung in Folgenummer-Bits und Instanznummer-Bits aufgeteilt. Die Instanznummer, die während einer bestimmten logischen Verbindung bei allen Paketen gleich bleibt, wird mit Hilfe der Instanznummer-Bits angegeben. Die Folgenummer, die bei jedem übertragenen Paket erhöht wird, wird mit Hilfe der Folgenummer-Bits angegeben.
  • Die vorstehenden sowie weitere Aufgaben, Merkmale und Vorteile der vorliegenden Erfindung gehen aus der folgenden ausführlichen Beschreibung hervor.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Eine bevorzugte Ausführungsform der vorliegenden Erfindung wird nun lediglich anhand eines Beispiels und mit Bezug auf die beigefügten Figuren beschrieben, in denen:
  • 1 zwei Endknoten nach dem Stand der Technik zeigt, von denen jeder ein Warteschlangen-Paar enthält;
  • 2 ein Leiterdiagramm darstellt, das die Übertragung von duplizierten Paketen nach dem Stand der Technik zeigt;
  • 3 ein Leiterdiagramm darstellt, das den Empfang eines ungültigen Pakets nach dem Stand der Technik zeigt;
  • 4 ein Datenverarbeitungssystem zeigt, das eine kanalbasierte Schaltnetzwerk-Architektur zur Übertragung von Daten gemäß der vorliegenden Erfindung einsetzt;
  • 5 eine Funktionsübersicht eines Host-Prozessorknotens gemäß der vorliegenden Erfindung ist;
  • 6 einen Teil eines verteilten Rechnersystems darstellt, das eine beispielhafte Anforderungs- und Bestätigungs-Transaktion gemäß der vorliegenden Erfindung zeigt;
  • 7 einen Teil eines verteilten Rechnersystems zeigt, das einen zuverlässigen Verbindungs-(RC-)Dienst nutzt, um gemäß der vorliegenden Erfindung zwischen verteilten Prozessen Daten auszutauschen;
  • 8 ein Paket gemäß der vorliegenden Erfindung veranschaulicht;
  • 9 ein Übersichts-Flussdiagramm darstellt, das die Aufnahme einer Instanznummer in jedes Paket gemäß der vorliegenden Erfindung zeigt; und
  • 10 ein Übersichts-Flussdiagramm darstellt, das einen Endknoten zeigt, der gemäß der vorliegenden Erfindung feststellt, ob ein empfangenes Paket während der aktuellen logischen Verbindung übertragen wurde.
  • AUSFÜHRLICHE BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORM
  • Eine bevorzugte beispielhafte Ausführungsform der vorliegenden Erfindung stellt ein Verfahren, ein System und ein Produkt in einem Datenverarbeitungssystem zur Verwaltung von Daten bereit, die von einem ersten Endknoten an einen zweiten Endknoten übertragen werden. Vor der Übertragung der Daten zwischen den Endknoten wird zwischen dem ersten Endknoten und dem zweiten Endknoten eine logische Verbindung hergestellt. Die logische Verbindung wird zwischen einem bestimmten Warteschlangen-Paar, das in dem ersten Endknoten enthalten ist, und einem bestimmten Warteschlangen-Paar, das in dem zweiten Endknoten enthalten ist, hergestellt.
  • Der logischen Verbindung, die zwischen diesen beiden bestimmten Gruppen von Warteschlangen-Paaren hergestellt wird, wird eine Instanznummer zugeordnet. Die Instanznummer wird in jedes Paket aufgenommen, das zwischen den Endknoten übertragen wird, während diese logische Verbindung besteht. Jedes Mal, wenn zwischen diesen beiden Gruppen von Warteschlangen-Paaren eine logische Verbindung wiederhergestellt wird, wird die Instanznummer erhöht. Die Pakete enthalten auch Paketfolgenummern, die bei jeder Übertragung eines Pakets erhöht werden.
  • Eine bevorzugte beispielhafte Ausführungsform der vorliegenden Erfindung realisiert die Instanznummer als Teil der herkömmlichen Folgenummer. Die Gruppe der Bits, die für die Folgenummer nach dem Stand der Technik reserviert ist, wird in einen Folgennumernsatz von Bits und einen Instanznummernsatz von Bits aufgeteilt. Die Instanznummer der vorliegenden Erfindung wird von dem Instanznummernsatz der Bits angegeben. Die Folgenummer der vorliegenden Erfindung wird von dem Folgenummernsatz der Bits angegeben. Gemäß der vorliegenden Erfindung wird somit die herkömmliche Folgenummer nach dem Stand der Technik sowohl zur Angabe der Instanznummer als auch zur Angabe der Folgenummer verwendet. Der Instanznummernsatz der Bits bleibt über die gesamte Dauer derselben logischen Verbindung gleich. Der Folgenummernsatz der Bits wird bei jeder Übertragung eines Pakets erhöht, wie es nach dem Stand der Technik beschrieben ist.
  • Der Folgenummernsatz der Bits springt in einer Weise wieder auf null zurück, die nach dem Stand der Technik bekannt ist, wenn die höchstmögliche Folgenummer erhöht wird. Die Instanznummer wird durch die Erhöhung der Folgenummer oder deren Zurückspringen auf null nicht beeinflusst. Die Instanznummer bleibt gleich, solange die logische Verbindung nicht wiederhergestellt wurde. Da ein Teil der herkömmlichen Folgenummernbits für die Instanznummer reserviert ist, ist die höchstmögliche Folgenummer daher nun kleiner als die Nummer, die von allen Folgenummernbits hätte dargestellt werden können.
  • Eine bevorzugte beispielhafte Ausführungsform der vorliegenden Erfindung stellt ein verteiltes Datenverarbeitungssystem bereit, das über Endknoten, Vermittlungsstellen, Router und Verbindungen verfügt, die diese Komponenten untereinander verbinden. Jeder Endknoten verwendet Sende- und Empfangswarteschlangen-Paare, um Nachrichten zu senden und zu empfangen. Die Endknoten teilen die Nachricht in Pakete auf und übertragen die Pakete über die Verbindungen. Die Vermittlungsstellen und die Router verbinden die Endknoten und leiten die Pakete an den entsprechenden Endknoten. Am Ziel setzen die Endknoten die Pakete wieder zu einer Nachricht zusammen.
  • In einer bevorzugten Ausführungsform der vorliegenden Erfindung werden die Warteschlangen-Paare verwendet, um die Instanznummer einer logischen Verbindung zwischen bestimmten Gruppen von Warteschlangen-Paaren zuzuordnen. Bei der erstmaligen Herstellung einer logischen Verbindung zwischen einem ersten Endknoten und einem zweiten Endknoten wird ein Warteschlangen-Paar in dem ersten Endknoten einem Warteschlangen-Paar in dem zweiten Endknoten zugeordnet, wobei gewöhnlich eine Tabelle mit Warteschlangen-Paaren verwendet wird. Folglich kann die Tabelle mit den Warteschlangen-Paaren jedes Mal, wenn eine logische Verbindung zwischen zwei Gruppen von Warteschlangen-Paaren hergestellt wird, zur Feststellung verwendet werden, ob diese beiden Gruppen von Warteschlangen-Paaren bereits zugeordnet worden sind. Wenn diese beiden Gruppen von Warteschlangen-Paaren bereits zugeordnet worden sind, wird zwischen diesen beiden Gruppen von Warteschlangen-Paaren erneut eine logische Verbindung hergestellt, und die Instanznummer wird erhöht.
  • 4 zeigt ein Datenverarbeitungssystem, das eine kanalbasierte Schaltnetzwerk-Architektur zur Übertragung von Daten gemäß der vorliegenden Erfindung einsetzt. Rechnersysteme, die die vorliegende Erfindung ausführen, können von einem kleinen Server mit einem Prozessor und ein paar Eingabe-/Ausgabe-(E/A-)Adaptern bis hin zu massiv parallelen Superrechnersystemen mit Hunderten oder Tausenden von Prozessoren und Tausenden von E/A-Adaptern reichen. Außerdem kann die vorliegende Erfindung in einer Infrastruktur mit fernen Rechnersystemen realisiert werden, die über das Internet oder ein Intranet verbunden sind.
  • Das Datenverarbeitungssystem 402 enthält ein Speichernetzwerk 424. Ein Speichernetzwerk kann auch als ein "Teilnetz" bezeichnet werden. Ein Teilnetz ist eine Gruppe von Endknoten und in Kaskade geschalteten Vermittlungsstellen, die als eine einzelne Einheit verwaltet werden. Üblicherweise nimmt ein Teilnetz einen einzelnen geografischen oder funktionalen Bereich ein. Ein einzelnes Rechnersystem in einem Raum könnte beispielsweise als ein Teilnetz definiert werden.
  • Das Datenverarbeitungssystem 402 enthält ein Netzwerk mit hoher Bandbreite und geringer Latenzzeit, das Knoten innerhalb des verteilten Rechnersystems untereinander verbindet. Ein Knoten ist eine beliebige Komponente, die an eine oder mehrere Verbindungsleitungen eines Netzwerks angeschlossen ist und den Ursprung und/oder das Ziel von Nachrichten innerhalb des Netzwerks bildet. In dem dargestellten Beispiel enthält das Datenverarbeitungssystem 402 Knoten in Form von dem Hostprozessor-Knoten 406, dem Hostprozessor-Knoten 408, dem als redundantes Feld unabhängiger Festplatten (RAID) ausgelegten Teilsystem-Knoten 462 und dem E/A-Chassis-Knoten 412. Die in 4 dargestellten Knoten dienen lediglich der Veranschaulichung, da das SAN 424 eine beliebige Anzahl und jede beliebige Art von unabhängigen Prozessorknoten, E/A-Adapterknoten und E/A-Einheitenknoten verbinden kann. Jeder der Knoten kann die Funktion eines Endknotens übernehmen, der hier als eine Einheit definiert wird, von der Nachrichten oder Pakete stammen oder die Nachrichten oder Pakete schließlich im SAN 424 verarbeitet.
  • Das SAN 424 beinhaltet die Übertragungs- und Verwaltungsinfrastruktur, die sowohl E/A-Übertragungen als auch Übertragungen zwischen den Prozessoren (interprocessor communications, IPC) unterstützt. Das SAN 424 enthält ein Übertragungs-Schaltnetzwerk, das es vielen Einheiten ermöglicht, Daten mit hoher Bandbreite und geringer Latenzzeit in einer sicheren, fernverwalteten Umgebung gleichzeitig zu übertragen. Endknoten können über mehrere Anschlüsse (ports) Daten austauschen und mehrere Pfade durch das SAN 424 nutzen.
  • Das SAN 424 enthält Host-Kanaladapter (HCAs) 426, 428, 430 und 432, Zielkanaladapter (TCAs) 458, 460 und 468, Vermittlungsstellen 414, 416 und 452 und den Router 420. Eine Vermittlungsstelle ist eine Einheit, die mehrere Verbindungsleitungen zusammenschaltet und die Weiterleitung von Paketen von einer Verbindungsleitung auf eine andere Verbindungsleitung innerhalb eines Teilnetzes unter Verwendung von einem kleinen Kopfbereich-Feld "Destination Local Identifier" (DLID) ermöglicht. Im Allgemeinen kann eine Vermittlungsstelle Pakete von einem Anschluss an einen beliebigen anderen Anschluss, der sich an derselben Vermittlungsstelle befindet, weiterleiten.
  • Ein Router ist eine Einheit, die mehrere Teilnetze miteinander verbindet und Pakete von einer Verbindungsleitung in einem ersten Teilnetz auf eine andere Verbindungsleitung in einem zweiten Teilnetz unter Verwendung eines großen Destination-Globally-Unique-Identifier-(DGUID-)Kopfbereichs weiterleiten kann.
  • Eine Verbindungsleitung ist ein Vollduplex-Kanal zwischen zwei beliebigen Netzwerkelementen eines Schaltnetzwerks wie zum Beispiel Endknoten, Vermittlungsstellen oder Routern. Zu beispielhaften geeigneten Verbindungsleitungen gehören Kupferkabel, Lichtwellenleiterkabel und Kupferbahnen auf Rückwandplatinen und Leiterplatten.
  • Jeder Knoten im Datenverarbeitungssystem 402 enthält mindestens einen Kanaladapter (CA). Jeder Kanaladapter ist ein Endpunkt, der die Kanaladapter-Schnittstelle für Quellen- oder Senkenpakete, die unter Verwendung eines Speichernetzwerks (SAN) 424 übertragen werden, ausreichend detailliert realisiert. Das SAN 424 kann auch als Schaltnetzwerk ("fabric") bezeichnet werden. Ein in einem Prozessorknoten enthaltener Kanaladapter ist ein Host-Kanaladapter (HCA). Ein in einem anderen Knoten als einem Prozessorknoten enthaltener Kanaladapter ist ein Zielkanaladapter (TCA).
  • Der Host-Prozessorknoten 406 enthält Kanaladapter in Form von dem Host-Kanaladapter 426 und dem Host-Kanaladapter 428. Der Host-Prozessorknoten 408 enthält den Host-Kanaladapter 430 und den Host-Kanaladapter 432. Der Host-Prozessorknoten 406 enthält auch die Zentraleinheiten 434 und 436 und einen Speicher 440, die über ein Bussystem 442 miteinander verbunden sind. Der Host-Prozessorknoten 408 enthält gleichfalls die Zentraleinheiten 444 und 446 und einen Speicher 448, die über ein Bussystem 450 miteinander verbunden sind.
  • Der Host-Kanaladapter 426 stellt eine Verbindung zur Vermittlungsstelle 414 bereit. Der Host-Kanaladapter 428 stellt eine Verbindung zu den Vermittlungsstellen 414 und 416 bereit. Der Host-Kanaladapter 430 stellt eine Verbindung zu den Vermittlungsstellen 414 und 416 bereit. Und der Host-Kanaladapter 432 stellt eine Verbindung zur Vermittlungsstelle 416 bereit.
  • Die Host-Kanaladapter sind vorzugsweise in Hardware ausgeführt. In dieser gegebenen Art der Ausführung befreit die Host-Kanaladapter-Hardware die Zentraleinheit und/oder den E/A-Adapter von einem Großteil des Übertragungsaufwands. Diese Hardware-Ausführung des Host-Kanaladapters gestattet auch mehrere gleichzeitige Übertagungen über ein geschaltetes Netzwerk, ohne den herkömmlichen Aufwand in Verbindung mit Übertragungsprotokollen in Kauf nehmen zu müssen.
  • Das E/A-Chassis 412 enthält eine E/A-Vermittlungsstelle 452 im Rückwandplatine (Backplane) des E/A-Adapters, um Adapterkarten mit dem SAN 424 zu verbinden, und mehrere E/A-Module 454 und 456. In diesem Beispiel haben die E/A-Module die Form von Adapterkarten.
  • Zu den Adapterkarten können eine SCSI-Adapterkarte, eine Adapterkarte zu Fiber-Channel-Hub- und Fiber-Channel-Arbitrated-Loop (FC-AL-)Einheiten, eine Ethernet-Adapterkarte, eine Grafik-Adapterkarte oder eine Video-Adapterkarte gehören. Jede bekannte Art einer Adapterkarte kann eingesetzt werden.
  • Jedes E/A-Modul enthält einen Zielkanaladapter. Das E/A-Modul 454 enthält den Zielkanaladapter (TCA) 458, und das E/A-Modul 456 enthält den Zielkanaladapter (TCA) 460.
  • Ein RAID-Teilsystemknoten 462 ist ebenfalls im Datenverarbeitungssystem 402 enthalten. Der Knoten 462 enthält einen Prozessor 464, einen Speicher 466, einen Zielkanaladapter (TCA) 468 und mehrere redundante Speicherplatten-Einheiten 470 und/oder Speicherplatten-Einheiten 470, auf denen relativ kleine Datenblöcke verteilt werden (striped storage disk unit) 470. Bei dem Zielkanaladapter 468 kann es sich um einen Host-Kanaladapter mit uneingeschränktem Funktionsumfang handeln.
  • Das SAN 424 ermöglicht den Nutzern der E/A-Übertragungen und der Übertragungen zwischen den Prozessoren (IPC) des verteilten Rechnersystems Datenübertragungen ohne Prozessorkopie (zero processor-copy data transfers) und ohne Beteiligung des Betriebssystemkern-Prozesses und verwendet Hardware, um zuverlässige, fehlertolerante Übertragungen zu ermöglichen.
  • 5 ist eine Funktionsübersicht eines Host-Prozessorknotens gemäß der vorliegenden Erfindung. Der Host-Prozessorknoten 500 ist ein Beispiel für einen Host- Prozessorknoten wie den Host-Prozessorknoten 406 oder den Host-Prozessorknoten 408, die in 4 gezeigt sind.
  • Der Host-Prozessorknoten 500 enthält eine Gruppe von Nutzern 502, 504, 506 und 508, bei denen es sich um Prozesse handelt, die auf dem Host-Prozessorknoten 500 ausgeführt werden. Der Host-Prozessorknoten 500 enthält auch die Kanaladapter 510 und 512. Der Kanaladapter 510 enthält die Anschlüsse 514 und 516, während der Kanaladapter 512 die Anschlüsse 518 und 520 enthält. Jeder Anschluss ist mit einer Verbindungsleitung verbunden.
  • Die Nutzer 502 bis 508 übertragen über die Verbs-Schnittstelle 522 und den Nachrichten- und Datendienst 524 Nachrichten an das SAN wie zum Beispiel das SAN 424. Eine Verbs-Schnittstelle ist im Grunde eine abstrakte Beschreibung der Funktionalität eines Host-Kanaladapters. Ein Betriebssystem kann einen Teil oder die gesamte Verbs-Funktionalität über seine Programmierschnittstelle offen legen. Diese Schnittstelle legt das Verhalten des Hosts fest. Der Nachrichten- und Datendienst 524 ist eine Schnittstelle, die sich auf einer höheren Ebene als die Verbs-Schnittstelle befindet, und sie wird zur Verarbeitung von Nachrichten und Daten, die über die Kanaladapter 510 und 512 empfangen werden, verwendet. Der Nachrichten- und Datendienst 524 stellt eine Schnittstelle zu den Nutzern 502 bis 508 bereit, um Nachrichten und andere Daten zu verarbeiten.
  • 6 veranschaulicht einen Teil eines verteilten Rechnersystems und zeigt eine beispielhafte Anforderungs- und Bestätigungstransaktion gemäß der vorliegenden Erfindung. Das verteilte Rechnersystem 600 in 6 enthält einen Host- Prozessorknoten 602 und einen Host-Prozessorknoten 604. Der Host-Prozessorknoten 602 enthält einen Host-Kanaladapter 606. Der Host-Prozessorknoten 604 enthält einen Host-Kanaladapter 608. Das verteilte Rechnersystem in 6 enthält ein SAN-Schaltnetzwerk 610, das eine Vermittlungsstelle 612 und eine Vermittlungsstelle 614 enthält. Das SAN-Schaltnetzwerk enthält eine Verbindungsleitung, die den Host-Kanaladapter 606 mit der Vermittlungsstelle 612 verbindet, eine Verbindungsleitung, die die Vermittlungsstelle 612 mit der Vermittlungsstelle 614 verbindet, und eine Verbindungsleitung, die den Host-Kanaladapter 608 mit der Vermittlungsstelle 614 verbindet.
  • Bei den beispielhaften Transaktionen beinhaltet der Host-Prozessorknoten 602 einen Client-Prozess A. Der Host-Prozessorknoten 604 beinhaltet einen Client-Prozess B. Der Client-Prozess A tauscht mit dem Host-Kanaladapter 606 über das Warteschlangen-Paar 620 Informationen aus. Der Client-Prozess B tauscht mit dem Hardware-Kanaladapter 608 über das Warteschlangen-Paar 622 Informationen aus.
  • Bei den Warteschlangen-Paaren 620 und 622 handelt es sich um Strukturen, die jeweils eine Sendewarteschlange und eine Empfangswarteschlange enthalten. Ein Warteschlangen-Paar enthält gewöhnlich Steuerregister innerhalb des Kanaladapters. Das Warteschlangen-Paar 620 enthält die Sendewarteschlange 624 und die Empfangswarteschlange 626. Das Warteschlangen-Paar 622 enthält die Sendewarteschlange 628 und Empfangswarteschlange 630.
  • Der Prozess A startet eine Nachrichtenanforderung, indem er Warteschlangenelemente in die Sendewarteschlange 624 des Warteschlangen-Paares 620 stellt. Die Hardware im Host- Kanaladapter 606 empfängt das Warteschlangenelement in der Empfangswarteschlange 630. Der Prozess B liest dann das Warteschlangenelement und teilt die Nachricht in Pakete, wie zum Beispiel das in 8 gezeigte Paket, auf. Der Prozess B kann eine Nachricht einleiten, indem er Warteschlangenelemente in die Sendewarteschlange 628 stellt, die dann durch die Empfangswarteschlange 626 vom Prozess A empfangen werden.
  • Pakete werden durch das SAN-Schaltnetzwerk geleitet, und um zuverlässige Übertragungsdienste zu erreichen, werden sie vom letzten Ziel-Endknoten bestätigt. Wenn sie nicht nacheinander bestätigt werden, wird das Paket vom Quellen-Endknoten erneut gesendet. Pakete werden von Quellen-Endknoten erzeugt und von Ziel-Endknoten verarbeitet.
  • 7 zeigt einen Teil des verteilten Rechnersystems 100, das einen zuverlässigen Verbindungsdienst nutzt, um gemäß der vorliegenden Erfindung zwischen verteilten Prozessen Daten auszutauschen.
  • Bei der Erzeugung eines Warteschlangen-Paares wird das Warteschlangen-Paar so gesetzt, dass es einen ausgewählten Typ eines Übertragungsdienstes bereitstellt. Ein verteiltes Rechnersystem, das die bevorzugte Ausführungsform der vorliegenden Erfindung ausführt, unterstützt vier Arten von Übertragungsdiensten: "reliable connected" (RC), "unreliable connected" (UC), "unreliable datagram" (UD) und "reliable datagram" (RD).
  • Zuverlässig und unzuverlässig verbundene Dienste ordnen ein lokales Warteschlangen-Paar nur einem einzigen fernen Warteschlangen-Paar zu. Verbundene Dienste machen es erforderlich, dass ein Prozess ein von ihm zu verwendendes Warteschlangen-Paar erzeugt, damit dieser Prozess mit einem anderen Prozess über das SAN-Schaltnetzwerk Daten austauschen kann. Wenn jeder von N Host-Prozessorknoten P Prozesse enthält und alle P Prozesse auf jedem Knoten mit allen Prozessen auf all den anderen Knoten Daten austauschen möchten, benötigt jeder Host-Prozessorknoten folglich p2 × (N – 1) Warteschlangen-Paare. Ein Prozess kann überdies ein Warteschlangen-Paar mit einem anderen Warteschlangen-Paar auf demselben Host-Kanaladapter verbinden.
  • Das verteilte Rechnersystem 700 in 7 enthält einen Host-Prozessorknoten 1, einen Host-Prozessorknoten 2 und einen Host-Prozessorknoten 3. Der Host-Prozessorknoten 1 enthält einen Prozess A 710. Der Host-Prozessorknoten 2 enthält einen Prozess C 720 und einen Prozess D 730. Der Host-Prozessorknoten 3 enthält einen Prozess E 740.
  • Der Host-Prozessorknoten 1 enthält die Warteschlangen-Paare 4, 6 und 7, von denen jedes über eine Sendewarteschlange und eine Empfangswarteschlange verfügt. Der Host-Prozessorknoten 2 verfügt über die Warteschlangen-Paare 2 und 5, und der Host-Prozessorknoten 3 verfügt über das Warteschlangen-Paar 9. Der zuverlässige Verbindungs-(RC-)Dienst des verteilten Rechnersystems 700 ordnet ein lokales Warteschlangen-Paar nur einem einzigen fernen Warteschlangen-Paar zu. Folglich wird das Warteschlangen-Paar 4 zur Kommunikation mit dem Warteschlangen-Paar 2 verwendet; das Warteschlangen-Paar 7 wird zur Kommunikation mit dem Warteschlangen-Paar 5 verwendet; und das Warteschlangen-Paar 6 wird zur Kommunikation mit dem Warteschlangen-Paar 9 verwendet.
  • Ein zuverlässiger Verbindungs-(RC-)Dienst wird zuverlässig gestaltet, da Hardware Folgenummern verwaltet und alle Paketübertragungen bestätigt. Eine Kombination aus Hardware und SAN-Treibersoftware wiederholt fehlgeschlagene Übertragungen. Der Prozess-Client des Warteschlangen-Paares erzielt zuverlässige Übertragungen selbst bei Vorhandensein von Bit-Fehlern, im Falle von Übertragungsunterläufen beim Empfang und bei einer Überlastung des Netzwerks. Wenn in dem SAN-Schaltnetzwerk alternative Pfade vorhanden sind, können zuverlässige Übertragungen selbst dann weiterhin durchgeführt werden, wenn Vermittlungsstellen, Verbindungsleitungen oder Kanaladapter-Anschlüsse des Schaltnetzwerks ausfallen.
  • Darüber hinaus können Daten mit Hilfe von Bestätigungen zuverlässig im gesamten SAN-Schaltnetzwerk übermittelt werden. Die Bestätigung kann gegebenenfalls eine Bestätigung auf Prozess-Ebene sein, d.h. eine Bestätigung, die zusichert, dass ein Empfangsprozess die Daten verarbeitet hat.
  • Alternativ kann es sich bei der Bestätigung um eine Bestätigung handeln, die lediglich anzeigt, dass die Daten ihr Ziel erreicht haben.
  • 8 veranschaulicht ein Paket gemäß der vorliegenden Erfindung. In der hier verwendeten Weise ist eine Nachricht eine von der Anwendung definierte Datenaustausch-Einheit, bei der es sich um eine einfache Übertragungseinheit zwischen Prozessen, die zusammenarbeiten, handelt. Nachrichten werden in Pakete aufgeteilt. Ein Paket ist eine einzelne, von Kopfbereichen und/oder Nachsätzen des Netzwerkprotokolls eingeschlossene Dateneinheit. Die Kopfbereiche stellen im Allgemeinen Steuer- und Weiterleitungsinformationen bereit, um das Paket durch das SAN zu leiten. Der Nachsatz enthält im Allgemeinen Steuerdaten und Daten für eine zyklische Blockprüfung (CRC), um sicherzustellen, dass Pakete nicht mit beschädigtem Inhalt übermittelt werden.
  • Ein Paket ist eine Informationseinheit, die durch das SAN-Schaltnetzwerk geleitet wird. Das Paket ist ein Endknoten-zu-Endknoten-Konstrukt und wird folglich von Endknoten erstellt und verarbeitet. Pakete, die für einen Kanaladapter (entweder einen Host-Kanaladapter oder einen Zielkanaladapter) bestimmt sind, werden von den Vermittlungsstellen und Routern in dem SAN-Schaltnetzwerk weder erzeugt noch verarbeitet. Bei Paketen, die für einen Kanaladapter bestimmt sind, transportieren die Vermittlungsstellen und Router die Anforderungs- oder die Bestätigungspakete vielmehr einfach näher an die letztendliche Zielstation, wobei sie die verschiedenen Kopfbereich-Felder der Verbindung in dem Prozess verändern. Router verändern auch den Netzwerkkopfbereich des Pakets, wenn das Paket eine Teilnetz-Grenze überschreitet. Beim Durchlaufen eines Teilnetzes bleibt ein einzelnes Paket auf einer Ebene mit nur einem Dienst.
  • Bei zuverlässigen Dienst-Arten wie zum Beispiel dem zuverlässigen Verbindungs-(RC-)Übertragungsdienst erzeugen Endknoten wie zum Beispiel Host-Prozessor-Endknoten und E/A-Adapter-Endknoten Anforderungspakete und schicken Bestätigungspakete zurück. Vermittlungsstellen und Router leiten Pakete von der Quelle zum Ziel. Mit Ausnahme des abweichenden CRC-Nachsatzfeldes, das in jeder Stufe in dem Netzwerk aktualisiert wird, leiten Vermittlungsstellen die Pakete unverändert weiter. Router aktualisieren das abweichende CRC-Nachsatzfeld und ändern andere Felder in dem Kopfbereich, während das Paket weitergeleitet wird.
  • Eine abgehende Nachricht wird in ein oder mehrere Datenpakete aufgeteilt. Die Kanaladapter-Hardware fügt jedem Paket einen Übertragungskopfbereich und einen Netzwerkkopfbereich hinzu. Gemäß der vorliegenden Erfindung enthält der Übertragungskopfbereich Folgenummern, eine Instanznummer und andere Übertragungsinformationen. Der Netzwerkkopfbereich enthält Weiterleitungsinformationen wie zum Beispiel die Ziel-IP-Adresse und andere Netzwerk-Weiterleitungsinformationen. Der Verbindungskopfbereich enthält die lokale Zielkennung (Destination Local Identifier, DLID) oder andere lokale Weiterleitungsinformationen. Der entsprechende Verbindungskopfbereich wird dem Paket immer hinzugefügt. Der entsprechende globale Netzwerkkopfbereich wird einem bestimmten Paket hinzugefügt, wenn sich der Ziel-Endknoten in einem fernen Teilnetz befindet.
  • Wenn ein zuverlässiger Übertragungsdienst genutzt wird und ein Anforderungsdatenpaket seinen Ziel-Endknoten erreicht, verwendet der Ziel-Endknoten Bestätigungsdatenpakete, um den Sender des Anforderungsdatenpakets wissen zu lassen, dass das Anforderungsdatenpaket auf Gültigkeit geprüft und am Ziel angenommen worden ist. Bestätigungsdatenpakete bestätigen ein oder mehrere gültige und angenommene Anforderungsdatenpakete. Der Anfordernde kann mehrere ausstehende Anforderungsdatenpakete haben, bevor er Bestätigungen empfängt. In einer Ausführungsform wird die Anzahl von mehreren ausstehenden Nachrichten, d.h. von Anforderungsdatenpaketen, bei der Erzeugung eines Warteschlangen-Paares ermittelt.
  • Das Paket 800 enthält einen Weiterleitungskopfbereich 802, einen Übertragungskopfbereich 804, eine Paketnutzlast 806 und ein CRC 808. Der Weiterleitungskopfbereich 802 dient zur Ermittlung von Anschlüssen von Quellen- und Zielendknoten innerhalb eines Kanaladapters für die Paketnutzlast 806.
  • Der Übertragungskopfbereich 804 gibt das Ziel-Warteschlangen-Paar für die Paketnutzlast 806 an. Im Übertragungskopfbereich 804 befindet sich ein Folgenummernfeld 810. Nach dem Stand der Technik wurde die Folgenummer von allen im Folgenummernfeld 810 enthaltenen Bits dargestellt. Gemäß der vorliegenden Erfindung werden jedoch sowohl eine Folgenummer als auch eine Instanznummer von allen Bits des Folgenummernfeldes 810 dargestellt. Gemäß der vorliegenden Erfindung enthält die Folgenummer sowohl einen Instanzteil 812 als auch einen Folgeteil 814. Folglich enthalten die Folgenummern der vorliegenden Erfindung einen Folgeteil, der bei jedem Paket erhöht wird, und auch einen Instanzteil, der während der Dauer einer jeden logischen Verbindung gleich bleibt.
  • Der Übertragungskopfbereich 804 stellt auch Informationen wie den Operationscode und die Partition für die Paketnutzlast 806 bereit. CRC 808 wird zur Fehlerprüfung verwendet.
  • Der Operationscode gibt an, ob das Paket das erste, das letzte, ein dazwischen liegendes oder das einzige Paket einer Nachricht ist. Der Operationscode gibt auch an, ob die Operation eine RDMA-Sendeoperation, eine RDMA-Schreiboperation, eine RDMA-Leseoperation oder eine unteilbare (atomic) Operation ist.
  • Gemäß der vorliegenden Erfindung wird im Feld 812 eine Instanznummer für jedes Paket gespeichert. Die Instanznummer bleibt während einer Instanz einer logischen Verbindung gleich. Wenn eine logische Verbindung getrennt und später wiederhergestellt wird, wird die Instanznummer erhöht. Diese erhöhte Instanznummer wird dann im Feld 812 für jedes Paket gespeichert, das unter Verwendung dieser wiederhergestellten logischen Verbindung übertragen wird.
  • Jedes Mal, wenn ein Paket übertragen wird, wird der Folgeteil 814 erhöht.
  • 9 zeigt ein Übersichts-Flussdiagramm, das die Aufnahme einer Instanznummer in jedes Paket gemäß der vorliegenden Erfindung zeigt. Der Prozess beginnt, wie im Block 900 gezeigt ist, und anschließend schaltet der Prozess zum Block 902, der den Beginn der Ausführung eines Nutzers in einem Prozessorknoten zeigt. Als Nächstes zeigt der Block 904 die Herstellung einer logischen Verbindung zwischen dem Prozessor-Endknoten und dem zweiten Endknoten. Wenn eine logische Verbindung zwischen diesen Endknoten hergestellt wird, wird ein Sende- und Empfangswarteschlangen-Paar in dem ersten Endknoten einem Sende- und Empfangswarteschlangen-Paar in dem zweiten Endknoten zugeordnet. Diese Zuordnung kann mit Hilfe einer Tabelle mit Warteschlangen-Paaren erfolgen, die in jedem Endknoten von der Übertragungs-Verwaltungseinheit des Endknotens verwaltet wird.
  • Der Block 906 zeigt daraufhin die vom Prozessor-Endknoten getroffene Feststellung, ob dies das erste Mal ist, dass zwischen dem jeweiligen Warteschlangen-Paar im Prozessor-Endknoten und dem jeweiligen Warteschlangen-Paar in dem zweiten Endknoten eine logische Verbindung hergestellt worden ist. Ein Endknoten kann mit Hilfe der Tabelle mit den Warteschlangen-Paaren feststellen, ob eine logische Verbindung zum ersten Mal hergestellt worden ist. Die Tabelle mit den Warteschlangen-Paaren zeigt, ob eine logische Verbindung bereits hergestellt worden ist. Wenn eine logische Verbindung getrennt wird, werden die Warteschlangen-Paare in beiden Endknoten in einen Ruhezustand versetzt und sind nicht mehr einander zugeordnet. Die Tabellen mit den Warteschlangen-Paaren in jedem Endknoten zeigen, dass sich die Warteschlangen-Paare im Ruhezustand befinden.
  • Wenn eine logische Verbindung bereits hergestellt worden ist und nicht getrennt wurde, bleiben die Warteschlangen-Paare in jedem Endknoten einander zugeordnet. Die Tabellen mit den Warteschlangen-Paaren in jedem Endknoten zeigen, dass die Warteschlangen-Paare immer noch einander zugeordnet sind.
  • Ein Endknoten kann mit Hilfe seiner Tabelle mit den Warteschlangen-Paaren feststellen, ob eine logische Verbindung bereits hergestellt worden ist, indem er feststellt, ob ein Warteschlangen-Paar einem Warteschlangen-Paar in dem zweiten Knoten zugeordnet worden ist. Wenn ein Warteschlangen-Paar in diesem Knoten einem Warteschlangen-Paar in dem zweiten Knoten zugeordnet ist, wurde zwischen diesen Endknoten bereits eine logische Verbindung hergestellt. Wenn ein Warteschlangen-Paar in diesem Knoten keinem Warteschlangen-Paar in dem zweiten Knoten zugeordnet ist, wurde noch keine logische Verbindung zwischen diesen Endknoten hergestellt.
  • Nehmen wir nochmals Bezug auf den Block 906. Wenn festgestellt wird, dass dies das erste Mal ist, dass zwischen diesen beiden bestimmten Gruppen von Warteschlangen-Paaren eine logische Verbindung hergestellt worden ist, schaltet der Prozess zum Block 908, der zeigt, dass die Verwaltungseinheiten für die logischen Verbindungen eines jeden Endknotens eine Start-Instanznummer austauschen. Diese Start-Instanznummer wird die aktuelle Instanznummer, und sie bleibt gleich, solange diese logische Verbindung besteht.
  • Der Prozess schaltet dann zum Block 910, der zeigt, dass die Verwaltungseinheiten für die logischen Verbindungen ihre Start-Folgenummern austauschen. Die Folgenummer wird im Folgenummernteil des Folgenummernfeldes gespeichert und bleibt nicht gleich. Sie wird bei jeder Übertragung eines Pakets erhöht. Außerdem kann jeder Endknoten seine eigene Folgenummer wählen, die in keiner Beziehung zu der von dem anderen Endknoten gewählten Folgenummer steht. Die Instanznummer wird im Instanznummernteil des Folgenummernfeldes gespeichert und bleibt gleich, solange diese logische Verbindung besteht.
  • Danach zeigt der Block 912 die Übertragung von Paketen zwischen den Endknoten, wobei die im Folgenummernteil gespeicherten Paketfolgenummern bei jedem Paket erhöht werden. Als Nächstes zeigt der Block 914 die Aufnahme der aktuellen Instanznummer in jedes Paket. Die Instanznummer bleibt bei jedem Paket gleich, das während dieser logischen Verbindung übertragen wird.
  • Im Block 916 wird dann festgestellt, ob die aktuelle logische Verbindung verloren gegangen ist. Wenn festgestellt wird, dass die aktuelle logische Verbindung nicht verloren gegangen ist, schaltet der Prozess wieder zum Block 912. Nochmals Bezug nehmend auf den Block 916 schaltet der Prozess zum Block 918, wenn festgestellt wird, dass die logische Verbindung verloren gegangen ist. Im Block 918 wird die Entscheidung getroffen, ob zwischen diesen beiden Warteschlangen-Paaren eine logische Verbindung wiederhergestellt werden soll. Wenn entschieden wird, dass zwischen diesen beiden Warteschlangen-Paaren keine logische Verbindung wiederhergestellt werden soll, schaltet der Prozess zum Block 920. Nochmals Bezug nehmend auf den Block 918 schaltet der Prozess zum Block 922, wenn entschieden wird, dass zwischen diesen beiden Warteschlangen-Paaren eine logische Verbindung wiederhergestellt werden soll. Der Block 922 zeigt die Wiederherstellung einer logischen Verbindung zwischen diesen beiden Warteschlangen-Paaren, ohne dass Wartezustände ausgeführt werden müssen. Der Prozess schaltet wieder zum Block 906.
  • Nochmals Bezug nehmend auf den Block 906 schaltet der Prozess zum Block 934, wenn festgestellt wird, dass dies nicht das erste Mal ist, dass zwischen diesen beiden bestimmten Warteschlangen-Paaren eine logische Verbindung für diesen Dienst hergestellt worden ist. Der Block 934 zeigt die Ermittlung der Instanznummer, die für Übertragungen während der letzten logischen Verbindung verwendet wurde, welche für diese beiden bestimmten Warteschlangen-Paare hergestellt worden ist. Als Nächstes zeigt der Block 936, dass die letzte Instanznummer in eine neue Instanznummer geändert wird. Diese neue Instanznummer wird dann als die aktuelle Instanznummer verwendet. Obgleich die Instanznummer üblicherweise geändert wird, indem sie erhöht wird, kann die Instanznummer auch durch eine beliebige andere Vorgehensweise geändert werden, beispielsweise, indem sie verringert wird. Der Prozess schaltet dann zum Block 910.
  • 10 veranschaulicht ein Übersichts-Flussdiagramm, das einen Endknoten zeigt, der gemäß der vorliegenden Erfindung feststellt, ob ein empfangenes Paket während der aktuellen logischen Verbindung übertragen worden ist. Der Prozess beginnt, wie im Block 1000 gezeigt ist, und schaltet anschließend zum Block 1002, der den Empfang eines Pakets durch einen Endknoten zeigt, das eine Instanznummer enthält. Als Nächstes zeigt der Block 1004, dass der Endknoten die aktuelle Instanznummer feststellt. Danach zeigt der Block 1006, dass der Endknoten die aktuelle Instanznummer mit der in dem empfangenen Paket enthaltenen Instanznummer vergleicht. Der Prozess schaltet dann zum Block 1008, in dem festgestellt wird, ob das Paket die aktuelle Instanznummer enthält. Wenn festgestellt wird, dass das Paket die aktuelle Instanznummer enthält, schaltet der Prozess zum Block 1010, der zeigt, dass der Endknoten das Paket normal verarbeitet. Der Prozess schaltet daraufhin zum Block 1002. Nochmals Bezug nehmend auf den Block 1008 schaltet der Prozess, falls festgestellt wird, dass das Paket nicht die aktuelle Instanznummer enthält, zum Block 1012, der zeigt, dass der Endknoten das Paket verwirft. Der Prozess schaltet dann wieder zum Block 1002.
  • Die vorliegende Erfindung kann jederzeit verwendet werden, wenn eine logische Verbindung getrennt und dann wiederhergestellt wird. Logische Verbindungen werden aus vielerlei Gründen getrennt und wiederhergestellt. Ein häufiger Grund sind Fehlerzustände, die an den Endknoten festgestellt werden, die aber nicht einfach durch erneute Übertragung der Pakete behoben werden können. Ungünstig zusammengesetzte Pakete und Folgesteuerungsfehler beispielsweise können ein Warteschlangen-Paar in diesen Fehlerzustand versetzen.
  • Ein weiterer Grund für die Trennung und die Wiederherstellung einer Verbindung sind Änderungen an der maximalen Übertragungseinheit (maximum transmission unit, MTU) auf einem Pfad in dem Schaltnetzwerk. Die Größe der maximalen Paketnutzlast, die auf einer Verbindung übertragen werden kann, wird als maximale Übertragungseinheit bezeichnet. Betrachten wir zum Beispiel eine einzelne Verbindung innerhalb des Schaltnetzwerkes. Wenn die Paket-Pufferspeicher auf der einen Seite der Verbindung Paketnutzlasten bis zu 512 Bytes handhaben, und die Paket-Pufferspeicher auf der anderen Seite der Verbindung Paketnutzlasten bis zu 1025 Bytes handhaben, kann die größte Paketnutzlast, die über diese Verbindung übertragen werden kann, maximal 512 Bytes, die kleinere Paketnutzlast der beiden Seiten der Verbindung, betragen. Der Einfachheit halber wird die Größe der Paketnutzlast auch bei der Beschreibung der Größe des Pakets verwendet.
  • Wenn der Pfad von einem Knoten zu einem anderen Knoten Vermittlungsstellen und/oder Router enthält, gibt es mehr als eine Verbindung in dem Pfad. In diesem Fall wird die MTU nun als Pfad-MTU bezeichnet, und sie ist die kleinste MTU von allen Verbindungen in dem Pfad. Wenn eine der Verbindungen in dem Pfad zum Beispiel eine MTU von 512 Bytes hat und alle anderen Verbindungen eine MTU von 4096 Bytes haben, können nur Pakete mit einer Größe von maximal 512 Bytes auf dem Pfad übertragen werden.
  • Wenn die Pfad-MTU als Folge eines Wechsels von einem ausgefallenen zu einem noch einsatzbereiten Knoten (Failover) zunimmt, muss die Verbindung entweder freigemacht (es werden keine neuen Anforderungspakete erzeugt und alle ausstehenden Pakete wurden bestätigt) oder getrennt und wiederhergestellt werden, um die neue, größere Pfad-MTU vorteilhaft nutzen zu können. Diese Situation lässt sich mit der vorliegenden Erfindung wirksam handhaben, da die Warteperiode auf veraltete Pakete nicht mehr nötig ist. Die logische Verbindung kann getrennt und sofort wiederhergestellt werden, ohne dass Wartezustände durchlaufen werden müssen.
  • Es sei ausdrücklich angemerkt, dass die vorliegende Erfindung zwar im Zusammenhang mit einem uneingeschränkt funktionsfähigen Datenverarbeitungssystem beschrieben wurde, der Fachmann jedoch versteht, dass die Prozesse der vorliegenden Erfindung in Form von einem rechnerlesbaren Datenträger mit Befehlen und in einer Vielzahl von anderen Formen vertrieben werden können und dass die vorliegende Erfindung ungeachtet der jeweiligen Art des signaltragenden Mediums, das für den Vertrieb verwendet wird, gleichermaßen Anwendung findet. Beispiele für rechnerlesbare Datenträger sind unter anderem beschreibbare Datenträger wie zum Beispiel eine Diskette, ein Festplattenlaufwerk, ein RAM, CD-ROMS, DVD-ROMs sowie Übertragungsmedien wie zum Beispiel digitale und analoge Kommunikationsverbindungen, drahtgebundene oder drahtlose Kommunikationsverbindungen, die Übertragungsformen wie zum Beispiel Hochfrequenz- und Lichtwellenübertragungen nutzen. Der rechnerlesbare Datenträger kann die Form von codierten Formaten annehmen, die zur tatsächlichen Verwendung in einem bestimmten Datenverarbeitungssystem decodiert werden.
  • Die Beschreibung der vorliegenden Erfindung erfolgte zum Zweck der Veranschaulichung und Erläuterung, und sie erhebt weder Anspruch auf Vollständigkeit noch ist sie als Einschränkung auf die Erfindung in der hier offen gelegten Form zu verstehen. Für den Fachmann ist es offensichtlich, dass viele Änderungen vorgenommen werden können und abweichende Gestaltungsformen möglich sind. Die Ausführungsform wurde gewählt und beschrieben, um die Grundgedanken der Erfindung und ihre Anwendung in der Praxis bestmöglich zu erklären, um dem Fachmann das Verständnis der Erfindung zu ermöglichen, die auch in verschiedenen Ausführungsformen mit verschiedenen, für den jeweils vorgesehenen Verwendungszweck geeigneten Änderungen realisiert werden kann.

Claims (10)

  1. Verfahren zur Verwaltung von Daten, die in einem Datenverarbeitungssystem von einem ersten Endknoten an einen zweiten Endknoten übertragen werden, wobei das Verfahren die folgenden Schritte umfasst: vor der Übertragung der Daten zwischen dem ersten Endknoten und dem zweiten Endknoten Herstellen (904) einer logischen Verbindung zwischen dem ersten Endknoten und dem zweiten Endknoten; Zuordnen einer Instanznummer zu der logischen Verbindung, wobei die Instanznummer während der Dauer der logischen Verbindung gleich bleibt; Übertragen (912) von einem oder mehreren Paketen (800) einschließlich der zugeordneten Instanznummer in den Paketen von dem ersten Endknoten an den zweiten Endknoten, während die logische Verbindung besteht; Empfangen (1002) eines Pakets durch den zweiten Endknoten; unter Verwendung des zweiten Endknotens Ermitteln (1006) einer in dem empfangenen Paket enthaltenen Instanznummer (812); Feststellen (1008), ob die in dem empfangenen Paket enthaltene Instanznummer (812) die zugeordnete Instanznummer ist; als Reaktion auf die Feststellung, dass die in dem empfangenen Paket enthaltene Instanznummer die zugeordnete Instanznummer ist, Verarbeiten (1010) des empfangenen Pakets in der üblichen Weise durch den zweiten Endknoten; und als Reaktion auf die Feststellung, dass die in dem empfangenen Paket enthaltene Instanznummer nicht die zugeordnete Instanznummer ist, Verwerfen (1012) des empfangenen Pakets durch den zweiten Endknoten.
  2. Verfahren nach Anspruch 1, das des Weiteren die folgenden Schritte umfasst: Wiederherstellen einer logischen Verbindung zwischen dem ersten Endknoten und dem zweiten Endknoten; Erhöhen der Instanznummer und Zuordnen der erhöhten Instanznummer zu der wiederhergestellten logischen Verbindung; und Aufnehmen der erhöhten Instanznummer in jedes Paket, das zwischen dem ersten Endknoten und dem zweiten Endknoten übertragen wird, während die wiederhergestellte logische Verbindung besteht, wobei die erhöhte Instanznummer während der Dauer der wiederhergestellten logischen Verbindung gleich bleibt.
  3. Verfahren nach Anspruch 1, wobei der Schritt der Herstellung einer logischen Verbindung zwischen dem ersten Endknoten und dem zweiten Endknoten des Weiteren den folgenden Schritt umfasst: Zuordnen eines Warteschlangen-Paares in dem ersten Endknoten zu einem Warteschlangen-Paar in dem zweiten Endknoten.
  4. Verfahren nach Anspruch 3, wobei der Schritt der Zuordnung eines Warteschlangen-Paares in dem ersten Endknoten zu einem Warteschlangen-Paar in dem zweiten Endknoten des Weiteren die folgenden Schritte umfasst: Erstellen einer Tabelle mit Warteschlangen-Paaren in dem ersten Endknoten; und Speichern eines Hinweises auf eine Zuordnung von dem ersten Warteschlangen-Paar in dem ersten Endknoten zu einem Warteschlangen-Paar in dem zweiten Endknoten in der Tabelle.
  5. Verfahren nach Anspruch 4, das des Weiteren die folgenden Schritte umfasst: Übertragen eines Pakets von dem zweiten Endknoten an den ersten Endknoten unter Verwendung einer bestimmten logischen Verbindung; Empfangen des Pakets unter Verwendung des ersten Endknotens; und Verwenden der Tabelle zur Feststellung, ob die bestimmte logische Verbindung zuvor hergestellt worden ist.
  6. Verfahren nach Anspruch 5, wobei der Schritt der Verwendung der Tabelle zur Feststellung, ob die bestimmte logische Verbindung zuvor hergestellt worden ist, des Weiteren den folgenden Schritt umfasst: Feststellen, ob in der Tabelle ein Hinweis auf eine Zuordnung von einem Warteschlangen-Paar in dem ersten Endknoten zu einem Warteschlangen-Paar in dem zweiten Endknoten gespeichert ist.
  7. Verfahren nach Anspruch 1, das des Weiteren den folgenden Schritt umfasst: Aufnehmen der zugeordneten Instanznummer in einen Übertragungskopfbereich in jedem Paket, das während der Dauer der logischen Verbindung zwischen dem ersten Endknoten und dem zweiten Endknoten übertragen wird.
  8. Verfahren nach Anspruch 1, das des Weiteren die folgenden Schritte umfasst: Feststellen, ob die logische Verbindung eine erste logische Verbindung zwischen dem ersten Endknoten und dem zweiten Endknoten ist; als Reaktion auf die Feststellung, dass die logische Verbindung eine erste logische Verbindung ist: Zuordnen einer Instanznummer zu der logischen Verbindung; Aufnehmen der zugeordneten Instanznummer in jedes Paket, das zwischen dem ersten Endknoten und dem zweiten Endknoten während der Dauer der logischen Verbindung übertragen wird, wobei die Instanznummer während der Dauer der logischen Verbindung gleich bleibt; und Verwenden der zugeordneten Instanznummer als aktuelle Instanznummer; und als Reaktion auf die Feststellung, dass die logische Verbindung keine erste logische Verbindung ist: Erhöhen der aktuellen Instanznummer; Verwenden der erhöhten aktuellen Instanznummer als aktuelle Instanznummer; und Aufnehmen der erhöhten aktuellen Instanznummer in jedes Paket, das zwischen dem ersten Endknoten und dem zweiten Endknoten während der Dauer der logischen Verbindung übertragen wird.
  9. Datenverarbeitungssystem (402, 600) zur Verwaltung von Daten, die in dem Datenverarbeitungssystem von einem ersten Endknoten an einen zweiten Endknoten übertragen werden, wobei das Datenverarbeitungssystem Folgendes umfasst: ein Mittel, das dazu dient, vor der Übertragung der Daten zwischen dem ersten Endknoten und dem zweiten Endknoten eine logische Verbindung zwischen dem ersten Endknoten und dem zweiten Endknoten herzustellen (904); ein Mittel, das dazu dient, der logischen Verbindung eine Instanznummer (812) zuzuordnen; und ein Mittel, das dazu dient, ein oder mehrere Pakete (800) von dem ersten Endknoten an den zweiten Endknoten zu übertragen und die zugeordnete Instanznummer in jedes Paket aufzunehmen, während die logische Verbindung besteht, wobei die zugeordnete Instanznummer während der Dauer der logischen Verbindung gleich bleibt; ein Mittel in dem zweiten Endknoten, das dazu dient, ein Paket (800) zu empfangen (1002) und eine in dem empfangenen Paket enthaltene Instanznummer (812) zu ermitteln; ein Mittel in dem zweiten Endknoten, das dazu dient, festzustellen (1008), ob die in dem empfangenen Paket enthaltene Instanznummer (812) die zugeordnete Instanznummer ist; und ein Mittel in dem zweiten Endknoten, das dazu dient, das empfangene Paket in Abhängigkeit von der getroffenen Feststellung zu verarbeiten (1010) oder zu verwerfen (1012), nämlich als Reaktion auf die Feststellung, dass die in dem empfangenen Paket enthaltene Instanznummer die zugeordnete Instanznummer ist, das empfangene Paket normal zu verarbeiten (1010); und als Reaktion auf die Feststellung, dass die in dem empfangenen Paket enthaltene Instanznummer nicht die zugeordnete Instanznummer ist, das empfangene Paket zu verwerfen (1012).
  10. Rechnerprogramm, das, nachdem es in ein Rechnersystem geladen wurde und darauf ausgeführt wird, dazu dient, alle Schritte eines Verfahrens nach einem der Ansprüche 1 bis 8 durchzuführen.
DE60303026T 2002-04-25 2003-04-01 System, verfahren und produkt zur verwaltung des datenverkehrs in einem netzwerk Expired - Lifetime DE60303026T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/132,456 US7149220B2 (en) 2002-04-25 2002-04-25 System, method, and product for managing data transfers in a network
US132456 2002-04-25
PCT/GB2003/001416 WO2003091888A2 (en) 2002-04-25 2003-04-01 System, method, and product for managing data transfers in a network

Publications (2)

Publication Number Publication Date
DE60303026D1 DE60303026D1 (de) 2006-02-02
DE60303026T2 true DE60303026T2 (de) 2006-07-27

Family

ID=29248774

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60303026T Expired - Lifetime DE60303026T2 (de) 2002-04-25 2003-04-01 System, verfahren und produkt zur verwaltung des datenverkehrs in einem netzwerk

Country Status (13)

Country Link
US (1) US7149220B2 (de)
EP (1) EP1499984B1 (de)
JP (1) JP4099170B2 (de)
KR (1) KR100651571B1 (de)
CN (1) CN1633647B (de)
AT (1) ATE314691T1 (de)
AU (1) AU2003214470A1 (de)
CA (1) CA2483197C (de)
DE (1) DE60303026T2 (de)
IL (1) IL164724A0 (de)
MX (1) MXPA04010437A (de)
TW (1) TWI252651B (de)
WO (1) WO2003091888A2 (de)

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE60143313D1 (de) 2000-08-30 2010-12-02 Tmt Coaxial Networks Inc Verfahren und system fur ein hausnetzwerk
US8724485B2 (en) 2000-08-30 2014-05-13 Broadcom Corporation Home network system and method
US9094226B2 (en) 2000-08-30 2015-07-28 Broadcom Corporation Home network system and method
US7430623B2 (en) * 2003-02-08 2008-09-30 Hewlett-Packard Development Company, L.P. System and method for buffering data received from a network
US7673070B1 (en) * 2003-03-17 2010-03-02 Network Equipment Technologies, Inc. Method of sharing telecommunications node equipment facilities
US7620693B1 (en) * 2004-03-29 2009-11-17 Sun Microsystems, Inc. System and method for tracking infiniband RDMA read responses
US8055818B2 (en) * 2004-08-30 2011-11-08 International Business Machines Corporation Low latency queue pairs for I/O adapters
CN100442256C (zh) * 2004-11-10 2008-12-10 国际商业机器公司 提供用于i/o适配器的队列对的方法、系统和存储介质
US7761619B2 (en) * 2005-05-13 2010-07-20 Microsoft Corporation Method and system for parallelizing completion event processing
US20060259570A1 (en) * 2005-05-13 2006-11-16 Microsoft Corporation Method and system for closing an RDMA connection
US20070011287A1 (en) * 2005-05-16 2007-01-11 Charbel Khawand Systems and methods for seamless handover in a streaming data application
US7782850B2 (en) 2006-11-20 2010-08-24 Broadcom Corporation MAC to PHY interface apparatus and methods for transmission of packets through a communications network
US7742495B2 (en) 2006-11-20 2010-06-22 Broadcom Corporation System and method for retransmitting packets over a network of communication channels
US8090043B2 (en) 2006-11-20 2012-01-03 Broadcom Corporation Apparatus and methods for compensating for signal imbalance in a receiver
US8345553B2 (en) * 2007-05-31 2013-01-01 Broadcom Corporation Apparatus and methods for reduction of transmission delay in a communication network
US9112717B2 (en) 2008-07-31 2015-08-18 Broadcom Corporation Systems and methods for providing a MoCA power management strategy
US20100097931A1 (en) * 2008-10-21 2010-04-22 Shakeel Mustafa Management of packet flow in a network
US8254413B2 (en) 2008-12-22 2012-08-28 Broadcom Corporation Systems and methods for physical layer (“PHY”) concatenation in a multimedia over coax alliance network
US8213309B2 (en) 2008-12-22 2012-07-03 Broadcom Corporation Systems and methods for reducing latency and reservation request overhead in a communications network
US8238227B2 (en) * 2008-12-22 2012-08-07 Broadcom Corporation Systems and methods for providing a MoCA improved performance for short burst packets
US8553547B2 (en) 2009-03-30 2013-10-08 Broadcom Corporation Systems and methods for retransmitting packets over a network of communication channels
US20100254278A1 (en) 2009-04-07 2010-10-07 Broadcom Corporation Assessment in an information network
US8730798B2 (en) 2009-05-05 2014-05-20 Broadcom Corporation Transmitter channel throughput in an information network
US8867355B2 (en) 2009-07-14 2014-10-21 Broadcom Corporation MoCA multicast handling
US8942250B2 (en) 2009-10-07 2015-01-27 Broadcom Corporation Systems and methods for providing service (“SRV”) node selection
US8611327B2 (en) 2010-02-22 2013-12-17 Broadcom Corporation Method and apparatus for policing a QoS flow in a MoCA 2.0 network
US8514860B2 (en) 2010-02-23 2013-08-20 Broadcom Corporation Systems and methods for implementing a high throughput mode for a MoCA device
JP2015216450A (ja) 2014-05-08 2015-12-03 富士通株式会社 情報処理装置、情報処理システム及び中継プログラム
US10498654B2 (en) 2015-12-28 2019-12-03 Amazon Technologies, Inc. Multi-path transport design
US10148570B2 (en) 2015-12-29 2018-12-04 Amazon Technologies, Inc. Connectionless reliable transport
US9985904B2 (en) 2015-12-29 2018-05-29 Amazon Technolgies, Inc. Reliable, out-of-order transmission of packets
US9985903B2 (en) 2015-12-29 2018-05-29 Amazon Technologies, Inc. Reliable, out-of-order receipt of packets
EP3398315B1 (de) * 2015-12-29 2020-05-20 Amazon Technologies Inc. Netzwerktechnologien

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3032419B2 (ja) * 1993-02-17 2000-04-17 三菱電機株式会社 データ転送方法
JPH0746287A (ja) * 1993-06-29 1995-02-14 Toshiba Corp オンラインシステム
CN1104687C (zh) 1996-01-31 2003-04-02 伊普思龙网络公司 传输网络中在包路由选择和包交换之间动态转换的改进方法及设备
US5857188A (en) * 1996-04-29 1999-01-05 Ncr Corporation Management of client requests in a client-server environment
JPH10177548A (ja) * 1996-12-18 1998-06-30 Casio Comput Co Ltd セッション管理システム
JP3088683B2 (ja) * 1997-05-29 2000-09-18 三菱電機株式会社 データ通信システム
JP3608905B2 (ja) * 1997-05-29 2005-01-12 三菱電機株式会社 データ通信システム及びデータ通信方法
US6545981B1 (en) * 1998-01-07 2003-04-08 Compaq Computer Corporation System and method for implementing error detection and recovery in a system area network
US6493343B1 (en) 1998-01-07 2002-12-10 Compaq Information Technologies Group System and method for implementing multi-pathing data transfers in a system area network
US6798742B1 (en) * 1998-01-16 2004-09-28 Paradyne Corporation System and method for the measurement of service quality in a communication network
JP2000156707A (ja) * 1998-11-19 2000-06-06 Nec Corp パケット交換局及びパケット交換ネットワークシステム
JP2000242434A (ja) * 1998-12-22 2000-09-08 Hitachi Ltd 記憶装置システム
US6483804B1 (en) 1999-03-01 2002-11-19 Sun Microsystems, Inc. Method and apparatus for dynamic packet batching with a high performance network interface
JP2000347965A (ja) * 1999-06-07 2000-12-15 Toshiba Corp モバイル通信システム、及びモバイル通信方法
JP2001057583A (ja) * 1999-08-17 2001-02-27 Mitsubishi Electric Corp データ転送制御方法およびデータ転送制御装置

Also Published As

Publication number Publication date
US20030202519A1 (en) 2003-10-30
CA2483197A1 (en) 2003-11-06
KR100651571B1 (ko) 2006-11-29
JP4099170B2 (ja) 2008-06-11
EP1499984A2 (de) 2005-01-26
EP1499984B1 (de) 2005-12-28
CA2483197C (en) 2010-07-13
CN1633647B (zh) 2010-09-08
TW200306719A (en) 2003-11-16
CN1633647A (zh) 2005-06-29
WO2003091888A3 (en) 2004-03-04
AU2003214470A8 (en) 2003-11-10
KR20040105224A (ko) 2004-12-14
AU2003214470A1 (en) 2003-11-10
DE60303026D1 (de) 2006-02-02
MXPA04010437A (es) 2004-12-13
JP2005524264A (ja) 2005-08-11
ATE314691T1 (de) 2006-01-15
TWI252651B (en) 2006-04-01
IL164724A0 (en) 2005-12-18
US7149220B2 (en) 2006-12-12
WO2003091888A2 (en) 2003-11-06

Similar Documents

Publication Publication Date Title
DE60303026T2 (de) System, verfahren und produkt zur verwaltung des datenverkehrs in einem netzwerk
DE60212626T2 (de) Endknotenunterteilung mittels lokaler identifikatoren
DE60111551T2 (de) Mechanismus zur vervollständigung von nachrichten im speicher
DE69837938T2 (de) Übergreifende bildung von server clustern mittels einer netzwerkflussvermittlung
DE112020002496T5 (de) System und verfahren zur erleichterung eines effizienten host-speicherzugriffs von einer netzwerkschnittstellensteuerung (nic)
DE60201682T2 (de) Anordnung zur erzeugung mehrerer virtueller warteschlangenpaare aus einer komprimierten warteschlange auf der basis gemeinsamer attribute
DE60213616T2 (de) Eine allgemeine eingabe-/ausgabearchitektur, protokoll und entsprechende verfahren zur umsetzung der flusssteuerung
DE69735936T2 (de) Seriendatenschnittstellenverfahren und vorrichtung #
DE60030737T2 (de) Hochleistungs-Vermittlungselement und -Vermittlungssystem
DE60222191T2 (de) Übermittlung von Transaktionstypen zwischen Agenten eines Computersystems unter Verwendung von Paketköpfen mit erweitertem Typen-/erweitertem Längenfeld
DE60038448T2 (de) Vorrichtung und verfahren zur hardware-ausführung oder hardware-beschleunigung von betriebssystemfunktionen
DE112004002797B4 (de) Ausfallsicherung und Lastausgleich
DE10360190A1 (de) Vorrichtung für die Erfassung von Verbindungsfehlern auf der Backplane des hochverfügbaren Ethernet
DE69832744T2 (de) System und Verfahren zur automatischen dynamischen Ringadressveränderungen
DE112012001753B4 (de) 3 -Anmeldesequenz für eine Fibre-Channel-Weiterleiterstruktur
DE69829840T2 (de) Medienzugriffskontroller und Medienunabhängige Schnittstelle(MII) zum Verbinden an eine physikalische Schicht Vorrichtung
DE60316745T2 (de) Erleichterung der beschleunigten Verarbeitung von Nachrichten des Internet Group Management Protokolls
DE69836778T2 (de) Vorrichtung und Verfahren zur Fernpufferspeicherzuordnung und Verwaltung für Nachrichtenübertragung zwischen Netzknoten
DE102015102871A1 (de) Technologien für verteilten Leitweglenkungstabellennachschlag
DE60032357T2 (de) Verbindungsarchitektur um minderbandbreitige verbindungen über eine hoch-bandbreitige verkettung zu verwalten
DE69928603T2 (de) Medienzugriffssteuerung
DE202015009244U1 (de) Routing von Datenverkehr innerhalb von und zwischen autonomen Systemen
DE10296675T5 (de) Virtuelles Vernetzungssystem und -verfahren in einem Verarbeitungssystem
DE60307000T2 (de) System und Verfahren für die Verwaltung von mehreren Protokollstacks
DE102019104942A1 (de) Kommunikation einer Nachricht unter Verwendung einer Netzwerkschnittstellensteuerung in einem Subnetz

Legal Events

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