PatentDe  


Dokumentenidentifikation DE10118900B4 17.01.2008
Titel Verfahren und System zum Erzeugen einer Kommunikation zwischen mindestens einer ersten und einer zweiten logischen Partition
Anmelder IBM Corp., Armonk, N.Y., US
Erfinder Driever, Patricia G., Poughkeepsie, N.Y., US;
Flanagan, John R., Poughkeepsie, N.Y., US;
Jewett, Robert P., Georgetown, Tex., US
Vertreter Gigerich, J., Dipl.-Ing., Pat.-Anw., 81679 München
DE-Anmeldedatum 18.04.2001
DE-Aktenzeichen 10118900
Offenlegungstag 06.12.2001
Veröffentlichungstag der Patenterteilung 17.01.2008
Veröffentlichungstag im Patentblatt 17.01.2008
IPC-Hauptklasse G06F 13/00(2006.01)A, F, I, 20051017, B, H, DE

Beschreibung[de]
Technisches Gebiet

Diese Erfindung betrifft im Allgemeinen Kanal-Subsysteme und insbesondere die Integration der Kanal-zu-Kanal-Funktion in einen oder mehrere Kommunikationskanäle einer Rechnerumgebung.

HINTERGRUND DER ERFINDUNG

Kanal-zu-Kanal-Adapter wurden lange Zeit als Vorrichtung für die allgemeine Kommunikation zwischen Computersystemen eingesetzt. So waren Kanal-zu-Kanal-Adapter beispielsweise der Hauptmechanismus für den Anschluss eines S/390-Systems (angeboten von International Business Machines Corporation) an andere heterogene Umgebungen wie die IBM Systeme RS/6000 und/oder AS/400. Der Kanal-zu-Kanal-Adapter ist protokollunabhängig und findet vielfältige Anwendung in Bereichen wie beispielsweise der Kopplung von Multiprozessorsystemen und in traditionellen Protokoll-Stacks (z. B. TCP/IP, SNA). Im Allgemeinen wird die Kanal-zu-Kanal-Funktion (Channel-To-Channel, CTC) auf einem eigenständigen Hardwareteil implementiert.

Bei parallelen Kanalschnittstellen wird die CTC-Funktion in einem separaten Gehäuse außerhalb beispielsweise eines CEC (Central Electronic Complex) (angeboten von International Business Machines Corporation) implementiert. In der ESCON-Architektur (Enterprise System Connection) von IBM wurde die CTC-Funktion dahingehend verbessert, dass ein beliebiger ESCON-Kanal als dedizierter Kanal oder als dedizierte CTC-Verbindung für unterschiedliche Mikrocode-Lasten konfiguriert werden kann. Informationen hierzu enthält beispielsweise die IBM Publikation „Enterprise Systems Architecture/390 ESCON Channel-To-Channel Adapter" mit der Publikationsnummer SA22-7203-00 (1996). In allen Fällen ist die „Entität", die die CTC-Funktion bereitstellt, ausschließlich für diesen Zweck vorgesehen. Leider ist die CTC-Konfiguration mit Hilfe eines solchen dedizierten CTC-Kanals für den Kunden mit einem hohen Aufwand an Arbeit und Kosten verbunden. Des Weiteren werden mindestens zwei Kanalpfad-IDs (Channel Path ID, CHPID) benötigt, wenn ein Kunde eine CTC-Kommunikation zwischen zwei logischen Partitionen (Logical Partition, LPAR) wünscht.

Das U.S. Patent 5,652,914 enthält eine Beschreibung, wie zwei logische Partitionen innerhalb eines Computers ohne Rückgriff auf CTC-Hardware miteinander kommunizieren können. Auch diese Lösung benötigt jedoch mindestens zwei Kanalpfad-IDs.

Angesichts des oben Genannten ist für die Bereitstellung der CTC-Funktionalität in einer Rechnerumgebung immer noch ein erweiterter Ansatz erforderlich, um die Kommunikation zwischen Computersystemen zu vereinfachen.

BESCHREIBUNG DER ERFINDUNG

Aufgabe der Erfindung ist es daher, ein verbessertes Verfahren zum Erzeugen einer Kommunikation zwischen Partitionen in einer Rechnerumgebung anzugeben. Diese Aufgabe wird durch die Merkmale des Patentanspruchs 1 und der nebengeordneten Patentansprüche gelöst.

Gemäß dem Patentanspruch 1 wird ein Verfahren zum Erzeugen einer Kommunikation zwischen mindestens einer ersten und einer zweiten logischen Partition, die in einem oder verschiedenen über ein Netzwerk verbundener Computer enthalten sind und die Computer jeweils über mindestens einen Kanal mit einer CTC-Funktion mit dem Computer verbunden sind, angegeben. Das Verfahren umfasst die Schritte: Erzeugen eines internen logischen Pfads zwischen der ersten logischen Partition und einer CTC-Funktion in dem Computer, der die erste Partition enthält, und Erzeugen eines logischen Pfads im Netzwerk, der den internen logischen Pfad mit Hilfe der CTC-Funktion und jeweils einem einzigen Kanal des die zweite logische Partition enthaltenden Computers mit der zweiten logischen Partition verbindet.

Die für die Anwendung des oben beschriebenen Verfahrens geeigneten Systeme und Computerprogrammprodukte werden in der vorliegenden Patentanmeldung ebenfalls beschrieben und in Form von Ansprüchen dargelegt.

Wie bereits erwähnt, wird in dieser Patentanmeldung eine Technik für die Implementierung von CTC-Kommunikationsverbindungen in einer Rechnerumgebung vorgestellt, die die Konnektivitätsoptionen eines Kunden erheblich erweitert. Dies wird durch die Integration einer CTC-Funktion in einen oder mehrere Kanäle einer Rechnerumgebung erreicht, wobei jeder Kanal zudem eine Kanalfunktion umfasst. In der Praxis wird eine Arbeitseinheit an die CTC- oder die Kanalfunktion übertragen. Dies ist abhängig vom Typ der Arbeitseinheit, d. h. davon, ob die Arbeitseinheit selbst von einer Kanalfunktion oder einer Steuerungseinheit stammt. Mit Hilfe der in der vorliegenden Erfindung beschriebenen Technik können zwischen zwei beliebigen Systemen, die über mindestens einen Kanal mit dem Netz verbundenen sind, CTC-Verbindungen ohne zusätzliche Kosten installiert werden. Vielen der größten Computeranwender gehen buchstäblich die verfügbaren Kanalpfade aus, sodass die Bereitstellung einer dedizierten CTC-Funktion üblicherweise kostspielig ist, da dies zum einen mit dem Verbrauch der sehr begrenzt vorhandenen Kanalpfad-IDs und zum anderen mit hohen Hardwarekosten verbunden ist. Hinzu kommt außerdem, dass ein Kunde normalerweise ein Paar redundante CTC-Verbindungen benötigt. Dank der vorliegenden Erfindung ist es jedoch nicht mehr erforderlich, dass der Kunde der CTC-Funktion Kanalpfadressourcen (CHPIDs) zuweist.

Des Weiteren erleichtert das in der vorliegenden Patentanmeldung beschriebene Merkmal der Autokonfiguration die anwenderdefinierte Konfiguration der CTC-Verbindung erheblich. Der Kunde gibt lediglich eine CTC-Steuerungseinheit an mindestens einem Ende der Verbindung an, und die Autokonfiguration führt automatisch „insgeheim" einen Lastausgleich durch. Zusätzlich wird zur Konfiguration der Kommunikation zwischen logischen Partitionen (LPAR) durch eine einzige CHPID eine Funktion bereitgestellt, die die Konnektivitätsoptionen vor allem bei Systemen der unteren Preisklasse verbessert, die möglicherweise eine geringere Anzahl verfügbarer Kanäle besitzen. Obwohl die in dieser Patentanmeldung dargestellten Kozepte nur auf Glasfaserverbindungen der FICON-Verbindungstechnik (Fibre Connection, FICON) Bezug nehmen (FICON-Kanäle werden von International Business Machines Corporation angeboten), können sie genauso auf andere Typen von Systemkommunikationskanälen angewandt werden.

Zusätzliche Leistungsmerkmale und Vorteile werden mit Hilfe der Techniken der vorliegenden Erfindung realisiert. Weitere Ausführungsarten und vorteilhafte Ausgestaltungen der Erfindung werden in dieser Patentanmeldung detailliert beschrieben und als Gegenstand der Patentansprüche angesehen.

KURZBESCHREIBUNG DER ZEICHNUNGEN

Die oben beschriebenen Ziele, Vorteile und Leistungsmerkmale der vorliegenden Erfindung sowie weitere vorteilhafte Ausgestaltungen lassen sich anhand der nachfolgenden detaillierten Beschreibung bestimmter bevorzugter Ausführungen der Erfindung und unter Bezugnahme auf die im Anhang befindlichen Zeichnungen besser verstehen.

1 stellt eine Ausführungsart eines Kanals dar, der gemäß einer vorteilhaften Ausgestaltung der vorliegenden Erfindung über eine Kanalfunktion und eine integrierte CTC-Funktion verfügt;

2 ist eine detailliertere Zeichnung des Kanals aus 1, in der eine Logik dargestellt ist, die gemäß einer vorteilhaften Ausgestaltung der vorliegenden Erfindung festlegt, ob eine Arbeitseinheit (je nach Typ der Arbeitseinheit) an die Kanalfunktion oder die CTC-Funktion im Kanal weitergeleitet wird;

3 ist ein Blockdiagramm für eine Ausführungsart einer Rechnerumgebung, worin gemäß einer vorteilhaften Ausgestaltung der vorliegenden Erfindung jeweils zwei Kanäle (z. B. von verschiedenen Computersystemen) über eine integrierte CTC-Funktion verfügen;

4 ist ein Blockdiagramm für eine Ausführungsart einer Kommunikation zwischen zwei Partitionen, bei der gemäß einer vorteilhaften Ausgestaltung der vorliegenden Erfindung eine integrierte CTC-Funktion zum Einsatz kommt;

5 ist ein Ablaufdiagramm für eine Ausführungsart zur automatischen Konfigurierung einer CTC-Verbindung gemäß einer vorteilhaften Ausgestaltung der vorliegenden Erfindung;

6 ist ein Beispiel für eine gemäß einer vorteilhaften Ausgestaltung der vorliegenden Erfindung stattfindende Kommunikation auf Geräteebene zwischen einem Kanal A auf einem ersten System und einem Kanal B auf einem zweiten System mit Hilfe der CTC-Funktion von Kanal A.

BESTE AUSFÜHRUNGSFORM DER ERFINDUNG

Diese Erfindung betrifft im Allgemeinen das Implementieren von CTC-Verbindungen innerhalb einer Rechnerumgebung, um dadurch die Konnektivitätsoptionen eines Kunden erheblich zu verbessern. Die Rechnerumgebung kann beispielsweise auf einer oder mehreren ES/390-Architekturen (Enterprise Systems Architecture, ESA) von International Business Machines Corporation, Armonk, New York basieren. Die ES/390-Architektur wird in der IBM Publikation „Enterprise Systems Architecture/390 Principles of Operation" mit der Publikationsnummer SA22-7201-06 (Juli 1999) beschrieben, die durch Bezugnahme in ihrer Gesamtheit Bestandteil der vorliegenden Patentanmeldung ist. Ein Beispiel für eine auf der ES/390-Architektur basierende Rechnerumgebung ist der 9672 Parallel Enterprise Server von International Business Machines Corporation. Des Weiteren kann die Rechnerumgebung beispielsweise mindestens einen CEC (Central Electronic Complex) mit einer oder mehreren logischen Partitionen (LPAR) sowie mit einem odere mehreren Kanälen umfassen.

1 stellt eine Ausführungsart eines Kanals 100 dar, der gemäß einer vorteilhaften Ausgestaltung der vorliegenden Erfindung über eine CTC-Funktion verfügt. Ein Beispiel für eine herkömmliche CTC-Funktion ist in der oben genannten IBM Publikation „Enterprise Systems Architecture/390 ESCON Channel-to-Channel Adapter" mit der Publikationsnummer SA22-7203-00 (1996) beschrieben, die durch Bezugnahme in ihrer Gesamtheit Bestandteil dieser Patentanmeldung ist. Ein Beispiel für einen Kanal ist ein FICON-Kanal von International Business Machines Corporation. Ein Beispiel für einen FICON-Kanal ist im Handbuch „IBM S/390 FICON Implementation Guide" mit der IBM Publikationsnummer SG24-5169-00 (November 1999) beschrieben, das durch Bezugnahme in seiner Gesamtheit Bestandteil dieser Patentanmeldung ist.

Kanal 100, der im vorliegenden Dokument auch als Kanalpfad-ID (Channel Path Identifier, CHPID) bezeichnet wird, umfasst eine herkömmliche Kanalfunktion 110, die sowohl mit Systemschnittstellen als auch mit einem Gerätetreiber 130 verbunden ist, der wiederum an eine Glasfaserverbindung (nicht dargestellt) angeschlossen ist. Die Architektur einer herkömmlichen Kanalfunktion ist in der oben genannten IBM Publikation „Enterprise Systems Architecture/390 Principles of Operation" mit der IBM Publikationsnummer SA22-7201-06 (Juli 1999) beschrieben. Parallele Kanäle sowie ESCON- und FICON-Kanäle von IBM entsprechen alle der in der genannten Publikation beschriebenen grundlegenden Kanalstruktur. Gemäß der vorliegenden Erfindung umfasst der Kanal 100 zudem eine integrierte CTC-Funktion 140, die über entsprechende Verbindungen mit der Kanalfunktion 110 und dem Gerätetreiber 130 kommuniziert. Die CTC-Funktion 140 fungiert als duale Steuerungseinheit, die sowohl für den lokalen („inneren") als auch für einen externen („äußeren") Kanal auf der anderen Seite des Glasfasernetzes eine Steuerungseinheitsfunktion bereitstellt. Es ist zu beachten, dass in dieser Ausführungsart die CTC-Funktion weder auf Speicher- noch auf Systemvorrichtungen zugreift.

Der Kanal sendet und empfängt Informationseinheiten (Information Units, IUs) (in diesem Dokument auch als Arbeitseinheiten bezeichnet) über eine Kanalschnittstelle, indem Übertragungssteuerungsblöcke (Transmit Control Blocks, TCBs) und Empfangssteuerungsblöcke (Receive Control Blocks, RCBs) an den Gerätetreiber gesendet und von diesem zurückgesendet werden. Für ausgehende Informationseinheiten, die für den lokalen CTC-Kanal vorgesehen sind, erstellt die gesamte Hauptleitungsfunktion des Kanals nach wie vor TCBs und nimmt die Unterschiede zwischen CTC-Datenverkehr und Verkehr ohne CTC-Funktion nicht wahr. Mit Hilfe einer Routing-Funktion an der Treiberschnittstelle werden die ausgehenden Informationseinheiten entweder zum Aufbau eines Nicht-CTC-Datenverkehrs an den Treiber gesendet, oder die Informationseinheiten werden je nach Konfiguration des logischen Pfads an die CTC-Funktion gesendet (siehe 3). Für den größten Teil des CTC-Datenverkehrs muss die CTC-Funktion lediglich den Dateikopf der Fibre Channel-Schicht 4 (FC-4) neu erstellen, um durch das Vornehmen der notwendigen Änderungen dem fernen Kanal den Anschein zu geben, dass die Informationseinheit aus den Nutzinformationen einer Steuerungseinheit der Informationseinheit hervorging. Wenn die CTC-Funktion bereit ist, die Informationseinheit an den externen Kanal zu senden, kann die CTC-Funktion einfach denselben von dem Kanal empfangenen TCB an den Treiber weiterleiten.

Alle von einem FICON-Kanal gesendeten Informationseinheiten weisen im Dateikopf der Fibre Channel-Schicht 2 (FC-2) einen Code TYPE auf, der auf den Wert 0x1B gesetzt ist, während alle von einer FICON-Steuerungseinheit gesendeten Informationseinheiten einen Code TYPE mit dem Wert 0x1C aufweisen. Dadurch kann der Treiber ankommende Informationseinheiten problemlos entweder zur Kanalfunktion oder zur CTC-Funktion transportieren. Viele Fibre Channel PCI-Adapterkarten bieten Hardware-Assistenten, mit deren Hilfe sich der Datentransport anhand des Typencodes schnell und effizient durchführen lässt. Hinsichtlich der ausgehenden Informationseinheiten muss die CTC-Funktion den FC-4-Dateikopf lediglich neu erstellen und anschließend die Informationseinheiten mit Hilfe desselben RCBs an die Kanalfunktion weiterleiten, der vom Treiber empfangen wurde. Wiederum erkennt der Kanal nicht, dass es sich bei der Quelle des Datenverkehrs um die Schnittstelle der lokalen CTC-Verbindung und nicht um die FICON-Schnittstelle handelt.

2 stellt eine Ausführungsart des Arbeitseinheitsflusses innerhalb eines FICON-Kanals dar, in den gemäß den Prinzipien der vorliegenden Erfindung eine CTC-Funktion integriert ist. Ein TCB aus der Kanalfunktion 110 wird von einer Schnittstellenlogik 210 dahingehend überprüft, ob eine Zielrichtung des TCBs als Verbindung zur CTC-Funktion konfiguriert ist. Ist dies nicht der Fall, wird der TCB einfach an den Gerätetreiber 130 weitergeleitet, wo die Daten an eine Fibre Channel-Verbindung 200 ausgegeben werden. Ist die CTC-Verbindung als Zielrichtung definiert, wird der TCB an die CTC-Funktion 140 weitergeleitet. Die CTC-Funktion 140 kann hierauf durch die Ausgabe desselben TCBs an den Gerätetreiber 130, durch die Ausgabe eines anderen oder eines geänderten TCBs an den Gerätetreiber 130 oder durch die Ausgabe eines Antwort-RCBs an die Kanalfunktion 110 reagieren.

Wie bereits erwähnt, verfügt die CTC-Funktion 140 über eine duale Kommunikationssteuerungseinheit. Über den Gerätetreiber 130 werden als RCB empfangene Arbeitseinheiten je nach Typ der Arbeitseinheit umgeleitet 220. Die Arbeitseinheit wird an die CTC-Funktion weitergeleitet, wenn es sich um den Typ „1B" handelt, da, wie bereits erwähnt, der Typ 1B signalisiert, dass die Einheit aus einem Kanal stammt und deshalb zur CTC-Funktion 140 geleitet wird. Handelt es sich stattdessen um eine Einheit des Typs „1C", stammt der empfangene Steuerungsblock aus einer Steuerungseinheit, die für die Kanalfunktion 110 bestimmt sein muss. Die CTC-Funktion 140 kann auf den empfangenen RCB durch Weiterleiten desselben RCBs an die Kanalfunktion 110, durch Weiterleiten eines anderen oder eines geänderten RCBs an die Kanalfunktion 110 oder durch Rücksenden eines TCBs an den Gerätetreiber 130 reagieren.

3 stellt eine Ausführungsart einer Rechnerumgebung mit der allgemeinen Bezeichnung 300 dar, worin ein erstes Computersystem mit einer ersten Kanalpfad-ID 310 und ein zweites Computersystem mit einer zweiten Kanalpfad-ID 320 über ein Vermittlungsnetz (Switching Network, SW) 330 miteinander verbunden sein sollen. Jeder Kanal bzw. jede Kanalpfad-ID (CHPID) enthält, wie oben beschrieben, neben einer integrierten CTC-Funktion 350 bzw. 370 eine herkömmliche Kanalfunktion 340 bzw. 360. Die CTC-Funktion 350 bzw. 370 umfasst wiederum eine Steuerungseinheit, die der Koordinierung der Kommunikation zwischen den Kanalfunktionen innerhalb der verschiedenen Kanäle dient.

In einer FICON-Architektur erfordert die auf Geräteebene stattfindende Kommunikation zwischen einem Kanal und einer Steuerungseinheit, dass zwischen diesen ein „logischer Pfad" erzeugt wird. Im Fall einer CTC-Kommunikation kommunizieren jeweils zwei Kanäle mit der dualen CTC-Steuerungseinheit, sodass zwei logische Pfade für den Aufbau einer vollständigen CTC-Verbindung benötigt werden. Ein lokaler logischer Pfad wird über eine interne Verbindung zwischen der Kanalfunktion und der CTC-Funktion derselben CHPID erzeugt. Dieser Pfad 345 wird in 3 als Teil der CHPID A dargestellt. Der ferne logische Pfad wird über eine Fibre Channel-Verbindung erzeugt. Wie aus 3 ersichtlich ist, verbindet dieser Pfad 355 die beiden CHPIDs durch das Vermittlungsnetz hindurch.

Für die gegebene Struktur und Funktion der vorliegenden Erfindung sind Mittel zur automatischen Festlegung des lokalen logischen Pfads und des fernen logischen Pfads in einer beliebigen gegebenen CTC-Verbindung wünschenswert. Andernfalls muss der Kunde die Konfiguration des logischen Pfads durchführen. Da die CTC-Funktion eine Rechenlast für den Mikroprozessor auf der Kanalkarte darstellt, sind weiterhin Mittel wünschenswert, die einen Lastausgleich bewirken, sodass die CTC-Last beispielsweise gleichmäßig auf alle Kanalpfade innerhalb des Komplexes verteilt wird. Das CTC-Verbindungsverfahren sollte es darüber hinaus ermöglichen, dass sich ein CTC-fähiger Kanalpfad korrekt selbst konfiguriert, wenn er als nicht CTC-fähiger Kanal definiert wird. Alle der oben genannten Anforderungen werden durch eine automatisierte Technik zur Konfigurierung der logischen Pfade gemäß der vorliegenden Erfindung erfüllt, die nachfolgend in Zusammenhang mit 5 beschrieben wird.

Zunächst wird jedoch auf 4 Bezug genommen, die ein Paar logischer Pfade für eine Kommunikation zwischen Partitionen gemäß einer vorteilhaften Ausgestaltung der vorliegenden Erfindung darstellt. Diese Rechnerumgebung 400 umfasst einen Host-Kanal 410 und ein Vermittlungsnetz (Switching Network, SW) 420. Der Host-Kanal 410 umfasst wiederum eine integrierte CTC-Funktion 430 und eine Kanalfunktion, deren verschiedene Images als LPAR 1 440 und LPAR 2 450 gekennzeichnet sind. Ziel dieses Aspekts der vorliegenden Erfindung ist es, eine LPAR-zu-LPAR-Kommunikation mit Hilfe von CTC-Protokollen und eines einzigen physischen Kanalpfads herzustellen.

Die in der vorliegenden Patentanmeldung genannten Regeln zur Erzeugung logischer Pfade lassen sich auch auf die Kommunikation zwischen Partitionen (LPAR-zu-LPAR) anwenden, bei der nur eine einzige CHPID genutzt wird. Wie nachfolgend im Zusammenhang mit 5 beschrieben wird, kann die in 4 dargestellte Beispielkonfiguration wie folgt erzeugt werden: LPAR 2 gibt eine Anweisung zur Erzeugung eines logischen Pfads (Establish Logical Path, ELP) aus, die über das FICON-Netz gesendet wird, und da die ID des Ziel-N_Ports mit der ID des Quell-N_Ports identisch ist, wird die Meldung an den sendenden N_Port „zurückgeschickt" und an LPAR 1 weitergeleitet. (N_Port ist ein Begriff des Fibre Channel Standards, der im Grunde einen Port innerhalb eines Knotens einer Kanalverbindung bezeichnet. Jeder Port verfügt über einen Empfänger und einen Sender. Knoten, N_Ports und N_Port-ID sind Begriffe, die in dem Dokument „Fibre Channel-Physical and Signaling Interface (FC-PH)" des amerikanischen Normungsgremiums ANSI (American National Standards Institute) definiert werden.

Die in der ELP-Anweisung angegebene Anzahl lokaler logischer Pfade soll der Anzahl der über die CHPID erzeugten Pfade entsprechen. Ebenso sollen die IDs des Quell- und des Ziel-N_Ports identisch sein, sodass die LPAR-IDs verglichen werden. Da die Partition LPAR 1 die niedrigere ID aufweist, sendet sie die Aufforderung, die Verbindung nicht zu erzeugen (Link Reject), woraufhin eine Protokollfehlermeldung zurückgesendet wird. Die Aufforderung wird wiederum an denselben N_Port „zurückgeschickt" und von LPAR 2 empfangen. Nach dem Empfang der Link Reject erzeugt LPAR 2 den logischen Pfad 455. Wenn LPAR 1 seine ELP-Anweisung ausgibt, wird diese über das Netz an LPAR 2 weitergeleitet. LPAR 2 erkennt, dass der lokale Pfad bereits mit LPAR 1 erzeugt wurde, sodass LPAR 2 eine entsprechende Meldung (Logical Path Established, LPE) an LPAR 1 zurücksendet und dadurch den fernen logischen Pfad 445 erzeugt.

Es gilt zu beachten, dass laut Definition für eine Kommunikation zwischen Partitionen die lokale CTC-Funktion immer verwendet wird, sodass ein Lastausgleich nicht erforderlich ist. Hätten für das oben genannte Beispiel andere Bedingungen gegolten, sodass nach der Verarbeitung der ELP-Anweisung durch LPAR 1 weniger lokale logische Pfade erzeugt worden wären als nach dem Senden der ELP-Anweisung durch LPAR 2 vorhanden waren, hätte LPAR 1 eine LPE-Meldung an LPAR2 gesendet und dadurch den fernen logischen Pfad erzeugt. Wenn anschließend LPAR 1 eine ELP-Anweisung ausgegeben hätte, wäre dadurch der lokale logische Pfad erzeugt worden. Entscheidend ist, dass die Regeln unabhängig von den bei der Ausgabe der ELP-Anweisungen herrschenden Bedingungen sicherstellen, dass die beiden benötigten Pfade erzeugt werden.

Die logischen Pfade legen den Transport von Informationseinheiten der Geräteebene fest. Die gesamte auf Geräteebene anfallende Datenmenge für den lokalen logischen Pfad wird über die interne Verbindung transportiert, und die gesamte Datenmenge wird auf dem fernen logischen Pfad zum FICON-Gerätetreiber weitergeleitet, um von dort über das Fibre Channel-Netz übertragen zu werden. Ein Beispiel für verschiedene Datentransfers auf Geräteebene enthält 6.

Wie aus der nachfolgend beschriebenen 5 ersichtlich ist, werden während der Initialisierung keine Angaben darüber gemacht, welcher von zwei Kanälen in zwei verschiedenen Systemen die CTC-Funktion für die CTC-Verbindung bereitstellen wird. Ein Kanal sendet ELP-Informationseinheiten an alle in seiner Konfiguration definierten logischen Steuerungseinheiten. Dabei spielt es keine Rolle, ob es sich um CTC-Steuerungseinheiten oder um andere Typen handelt 500. Bei Steuerungseinheiten, die in der Konfiguration als CTC-Steuerungseinheiten definiert sind, enthält die ELP-Informationseinheit (in einer Ausführungsart) jedoch ein Bit, das den Sender als CTC-fähig kennzeichnet, sowie ein Zählerfeld, das die Gesamtzahl der lokalen logischen CTC-Pfade angibt, die aktuell auf dem Kanalpfad erzeugt werden. Im Fall von CTC-Verbindungen werden diese ELP-Informationseinheiten von den Zielkanalpfaden empfangen. An dem empfangenden Kanal wird geprüft, ob der empfangende Kanal CTC-fähig ist 510.

Ist der Kanal, der eine ELP-Anweisung empfängt, nicht in der Lage, eine CTC-Funktion bereitzustellen, gibt er eine Link-Reject-Meldung aus, wobei auf jede ELP-Anweisung mit einer Protokollfehlermeldung reagiert wird 520. Wenn der CTC-fähige Kanal, der die ELP-Anweisung gesendet hat, die Link-Reject-Meldung empfängt, erkennt er, dass er die CTC-Funktion bereitstellen muss. Der Kanal erzeugt daher den lokalen logischen Pfad und wartet so lange, bis der nicht CTC-fähige Kanal eine ELP-Anweisung sendet, um den fernen logischen Pfad zu erzeugen 530.

Als Alternative könnte der nicht CTC-fähige Kanal seine ELP-Anweisung als Erster senden. In diesem Fall prüft der empfangende Kanal das die CTC-Fähigkeit signalisierende Bit in der empfangenen ELP-Anweisung, erkennt, dass dieses deaktiviert ist, und sendet eine LPE-Meldung zur Erzeugung des fernen logischen Pfads. Wird die ELP-Anweisung vom lokalen System ausgegeben, wird erkannt, dass der ferne logische Pfad erzeugt werden soll. Deshalb wird das Senden der ELP-Anweisung an das ferne System unterdrückt, und der lokale logische Pfad wird intern erzeugt. Die Situation des „Kreuzverkehrs", in der beide Seiten ihre ELP-Anweisung gleichzeitig senden, lässt sich durch die Festlegung meistern, dass beide Seiten unabhängig von der jeweils anderen Seite die oben vorgeschriebenen Schritte durchlaufen.

Unter der Voraussetzung, dass der empfangende Kanal CTC-fähig ist, ermittelt der empfangende Kanal, ob für diese CTC-Verbindung noch eine Rückmeldung auf eine ELP-Anweisung aussteht, die aus dem empfangenden Kanal stammt 540. Ist dies der Fall, wird die in der ELP-Anweisung gesendete Anzahl als aktuelle Anzahl des empfangenden Kanals verwendet 550. Der empfangende Kanal setzt den selbstregulierenden Aspekt dieser Erfindung mit der Ermittlung fort, ob die Anzahl der am empfangenden Kanal erzeugten lokalen logischen Pfade geringer ist als die durch den sendenden Kanal angegebene Anzahl 560. Ist dies der Fall, stellt der empfangende Kanal die CTC-Funktion bereit 610. Der empfangende Kanal sendet eine LPE-Rückmeldung, um den fernen logischen Pfad zu erzeugen. Gibt das lokale System eine ELP-Anweisung aus, wird erkannt, dass der ferne logische Pfad erzeugt werden soll. Deshalb wird das Senden der ELP-Anweisung an das ferne System unterdrückt, und der lokale logische Pfad wird erzeugt.

Ist die Anzahl der logischen Pfade größer als die mit der ELP-Anweisung empfangene Anzahl, stellt der sendende Kanal die CTC-Funktion bereit, sodass eine Link-Reject-Rückmeldung erzeugt wird 520. Nach dem Empfang der Link-Reject-Rückmeldung wird der lokale logische Pfad am sendenden Kanal erzeugt und wartet auf eine ELP-Anweisung vom fernen Kanal. Wenn die ELP-Anweisung später vom fernen Kanal empfangen wird, ist der lokale logische Pfad bereits erzeugt. Deshalb ignoriert der erste Kanal das in der ELP-Anweisung enthaltene Zählerfeld für die Anzahl der logischen Pfade und sendet eine LPE-Meldung zurück, wodurch der ferne Pfad erzeugt wird.

Wird eine ELP-Anweisung empfangen und ist die mit der ELP-Anweisung empfangene Anzahl der lokalen logischen Pfade identisch mit der Anzahl der am Empfänger erzeugten lokalen logischen Pfade 570, wird die N_Port-ID des Systems, das die ELP-Anweisung gesendet hat, mit der N_Port-ID des lokalen Systems verglichen 580. Sind die IDs nicht identisch, stellt das System mit der numerisch größeren N_Port-ID die CTC-Funktion bereit. Es verhält sich folglich so, als ob es über weniger als die oben vorgeschriebene Anzahl logischer Pfade verfügte. Sind die N_Port-IDs der beiden Systeme jedoch identisch 590, wie dies bei einer Kommunikation zwischen Partitionen der Fall ist (oben. beschrieben), werden die Partitions-IDs verglichen 600, und die Partition mit der numerisch größeren ID stellt die CTC-Funktion bereit 520, 610.

Es besteht außerdem die Möglichkeit, dass zwei CTC-fähige Kanäle sich gleichzeitig ELP-Anweisungen senden. Als einzige zusätzliche Regel erfordert dieser Fall, dass jeder Kanal den Wert für die mit jeder ELP-Anweisung gesendeten Anzahl der erzeugten lokalen logischen Pfade beibehält bis er eine Rückmeldung auf die ELP-Anweisung empfängt. Empfängt ein CTC-fähiger Kanal in Erwartung der Rückmeldung auf eine ELP-Anweisung eine ELP-Anweisung von demselben N_Port und derselben Partitions-ID, an die er die ELP-Anweisung gesendet hat, führt der Kanal einen Vergleich der Anzahl logischer Pfade anhand des mit der ELP-Anweisung gesendeten Werts durch, nicht aber anhand der Anzahl der aktuell erzeugten Pfade im Kanal, die sich seit der Übertragung der ursprünglichen ELP-Anweisung geändert haben könnte.

6 zeigt den Sequenzfluss für ein CTC-Programm, das aus 3 Kanalbefehlswörtern (Channel Command Words, CCWs) besteht: eine Lesen-Schreiben-Lesen-Kette auf Kanal A (CH A) und eine entsprechende Schreiben-Lesen-Schreiben-Kette auf Kanal B (CH B). (Es ist zu beachten, dass diese Kette nur zur Veranschaulichung von Konzepten gewählt wurde.) In diesem Beispiel löst CH A die Operation aus und gibt die 4 Sequenzen aus, die für die Kette benötigt werden. Da es sich bei CH A um den lokalen logischen Pfad handelt, werden alle diese Sequenzen an das CTC-Element auf CH A gesendet und von diesem aufgereiht. Da der logische Pfad CH B verfügbar ist, wird an CH A ein entsprechender Befehl zurückgesendet, und durch CTC A wird ein Status „Achtung" (Attention) erzeugt, der über die FICON-Verbindung an CH B gesendet wird. CH B akzeptiert den Status, und CH A erkennt dies an. Der Status „Attention" bewirkt, dass das Programm hinter CH B das entsprechende Kanalprogramm erzeugt. CH B gibt die entsprechenden Sequenzen über die FICON-Verbindung an CH A aus. Da diese Sequenzen als Typ 1B (TYPE 1B) gesendet werden, transportiert die Hardware bzw. der Treiber die RCBs zur CTC-Funktion, die die RCBs an ihrer externen Seite aufreiht.

Beim Empfang der ersten Befehls-Informationseinheit verfügt CTC A auf beiden Seiten über Befehle, die sich entsprechen, sodass CTC A mit Hilfe des eigenen Steuerungseinheitstyps 1C (TYPE 1C) eine an CH B gerichtete Befehlsmeldung erzeugt. Die für CCW #4 an der externen Seite bereitgestellten Daten sind die Daten für CCW #1 (Lesen) an der internen Seite, sodass die CTC-Funktion die FC-4-Dateiköpfe in den Informationseinheiten neu erstellt und an den internen Kanal weiterleitet. Da die Anzahlen übereinstimmen, kann die CTC-Funktion die Verkettung nun mit dem nächsten Befehlspaar fortsetzen. Bei diesem stimmen die Schreibdaten für CCW #2 mit den entsprechenden Lesedaten für CCW #5 überein, sodass CTC A die Dateiköpfe neu erstellt und die TCBs an den Treiber weiterleitet, die von dort aus an CH B gesendet werden. Die Verkettung erfolgt, wenn alle Daten gesendet wurden und wenn der Prozess für das dritte CCW-Paar (#3<-#6) wiederholt wird.

Wurden alle Daten für das dritte CCW-Paar gesendet, ist die Kette vollständig. Anschließend erzeugt CTC A den Status CE-DE und erstellt Status-Informationseinheiten, die an beide Seiten gesendet werden. Wenn beide Seiten den Status anerkennen, ist die Operation abgeschlossen.

Die vorliegende Erfindung lässt sich beispielsweise auf ein Computerprogrammprodukt (z. B. auf ein oder mehrere Computerprogramme) anwenden, die beispielsweise computergeeignete Medien umfassen. In diese Medien ist beispielsweise ein für den Computer lesbarer Programmcode zur Bereitstellung und Vereinfachung der Funktionen der vorliegenden Erfindung integriert. Die Computerprogrammprodukte können Teil des Computersystems sein oder separat verkauft werden.

Zusätzlich kann mindestens eine maschinenlesbare Programmspeichervorrichtung bereitgestellt werden, in die zur Ausführung der Funktionen der vorliegenden Erfindung mindestens ein Programm mit Befehlen fest integriert ist, die für die Maschine ausführbar sind.

Die in der vorliegenden Patentanmeldung dargestellten Ablaufdiagramme dienen als Beispiele. Die Diagramme oder die Schritte (oder Operationen), die in der vorliegenden Patentanmeldung beschrieben werden, können variiert werden, ohne dass vom Sinn der Erfindung abgewichen wird. In bestimmten Fällen können die Schritte beispielsweise in einer anderen Reihenfolge ausgeführt werden, oder es können Schritte hinzugefügt, gelöscht oder modifiziert werden. Alle diese Variationen werden gemäß der im Anhang befindlichen Ansprüche als Teil des Umfangs der vorliegenden Erfindung betrachtet.

Obwohl die Erfindung in der vorliegenden Patentanmeldung gemäß bestimmter bevorzugter Ausführungsarten detailliert beschrieben wurde, können durch den Fachmann viele Modifikationen und Änderungen an ihr vorgenommen werden. Infolgedessen sollen die im Anhang befindlichen Ansprüche alle Modifikationen und Änderungen einschließen, die dem tatsächlichen Sinn und Geltungsbereich der Erfindung entsprechen.


Anspruch[de]
Verfahren zum Erzeugen einer Kommunikation zwischen mindestens einer ersten und einer zweiten logischen Partition, die in einem oder verschiedenen über ein Netzwerk (200, 330, 420) verbundener Computer enthalten sind und die Computer jeweils über mindestens einen Kanal (100, 340, 360) mit einer Kanal-zu-Kanal-Funktion (Channel-To-Channel, CTC) (140, 350, 370) mit dem Netzwerk (200, 330, 420) verbunden sind,

das Verfahren gekennzeichnet durch die Schritte:

Erzeugen eines internen logischen Pfads (345, 455) zwischen der ersten logischen Partition und einer CTC-Funktion (350, 430) in dem Computer, der die erste Partition enthält; und

Erzeugen eines logischen Pfads (355, 445) im Netzwerk (330, 420), der den internen logischen Pfad mit Hilfe der CTC-Funktion (350, 430) und jeweils einem einzigen Kanal (320, 410) des die zweite logische Partition enthaltenden Computers mit der zweiten logischen Partition verbindet.
Verfahren gemäß Anspruch 1, worin das Netzwerk (200, 330, 420) (Daten-)Pakete an den Absender zurückschickt, wenn dieser als Empfänger in den Paketen eingetragen ist. Verfahren gemäß Anspruch 1 oder 2, worin das Netzwerk (200, 330, 420) ein Fibre Channel Switch ist. Verfahren gemäß einem der Ansprüche 1 bis 3, worin die jeweils an der Kommunikation beteiligten einzigen Kanäle (320, 410) eine einzige FICON-Kanalpfad-ID umfassen, die erste logische Partition ein erstes Kanalfunktions-Image (440) umfasst und die zweite logische Partition ein zweites Kanalfunktions-Image (450) umfasst, worin das erste Kanalfunktions-Image (440) und das zweite Kanalfunktions-Image (450) über die einzige FICON-Kanalpfad-ID miteinander kommunizieren. Verfahren gemäß Anspruch 1, worin das Erzeugen der internen logischen Pfade in den Computern und des logischen Pfades im Netzwerk automatisch funktionieren. Direkt in einen Computer ladbares Computer-Programm mit Programmcode zur Durchführung des Verfahrens nach einem der Ansprüche 1 bis 5. Computer-Programm-Produkt mit auf einem maschinenlesbaren Träger gespeichertem Programmcode umfassend ein Computer-Programm gemäß Anspruch 6. System zum Erzeugen einer Kommunikation zwischen mindestens einer ersten und einer zweiten logischen Partition, die in einem oder verschiedenen über ein Netzwerk (200, 330, 420) verbundener Computer enthalten sind und die Computer jeweils über mindestens einen Kanal mit einer Kanal-zu-Kanal-Funktion (Channel-To-Channel, CTC) (140, 350, 370) mit dem Netzwerk (200, 330, 420) verbunden sind,

das System gekennzeichnet durch:

Mittel zum Erzeugen eines internen logischen Pfads (345, 455) zwischen der ersten logischen Partition und einer CTC-Funktion (350, 430) in dem Computer, der die erste Partition enthält; und

Mittel zum Erzeugen eines logischen Pfads (355, 445) im Netzwerk (330, 420), der den internen logischen Pfad mit Hilfe der CTC-Funktion (350, 430) und jeweils einem einzigen Kanal (320, 410) des die zweite logische Partition enthaltenden Computers mit der zweiten logischen Partition verbindet.
System gemäß Anspruch 8, wobei das Netzwerk (200, 330, 420) (Daten-)Pakete an den Absender zurückschickt, wenn dieser als Empfänger in den Paketen eingetragen ist. System gemäß Anspruch 8 oder 9, wobei das Netzwerk (200, 330, 420) System gemäß einem der Ansprüche 8 bis 10, worin die jeweils einzigen an der Kommunikation beteiligten Kanäle (320, 410) eine einzige FICON-Kanalpfad-ID umfassen, die erste logische Partition ein erstes Kanalfunktions-Image (440) umfasst und die zweite logische Partition ein zweites Kanalfunktions-Image (450) umfasst, worin das erste Kanalfunktions-Image (440) und das zweite Kanalfunktions-Image (450) über die einzige FICON-Kanalpfad-ID miteinander kommunizieren. System gemäß einem der Ansprüche 8 bis 11, worin die Mittel zum Erzeugen der internen logischen Pfade im Computer und des logischen Pfades im Netzwerk Mittel zum automatischen Erzeugen der logischen Pfade umfassen.






IPC
A Täglicher Lebensbedarf
B Arbeitsverfahren; Transportieren
C Chemie; Hüttenwesen
D Textilien; Papier
E Bauwesen; Erdbohren; Bergbau
F Maschinenbau; Beleuchtung; Heizung; Waffen; Sprengen
G Physik
H Elektrotechnik

Anmelder
Datum

Patentrecherche

Patent Zeichnungen (PDF)

Copyright © 2008 Patent-De Alle Rechte vorbehalten. eMail: info@patent-de.com