DE60127342T2 - Systeme und Verfahren für gleichrangige Verbindungen über eine Netz-Schnittstellen-Karte - Google Patents

Systeme und Verfahren für gleichrangige Verbindungen über eine Netz-Schnittstellen-Karte Download PDF

Info

Publication number
DE60127342T2
DE60127342T2 DE60127342T DE60127342T DE60127342T2 DE 60127342 T2 DE60127342 T2 DE 60127342T2 DE 60127342 T DE60127342 T DE 60127342T DE 60127342 T DE60127342 T DE 60127342T DE 60127342 T2 DE60127342 T2 DE 60127342T2
Authority
DE
Germany
Prior art keywords
network interface
circuits
network
interface circuits
bus
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
DE60127342T
Other languages
English (en)
Other versions
DE60127342D1 (de
Inventor
Adrian G. Downingtown Port
Charles D. Chester Springs Spackman
Timothy P. Plano Sullivan
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.)
Nokia of America Corp
Original Assignee
Lucent Technologies Inc
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 Lucent Technologies Inc filed Critical Lucent Technologies Inc
Application granted granted Critical
Publication of DE60127342D1 publication Critical patent/DE60127342D1/de
Publication of DE60127342T2 publication Critical patent/DE60127342T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • 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/12Protocol engines
    • 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)
  • Small-Scale Networks (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

  • TECHNISCHES GEBIET DER ERFINDUNG
  • Die vorliegende Erfindung betrifft allgemein Computersysteme und insbesondere ein System und ein Verfahren zur Kommunikation auf Peer-Ebene mit einer Netzwerkschnittstellenkarte in einem Computersystem.
  • ALLGEMEINER STAND DER TECHNIK
  • In der Jugendzeit der Datenverarbeitung waren Computersysteme selbständige Prozessoren, mit denen Peripheriegeräte wie etwa Displays und Drucker und Eingabegeräte verbunden waren. Jedes Computersystem war unabhängig und kommunizierte wenig mit anderen Computersystemen. Heutzutage ist jedoch wohlbekannt, daß die Verbindung von Computersystemen in Computernetzwerken, wie zum Beispiel lokalen Netzwerken oder großflächigen Netzwerken, das gemeinsame Benutzen von Daten, Diensten und Betriebsmitteln, die von den verschiedenen Computersystemen, die Teil des Netzwerks bilden, stark verbessert.
  • Um zwischen den verschiedenen Computersystemen auf einem Netzwerk zu kommunizieren, wurden viele Kommunikationsprotokolle entwickelt. Einige Beispiele für wohlbekannte Netzwerkprotokolle sind etwa SNA (System Network Architecture), TCP/IP (Transmission Control Protocol/Internet Protocol), NetBIOS (Network Basic Input Output System) und IPX/SPX (Internet Packet Exchange/Sequence Packet Exchange). Fachleute werden jeweils mit diesen Protokollen und auch mit anderen vertraut sein.
  • Herkömmliche Netzwerkschnittstellenkarten (NIC), die zur Zeit vertrieben werden, bestehen aus einer Hostschnittstelle, Media-Zugangsschichtlogik und einer physischen Schnittstelle. Das Ziel beim NIC-Entwurf ist, Netzwerkpakete so schnell wie möglich zu und von einem residenten Host zu transportieren, was gewöhnlich bedeutet, die Hardware zu minimieren, durch die der Paketstrom verlaufen muß. Host-residente Software, bestehend aus einem Netzwerktreiber, einem Transportstapel (wobei es sich um TCP/IP handeln kann) und einer Socket-Schicht-Schnittstelle, verarbeitet den Paketstrom bzw. -ströme zu Pufferschichttransfers, die durch eine relativ gleichförmige Anwendungsprogrammschnittstelle („API") Anwendungen vorgelegt werden. In einer Unix/Linux-Umgebung wird die API gewöhnlich als „Socket" bezeichnet. In einer Umgebung von Windows®NT/2000 ist die API als „Winsock 2" realisiert. Es sind andere Schnittstellenschichten möglich, wie zum Beispiel die TDI-Schnittstellenschicht für Kernel-Zugang in Windows NT. Es sollte jedoch beachtet werden, daß alle diese Schnittstellenpunkte an der obersten Position des Transportstapels auftreten.
  • Einrichtungen in einem Computersystem, die mit dem Netzwerk kommunizieren möchten, führen dies zur Zeit auf der Socket-Schicht durch. Wenn zum Beispiel ein RAID-Controller (Redundant Array of Independant Disks) in dem System vorliegt, führen Netzwerkdateisystemanforderungen zu Aktivität in dem Host, diese Anforderungen zu versorgen. Aus dem RAID-Controller gelesene Datenträger-E/A-Blöcke werden zuerst in den Hauptspeicher des Computersystems transferiert und von dort aus durch eine API zu dem Transportstapel. Im Transportstapel werden die Blöcke in das gewählte Protokoll eingekapselt und zur Übertragung als ein oder mehrere IP-Pakete zu der NIC transferiert.
  • Wie bereits erwähnt, ist es wichtig, zu bemerken, daß alle diese Schnittstellenpunkte an der obersten Position des Transportstapels auftreten. Deshalb sollte aus der obigen Besprechung ersichtlich sein, daß alle Daten zweimal den E/A-Bus des Systems durchlaufen, und diese verschwenderische Datenbewegung wird deshalb zu einem starken Engpaß für den Netzwerkdurchsatz.
  • Um die Datentransferraten zu beschleunigen, schlugen vorbekannte Lösungen vor, daß der Transportstapel auf die Ebene eines Mezzanin-Busses in dem Computersystem verlagert wird. Dies erfordert die Verwendung von Coprozessoren, die sich auf der NIC selbst befinden (gewöhnlich als „Intelligente Prozessoren" bekannt), um den TCP/IP-Stapel auszuführen. Leider haben sich intelligente Prozessoren als kostspielig erwiesen und haben manchmal tatsächlich den Netzwerkdurchsatz vermindert.
  • Es wird folglich in der Technik ein Verfahren benötigt, um den Netzwerkdurchsatz zuverlässig zu vergrößern, ohne die Kosten des Computersystems als Ganzes wesentlich zu vergrößern.
  • Aus US-A-5 657 390 ist ein Computerprogrammprodukt bekannt, umfassend: ein computerbenutzbares Medium mit darin realisierten computerlesbaren Programmcodemitteln zum Verschlüsseln und Entschlüsseln von Informationen, die über ein Netzwerk zwischen einem in einem Client-Computer ausgeführten Client-Anwendungsprogramm und einem in einem Server-Computer ausgeführten Server-Anwendungsprogramm transferiert werden, wobei die computerlesbaren Programmcodemittel in dem Computerprogrammprodukt folgendes umfassen: computerlesbare Programmcodemittel zum Bereitstellen einer Socket-Anwendungsprogrammschnittstelle für ein Anwendungsschichtprogramm; computerlesbare Programmcodemittel zum Bereitstellen verschlüsselter Informationen für Transportprotokollschichtdienste; computerlesbare Programmcodemittel zum Verschlüsseln von aus einem Anwendungsschichtprogramm empfangenen Informationen; und computerlesbare Programmcodemittel zum Entschlüsseln von aus Transportprotokollschichtdiensten empfangenen Informationen.
  • Aus US-A-5 674 003 ist eine Transportschnittstelle auf Socket-Basis bekannt, mit der man Kommunikationskanäle zwischen abgesetzten Computern über ein verbindungsorientiertes Fernsprechnetzwerk herstellen kann. An jedem Endpunkt werden mehrere Sockets erzeugt, jeweils einen für jede Art von Datenstrom, die zwischen den Computern transferiert werden soll. Die Sockets werden zu einer Gruppe gruppiert, um dem Computertransportdienstanbieter anzuzeigen, daß die Datenströme aus den Sockets dieselbe Fernsprechverbindung benutzen können, und es wird eine Dienstqualitätsspezifikation mit der Socket-Gruppe assoziiert, so daß die Fernsprechverbindung gemäß den Anforderungen der Socket-Gruppe hergestellt werden kann. Wenn ein neuer Datenstrom gesendet werden muß und bereits eine Fernsprechverbindung hergestellt ist, wird ein neuer Socket erzeugt und zu der existierenden Socket-Gruppe hinzugefügt. Wenn der neu hinzugefügte Socket signifikant die Dienstqualitätsanforderungen der Socket-Gruppe beeinflußt, kann eine neue Dienstqualität mit dem Fernsprechnetzwerk ausgehandelt werden.
  • Aus EP-A-0 381 265 sind ein System und ein Verfahren bekannt, die automatisch eine Verbindung zwischen Datenverarbeitungssystemen in unterschiedlichen Netzwerkdomänen routen. Als ein Beispiel kann eine Anwendung, die auf einem Datenverarbeitungssystem ausgeführt wird, das eine Netzwerkdomäne wie zum Beispiel TCP verwendet, automatisch unter Verwendung einer anderen Netzwerkdomäne, wie zum Beispiel SNA, eine Verbindung zu einem anderen Datenverarbeitungssystem herstellen. Die Verbindung wird automatisch in der Schicht durchgeführt, die die Kommunikationsendpunktobjekte enthält. Bei einer bevorzugten Ausführungsform wird die Verbindung automatisch in der Socket-Schicht des AIX-Betriebssystems oder in der Socket-Schicht anderer Betriebssysteme auf der Basis der Berkeley-Version des Betriebssystems UNIX durchgeführt.
  • Kurzfassung der Erfindung
  • Ein System und ein Verfahren gemäß der Erfindung werden in den unabhängigen Ansprüchen dargelegt. Bevorzugte Formen werden in den abhängigen Ansprüchen dargelegt.
  • Um die oben beschriebenen Unzulänglichkeiten des Stands der Technik zu behandeln, stellt die vorliegende Erfindung zur Verwendung in einem Computersystem mit einem an eine erste und eine zweite Einrichtung und an Netzwerkschnittstellenschaltkreise angekoppelten Bus ein System und ein Verfahren bereit, wodurch eine der ersten und der zweiten Einrichtung über die Netzwerkschnittstellenschaltkreise mit einem Computernetzwerk kommunizieren kann, und ein Computersystem, das das System oder das Verfahren umfaßt. Bei einer Ausführungsform enthält das System folgendes: (1) zwischen den Bus und die Netzwerkschnittstellenschaltkreise geschaltete Transportstapelschaltkreise, die Socket-Schicht-Zugang zu den Netzwerkschnittstellenschaltkreisen über den Bus bereitstellen, und (2) mit den Transportstapelschaltkreisen assoziierte Kanalsteuerschaltkreise, die eindeutige Kanäle zum Ermöglichen von Peer-to-Peer-Socket-Schicht-Zugang zwischen der ersten und der zweiten Einrichtung und den Transportschnittstellenschaltkreisen in dem Computersystem herstellen.
  • Die vorliegende Erfindung führt deshalb das allgemeine Konzept ein, kanalisierten Zugang zu Socket-Schicht-Netzwerkschnittstellenhardware bereitzustellen, um es mehreren Einrichtungen in einem Computersystem zu erlauben, über die Schnittstellenhardware mit einem Computernetzwerk zu kommunizieren. Dadurch kann Peer-to-Peer-Kommunikation in dem Computersystem stattfinden, wobei andernfalls dazwischentretende Einrichtungen (wie zum Beispiel Hosts und weitere Busbandbreite) für andere Aufgaben befreit werden.
  • Bei einer Ausführungsform der vorliegenden Erfindung befinden sich die Netzwerkschnittstellenschaltkreise auf einer entfernbar in dem Computersystem gekoppelten NIC und werden aus der folgenden Gruppe ausgewählt: (1) Netzwerkschnittstellenschaltkreise des Typs 10Base-T, (2) Netzwerkschnittstellenschaltkreise des Typs 10/100Base-T, (3) Netzwerkschnittstellenschaltkreise des Typs 100Base-T, (4) optische Netzwerkschnittstellenschaltkreise des Typs OC-12, (5) optische Netzwerkschnittstellenschaltkreise des Typs OC-48, (6) optische Netzwerkschnittstellenschaltkreise des Typs OC-192, (7) optische Netzwerkschnittstellenschaltkreise des Typs Gigabit Ethernet® und (8) Netzwerkschnittstellenschaltkreise des Typs Token Ring®. Für Fachleute auf dem relevanten Gebiet ist jedoch erkennbar, daß die vorliegende Erfindung vorteilhafterweise mit jeder beliebigen herkömmlichen oder später entwickelten Technologie der Strecken oder physischen Schnittstellen betreibbar ist.
  • Bei einer Ausführungsform der vorliegenden Erfindung befinden sich die Transportstapelschaltkreise auf einer entfernbar in dem Computersystem gekoppelten NIC. Bei einer verwandten Ausführungsform der vorliegenden Erfindung befinden sich die Kanalsteuerschaltkreise auf einer entfernbar in dem Computersystem gekoppelten NIC. Bei einer noch darzustellenden und zu beschreibenden Ausführungsform befinden sich die Transportstapelschaltkreise und die Kanalsteuerschaltkreise beide auf der NIC.
  • Bei einer Ausführungsform der vorliegenden Erfindung umfassen die Transportstapelschaltkreise einen TCP/IP-Stapel. Jeder Protokollstapel, der zwischen der Socket-Schicht und der physischen Schicht (Netzwerkschnittstellenschaltkreise) existieren kann, liegt jedoch in dem allgemeinen Schutzumfang der vorliegenden Erfindung.
  • Bei einer Ausführungsform der vorliegenden Erfindung ist die erste Einrichtung einer Hosteinrichtung für den Bus. Die Hosteinrichtung kann zum Beispiel ein Prozessor des Computersystems sein.
  • Bei einer Ausführungsform der vorliegenden Erfindung ist die zweite Einrichtung ein Datenträger-Controller des Computersystems. Ein Datenträger oder ein Datenträger-Array kann somit direkt über die Netzwerkschnittstellenschaltkreise mit einem Computernetzwerk kommunizieren, ohne den Prozessor oder Speicher des Computersystems zu engagieren. Alle Einrichtungen, die Teil eines herkömmlichen oder später entwickelten Computersystems bilden können, liegen natürlich in dem allgemeinen Schutzumfang der vorliegenden Erfindung.
  • Es wurden relativ allgemein bevorzugte und alternative Merkmale der vorliegenden Erfindung skizziert, damit Fachleute die folgende ausführliche Beschreibung der Erfindung besser verstehen können. Im folgenden werden zusätzliche Merkmale der Erfindung beschrieben, die den Gegenstand der Ansprüche der Erfindung bilden. Für Fachleute ist erkennbar, daß sie ohne weiteres die offengelegte Konzeption und spezifische Ausführungsform als Grundlage für den Entwurf oder das Modifizieren anderer Strukturen zur Ausführung derselben Zwecke der vorliegenden Erfindung verwenden können.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Für ein vollständigeres Verständnis der vorliegenden Erfindung wird nun auf die folgenden Beschreibungen in Verbindung mit den beigefügten Zeichnungen Bezug genommen. Es zeigen:
  • 1 ein Computernetzwerk, das in Verbindung mit dem System oder Verfahren der vorliegenden Erfindung operieren kann;
  • 2 eine mit dem Computernetzwerk von 1 verwendbare NIC, die das System oder Verfahren der vorliegenden Erfindung umfassen kann;
  • 3 ein beispielhaftes OSI-Modell (Open Systems Interconnect) mit sieben Schichten, mit dem man eine gemäß den Prinzipien der vorliegenden Erfindung konstruierte Netzwerkkommunikationsschnittstelle beschreiben kann;
  • 4 einen gemäß einer Ausführungsform der vorliegenden Erfindung konstruierten Kanalvermittlungsmechanismus;
  • 5 ein Flußdiagramm eines Datenflusses durch ein Netzwerk in der Umgebung eines Servers gemäß dem Stand der Technik; und
  • 6 ein Flußdiagramm eines Datenflusses durch ein Netzwerk in der Umgebung eines Servers gemäß einer Ausführungsform der vorliegenden Erfindung.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Unter anfänglicher Bezugnahme auf 1 ist ein Computernetzwerk 100 dargestellt, das das System oder ein Verfahren der vorliegenden Erfindung umfassen kann. Das in 1 dargestellte Netzwerk 100 ist ein lokales Netzwerk („LAN"), aber die vorliegende Erfindung ist auf keinerlei Weise auf LAN beschränkt. Wie der Name „LAN" sagt, sind Computer in dem Netzwerk lokal (d.h. in einem Zimmer oder Gebäude) vernetzt, so daß verschiedene Arten von Daten zwischen einzelnen Computern ausgetauscht werden können.
  • In dem Netzwerk 100 befinden sich Computer 105, 110, 115, 120, 125. Die Computer 105, 110, 115, 120, 125 stellen Benutzern Schnittstellen bereit, sowie möglicherweise rein lokale Anwendungen für einzelne Benutzer. Das Netzwerk 100 ist als ein Netzwerk des Typs 10Base-T dargestellt, aber die vorliegende Erfindung ist auf keinerlei Weise auf eine bestimmte Topologie von Medienzugangssteuerung/physischer Schicht beschränkt.
  • Mit den Computern 105, 110, 115, 120, 125 ist ein Server 130 verbunden. Der Server 130 verwaltet den Verkehrsfluß in dem Netzwerk 100. Außerdem verwaltet der Server 130 alle Daten in einem zentralen Speichersystem 140 zur Verwendung durch die Benutzer der Computer 105, 110, 115, 120, 125. Das zentrale Speicherungssystem 140 kann ein durch eine RAID-Steuerung gesteuertes RAID sein.
  • Nunmehr mit Bezug auf 2 ist eine mit dem Computernetzwerk 100 von 1 verwendbare NIC 200 dargestellt, die das System oder Verfahren der vorliegenden Erfindung umfassen kann. Die NIC 200 ist mit einem der Computer 105, 110, 115, 120, 125 verbunden, um die Computer 105, 110, 115, 120, 125 mit dem Netzwerk 100 von 1 zu verbinden. Die NIC 200 enthält eine Busschnittstelle 210, die direkt an einen Computer angeschlossen ist (vielleicht einen Computer 240, der beispielsweise einen der Computer 105, 110, 115, 120, 125 in 1 repräsentiert). Die NIC 200 enthält außerdem einen Eingabe-/Ausgabechip 220, der zwischen einem der Computer 105, 110, 115, 120, 125 und dem Netzwerk weiterzuleitende Daten codiert und decodiert.
  • Der Eingabe-/Ausgabechip 220 ist mit einem Puffer 225 assoziiert. Der Puffer 225 besitzt Speicher, dem die Aufgabe gegeben wird, vorübergehend Informationen zum Zwecke des Wartens, bis die Zieleinrichtung in der Lage ist, Daten zu empfangen, zu halten. Wenn der Server 130 um einige wenige Millisekunden verzögert wird, bevor er Daten akzeptieren kann, hält deshalb der Puffer 225 die Daten, bis der Server 130 sie annehmen kann.
  • Als letztes enthält die NIC 200 eine Netzwerkschnittstelle 230. Die Netzwerkschnittstelle 230 ist der Ort, an dem die NIC direkt an das Netzwerk 100 von 1 angeschlossen werden kann.
  • Nunmehr mit Bezug auf 3 ist ein beispielhaftes OSI-Modell (Open Systems Interconnect) mit sieben Schichten dargestellt, mit dem man eine gemäß den Prinzipien der vorliegenden Erfindung konstruierte Netzwerkkommunikationsschnittstelle beschreiben kann. Fachleute werden mit dem OSI-Modell als Beschreibung der Schnittstelle zwischen einem Hostsystem und dem Netzwerk vertraut sein. Das OSI-Modell ist eine der am besten bekannten theoretischen Beschreibungen der Netzwerkkommunikation, obwohl viele Kommunikationsimplementierungen einzelne oder mehrere der OSI-Schichten kombinieren oder weglassen. Eine physische Schicht 370 ist die unterste Schicht und tritt direkt mit dem Netzwerk in Wechselwirkung. Die physische Schicht 370 enthält die tatsächliche Bitstromübertragung über die physischen Verbindungen zu dem Netzwerk hinweg.
  • Die zweite Schicht ist eine Datenstreckenschicht 360, die Multiplexen und Framing des Stroms der physischen Schicht zu Nachrichten bereitstellt. Die Datenstreckenschicht 360 stellt außerdem Fehlerdetektion, Synchronisationsinformationen und physische Kanalverwaltung bereit.
  • Die dritte Schicht ist eine Netzwerkschicht 350, die das Routen von Informationen durch das Netzwerk steuert. Dienste wie etwa Adressierung, Netzwerkinitialisierung, Vermittlung, Segmentierung und Formatierung werden in der Netzwerkschicht 350 bereitgestellt. Bestätigung der Datenablieferung wird entweder in der Netzwerkschicht 350 oder in der Datenstreckenschicht 360 erzielt.
  • Die vierte Schicht ist eine Transportschicht 340, die transparente Datenablieferung, Multiplexen und Abbildung steuert. Zuverlässige Ablieferung (im Gegensatz zu so gut wie möglich in den zugrundeliegenden physischen, Datenstrecken- und Netzwerkschichten 370, 360, 350) wird gegebenenfalls durch die Transportschicht 340 in einer bestimmten Anwendung erzielt. Dienste wie zum Beispiel Neuübertragung fehlender Daten, Umordnung von in der falschen Reihenfolge abgelieferten Daten und Korrektur von Übertragungsfehlern werden gewöhnlich in der Transportschicht 340 erzielt.
  • Die fünfte Schicht ist eine Sitzungsschicht 330. Die Sitzungsschicht 330 verwendet die Informationen aus der Transportschicht 340, um Datenelemente zusammen als gemeinsame Aktivität zwischen zwei Knoten in dem Netzwerk zu gruppieren, die gewöhnlich als Sitzung bezeichnet wird.
  • Die sechste Schicht ist eine Präsentationsschicht 320, die die Schnittstelle zwischen der Sitzungsschicht 330 und der obersten siebten Schicht enthält, die eine Anwendungsschicht 310 ist. Die Präsentationsschicht 320 präsentiert Informationen zur Verwendung in der Anwendungsschicht 310, ohne die Integrität der Sitzungsschicht 330 zu kompromittieren. Die Präsentationsschicht 320 stellt Dateninterpretation und Format- und Codetransformation bereit, während die Anwendungsschicht 310 Benutzeranwendungsschnittstellen und Verwaltungsfunktionen bereitstellt.
  • Nunmehr mit Bezug auf 4 ist ein Kanalvermittlungsmechanismus mit der allgemeinen Bezeichnung 400 dargestellt, der gemäß einer Ausführungsform der vorliegenden Erfindung konstruiert ist. Obwohl es in 2 nicht gezeigt ist, befindet sich der Kanalvermittlungsmechanismus 400 vorteilhafterweise in der NIC 200.
  • Der Kanalvermittlungsmechanismus 400 leitet Daten zu ihrem entsprechenden Ziel, so daß Einrichtungen außerhalb des Servers auf einer Peer-to-Peer-Basis kommunizieren können, statt Serverbandbreite zu verwenden. Der Kanalvermittlungsmechanismus 400 basiert vorzugsweise auf Hardware und kann mehrere Verkehrskanäle gleichzeitig lenken.
  • Der Kanalvermittlungsmechanismus 400 ist als acht Eingänge 410 und acht Ausgänge 420 enthaltend dargestellt. Jeder Ausgang entspricht einem Kanal, einer Schnittstelle entweder mit dem Host oder der Peer-Einrichtung. Die Netzwerkschnittstelle kann deshalb mehrere gleichzeitige Kanäle unterstützen. Obwohl der Kanalvermittlungsmechanismus 400 nur mit acht Kanälen arbeiten kann, ist die vorliegende Erfindung auf keinerlei Weise auf eine konkrete Zahl oder auch nur eine feste Zahl von Kanälen beschränkt.
  • Mit den durch den Kanalvermittlungsmechanismus 400 zu behandelnden Daten sind Eingangs-/Ausgangsdeskriptoren assoziiert, die dem Kanalvermittlungsmechanismus 400 Informationen darüber geben, aus welcher Einrichtung die Daten stammen und was das Ziel der Daten sein soll. Der Kanalvermittlungsmechanismus 400 liest und sendet Eingangs-/Ausgangsdeskriptoren zu einer Deskriptor-Vergleichsschaltung 440.
  • Außerdem ist in 4 eine eigene Menge von Schnittstellenregistern 430 gezeigt. Die Menge von Schnittstellenregistern 430 enthält Informationen, die es dem Kanalvermittlungsmechanismus 400 ermöglichen, den Eingangs-/Ausgangsdeskriptor der ankommenden Daten mit dem entsprechenden Kanal-Ausgang zu assoziieren, so daß sie zu dem entsprechenden Ziel gelenkt werden können. Die Deskriptor-Vergleichsschaltung 440 vergleicht den Eingangs-/Ausgangsdeskriptor mit den in der eigenen Menge von Schnittstellenregistern 430 vorliegenden Werten. Die Deskriptor-Vergleichsschaltung 440 übermittelt dann einen Wert zu einem Controller in dem Kanalvermittlungsmechanismus 400. Der Prozessor in dem Kanalvermittlungsmechanismus 400 verwendet den Wert zum Senden der Daten zu ihrem beabsichtigtem Ziel. Der Nettoeffekt dieser Verarbeitung besteht darin, daß Peer-Einrichtungen und das Hostsystem jeweils ohne direkte Kenntnis der Ursprungseinrichtung mit der NIC kommunizieren können; alle relevanten Informationen befinden sich auf der NIC selbst.
  • Gemäß dieser Ausführungsform der vorliegenden Erfindung treten die Daten deshalb zuerst in den Kanalvermittlungsmechanismus 400 an einem Punkt 410 ein. Zusammen mit den Daten (vorzugsweise ihnen vorangestellt) befindet sich ihr Eingangs-/Ausgangsdeskriptor. Der Kanalvermittlungsmechanismus 400 sendet den Eingangs-/Ausgangsdeskriptor zu der Deskriptor-Vergleichsschaltung 440. Wenn die Deskriptor-Vergleichsschaltung 440 den Wert in der eigenen Menge von Schnittstellenregistern 430, der dem gegebenen Eingangs-/Ausgangsdeskriptor entspricht, findet, lenkt der Kanalvermittlungsmechanismus 400 die Daten dann an einem Punkt 420 zu dem entsprechenden Ausgang.
  • Der Punkt 420 entspricht der zweiten Einrichtung, die das Ziel der Daten sein soll.
  • Nunmehr mit Bezug auf 5 ist ein Flußdiagramm mit der allgemeinen Kennzeichnung 500 dargestellt, das den Datenfluß durch ein Netzwerk in der Umgebung eines Servers gemäß dem Stand der Technik angibt. In diesem Diagramm erfolgt der Datenfluß von einer ersten Einrichtung zu einer zweiten Einrichtung, die beide mit einem Server verbunden sind. Die erste und die zweite Einrichtung können Computer, Drucker, einzelne Laufwerke, Rate-Controller oder beliebige Einrichtungen sein, die mittels eines Netzwerks und Servers miteinander verbunden werden können.
  • In einem Schritt 505 verlassen die in einen oder mehrere Rahmen eingekapselten Daten das Netzwerk und treten in die NIC des Servers ein. Als nächstes (in einem Schritt 510) werden die Daten, von denen in der NIC die Rahmenkopfteile entfernt wurden und die nun in Paketform vorliegen, über den Bus des Servers zu dem Prozessor des Servers geleitet. Die Datenpakete werden durch einen NIC-Softwaretreiber (in einem Schritt 515) verarbeitet und gemäß einem in Software realisierten TCP/IP-Protokoll interpretiert (in einem Schritt 520). Die Daten werden aus ihren Paketen extrahiert und erreichen an diesem Punkt die Socket-Schicht (in einem Schritt 525) und werden in einem Puffer abgelegt. Die Anwendung, für die die Daten bestimmt sind, liest nun die Daten über die Socket-Schicht (in einem Schritt 530) aus dem Puffer und verarbeitet sie entsprechend (in einem Schritt 535).
  • Vorausgesetzt, daß die Anwendung nun Daten an das Netzwerk zurückgeben möchte, ist es nun erforderlich, die Daten über die Socket-Schicht (in einem Schritt 540) in einen Puffer zu schreiben. Die Daten verlassen dann die Socket-Schicht (in einem Schritt 545) und werden gemäß TCT/IP (in einem Schritt 550) interpretiert, um Pakete zu ergeben. Die Pakete werden als abgehende Daten (in einem Schritt 555) durch den NIC-Treiber verarbeitet, werden über den Bus des Servers zu der NIC geleitet (in einem Schritt 560) und (in einem Schritt 565) in der NIC geframt und zu dem Netzwerk transferiert. Es ist ersichtlich, daß dies ein langer und potentiell betriebsmittelbedürftiger Prozeß ist.
  • Nunmehr mit Bezug auf 6 ist ein Flußdiagramm mit der allgemeinen Kennzeichnung 600 gezeigt, das den Datenfluß durch ein Netzwerk in der Umgebung eines Servers gemäß einer Ausführungsform der vorliegenden Erfindung zeigt. Der mit Bezug auf die obige 5 beschriebene Datenfluß steht stark im Gegensatz zu dem mit Bezug auf 6 beschriebenen. Datenrahmen treten in einem Anfangsschritt 610 in die NIC des Servers ein.
  • In einem Schritt 620 werden von den Datenrahmen ihre Rahmenkopfteile entfernt, sie werden gemäß TCP/IP interpretiert und treten als Nutzinformationen (immer noch innerhalb der NIC) in die Socket-Schicht ein. In einem Schritt 630 lenken Kanalschaltkreise in der NIC dann die Daten zu einem entsprechenden Kanal und letztendlich zu der zweiten Einrichtung. Nur an diesem Punkt werden die Daten über den Bus geleitet (im Schritt 640). Wenn zum Beispiel die zweite Einrichtung mit einem RAID-Controller assoziiert ist, treten die (Datenträger-E/A-)daten über die Socket-Schicht (in einem optionalen Schritt 650) in den RAID-Controller ein. Zu keinem Zeitpunkt müssen die Daten in die Serverhardware eintreten. Gemäß den Prinzipien der vorliegenden Erfindung ist der Weg, den Daten überqueren müssen, kürzer und erfordert wesentlich weniger Serverbetriebsmittel als der Weg, den der Stand der Technik bereitstellt. Tatsächlich muß bei der dargestellten Ausführungsform die Serverhardware selbst keinerlei Operationen in Bezug auf die Übertragung von Daten durch die NIC durchführen. Dadurch kann der Server seine Aufmerksamkeit der Durchführung anderer Aufgaben widmen, wie zum Beispiel Bereitstellung von Diensten für mit dem Netzwerk verbundene Benutzer.
  • Obwohl das Obige mit Bezug auf TCP/IP beschrieben wurde, werden Fachleute auf dem relevanten Gebiet verstehen, daß die vorliegende Erfindung nicht auf ein bestimmtes Protokoll beschränkt ist.
  • Der Entwurf von Serverhardware kann auch von den Prinzipien der vorliegenden Erfindung Nutzen ziehen. Da die Serverhardware nicht aufgefordert wird, Netzwerkdatenübertragung durchzuführen, kann die Serverhardware für andere Jobs optimiert werden, zu deren Durchführung der Server aufgefordert werden kann.
  • Obwohl die vorliegende Erfindung im einzelnen beschrieben wurde, ist für Fachleute verständlich, daß sie verschiedene Änderungen, Substitutionen und Modifikationen daran vornehmen können, ohne von dem beanspruchten Schutzumfang der Erfindung abzuweichen.

Claims (10)

  1. System für ein Computersystem mit einer Hosteinrichtung (130) mit einem an eine zweite Einrichtung und Netzwerkschnittstellenschaltkreise (230) angekoppelten Bus, wobei das System (220) es der zweiten Einrichtung ermöglichen soll, über die Netzwerkschnittstellenschaltkreise (230) mit einem Computernetzwerk (100) zu kommunizieren, wobei das System (220) durch folgendes gekennzeichnet ist: zwischen den Bus und die Netzwerkschnittstellenschaltkreise (230) geschaltete Transportstapelschaltkreise (300), die Socket-Schicht-Zugang zu den Netzwerkschnittstellenschaltkreisen (230) über den Bus bereitstellen, wobei die Transportstapelschaltkreise dafür ausgelegt sind, Transportstapelfunktionalität bereitzustellen; und mit den Transportstapelschaltkreisen assoziierte Kanalsteuerschaltkreise (400) mit eindeutigen Schnittstellen zur Bereitstellung von Peer-to-Peer-Socket-Schicht-Zugang zwischen der zweiten Einrichtung und den Netzwerkschnittstellenschaltkreisen in dem Computersystem.
  2. System nach Anspruch 1, wobei die Netzwerkschnittstellenschaltkreise aus der folgenden Gruppe ausgewählt werden: Netzwerkschnittstellenschaltkreise des Typs 10Base-T, Netzwerkschnittstellenschaltkreise des Typs 10/100Base-T, Netzwerkschnittstellenschaltkreise des Typs 100Base-T, optische Netzwerkschnittstellenschaltkreise des Typs OC-12, optische Netzwerkschnittstellenschaltkreise des Typs OC-48, optische Netzwerkschnittstellenschaltkreise des Typs OC-192, optische Netzwerkschnittstellenschaltkreise des Typs Gigabit Ethernet und Netzwerkschnittstellenschaltkreise des Typs Token Ring.
  3. System nach Anspruch 1, wobei sich die Transportstapelschaltkreise auf einer Netzwerkschnittstellenkarte befinden.
  4. System nach Anspruch 1, wobei sich die Kanalsteuerschaltkreise auf einer Netzwerkschnittstellenkarte befinden.
  5. System nach Anspruch 1, wobei die Transportstapelschaltkreise den TCP/IP-Stapel umfassen.
  6. System nach Anspruch 1, wobei sich die Netzwerkschnittstellenschaltkreise auf einer entfernbar in der Hosteinrichtung (130) gekoppelten Netzwerkschnittstellenkarte befinden.
  7. System nach Anspruch 1, wobei die zweite Einrichtung eine Festplattensteuerung (140) des Computersystems ist.
  8. System nach Anspruch 1, wobei die Kanalsteuerschaltkreise einen Kanalvermittlungsmechanismus umfassen, der dafür konfiguriert ist, die eindeutigen Schnittstellen herzustellen, um Peer-to-Peer-Nutzinformationstransfer über den Socket-Schicht-Zugang zwischen der zweiten Einrichtung und dem Kommunikationsnetzwerk über die Netzwerkschnittstellenschaltkreise zu ermöglichen, wobei der Kanalvermittlungsmechanismus folgendes umfaßt: ein Schnittstellenregister (430), das Informationen enthält, die die Nutzinformationen aus der zweiten Einrichtung mit einer der eindeutigen Schnittstellen assoziieren; und eine Deskriptor-Vergleichsschaltung (440), die dafür konfiguriert ist, die Nutzinformationen mit den Informationen zu vergleichen, um die eindeutigen Schnittstellen herzustellen.
  9. Verfahren zur Verwendung in einem Computersystem mit einer Hosteinrichtung (130) mit einem an eine zweite Einrichtung und Netzwerkschnittstellenschaltkreise angekoppelten Bus, und zwar ein Verfahren, das es der zweiten Einrichtung ermöglichen soll, über die Netzwerkschnittstellenschaltkreise mit einem Computernetzwerk zu kommunizieren, wobei das Verfahren durch die folgenden Schritte gekennzeichnet ist: Bereitstellen von Socket-Schicht-Zugang zu den Netzwerkschnittstellenschaltkreisen über den Bus durch Transportstapelschaltkreise; und Herstellen von eindeutigen Schaltkreis-Schnittstellen zur Bereitstellung von Peer-to-Peer-Socket-Schicht-Zugang zwischen der zweiten Einrichtung und den Netzwerkschnittstellenschaltkreisen in dem Computersystem.
  10. Computersystem, umfassend: eine Hosteinrichtung (130) mit einem Bus; eine an den Bus angekoppelte zweite Einrichtung; an den Bus angekoppelte Netzwerkschnittstellenschaltkreise (230); und gekennzeichnet durch ein System (220) nach einem der Ansprüche 1 bis 8, das es der zweiten Einrichtung ermöglicht, über die Netzwerkschnittstellenschaltkreise (230) mit einem Computernetzwerk (100) zu kommunizieren.
DE60127342T 2000-05-16 2001-05-08 Systeme und Verfahren für gleichrangige Verbindungen über eine Netz-Schnittstellen-Karte Expired - Lifetime DE60127342T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/571,140 US7149816B1 (en) 2000-05-16 2000-05-16 System and method for peer-level communication with a network interface card
US571140 2000-05-16

Publications (2)

Publication Number Publication Date
DE60127342D1 DE60127342D1 (de) 2007-05-03
DE60127342T2 true DE60127342T2 (de) 2007-12-06

Family

ID=24282471

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60127342T Expired - Lifetime DE60127342T2 (de) 2000-05-16 2001-05-08 Systeme und Verfahren für gleichrangige Verbindungen über eine Netz-Schnittstellen-Karte

Country Status (6)

Country Link
US (1) US7149816B1 (de)
EP (1) EP1158750B1 (de)
JP (1) JP3792538B2 (de)
CN (1) CN1325071A (de)
CA (1) CA2342087A1 (de)
DE (1) DE60127342T2 (de)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030204593A1 (en) * 2002-04-25 2003-10-30 International Business Machines Corporation System and method for dynamically altering connections in a data processing network
JP4326189B2 (ja) * 2002-06-10 2009-09-02 健 坂村 自律型icカード及び通信システム
CN100344122C (zh) * 2003-04-22 2007-10-17 华为技术有限公司 一种实现从指定端口发送数据报类型报文的方法
JP4892469B2 (ja) * 2007-12-20 2012-03-07 キヤノン株式会社 通信装置及びその制御方法、プログラム
US9083717B2 (en) * 2009-06-18 2015-07-14 Telefonaktiebolaget Lm Ericsson (Publ) Data flow in peer-to-peer networks

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5142622A (en) 1989-01-31 1992-08-25 International Business Machines Corporation System for interconnecting applications across different networks of data processing systems by mapping protocols across different network domains
US5674003A (en) 1995-04-28 1997-10-07 Andersen; David B. Mechanisms for accessing unique features of telephony networks from a protocol-Independent data transport interface
US5793953A (en) * 1995-07-07 1998-08-11 Sun Microsystems, Inc. Method and apparatus for allowing packet data to be separated over multiple bus targets
US5657390A (en) 1995-08-25 1997-08-12 Netscape Communications Corporation Secure socket layer application program apparatus and method
CN1100422C (zh) * 1995-11-22 2003-01-29 三星电子株式会社 家庭多媒体网络结构
US6101543A (en) * 1996-10-25 2000-08-08 Digital Equipment Corporation Pseudo network adapter for frame capture, encapsulation and encryption
US6253255B1 (en) * 1997-05-08 2001-06-26 Microsoft Corporation System and method for batching data between transport and link layers in a protocol stack
US6253334B1 (en) * 1997-05-13 2001-06-26 Micron Electronics, Inc. Three bus server architecture with a legacy PCI bus and mirrored I/O PCI buses
US6427173B1 (en) * 1997-10-14 2002-07-30 Alacritech, Inc. Intelligent network interfaced device and system for accelerated communication
US6697868B2 (en) * 2000-02-28 2004-02-24 Alacritech, Inc. Protocol processing stack for use with intelligent network interface device
US5937169A (en) * 1997-10-29 1999-08-10 3Com Corporation Offload of TCP segmentation to a smart adapter
US6085247A (en) * 1998-06-08 2000-07-04 Microsoft Corporation Server operating system for supporting multiple client-server sessions and dynamic reconnection of users to previous sessions using different computers
US6388782B1 (en) * 1998-06-01 2002-05-14 Sarnoff Corporation Multi-wavelength dense wavelength division multiplexed optical switching systems
US6516352B1 (en) * 1998-08-17 2003-02-04 Intel Corporation Network interface system and method for dynamically switching between different physical layer devices
US6308238B1 (en) * 1999-09-24 2001-10-23 Akamba Corporation System and method for managing connections between clients and a server with independent connection and data buffers

Also Published As

Publication number Publication date
EP1158750A1 (de) 2001-11-28
JP2002026943A (ja) 2002-01-25
JP3792538B2 (ja) 2006-07-05
DE60127342D1 (de) 2007-05-03
CN1325071A (zh) 2001-12-05
EP1158750B1 (de) 2007-03-21
CA2342087A1 (en) 2001-11-15
US7149816B1 (en) 2006-12-12

Similar Documents

Publication Publication Date Title
DE69534411T2 (de) Offenes Transaktionverwaltungszugriffsystem und Verfahren
DE60201682T2 (de) Anordnung zur erzeugung mehrerer virtueller warteschlangenpaare aus einer komprimierten warteschlange auf der basis gemeinsamer attribute
DE60111551T2 (de) Mechanismus zur vervollständigung von nachrichten im speicher
DE69629660T2 (de) Transparente protokoll- und datenkompressionmerkmale-unterstützung für datentransfer
DE60212626T2 (de) Endknotenunterteilung mittels lokaler identifikatoren
DE69733856T2 (de) End-zu-End Sitzungswiederherstellung
DE112008002550B4 (de) Verfahren und System für virtuelle Schnittstellenkommunikation
DE10054923B4 (de) Verfahren zum Auffangen von Netzwerkpaketen in einem Computersystem, Computersystem zum Handhaben von Netzwerkpaketen sowie Paketauffängermodul zum Auffangen von Netzwerkpaketen in einem Computersystem
DE69837938T2 (de) Übergreifende bildung von server clustern mittels einer netzwerkflussvermittlung
DE602005005219T2 (de) Paketzusammenführung
DE60303026T2 (de) System, verfahren und produkt zur verwaltung des datenverkehrs in einem netzwerk
DE69821050T2 (de) Datenstromdifferenzierungssystem für Endgerätemulator
DE69919994T2 (de) Reduzierter paketkopf im drahtlosen nachrichtennetz
DE69628631T2 (de) Dateneingangs/-ausgangsvorrichtung durch Referenzierung zwischen zentralen Verarbeitungseinheiten und Ein-/Ausgabevorrichtungen
DE69736422T2 (de) Verfahren und Vorrichtung für eine hybride Serverkommunikationsstruktur zwischen gleichen Schichten
DE112013004187B4 (de) Technologie für Netzwerk-Datenübertragung durch ein Computersystem unter Verwendung von mindestens zwei Datenübertragungsprotokollen
DE10205108A1 (de) System und Verfahren zum Zugreifen auf Softwarekomponenten in einer verteilten Netzwerkumgebung
DE60311688T2 (de) Verfahren um Verbindungsverhandlungen für höhere Protokollschichten zu beschleunigen
DE10065656A1 (de) Faserkanalschnittstellensteuerungseinrichtung, die eine nicht blockierende Ausgabe und Eingabe von Faserkanaldatenrahmen und Quittierungsrahmen in und von einem Faserkanal durchführt
DE602005006035T2 (de) Vorrichtung und Verfahren zur Bearbeitung von Rahmen mit multiprotokollverwendungsfeldern für ein Kommunikationsnetzwerk
DE60122671T2 (de) Anforderungsbedingte dynamische Schnittstellengenerierung
DE10231958B4 (de) Verfahren und System zum Übertragen von Datenpaketen über ein Netzwerk an ausgewählte mehrere Bestimmungsorte, sowie computerlesbares Medium
DE60127342T2 (de) Systeme und Verfahren für gleichrangige Verbindungen über eine Netz-Schnittstellen-Karte
DE10231941A1 (de) Datenpaketstruktur für direkt adressiertes Multicast-Protokoll
DE10394206T5 (de) Datenkommunikations-Lastverteilungs-Steuerprogramm und Datenlastverteilungs-Steuerverfahren

Legal Events

Date Code Title Description
8364 No opposition during term of opposition