-
Die
Erfindung betrifft ein Kommunikationsverfahren, ein Sendeverfahren,
ein Empfangsverfahren und Vorrichtungen, die diese implementieren.
-
Das
Gebiet der Kommunikation zwischen Datenverarbeitungsvorrichtungen über ein
Netzwerk betrifft insbesondere eine Kommunikation über ein Netzwerk
zum Beispiel von einem Computer, bekannt als "PC" (Anfangsbuchstaben
des englischen Worts "Personal
Computer"), der
mit einer Netzwerkkommunikationsschnittstelle, bekannt als "NIC" (Anfangsbuchstaben
des englischen Worts "Network
Interface Card"),
ausgestattet ist.
-
Es
soll hierbei erwähnt
werden, dass eine Eingabe-/Ausgaberessource wie etwa zum Beispiel eine
Netzwerkressource im Allgemeinen besteht aus einer Netzwerkkommunikationsschnittstelle,
Software zur Steuerung dieser Schnittstelle und einem Steuerungs-
und Signalisierungssoftwaremodul, das den Betrieb der Steuersoftware
steuert und das die Signalisierung des Übertragungskanals, auf die
die übertragenen
Daten folgen, organisiert.
-
Die
Erfindung beschäftigt
sich mit dem Fall, dass zumindest zwei Datenverarbeitungsvorrichtungen
miteinander kommunizieren, wobei die Datenverarbeitungsvorrichtungen
hierbei betrachtet werden, alle die Datenverarbeitungsvorrichtungen
zu sein, die zum Implementieren einer Kommunikation fähig sind.
-
Wenn
zwei Datenverarbeitungsvorrichtungen miteinander kommunizieren und
Zugang zu einem Netzwerk haben müssen,
muss jede von diesen ihre Netzwerkzugangskarte haben. Diese Lösung hat den
Nachteil, dass sie eine Komplexität von Hardware- und Softwarearchitektur
und damit auch hohe Gesamtkosten der Datenverarbeitungsvorrichtungen verlangt.
-
Die
Druckschrift US-5,581,709 (Mitsubishi Denki Kabushiki Kaisha) beschreibt
eine Vorrichtung, die es der Zentraleinheit eines Hostsystems ermöglicht,
auf eine in einem anderen System angeordnete Eingabe-/Ausgabekarte
zuzugreifen, als ob die Eingabe-/Ausgabekarte direkt mit dem Bus
bzw. der Hauptleitung des Hostsystems verbunden wäre. Zu diesem
Zweck hat die Zentraleinheit auf dem Hostbus eine physikalische
Adresse und einen auf dem Bus arbeitenden Befehl. Die Eingabe-/Ausgaberessourcen
werden so auf der physikalischen Ebene geteilt bzw. gemeinsam genutzt,
insofern als der Bus, an dem die Eingabe-/Ausgabekarte angeordnet
ist, über
den Vorgang hinweg einem Hostsystem zugewiesen ist, wobei das Hostsystem über diesen
Zeitraum hinweg seinen eigenen Bus im Wartezustand hat. Demnach
kann die gleiche Eingabe-/Ausgabekarte nicht von zwei unterschiedlichen
Hostsystemen gleichzeitig verwendet werden. Außerdem verwaltet die Vorrichtung
gemäß dieser
Erfindung lediglich die elementaren Lese- und Schreibvorgänge in der
Ressource, ohne den Kommunikationskanal (oder "Pfad")
zu verwalten.
-
Die
EP-A-0 767 564 offenbart eine Netzwerkschnittstelleneinrichtung,
die angepasst ist, ein Peripheriegerät wie etwa einen Kopierer mit
einem LAN im Hinblick darauf zu koppeln, mit dem LAN verbundenen
Netzwerkeinrichtungen einen gemeinsamen Zugriff auf dieses Peripheriegerät zu ermöglichen.
-
Die
Erfindung legt dar, diesen Nachteilen abzuhelfen. Dazu bezieht sich
die Erfindung gemäß einem
ersten Aspekt auf ein Kommunikationsverfahren für eine zweite Datenverarbeitungsvorrichtung
gemäß Anspruch
1.
-
Gemäß einem
zweiten Aspekt bezieht sich die Erfindung auf ein Kommunikationsverfahren
für eine
erste Datenverarbeitungsvorrichtung gemäß Anspruch 2.
-
Auf
Grund von jeder dieser Vorkehrungen ermöglichen die zusätzlichen
Informationen der zweiten Datenverarbeitungsvorrichtung, die die
fragliche Eingabe-/Ausgaberessource nicht aufweist:
- – die
in der ersten Datenverarbeitungsvorrichtung eingegliederte Eingabe-/Ausgaberessource
zu verwenden (zum Beispiel auf das Netzwerk zuzugreifen),
- – um
durch Implementierung des betrachteten Kommunikationsprotokolls
die Benutzerdaten zu übertragen,
und
- – um
eine Kommunikationssitzung fortzusetzen, die bereits eingerichtet
wurde, und um die Benutzerinformationen direkt mit Hilfe der besagten
Eingabe-/Ausgaberessource zu übermitteln.
-
Die
Erfindung macht es daher möglich,
dass die Eingabe-/Ausgaberessource zwischen den beiden Datenverarbeitungsvorrichtungen
geteilt wird, obwohl diese Ressource physikalisch nur mit einer der
Kommunikationsvorrichtungen in Zusammenhang steht.
-
Schließlich wird
die Kommunikationsdauer im Allgemeinen reduziert, da zum Beispiel
die Netzwerkkommunikationsschnittstelle die Anzahl von Datenkopien
minimiert.
-
Gemäß besonderen
Eigenschaften des ersten Aspekts der Erfindung führt die zweite Datenverarbeitungsvorrichtung
nach dem Betrieb zum Übertragen
der Informationssätze
einen Betrieb zum Trennen des Satzes von zusätzlichen Informationen einerseits
und des Satzes von Benutzerinformationen andererseits durch.
-
Auf
Grund dieser Vorkehrungen werden die zusätzlichen Informationen nicht
an die Eingabe-/Ausgaberessource übertragen und werden diese für diese
Ressource daher ebenso wie für
das Netzwerk und den Empfänger
des Satzes von Benutzerinformationen auf die gleiche Art und Weise
präsentiert,
gleich ob sie von der zweiten Datenverarbeitungsvorrichtung oder
von der ersten Datenverarbeitungsvorrichtung kommen.
-
Entsprechend
führt die
zweite Datenverarbeitungsvorrichtung gemäß besonderen Eigenschaften
des zweiten Aspekts der Erfindung nach dem Betrieb zum Übertragen
der Informationssätze
einen Betrieb zum Trennen des Satzes von zusätzlichen Informationen einerseits
und des Satzes von Benutzerinformationen andererseits durch.
-
Auf
Grund dieser Vorkehrungen empfängt die
Anwendung oder das Protokoll, für
die/das der Satz von Benutzerinformationen bestimmt ist, die Sätze von Benutzerinformationen,
die von der zweiten Datenverarbeitungsvorrichtung kommen oder für diese
bestimmt sind, auf die gleiche Art und Weise wie diejenigen, die
von der Eingabe-/Ausgaberessource kommen oder für diese bestimmt sind, die
von der ersten Datenverarbeitungsvorrichtung verwaltet wird.
-
Gemäß besonderen
Eigenschaften des ersten Aspekts der Erfindung umfasst das Verfahren während des
Betriebs zum Übertragen
der genannten Informationssätze:
- – einen
von der ersten Datenverarbeitungsvorrichtung durchgeführten Schritt
zum Speichern in eine Zwischenspeichereinrichtung, und
- – einen
von der zweiten Datenverarbeitungsvorrichtung durchgeführten Schritt
zum Lesen aus der Zwischenspeichereinrichtung.
-
Entsprechend
umfasst das Verfahren gemäß besonderen
Eigenschaften des zweiten Aspekts der Erfindung während des
Betriebs zum Übertragen
der Informationssätze:
- – einen
von der ersten Datenverarbeitungsvorrichtung durchgeführten Schritt
zum Speichern in eine Zwischenspeichereinrichtung, und
- – einen
von der zweiten Datenverarbeitungsvorrichtung durchgeführten Schritt
zum Lesen aus der Zwischenspeichereinrichtung.
-
Auf
Grund von jeder dieser Vorkehrungen wird auf die Speichereinrichtung
von jeder der Datenverarbeitungsvorrichtungen unabhängig im
Schreib- und Lesemodus
zugegriffen, ohne dass es für
diese Datenverarbeitungsvorrichtungen notwendig ist, entweder synchron
oder sogar auf der gleichen Frequenz zu arbeiten, ohne dass es für die zum
Zugreifen auf die Speichereinrichtung verwendeten Adressen zwangsläufig notwendig
ist, dass sie identisch sind, und ohne dass eine gemeinsame Initialisierung der
unterschiedlichen Datenverarbeitungsvorrichtungen notwendig ist.
-
Die
Architekturen der Datenverarbeitungsvorrichtungen können daher
unabhängig
ausgelegt bzw. entworfen werden und außerhalb der Kommunikationsphasen
zwischen diesen Datenverarbeitungsvorrichtungen unabhängig arbeiten,
zum Beispiel unter Verwendung unterschiedlicher Betriebssysteme.
-
Dies
ermöglicht
es daher insbesondere, eine Vorrichtungsarchitektur und ein Betriebssystem
zu wählen,
die/das am besten an die Verwaltung bzw. Handhabung der Eingabe-/Ausgabekarte
angepasst ist.
-
Gemäß besonderen
Eigenschaften von jedem Aspekt der Erfindung stellt der Satz von
zusätzlichen
Informationen während
des Betriebs zum Verknüpfen
mit dem Satz von Benutzerinformationen auch den Typ von Benutzerinformationen
dar, wobei dieser Typ einerseits Signalisierungs- und/oder Steuerungsinformationen,
die dazu bestimmt sind, zur Verwendung der Eingabe-/Ausgaberessource
interpretiert zu werden, oder andererseits Informationen entsprechen
kann, die in eine Entfernung zu übertragen
sind.
-
Auf
Grund dieser Vorkehrungen kann die erste Datenverarbeitungsvorrichtung
auf einfache Weise feststellen, ob der Satz von Benutzerinformationen
für den
Treiber der Eingabe-/Ausgaberessource oder für das Signalisierungs- und/oder
Steuerungsmodul dieses Treibers bestimmt ist.
-
Gemäß besonderen
Eigenschaften von jedem Aspekt der Erfindung stellt der Satz von
zusätzlichen
Informationen während
des Betriebs zum Verknüpfen
mit dem Satz von Benutzerinformationen auch die Datenverarbeitungsvorrichtung
dar, von der der besagte Satz von Benutzerinformationen kommt.
-
Gemäß besonderen
Eigenschaften von jedem Aspekt der Erfindung stellt der Satz von
zusätzlichen
Informationen während
des Betriebs zum Verknüpfen
mit dem Satz von Benutzerinformationen auch die Datenverarbeitungsvorrichtung
dar, für
die der Satz von Benutzerinformationen bestimmt ist.
-
Auf
Grund von jeder dieser Vorkehrungen kann die erste Datenverarbeitungsvorrichtung
in dem Fall, dass mehrere Datenverarbeitungsvorrichtungen Daten
zum Übertragen
oder zum Empfangen mit Hilfe der von der ersten Datenverarbeitungsvorrichtung verwalteten
Eingabe-/Ausgaberessource aufweisen können, auf einfache Weise die
Datenverarbeitungsvorrichtung identifizieren, die gerade überträgt.
-
Gemäß einem
dritten Aspekt bezieht sich die Erfindung auf eine zweite Datenverarbeitungsvorrichtung
gemäß Anspruch
7.
-
Gemäß einem
vierten Aspekt bezieht sich die Erfindung auf eine erste Datenverarbeitungsvorrichtung
gemäß Anspruch
8.
-
Die
Erfindung bezieht sich auch auf ein Speichermedium gemäß Anspruch
13.
-
Die
Erfindung bezieht sich auch auf ein Speichermedium gemäß Anspruch
14.
-
Die
Erfindung wird durch eine Lektüre
der folgenden Beschreibung deutlicher verständlich, die mit Bezug auf die
zugehörigen
Zeichnungen vorgenommen ist, bei denen darstellen:
-
1 höchst schematisch
eine Datenverarbeitungsvorrichtungsarchitektur, auf die die Erfindung
zutrifft;
-
2 höchst schematisch
die Komponenten, die mit den gemäß 1 veranschaulichten Bussen
verbunden sind;
-
3 höchst schematisch
eine Hardware- und Softwarearchitektur eines ersten Ausführungsbeispiels
der Vorrichtung gemäß der Erfindung;
-
4 die
Protokollschichten, die bei dem gemäß 3 veranschaulichten
ersten Ausführungsbeispiel
implementiert werden, und den Aufbau einer Informationssequenz,
die von einer gemäß 1 bis 3 veranschaulichten
Datenverarbeitungsvorrichtung übertragen
wird;
-
5 höchst schematisch
eine Hardware- und Softwarearchitektur eines zweiten Ausführungsbeispiels
der Vorrichtung gemäß der Erfindung;
-
6 höchst schematisch
eine Hardware- und Softwarearchitektur eines dritten Ausführungsbeispiels
der Vorrichtung gemäß der Erfindung;
-
7 ein
Sendeablaufdiagramm gemäß dem Verfahren
der Erfindung; und
-
8 ein
Empfangsablaufdiagramm gemäß dem Verfahren
der Erfindung.
-
1 stellt
eine zweite Datenverarbeitungsvorrichtung 101 mit einem
eigenen zweiten Datenverarbeitungsbus 102 dar, die mit
Hilfe einer Vorrichtung 103 zum Kommunizieren zwischen
Bussen mit einem ersten Datenverarbeitungsbus 104 einer
ersten Datenverarbeitungsvorrichtung 105 verbunden ist.
-
Die
Datenverarbeitungsvorrichtungen 101 und 105 sind
von bekanntem Typ. Sie bestehen zum Beispiel aus:
- – Computern,
die als "PCs" bekannt sind und
einen Prozessor des Typs "PENTIUM" von dem amerikanischen
Hersteller "INTEL" haben,
- – einem
Drucker,
- – einem
Faxgerät,
- – einem
Fotoapparat,
- – einer
Kamera, und
- – allgemeiner
gesagt jeder Vorrichtung, die zum Kommunizieren von Daten mit Hilfe
eines Netzwerks in einem Sende- und/oder Empfangsmodus fähig ist.
-
Die
Datenverarbeitungsbusse 102 und 104 sind von bekanntem
Typ. Sie sind zum Beispiel durch einen Busstandard definiert, der
als "PCI" bekannt ist (Anfangsbuchstaben
des englischen Worts "Peripheral
Component Interconnect" (wobei
der Leser in diesem Zusammenhang Bezug nehmen kann auf die Spezifikationen
des PCI-Standards: "PCI
Local Bus Specification Revision 2.1")).
-
Das
System 103 zur Kommunikation zwischen Bussen ist von bekanntem
Typ. Es ist zum Beispiel drahtgebunden oder vom Typ der Infrarotübertragung,
der Funkübertragung
oder der optischen Übertragung.
Es weist zum Beispiel eine Architektur um Zwischenspeicher herum
auf. Dieses System ist positioniert zwischen:
- – dem Bus 102 einerseits
mit Hilfe eines Bauteils 103A mit einem PCI-Adapter und
einem lokalen Bus, mit dem dieser PCI-Adapter verbunden ist, und
- – dem
Bus 104 andererseits mit Hilfe eines Bauteils 103B mit
einem PCI-Adapter und einem lokalen Bus, mit dem dieser PCI-Adapter
verbunden ist.
-
Bei
dem Zwischenbus-Kommunikationssystem 103 ist mit jedem
der lokalen Busse ein Eingabeanschluss und ein Ausgabeanschluss
von einem Zwei-Anschluss-Speicher oder von zwei Speichern des FIFO-Typs
verbunden, die jeweils angepasst sind an die Übertragung von Daten in einer
bevorzugten Richtung.
-
Jeder
PCI-Adapter stellt somit einen Schnittstellenadapter zwischen einem
der PCI-Datenverarbeitungsbusse
und einem lokalen Bus dar. Jeder der Busse 102 und 104 greift
somit mit Hilfe eines Schnittstellenadapters im Lese- oder Schreibmodus auf
den Zwischenspeicher zu.
-
Mit
dem Bus 104 ist auch eine Netzwerkschnittstellenkarte 106 eines
bekannten Typs verbunden, die mit einem Kommunikationsnetzwerk 107 verbunden
ist, das selbst von bekanntem Typ ist. Dieses Kommunikationsnetzwerk
ermöglicht
den Datenverarbeitungsvorrichtungen 101 und 105,
mit anderen Datenverarbeitungsvorrichtungen zu kommunizieren, die
sich entfernt befinden.
-
Bei
dieser Hardwarekonfiguration zielt die Erfindung darauf ab, eine
Kommunikation zwischen jeder der Datenverarbeitungsvorrichtungen 101 und 105 einerseits
und dem Kommunikationsnetzwerk 107 andererseits zu verbessern.
-
Vorzugsweise
sind die Takte der zwei Datenverarbeitungsvorrichtungen asynchron,
wobei das Zwischenbus-Kommunikationssystem 103 für die asynchrone Übertragung
der Daten zwischen den beiden Bussen zuständig ist.
-
2 stellt
die zweite Datenverarbeitungsvorrichtung 101, den zweiten
Datenverarbeitungsbus 102, das Zwischenbus-Kommunikationssystem 103, den
ersten Datenverarbeitungsbus 104, die erste Datenverarbeitungsvorrichtung 105,
die Netzwerkschnittstellenkarte 106 und das Kommunikationsnetzwerk 107 dar.
-
Die
zweite Datenverarbeitungsvorrichtung 101 hat eine Zentraleinheit 201,
Taktgeber 202, ein Unterbrechungssystem 203, eine
Tastatur 204, einen Direktzugriffsspeicher 205,
Festwertspeicher 206, ein Eingabe-/Ausgabesystem 207,
einen Anzeigeschirm 208 und das Bauteil 103A des
Zwischenbus-Kommunikationssystems 103.
-
All
diese Komponenten oder Gruppen von Komponenten sind von bekanntem
Typ und verwenden Software eines bekannten Typs, mit der Ausnahme
eines Kommunikationsschnittstellensteuermoduls 209, das
in den Direktzugriffsspeicher 205 eingegliedert ist. Dieses
Kommunikationsmodul ist gemäß 3 bis 8 veranschaulicht.
-
Die
erste Datenverarbeitungsvorrichtung 105 hat eine Zentraleinheit 211,
Taktgeber 212, ein Unterbrechungssystem 213, eine
Tastatur 214, Direktzugriffsspeicher 215, Festwertspeicher 216,
ein Eingabe-/Ausgabesystem 217, einen Anzeigeschirm 218,
das Bauteil des Zwischenbus-Kommunikationssystems 103,
das sich nicht in der zweiten Datenverarbeitungsvorrichtung 101 befindet,
und eine Netzwerkschnittstellenkarte 106, die mit dem Kommunikationsnetzwerk 107 verbunden
ist.
-
All
diese Komponenten oder Gruppen von Komponenten sind von bekanntem
Typ und verwenden Software eines bekannten Typs, mit der Ausnahme
von:
- – einem
Kommunikationsschnittstellensteuermodul 221,
- – einem
Steuerungs- und Signalisierungsmodul 222, und
- – einem
Netzwerkschnittstellenkartentreiber 223,
wobei
diese drei Softwaremodule während
eines Betriebs in dem Direktzugriffsspeicher 215 eingegliedert sind.
Außerhalb
der Betriebszeitdauer sind diese Softwaremodule in einem nicht flüchtigen
Speicher bekannten Typs gespeichert. Diese Module sind gemäß 3 bis 8 veranschaulicht.
Es wird jedoch bereits hier zu erkennen sein, dass die Kommunikationsschnittstellensteuermodule 209 und 221 dazu dienen,
eine Kommunikation zwischen den zwei Datenverarbeitungsvorrichtungen 101 und 105 zu
organisieren, wohingegen das Steuerungs- und Signalisierungsmodul 222 sowie
der Netzwerkschnittstellenkartentreiber 223 dazu dienen,
eine Kommunikation zwischen der ersten Datenverarbeitungsvorrichtung 105 einerseits
und dem Netzwerk 107 andererseits zu organisieren.
-
Das
Zwischenbus-Kommunikationssystem bestehend aus elektronischen Baugruppen 103A (verbunden
mit dem Bus 102) und 103B (verbunden mit dem Bus 104)
gilt als "transparent", das heißt, dass
es den Aufbau oder die Organisation der von einem Bus zum anderen übertragenen
Daten nicht modifiziert.
-
3 stellt
die zweite Datenverarbeitungsvorrichtung 101 und die erste
Datenverarbeitungsvorrichtung 105 beim ersten Ausführungsbeispiel
der Erfindung dar, die beide durch ein Kommunikationssystem 103 (einschließlich der
Baugruppen 103A und 103B) verbunden sind.
-
Gemäß 3 (und
ebenso gemäß 5) können die
in der ersten Datenverarbeitungsvorrichtung 105 lokal verarbeiteten
Daten anderen Pfaden als denjenigen der Daten folgen, die von der
zweiten Datenverarbeitungsvorrichtung 101 kommen. Diese Pfade
sind als gepunktete Pfeillinien dargestellt. Sie symbolisieren den
bekannten Betriebstyp der Vorrichtung gemäß der Erfindung im Hinblick
auf:
- – die
Verarbeitung der Daten, die von der ersten Datenverarbeitungsvorrichtung
kommen und dazu bestimmt sind, über
das Netzwerk 107 übertragen
zu werden, und
- – die
Verarbeitung der Daten, die von dem Netzwerk 107 kommen,
und dazu bestimmt sind, an ein durch die erste Datenverarbeitungsvorrichtung 105 implementiertes
Protokoll übertragen
zu werden.
-
Die
zwischen den Kommunikationsschnittstellensteuerungen 209 und 221 ausgetauschten
Daten gelten als vom Typ "Benutzer" und sind aus zwei Kategorien
von Daten aufgebaut:
- – einige von diesen Daten werden
als "Benutzer"-Daten bezeichnet, falls sie für den Netzwerkschnittstellenkartentreiber 223 bestimmt
sind oder von diesem kommen (wobei sie dann dazu bestimmt sind,
in eine Entfernung übertragen
zu werden),
- – die
anderen von diesen Daten werden als "Signalisierungs"-Daten bezeichnet und sind für das Steuerungs-
und Signalisierungsmodul 222 bestimmt oder kommen von diesem
(wobei sie dann dazu dienen, die Übertragung der Benutzerdaten zu
spezifizieren).
-
Die
zweite Datenverarbeitungsvorrichtung 101 verwendet Softwareanwendungen
unter Verwendung von Protokollen P1, P2, ..., Pn, die zum Kommunizieren
zwischen diesen Anwendungen verwendet werden, und einem Kommunikationsschnittstellensteuermodul 209.
Diese Kommunikation erfolgt durch Austausch von Paketen von Benutzerdaten
und Signalisierungsdaten. Das Kommunikationsschnittstellensteuermodul 209 speichert
die zu übertragenden
Informationen und kommuniziert mit einem Kommunikationssystemtreiber 303,
der mit dem Kommunikationssystem 103 verbunden ist, wobei
es mit diesem Pakete von Benutzerdaten (Benutzer und Signalisierung)
und Pakete von Befehlen austauscht.
-
Die
Kommunikationsschnittstellensteuermodule 209 und 221,
das Steuerungs- und Signalisierungsmodul 222 sowie der
Netzwerkschnittstellenkartentreiber 223 speichern besonders
Leitweglenkungs- und Nachschlagetabellen zum Abtrennen eines Pfads
oder einer Funktion bei jedem Paket. Diese Tabellen ermöglichen
daher, dass diese Komponenten an die unterschiedlichen Anwendungen
und an die unterschiedlichen Protokolle, die zum Kommunizieren fähig sind,
angepasst werden.
-
Als
Beispiel ist das Protokoll P1 ein als "TCP/IP" bekanntes Protokoll, was in Englisch "Transmission Control
Protocol/Internet Protocol" und
in Französisch "Protocol de control
de transmission/protocole Internet" bedeutet, und ist das Protokoll Pn
ein den ATM-Standards (Anfangsbuchstaben des englischen Worts "Asynchronous Transfer
Mode") entsprechendes
Protokoll.
-
Das
TCP/IP-Protokoll funktioniert in Übereinstimmung mit dem, was
in dem Buch "TCP/IP
Illustrated, Vol. 1, The Protocol", W. Richard Stevens, Addison-Wesley,
beschrieben ist, und der ATM-Standard ist durch das ATM-Forum erlassen, bekannt
als: "ATM Forum
Technical Committee, User-Network Interface, Specifications version
3.1".
-
Die
erste Datenverarbeitungsvorrichtung 105 verwendet Softwareanwendungen
unter Verwendung von Protokollen P1, P2, ..., Pn, die zur Kommunikation
zwischen diesen Anwendungen dienen, und einer Kommunikationsschnittstellensteuerung 221.
Diese Kommunikation erfolgt durch Austausch von Paketen von Benutzerdaten
und Signalisierungsdaten.
-
Die
Kommunikationsschnittstellensteuerung 221 kommuniziert
- – mit
einem Kommunikationssystemtreiber 305, der mit dem Kommunikationssystem 103 verbunden
ist, wobei sie Pakete von Benutzerdaten und Befehlspakete mit diesem
austauscht;
- – mit
einem Steuerungs- und Signalisierungsmodul 222, wobei sie
Pakete von Signalisierungsdaten mit diesem austauscht; und
- – mit
einem Netzwerkschnittstellenkartentreiber 223, wobei sie
Pakete von Benutzerdaten mit diesem austauscht.
-
Schließlich steuert
der Netzwerkschnittstellenkartentreiber 223 den Betrieb
einer Netzwerkschnittstellenkarte 106.
-
Die
Kommunikationsschnittstellensteuerungen 209 und 221 sind
für die
Erfindung spezifisch. Sie sind prinzipiell bestimmt zum:
- – Anbieten
der Möglichkeit
an die beiden Datenverarbeitungsvorrichtungen 101 und 105,
die Netzwerkzugangsressource, die aus dem Netzwerkschnittstellenkartentreiber 223 und
der Netzwerkschnittstellenkarte 106 besteht, und gegebenenfalls
die Softwareressource, die aus dem Steuerungs- und Signalisierungsmodul 222 besteht,
zu teilen bzw. gemeinsam zu benutzen,
- – Implementieren
unterschiedlicher Verhandlungsphasen zwischen:
- – den
beiden Kommunikationsschnittstellensteuerungen 209 und 221,
- – einer
der Kommunikationsschnittstellensteuerungen einerseits und dem Netzwerkschnittstellenkartentreiber 223 andererseits,
und
- – einer
der Kommunikationsschnittstellensteuerungen einerseits und dem Steuerungs-
und Signalisierungsmodul 222 andererseits,
- – Implementieren
einer Mehrprotokoll-Multiplexkommunikation
(das heißt,
dass mehrere Kommunikationen gleichzeitig verwaltet werden können),
- – Ermöglichen
einer Kommunikation zwischen Datenverarbeitungsvorrichtungen von
einem Ende zu dem anderen Ende des Netzwerks 107.
-
Die
Kommunikationsschnittstellensteuerungen 209 und 221 sind
identisch, unabhängig
von den Kommunikationsschichten niedriger Ebene, die verwendet werden,
und haben die gleichen hohen und niedrigen Schnittstellen.
-
Die
Kommunikationssystemtreiber 303 und 305 sowie
das Kommunikationssystem 103 übertragen die Datenpakete und
Befehlspakete, die sie empfangen, als Ganzes, ohne Hinzufügung, ohne Entfernung
und ohne Modifikation.
-
Gemäß 4 können drei
Protokollschichten ersehen werden:
- – die Transportschicht 401,
die eigentlich den gemäß 3 veranschaulichten
Protokollen P1 bis Pn entspricht,
- – die
Mehrprotokoll-Kommunikationsschnittstellensteuerschicht 402,
die den Kommunikationsschnittstellensteuermodulen 209 und 221 entspricht,
und
- – die
Kommunikationssystemschicht 403, die dem Kommunikationssystemtreiber 303 entspricht, mittels
des Kommunikationssystems 103 (3) einschließlich der
Baugruppen 103A und 103B.
-
Eine
Sequenz von Benutzerdaten 404, die von der Transportschicht 401 kommen,
wird in der Mehrprotokoll-Kommunikationssystemschicht 402 mit
einem Satz von zusätzlichen
Informationen 405 verknüpft,
die es anschließend
möglich
machen, die Benutzerinformationen umzuleiten. Dieser Satz von zusätzlichen
Informationen 405 wird im Rest der Beschreibung auch als
Nachrichtenkopf bzw. "Header" bezeichnet, da er
vorzugsweise in dem gleichen Datenrahmen, aber vor den Benutzerdaten übertragen wird.
-
Es
ist hier zu erkennen, dass auf die gleiche Weise interne Daten in
dem gleichen Typ von Nachrichtenkopf 405 verknüpft werden,
die für
die Kommunikationsschnittstellensteuerschicht 402 geeignet sind
und für
die Schicht-zu-Schicht-Verwaltung zwischen den beiden Datenverarbeitungsvorrichtungen verwendet
werden.
-
Der
Satz von zusätzlichen
Informationen 405 umfasst:
- – Protokollidentifikationsinformationen
PID 406 in Form von vier Binärdaten,
- – Kommunikationsmittelidentifikationsinformationen
DID 407 in Form von drei Binärdaten, und
- – Informationen über den
Benutzerinformationstyp PCK TYPE 408 in Form von einem
binären Datenelement,
dessen Wert angibt, ob das Benutzerinformationspaket 401 ausschließlich Benutzerdaten
enthält,
oder ob es ausschließlich
Signalisierungsdaten enthält.
-
Der
Wert der Protokollidentifikationsinformationen PID 406 ist
zum Beispiel "0", wenn ein Fall von Befehlsinformationen
vorliegt. Andernfalls ist dieser Wert die Nummer des implementierten
Protokolls (siehe Betrieb 808 mit Bezug auf 8).
-
Wird
von der Kommunikationssystemschicht 403 gemäß dem Wert
des binären
Datenelementes PCK TYPE 408 ein Paket von Benutzerdaten
empfangen, werden die Benutzerdaten 404 entweder an ein
Steuerungs- und Signalisierungsmodul 222 (wenn das binäre Datenelement
Signalisierungsdaten entspricht) oder an den Treiber 223 der
Netzwerkschnittstellenkarte 106 übertragen.
-
Es
wird sich verstehen, dass der Nachrichtenkopf 405 den Kommunikationsschnittstellensteuerungen 209 und 221 ermöglicht,
unverzüglich
den Typ, das Ziel und das zum Kommunizieren eines Pakets verwendete
Protokoll zu erkennen.
-
Gemäß dem Ausführungsbeispiel
von 4 fügt
die Erfindung eine Schicht hinzu, die alles analysiert, was übertragen
wird.
-
Bei
dem zweiten Ausführungsbeispiel
der Erfindung, das gemäß 5 veranschaulicht
ist, sind die gleichen Elemente wie gemäß 3 erneut
zu finden, falls:
- – die zweite Datenverarbeitungsvorrichtung 101 ein
Hostcomputer vom PC-Typ ist, der mit dem Betriebssystem WINDOWS
NT (eingetragene Marke) arbeitet, das von der amerikanischen Firma
MICROSOFT (eingetragene Marke) verkauft wird, und einen dem PCI-Standard
entsprechenden Bus aufweist;
- – die
erste Datenverarbeitungsvorrichtung 105 eine Hauptplatine
ist, die mit einem Prozessor PENTIUM (eingetragene Marke) ausgestattet
ist, der von der amerikanischen Firma INTEL (eingetragene Marke) hergestellt
wird, und mit dem Betriebssystem CHORUS (eingetragene Marke) arbeitet,
das von der amerikanischen Firma CHORUS verkauft wird, die nun ein
Tochterunternehmen der Firma SUN MICROSYSTEMS Inc. ist (SUN ist
eine eingetragene Marke), und einen dem PCI-Standard entsprechenden
Bus aufweist, wobei diese erste Datenverarbeitungsvorrichtung 105 in
eine Bussteckverbindung der zweiten Datenverarbeitungsvorrichtung 101 eingesteckt
ist;
- – die
Kommunikationssystemtreiber 303 und 305 PCI-PCI-Kommunikationssystemtreiber
sind;
- – das
Steuerungs- und Signalisierungsmodul 222 ein dem ATM-Standard
entsprechendes Steuerungs- und Signalisierungsmodul ist;
- – der
Netzwerkschnittstellenkartentreiber 223 ein dem ATM-Standard
entsprechender Treiber ist; und
- – die
Netzwerkschnittstellenkarte 106 eine dem ATM-Standard entsprechende
Baugruppe ist.
-
Bei
der gemäß 5 veranschaulichten
Vorrichtung sind folglich die Hardwarearchitekturen der Datenverarbeitungsvorrichtungen
unterschiedlich und sind auch die Betriebssysteme unterschiedlich.
-
Gemäß 6 sind
bei einem dritten Ausführungsbeispiel
der Erfindung die gleichen Elemente ersichtlich wie gemäß 3,
mit der Ausnahme, dass sogar dann, wenn die Netzwerkressource lokal verwendet
wird:
- – im
Sendemodus
- – alle
Benutzerinformationen mit Hilfe der Kommunikationsschnittstellensteuerung 221 übertragen
werden, wohingegen
- – alle
Signalisierungsinformationen direkt an das Steuerungs- und Signalisierungsmodul 222 übertragen
werden, und
- – im
Empfangsmodus alle Benutzerinformationen mit Hilfe der Kommunikationsschnittstellensteuerung 221 übertragen
werden.
-
7 stellt
aufeinander folgende Betriebe dar, die von der Kommunikationsschnittstellensteuerung 209 implementiert
werden, um ein Paket von Benutzerdaten zu senden, die für die erste
Datenverarbeitungsvorrichtung 105 bestimmt sind. Die gleichen
Betriebe werden von der Kommunikationsschnittstellensteuerung 221 durchgeführt, wenn
die erste Datenverarbeitungsvorrichtung 105 für die zweite
Datenverarbeitungsvorrichtung 101 bestimmte Benutzerdaten
sendet.
-
Vorab
führt die
Kommunikationsschnittstellensteuerung in einer nicht gezeigten ersten
Initialisierungsphase in jeder der Datenverarbeitungsvorrichtungen 101 und 105 eine
Serie von Initialisierungsoperationen durch. Diese machen es in
besonderem Maße
möglich,
die lokalen Netzwerkressourcen jeder Datenverarbeitungsvorrichtung
herauszufinden und diese dann zwischen Kommunikationsschnittstellensteuerungen
von jeder Datenverarbeitungsvorrichtung zu übertragen.
-
Während dieser
Initialisierungsoperationen aktualisiert jede Kommunikationsschnittstellensteuerung
gemäß bekannten
Methoden einen Satz von intern verwendeten Daten, wodurch es in
besonderem Maße
ermöglicht
wird, die Übereinstimmungen
zwischen Protokollen, Bezeichnern und Typen von Netzwerkressourcen
herzustellen, die lokal oder an einer anderen Datenverarbeitungsvorrichtung
vorhanden sind.
-
Anfangs
befindet sich die Kommunikationsschnittstellensteuerung 209 im
Wartezustand 700, das heißt, sie steht zum Durchführen von
Betrieben zur Verfügung.
-
Während eines
Betriebs 701 empfängt
die Kommunikationsschnittstellensteuerung 209 von einer
Anwendung, die von der Datenverarbeitungsvorrichtung 101 verwendet
wird, eine Nachricht, die ein Senden von Datenpaketen anfordert.
-
Während eines
Betriebs 702 liest die Kommunikationsschnittstellensteuerung 209 in
der betrachteten Nachricht, die das Senden eines Pakets anfordert,
die folgenden Informationen:
- – den Protokollbezeichner
PID 406, und gegebenenfalls
- – die
Pakettyp-Binärinformationen
PCK TYPE 408.
-
Während eines
Betriebs 703 bestimmt die Kommunikationsschnittstellensteuerung 209 gemäß dem Wert
des Protokollbezeichners PID, ob es für das fragliche Protokoll notwendig
ist, einen direkten Zugriff auf die "entfernten" Ressourcen zu verwenden, und im bejahenden
Fall gemäß dem betrachteten
Protokoll, ob die Herstellung einer neuen Verbindung erforderlich
ist oder nicht.
-
Ist
das Ergebnis von einer der während
des Betriebs 703 durchgeführten Prüfungen negativ, führt die
Kommunikationsschnittstellensteuerung 209 einen Verknüpfungsbetrieb 713 (siehe
unten) durch.
-
Ist
das Ergebnis der Prüfung 703 positiv, sendet
die Kommunikationsschnittstellensteuerung 209 während eines Betriebs 704 ein
Befehlspaket, das steuerungsinterne Informationen enthält, an die Kommunikationsschnittstellensteuerung 221,
um die zusätzlichen
Informationen zu bestimmen, wie etwa zum Beispiel die Kommunikationsmittel-Identifikationsinformationen
DID 407.
-
Während eines
Betriebs 706 wartet die Kommunikationsschnittstellensteuerung 209,
bis eines der in Fällen 707 und 711 veranschaulichten
Ereignisse eintritt.
-
Falls
die Kommunikationsschnittstellensteuerung 209 während dieses
Zeitraums zuerst eine weitere Datenpaketnachricht von der anderen
Datenverarbeitungsvorrichtung in Betrieb 707 empfängt, legt
sie dieses Paket während
eines Betriebs 708 in einen Stapel von Paketen, die für eine zukünftige Verarbeitung
bestimmt sind, und kehrt dann zum Betrieb 706 zurück.
-
Empfängt sie
während
des Wartezeitraums des Betriebs 706 eine Bestätigung des
Befehlspakets von der Kommunikationsschnittstellensteuerung 221 in
Betrieb 711, aktualisiert sie während eines Betriebs 712 ihre
internen Daten wie etwa besonders den Kommunikationsmittelbezeichner
DID 407. Während
eines Verknüpfungsbetriebs 713 bildet
die Kommunikationsschnittstellensteuerung 209 dann den Nachrichtenkopf
bzw. Header 405 und verknüpft ihn mit dem Satz von Benutzerinformationen,
und während
eines Betriebs 714 sendet sie das mit dem Header 405 versehene
Paket an die Kommunikationsschnittstellensteuerung 221.
Als nächstes
kehrt die Kommunikationsschnittstellensteuerung 209 in
den Wartezustand 700 zurück.
-
8 stellt
die aufeinander folgenden Betriebe dar, die von der Kommunikationsschnittstellensteuerung 209 implementiert
werden, um ein Paket von Benutzerdaten zu empfangen, die von der
ersten Datenverarbeitungsvorrichtung 105 kommen. Die gleichen
Betriebe werden von der Kommunikationsschnittstellensteuerung 221 implementiert,
wenn die erste Datenverarbeitungsvorrichtung 105 Benutzerdaten
empfängt,
die von der zweiten Datenverarbeitungsvorrichtung 101 kommen.
-
Anfangs
befindet sich die Kommunikationsschnittstellensteuerung 209 im
Wartezustand 800.
-
Während eines
Betriebs 801 empfängt
die Kommunikationsschnittstellensteuerung 209 von der Kommunikationsschnittstellensteuerung 221 ein
Datenpaket mit Benutzerdaten 404 und einem Header 405.
-
Während eines
Betriebs 802 liest die Kommunikationsschnittstellensteuerung 209 in
den zusätzlichen
Informationen 405 den Protokollbezeichner PID 406,
den Kommunikationsmittelbezeichner 407 und die Pakettyp-Binärinformationen
PCK TYPE 408.
-
Während einer
Prüfung 803 bestimmt
die Kommunikationsschnittstellensteuerung 209, ob das Paket
Befehle betrifft oder nicht. Hierbei soll erwähnt werden, dass der Wert der
Protokollidentifikationsinformationen PID 406 in dem beschriebenen
und dargestellten Beispiel "0" ist, wenn ein Fall
von Befehlsinformationen vorliegt. Andernfalls ist dieser Wert die Nummer
des implementierten Protokolls.
-
Ist
der Wert der Protokollidentifikationsinformationen PID 406 gleich "0", sind die Befehlspakete folglich dazu
bestimmt, von der Kommunikationsschnittstellensteuerung 209 mit
Blick auf eine Organisation ihrer Funktion lokal verarbeitet zu
werden, ohne über
das Netzwerk übertragen
zu werden.
-
Ist
das Ergebnis der Prüfung 803 positiv
und im Fall des zweiten Ausführungsbeispiels
(5), führt
die Kommunikationsschnittstellensteuerung 209 oder 221 einen
Betrieb 809 durch, der aus einer internen Verarbeitung
des Befehlspakets und anschließend,
ausschließlich
im Fall der Kommunikationsschnittstellensteuerung 221,
die eine Netzwerkressource aufweist, einem Betrieb 810 besteht,
während dessen
die Kommunikationsschnittstellensteuerung 221 in eine Informationsaustauschphase
(eine sogenannte "Verhandlungs"-Phase) übergeht
mit:
- – dem
Steuerungs- und Signalisierungsmodul 222, und/oder
- – dem
Netzwerkschnittstellenkartentreiber 223,
das
heißt,
dass sie zu der Zeit der direkten Zugriffe auf den Netzwerkschnittstellenkartentreiber 223 an diese
ein Paket des Signalisierungstyps und/oder interne Informationen
sendet, die zu kommunizieren sind (seit der Initialisierung gespeichert
oder erneuert) und nach einer Speicherung in der Steuerung 221 zu
verwenden sind.
-
Als
nächstes
sendet die Kommunikationsschnittstellensteuerung 209 während eines
Betriebs 811 eine Antwort an die Kommunikationsschnittstellensteuerung 221.
Schließlich
kehrt die Steuerung 209 in den Wartezustand 809 zurück.
-
Ist
das Ergebnis der Prüfung 803 negativ,
bestimmt die Kommunikationsschnittstellensteuerung 209 während einer
Prüfung 804,
ob der Kommunikationsmittelbezeichner DID 407 signifikant
ist oder nicht (falls nicht, ist nur die zusätzliche Protokollidentifikationsinformation
signifikant).
-
Ist
das Ergebnis der Prüfung 804 negativ, trennt
die Kommunikationsschnittstellensteuerung 209 während eines
Betriebs 808 den Header 405 und die Benutzerinformationen 404 und
sendet ein Paket an das betroffene Protokoll, dessen Inhalt von
dem Wert des Protokollbezeichners PID 406 abhängt. Als nächstes kehrt
die Kommunikationsschnittstellensteuerung 209 in den Wartezustand 800 zurück.
-
Ist
das Ergebnis der Prüfung 804 positiv,
bestimmt die Kommunikatinosschnittstellensteuerung 209 während einer
Prüfung 805,
ob der Typ von in dem Paket enthaltenen Daten Benutzerdaten betrifft oder
nicht.
-
Ist
das Ergebnis der Prüfung 805 positiv,
verknüpft
die Kommunikationsschnittstellensteuerung 209 während eines
Betriebs 806 den Header 405 und die Benutzerinformationen 404 und
sendet das Paket von Benutzerdaten 404 an den Netzwerkschnittstellenkartentreiber 223,
der dem Kommunikationsmittelbezeichner DID 407 entspricht.
-
Als
nächstes
kehrt die Kommunikationsschnittstellensteuerung 209 in
den Wartezustand 800 zurück.
-
Ist
das Ergebnis der Prüfung 805 negativ, trennt
die Kommunikationsschnittstellensteuerung 209 während eines
Betriebs 807 den Header 405 und die Benutzerinformationen 404 und
sendet das Paket von Signalisierungsdaten 404 an das Steuerungs- und
Signalisierungsmodul 222, das dem Kommunikationsmittelbezeichner
DID 407 entspricht.
-
Als
nächstes
kehrt die Kommunikationsschnittstellensteuerung 209 in
den Wartezustand 800 zurück.
-
Auf
Grund der Implementierung der Erfindung wird die Netzwerkkommunikationsressource 107 zwischen
den beiden Datenverarbeitungsvorrichtungen geteilt bzw. gemeinsam
benutzt, werden die Pakete unterschiedlicher Typen auf unterschiedliche
Weisen geleitet, können
unterschiedliche Protokolltypen zum Kommunizieren über das
Netzwerk 107 verwendet werden und ist die Übermittlung
von Daten optimiert (ist die Anzahl von Kopien der zu übertragenen
Daten minimiert).
-
Aus
einer Lektüre
des Vorstehenden versteht es sich, dass im Einklang mit der Erfindung
zur Kommunikation zwischen zwei Datenverarbeitungsvorrichtungen,
die jeweils einen Mikroprozessor und einen Speicher aufweisen, wobei
die Datenverarbeitungsvorrichtung 105 zumindest eine Eingabe-/Ausgaberessource 106 aufweist
und verwaltet, zum Kommunizieren jedes Satzes von Benutzerinformationen 404,
die von der Datenverarbeitungsvorrichtung 101 kommen und
dazu bestimmt sind, an die Eingabe-/Ausgaberessource übertragen
zu werden, die von der ersten Datenverarbeitungsvorrichtung verwaltet
wird:
- – von
der Datenverarbeitungsvorrichtung 101 ein Betrieb zum Trennen
des Satzes von Benutzerinformationen von einem Satz 405 von
zusätzlichen Informationen
durchgeführt
wird, die darstellen:
- – die
Kommunikationsschicht, von der die Informationen in der Datenverarbeitungsvorrichtung 101 kommen,
mit Hilfe der zusätzlichen
Protokollidentifikationsinformationen PID 406, und
- – die
besagte Eingabe-/Ausgaberessource mit Hilfe einer zusätzlichen
Information 407, die ein Kommunikationsmittel identifiziert,
DID; und
- – von
den beiden Datenverarbeitungsvorrichtungen gemeinsam ein Betrieb
zum Übertragen
der besagten Sätze
von Informationen von der Datenverarbeitungsvorrichtung 101 an
die Datenverarbeitungsvorrichtung 105 durchgeführt wird.
-
Entsprechend
versteht es sich, dass im Einklang mit der Erfindung zum Kommunizieren
von jedem Satz von Benutzerinformationen 404, die von der
Karte 106 kommen, welche die Eingabe-/Ausgaberessourcen
verwaltet, und dazu bestimmt sind, an die Datenverarbeitungsvorrichtung 101 übertragen zu
werden:
- – von
der Datenverarbeitungsvorrichtung 105 ein Betrieb zum Trennen
des Satzes von Benutzerinformationen von einem Satz 405 von
zusätzlichen Informationen
durchgeführt
wird, die darstellen:
- – die
Kommunikationsschicht, für
die die Informationen bestimmt sind, mit Hilfe der zusätzlichen
Informationen 406, die ein Protokoll identifizieren, PID,
und
- – die
Eingabe-/Ausgaberessource mit Hilfe der zusätzlichen Informationen 407,
die ein Kommunikationsmittel identifizieren, DID; und
- – von
den beiden Datenverarbeitungsvorrichtungen gemeinsam ein Betrieb
zum Übertragen
der besagten Sätze
von Informationen von der Datenverarbeitungsvorrichtung 105 an
die Datenverarbeitungsvorrichtung 101 durchgeführt wird.
-
Gemäß einer
ersten Variante umfasst der Satz von zusätzlichen Informationen ein
Informationselement, das die Quelldatenverarbeitungsvorrichtung
identifiziert, welches insbesondere dann verwendet wird, wenn mehr
als zwei Datenverarbeitungsvorrichtungen vorhanden sind, die die
Eingabe-/Ausgaberessource verwenden können.
-
Gemäß einer
zweiten Variante umfasst die Menge von zusätzlichen Informationen ein
Informationselement, das die Datenverarbeitungsvorrichtung identifiziert,
für die
die übertragenen
Informationen bestimmt sind.
-
Gemäß einer
dritten Variante umfasst der Satz von zusätzlichen Informationen ein
Informationselement, das die Benutzerinformationspaketnummer identifiziert.
-
Gemäß einer
vierten Variante hat jede Datenverarbeitungsvorrichtung zumindest
eine Eingabe-/Ausgaberessource und kommuniziert jede Datenverarbeitungsvorrichtung
im Einklang mit dem Verfahren der Erfindung mittels Eingabe-/Ausgaberessourcen,
die es nicht direkt verwaltet.
-
Der
Umfang der Erfindung ist nicht auf die beschriebenen und dargestellten
Ausführungsbeispiele
beschränkt,
sondern erstreckt sich im Gegenteil auf alle Modifikationen und
Verbesserungen im Rahmen der Fähigkeiten
eines Fachmanns.