DE69430276T2 - Socketstruktur für gleichzeitigen Mehrfach-Protokollzugriff - Google Patents

Socketstruktur für gleichzeitigen Mehrfach-Protokollzugriff Download PDF

Info

Publication number
DE69430276T2
DE69430276T2 DE69430276T DE69430276T DE69430276T2 DE 69430276 T2 DE69430276 T2 DE 69430276T2 DE 69430276 T DE69430276 T DE 69430276T DE 69430276 T DE69430276 T DE 69430276T DE 69430276 T2 DE69430276 T2 DE 69430276T2
Authority
DE
Germany
Prior art keywords
protocol
nodes
protocols
socket
network
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 - Fee Related
Application number
DE69430276T
Other languages
English (en)
Other versions
DE69430276D1 (de
Inventor
Mohan Byrappa Austin Sharma
Yue Austin Yeung
Chungsiang Austin Cheng
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
Application granted granted Critical
Publication of DE69430276D1 publication Critical patent/DE69430276D1/de
Publication of DE69430276T2 publication Critical patent/DE69430276T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related 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

Description

  • HINTERGRUND DER ERFINDUNG
  • Die vorliegende Erfindung bezieht sich im allgemeinen auf die Datenkommunikation in einem Netz von Computersystemen. Im besonderen bezieht sie sich auf eine Kommunikationsendpunktstruktur, die es auf Computersystemen gespeicherten Anwendungsprogrammen ermöglicht, unabhängig vom Protokoll, für das die Anwendung geschrieben wurde, und unabhängig davon, welche Protokolle im Netz verfügbar sind, über ein solches Netz zu kommunizieren.
  • Früher waren fast alle Computersysteme unabhängige Prozessorstationen, an denen eigene Peripheriegeräte wie beispielsweise Bildschirme, Drucker und Plattenlaufwerke angeschlossen waren und die unabhängig voneinander arbeiteten. Mit der Zeit erkannte man die großen Vorteile, die daraus erwachsen können, wenn man mehrere Computersysteme miteinander verknüpft. Mittlerweile ist es durchaus üblich, mehrere Computersysteme in einer verteilten Umgebung miteinander zu verbinden, so dass man ein LAN- oder ein WAN-Netzwerk erhält.
  • Es gibt jedoch zahlreiche Anbieter, die ihre eigenen Hardware- und Software-Lösungen entwickelt haben, um mehrere Computersysteme zu integrieren. Insbesondere haben diese unterschiedliche Vorstellungen vom Format und von den Protokollen entwickelt, die bei der Übertragung von Daten in diesen Netzen zu befolgen sind. Einige Protokolle unterstützen eine beschleunigte Datenübertragung, bei der die standardmäßigen Datenflusskontrollen umgangen werden, andere schreiben zwingend vor, dass die Daten diese Kontrollen durchlaufen. Spezialprotokolle werden für Übertragungsaufgaben wie beispielsweise den Aufbau und das Beenden von Verbindungen zwischen Computersystemen verwendet. Beispiele für gut bekannte Kommunikationsprotokolle sind System Network Architecture (SNA), Digital Network Architecture (DECnet), Transmission Control Protocol/Internet Protocol (TCP/IP), Network Basic Input/Output System (NetBIOS), Open Systems Interconnection (OSI) und AppleTalk. Weitere Protokolle sind bekannt und werden auf breiter Basis verwendet.
  • Die meisten verteilten Anwendungsprogramme werden in eine Anwendungsprogrammierschnittstelle (API) geschrieben, die ein bestimmtes Kommunikationsprotokoll verwendet. Die verteilten Umgebungen, die die meisten Organisationen aufgebaut haben, sind jedoch komplex, bestehen aus Gruppen einzelner Netze, die auf unterschiedlichen Kommunikationsprotokollen laufen. Wenn die Übertragungsprotokolle, die von der Anwendungsprogrammierschnittstelle der verteilten Anwendung verwendet werden, und die Übertragungsprotokolle, die auf einem oder mehreren Netzwerken tatsächlich implementiert sind und auf denen die Organisation ihre Daten senden möchte, nicht die gleichen sind, ist der Einsatz einer Anwendung beschränkt. Man darf davon ausgehen, dass die Probleme einer solchen Heterogenität in den Kommunikationsprotokollen größer werden, wenn immer mehr Organisationen über ihre Netze miteinander kommunizieren, um ihr Bestellwesen, Rechnungswesen oder andere Aktivitäten zwischen Organisationen abzuwickeln.
  • Zwar könnten die verteilten Anwendungen so umgeschrieben werden, dass sie jedes Übertragungsprotokoll ausführen, oder es könnten Anwendungsgateways für jede verteilte Gruppe verteilter Anwendungen geschrieben werden, doch machen die Kosten für das Programmieren des erforderlichen Codes eine solche Vorgehensweise wirtschaftlich unrentabel. Eine bevorzugte Lösung wird vorgestellt in der ebenfalls anhängigen Patentanmeldung mit der europäischen Veröffentlichungsnummer EP-A-524123 und mit dem Titel "Compensation for Mismatched Transport Protocols in a Data Communications Network", von R. F. Bird et al., angemeldet am 17. Juli 1991. Diese Patentanmeldung beschreibt einen Übertragungsverbindungslayer zwischen einem ersten Übertragungsbenutzer an einem Node im Netzwerk und einem zweiten Übertragungsbenutzer an einem anderen Node im Netzwerk. Wenn das Übertragungsprotokoll, das von der Anwendung am ersten Node verwendet werden soll, im Netzwerk nicht verfügbar ist, werden die Daten, die zwischen den beiden Nodes übertragen werden, automatisch geändert, so dass sie mit den verfügbaren Übertragungsprotokollen kompatibel sind. Auf diese Weise ist eine Organisation in der Lage, Anwendungsprogramme nur nach dem Kriterium der Funktionen, die sie anbieten, auszuwählen, und nicht nach dem Kriterium der Protokolle, die sie benötigen.
  • Die oben zitierte Anwendung beschreibt einen allgemeinen Übertragungslayer. Eine der Übertragungsstrukturen, die derzeit in der Berkeley-Version der UNIX (TM)-Umgebung verwendet wird, wird als Socket bezeichnet. Ein Socket ist ein Objekt, das einen Kommunikationsendpunkt in einem Netzwerk identifiziert. Ein Socket verbirgt das Protokoll der Netzwerkarchitektur hinter der Anwendung. Ein Socket ermöglicht die Herstellung einer Verbindung zwischen einem Endpunkt, beispielsweise einem Anwendungsprogramm, und einem der ausgewählten Protokolle. Diese Verknüpfung erfolgt, wenn der Endpunkt erstellt wird. Wenn ein Endpunkt erstellt wird, wird außerdem der Socket mit dem Protokoll, das unverändert bleibt, statisch verknüpft. In einer Mehrfach-Protokollumgebung, wie sie in der oben zitierten Anmeldung beschrieben wurde, die eine heterogene Konnektivität erleichtert, kann ein Übertragungsendpunkt nach der Erstellung des Endpunktes an eines von mehreren verfügbaren Protokollen gebunden werden müssen. Wenn daher in einer solchen Umgebung Sockets verwendet werden sollen, muss eine neue Socketstruktur entwickelt werden, die eine dynamische Verknüpfung des Sockets mit dem Protokoll ermöglicht. Die vorliegende Erfindung beschreibt eine solche Socketstruktur.
  • Computer Communications, Band 10, Nr. 1, Februar 1987, Butterworth, London, GB, Seiten 21–29, D. Coffield et al., "Tutorial guide to Unix sockets for network communications" beschreibt die in 4.2 BSD Unix-Systemen verfügbare Kommunikationsfunktion zwischen Prozessen in Sockets. Mit diesen Sockets können verteilte Anwendungen zwischen UNIX-Hosts in einem Netzwerk aufgebaut werden. Mit einem Systemaufruf wird ein Socket erstellt oder erworben sowie das in nachfolgenden Verbindungen zu verwendende Protokoll unter Verwendung dieses Sockets spezifiziert. Daher werden die zu verwendenden Protokolle zum Zeitpunkt des Systemaufrufs und nicht durch eine dynamische Verknüpfung eingestellt.
  • Zusammenfassung der vorliegenden Erfindung
  • Die vorliegende Erfindung stellt ein System und ein Verfahren zur Kommunikation zwischen Nodes in einem Computer-Netzwerk bereit, in dem für Netzwerknodes mehrere Protokolle zur Verfügung stehen, wobei dieses Verfahren folgende Schritte umfasst:
  • Erstellung einer Socketstruktur, die die Kommunikationsparameter für entsprechende Netzwerknodes definiert, wobei die Socketstruktur Informationen über mehrere Alternativprotokolle besitzt, die von den genannten Nodes für die Kommunikation zwischen den Nodes verwendet werden können, wobei dieser Erstellungsschritt folgende Teilschritte umfasst: Anforderung von Informationen von jedem der Alternativprotokolle, Auswahl einer Gruppe von Protokollen aus der Gruppe von Alternativprotokollen, Festlegung, welche der ausgewählten Alternativprotokolle von den jeweiligen Nodes verwendet werden können, Erstellung eines Protokollsteuerblocks für jedes Protokoll der ausgewählten Protokollgruppe sowie Einfügen eines Zeigers in die Socketstruktur für jeden Protokollsteuerblock eines ausgewählten Protokolls, und, sobald eine Kommunikation zwischen den genannten Nodes angefordert wird, Aufbau einer Verbindung zwischen den genannten Nodes unter Verwendung eines Protokollsteuerblocks eines Protokolls aus der ausgewählten Protokollgruppe.
  • Die vorliegende Erfindung erleichtert dadurch die späte Zuordnung eines Endpunkts zu einem Übertragungsprotokoll in einer verteilten Umgebung, wodurch eine dynamischere Verbindung zwischen Protokoll und Endpunkt entsteht.
  • Vorzugsweise ermöglicht die vorliegende Erfindung einen uneingeschränkten Zugriff auf ein Protokoll durch eine Anwendung. Es ist ebenfalls beabsichtigt, dass die vorliegende Erfindung die notwendigen Informationen für eingeschränkte Verbindungen mit einem Protokoll bereitstellt.
  • In einem bevorzugten Ausführungsbeispiel stellt die vorliegende Erfindung eine neue Socketstruktur bereit, die die Entscheidung, welches Protokoll verwendet werden soll, auf den Zeitpunkt verschiebt, zu dem die Verbindung zwischen Nodes im Netzwerk tatsächlich hergestellt wird. In einem Mehrfach-Protokollnetzwerk lässt sich die neue Socketstruktur für jeden Endpunkt erstellen. Für alle Protokolle, die möglicherweise verwendet werden können, um Daten zu senden oder zu empfangen, wird eine Anforderung erstellt, zum Zeitpunkt der Erstellung des neuen Sockets einen Protokollsteuerblock zu erzeugen. Ein Auswahlprozess legt fest, welches Protokoll von einem gegebenen Endpunkt möglicherweise verwendet werden könnte. Der neue Socket für den Endpunkt enthält daraufhin Informationen über jedes der ausgewählten Protokolle. Zum Zeitpunkt des Aufbaus einer Verbindung könnte jedes der ausgewählten Protokolle verwendet werden. Es können sowohl uneingeschränkte als auch eingeschränkte Verbindungen hergestellt werden. Die Auswahl des zu verwendenden Protokolls oder die Reihenfolge der Protokollpräferenzen lässt sich bei der Konfiguration an die Präferenzen des Benutzers anpassen, an den lokalen Cache-Speicher oder an die Informationen von der benannten Service-Einheit.
  • Kurze Beschreibung der Zeichnungen
  • Die vorliegende Erfindung wird anschließend ausführlicher anhand von Beispielen beschrieben, wobei auf die folgenden Zeichnungen Bezug genommen wird:
  • 1 ist ein Diagramm zweier einzelner Protokollnetzwerke, die über ein Mehrfach-Protokoll-Übertragungsnetzwerk miteinander verbunden sind.
  • 2 ist ein Blockdiagramm der Übertragungsschnittstelle, die gemäß einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung verwendet wird.
  • 3 ist ein Diagramm eines herkömmlichen Socketsteuerblocks.
  • 4 ist ein Diagramm des Socketsteuerblocks gemäß einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung.
  • 5 ist ein Flussdiagramm der Erstellung eines Sockets gemäß einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung.
  • 6 ist ein Flussdiagramm des Aufbaus einer Verbindung in der Umgebung eines Mehrfach-Protokoll-Übertragungsnetzwerkes unter Verwendung eines Mehrfach-Protokoll-Sockets gemäß der vorliegenden Erfindung.
  • 7 ist eine Darstellung eines Computersystems einschließlich einer Systemeinheit, einer Tastatur, einer Maus und eines Bildschirms.
  • 8 ist ein Blockdiagramm der in 7 abgebildeten Computersystemkomponenten.
  • Kurze Beschreibung der Zeichnungen
  • Es folgt eine Beschreibung einer Socket-gestützten Architektur. Die vorliegende Erfindung ist jedoch nicht auf Sockets beschränkt und könnte genau so gut auf ähnliche Kommunikationsendpunktobjekte in anderen Betriebssystemen angewandt werden.
  • Zwar enthält die folgende Beschreibung eine angemessene Darstellung der herkömmlichen Socket- und Netzwerkarchitektur, so dass ein Fachmann auf diesem Gebiet die vorliegende Erfindung gut verstehen kann, doch wird der Leser verwiesen auf The Design and Implementation of the 4.3 BSD UNIX Operating System von S. J. Leffler et al., Addison-Wesley, Reading, MA, 1989. Dort wird ein Betriebssystem auf der Basis der Berkeley-Version von UNIX (TM) genau beschrieben. Diese Betriebssysteme sind gut bekannt.
  • 1 zeigt die drei einzelnen Protokollnetzwerke 10, 12, 14, die über ein Gateway 59 miteinander verbunden sind, das gemäß den Grundsätzen der vorliegenden Erfindung aufgebaut wurde. Mit wachsendem Umfang netzwerkverteilter Umgebungen sind Netzwerke mit vier oder fünf verschiedenen Protokollen (beispielsweise TCP/IP, NetBIOS, SNA oder AppleTalk, nicht länger ungewöhnlich. Da Anwendungen, die auf einem Netzwerk laufen, häufig nicht kompatibel mit Anwendungen auf einem anderen Netzwerk sind, ist die Datenübertragung im Netzwerk behindert. Wie oben bereits beschrieben wurde, geht das MultiProtocol Transport Network (MPTN) 16 auf diese Probleme ein, indem es eine Schnittstelle und einen Ausgleichsmechanismus für eine Gruppe von Übertragungsdiensten definiert, die Verbindungen zwischen mehreren Übertragungsprotokollen herstellen. Durch die Bereitstellung einer Übertragungsgrenze zwischen den Netzwerken und den auf den Systemen befindlichen Anwendungen stellt das MPTN eine gemeinsame Übertragungsschnittstelle bereit, so dass die Meldungen von den Anwendungen über jedes beliebige Protokoll im Netzwerk übertragen werden können.
  • Wie aus der Darstellung in 1 hervorgeht, sind die Hosts 20 und 22 mit dem Mehrfachprotokoll-Übertragungsnetzwerk 16 verbunden. Während das Mehrfachprotokoll-Übertragungsnetzwerk 16 als einzelnes logisches Netzwerk mit einem einzigen Protokoll erscheint, ist der Host 20 mit einem ersten Netzwerk 10 verbunden, das über das Protokoll X kommuniziert, also über TCP/IP; und Host 22 mit einem zweiten Netzwerk 12 verbunden, das über das Protokoll Y kommuniziert, also über NetBIOS.
  • Das Anwendungsprogramm A 24, das in einem der Hosts 20 gespeichert ist, die mit dem MPTN-Netzwerk 16 verbunden sind, möchte mit der Anwendung B 26 kommunizieren, die in einem weiteren Host 22 gespeichert ist, der ebenfalls mit dem Netzwerk 16 verbunden ist. Beim Aufruf der Anwendung A an den Socket-Layer 27 erstellt dieser Socket-Layer 27 ein Socket, der die Anwendung A als Endpunkt definiert. Sockets enthalten Informationen über ihren Typ, die unterstützenden Protokolle, die im Übertragungslayer 28 verwendet werden, und ihren Status. Eine Verbindungsanforderung geht durch den Übertragungslayer 28, den Netzwerklayer 29 und den Netzwerkschnittstellenlayer 30. Diese fügen die erforderlichen Steuer- und Dateninformationen bei, bevor die Nachricht auf dem Netzwerk 54 ausgesendet wird. Ein Ausgleich für die Unterschiede zwischen Protokoll Y und X erfolgt durch den Übertragungslayer, was in der oben zitierten Patentanmeldung beschrieben wird.
  • 2 ist eine ausführlichere Abbildung der Code-Module im Speicher eines Computersystems, das mit dem Mehrfachprotokoll-Übertragungsnetzwerk verknüpft ist. Die Socket-Programmierschnittstelle 60 und die gemeinsame Übertragungssemantik 62 entsprechen dem Socket-Layer und trennen die Anwendungen 64, 66 und 68 von den Service-Treibern 70, 72, 74. Im Anwendungslayer werden drei Arten von Anwendungen, 64, 66, 68, gezeigt. Um die Socket-Struktur der vorliegenden Erfindung verwenden zu können, müssten NetBIOS-Anwendungen in die Socket-API geschrieben werden, damit diese zur NetBIOS-Socketanwendung 66 werden könnte. Die standardmäßige lokale IPC-Socketanwendung 64 und die TCP/IP-Anwendungen 68 werden bereits in eine standardisierte Socket-Programmierschnittstelle geschrieben. Dadurch wäre nur ein Mindestmaß an Überarbeitungsaufwand erforderlich. Die gemeinsame Übertragungssemantik 62 enthält die Socket-Steuerblöcke, die nachfolgend noch näher beschrieben werden. Eine Schnittstelle zwischen dem Socket-Layer und dem Übertragungslayer wird gebildet durch den lokalen IPC-Service-Treiber 70, den NetBIOS-Service-Treiber 72 und den Inet-Service-Treiber 74, die den Anwendungen im Anwendungslayer entsprechen. Die Service-Treiber werden verwendet, um die gemeinsame Übertragungssemantik für die Übertragungsprotokolltreiber im Übertragungslayer zu emulieren. In der vorliegenden Erfindung können diese auch das in der oben angegebenen Patentanmeldung beschriebene Ausgleichsmittel enthalten, welche eine Nachricht, die für ein erstes Protokoll in der Anwendung bestimmt ist, umwandelt in ein zweites Protokoll, das vom Netzwerk unterstützt wird. Das Übertragungslayer enthält die Protokolltreiber NetBIOS 76 und TCP/IP 78, die dafür sorgen, dass die Anwendungsnachricht mit dem Protokollformat übereinstimmt. Es gibt. kein entsprechendes lokales IPC-Modul, da es ein lokales Protokoll beschreibt, dessen Nachrichten sich nicht auf dem Netzwerk befinden. Das Netzwerk und die Netzwerkschnittstellenlayer sind nicht abgebildet, doch würde dieser Gerätetreiber für die I/O-Hardware enthalten, die das Computersystem mit dem Netzwerk verbindet, beispielsweise einen Token-Ring oder einen Ethernet-Treiber; ersterer könnte Treiber enthalten, die in die gut bekannte NDIS-Schnittstelle geschrieben sind.
  • Ein Socket ist das Basiselement in der Berkeley-Version von UNIX(TM), dem Betriebssystem, von dem aus Nachrichten gesendet und mit dem Nachrichten empfangen werden. Sockets werden innerhalb einer Kommunikationsdomäne erstellt, so wie Dateien innerhalb eines Dateisystems erstellt werden. Eine Kommunikationsdomäne fasst die Protokollgruppen, die Dateibenennungskonventionen und die Hardware, bei der es sich um ein bestimmtes Netzwerk handeln kann, zusammen und kann eine Adresse verwenden, die sich auf die Kommunikationsdomäne bezieht. Die Internet-Domäne wird durch die Adressenfamilie AF_INET spezifiziert, während die NetBIOS-Domäne durch die Adressenfamilie AF_NETBIOS referenziert wird. Eine Verbindung ist ein Mittel, mit dem die Identität des sendenden Sockets nicht mit jedem Datenpaket mit gesendet werden muss. Die Identität jedes Kommunikationsendpunktes wird vor einer Datenübertragung ausgewechselt und am Übertragungsnode sowie am Empfangsnode aufrecht erhalten, so dass die verteilten Anwendungen an jedem Ende zu jedem beliebigen Zeitpunkt die Socket-Informationen anfordern können.
  • Wenn eine Anwendung für ein bestimmtes Protokoll einen Socket-Endpunkt erstellt und das vom Übertragungsnetzwerk gewählte Protokoll mit diesem Protokoll übereinstimmt, wird dieser Zustand als Native Networking bezeichnet. Das Inet-Protokoll wird beispielsweise verwendet, um die Inet-Adressenfamilie zu unterstützen, während das Protokoll NetBIOS die NetBIOS-Adressenfamilie unterstützt. Wenn andererseits das Übertragungsprotokoll nicht mit dem Socket-Endpunkt einer Anwendung übereinstimmt, wird dieser Zustand als Non-Native Networking bezeichnet. Unter Verwendung der vorliegenden Erfindung weiß jedoch die Anwendung nicht, dass ein anderes Übertragungsprotokoll verwendet wird, um eine Verbindung zu anderen Nodes im Netzwerk herzustellen.
  • In der vorliegenden Erfindung wird die Socket-Schnittstelle verwendet, um unter Verwendung mehrerer Übertragungsprotokolle eine Verbindung zwischen Kopien einer verteilten Anwendung oder dem Client- und dem Server-Teil einer Client-Server-Anwendung herzustellen. Die Anwendung kann das Übertragungsprotokoll auswählen oder festlegen, dass das Socket-Layer das Protokoll auswählen soll. Mit der Eigenschaft Non-Native Networking der vorliegenden Erfindung können Anwendungen, die so geschrieben wurden, dass sie unter Verwendung eines einzigen Protokolls miteinander kommunizieren können, auch mit einem anderen Übertragungsprotokoll kommunizieren, das für die Netzwerkumgebung optimiert werden kann. Eine Anwendung, die beispielsweise für TCP/IP geschrieben wurde, könnte unter Verwendung des NetBIOS-Protokolls auf dem Netzwerk kommunizieren, wodurch die verteilte Anwendung einen beträchtlichen Leistungsschub erhielte.
  • In 3 ist ein konventioneller Socketsteuerblock abgebildet. Ein Socketsteuerblock 100 enthält Informationen über den Socket sowie Datenwarteschlangen für Senden und Empfangen, die Datentypen, das unterstützende Protokoll, ihren Status und ihren Socket-Identifyer. Dieser Socketsteuerblock 100 enthält einen Protokollumschalttabellenzeiger 104 und einen Protokollsteuerblockzeiger 106. Die Zeiger werden zur Suche der Protokollumschalttabelle (nicht dargestellt) bzw. des Protokollsteuerblocks 102 verwendet. Die Protokollumschalttabelle enthält protokollbezogene Informationen, beispielsweise Einträge in das Protokoll, Eigenschaften des Protokolls, bestimmte Aspekte bezüglich der Arbeitsabläufe, die sich auf die Funktionsweise des Sockets beziehen, usw. Der Socketlayer kommuniziert über die Protokollumschalttabelle mit einem Protokoll im Übertragungslayer. Die Benutzeranforderungsroutine PR_USRREQ ist die Schnittstelle zwischen einem Protokoll und dem Socket. Der Protokollsteuerblock enthält protokollspezifische Informationen, die vom Protokoll verwendet werden und je nach Protokoll unterschiedlich sind.
  • Ein Socketsteuerblock gemäß der vorliegenden Erfindung ist in 4 abgebildet. Der Socketsteuerblock ist in zwei Bereiche aufgeteilt, in den Hauptsocketsteuerblock, der im wesentlichen identisch ist mit dem herkömmlichen oben dargestellten Socketsteuerblock, und in die MPTN-Erweiterung 112, die viele der Funktionen enthält, die für das Prinzip der vorliegenden Erfindung erforderlich sind. Beide sind über eine Mehrfach-Protokoll-Übertragungsnetzwerkerweiterung 113 miteinander verknüpft. Jedes der Protokolle, die verwendet werden könnten, um Daten zu senden oder zu empfangen, erhält eine Anforderung zugesandt, einen Protokollsteuerblock 120, 122, zu erstellen, und zwar zu dem Zeitpunkt, zu dem der neue Socket erstellt wird. Nach einer Auswahlprozedur enthält der neue Socket Informationen über jedes ausgewählte Protokoll, den Protokollumschalttabellenzeiger 114, 118, den Protokollsteuerblockzeiger 116, 119, und einen Zeiger auf eine Schnittstellenadresse, falls dieser für das jeweilige Protokoll in Frage kommt (nicht dargestellt). Wie auch oben bezieht sich der Protokollumschalttabellenzeiger auf eine bestimmte Protokollumschalttabelle, die mehrere Einträge für dieses Protokoll definiert. Auch die Protokollsteuerblöcke 120, 122 enthalten protokollspezifische Informationen.
  • Zum Zeitpunkt der Socketerstellung erfolgt keine Verbindung zu irgendeinem bestimmten Protokoll zum Anwendungsendpunkt. Eine Verbindung bedeutet, dass eine Verknüpfung zwischen dem verbindungsanfordernden Socket der anfordernden Anwendung und einem anderen verbindungsgewährenden Socket hergestellt wird. Das ganze lässt sich vorstellen als Verbindungsleitung zwischen den beiden Sockets, die miteinander 'verknüpft' sind, wobei sich die Sockets beispielsweise in zwei verschiedenen Kontinenten befinden können und die Möglichkeit haben, Nachrichten zu senden und zu empfangen. Bei der vorliegenden Erfindung gibt es keinen Unterschied zwischen einem übertragenden Socket und einem empfangenden Socket. Sobald eine Verbindung aufgebaut ist, kann jeder Socket wahlweise Daten senden oder empfangen.
  • Die Entscheidung, welches Protokoll zu verwenden ist, wird aufgeschoben bis zu dem Zeitpunkt, zu dem die Verbindung tatsächlich aufgebaut ist. Zum Zeitpunkt des Aufbaus einer Verbindung kann jede beliebige Netzwerkschnittstelle in einem Protokoll verwendet werden. Die Reihenfolge, in der die Zeiger sich auf die Protokolle und Netzwerkschnittstellen beziehen, ist abhängig von den Präferenzen des Benutzers. Informationen von der benannten Service-Einheit oder die Funktionen des Protokolls sind ebenfalls enthalten. Die Socket-Erweiterung 112, die die Zeiger 114, 116, 118 und 119 enthält, umfasst außerdem Statusinformationen über den Socket und das Mehrfach-Protokoll-Übertragungsnetzwerk. Die Socket-Erweiterung 112 wird vom Socket-Layer verwendet, um den Socket- und MPTN-Status zu verwalten. Aus der Liste der verfügbaren Protokolle wählt der Socket-Layer diejenigen Protokolle aus, die die angeforderte Socket-Domain und die Art der Kommunikation (Datagramme, Streams usw.) unterstützen (siehe nachfolgende Beschreibung des Flussdiagramms zur Socket-Erstellung).
  • Ein Beispiel für eine Socket-Steuerblockstruktur ist im nachfolgend aufgeführten Code enthalten:
  • Figure 00160001
  • Figure 00170001
  • Figure 00180001
  • Die herkömmliche Socketerstellung beginnt mit einem Aufruf an die Socket-API. Eine Domänentabelle wird durchsucht auf die Adressenfamilie, den Typ und das Protokoll, das von der Anwendung gewünscht wird. Wird eine Übereinstimmung festgestellt, so wird der Protokollumschalttabelleneintrag im Socketsteuerblock eingetragen. Als nächstes fordert der Benutzer den Eintrag an, und das ausgewählte Protokoll wird aufgefordert, den Protokollsteuerblock anzulegen. Wird keine Übereinstimmung zwischen Adressenfamilie, Typ und Protokoll, das von der Anwendung gewünscht wird, festgestellt, wird an die Anwendung ein Fehler ausgegeben.
  • 5 bildet den Prozess der Erstellung eines Sockets gemäß der vorliegenden Erfindung ab. Der Prozess beginnt mit einer Socketerstellungsanforderung 150 von einer Anwendung zur Socket-API, die besagt, dass die Anwendung Daten über das Netzwerk senden oder empfangen möchte. Der Befehl an die Socket-API für die Anforderung hat die Form 'Socket = (AF, *, Typ, Proto). "AF" bezieht sich auf die Adressenfamilie und die Kommunikationsdomain, "Typ" bezieht sich auf einen der Socket-Typen, die in einer System-Header-Datei festgelegt wurden. "Proto" steht für Protokollparameter und wird verwendet, um anzugeben, dass ein bestimmtes Protokoll verwendet werden soll. In Schritt 152 wird ein Test ausgeführt, um festzustellen, ob "Proto" angegeben wurde. Wenn ja, wird der normale Socketerstellungsprozess in Schritt 154 ausgeführt, und der Prozess endet, Schritt 155.
  • Wenn "Proto" nicht angegeben wird, fährt der Prozess damit fort, dass er ein Mehrfach-Protokoll-Socket erstellt. Jedes Protokoll ist mit einer Protokoll-Umschalttabelle verknüpft.
  • Für jede Protokoll-Umschalttabelle, Schritt 155, werden Tests durchgeführt, um festzustellen, ob Typ und Adressenfamilie des anfordernden Endpunktes, Schritte 158 und 160, mit dem Protokoll übereinstimmen. In Schritt 158 wird geprüft, ob der "Typ" übereinstimmt. Wenn dieser Test ein negatives Ergebnis hat, kehrt der Prozess zurück zur nächsten Protokoll-Umschalttabelle, Schritt 156. Hat der Test ein positives Ergebnis, wird der Test auf Übereinstimmung mit der Adressenfamilie in Schritt 160 durchgeführt. Sowohl "Typ" als auch "Familie" werden als Ganzzahlen dargestellt. Die Felder "Typ" und "Adressenfamilie", die vom Benutzer ausgefüllt werden, werden mit den Feldern "Typ" und "Adressenfamilie" im Protokoll verglichen. Wird sowohl für "Typ" als auch für "Adressenfamilie" eine Übereinstimmung festgestellt, wird das Protokoll als Kandidatenprotokoll ausgewählt und in der Socket-Erweiterung mit Zeigern auf die Protokoll-Umschalttabelle und den Protokoll-Steuerblock eingestellt, Schritt 162. Herrscht keine Übereinstimmung, stellt der Prozess fest, ob die Adressenfamilie im Netzwerk nach dem Prinzip 'non-natively' unterstützt wird, Schritt 164. Wenn das Protokoll unterstützt wird, Schritt 166, wird das Protokoll als Kandidatenprotokoll ausgewählt und in der Socket-Erweiterung mit Zeigern auf die Protokoll-Umschalttabelle und den Protokoll-Steuerblock eingestellt, Schritt 162. Wird das Protokoll nicht unterstützt, wird in Schritt 166 ein Test durchgeführt, um festzustellen, ob es sich um die letzte Protokoll-Umschalttabelle handelt. Wenn nein, kehrt der Prozess zurück zu Schritt 156. Wenn es sich um die letzte Protokoll-Umschalttabelle handelt, endet der Prozess, Schritt 170. Die Protokollzeiger können innerhalb der Erweiterung entsprechend der Anwendung oder Benutzerpräferenz neu sortiert werden, und zwar entweder durch Verwendung eines Konfigurationstools oder auf der Basis von Informationen vom benannten Server.
  • In 6 wird der Prozess zum Aufbau einer Verbindung unter Verwendung des Mehrfach-Protokoll-Sockets beschrieben. Der Prozess beginnt in Schritt 200, wo der Socket-Layer versucht, unter Verwendung des ersten Protokolls aus der Protokollliste in der Socket-Erweiterung eine Verbindung zu einem angegebenen Ziel herzustellen. Die Entscheidung, welches Protokoll zuerst ausprobiert werden soll, kann von der Konfiguration benutzerdefinierter Protokollpräferenzen abhängig sein. Wenn die Verbindung erfolgreich ist, Schritt 222, endet der Prozess in Schritt 223. Wenn nicht, wird das nächste Protokoll verwendet, um den Aufbau einer Verbindung in Schritt 224 zu versuchen. Es werden Tests ausgeführt, um festzustellen, ob eine Verbindung aufgebaut wurde, Schritt 226. Wenn dies der Fall ist, dann endet der Prozess. Wenn keine Verbindung aufgebaut wurde, wird ein Test durchgeführt, um festzustellen, ob es sich um das letzte Protokoll in der Socket-Erweiterung handelt. Ist dies nicht der Fall, wird das nächste Protokoll in der Erweiterung getestet, Schritt 224. Wenn alle bei der Erstellung des Sockets verwendeten Protokolle nicht zum Aufbau der Verbindung geeignet waren, sendet der Bereitsteller der Übertragung eine Fehlermeldung an die Anwendung, Schritt 232.
  • Wie oben bereits angeführt wurde, findet die Erfindung Anwendung in mehreren Computern, die Teil eines Netzwerks wie beispielsweise Local Area Network (LAN) oder Wide Area Network (WAN) sind. Zwar wird die jeweilige Computerauswahl in diesen Netzwerken lediglich durch die Leistung und die Speicheranforderungen begrenzt, doch könnten auch Computer der Reihe IBM/PS2 (TM) in der vorliegenden Erfindung verwendet werden. Für weitere Informationen über Computer der Reihe IBM/PS2 (TM) sei der Leser verwiesen auf Technical Reference Manual Personal Systems/2, Model 50, 60 Systems IBM Corporation, Teilenummer 68X2224, Bestellnummer S68X-2224, und Technical Reference Manual Personal Systems/2, (Model 80) IBM Corporation, Teilenummer 68X2256, Bestellnummer S68X-2254. Ein Betriebssystem, das auf einem IBM PS/2 Personalcomputer ausgeführt werden kann, ist IBM OS/2 2.0 (TM). Für weitere Informationen zum Betriebssystem IBM OS/2 2.0 sei der Leser verwiesen auf OS/2 2.0 Technical Library. Programming guide Vol. 1, 2, 3 Version 2.00, Bestellnummern 10G6261, 10G6495, 10G6494. Als Alternative könnte man ein Computersystem aus der Reihe IBM Risc System/6000 (TM) verwenden, die auf dem Betriebssystem AIX (TM) ausgeführt werden kann. Die verschiedenen Modelle des Risc Systems/6000 werden in zahlreichen Veröffentlichungen der IBM Corporation beschrieben, beispielsweise in RISC System/6000, 7073 und 7016 POWERStation and POWERserver Hardware Technical reference, Bestellnummer SA23-2644-00. Das Betriebssystem AIX wird beschrieben in General Concepts and Procedure--AIX Version 3 for RISC System/6000, Bestellnummer SC23-2202-00, sowie in anderen Veröffentlichungen der IBM Corporation. Anstelle der angeführten Verweise sei dem Leser folgende allgemeine Beschreibung eines Computersystems angeboten, die zur Anwendung der vorliegenden Erfindung eingesetzt werden kann.
  • 7 ist eine Darstellung eines Computers 310 einschließlich einer Systemeinheit 311, einer Tastatur 312, einer Maus 313 und einer Anzeigeeinrichtung 314. Der Bildschirm 316 der Anzeigeeinrichtung 314 wird verwendet, um die sichtbaren Veränderungen des Datenobjekts darzustellen. Die vom Betriebssystem unterstützte grafische Benutzerschnittstelle ermöglicht es dem Benutzer, ein gezieltes Eingabeverfahren zu verwenden, indem er den Zeiger 315 auf ein Symbol setzt, das an einer bestimmten Stelle auf dem Bildschirm 316 ein Datenobjekt darstellt, und eine der Maustasten anklickt, um einen Benutzerbefehl oder eine Benutzerauswahl einzugeben.
  • 8 ist ein Blockdiagramm der in 7 abgebildeten Computersystemkomponenten. Die Systemeinheit 11 enthält einen Systembus oder eine Mehrzahl an Systembussen 21, mit denen mehrere Komponenten verknüpft sind und durch die eine Kommunikation zwischen mehreren Komponenten möglich wird. Der Mikroprozessor 322 ist an den Systembus 321 angeschlossen und wird durch einen ROM-Speicher 323 und einen RAM-Speicher 324 unterstützt, die ebenfalls mit dem Systembus 321 verbunden sind. Ein Mikroprozessor in der Computerserie IBM Multimedia PS/2 ist ein Mikroprozessor der Prozessorfamilie Intel mit den Mikroprozessoren 386 oder 486. Es können jedoch auch andere Mikroprozessoren verwendet werden, beispielsweise die Mikroprozessorfamilie von Motorola, darin speziell die Mikroprozessoren 68000, 68020 oder 68030, oder aber auch RISC-Mikroprozessoren (Reduced Instruction Set Computer), die von IBM, Hewlett Packard, Sun, Intel, Motorola und anderen hergestellt werden.
  • Der ROM-Speicher 323 enthält neben anderem Code das BIOS (Basic Input/Output System), welches die grundlegenden Hardware-Funktionen steuert, beispielsweise die Kommunikation zwischen den Komponenten, die Festplattenlaufwerke und die Tastatur. Der RAM-Speicher 324 ist der Hauptspeicher, auf dem sich das Betriebssystem, die Bereitsteller von Übertragungen und die Anwendungsprogramme befinden. Der Speichermanagementchip 325 ist mit dem Systembus 321 verbunden und steuert direkte Speicherzugriffe wie beispielsweise die Übertragung von Daten zwischen dem RAM-Speicher 324 und dem Festplattenlaufwerk 326 sowie dem Diskettenlaufwerk 327. Die CD-ROM 332 ist ebenfalls mit dem Systembus 321 verknüpft.
  • Ebenfalls mit dem Systembus 321 verbunden sind mehrere Eingabe-/Ausgabe-Steuergeräte: das Tastatursteuergerät 328, das Maussteuergerät 329, das Bildschirmsteuergerät 330 und das Audio-Steuergerät 331, die die jeweilige Hardware, die Tastatur 312, die Maus 313, den Bildschirm 314 und die Lautsprecher 315 steuern. Ebenfalls mit dem Systembus 321 verbunden ist der digitale Signalprozessor 333, der den Ton des Lautsprechers 315 korrigiert. Dieser Prozessor ist vorzugsweise im Audio-Steuergerät 331 integriert. Ein Eingabe-/Ausgabe-Steuergerät 340, beispielsweise ein Token Ring Adapter, ermöglicht die Kommunikation über ein Netzwerk 342 zu anderen ähnlich konfigurierten Datenverarbeitungssystemen.
  • In der obigen Beschreibung wurden die grundlegenden Aspekte der vorliegenden Erfindung hinsichtlich eines bestimmten Kommunikationsendpunktobjekts, eines Sockets im Socket-Layer zwischen dem Anwendungslayer und dem Übertragungslayer, vorgestellt. Die grundlegenden Aspekte der vorliegenden Erfindung könnten dahin gehend erweitert werden, dass sie ähnlich konfigurierte Kommunikationsendpunktobjekte in anderen Layern bereit stellen. Es könnte beispielsweise ein Objekt im Netzwerkschnittstellenlayer verwendet werden, um mehrere darunter liegende MAC-Treiber zu überwachen, so dass Daten über mehrere MAC-Protokolle und über verschiedene Netzwerktypen gesendet oder empfangen werden können.

Claims (9)

  1. Ein Verfahren zur Kommunikation zwischen Nodes (20, 22) in einem Computer-Netzwerk, in dem für Netzwerknodes mehrere Protokolle zur Verfügung stehen, wobei dieses Verfahren folgende Schritte umfasst: Erstellung einer Socketstruktur (110, 112), die die Kommunikationsparameter für entsprechende Netzwerknodes definiert, wobei die Socketstruktur Informationen über mehrere Alternativprotokolle besitzt, die von den genannten Nodes für die Kommunikation zwischen den Nodes verwendet werden können, wobei dieser Erstellungsschritt folgende Teilschritte umfasst: Anforderung von Informationen von jedem der Alternativprotokolle; Auswahl (162) einer Gruppe von Protokollen aus der Gruppe von Alternativprotokollen, Festlegung, welche der ausgewählten Alternativprotokolle von den jeweiligen Nodes verwendet werden können; Erstellung eines Protokollsteuerblocks (120, 122) für jedes Protokoll der ausgewählten Protokollgruppe; sowie Einfügen eines Zeigers (116, 119) in die Socketstruktur (112) für jeden Protokollsteuerblock eines ausgewählten Protokolls; und sobald eine Kommunikation zwischen den genannten Nodes angefordert wird, Aufbau (200) einer Verbindung zwischen den genannten Nodes unter Verwendung eines Protokollsteuerblocks eines Protokolls aus der ausgewählten Protokollgruppe.
  2. Ein Verfahren gemäß Anspruch 1, wobei das ausgewählte Protokoll von Benutzerpräferenzen abhängig ist.
  3. Ein Verfahren gemäß Anspruch 2, das weiterhin den Schritt der Erstellung einer Liste der ausgewählten Protokollgruppe umfasst, die gemäß Benutzerpräferenzen angegeben wurde, und der Schritt zum Aufbau einer Verbindung unter Verwendung einer ausgewählten Protokollgruppe umfasst den Versuch, eine Verbindung aufzubauen, indem nacheinander die Protokolle (200, 224) in ihrer Reihenfolge in der Liste verwendet werden, bis die Verbindung erfolgreich aufgebaut ist (222, 226).
  4. Ein Verfahren gemäß Anspruch 1, wobei das ausgewählte Protokoll auf der Grundlage der Fähigkeit des ausgewählten Protokolls ausgewählt wird.
  5. Ein Verfahren gemäß Anspruch 1, wobei die Reihenfolge, in der die Zeiger eingefügt werden, von den Benutzerpräferenzen abhängig ist.
  6. Ein Verfahren gemäß Anspruch 1, wobei der Auswahlschritt folgende Teilschritte umfasst: Bestimmung (158, 160), ob es eine Übereinstimmung für ein erstes Protokoll für eine erste Gruppe von Protokollparametern gibt, wobei das erste Protokoll mit einem ersten Zeiger im Socket übereinstimmt; und wenn keine Übereinstimmung für das erste Protokoll gefunden wird, Bestimmung (164), ob das erste Protokoll im Netzwerk Non-Native Networking unterstützt.
  7. Ein System zur Kommunikation zwischen Nodes in einem Computernetzwerk, in dem eine Mehrzahl von Protokollen von Netzwerk-Nodes verwendbar ist, wobei das System folgendes umfasst: Mittel zur Erstellung einer Socketstruktur, die die Kommunikationsparameter für entsprechende Netzwerknodes definiert, wobei die Socketstruktur Informationen über mehrere Alternativprotokolle besitzt, die von den genannten Nodes für die Kommunikation zwischen den Nodes verwendet werden können, wobei dieses Erstellungsmittel folgende Teilmittel umfasst: Mittel zur Anforderung von Informationen von jedem der Alternativprotokolle; Mittel zur Auswahl einer Gruppe von Protokollen aus der Gruppe von Alternativprotokollen; Mittel zur Erstellung eines Protokollsteuerblocks für jedes Protokoll der ausgewählten Protokollgruppe; und Mittel zum Einfügen eines Zeigers in die Socketstruktur für jeden Protokollsteuerblock eines ausgewählten Protokolls; und Mittel zum Aufbau einer Verbindung zwischen den genannten Nodes unter Verwendung eines Protokollsteuerblocks eines Protokolls aus der Protokollgruppe, die zum Zeitpunkt, zu dem die Kommunikation zwischen den genannten Nodes angefordert wird, ausgewählt wird.
  8. Ein System gemäß Anspruch 7, das weiterhin folgendes umfasst: Mittel zur Bestimmung, ob es eine Übereinstimmung für ein erstes Protokoll für eine erste Gruppe von Protokollparametern gibt, wobei das erste Protokoll mit einem ersten Zeiger im Socket übereinstimmt; und wenn keine Übereinstimmung für das erste Protokoll gefunden wird, Mittel zur Bestimmung, ob das erste Protokoll im Netzwerk Non-Native Networking unterstützt.
  9. Ein Computerprogramm, das einen vom Computer lesbaren Programmcode enthält, der eine Gruppe von Anweisungen zur Steuerung der Funktionen eines Computersystems implementiert, auf dem dieser Programmcode ausgeführt wird, um ein Verfahren zur Kommunikation zwischen Nodes in einem Computer-Netzwerk, in dem mehrere Protokolle durch die Netzwerk-Nodes verwendbar sind, durchzuführen, wobei das Verfahren die folgenden Schritte umfasst: Erstellung einer Socketstruktur, die die Kommunikationsparameter für entsprechende Netzwerknodes definiert, wobei die Socketstruktur Informationen über mehrere Alternativprotokolle besitzt, die von den genannten Nodes für die Kommunikation zwischen den Nodes verwendet werden können, wobei dieser Erstellungsschritt folgende Teilschritte umfasst: Anforderung von Informationen von jedem der Alternativprotokolle; Auswahl einer Gruppe von Protokollen aus der Gruppe von Alternativprotokollen, wobei die ausgewählten Alternativprotokolle von den jeweiligen Nodes verwendet werden können; Erstellung eines Protokollsteuerblocks für jedes Protokoll der ausgewählten Protokollgruppe; und Einfügen eines Zeigers in die Socketstruktur für jeden Protokollsteuerblock eines ausgewählten Protokolls; und sobald eine Kommunikation zwischen den genannten Nodes angefordert wird, Aufbau (200) einer Verbindung zwischen den genannten Nodes unter Verwendung eines Protokollsteuerblocks eines Protokolls aus der ausgewählten Protokollgruppe.
DE69430276T 1993-01-29 1994-01-28 Socketstruktur für gleichzeitigen Mehrfach-Protokollzugriff Expired - Fee Related DE69430276T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15366 1993-01-29
US08/015,366 US5537417A (en) 1993-01-29 1993-01-29 Kernel socket structure for concurrent multiple protocol access

Publications (2)

Publication Number Publication Date
DE69430276D1 DE69430276D1 (de) 2002-05-08
DE69430276T2 true DE69430276T2 (de) 2005-09-08

Family

ID=21770986

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69430276T Expired - Fee Related DE69430276T2 (de) 1993-01-29 1994-01-28 Socketstruktur für gleichzeitigen Mehrfach-Protokollzugriff

Country Status (4)

Country Link
US (1) US5537417A (de)
EP (1) EP0613274B1 (de)
JP (1) JPH081622B2 (de)
DE (1) DE69430276T2 (de)

Families Citing this family (108)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06301555A (ja) * 1993-02-26 1994-10-28 Internatl Business Mach Corp <Ibm> マイクロカーネル上の複数の共存オペレーティング・システム・パーソナリティ用のシステム
US6026454A (en) * 1993-12-17 2000-02-15 Packard Bell Nec, Inc. Interface for multiplexing and reformatting information transfer between device driver programs and a network application program which only accepts information in a predetermined format
US5475601A (en) * 1994-02-15 1995-12-12 Emhart Glass Machinery Investments Inc. Control for glassware forming system including bidirectional network gateway
US6769009B1 (en) * 1994-05-31 2004-07-27 Richard R. Reisman Method and system for selecting a personalized set of information channels
US5694546A (en) 1994-05-31 1997-12-02 Reisman; Richard R. System for automatic unattended electronic information transport between a server and a client by a vendor provided transport software with a manifest list
US5721876A (en) * 1995-03-30 1998-02-24 Bull Hn Information Systems Inc. Sockets application program mechanism for proprietary based application programs running in an emulation environment
US5828855A (en) * 1995-06-06 1998-10-27 Apple Computer, Inc. Socket simulation protocol for network printing systems
US5845280A (en) * 1995-09-25 1998-12-01 Microsoft Corporation Method and apparatus for transmitting a file in a network using a single transmit request from a user-mode process to a kernel-mode process
US5737495A (en) * 1995-09-29 1998-04-07 Intel Corporation Method and apparatus for managing multimedia data files in a computer network by streaming data files into separate streams based on file attributes
US5699350A (en) * 1995-10-06 1997-12-16 Canon Kabushiki Kaisha Reconfiguration of protocol stacks and/or frame type assignments in a network interface device
US5724355A (en) * 1995-10-24 1998-03-03 At&T Corp Network access to internet and stored multimedia services from a terminal supporting the H.320 protocol
GB2307625B (en) * 1995-11-23 1999-11-24 Motorola Israel Ltd Method and system for communication over a wireless modem
US5826030A (en) * 1995-11-30 1998-10-20 Excel Switching Corporation Telecommunication switch having a universal API with a single call processing message including user-definable data and response message each having a generic format
US5966545A (en) * 1996-01-25 1999-10-12 Apple Computer, Inc. System for interfacing network applications with different versions of a network protocol by providing base class at session level and invoking subclass from base class at session level
US5867661A (en) * 1996-02-15 1999-02-02 International Business Machines Corporation Method and apparatus of using virtual sockets for reducing data transmitted over a wireless communication link between a client web browser and a host web server using a standard TCP protocol
US5987517A (en) * 1996-03-27 1999-11-16 Microsoft Corporation System having a library of protocol independent reentrant network interface functions for providing common calling interface for communication and application protocols
US6031978A (en) 1996-06-28 2000-02-29 International Business Machines Corporation System, method and program for enabling a client to reconnect to a same server in a network of computer systems after the server has moved to a different network address
US5867650A (en) * 1996-07-10 1999-02-02 Microsoft Corporation Out-of-band data transmission
US6470398B1 (en) * 1996-08-21 2002-10-22 Compaq Computer Corporation Method and apparatus for supporting a select () system call and interprocess communication in a fault-tolerant, scalable distributed computer environment
US6463477B1 (en) * 1996-09-27 2002-10-08 Mci Communications Corporation Detection of presence of multiprotocol encapsulation in a data packet
US6229809B1 (en) 1996-10-11 2001-05-08 Novell, Inc. Method and system for combining computer network protocols
US6366958B1 (en) * 1996-10-21 2002-04-02 International Business Machines Corporation NETBIOS protocol support for a DCE RPC mechanism
US5748628A (en) * 1996-11-05 1998-05-05 Interack Communications, Inc. ISDN D-channel signaling discriminator
KR19980034552A (ko) * 1996-11-07 1998-08-05 김광호 소켓기능을 이용한 통신시스템의 소켓바인딩 방법
US5999979A (en) * 1997-01-30 1999-12-07 Microsoft Corporation Method and apparatus for determining a most advantageous protocol for use in a computer network
SG74611A1 (en) 1997-02-14 2000-08-22 Canon Kk Data communication apparatus and method
DE69840972D1 (de) 1997-02-14 2009-08-27 Canon Kk Vorrichtung, System und Verfahren zur Datenübertragung und Vorrichtung zur Bildverarbeitung
EP0859326A3 (de) 1997-02-14 1999-05-12 Canon Kabushiki Kaisha Vorrichtung, System und Verfahren zur Datenübertragung und Vorrichtung zur Bildverarbeitung
EP0859324B1 (de) 1997-02-14 2007-01-03 Canon Kabushiki Kaisha Vorrichtung, System und Verfahren zur Datenübertragung und Vorrichtung zur Bildverarbeitung
DE69837356T2 (de) 1997-02-14 2007-11-29 Canon K.K. Vorrichtung, System und Verfahren zur Datenübertragung und Vorrichtung zur Bildverarbeitung
US6247068B1 (en) * 1997-03-07 2001-06-12 Advanced Micro Devices Inc. Winsock-data link library transcoder
US6038603A (en) * 1997-03-25 2000-03-14 Oracle Corporation Processing customized uniform resource locators
EP0886411A3 (de) * 1997-04-15 2004-01-21 Hewlett-Packard Company, A Delaware Corporation Verfahren und Vorrichtung zur protokollgesteuerten Interaktion zwischen Geräten
US6073181A (en) * 1997-06-03 2000-06-06 International Business Machines Corporation Multi-buffer error detection for an open data-link interface LAN adapter
US6182146B1 (en) * 1997-06-27 2001-01-30 Compuware Corporation Automatic identification of application protocols through dynamic mapping of application-port associations
US6266701B1 (en) * 1997-07-02 2001-07-24 Sitara Networks, Inc. Apparatus and method for improving throughput on a data network
US6098108A (en) * 1997-07-02 2000-08-01 Sitara Networks, Inc. Distributed directory for enhanced network communication
US6065045A (en) * 1997-07-03 2000-05-16 Tandem Computers Incorporated Method and apparatus for object reference processing
US6157959A (en) * 1997-07-03 2000-12-05 Tandem Computers, Incorporated Method and apparatus for providing portable kernel-mode support for fast interprocess communication
US6029201A (en) * 1997-08-01 2000-02-22 International Business Machines Corporation Internet application access server apparatus and method
FI108772B (fi) * 1998-03-31 2002-03-15 Nokia Corp Matkaviestimen yhteyksien hallintamenetelmä
EP0964558A1 (de) * 1998-06-08 1999-12-15 THOMSON multimedia Zugriffsverfahren auf Internet-Anwedungen von Hausnetzwerkgeräten
US6233619B1 (en) * 1998-07-31 2001-05-15 Unisys Corporation Virtual transport layer interface and messaging subsystem for high-speed communications between heterogeneous computer systems
ATE282920T1 (de) * 1998-09-11 2004-12-15 Two Way Media Ltd Ablieferung von interaktiven anwendungen
FR2783624B1 (fr) * 1998-09-21 2000-12-15 Cit Alcatel Carte a puce permettant d'acceder a une application distante, terminal et systeme de communication associes et procede pour acceder a l'application distante au moyen de cette carte a puce
US6976262B1 (en) 1999-06-14 2005-12-13 Sun Microsystems, Inc. Web-based enterprise management with multiple repository capability
US7668189B1 (en) 1999-07-08 2010-02-23 Thomson Licensing Adaptive transport protocol
AU781388B2 (en) * 1999-07-08 2005-05-19 Interdigital Ce Patent Holdings An adaptive transport protocol decoder
US6665724B2 (en) 1999-07-20 2003-12-16 Canon Kabushiki Kaisha Method for automatically delaying initialization of a protocol stack within a network interface
WO2001026267A1 (en) 1999-10-05 2001-04-12 Ejasent Inc. Virtual port multiplexing
US7210147B1 (en) 1999-10-05 2007-04-24 Veritas Operating Corporation IP virtualization
US6539030B1 (en) * 2000-02-07 2003-03-25 Qualcomm Incorporated Method and apparatus for providing configurable layers and protocols in a communications system
US7421507B2 (en) * 2000-02-16 2008-09-02 Apple Inc. Transmission of AV/C transactions over multiple transports method and apparatus
GB0011954D0 (en) * 2000-05-17 2000-07-05 Univ Surrey Protocol stacks
US6988141B1 (en) 2000-05-17 2006-01-17 Ricoh Company, Ltd. Method and system of remote diagnostic, control and information collection using a dynamic linked library of multiple formats and multiple protocols with restriction on protocol
WO2001099361A1 (en) * 2000-06-21 2001-12-27 Telefonaktiebolaget Lm Ericsson (Publ) Method and system for selecting transmission means
SE520287C2 (sv) * 2000-06-21 2003-06-17 Columbitech Ab Metod för kommunikation medelst WAP-protokoll
US7596784B2 (en) * 2000-09-12 2009-09-29 Symantec Operating Corporation Method system and apparatus for providing pay-per-use distributed computing resources
DE10051535A1 (de) * 2000-10-18 2002-04-25 Heidelberger Druckmasch Ag Verfahren zum Übertragen von Daten zwischen einer ersten und einer zweiten Recheneinheit
US6845397B1 (en) * 2000-12-29 2005-01-18 Nortel Networks Limited Interface method and system for accessing inner layers of a network protocol
US7631349B2 (en) * 2001-01-11 2009-12-08 Digi International Inc. Method and apparatus for firewall traversal
US6925514B1 (en) * 2001-03-30 2005-08-02 Agere Systems Inc. Multi-protocol bus system and method of operation thereof
US20020156900A1 (en) * 2001-03-30 2002-10-24 Brian Marquette Protocol independent control module
US6820127B2 (en) * 2001-05-03 2004-11-16 International Business Machines Corporation Method, system, and product for improving performance of network connections
JP3491626B2 (ja) 2001-05-29 2004-01-26 ソニー株式会社 送信装置、受信装置、及び送受信装置
US6834309B2 (en) * 2001-05-31 2004-12-21 Kwok-Yan Leung Socket tool having data transfer control codes, file transfer control codes, and data and file transfer progress indication codes for connection and communication of SQL application
FI110900B (fi) * 2001-07-11 2003-04-15 Nokia Corp Protokollaperusteiset päätevaltuudet
US7165110B2 (en) * 2001-07-12 2007-01-16 International Business Machines Corporation System and method for simultaneously establishing multiple connections
US6895590B2 (en) 2001-09-26 2005-05-17 Intel Corporation Method and system enabling both legacy and new applications to access an InfiniBand fabric via a socket API
US7016965B2 (en) * 2001-11-13 2006-03-21 International Business Machines Corporation System and method for asynchronously reading data across secure sockets layer sessions
US7073181B2 (en) * 2001-11-13 2006-07-04 International Business Machines Corporation System and method for sharing secure sockets layer sessions across multiple processes
US8122118B2 (en) * 2001-12-14 2012-02-21 International Business Machines Corporation Selection of communication protocol for message transfer based on quality of service requirements
US20030135556A1 (en) * 2001-12-14 2003-07-17 International Business Machines Corporation Selection of communication strategies for message brokers or publish/subscribe communications
US7120858B2 (en) * 2002-08-21 2006-10-10 Sun Microsystems, Inc. Method and device for off-loading message digest calculations
WO2004034199A2 (en) * 2002-10-04 2004-04-22 Starent Networks Corporation Managing resources for ip networking
US20040073531A1 (en) * 2002-10-09 2004-04-15 International Business Machines Corporation Method, system and program product for automatically linking web documents
US20040122963A1 (en) * 2002-12-19 2004-06-24 Dan Krejsa System and method for implementing an asynchronous sockets interface
US7646759B2 (en) * 2003-01-07 2010-01-12 Intel Corporation Apparatus and method for configuring data plane behavior on network forwarding elements
US7415711B2 (en) * 2003-08-01 2008-08-19 Microsoft Corporation System and method for a transport independent gaming API for mobile devices
US20050066045A1 (en) * 2003-09-03 2005-03-24 Johnson Neil James Integrated network interface supporting multiple data transfer protocols
US7680059B2 (en) 2004-02-13 2010-03-16 Broadcom Corporation Multiple protocol wireless communications in a WLAN
US7519719B2 (en) * 2004-04-15 2009-04-14 Agilent Technologies, Inc. Automatic creation of protocol dependent control path for instrument application
US20060036852A1 (en) * 2004-08-16 2006-02-16 Kwok-Yan Leung Byte-based data-processing device and the processing method thereof
US7876777B2 (en) * 2004-12-30 2011-01-25 Honeywell International Inc. Multiple protocol decoder
US7945676B2 (en) * 2005-03-10 2011-05-17 International Business Machines Corporation Processing requests transmitted using a first communication protocol directed to an application that uses a second communication protocol
US7594031B2 (en) * 2005-09-15 2009-09-22 Microsoft Corporation Network address selection
US7779132B1 (en) * 2005-11-14 2010-08-17 Oracle America, Inc. Method and apparatus for supporting multiple transport layer implementations under a socket interface
KR100750139B1 (ko) * 2005-11-22 2007-08-21 삼성전자주식회사 인터넷 팩스의 호 처리 장치 및 방법
JP2007150697A (ja) * 2005-11-28 2007-06-14 Ricoh Co Ltd 通信装置、通信制御方法、通信制御プログラム及び記録媒体
US20080082690A1 (en) * 2006-09-29 2008-04-03 Dell Products L.P. System and method for the dynamic loading of protocol adapters
JP4921142B2 (ja) * 2006-12-12 2012-04-25 キヤノン株式会社 通信装置
KR100877065B1 (ko) * 2007-01-12 2009-01-09 삼성전자주식회사 통신 프로토콜 결정 방법 및 장치
US8645976B2 (en) 2007-05-03 2014-02-04 Qualcomm Incorporated Application programming interface (API) for restoring a default scan list in a wireless communications receiver
US8307114B2 (en) * 2007-05-22 2012-11-06 International Business Machines Corporation High availability message transmission
US8560634B2 (en) 2007-10-17 2013-10-15 Dispersive Networks, Inc. Apparatus, systems and methods utilizing dispersive networking
US8539098B2 (en) 2007-10-17 2013-09-17 Dispersive Networks, Inc. Multiplexed client server (MCS) communications and systems
JP2009140663A (ja) * 2007-12-04 2009-06-25 Nec Lcd Technologies Ltd 面光源及び液晶表示装置
US20090260023A1 (en) * 2008-04-11 2009-10-15 Hewlett-Parckard Development Commpany, Lp Multiplexing Reserved Ports
US8631284B2 (en) 2010-04-30 2014-01-14 Western Digital Technologies, Inc. Method for providing asynchronous event notification in systems
US8762682B1 (en) 2010-07-02 2014-06-24 Western Digital Technologies, Inc. Data storage apparatus providing host full duplex operations using half duplex storage devices
US8955110B1 (en) 2011-01-14 2015-02-10 Robert W. Twitchell, Jr. IP jamming systems utilizing virtual dispersive networking
US8941659B1 (en) 2011-01-28 2015-01-27 Rescon Ltd Medical symptoms tracking apparatus, methods and systems
US9015306B2 (en) 2011-12-15 2015-04-21 Cisco Technology, Inc. Mapping protocol endpoints to networked devices and applications based on capabilities
US8990390B2 (en) 2011-12-12 2015-03-24 Cisco Technology, Inc. Remote monitoring and controlling of network utilization
EP2847962B1 (de) * 2012-05-10 2019-11-20 Telefonaktiebolaget LM Ericsson (publ) System, verfahren und computerprogrammprodukt zur protokollanpassung
US10348867B1 (en) * 2015-09-30 2019-07-09 EMC IP Holding Company LLC Enhanced protocol socket domain
CN113037762B (zh) * 2021-03-18 2023-07-04 广州市百果园信息技术有限公司 通信方法、装置、设备及存储介质
CN113726570A (zh) * 2021-08-30 2021-11-30 北京广利核系统工程有限公司 一种网口配置方法、装置及系统

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5060140A (en) * 1986-01-16 1991-10-22 Jupiter Technology Inc. Universal programmable data communication connection system
GB8709771D0 (en) * 1987-04-24 1987-05-28 Madge Networks Ltd Token ring expander/hub
US5021949A (en) * 1988-02-29 1991-06-04 International Business Machines Corporation Method and apparatus for linking an SNA host to a remote SNA host over a packet switched communications network
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
JP2802088B2 (ja) * 1989-02-06 1998-09-21 株式会社日立製作所 プロトコル選択切替方法
US5150464A (en) * 1990-06-06 1992-09-22 Apple Computer, Inc. Local area network device startup process
US5251205A (en) * 1990-09-04 1993-10-05 Digital Equipment Corporation Multiple protocol routing

Also Published As

Publication number Publication date
JPH081622B2 (ja) 1996-01-10
EP0613274A2 (de) 1994-08-31
EP0613274A3 (de) 1995-01-18
DE69430276D1 (de) 2002-05-08
EP0613274B1 (de) 2002-04-03
US5537417A (en) 1996-07-16
JPH0749823A (ja) 1995-02-21

Similar Documents

Publication Publication Date Title
DE69430276T2 (de) Socketstruktur für gleichzeitigen Mehrfach-Protokollzugriff
DE69832406T2 (de) Kombiniertes internet-und datenzugangssystem
DE69630480T2 (de) Verfahren, Vorrichtung und Datenstrukturen zur Objektverwaltung
DE69832354T2 (de) Netzwerkverwaltungsrahmenwerk
DE60015423T2 (de) Verfahren und Vorrichtung zur Objektwiedergabe in einem Netzwerk
DE69834566T2 (de) Integrierte kommunikationsarchitektur in einer mobilen vorrichtung
DE69814900T2 (de) Verfahren und system zur unterstützung verteilter software- entwicklung ohne bewusstsein der verteilten charakteristik der software
DE10047266B4 (de) Verfahren und Vorrichtung zum Booten einer Workstation von einem Server
DE69916928T2 (de) Zugriffsverfahren und Server für Netzwerkverzeichnis
DE69927929T2 (de) Verfahren und System zur Netzwerkverwaltung
DE10205108A1 (de) System und Verfahren zum Zugreifen auf Softwarekomponenten in einer verteilten Netzwerkumgebung
DE69733498T2 (de) Verteiltes rechnersystem und verfahren zur aufteilung von benutzeranfragen auf duplizierte netzwerkserver
DE60029321T2 (de) Verfahren und vorrichtung zur fernbedienung eines hausnetzwerks von einem externen kommunikationsnetz
DE69912317T2 (de) Vorrichtung und verfahren zur bestimmung einer programmnachbarschaft für einen kundenknoten in einem kundenbedienernetzwerk
DE69732968T2 (de) System, verfahren und hergestellter gegenstand zur wartung von server-anwendungssoftware der netzwerk-kundenendgeräte und nicht-netzwerk-kundenengeräte
DE69735950T2 (de) Automatische diensteinstellung für computersystembenutzer
DE69735348T2 (de) Skalierbare und erweiterbare Systemverwaltungsarchitektur mit datenlosen Endpunkten
DE60100671T2 (de) Verfahren zum Verteilen von Diensten und Verfahren zum Konfigurieren von einem Netzelementen in einem Kommunikationsnetzwerk
DE69732948T2 (de) Rechnernetzwerke und Verfahren zu ihrer Überwachung
DE60306186T2 (de) Verfahren und system zur anordnung von dienste in einer webdienstarchitektur
DE602004006420T2 (de) System und verfahren zur synchronen konfiguration von dhcp servern und routerschnittstellen
DE112013004187B4 (de) Technologie für Netzwerk-Datenübertragung durch ein Computersystem unter Verwendung von mindestens zwei Datenübertragungsprotokollen
DE112008003966T5 (de) Selektives Um-Abbilden einer Netzwerktopologie
DE69930695T2 (de) Verfahren und Vorrichtung für ein Applikationsverteiler für eine Serverapplikation
DE69837550T2 (de) System und Verfahren zur Datenübermittlung von einer Serverapplikation an Klientknoten

Legal Events

Date Code Title Description
8332 No legal effect for de
8370 Indication of lapse of patent is to be deleted
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee