-
TECHNISCHER BEREICH
-
Die
vorliegende Erfindung betrifft die Verknüpfung von Computerelementen,
die unter Verwendung verschiedener Protokolle kommunizieren.
-
TECHNISCHER HINTERGRUND
-
Ein
Computersystem oder -netz beinhaltet gewöhnlich viele Computerelemente
verschiedener Typen. Computerelementtypen sind u.a. verschiedene
Verarbeitungselemente wie Zentralcomputer und E/A-Prozessoren; Kommunikationsschnittstellen
zu anderen Computersystemen einschließlich solcher, die über das
Internet, über
Weitverkehrsnetze, Telekommunikationssysteme, lokale Netze und dergleichen
verbunden sind; Speichergeräte
wie Bandlaufwerke, Plattenlaufwerke, Speicherbänke, Band- und Plattenbibliotheken,
optische Speicher und dergleichen; Unterstützungselemente wie Data Presenter, Übersetzer
und dergleichen; sowie Systemüberwachungs-
und Debugging-Hardware. Kommunikationen zwischen Computerelementen
müssen
gemäß einem
gegenseitig anerkannten Protokoll ablaufen, um zu gewährleisten,
dass von einem Computerelement gesendete Mitteilungen von einem
anderen Computerelement ordnungsgemäß empfangen und interpretiert
werden. Das Kommunikationsprotokoll stellt einen Satz von Regeln
auf, die das Format von zwischen den Computerelementen ausgetauschten
Mitteilungen regeln. Ein Protokoll kann eine Reihe verschiedener
Kommunikationsmerkmale einschließlich Kommunikationseinleitung
und -beendigung, Signalisierung, Datenformat, Informationsdarstellung, Übertragungsmedien
und dergleichen vorgeben. Es gibt für die Kommunikation zwischen
Computerelementen viele Protokolltypen, einschließlich solcher
in Verbindung mit Spezifikationen wie Small Computer System Interface
(SCSI), Enterprise Systems Connection (ESCON), Fiber Channel (FC),
Intelligent Peripheral Interface (IPI), High Performance Parallel
Interface (HIPPI), Internet Protocol (IP), Framing-Protokolle, ATM
Adaption Layer für
Computerdaten (AALS), Link Encapsulation (FC_LE), Single Byte Command
Code Set Mapping (SBCCSM), IEEE 802.x und dergleichen.
-
Computerelemente
können
auf viele verschiedene Weisen miteinander verknüpft werden. Computerelemente
können
auf Punkt-zu-Punkt-Weise direkt verbunden werden. Computerelemente
können
auch über ein
Netzwerk wie z.B. ein lokales Netz verbunden werden. Lokale Netze
bieten größere Flexibilität als Punkt-zu-Punkt-Verbindungen,
haben aber gewöhnlich
viel niedrigere Informationstransferraten. Speicherbereichsnetze
bieten im Wesentlichen dieselbe Flexibilität wie traditionelle LANs, aber
mit weitaus höheren
Informationstransferraten. Speicherbereichsnetze werden typischerweise
zum Verknüpfen
von Zentralcomputern mit Speichergeräten verwendet, sie können aber
auch Intelligenz zum Übernehmen
von Speicheraufgaben von Host-Prozessoren haben. Ein Beispiel für ein Speicherbereichsnetz
ist in der US-Patentanmeldung mit dem Titel „Information Network Virtual
Backplane" mit der
Attorney Docket Number 99-002-NSC
(STK 99002 PUS) von R. Lane et al. beschrieben, die hierin in ihrer
Gesamtheit durch Bezugnahme eingeschlossen ist.
-
Unabhängig davon,
wie Computerelemente verknüpft
werden, entstehen Schwierigkeiten, wenn ein Computerelement, das
einen Typ von Kommunikationsprotokoll verwendet, versucht, auf ein
Computerelement zuzugreifen, das durch einen zweiten Protokolltyp
kommuniziert. Typischerweise muss ein Protokollübersetzer auf einem der Computerelemente
konstruiert und implementiert werden. Ein solcher Protokollübersetzer
muss für
jedes Protokollpaar entwickelt werden, wenn Computerelemente unter
Verwendung dieser Protokolle kommunizieren sollen. Ferner können bestimmte
Merkmale von Computerelementen, wie z.B. das Betriebssystem, den
Entwurf zusätzlicher
Protokollübersetzerversionen
erfordern.
-
Es
wird eine verbesserte Übersetzung
zwischen unterschiedlichen Kommunikationsprotokollen benötigt. Die
Protokollübersetzung
muss flexibel sein, damit Computerelemente verschiedener Typen leicht
verknüpft
werden können.
-
Die
WO 99/07116 offenbart ein Verfahren und eine Vorrichtung zum Verarbeiten
von Multiprotokoll-Kommunikationen über ein einzelnes System. Dies
erfolgt durch Empfangen einer Mitteilung von einem ersten Kommunikationsgerät, wobei
die Mitteilung die Identität
von wenigstens einem ersten Kommunikationsgerät und einem zweiten Kommunikationsgerät beinhaltet.
Wenn das erste Kommunikationsgerät
ein anderes Kommunikationsprotokoll verwendet als das zweite Kommunikationsgerät, dann
werden die zwischen den beiden Kommunikationsgeräten gesendeten/empfangenen
Meldungen von einem geeigneten Kommunikationsprotokoll konvertiert.
Bei einer solchen Konvertierung wird zunächst eine eingehende Mitteilung
mit einem ersten Kommunikationsprotokollformat in eine Mitteilung
mit einem generischen Kommunikationsprotokollformat umgewandelt.
Die Mitteilung mit dem generischen Kommunikationsprotokollformat
wird dann in eine Mitteilung mit einem zweiten Kommunikationsprotokollformat
konvertiert, und diese Mitteilung wird nachfolgend zu dem zweiten
Kommunikationsgerät
geleitet.
-
Die
EP 0981234 offenbart eine
Datenverbindung zwischen zwei heterogenen Systemen, die mit einem Schnittstellencomputer
verbunden sind. Das systemspezifische Protokoll der heterogenen
Systeme wird mit Bezug auf seine Syntax in ein zweites Protokoll
mit derselben Grundelementdatenstruktur konvertiert. Alle Systembedingungen,
die vom spezifischen Protokoll erzeugt oder erkannt werden können, werden
nach Klassen in Form von Graphs dargestellt. Die speziellen Klassen
werden nach der Initialisierung des Schnittstellencomputers erzeugt,
dann werden Events von einem Event-Handler gesteuert und die Klassen
werden überwacht
und realisiert.
-
OFFENBARUNG DER ERFINDUNG
-
Die
vorliegende Erfindung ermöglicht
die Verwendung eines kanonischen Protokolls in Kommunikationen zwischen Übersetzungsmodulen.
Jedes Übersetzungsmodul
kommuniziert mit einem Computerelement über ein bestimmtes Protokoll,
das von diesem Computerelement erkannt wird. Jedes Übersetzungsmodul kommuniziert
mit einem oder mehreren anderen Übersetzungsmodulen
unter Verwendung eines generischen oder kanonischen Protokolls.
-
Gemäß einem
Aspekt der vorliegenden Erfindung wird ein Verfahren zur Verknüpfung eines
ersten Computerelementes mit einem zweiten Computerelement bereitgestellt,
die Mitteilungen austauschen, wobei das erste Computerelement Mitteilungen
unter Verwendung eines ersten Datenspeicherprotokolls sendet und empfängt, das
zweite Computerelement Mitteilungen unter Verwendung eines zweiten
Datenspeicherprotokolls sendet und empfängt, entweder das erste Computerelement
oder das zweite Computerelement eine Datenspeichervorrichtung ist,
die auf Datenspeicherbefehle von Zentralcomputersystemen anspricht,
wobei das Verfahren Folgendes umfasst:
Übersetzen von Mitteilungen,
die von dem ersten Computerelement empfangen werden, von dem ersten
Protokoll in ein kanonisches Protokoll, wobei das kanonische Protokoll
mindestens einen Datenspeicherzugriffsbefehl umfasst;
Übersetzen
von Mitteilungen, die zu dem ersten Computerelement gesendet wurden,
von dem kanonischen Protokoll in das erste Protokoll;
Übersetzen
von Mitteilungen, die von dem zweiten Computerelement empfangen
wurden, von dem zweiten Protokoll in das kanonische Protokoll;
Übersetzen
von Mitteilungen, die zu dem zweiten Computerelement gesendet wurden,
von dem kanonischen Protokoll in das zweite Protokoll; und gekennzeichnet
durch:
Empfangen der Mitteilungen, die von dem ersten Computerelement
und dem zweiten Computerelement gesendet wurden, in einem Speicherbereichsnetz,
bevor sie in das kanonische Protokoll übersetzt werden; und
Senden
der Mitteilungen, die mit Hilfe des ersten Computerelements und
des zweiten Computerelements empfangen wurden, von dem Speicherbereichsnetz,
nachdem sie von dem kanonischen Protokoll übersetzt wurden.
-
Zu
dem ersten Computerelement gesendete oder davon empfangene Mitteilungen
werden vorzugsweise in einer ersten Schnittstelle übersetzt.
Zu dem zweiten Computerelement gesendete oder davon empfangene Mitteilungen
werden in einer zweiten Schnittstelle übersetzt. Die erste Schnittstelle
und die zweite Schnittstelle sind von dem ersten Computerelement
und dem zweiten Computerelement getrennt.
-
Praktischerweise
führt die Übersetzung
einer Mitteilung zur Erzeugung, wenigstens für einen empfangenen Mitteilungstyp,
einer Mehrzahl von gesendeten Mitteilungen. Alternativ führt die Übersetzung
zur Erzeugung, wenigstens für
einen empfangenen Mitteilungstyp, einer Rückmitteilung zum Sender der
empfangenen Mitteilung.
-
Gemäß einem
weiteren Aspekt der vorliegenden Erfindung wird ein System zur Verknüpfung eines ersten
Computerelementes mit einem zweiten Computerelement bereitgestellt,
wobei entweder das erste Computerelement oder das zweite Computerelement
eine Datenspeichervorrichtung ist, die auf Datenspeicherbefehle
von Zentralcomputersystemen anspricht, wobei das erste Computerelement
mit einem ersten Datenspeicherprotokoll arbeitet und das zweite
Computerelement mit einem zweiten Datenspeicherprotokoll arbeitet
und das System Folgendes umfasst:
ein Speicherbereichsnetz,
das das erste Computerelement und das zweite Computerelement miteinander
verbindet; und gekennzeichnet durch:
ein erstes Modul, das
innerhalb des Speicherbereichsnetzes angeordnet ist, wobei das erste
Modul mit dem ersten Computerelement in Kommunikation steht, das
erste Modul Mitteilungen in dem ersten Protokoll in Mitteilungen
in einem kanonischen Protokoll übersetzt
und umgekehrt und das kanonische Protokoll mindestens einen Datenspeicherzugriffsbefehl
umfasst; und
ein zweites Modul, das innerhalb des Speicherbereichsnetzes
angeordnet ist, wobei das zweite Modul mit dem zweiten Computerelement
und dem ersten Modul in Kommunikation steht und das zweite Modul
Mitteilungen in dem zweiten Protokoll in Mitteilungen in dem kanonischen
Protokoll übersetzt
und umgekehrt.
-
Das
zweite Computerelement ist vorzugsweise ein Peripheriegerät. Das zweite
Modul kann dann als Server zu dem ersten Modul-Client dienen.
-
Gemäß einem
weiteren Aspekt der vorliegenden Erfindung wird ein Speicherbereichsnetz
bereitgestellt, das Folgendes miteinander verbindet: mindestens
einen Zentralcomputer, der unter Verwendung eines Protokolls einer
logischen Vorrichtung auf Daten zugreift, und mindestens eine Speichervorrichtung,
die den Zugriff auf Daten durch ein Protokoll einer physikalischen
Vorrichtung ermöglicht,
wobei das Protokoll einer logischen Vorrichtung und das Protokoll
einer physikalischen Vorrichtung ein Datenspeicherprotokoll sind
und das Speicherbereichsnetz durch Folgendes gekennzeichnet ist:
mindestens
ein Modul einer logischen Vorrichtung, das mit jedem Zentralcomputer
in Kommunikation steht, wobei jedes Modul einer logischen Vorrichtung
Mitteilungen in einem Protokoll einer logischen Vorrichtung in Mitteilungen
in einem kanonischen Protokoll übersetzt
und umgekehrt und die Mitteilungen in einem kanonischen Protokoll
mindestens einen Datenspeicherzugriffsbefehl umfassen; und
mindestens
ein Modul einer physikalischen Vorrichtung, das mit jeder Speichervorrichtung
in Kommunikation steht, wobei jedes Modul einer physikalischen Vorrichtung
Mitteilungen in einem Protokoll einer physikalischen Vorrichtung
in Mitteilungen in einem kanonischen Protokoll übersetzt und umgekehrt.
-
Die
obigen Aufgaben sowie weitere Aufgaben, Merkmale und Vorteile der
vorliegenden Erfindung gehen leicht aus der nachfolgenden ausführlichen
Beschreibung der besten Art der Umsetzung der Erfindung hervor,
wenn sie in Verbindung mit den Begleitzeichnungen gelesen wird.
-
KURZBESCHREIBUNG DER ZEICHNUNGEN
-
1 ist
ein Blockdiagramm, das die Verknüpfung
von Computerelementen gemäß einer
Ausgestaltung der vorliegenden Erfindung illustriert;
-
2 ist
ein Blockdiagramm eines Speicherbereichsnetzes gemäß einer
Ausgestaltung der vorliegenden Erfindung;
-
3 ist
ein Mitteilungsfließschema,
das eine kanonische Verbindung gemäß einer Ausgestaltung der vorliegenden
Erfindung illustriert;
-
4 ist
ein Mitteilungsfließschema,
das ein kanonisches Abtrennen gemäß einer Ausgestaltung der vorliegenden
Erfindung illustriert;
-
5 ist
ein Mitteilungsfließschema,
das einen kanonischen Speichern-und-Weiterleiten-Schreibvorgang gemäß einer
Ausgestaltung der vorliegenden Erfindung illustriert;
-
6 ist
ein Mitteilungsfließschema,
das einen kanonischen Speicher-und-Weiterleiten-Lesevorgang gemäß einer
Ausgestaltung der vorliegenden Erfindung zeigt;
-
7 ist
ein Mitteilungsfließschema,
das einen kanonischen Streaming-Schreibvorgang
gemäß einer Ausgestaltung
der vorliegenden Erfindung illustriert; und
-
8 ist
ein Mitteilungsfließschema,
das einen kanonischen Streaming-Lesevorgang
gemäß einer Ausgestaltung
der vorliegenden Erfindung illustriert.
-
BESTE ART DER UMSETZUNG
DER ERFINDUNG
-
1 zeigt
ein Blockdiagramm, das Verknüpfungscomputerelemente
gemäß einer
Ausgestaltung der vorliegenden Erfindung zeigt. Ein erstes Computerelement
(Bezugsziffer 20) kommuniziert über ein erstes Protokoll 22.
Ein zweites Computerelement (Bezugsziffer 24) kommuniziert über ein
zweites Protokoll 26. Das erste Übersetzungsmodul 28 übersetzt
vom ersten Computerelement 20 empfangene Mitteilungen vom
ersten Protokoll 22 in ein kanonisches Protokoll 30.
Das Übersetzungsmodul 28 übersetzt
auch zum ersten Computerelement 20 gesendete Mitteilungen
vom kanonischen Protokoll 30 in das erste Protokoll 22.
Das zweite Übersetzungsmodul 32 übersetzt
vom zweiten Computerelement 24 empfangene Mitteilungen
vom zweiten Protokoll 26 in ein kanonisches Protokoll 30.
Das Übersetzungsmodul 32 übersetzt
auch zum zweiten Computerelement 24 gesendete Mitteilungen
vom kanonischen Protokoll 30 in ein zweites Protokoll 26.
-
Die
Verwendung eines kanonischen Zwischenprotokolls 30 bietet
eine größere Flexibilität und Expandierbarkeit
bei Kommunikationen zwischen Computerelementen 20, 24.
Wenn beispielsweise das Computerelement 20 durch ein neues
Computerelement 20 mit einem anderen ersten Protokoll 22 ersetzt
wird, dann wird ein neues Übersetzungsmodul 28 benötigt. Das Übersetzungsmodul 32 braucht
jedoch nicht modifiziert werden. Ebenso kann auch jedes zusätzliche
Computerelement 20 mit einem Computerelement 24 kommunizieren,
indem ein Übersetzungsmodul 28 Mitteilungen
mit dem Übersetzungsmodul 32 durch
das kanonische Protokoll 30 austauscht.
-
2 zeigt
ein Blockdiagramm eines Speicherbereichsnetzes gemäß einer
Ausgestaltung der vorliegenden Erfindung. Ein allgemein mit 40 bezeichnetes
Computersystem beinhaltet ein Speicherbereichsnetz 42,
das mehrere Zentralcomputer 44 mit Speichergeräten wie
Platten 46 und Bändern 48 verknüpft. Jedes Computerelement 44, 46, 48 ist
durch eine oder mehrere Links 50 mit dem Speicherbereichsnetz 42 verbunden.
Jede Link 50 kann durch ein Kommunikationsmedium wie z.B.
serielle Verkabelung, parallele Verkabelung, Lichtwellenleiter, über Funk,
per Infrarot und dergleichen gebildet werden. Jede Link 50 unterstützt wenigstens
ein Kommunikationsprotokoll einschließlich solcher Protokolle, die
mit Standards für
Fiber Channel, Small Computer System Interface (SCSI), Enterprise
Systems Connection (ESCON), Fiber Channel (FC), Intelligent Peripheral
Interface (IPI), High Performance Parallel Interface (HIPPI), Internet
Protocol (IP), Framing-Protokolle, ATM Adaption Layer für Computerdaten
(AALS), Link Encapsulation (FC_LE), Single Byte Command Code Set
Mapping (SBCCSM), IEEE 802.x und dergleichen assoziiert sind. Jede
Link 50 sendet Mitteilungen zu einer assoziierten Schnittstelle 52 in
dem Speicherbereichsnetz 42 und empfängt Mitteilungen davon. Die
Logik für
die Schnittstelle 52 kann mittels eines oder mehrerer Mikroprozessoren,
kundenspezifischer Logik, programmierbarer Logik, eingebetteter
Logik oder dergleichen ausgeführt
werden. Jede Schnittstelle 52 kommuniziert mit anderen
Schnittstellen 52 im Speicherbereichsnetz 42 durch
das Datenverbindungsnetz 54. Das Datenverbindungsnetz 54 kann
durch ein oder mehrere Backplanes, Kreuzschienenschalter, ATM-Schalter,
Faserkanalringe, Ethernet-Netze und dergleichen implementiert werden.
-
Jede
Schnittstelle 52 beinhaltet ein oder mehrere Übersetzungsmodule 28, 32 zum
Unterstützen
von Computerelementen 44, 46, 48, die
durch Links 50 mit der Schnittstelle 52 verbunden
sind. Das Modul 56 der logischen Vorrichtung dient als Übersetzungsmodul 28,
das auf der Schnittstelle 52 läuft und den Zentralcomputer 44 unterstützt. Das
Modul 58 der physikalischen Vorrichtung dient als Übersetzungsmodul 32,
das auf der Schnittstelle 52 läuft, um Peripheriegeräte wie Platte 46 oder
Band 48 zu unterstützen.
Module 58 der physikalischen Vorrichtung dienen als Server
für Datenzugangsanforderungen,
die von als Client dienenden Modulen 56 logischer Vorrichtungen
empfangen werden. Typischerweise empfängt das Modul 56 einer
logischen Vorrichtung eine Mitteilung vom Zentralcomputer 44 im
ersten Protokoll 22 als Teil einer Datenzugangsanforderung.
Das Modul 56 der logischen Vorrichtung konvertiert die
Mitteilung in das kanonische Protokoll 30 und leitet die
Mitteilung über
das Datenverbindungsnetz 54 zur Schnittstelle 52 weiter,
die der Datenzugangsanforderung nachkommen kann. Das Modul 58 für die physikalische
Vorrichtung empfängt
die Anforderung im kanonischen Protokoll 30 und konvertiert
die Mitteilung in das zweite Protokoll 26, bevor es die
Mitteilung zum Speichergerät 46, 48 weiterleitet.
Der Vorgang wird in der Antwort vom Speichergerät 46, 48 zum
Zentralcomputer 44 umgekehrt.
-
Zusätzlich zum Übersetzen
von Mitteilungen lokalisieren Module 56, 58 Steuer-,
Status- und Fehlermeldungen, die dem Protokoll 22, 26 eigen
oder anderweitig nicht für
eine End-zu-End-Datenzugangskommunikation notwendig sind. So kann
beispielsweise der Zentralcomputer 44 unter der Annahme
arbeiten, dass er durch die Link 50 mit einem SCSI-Bandlaufwerk
verbunden ist. Daher spricht das Modul 56 der logischen
Vorrichtung auf den Zentralcomputer 44 so an, als wenn
die Schnittstelle 52, auf der das Modul 56 der
logischen Vorrichtung läuft,
ein SCSI-Bandlaufwerk wäre.
Daher antwortet das Modul 56 der logischen Vorrichtung
auf einen Steuerbefehl wie z.B. eine Mode-Sense-Anforderung durch
Erzeugen einer Dummy-Statusmeldung für den Zentralcomputer 44,
ohne eine kanonische Mitteilung durch das Datenverbindungsnetz 54 weiterzuleiten. Ebenso
kann das Modul 58 der physikalischen Vorrichtung, das auf
der mit dem ESCON-Bandlaufwerk 46 verbundenen Schnittstelle 52 läuft, Startbefehle nach
der Initialisierung erzeugen, ohne eine kanonische Mitteilung vom
Datenverbindungsnetz 54 empfangen zu haben.
-
3 zeigt
ein Mitteilungsfließschema
einer kanonischen Verbindung gemäß einer
Ausgestaltung der vorliegenden Erfindung. Wenn der Zentralcomputer 44 auf
den Datenspeicher zugreifen möchte,
dann gibt der Zentralcomputer 44 eine Logikverbindungsanforderung 70 in
einem ersten Protokoll 22 an das Modul 56 der logischen
Vorrichtung aus. In einer Ausgestaltung kann das Modul 56 der
logischen Vorrichtung dem Zentralcomputer 44 sofort und
positiv mit einer Logikverbindungsantwort 72 antworten.
Dadurch kann der Zentralcomputer 44 so fortfahren, als
wenn eine erfolgreiche Verbindung mit dem angeforderten logischen
Peripheriegerät hergestellt
worden wäre.
Das Modul 56 der logischen Vorrichtung sendet eine kanonische
Verbindungsanforderung 74 zum Modul 58 der physikalischen
Vorrichtung. Die kanonische Verbindungsanforderung 74 stellt nicht
nur eine Verbindung zwischen dem Zentralcomputer 44 und
dem Band 48 her, sondern negoziiert auch die kanonischen
Schnittstellenmerkmale, die für
die Verbindung zulässig
sind. So können
beispielsweise die Übersetzungsmodule 56, 58 SCSI-Merkmale
wie z.B. einen zufälligen
Relativzeiger und Datenüberlappung unterstützen, damit
Daten in jeder beliebigen Reihenfolge übermittelt bzw. mehr als einmal übertragen
werden können.
Die kanonische Verbindungsanforderung 74 kann auch einen
Gerätetyp
wie z.B. eine Platte 46 oder ein Band 48 beinhalten,
um zu verhindern, dass der Zentralcomputer 44 versehentlich
auf den falschen Peripheriegerätetyp
zugreift. Die kanonische Verbindungsanforderung 74 kann
auch eine Schnittstellenversionsnummer enthalten. Wenn das Modul 58 der
physikalischen Vorrichtung diese Versionsnummer nicht unterstützt, dann
kann das Modul 58 die kanonische Verbindungsanforderung 74 zurückweisen.
Die kanonische Verbindungsanforderung 74 kann auch eine
Anforderung für
die ausschließliche
oder gemeinsame Benutzung von Band 48 beinhalten.
-
Nach
dem Empfang der kanonischen Verbindungsanforderung 74 ermittelt
das Modul 58 der physikalischen Vorrichtung zunächst, ob
die angeforderte Verbindung möglich
ist. Diese Ermittlung kann auf der vorgegebenen Schnittstellenversionsnummer,
der Anforderung für
Ressourcenexklusivität
und dergleichen basieren. Wenn die anfängliche Untersuchung positiv
ist, dann tauscht das Modul 58 der physikalischen Vorrichtung einen
oder mehrere Verbindungsbefehle mit dem Band 48, als physische Verbindungsprozedur 76 dargestellt, mittels
des zweiten Protokolls 26 aus. Anzahl und Art der in der
physikalischen Verbindungsprozedur 76 ausgetauschten Mitteilungen
hängen
vom zweiten Protokoll 26 und den physikalischen Eigenschaften
des Bandes 48 ab. Wenn das Modul 58 der physikalischen
Vorrichtung eine physikalische Verbindung mit dem Band 48 hergestellt
hat, leitet das Modul 58 die kanonische Verbindungsantwort 78 zum
Modul 56 der logischen Vorrichtung weiter. Die kanonische
Verbindungsantwort 78 beinhaltet einen Verbindungsstatus,
der angibt, ob die Verbindung akzeptiert oder zurückgewiesen
wurde. Wenn sie zurückgewiesen
wurde, dann können
ein oder mehrere Rückweisungsbegründungscodes
gegeben werden. Die kanonische Verbindungsantwort 78 kann auch
eine Liste mit unterstützten
kanonischen Schnittstellenmerkmalen beinhalten. Das Modul 56 der
logischen Vorrichtung kann eine negative logische Verbindungsantwort 80 oder,
wenn das Modul 56 dies nicht bereits getan hat, eine positive
Logikverbindungsantwort 80 zum Zentralcomputer 44 senden.
-
Die
Logikverbindungsanforderung 70, die Logikverbindungsantwort 72 und
die Logikverbindungsantwort 80 fließen in der Illustration direkt
zwischen dem Zentralcomputer 44 und dem Modul 56 der
logischen Vorrichtung. Dieser Kommunikationstyp wird als Inband-Signalisierung
bezeichnet, weil die Steuerinformationen über denselben Kommunikationspfad
gehen wie die Daten. Anforderungen, Antworten und andere Steuerinformationen
können
ebenfalls zwischen dem Zentralcomputer 44 und dem Modul 56 der
logischen Vorrichtung über
einen separaten Pfad ausgetauscht werden. Dieser Kommunikationstyp
wird als Außerband-Signalisierung bezeichnet.
Zum Beispiel, eine Außerband-Signalisierung
wird in Bandzugriffssystemen mit einem Bandbibliotheksserver benutzt,
der Bandbibliotheken verfolgt und steuert. Logische Mount-Befehle
werden vom Zentralcomputer 44 zum Bandbibliotheksserver
gesendet. Wenn der Mount erfolgreich ist, dann avisiert der Bandbibliotheksserver
das Modul 56 eines logischen Bandes. Diese Avisierung kann
auch ein Mapping zwischen dem Modul 56 eines logischen
Bandes und dem Modul 58 einer physikalischen Vorrichtung
bereitstellen. Die physikalische Verbindungsprozedur 76 kann
ganz oder teilweise inbandig oder außerbandig sein. Die Verwendung
eines Zwischen-Proxy zwischen Zentralcomputern 44 und dem
Bibliotheksserver zum Interpretieren von Außerband-Signalisierung ist
in einer US-Patentanmeldung mit dem Titel 'Virtual Tape Libraries' mit der Attorney
Docket Nummer 99-001-NSC (STK 99001 PUS) von R.Kavuri et al. beschrieben,
die hiermit in ihrer Gesamtheit durch Bezugnahme eingeschlossen
ist.
-
4 illustriert
ein Mitteilungsfließschema
einer kanonischen Abtrennung gemäß einer
Ausgestaltung der vorliegenden Erfindung. Wenn der Zentralcomputer 44 mit
einer Datenzugriffstransaktion fertig ist, dann sendet der Zentralcomputer 44 eine
logische Abtrennanforderung 90 in einem ersten Protokoll 22 zum
Modul 56 der logischen Vorrichtung. Das Modul 56 reagiert
typischerweise sofort mit einer logischen Abtrennantwort 92 mittels
des ersten Protokolls 22. Das Modul 56 der logischen
Vorrichtung sendet eine kanonische Abtrennanforderung 94 zum
Modul 58 der physikalischen Vorrichtung. Die kanonische
Abtrennanforderung 94 kann eine Anforderungssequenznummer
enthalten, um zu verhindern, dass die kanonische Abtrennanforderung 94 vom
Modul 58 der physikalischen Vorrichtung außer der
Reihe empfangen und behandelt wird. Das Modul 58 der physikalischen
Vorrichtung kann dann eine oder mehrere Mitteilungen in einem zweiten
Protokoll 26 mit dem Band 48, durch die physische
Abtrennprozedur 96 gezeigt, zum Freigeben des Bandes 48 austauschen. Nach
Abschluss sendet das Modul 58 der physikalischen Vorrichtung
eine kanonische Abtrennantwort 98 zum Modul 56 der
logischen Vorrichtung. Die kanonische Abtrennantwort 98 kann
eine Anforderungssequenznummer, einen Abtrennstatus und einen oder
mehrere Begründungscodes
enthalten. In ungewöhnlichen
Situationen kann ein Modul 56 der logischen Vorrichtung
eine zweite logische Abtrennantwort 100 mit dem ersten
Protokoll 22 zum Zentralcomputer 44 weiterleiten.
Wie bei den Mount-Befehlen, kann eine logische Abtrennanforderung 90 eine
logische Abtrennantwort 92, eine physikalische Abtrennprozedur 96 und
eine logische Abtrennantwort 100 durch Inband-Signalisierung,
Außerband-Signalisierung
oder eine Mischung aus beiden geleitet werden.
-
5 zeigt
ein Mitteilungsfließschema
für einen
kanonischen Speichern-und-Weiterleiten-Schreibvorgang
gemäß einer
Ausgestaltung der vorliegenden Erfindung. Wenn der Zentralcomputer 44 Daten
speichern möchte,
dann leitet er eine logische Schreibprozedur 110 mittels
des ersten Protokolls 22 mit dem Modul 56 der
logischen Vorrichtung ein. Anzahl und Typ von Mitteilungen, die
zwischen dem Zentralcomputer 44 und dem Modul 56 ausgetauscht
werden, hängen
von einer Reihe verschiedener Faktoren ab, wie z.B. dem ersten Protokoll 22,
dem Zentralcomputer 44, dem Typ von Speichergerät 46, 48 und
den Speicherpuffern, die für
das Modul 56 zugängig
sind. Da sich das Modul 56 der logischen Vorrichtung dem
Zentralcomputer 44 jedoch als Zielspeichergerät darbietet,
kann das Modul 56 nach dem Übertragen von Daten vom Zentralcomputer 44 zum Modul 56 eine
Schreibquittung zum Zentralcomputer 44 senden. Das im Speichern-und-Weiterleiten-Modus arbeitende
Modul 56 der logischen Vorrichtung empfängt wenigstens einen Teil der
Daten vom Zentralcomputer 44, bevor es eine kanonische
Schreibanforderung 112 zum Modul 58 der physikalischen
Vorrichtung sendet.
-
Kanonische
Anforderungsmeldungen, wie z.B. die kanonische Schreibanforderung 112,
werden typischerweise vom Modul 56 der logischen Vorrichtung
zum Modul 58 der physikalischen Vorrichtung gesendet, um
die Durchführung
einer Operation anzufordern. Die definierten Operationen sind für eine Geräteklasse
generisch. So unterstützt
beispielsweise das Modul 56, 58, das eine Schnittstelle
für das
Bandlaufwerk 48 bildet, typischerweise Operationen wie
Lesen, Schreiben, Rückspulen,
Positionieren und dergleichen. Die kanonische Anforderung bietet
auch Mittel zum Einbeziehen einer gerätespezifischen Operationsbeschreibung.
Dazu könnten
ein SCSI-Befehlsblock, ein ESCON CCW oder ähnliche Steuersignale gehören. Jedes Übersetzermodul 56, 58 kann
entweder die generische oder die spezifische Operationsbeschreibung
zum Durchführen
der Operation verwenden, aber da die gerätespezifischen Informationen
fakultativ sind, müssen Übersetzungsmodule 56, 58 die
angeforderte Operation ohne gerätespezifische
Informationen durchführen
können.
Jede kanonische Anforderungsmitteilung beinhaltet einen Befehl wie
z.B. einen Speichern-und-Weiterleiten-Schreibbefehl für eine kanonische
Schreibanforderung 112. Die kanonische Anforderungsmitteilung
kann auch die Datenlänge,
eine Anzeige für
eine unbekannte Datenlänge
oder eine Keine-Daten-Anzeige beinhalten, je nach dem Befehlstyp.
Die kanonische Anforderungsmitteilung enthält auch eine Anforderungssequenznummer,
um zu gewährleisten,
dass Mitteilungen unabhängig
von der gesendeten oder empfangenen Reihenfolge in der richtigen
Reihenfolge interpretiert werden. Eine kanonische Anforderungsmitteilung
kann auch Steuerinformationen in Verbindung mit dem Befehl, eine
Formatbeschreibung für
gerätespezifische
Befehlsinformationen, gerätespezifische
Befehlsinformationen, Fehlerkorrektur- und -erkennungscodierung
wie z.B. zyklischen Redundanzcode (CRC), Vollendungsstatus und Flags
beinhalten, um anzuzeigen, welche Felder gültig sind. Einige Informationen,
wie z.B. die Datenlänge,
Fehlerkorrektur- und -erkennungscodierung und Vollendungsstatus, sind
in einer kanonischen Anforderungsmitteilung gültig, die in einem Speicher-und-Weiterleiten-Modus
arbeitet. Wenn Module 56, 58 in einem Streaming-Modus
arbeiten, dann können
diese Informationen in einer kanonischen Datenendemitteilung enthalten
sein.
-
Bei
Bedarf kann ein Modul 58 der physikalischen Vorrichtung
auf eine kanonische Schreibanforderung 112 mit einer kanonischen
Schreibantwort 114 antworten. Antwortmitteilungen, wie
z.B. eine kanonische Schreibantwort 114, werden zum Senden
einer Antwort zum Ausgeber einer kanonischen Anforderung verwendet.
Eine kanonische Antwortmitteilung enthält die mit der kanonischen
Anforderung gesendete Anforderungssequenznummer. Die kanonische
Anforderungsmitteilung kann auch die Datenlänge, eine Anzeige, dass die
Datenlänge
unbekannt ist, oder eine Anzeige enthalten, dass keine Daten empfangen
wurden. Die kanonische Antwortmitteilung kann auch Fehlerkorrektur-
und -erkennungscodierung, einen generischen Status, generische Sense-Informationen,
gerätespezifischen
Status, gerätespezifische
Sense-Informationen und Flags enthalten, um anzuzeigen, welche Felder
gültig
sind.
-
Eine
oder mehrere kanonische Datenmitteilungen 116 übertragen
dann Daten zwischen dem Modul 56 der logischen Vorrichtung
und dem Modul 58 der physikalischen Vorrichtung. Die kanonische
Datenmeldung 116 beinhaltet die Anforderungssequenznummer
der Schreibanforderung 112 sowie eine Datenmitteilungs-Sequenznummer, die
für jede
kanonische Datenmitteilung 116 inkrementiert wird. Die
kanonische Datenmitteilung 116 kann auch die Länge der
eingeschlossenen Daten, die Datenadresse wie z.B. Relativzeiger oder „Random
Relative Offset",
Fehlerkorrektur- und
-erkennungscodierung und Flags beinhalten, die anzeigen, welche
Felder gültig
sind, sowie das Datenende, einen Datentransferabbruch und dergleichen.
Das Modul 58 der physikalischen Vorrichtung übersetzt
in kanonischen Datenmitteilungen 116 enthaltene Daten in
ein für das
Band 48 akzeptables Format und leitet diese Daten mit dem
zweiten Protokoll 26 in einer oder mehreren physikalischen
Datenmitteilungen 118 zum Band 48 weiter.
-
Das
Modul 58 der physikalischen Vorrichtung kann empfangene
Daten entweder im Streaming-Modus oder im Speicher-und-Weiterleiten-Modus
passend zu den Anforderungen des Bandlaufwerks 48 und des zweiten
Protokolls 26 weiterleiten. Wenn das Modul 58 der
physikalischen Vorrichtung alle physikalischen Datenmitteilungen 118 erfolgreich übertragen
hat, dann sendet das Modul 58 eine kanonische Schreiben-beendet-Mitteilung 120 zum
Modul 56 der logischen Vorrichtung. Unter bestimmten Umständen kann
das Modul 56 der logischen Vorrichtung die logische Schreibantwort 122 mit
dem ersten Protokoll 22 zum Zentralcomputer 44 weiterleiten.
-
6 zeigt
ein Mitteilungsfließschema,
das einen kanonischen Speichern-und-Weiterleiten-Lesevorgang gemäß einer
Ausgestaltung der vorliegenden Erfindung illustriert. Der Zentralcomputer 44,
der Daten lesen möchte,
sendet zuerst eine logische Leseanforderung 130 in einem
ersten Protokoll 22 zum Modul 56 der logischen
Vorrichtung. Die logische Leseanforderung 130 kann von
einem Austausch von Mitteilungen zwischen dem Zentralcomputer 44 und
dem Modul 56 begleitet sein, der den Austausch zwischen
dem Zentralcomputer 44 und einem tatsächlichen Peripheriegerät 46, 48 mit
dem ersten Protokoll 22 simulieren würde. Das Modul 56 der
logischen Vorrichtung antwortet auf eine logische Leseanforderung 30 durch
Senden der kanonischen Leseanforderung 132 zum Modul 58 der
physikalischen Vorrichtung. Das Modul 58 der physikalischen
Vorrichtung leitet die physische Leseanforderung 134 mit
dem zweiten Protokoll 26 zum Band 48 weiter. Auch
hier kann die physikalische Leseanforderung 134 wieder
durch einen Austausch von Mitteilungen zwischen dem Modul 58 der
physikalischen Vorrichtung und dem Band 48 begleitet sein,
der zum Unterstützen des
Lesevorgangs nötig
ist. Das Band 48 antwortet mit physikalischen Lesedaten 136,
die im Modul 58 der physikalischen Vorrichtung gespeichert
sind. Das Modul 58 der physikalischen Vorrichtung sendet
eine kanonische Leseantwort 138 zum Modul 56 der
logischen Vorrichtung, gefolgt von einer oder mehreren Datenmitteilungen 116.
Das Modul 58 der physikalischen Vorrichtung sendet schließlich eine
kanonische Lesen-beendet-Antwort 140 zum Modul 56 der
logischen Vorrichtung. Die logischen Lesedaten 142 vom
Modul 56 der logischen Vorrichtung werden mit dem ersten
Protokoll 22 zum Zentralcomputer 44 gesendet.
Die logischen Lesedaten 142 können von dem geeigneten Austausch
von Steuermeldungen zwischen dem Zentralcomputer 44 und
einem physikalischen Speichergerät
des von dem Modul 56 der logischen Vorrichtung des simulierten Typs
begleitet sein.
-
7 zeigt
ein Mitteilungsfließschema,
das einen kanonischen Streaming-Schreibvorgang
gemäß einer
Ausgestaltung der vorliegenden Erfindung illustriert. Der Zentralcomputer 44 leitet
einen Austausch von Mitteilungen mit dem Modul 56 der logischen
Vorrichtung über
das erste Protokoll 22 ein, repräsentiert durch eine logische
Schreibanforderung 150. Das Modul 56 der logischen
Vorrichtung leitet die kanonische Schreibanforderung 152 zum
Modul 58 der physikalischen Vorrichtung weiter. Das Modul 58 der
physikalischen Vorrichtung tauscht mit dem zweiten Protokoll 26 Mitteilungen
mit dem Bandlaufwerk 48 aus, dargestellt als physikalische
Schreibanforderung 154 und als physikalische Schreibantwort 156,
um das Bandlaufwerk 48 zum Streamen von Daten vorzubereiten.
Das Modul 58 der physikalischen Vorrichtung 58 leitet
die kanonische Schreibantwort 158 zum Modul 56 der
logischen Vorrichtung weiter. Das Modul 56 der logischen
Vorrichtung bestätigt
die Einrichtung des Schreibvorgangs zum Zentralcomputer 44 durch
die logische Schreibantwort 160 mit dem ersten Protokoll 22.
Der Zentralcomputer 44 fährt dann mit dem Senden von
einer oder mehreren logischen Schreibdatenmitteilungen 162 zum
Modul 56 der logischen Vorrichtung fort. Je nach Zentralcomputer 44 und
erstem Protokoll 22 kann das logische Modul 56 jede
logische Schreibdatenmitteilung 162 individuell quittieren,
kann nach der letzten logischen Schreibdatenmitteilung 162 quittieren
oder kann überhaupt
keine Quittung schicken. Während
jede logische Schreibdatenmitteilung 162 vom Modul 56 der
logischen Vorrichtung empfangen wird, konvertiert das Modul 56 der
logischen Vorrichtung Daten vom ersten Protokoll 22 in
ein kanonisches Protokoll 30 und überträgt die Daten in der kanonischen
Schreibdatenmitteilung 164 zum Modul 158 der physikalischen
Vorrichtung. Das Modul 158 der physikalischen Vorrichtung
konvertiert die Daten vom kanonischen Protokoll 30 in das
zweite Protokoll 26 und leitet die Daten zum Band 48 in
physikalischen Schreibdatenmitteilungen 166 weiter. Jedes
Modul 56, 58 kann zur vorübergehenden Speicherung von
Daten auf Puffer zugreifen, um Datenempfangs- und -sendegeschwindigkeitsdifferenzen
zu kompensieren.
-
Wenn
alle kanonischen Schreibdatenmitteilungen 164 vom Modul 56 der
logischen Vorrichtung gesendet wurden, dann sendet das Modul 56 der
logischen Vorrichtung eine kanonische Datenendemitteilung 168. Die
kanonische Datenendemitteilung 168 beinhaltet die Anforderungssequenznummer
von der kanonischen Schreibanforderung 152 sowie die Länge der
gesendeten Daten. Die kanonische Datenendemitteilung 168 kann
auch Fehlerkorrektur- und -erkennungscodierung, einen generischen
Status, eine generische Sense-Information, einen gerätespezifischen
Datenstatus, eine gerätespezifische
Sense-Information sowie Flags enthalten, die anzeigen, welche Felder
gültig
sind. Nach dem Empfang der kanonischen Datenendemitteilung tauscht
das Modul 58 der physikalischen Vorrichtung Mitteilungen
mit dem Bandlaufwerk 48 aus, dargestellt durch eine physikalische
Datenendeprozedur 170. Wenn das Modul 58 der physikalischen
Vorrichtung eine Quittung vom Bandlaufwerk 48 erhält, dass
der Schreibvorgang erfolgreich abgeschlossen wurde, dann sendet
das Modul 58 der physikalischen Vorrichtung eine kanonische
Schreiben-beendet-Antwort 172 zum Modul 56 der
logischen Vorrichtung. Das Modul 56 der logischen Vorrichtung
tauscht eine oder mehrere Mitteilungen mit dem Zentralcomputer 44 mit
dem ersten Protokoll 22 aus, angedeutet durch die logische
Schreiben-beendet-Antwort 174.
-
8 zeigt
ein Mitteilungsfließschema,
das einen kanonischen Streaming-Lesevorgang
gemäß einer Ausgestaltung
der vorliegenden Erfindung illustriert. Der Zentralcomputer 44 tauscht
eine oder mehrere Mitteilungen im ersten Protokoll 22,
repräsentiert
durch die logische Leseanforderung 180, mit dem Modul 56 der logischen
Vorrichtung aus. Das Modul 56 der logischen Vorrichtung
erzeugt eine kanonische Leseanforderung 182 und leitet
sie zum Modul 58 der physikalischen Vorrichtung weiter.
Das Modul 58 der physikalischen Vorrichtung tauscht Mitteilungen
mit dem Bandlaufwerk 48 mittels des zweiten Protokolls 26 aus,
um die physikalische Leseanforderungsprozedur 184 auszuführen. Das
Modul 58 der physikalischen Vorrichtung erzeugt dann eine
kanonische Leseantwort 186 zum Modul 56 der logischen
Vorrichtung. Je nach Zentralcomputer 44 und Protokoll 22 kann
das Modul 56 der logischen Vorrichtung die logische Leseantwort 188 mit
dem ersten Protokoll 22 zum Zentralcomputer 44 weiterleiten.
Das Bandlaufwerk 48 sendet physikalische Lesedaten 190 mit
dem zweiten Protokoll 26 zum Modul 58 der physikalischen
Vorrichtung. Das Modul 58 der physikalischen Vorrichtung
konvertiert physikalische Lesedaten 190 im zweiten Protokoll 26 zu
kanonischen Datenmitteilungen 192 im kanonischen Protokoll 30.
Das Modul 56 der logischen Vorrichtung empfängt kanonische
Datenmitteilungen 192, konvertiert Datenmitteilungen 192 in
das erste Protokoll 22 und leitet die konvertierten Daten in
logischen Datenmitteilungen 194 zum Zentralcomputer 44 weiter.
Wenn alle Daten 192 vom Modul 58 der physikalischen
Vorrichtung gesendet wurden, dann sendet das Modul 58 der
physikalischen Vorrichtung eine kanonische Lesen-beendet-Statusmitteilung 196 zum
Modul 56 der logischen Vorrichtung. Nach dem Empfang des
kanonischen Lesen-beendet-Status 196 sendet das Modul 56 der
logischen Vorrichtung eine logische Statusmitteilung 198 mit
dem ersten Protokoll 22 zum Zentralcomputer 44.
-
Kanonische
Statusmitteilungen, wie z.B. die kanonische Datenübertragung-beendet-Mitteilung 196, werden
zum Senden von Status- und anderen Informationen vom Modul 58 der
physikalischen Vorrichtung zum Modul 56 der logischen Vorrichtung
verwendet, wenn diese Informationen in einer kanonischen Antwortmitteilung
entweder nicht enthalten waren oder nicht enthalten sein konnten.
Eine kanonische Statusmitteilung wird dann benötigt, wenn Daten im Streaming-Modus
gesendet werden, weil der Status erst am Ende der Datenübertragung
bekannt ist. Kanonische Statusmitteilungen beinhalten eine Anforderungssequenznummer und
können
einen generischen Status, generische Sense-Informationen, einen
gerätespezifischen
Status, gerätespezifische
Sense-Informationen, Fehlerkorrektur- und -erkennungscode, Datenlänge und
Flags beinhalten, die anzeigen, welche Felder gültig sind.
-
Anzahl
und Typ von Mitteilungen zwischen Computerelementen 20, 24 und
entsprechenden Übersetzungsmodulen 28, 32 hängen in
starkem Ausmaß vom
Typ des Computerelementes 20, 24 und des Kommunikationsprotokolls 22, 26 ab.
Beispiele für
Befehle, die zwischen dem Zentralcomputer 44 und dem Bandlaufwerk 48 verwendet
werden können,
zusammen mit entsprechenden kanonischen Befehlen, sind in Tabelle
1 aufgeführt.
-
-
-
In
einer Ausgestaltung der vorliegenden Erfindung repräsentieren
ESCON-Befehle in
Tabelle 1 mit dem ersten Protokoll 22 übertragene Mitteilungen. SCSI-Befehle in Tabelle
2 repräsentieren
im zweiten Protokoll 26 übertragene Mitteilungen. Das Übersetzungsmodul 28 konvertiert
dann zwischen ESCON-Befehlen und kanonischen Befehlen und das Übersetzungsmodul 32 übersetzt
zwischen SCSI-Befehlen
und kanonischen Befehlen. Bestimmte ESCON- und SCSI-Befehle, durch „Local" als kanonischer
Befehl angedeutet, haben keine kanonische Entsprechung. Für diese
Befehle empfängt
das Übersetzungsmodul 28, 32 eine
Mitteilung vom Computerelement 20, 24, erzeugt
aber keine entsprechende Mitteilung im kanonischen Protokoll 30. Ebenso
kann das Übersetzungsmodul 28, 32 einen
Befehl für
das Computerelement 20, 24 erzeugen, ohne eine
entsprechende Mitteilung im kanonischen Protokoll 30 empfangen
zu haben.
-
Es
wurden zwar Beispiele, die den besten Modus illustrieren, mit Bezug
auf Datenzugriffe zwischen einem Zentralcomputer und einem Bandlaufwerk
beschrieben, aber es sind viele Alternativen möglich. Ein Zentralcomputer
kann durch die vorliegende Erfindung mit einem beliebigen Typ von
Peripheriegerät
verknüpft werden,
wie z.B. Bandlaufwerke, Plattenlaufwerke, Bandbibliotheken, Plattenbibliotheken,
optische Speichergeräte,
Festkörper-Memory-Speichergeräten, Kommunikationsschnittstellen
und dergleichen.