DE69812257T2 - Verfahren zur Datenübertragung zwischen Rechnern über ein Speichersubsystem - Google Patents

Verfahren zur Datenübertragung zwischen Rechnern über ein Speichersubsystem Download PDF

Info

Publication number
DE69812257T2
DE69812257T2 DE69812257T DE69812257T DE69812257T2 DE 69812257 T2 DE69812257 T2 DE 69812257T2 DE 69812257 T DE69812257 T DE 69812257T DE 69812257 T DE69812257 T DE 69812257T DE 69812257 T2 DE69812257 T2 DE 69812257T2
Authority
DE
Germany
Prior art keywords
data
host computer
track
host
storage subsystem
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE69812257T
Other languages
English (en)
Other versions
DE69812257D1 (de
Inventor
Manabu Kitamura
Akira Yamamoto
Shigeo Honma
Kiichiro Urabe
Ikuo Uratani
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Application granted granted Critical
Publication of DE69812257D1 publication Critical patent/DE69812257D1/de
Publication of DE69812257T2 publication Critical patent/DE69812257T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)
  • Multi Processors (AREA)

Description

  • Die Erfindung betrifft ein Verfahren zum Übertragen von Daten zwischen Hostcomputern unter Verwendung eines Speicher-Subsystems.
  • HINTERGRUND DER ERFINDUNG
  • In den letzten Jahren erfolgte energisch eine Verkleinerung" beim Ausführen von herkömmlicherweise auf einem Großrechner ausgeführten Geschäftsvorgängen unter Verwendung eines kleinen Computers wie eines PC oder einer Workstation. In einem Großcomputer wird eine große Informationsmenge, wie sie aufgrund des herkömmlicherweise ausgeführten Geschäftsvorgangs erzeugt wird, gespeichert, und es besteht die Anforderung, dass die im Großrechner gespeicherte Information auch in einem kleinen Computer nutzbar ist. Außerdem besteht die Anforderung, dass unter Verwendung einer mit dem Großrechner verbundenen, mit hoher Geschwindigkeit und hoher Zuverlässigkeit arbeitenden Sicherungsvorrichtung eine Sicherung für die Daten des Kleincomputers realisiert werden kann.
  • Herkömmlicherweise sind hinsichtlich eines Verfahrens zum Übertragen von Daten zwischen verschiedenen Betriebssystemen ein FTP (File Transport Protocol) und eine verteilte Datenbank bekannt.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Beim oben genannten Stand der Technik liest ein interessierender Hostcomputer vorübergehend Daten aus einer Speichervorrichtung wie einem Plattenspeicher aus, und die Daten werden zwischen den Hostcomputern über ein Netzwerk verschickt, das über ein mehreren Hostcomputern gemeinsames Protokoll verfügt. Jedoch ist die Übertragungsrate des Netzwerks relativ niedrig, und demgemäß ist schwierig, eine ausreichende Übertragungsrate zu erzielen. Außerdem ist eine Zunahme der Belastung des Netzwerks hinsichtlich des Systems nicht bevorzugt.
  • WO-A-92 18931 offenbart ein Netzwerk-Dateisystem, bei dem ein Doppelportspeicher dazu verwendet wird, Sicherungsdaten von einem primären Dateiserver zu einem Sicherungs-Dateiserver zu senden. Steuermeldungen zwischen diesen zwei Servern werden über eine Schnittstelle mitgeteilt, die zusätzlich zur normalen Netzwerk-Schnittstelle existiert.
  • Angesichts des Vorstehenden erfolgte die Erfindung zum Lösen der oben genannten Probleme in Zusammenhang mit dem Stand der Technik, und es ist daher eine Aufgabe der Erfindung, ein effektives Verfahren zum Übertragen von Daten über eine Speichervorrichtung zu schaffen. Diese Aufgabe ist durch das Verfahren des Anspruchs 1 gelöst. Die Unteransprüche gelten für vorteilhafte Modifizierungen.
  • Ein Computersystem gemäß einer Ausführungsform der Erfindung verfügt über Folgendes: einen ersten Computer; einen zweiten Computer; ein Netzwerk für Kommunikation zwischen dem ersten und dem zweiten Computer; und ein Speicher-Subsystem mit mehreren Schnittstellen, die mit dem ersten und dem zweiten Computer verbunden sind.
  • Der erste und der zweite Computer können wechselweise auf Daten im Speicher-Subsystem zugreifen. Wenn die Daten vom ersten an den zweiten Computer übertragen werden, schreibt der erste Computer die Übertragungsdaten in das Speicher-Subsystem ein. Gleichzeitig schreibt der erste Computer über das Netzwerk Steuerinformation in den zweiten Computer, die dazu erforderlich ist, die Daten zu übertragen, wie den Ort im Speicher-Subsystem, an den die Übertragungsdaten geschrieben wurden. Dann liest der zweite Computer auf Grundlage der Steuerinformation die Übertragungsdaten aus, die der erste Computer in das Speicher-Subsystem eingeschrieben hat.
  • Nachdem der zweite Computer die Übertragungsdaten ausgelesen hat, schreibt er Steuerinformation, wie den Ort der Übertragungsdaten, die der zweite Computer zuvor empfangen hat, in den ersten Computer. Dann erkennt der erste Computer, dass der zweite Computer die Operation des Auslesens der Übertragungsdaten abgeschlossen hat, und er schreibt ebenfalls sowohl die Übertragungsdaten als auch die Steuerinformation erneut in das Speicher-Subsystem bzw. über das Netzwerk in den zweiten Computer. In diesem Zusammenhang können die Übertragungsdaten an den Bereich des Speicher-Subsystem überschrieben werden, solange der zweite Computer die Daten bereits aus dem interessierenden Bereich ausgelesen hat. Durch Wiederholen dieser Verarbeitung kann eine Datenübertragung vom ersten zum zweiten Computer realisiert werden. Außerdem können, wenn Übertragungsdaten bei dieser Datenübertragungsoperation durch den ersten Computer in das Speicher-Subsystem eingeschrieben werden, die Daten im Bereich des Speicher-Subsystems überschrieben werden, solange der zweite Computer bereits die Daten aus dem interessierenden Bereich ausgelesen hat. Aus diesem Grund kann die Datenübertragung unter wiederholter Nutzung desselben Bereichs des Speicher-Subsystems selbst dann ausgeführt werden, wenn die Menge der Übertragungsdaten größer als der Umfang der Speicherbereiche im Speicher-Subsystem ist. Außerdem wird durch Austauschen der Rollen des ersten und zweiten Computers gegeneinander eine Datenübertragung vom zweiten zum ersten Computer realisiert.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Die obigen und andere Aufgaben sowie Vorteile der Erfindung werden durch die folgende Beschreibung der bevorzugten Ausführungsformen der Erfindung unter Bezugnahme auf die beigefügten Zeichnungen deutlich.
  • 1 ist ein schematisches Blockdiagramm, das eine Konfiguration eines Computersystems gemäß einer ersten Ausführungsform zeigt, bei der die Erfindung angewandt ist.
  • 2 ist ein schematisches Diagramm, das bei der Erläuterung der Daten im CKD-Format von Nutzen ist, wie sie in einem Speicher-Subsystem gespeichert sind;
  • 3 ist ein schematisches Diagramm, das bei der Erläuterung des Speicherformats eines Datensatzes in einem Plattenspeicher von Nutzen ist;
  • 4 ist ein Flussdiagramm, das bei der Erläuterung der Verarbeitung beim Öffnen eines Datensatzes von Nutzen ist;
  • 5 ist ein Flussdiagramm, das bei der Erläuterung der Verarbeitung beim Auslesen eines Datensatzes von Nutzen ist;
  • 6 ist ein Flussdiagramm, das bei der Erläuterung der Verarbeitung beim Schreiben eines Datensatzes von Nutzen ist;
  • 7 ist ein schematisches Diagramm, das bei der Erläuterung des Inhalts von Datensätzen SYNC 1 und SYNC 2 von Nutzen ist;
  • 8 ist ein Flussdiagramm, das bei der Erläuterung der Verarbeitung beim Senden von Daten seitens eines Hosts 1 bei der ersten Ausführungsform von Nutzen ist;
  • 9 ist ein Flussdiagramm, das bei der Erläuterung der Verarbeitung beim Empfangen von Datenseiten eines Hosts 2 bei der ersten Ausführungsform von Nutzen ist;
  • 10 ist ein schematisches Blockdiagramm, das eine Konfiguration eines Computersystems gemäß einer zweiten Ausführungsform zeigt, bei der die Erfindung angewandt ist;
  • 11 ist ein Flussdiagramm, das bei der Erläuterung der Verarbeitung beim Senden von Daten seitens eines Hosts 1 bei der zweiten Ausführungsform von Nutzen ist;
  • 12 ist ein Flussdiagramm, das bei der Erläuterung der Verarbeitung beim Empfangen von Daten seitens eines Hosts 2 bei der zweiten Ausführungsform von Nutzen ist;
  • 13 ist ein schematisches Blockdiagramm, das eine Konfiguration eines Computersystems gemäß einer dritten Ausführungsform zeigt, bei der die Erfindung angewandt ist; und
  • 14 ist ein schematisches Blockdiagramm, das eine Konfiguration eines Computersystems gemäß einer vierten Ausführungsform zeigt, bei der die Erfindung angewandt ist.
  • BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
  • Nachfolgend werden die bevorzugten Ausführungsformen der Er findung unter Bezugnahme auf die beigefügten Zeichnungen detailliert beschrieben.
  • (1) Erste Ausführungsform
  • Die 1 zeigt ein Beispiel einer Konfiguration eines Computersystems, bei dem die Erfindung angewandt ist. Das Computersystem verfügt über einen Hostcomputer 1, einen Hostcomputer 2 und ein Speicher-Subsystem 3, das mit beiden Hostcomputern 1 und 2 verbunden ist.
  • Der Hostcomputer 1 verfügt über eine Zählschlüsseldaten-Schnittstelle 11, die an ein Zählschlüsseldaten-Format (nachfolgend, falls anwendbar, kurz als "CKD-Format" bezeichnet) angepasst ist, als Schnittstelle zwischen dem Hostcomputer 1 und dem Speicher-Subsystem 3, und auch über eine Netzwerk-Schnittstelle 12, über die der Hostcomputer 1 mit dem Hostcomputer 2 verbunden ist, und auch mit Steuerung durch ein Betriebssystem 13.
  • Außerdem verfügt der Hostcomputer 1 ferner über ein Zugriffsprogramm 14, das mittels des Betriebssystems 13 ausgeführt wird. Während zusätzlich hierzu Bauelemente wie ein Speicher und eine CPU, die in einem Computer notwendigerweise vorhanden sind, vorliegen, sind diese Elemente für die Beschreibung der vorliegenden Ausführungsform nicht sehr wichtig. Daher erfolgt hier der Einfachheit halber keine zugehörige Beschreibung.
  • Andererseits verfügt der Hostcomputer 2 über eine Schnittstelle fester Länge (FBA-Schnittstelle) 21, die für ein Blockformat fester Länge ausgebildet ist, als Schnittstelle zum Verbinden des Hostcomputers 2 mit dem Speicher-Subsystem 3, sowie eine Netzwerk-Schnittstelle 22, über die der Hostcomputer 2 mit dem Hostcomputer 1 verbunden ist, ebenfalls mit Steuerung durch ein Betriebssystem 23. Außerdem verfügt der Hostcomputer 2 ferner über ein Formatwandelprogramm 25 und ein Dateizugriffsprogramm 24, die mittels des Betriebssystems 23 ausgeführt werden.
  • Beide Netzwerk-Schnittstellen 12 und 22 sind Schnittstellen, die demselben Datenübertragungsprotokoll entsprechen.
  • Das Speicher-Subsystem 3 verfügt über eine Platte 31, eine CKD-Schnittstelle 32, die mit dem Hostcomputer 1 verbunden ist, und eine FBA-Schnittstelle 33, die mit dem Hostcomputer 2 verbunden ist.
  • Beim Format fester Länge sind alle Daten jeweils in einem als Block bezeichneten zugehörigen Bereich gespeichert. Jeder dieser Blöcke verfügt über eine feste Länge wie eine solche von z. B. 512 Bytes. Einem zugeordnetem Block wird eine Blocknummer (nachfolgend, falls anwendbar, kurz als "LBA" bezeichnet) zugewiesen, um auf ihn zuzugreifen.
  • Andererseits werden im CKD-Format eine Zylindernummer (CC), eine Kopfnummer (HH) und eine Datensatznummer (R) dem zugeordneten Datensatz zugewiesen, um auf ihn zuzugreifen. Die minimale Zugriffseinheit ist ein Datensatz. Nachfolgend wird die Datensatzadresse, die durch die Zylindernummer, die Kopfnummer und die Datensatznummer repräsentiert ist, als CCHHR bezeichnet, und die Spuradresse, die durch die Zylindernummer und die Kopfnummer repräsentiert ist, wird als CCHH bezeichnet. Im CKD-Format besteht ein Datensatz aus einem Zählabschnitt (nachfolgend, falls anwendbar, kurz als "Abschnitt C" bezeichnet), einem Schlüsselabschnitt (nachfolgend kurz als "Abschnitt K" bezeichnet) und einem Datenabschnitt (nachfolgend kurz als "Abschnitt D" bezeichnet). Der Abschnitt C verfügt über die Längen der CCHHR, des Abschnitts K und des Abschnitts D, die in ihm enthalten sind, und er ist vom Typ mit fester Länge. Jeder der Abschnitte K und D ist vom Typ mit variabler Länge, und er verfügt über die Länge der Daten, die im Abschnitt C aufgezeichnet sind. Während eine Anzahl von Datensätzen zusammengefasst ist, um eine Spur zu bilden, variiert, da die Spurlänge eine feste Länge ist, wenn die Längen der Datensätze voneinander verschieden sind, die Anzahl der in einer Spur untergebrachten Datensätze abhängig von den einzelnen Spuren, und demgemäß wird jeder der Datensätze nach dem letzten Datensatz einer Spur null. Außerdem sind mehrere Spuren zusammengefasst, um einen Zylinder zu bilden. In diesem Zusammenhang ist die Anzahl der Spuren pro Zylinder konstant.
  • Die 2 zeigt die Datenanordnung in einer Spur vom CKD-Format, und die 2B zeigt das Datenformat für den Fall, dass Daten im CKD-Format im Speicher-Subsystem 3 der vorliegenden Ausführungsform gespeichert sind. Die bei der vorliegenden Ausführungsform verwendete Platte 31 ist an das Datenformat fester Länge angepasst, und nachdem die Daten im CKD-Format in solche im Datenformat fester Länge umgesetzt wurden, werden die so erhaltenen Daten in der Platte 31 abgespeichert.
  • Das Bezugssymbol HA(51) bezeichnet eine Heimatadresse, die den Zustand und dergleichen der Spur anzeigt. Das Bezugssymbol R0C(52) bezeichnet einen Zählabschnitt des Datensatzes 0 und das Bezugssymbol R0D(53) bezeichnet einen Datenabschnitt des Datensatzes 0, in dem keine Benutzerdaten gespeichert werden können. Die Bezugssymbole R1C(54), R1K(55) und R1D(56) bezeichnen einen Zählabschnitt, einen Schlüsselabschnitt bzw. einen Datenabschnitt des Datensatzes 1. Zwischen den Feldern ist ein als Zwischenraum bezeichneter Bereich mit fester Länge vorhanden, in dem keine Daten abgespeichert sind, um eine Unterbrechung zwischen den Feldern zu bilden.
  • Im Speicher-Subsystem 3 sind HA(51), ROC(52) und R0D(53) aller Spuren gemeinsam in einem anderen Bereich abgespeichert, so dass sie über die FBA Schnittstelle 33 nicht einsehbar sind. Wenn über die FBA-Schnittstelle 33 auf LBA 0 (61) zugegriffen wird, wird auf den Kopf mit der Zylindernummer 0, die Kopfnummer 0 und die Datensatznummer 1 zugegriffen. Wenn der Datensatz 1 eine Größe aufweist, die einen Block überschreitet, wie es in der 2 dargestellt ist, wird er als nächster Block kontinuierlich in LBA 1(62) geschrieben. In diesem Zusammenhang fehlt der Zwischenraum im Datensatz zwischen den Abschnitten C, K und D. Da die Größe des Datensatzes nicht notwendigerweise mit der Grenze zwischen den Blöcken fester Länge übereinstimmt, wird der Bereich, der sich vom Ende des Datensatzes bis zum Ende des Blocks erstreckt, zu null gemacht, und der Datensatz 2 startet mit LBA 2(63) als nächstem Block. In allen Nullabschnitten werden Werte 0 angeordnet. Während die Spurlänge nicht notwendigerweise einem ganzzahligen Vielfachen der Blocklänge entsprechen muss, wird bei der vorliegenden Ausführungsform davon ausgegangen, dass die Spurlänge ein ganzzahliges Vielfaches der Blocklänge ist. Wenn das Ende des Datensatzes in der Spur nicht mit dem Ende der Spur übereinstimmt, werden bis zum Ende der Spurwerte 0 angeordnet, um die Nullabschnitte zu bilden, so dass alle Spuren dieselbe Anzahl von Blöcken belegen. Aus diesem Grund kann, um auf den Kopf von CCHHR = (c, h, 1) zuzugreifen, LBA auf Grundlage des folgenden Ausdrucks berechnet werden:
    LBA = (C × (Anzahl der Spuren in einem Zylinder) + h) × Anzahl der Blöcke innerhalb einer Spur (1)
  • Die 3 zeigt die Information und die Dateien (Dateneinheiten) des Dateisystems, die der Hostcomputer 1 auf der Platte 31 erzeugt. An einer speziellen Stelle wird auf der Platte 31 ein Datenträgername 71 abgespeichert, und im Datenträgernamen 71 wird eine Adresse aufgezeichnet, unter der eine VTOC (Datenträger-Inhaltstabelle) 72. eingeschrieben ist. Die gesamte Verwaltungsinformation für die Dateneinheiten, die auf die Platte 31 geschrieben sind, ist in der VTOC 72 aufgezeichnet. Z. B. bildet die Verwaltungsinformation die Zusammenstellung der Datensätze des Schlüsselabschnitts von 44 Bytes und des Datenabschnitts von 96 Bytes. Der Dateneinheitsname wird im Schlüsselabschnitt aufgezeichnet, und die Information zum Ort, an dem die Dateneinheite gespeichert ist, und dergleichen, wird im Datenabschnitt aufgezeichnet.
  • Wenn der Hostcomputer auf die Dateneinheit zugreift, liest er zuallererst den Dateiträgernamen 71 und sucht den Ort der VTOC 72 heraus. Als Nächstes liest der Hostcomputer den Schlüsselabschnitt des Datensatzes in der VTOC 72 sukzessive aus dem Datensatz 1 heraus, um nach dem Namen der Ziel-Dateneinheit zu suchen. Wenn der Datensatz aufgefunden wird, in dem der Name der Ziel-Dateneinheit aufgezeichnet ist, liest der Hostcomputer den Datenabschnitt dieses Datensatzes, um den Ort zu prüfen, in dem die interessierende Dateneinheit gespeichert ist. Die Dateneinheit ist im als Extent-Speicherbereich bezeichneten Bereich aufgezeichnet. Der Extent-Speicherbereich ist der zusammenhängende Bereich, in dem mehrere Spuren gesammelt sind. Für eine Dateneinheit kann in einigen Fällen ein Extent-Speicherbereich vorhanden sein, oder in anderen Fällen können mehrere Extent-Speicherbereiche vorhanden sein. Wenn für eine Dateneinheit mehrere Extent-Speicherbereiche vorhanden sind, muss nicht jeder der Extent-Speicherbereiche in einem zusammenhängenden Bereich liegen. Daher wird hier angenommen, dass eine bei der Datenübertragung verwendete Dateneinheit eine SAM(Sequential Access Method)-Dateneinheit ist und in der Datengesamtheit kein Schlüsselabschnitt vorhanden ist.
  • Die Prozedur, gemäß der das Zugriffsprogramm 14 auf die Dateneinheit zugreift, ist die Folgende. Zuallererst wird die Dateneinheit, die ein Ziel wird, spezifiziert, um sie zu öffnen. Bei der vorliegenden Ausführungsform wird der Datensatz in der VTOC 72 herausgesucht, um den Ort der Dateneinheit, die zum Ziel wird, zu prüfen, um dadurch Vorbereitungen für den Zugriff zu treffen. Als Nächstes werden sowohl die Relativspur als auch die Datensatznummer angegeben, um die Positionierungsverarbeitung für den Datensatz auszuführen, auf den zuzugreifen ist (nachfolgend, falls anwendbar, kurz als "Suche" bezeichnet). Unter Relativspur ist die Relativspurnummer zu verstehen, wenn der Kopf im Extent-Speicherbereich zu null gemacht ist. Als Nächstes wird entweder eine Leseverarbeitung oder eine Schreibverarbeitung für jeden Datensatz ausgeführt. Bei der Leseverarbeitung wird nur der Datenabschnitt an den Hostcomputer ausgelesen, während bei der Schreibverarbeitung dadurch, dass der Hostcomputer nur den Inhalt des Datenabschnitts erhält, derselbe die interessierenden Daten im CKD-Format auf die Platte 31 schreiben kann. Nach Abschluss des Lesens und Schreibens wird abschließend die Dateneinheit geschlossen. Im Hostcomputer 1 werden die Verarbeitungsvorgänge des Öffnens, Suchens, Lesens, Schreibens und Schließens durch das Betriebssystem 13 erledigt, und das Zugriffsprogramms 14 muss nur diese Verarbeitungsvorgänge aufrufen.
  • Das Dateizugriffsprogramm 24 ist ebenfalls auf solche Weise konzipiert, dass, ähnlich wie beim Zugriffsprogramm 14, die Funktionen des Öffnens, Suchens, Lesens und Schreibens genutzt werden und die Leseverarbeitung und die Schreibverarbeitung für jeden Datensatz ausgeführt werden. Da jedoch das Betriebssystem 23 nicht die Funktion des Lesens und Schreibens von Daten im CKD-Format hat, ist zwischen dem Dateizugriffsprogramm 24 und dem Betriebssystem 23 ein Formatwandelprogramm 25 vorhanden, um die Wandlung zwischen dem CKD- Format und dem Format fester Länge auszuführen. Das Dateizugriffsprogramm 24 fordert das Formatwandelprogramm 25 dazu auf, die Manipulation der Dateneinheit auszuführen.
  • Die 4 zeigt die Verarbeitung, wie sie vom Formatwandelprogramm 25 ausgeführt wird, wenn es vom Dateizugriffsprogramm 24 dazu aufgefordert wird, eine Dateneinheit zu öffnen.
  • Das Formatwandelprogramm 25 verfügt über einen internen Puffer für eine Spur, und es führt das Lesen und Schreiben unter Nutzung desselben aus. Zuallererst liest das Formatwandelprogramm 25 jede Spur aus dem Datenträgernamen 71. In diesem Zusammenhang kennt das Formatwandelprogramm 25 vorab den Ort des Datenträgernamens 71 auf der Platte 31, und zwar auf Grundlage der CCHHR. Wenn beispielsweise angenommen wird, dass der Datenträgername 71 in der Zylindernummer 0, der Kopfnummer 0 und der Datensatznummer 3 enthalten ist, wird die der Zylindernummer 0 und der Kopfnummer 0 entsprechende LBA berechnet, d. h., dass die LBA auf Grundlage des Ausdrucks (1) berechnet wird (Schritt 101), und von dieser Stelle wird der Block für eine Spur ausgelesen (Schritt 102). Als Nächstes werden die Längen der Abschnitte K und D des Datensatzes 1 auf Grundlage des Abschnitts C desselben, der sich am Kopf des so ausgelesenen Blocks befindet, geprüft, so dass die LBA aufgefunden wird, in der der Datensatz 2 gespeichert ist (Schritt 103). Danach wird der Kopf des Datensatzes 2 ausgelesen, um die Längen der Abschnitte K und D auf Grundlage des Abschnitts C zu erhalten, um die LBA des Datensatzes 3 aufzufinden (Schritt 104). Im Ergebnis wird der Abschnitt D des Datensatzes 3 aufgefunden.
  • Anschließend werden die Daten betreffend den Ort der VTOC 72 aus dem Abschnitt 3 des Datensatzes 3 ausgelesen (Schritt 105). Dann wird die diesem Ort entsprechende LBA auf Grund lage des Ausdrucks (1) berechnet (Schritt 106), und es wird der Block für eine Spur ab der LBA ausgelesen (Schritt 107). Als Nächstes wird ein Zeiger r erstellt und es wird der Dateneinheitsname innerhalb der VTOC 72 abgerufen. Zuallererst wird ein Anfangswert für den Zähler r auf 1 gesetzt (Schritt 108), und der Schlüsselabschnitt des Datensatzes r der Spur, dessen Daten ausgelesen wurden, wird überprüft, um zu beurteilen, ob der Schlüsselabschnitt des Datensatzes r mit dem Namen der Ziel-Dateneinheit übereinstimmt (Schritt 109). Wenn im Schritt 109 beurteilt wird, dass der entsprechende Datensatz aufgefunden ist, wird der Ort der Dateneinheit aus dem Abschnitt D erhalten und die Daten betreffend den Ort werden in die interne Variable des Formatwandelprogramms 25 eingespeichert (Schritt 110). Außerdem verfügt das Formatwandelprogramm 25 über einen internen Zeiger, so dass es sowohl die Relativspuradresse als auch die Datensatznummer speichert, die beim nächsten Mal ausgelesen werden, und der interne Zeiger zeigt auch, unmittelbar nach Abschluss der Öffnungsverarbeitung, auf den Datensatz 1 der Relativspur 0 (Schritt 111). Andererseits wird, wenn im Schritt 109 beurteilt wird, dass der entsprechende Datensatz nicht aufgefunden wurde, der Zähler r um 1 inkrementiert (Schritt 115), und die Verarbeitung kehrt zum Schritt 109 zurück, um den nächsten Datensatz abzurufen. Außerdem wird, wenn der entsprechende Datensatz selbst dann nicht aufgefunden wird, wenn eine Überprüfung bis zum Ende der Spur erfolgt, für die die Daten ausgelesen wurden, die Daten der nächsten Spur von der Platte 31 gelesen, und die Suche startet mit dem Datensatz 1 (Schritte 113 und 114).
  • Als Nächstes wird nachfolgend die Suchverarbeitung detailliert beschrieben. Unmittelbar nach Abschluss der Öffnungsverarbeitung zeigt der interne Zeiger des Formatwandelprogramms 25 auf den Datensatz 1 der Relativspur 0. Der Datensatz 1 der Relativspur 0 entspricht dem Kopf des internen Puffers. Die Suchverarbeitung wird so ausgeführt, dass der interne Zeiger auf die Stelle eines beliebigen Datensatzes innerhalb der Dateneinheit verstellt wird, und Lese- und Schreibvorgänge können ab dem Ort dieses Datensatzes ausgeführt werden. Da das Dateizugriffsprogramm 24 die Relativspur spezifiziert, wird die CCHH auf Grundlage derselben berechnet, und auch die LBA wird daraus berechnet, um die Lokalisierverarbeitung auszuführen.
  • Die Relativspur repräsentiert den Relativort von der Kopfspur zur Dateneinheit. Dann wird, wenn alle Extent-Speicherbereiche im zusammenhängenden Bereich liegen, und wenn die CCHH der Kopfspur (c1, h1) ist, die Relativspuradresse TT einer bestimmten Spur CCHH = (c, h) auf Grundlage des folgenden Ausdrucks wiedergegeben:
    TT = (c – c1) × (Anzahl der Spuren in einem Zylinder ) + h – h1 (2)
  • Daraus kann, umgekehrt, auch die CCHH auf Grundlage der Relativspur erhalten werden. Während die CCHH daraus selbst dann erhalten werden kann, wenn der Extent-Speicherbereich kein kontinuierlicher Bereich ist, wird bei der vorliegenden Ausführungsform der Einfachheit halber angenommen, dass der Extent-Speicherbereich ein kontinuierlicher Bereich ist.
  • Als Nächstes wird nachfolgend eine Lese-Schreib-Verarbeitung detailliert beschrieben. Das Formatwandelprogramm 25 verfügt, für die zugehörige Lese-Schreib-Verarbeitung, über einen internen Puffer für eine Spur, in den der Inhalt der Dateneinheit für eine Spur eingespeichert werden kann. Außerdem enthält der interne Zeiger zusätzlich zur Relativspuradresse und zur Datensatznummer der Dateneinheit, die zum Zugriffsziel wird, eine Zugriffsposition des internen Puffers entsprechend der interessierenden Datensatznummer (nachfolgend wird die Zugriffsposition, falls anwendbar, kurz als "Pufferzeiger" bezeichnet).
  • Diese Leseverarbeitung wird nachfolgend unter Bezugnahme auf die 5 detailliert beschrieben. Wenn eine Leseanforderung empfangen wurde, wird überprüft, ob die Daten der Spur, auf die der interne Zeiger zeigt, bereits ausgelesen wurden (Schritt 201). Wenn im Schritt 201 beurteilt wird, dass die Daten dieser Spur noch nicht ausgelesen wurden, wird die CCHH auf Grundlage der Relativspur, auf die der interne Zeiger zeigt, berechnet, und dann wird die LBA berechnet (Schritt 202). Im Schritt 203 wird der Block für eine Spur ab der im Schritt 202 berechneten LBA ausgelesen und dann in den internen Puffer eingespeichert. Andererseits werden, wenn im Schritt 201 beurteilt wird, dass die Daten dieser Spur bereits ausgelesen wurden, die Verarbeitungen der Schritte 202 und 203 nicht ausgeführt. Als Nächstes wird der Abschnitt C des Datensatzes übersprungen und es wird nur der Abschnitt D abgerufen, um ihn an das Dateizugriffsprogramm 24 zu liefern (Schritt 204), und dann wird der interne Zeiger auf den nächsten Datensatz verstellt (Schritt 207). Gleichzeitig wird auch der Pufferzeiger auf den nächsten Datensatz verstellt. Der Kopf des nächsten Datensatzes kann auf Grundlage des Abschnitts C des aktuellen Datensatzes berechnet werden. Wenn die Daten bis zum abschließenden Datensatz in der Spur ausgelesen wurden, wird der interne Zeiger auf R1 der nächsten Spur verstellt (Schritte 205 und 206).
  • Außerdem wird bei der Schreibverarbeitung der Inhalt im CKD-Format für eine Spur im internen Puffer erzeugt, und die Verarbeitung zum Schreiben der Daten auf die Platte 31 wird in Einheiten einer Spur ausgeführt. Nun wird nachfolgend die Schreibverarbeitung unter Bezugnahme auf die 6 im Einzelnen beschrieben. Da sowohl die Datenlänge als auch der Inhalt der Daten vom Dateizugriffsprogramm 24 geliefert wer den, kann die in den Abschnitt C zu schreibende Information auf Grundlage der Relativspur, der Datensatznummer und der Datensatzlänge der Daten, die alle im internen Zeiger gespeichert sind, erzeugt werden. Bei der Schreibverarbeitung wird die zuallererst die CCHHR als Information des Abschnitts C berechnet (Schritt 301), und der Abschnitt C wird auf Grundlage der CCHHR und der in den internen Puffer zu schreibenden Datenlänge erzeugt (Schritt 302), und dann werden die danach gelieferten Daten in den internen Puffer eingeschrieben (Schritt 303). Da der nächste Datensatz mit dem Kopf des nächsten Blocks startet, erfolgt, wenn die Daten das Ende des Blocks nicht erreichen, eine Löschung auf null bis zum Kopf des nächsten Blocks (Schritt 304).
  • Im Schritt 305 wird beurteilt, ob der nächste Datensatz in die aktuelle Spur geschrieben werden kann oder nicht. Während im Fall eines Datensatzformats variabler Länge diese Beurteilung schwierig auszuführen ist, wird angenommen, dass die bei der vorliegenden Ausführungsform verwendete Dateneinheit einem Datensatz fester Länge entspricht. Wenn im Schritt 305 beurteilt wird, dass der nächste Datensatz in die aktuelle Spur geschrieben werden kann, wird der interne Zeiger auf die Kopfposition des nächsten Datensatzes verstellt (Schritt 306). Andererseits wird, wenn im Schritt 305 beurteilt wird, dass der nächste Datensatz nicht in die aktuelle Spur geschrieben werden kann, der Inhalt ab der aktuellen Schreibposition im internen Puffer bis zum abschließenden Block der Spur auf null gelöscht (Schrit 307), und dann wird der Inhalt des internen Puffers auf die Platte 31 geschrieben (Schritt 308). Danach wird der interne Zeiger auf den Datensatz 1 der nächsten Spur verstellt (Schritt 309).
  • Als Nächstes erfolgt nachfolgend eine Beschreibung hinsichtlich der Verarbeitung beim Übertragen der Daten vom Hostcom puter 1 an den Hostcomputer 2.
  • Bei der aktuellen Datenübertragungsverarbeitung erfolgt eine Zuweisung für drei im Hostcomputer 1 zu verwendende Dateneinheiten. Bei der vorliegenden Ausführungsform wird angenommen, dass diese Dateneinheiten SAM-Dateneinheiten sind, die seitens des Hostcomputers 1 zugewiesen sind.
  • Eine derselben wird dazu verwendet, die Übertragungsdaten zu speichern, wenn die Daten vom Hostcomputer zum Hostcomputer 2 oder vom Hostcomputer 2 zum Hostcomputer 1 übertragen werden, und es wird angenommen, dass der zugehörige Dateneinheitsname BUFFER ist. Die restlichen zwei Dateneinheiten sind solche, die dazu verwendet werden, den Hostcomputer 1 und den Hostcomputer 2 miteinander zu synchronisieren, und die Dateneinheitsnamen derselben werden als SYNC 1 bzw. SYNC 2 angenommen.
  • Die 7 zeigt den Inhalt von SYNC 1 und SYNC 2. Sowohl SYNC 1 als auch SYNC 2 entspricht einer Dateneinheit für nur eine Spur. Der Hostcomputer 1 schreibt eine Einheit von "Zähler 401, Relativspur 402 und Steuercode 403" in den Datensatz 1 von SYNC 1, während der Hostcomputer 2 die Datenübertragung unter Bezugnahme hierauf steuert. In ähnlicher Weise wird die Einheit "Zähler 411, Relativspur 412 und Steuercode 413" für SYNC 2 erstellt, um durch den Hostcomputer 2 in den Datensatz 1 von SYNC 2 eingeschrieben zu werden und der Hostcomputer 1 steuert die Datenübertragung unter Bezugnahme hierauf. Während diese Werte bei der vorliegenden Ausführungsform jeweils in verschiedenen Datensätzen aufgezeichnet werden können, wird angenommen, dass sie alle im Datenabschnitt des Datensatzes 1 aufgezeichnet werden und dass das Zugriffsprogramm 14 und das Dateizugriffsprogramm 24 die Daten im Abschnitt D des Datensatzes 1 auslesen, um die jeweiligen Werte herauszufinden. Diese Dateneinheiten liegen nicht notwendigerweise auf derselben Platte 31 vor, und demgemäß können sie gesondert auf den zwei Platten vorhanden sein.
  • Nun erfolgt nachfolgend eine Beschreibung hinsichtlich der Prozedur des Übertragens der Daten vom Hostcomputer 1 zum Hostcomputer 2, wobei auf die 8 und 9 Bezug genommen wird. In diesem Zusammenhang werden, bevor die Datenübertragungsverarbeitung ausgeführt wird, die Dateneinheiten BUF-FER, SYNC 1 und SYNC 2 zuvor im Hostcomputer 1 erstellt.
  • Zur Datenübertragungsverarbeitung werden die Zugriffsprogramme der Hostcomputer 1 und 2 verwendet. Zuallererst erfolgt nachfolgend eine Beschreibung hinsichtlich des Ablaufs des Zugriffsprogramms 14 seitens des Hostcomputers 1 unter Bezugnahme auf die B.
  • Das Zugriffsprogramm 14•verfügt über Kopien des Zählers 401 und der Relativspur 402 in SYNC 1 im Speicher, um sie bei der Zustandsbeurteilung zu verwenden. Nachfolgend wird eine Kopie des Zählers kurz als "C" bezeichnet, und die Kopie der Relativspur wird kurz als "T" bezeichnet.
  • Zuallerst initialisiert das Zugriffsprogramm 14 den Inhalt von SYNC 1 (Schritt 501). Da der Hostcomputer 1 direkt einen Lese-Schreib-Vorgang in Form des CKD-Formats ausführen kann, kann er SYNC 1 öffnen, um den initialisierten Inhalt von SYNC 1 in den Datensatz 1 der Relativspur 0 einzuschreiben. Im Zustand, in dem der Inhalt von SYNC 1 initialisiert ist, sind für den Zähler 401, die Relativspur 402 und den Steuercode 403 die Werte 1, 0 bzw. 0 aufgezeichnet. Wenn die Initialisierung abgeschlossen ist, wird SYNC 1 geschlossen.
  • Im Schritt 502 werden C und T auf 1 bzw. 0 initialisiert.
  • Als Nächstes wird der Hostcomputer 2 über die Netzwerk-Schnittstelle 12 darüber informiert, dass die Datenübertragung gestartet wurde (Schritt 503). Wenn das Zugriffsprogramm seitens des Hostcomputers 2 die an es gesendete Information empfangen hat, startet es den Empfang. Dann wartet der Hostcomputer 1 auf die an ihn zurückzuliefernde Antwort (Schritt 504). Wenn die Antwort vom Hostcomputer 2 empfangen wurde, wird die tatsächliche Datenübertragung zwischen den Hostcomputern 1 und 2 gestartet.
  • Im Schritt 505 wird BUFFER geöffnet. Als Nächstes wird diePosition der Relativspur T gesucht, um die Daten für eine Spur darin einzuschreiben (Schritt 506). Während die Einheit des Einschreibens von Daten in den Hostcomputer 1 ein Datensatz ist, wird der Schreibvorgang für diejenige Anzahl von Datensätzen ausgeführt, die einer Spur entspricht, um die Daten zu schreiben.
  • Als Nächstes wird der Inhalt von SYNC 1 aktualisiert (Schritt 507). In diesem Zusammenhang wird die Aktualisierung von SYNC 1 so ausgeführt, dass SYNC 1 geöffnet wird, die Werte des Zählers 401 und der Relativspur 402 des Datensatzes 1 auf T bzw. L aktualisiert werden, der Steuercode 0 eingeschrieben wird und nach Abschluss der Schreibverarbeitung SYNC 1 geschlossen wird.
  • Als Nächstes wird SYNC 2 ausgelesen (Schritt 508). In diesem Zusammenhang wird das Lesen von SYNC 2 auf solche Weise ausgeführt, dass SYNC 2 geöffnet wird, der Datensatz 1 ausgelesen wird und dann SYNC 2 geschlossen wird. Im Schritt 510 wird beurteilt, ob ein Schreibvorgang für den nächsten Block erfolgen kann oder nicht. Da die Daten, bei denen es darum geht, bis zu welchem Ort von Puffer der Hostcomputer 2 einen Auslesevorgang ausgeübt hat, in SYNC 2 aufgezeichnet sind, werden der Zähler und die Relativspur von SYNC 2 mit C bzw.
  • T verglichen, um zu beurteilen, ob ein Schreibvorgang für die nächste Spur erfolgen kann oder nicht. Hinsichtlich dieser Beurteilung kann, wenn angenommen wird, dass der Zähler von SYNC 2 den Wert C2 hat und die zugehörige Relativspur T2 ist, wenn die Beziehung C = C2 oder C > C2 und T < T2 gilt, der Schreibvorgang für die nächste Spur erfolgen.
  • Wenn im Schritt 510 beurteilt wird, dass kein Schreibvorgang hierfür erfolgen kann, wird für eine feste Zeitperiode ein Schlafvorgang ausgeführt (Schritt 509), und dann kehrt die Verarbeitung zum Schritt 508 zurück, in dem erneut SYNC 2 ausgelesen wird, und dann wird die oben genannte Beurteilung im Schritt 510 ausgeführt. In diesem Zusammenhang existiert alternativ insbesondere selbst dann kein Problem, wenn SYNC 2 direkt ausgelesen wird, ohne dass der Schlafvorgang im Schritt 509 ausgeführt wird.
  • Wenn im Schritt 510 beurteilt wird, dass ein zugehöriger Schreibvorgang ausgeführt werden kann, wird T um 1 inkrementiert (Schritt 511). Wenn T die Abschlussspur von BUFFER überschreitet (Schritt 512), wird T um 1 dekrementiert, um auf 0 rückgestellt zu werden, und C wird um 1 inkrementiert.
  • Im Schritt 514 wird beurteilt, ob im Zugriffsprogramm 14 immer noch Übertragungsdaten verblieben sind. Wenn im Schritt 514 beurteilt wird, dass im Zugriffsprogramm 14 noch Übertragungsdaten verblieben sind, kehrt die Verarbeitung zum Schritt 06 zurück, und dann wird die Datenübertragung ausgeführt. Wenn dagegen im Schritt 514 beurteilt wird, dass im Zugriffsprogramm 14 keine Übertragungsdaten mehr vorhanden sind, wird BUFFER geschlossen (Schritt 516) und dann wird in SYNC 1 eingeschrieben, dass die Dateiübertragung bereits abgeschlossen wurde (Schritt 516), um dadurch die Datenübertragungsverarbeitung seitens des Hostcomputers 1 abzuschließen. In diesem Zusammenhang wird im Schritt 516 der Steuer code auf 1 geändert, und für den Zähler 401 und die Relativspur 402 werden C und T unverändert eingeschrieben. Seitens des Hostcomputers 2 wird SYNC 1 ausgelesen. Dann wird beurteilt, wenn der Steuercode 1 ist, dass die Datenübertragung seitens des Hostcomputers 1 abgeschlossen wurde.
  • Als Nächstes erfolgt nachfolgend eine Beschreibung hinsichtlich des Ablaufs des Dateizugriffsprogramms 24 seitens des Hostcomputers 2 unter Bezugnahme auf die 9. Ähnlich wie das Zugriffsprogramm 14 enthält auch das Dateizugriffsprogramm 24 Kopien des Zählerabschnitts und des Relativspurabschnitts von SYNC 2 im Speicher. Hier und nachfolgend wird bei der Zustandsbeurteilung der Zählabschnitt von SYNC 2 kurz als "C2" bezeichnet, und der Relativspurabschnitt hiervon wird kurz als "T2" bezeichnet.
  • Das Dateizugriffsprogramm 24 wartet dauernd auf Information vom Hostcomputer 1 über die Netzwerk-Schnittstelle am Hostcomputer 2, und sie wartet weiter darauf, wenn noch keine Information von dort vorliegt (Schritt 601). Wenn Information vom Hostcomputer 1 empfangen wurde, wird die Datenempfangsverarbeitung seitens des Hostcomputer 2 gestartet. Im Schritt 602 wird der Inhalt von SYNC 2 initialisiert. Im Zustand, in dem der Inhalt von SYNC 2 initialisiert ist, sind 1, 0 und 0 im Zähler 411, in der Relativspur 412 bzw. im Steuercode 413 aufgezeichnet. In diesem Zusammenhang ist das Aktualisierungsverfahren dasselbe wie bei der Datenübertragungsverarbeitung seitens des Hostcomputers 1. Anschließend werden 1 und 2 in C2 bzw. T2 aufgezeichnet (Schritt 603). Danach wird der Hostcomputer 1 in einem Schritt 604 über die Netzwerk-Schnittstelle 22 darüber informiert, dass der Datenempfang gestartet wurde, und dann wird im Schritt 605 BUFFER geöffnet, um für den Datenempfang zu sorgen. Tatsächlich wird die Öffnungsverarbeitung durch das Formatwandelprogramm 25 ausgeführt.
  • Im Schritt 606 wird der Datensatz 1 von SYNC 1 ausgelesen, um die Werte für den Zähler und die Relativspur zu prüfen. Im Ergebnis weiß der Hostcomputer 1, für welche Spur von BUFFER der Schreibvorgang erfolgte. Im Schritt 608 wird beurteilt, ob die durch T2 repräsentierte Position der Relativspuradresse mit den zugehörigen Daten ausgelesen werden kann. Wenn angenommen wird, dass der Zähler von SYNC 1 den Wert C1 und die zugehörige Relativspur T2 ist, kann, hinsichtlich der Beurteilung, der Lesevorgang erfolgen, wenn die Beziehung C1 = C2 und T1 > T2 oder C1 > C2 gilt. Wenn im Schritt 608 beurteilt wird, dass kein Lesevorgang erfolgen kann, wird ein Schlafvorgang für eine feste Zeitperiode ausgeführt (Schritt 607), und dann kehrt die Verarbeitung zum Schritt 606 zurück, in dem SYNC 1 erneut ausgelesen wird, und dann wird im Schritt 608 die Beurteilung erneut ausgeführt. In diesem Zusammenhang besteht selbst dann insbesondere kein Problem, obwohl der Schlafvorgang im Schritt 607 nicht notwendigerweise ausgeführt wird und SYNC 2 alternativ direkt ausgelesen wird.
  • Wenn im Schritt 608 beurteilt wird, dass die Daten an der durch T2 repräsentierten Position der Relativspuradresse ausgelesen werden können, wird der Inhalt der durch T2 repräsentierten Relativspuradresse aus dem Datensatz 1 ausgelesen (Schritt 609). Wie oben beschrieben, wird diese Leseverarbeitung durch das Formatwandelprogramm 25 ausgeführt, und es werden nur die Abschnitte D des Datensatzes 1, des Datensatzes 2, ... an das Dateizugriffsprogramm 24 geliefert. Als Nächstes wird der Inhalt von SYNC 2 aktualisiert (Schritt 610). In diesem Zusammenhang kann der Inhalt von SYNC 2 dadurch aktualisiert werden, dass T2 für die Relativspur eingetragen wird und dass auch der Inhalt von C2 für den Zählabschnitt eingetragen wird.
  • Im Schritt 611 wird T2 um 1 inkrementiert. Wenn T2 die Abschlussspur von BUFFER überschreitet (Schritt 612), wird T2 auf 0 zurückgesetzt und C2 wird um 1 inkrementiert (Schritt 613).
  • Im Schritt 614 wird beurteilt, ob der Hostcomputer 2 bereits alle Daten ausgelesen hat oder nicht, dier der Hostcomputer 1 in BUFFER eingeschrieben hat. Seitens des Hostcomputers 2 wird beurteilt, wenn als Ergebnis des Auslesens von SYNC 1 herausgefunden wird, dass der Steuercode 1 ist, dass die Datenübertragung seitens des Hostcomputers 1 abgeschlossen wurde.
  • Wenn im Schritt 614 beurteilt wird, dass der Hostcomputer 2 noch nicht alle Daten ausgelesen hat, die der Hostcomputer 1 in BUFFER eingeschrieben hat, kehrt die Verarbeitung zum Schritt 606 zurück. Andererseits kehrt, wenn im Schritt 614 beurteilt wird, dass bereits alle Daten ausgelesen wurden, die Verarbeitung zum Schritt 601 zurück, in dem das Dateizugriffsprogramm 24 darauf wartet, dass erneut eine Übertragungsanforderung vom Hostcomputer 1 an es gesendet wird.
  • In diesem Zusammenhang können, während bei der vorliegenden Ausführungsform der Schreibvorgang von Daten in BUFFER und der Lesevorgang von Daten aus BUFFER in Einheiten einer Spur ausgeführt werden, die Aktualisierungsintervalle von SYNC 1 und SYNC 2 auf solche Weise geändert werden, dass nach gemeinsamem Übertragen mehrerer Spuren, oder nachdem der Hostcomputer mehrere Spuren in BUFFER geschrieben oder daraus gelesen hat, die Inhalte von SYNC 1 und Sync 2 aktualisiert werden.
  • Außerdem ist bei der vorliegenden Ausführungsform zwar nur eine Datenübertragung vom Hostcomputer 1 zum Hostcomputer 2 dargestellt, jedoch kann dieselbe Datenübertragung reali siert werden, wenn eine solche vom Hostcomputer 2 zum Hostcomputer 1 ausgeführt wird, wenn die Sendeverarbeitung der 8 seitens des Hostcomputers 2 ausgeführt wird und auch die Empfangsverarbeitung der 9 seitens des Hostcomputers 1 ausgeführt wird. Die Unterschiede zwischen dem Datenformat fester Länge und dem CKD-Datenformat werden durch das Formatwandelprogramm 25 des Hostcomputers 2 aufgefangen.
  • (2) Zweite Ausführungsform
  • Die 10 zeigt ein Beispiel einer Konfiguration cf eines Computersystems, bei dem die Erfindung angewandt ist. Ähnlich wie bei der oben genannten ersten Ausführungsform verfügt das Computersystem der vorliegenden Ausführungsform über einen Hostcomputer 1, einen Hostcomputer 2 und ein Speicher-Subsystem 3, das mit beiden Hostcomputern 1 und 2 verbunden ist.
  • Der Hostcomputer 1 verfügt über eine Zählschlüsseldaten-Schnittstelle 11, die zu einem Zählschlüsseldaten-Format (nachfolgend, wenn anwendbar, als "CKD-Format" bezeichnet) passt, als Schnittstelle zwischen dem Hostcomputer 1 und dem Speicher-Subsystem 3 sowie eine Netzwerk-Schnittstelle 12, über die der Hostcomputer 1 mit dem Hostcomputer 2 verbunden ist, ebenfalls mit Steuerung durch ein Betriebssystem 13. Außerdem ist im Hostcomputer 1 ein Zugriffsprogramm 1014 enthalten, das mittels des Betriebssystems 13 ausgeführt wird. In diesem Zusammenhang sind zwar zusätzlich hierzu Bauelemente wie ein Speicher und eine CPU notwendigerweise im Computer vorhanden, jedoch sind diese Elemente bei der Beschreibung der vorliegenden Ausführungsform nicht all zu wichtig. Daher erfolgt hier der Einfachheit halber keine zugehörige Beschreibung.
  • Andererseits verfügt der Hostcomputer 2 über eine FBA- Schnittstelle 21, die zu einem Blockformat fester Länge passt, als Schnittstelle, über die der Hostcomputer 2 mit dem Speicher-Subsystem 3 verbunden wird, und eine Netzwerk-Schnittstelle 22, über die der Hostcomputer 2 mit dem Hostcomputer 1 verbunden wird, ebenfalls durch Steuerung mittels eines Betriebssystems 23. Zusätzlich verfügt der Hostcomputer 2 ferner über ein Formatwandelprogramm 25 und ein Dateizugriffsprogramm 1024, die mittels des Betriebssystems 23 ausgeführt werden.
  • Beide Netzwerk-Schnittstellen 12 und 22 sind Schnittstellen, die zum selben Datenübertragungsprotokoll passen.
  • Das Speicher-Subsystem 3 verfügt über eine Platte 31, eine CKD-Schnittstelle 32, die mit dem Hostcomputer 1 verbunden ist, und eine mit dem Hostcomputer 2 verbundene FBA-Schnittstelle 33.
  • Als Nächstes erfolgt nachfolgend eine Beschreibung hinsichtlich eines zweiten Verfahrens zum Übertragen von Daten vom Hostcomputer 1 zum Hostcomputer 2 unter Bezugnahme auf die 11. Während bei der vorliegenden Ausführungsform nur die Prozedur des Übertragens von Daten vom Hostcomputer 1 zum Hostcomputer 2 beschrieben ist, kann auch eine Datenübertragung vom Hostcomputer 2 zum Hostcomputer 1 auf Grundlage derselben Prozedur realisiert werden.
  • Bei der aktuellen Datenübertragungsverarbeitung wird im Hostcomputer 1 eine Dateneinheit zugewiesen, die als Buffer 2 bezeichnet wird. Buffer 2 wird, ähnlich wie die bei der ersten Ausführungsform verwendete Dateneinheit BUFFER als Puffer zum Einspeichern zu übertragender Daten verwendet.
  • Auch in diesem Fall werden in ähnlicher Weise beide Zugriffsprogramme der Hostcomputer 1 und 2 verwendet. D. h., dass im Hostcomputer 1 das Zugriffsprogramm 1014 die Anforderung einer Dateneinheitsmanipulation an das Betriebssystem 13 ausgibt, während im Hostcomputer 2 das Dateizugriffsprogramm 1024 die Dateneinheitsmanipulation mittels des Formatwandelprogramms 25 ausführt. Mit der 11 erfolgt nun zuallererst eine Beschreibung hinsichtlich des Ablaufs des Zugriffsprogramms 1014 seitens des Hostcomputers 1.
  • Das Zugriffsprogramm 1014 stellt drei Zähler T1, C1 und E bereit. Der Zähler T1 speichert die Relativspur ein, in die die Übertragungsdaten geschrieben werden, und der Zähler C1 speichert die Daten ein, die aussagen, wie oft die Übertragungsdaten in die interessierende Relativspur geschrieben werden. Zusätzlich dient der Zähler E einem Steuercode. In diesem Zusammenhang wird, wenn die Beziehung E = 1 gilt, durch den Zähler E repräsentiert, dass die Datenübertragung abgeschlossen wurde. Zuallererst wird eine Initialisierung T1 = 0, C1 = 0 und E = 0 ausgeführt (Schritt 1101). Zusätzlich enthält der Hostcomputer 2 zwei Zähler, die als T2 und C2 bezeichnet werden. Der Zähler T2 speichert die Relativspur ein, ab der die Datenübertragung unmittelbar zuvor ausgelesen wurden, und der Zähler C2 speichert die Daten dazu ein, wie oft die Daten in der Relativspur ausgelesen werden.
  • Als Nächstes informiert der Hostcomputer 1 den Hostcomputer 2 über die Netzwerk-Schnittstelle 12, dass die Datenübertragung gestartet wird (Schritt 1102). Das Zugriffsprogramm 1024 seitens des Hostcomputers 2 startet den Empfang zum Zeitpunkt, zu dem die Information vom Hostcomputer 1 empfangen wurde. Dann wartet der Hostcomputer 1 auf die Antwort, die vom Hostcomputer 2 zurückzuliefern ist (Schritt 1103). Wenn dabei eine Antwort vom Hostcomputer 2 zurückgeliefert wird, wird Buffer 2 geöffnet (Schritt 1104), um die tatsächliche Datenübertragung zu starten.
  • Im Schritt 1105 wird der Datensatz für eine Spur in die Relativspur T1 von Buffer 2 eingeschrieben. Als Nächstes wird ein Satz von T1, Cl und E (nachfolgend wird dieser Satz, falls anwendbar, als "Synchronisierinformation 1" bezeichnet) über die Netzwerk-Schnittstelle 12 an den Hostcomputer 2 gesendet (Schritt 1106). Anschließend wird im Schritt 1107 ein vom Hostcomputer 2 gesendeter Satz von T2 und C2 empfangen (nachfolgend wird der Satz von T2 und C2, wenn anwendbar, als "Synchronisierinformation 2" bezeichnet), und dann wird vom Hostcomputer 1 beurteilt, ob dieser Satz in den nächsten Block eingeschrieben werden kann oder nicht. (Schritt 1108). Diese Beurteilung ist dieselbe wie die bei der oben genannten ersten Ausführungsform. Wenn im Schritt 1108 beurteilt wird, dass der Satz nicht in den nächsten Block eingeschrieben werden kann, wird für eine feste Zeitperiode ein Schlafvorgang ausgeführt (Schritt 1109), und dann kehrt die Verarbeitung zum Schritt 1107 zurück, in dem die Synchronisierinformation 2 erneut ausgelesen wird. Dann wird im Schritt 1108 beurteilt, ob der Satz in den nächsten Block eingeschrieben werden kann oder nicht. In diesem Fall besteht selbst dann insbesondere kein Problem, wenn der Schlafvorgang im Schritt 1109 nicht notwendigerweise ausgeführt wird sondern alternativ die Synchronisierinformation 2 unmittelbar ausgelesen wird.
  • Wenn im Schritt 1108 beurteilt wird, dass der Satz in den nächsten Block eingeschrieben werden kann, wird T1 um 1 inkrementiert (Schritt 1110). Wenn T1 die Abschlussspur von Buffer 2 überschreitet (Schritt 1111), wird T1 auf 0 zurückgesetzt und C1 wird um 1 inkrementiert (Schritt 1112).
  • Im Schritt 1113 wird beurteilt, ob immer noch Übertragungsdaten vorhanden sind oder nicht. Wenn im Schritt 1113 beurteilt wird, dass noch Übertragungsdaten vorhanden sind, kehrt die Verarbeitung zum Schritt 1105 zurück, in dem die Datenübertragung ausgeführt wird. Andererseits wird, wenn im Schritt 1113 beurteilt, dass keine Übertragungsdaten mehr vorhanden sind, Buffer 2 geschlossen (Schritt 1114) und der Hostcomputer 2 wird über die Netzwerk-Schnittstelle 12 informiert, dass die Datenübertragung abgeschlossen wurde (Schritt 1115).
  • Als Nächstes erfolgt nachfolgend eine Beschreibung hinsichtlich des Ablaufs des Dateizugriffsprogramms 1024 seitens des Hostcomputers 2.
  • Das Dateizugriffsprogramm 1024 wartet darauf, dass die Information vom Hostcomputer 1 an es gesendet wird, und es wartet weiter darauf, wenn noch keine Information vom Hostcomputer vorliegt (Schritt 1201). Wenn die Information vom Hostcomputer 1 empfangen wird, wird die Empfangsverarbeitung seitens des Hostcomputers 2 gestartet. Als Nächstes wird in einem Schritt 1202 die Initialisierung T2 = 0 und C2 = 0 ausgeführt. Danach wird der Hostcomputer 1 in einem Schritt 1203 über die Netzwerk-Schnittstelle 22 darüber informiert, dass der Datenempfang gestartet wurde.
  • In einem Schritt 1204 wird BUFFER 2 geöffnet, um Vorbereitungen für den Datenempfang zu treffen. In einem Schritt 1205 wird die Synchronisierinformation 1 vom Hostcomputer 1 über die Netzwerk-Schnittstelle 22 vom Hostcomputer 1 empfangen. Wenn die Datenübertragung im Hostcomputer 1 als Ergebnis der Prüfung der Synchronisierinformation 1 vom Hostcomputer 1, wie sie vom Hostcomputer 2 empfangen wurde, bereits abgeschlossen ist (Schritt 1206), wird Buffer 2 geschlossen (Schritt 1214) und die Empfangsverarbeitung wird einmal abgeschlossen, und dann kehrt die Verarbeitung zum Schritt (1201) zurück, in dem der Hostcomputer 2 darauf wartet, dass an ihn das Signal gesendet wird, das den Start der Datenübertragung repräsentiert.
  • In einem Schritt 1208 wird die vom Hostcomputer 1 empfangene Synchronisierinformation geprüft, um zu beurteilen, ob die Daten in der Relativspur T2 ausgelesen werden können oder nicht. Das Beurteilungsverfahren ist dasselbe wie bei der ersten Ausführungsform. Wenn im Schritt 1208 beurteilt wird, dass die Daten in der Relativspur T2 nicht ausgelesen werden können, wird ein Schlafvorgang für eine feste Zeitperiode ausgeführt (Schritt 1207), und dann kehrt die Verarbeitung zum Schritt 1205 zurück, in dem die Synchronisierinformation 1 erneut ausgelesen wird. Danach wird die Beurteilung im Schritt 1208 ausgeführt. In diesem Zusammenhang muss der Schlafvorgang im Schritt 1207 nicht notwendigerweise ausgeführt werden, und es tritt insbesondere selbst dann kein Problem auf, wenn alternativ die Synchronisierinformation 2 unmittelbar ausgelesen wird.
  • Andererseits wird, wenn im Schritt 1208 beurteilt wird, dass die Daten in der Relativspur T2 ausgelesen werden können, der Datensatz der Relativspur T2 für eine Spur ausgelesen (Schritt 1209). Als Nächstes wird die Synchronisierinformation 2 über die Netzwerk-Schnittstelle 22 an den Hostcomputer 1 übertragen (Schritt 1210).
  • Dann wird in einem Schritt 1211 T2 um 1 inkrementiert. Wenn T2 die Endspur der Dateneinheit BUFFER 2 überschreitet (Schritt 1212), wird T2 auf 0 zurückgestellt, und C2 wird um 1 inkrementiert (Schritt 1213).
  • Danach erfolgt Rückkehr zum Schritt 1205 und die Verarbeitung bis zum Schritt 1213 wird wiederholt ausgeführt.
  • (3) Dritte Ausführungsform
  • Die 13 zeigt ein Beispiel einer Konfiguration eines Computersystems, bei dem die oben genannten Ausführungsformen 1 und 2 angewandt sind.
  • Das Computersystem verfügt über einen Hostcomputer 1, einen Hostcomputer 2, ein Speicher-Subsystem 3, das mit beiden Hostcomputern 1 und 2 verbunden ist, einen Speicher 2010, der mit dem Hostcomputer 1 verbunden ist, und einen Speicher 2020, der mit dem Hostcomputer 2 verbunden ist.
  • Der Hostcomputer 1 verfügt über den Speicher 2010, eine Zählschlüsseldaten-Schnittstelle 11, die zu einem Zählschlüsseldaten-Format (nachfolgend, wenn anwendbar, kurz als "CKD-Format" bezeichnet) passt, als Schnittstelle zwischen dem Hostcomputer 1 und dem Speicher-Subsystem 3, und eine Netzwerk-Schnittstelle 12, über die die Hostcomputer 1 und 2 verbunden sind, und es erfolgt auch Steuerung durch ein Betriebssystem 13. Außerdem werden mittels des Betriebssystems 13 ein Anwendungsprogramm 2014, ein Datenprogramm 2015 und ein Zugriffsprogramm 2016 ausgeführt. In diesem Zusammenhang sind zusätzlich Bauelemente wie ein Speicher und eine CPU, die notwendigerweise in einem Computer vorhanden sind, enthalten, jedoch sind diese Elemente für die Beschreibung der vorliegenden Ausführungsform nicht all zu wichtig. Daher wird hier der Einfachheit halber die zugehörige Beschreibung weggelassen.
  • Andererseits verfügt der Hostcomputer 2 über den Speicher 2020, eine FBA-Schnittstelle 21, die zu einem Blockformat fester Länge passt, als Schnittstelle zum Verbinden des Hostcomputers 2 mit dem Speicher-Subsystem 3, und eine Netzwerk-Schnittstelle 22, über die die Hostcomputer 1 und 2 verbunden sind, und es erfolgt ebenfalls Steuerung durch ein Betriebssystem. Außerdem verfügt der Hostcomputer 2 ferner über ein Anwendungsprogramm 2024, ein Datenbankprogramm 2025, ein Dateizugriffsprogramm 2026 und ein Formatwandel programm 2027, die alle mittels des Betriebssystems 23 ausgeführt werden.
  • Das Zugriffsprogramm 2016 und das Dateizugriffsprogramm 2026 sind dieselben wie das Zugriffsprogramm 14 bzw. das Dateizugriffsprogramm 24 bei der ersten Ausführungsform, oder sie sind dieselben wie das Zugriffsprogramm 1014 bzw. das Dateizugriffsprogramm 1024 bei der zweiten Ausführungsform. Das Formatwandelprogramm 2027 ist dasselbe wie das Formatwandelprogramm 25 bei der ersten und der zweiten Ausführungsform.
  • Beide Netzwerk-Schnittstellen 12 und 22 sind Schnittstellen, die zum selben Datenübertragungsprotokoll passen.
  • Das Speicher-Subsystem 3 verfügt über eine Platte 31, eine CKD-Schnittstelle 32, über die das Speicher-Subsystem 3 mit dem Hostcomputer 1 verbunden ist, und eine FBA-Schnittstelle 33, durch die das Speicher-Subsystem mit dem Hostcomputer 2 verbunden ist.
  • Der Speicher 2010 verfügt über eine Platte 2011 und eine CKD-Schnittstelle 2012, über die der Speicher 2010 mit dem Hostcomputer 1 verbunden ist, und die Daten des Speichers 2010 werden durch das Datenbankprogramm 2015 verwaltet. Andererseits verfügt der Speicher 2020 über eine Platte 2021 und eine FBA-Schnittstelle 2022, über die der Speicher 2020 mit dem Hostcomputer 2 verbunden ist, und die zugehörigen Daten werden durch das Datenbankprogramm 2025 verwaltet.
  • Das Anwendungsprogramm 2014 stellt Anfragen an das Datenbankprogramm 2015, damit das Anwendungsprogramm 2014 auf die Daten der Speicher 2010 und 2020 zugreifen kann. In ähnlicher Weise stellt das Anwendungsprogramm 2024 Anfragen an das Datenprogramm 2025, damit es auf die Daten der Speicher 2010 und 2020 zugreifen kann. Wenn das Datenbankprogramm 2015 die Daten im Speicher 2010 einer Verarbeitung wie einem Auswählvorgang unterzieht, oder wenn das Datenbankprogramm 2025 die Daten im Speicher 2020 einer Verarbeitung unterzieht, kann das Datenbankprogramm 2015 oder 2025 über die CKD-Schnittstelle 11 bzw. die FBA-Schnittstelle 21 auf den Speicher 2010 oder 2020 zugreifen. Dies gilt auch für das normale Datenbankprogramm. Andererseits wird, wenn das Datenbankprogramm 2015 auf die Daten im Speicher 2020 zugreift, oder wenn das Datenbankprogramm 2025 auf die Daten im Speicher 2010 zugreift, diese Verarbeitung dadurch realisiert, dass eine Datenübertragung zwischen den Hostcomputern 1 und 2 erfolgt, wie bereits bei der ersten und zweiten Ausführungsform beschrieben. Nun erfolgt nachfolgend eine Beschreibung hinsichtlich des Falls, dass Daten im Speicher 2010 abgerufen werden, als Beispiel für eine Prozedur, bei der das Datenbankprogramm 2025 auf die Daten im Speicher 2010 zugreift.
  • Das Datenbankprogramm 2025 interpretiert die Anfrage vom Anwendungsprogramm 2024, und wenn diese Anfrage eine solche zum Abrufen von Daten aus dem Speicher 2010 ist, liefert es diese Anfrage über die Netzwerk-Schnittstelle 22 an das Datenbankprogramm 2015. Gleichzeitig wird das Dateizugriffsprogramm 2026 aktiviert, um Vorbereitungen zum Empfang der Daten vom Hostcomputer 1 zu treffen. Da die vom Datenbankprogramm 2015 empfangene Anfrage eine solche zum Abrufen von Daten aus dem Speicher 2010 ist, ruft das Datenbankprogramm 2025 die erforderlichen Daten entsprechend der Anfrage sukzessive aus dem Speicher 2010 ab. Gleichzeitig wird das Zugriffsprogramm 2016 aktiviert, und das Datenbankprogramm 2015 liefert die so abgerufenen Daten der Reihe nach an das Zugriffsprogramm 2016, um die Daten an den Hostcomputer 2 zu übertragen.
  • Das Dateizugriffsprogramm 2026 seitens des Hostcomputers 2 empfängt die Daten synchron damit, um die so empfangenen Daten sukzessive an das Datenbankprogramm 2025 zu liefern. Im Ergebnis kann das Datenbankprogramm 2025 seitens des Hostcomputers 2 die Daten vom Hostcomputer 1 abrufen.
  • Außerdem kann, wenn die umgekehrte Prozedur ausgeführt wird, das Datenbankprogramm 2015 seitens des Hostcomputers 1 die Daten vom Hostcomputer 2 abrufen.
  • (4) Vierte Ausführungsform
  • Als Nächstes wird nachfolgend unter Bezugnahme auf die 14 eine vierte Ausführungsform der Erfindung detailliert beschrieben. Die 14 zeigt ein Computersystem gemäß der vierten Ausführungsform der Erfindung.
  • Das Computersystem verfügt über einen Hostcomputer 1, einen Hostcomputer 2, einen Speicher 2010, der mit dem Hostcomputer 1 verbunden ist, eine mit dem Hostcomputer 2 verbundene Magnetbandvorrichtung 3020 und ein Speicher-Subsystem 3, das mit beiden Hostcomputern 1 und 2 verbunden ist.
  • Der Hostcomputer 1 verfügt über den Speicher 2010, eine Zählschlüsseldaten-Schnittstelle 11, die zu einem Zählschlüsseldaten-Format (nachfolgend, wenn anwendbar, kurz als "CKD-Format" bezeichnet) passt, als Schnittstelle zwischen dem Hostcomputer 1 und dem Speicher-Subsystem 3, und eine Netzwerk-Schnittstelle 12, über die der Hostcomputer 1 mit dem Hostcomputer 2 verbunden ist, ebenfalls mit Steuerung durch ein Betriebssystem 13. Außerdem werden mittels des Betriebssystems 13 ein Sicherungsprogramm 3100 und ein Zugriffsprogramm 2016 ausgeführt. In diesem Zusammenhang sind zwar zusätzlich hierzu Bauelemente wie ein Speicher und eine CPU vorhanden, wie sie notwendigerweise in einem Computer enthalten sind, jedoch sind diese Elemente für die Beschrei bung der vorliegenden Ausführungsform nicht all zu wichtig. Daher wird hier der Einfachheit halber die zugehörige Beschreibung weggelassen.
  • Andererseits verfügt der Hostcomputer über die Magnetbandvorrichtung 3020, eine FBA-Schnittstelle 21, die zu einem Blockformat fester Länge passt, als Schnittstelle zum Verbinden des Hostcomputers 2 mit dem Speicher-Subsystem 3, und eine Netzwerk-Schnittstelle 22, über die der Hostcomputer 2 mit dem Hostcomputer 1 verbunden ist, ebenfalls mit Steuerung durch ein Betriebssystem 23. Außerdem verfügt der Hostcomputer 2 ferner über ein Sicherungsprogramm 3200; ein Dateizugriffsprogramm 2026 und ein Formatwandelprogramm 2027, die alle mittels des Betriebssystems 23 ausgeführt werden.
  • Das Zugriffsprogramm 2016 und das Dateizugriffsprogramm 2026 sind dieselben wie bei der in der 13 dargestellten dritten Ausführungsform.
  • Beide Netzwerk-Schnittstellen 12 und 22 sind solche, die zum selben Datenübertragungsprotokoll passen.
  • Das Speicher-Subsystem 3 verfügt über eine Platte 31, eine CKD-Schnittstelle 32, über die das Speicher-Subsystem 3 mit dem Hostcomputer 1 verbunden ist; und eine FBA-Schnittstelle 33, über die das Speicher-Subsystem mit dem Hostcomputer 2 verbunden ist.
  • Der Speicher 2010 verfügt über eine Platte 2011 und eine CKD-Schnittstelle 2012, über die sie mit dem Hostcomputer 1 verbunden ist, und die Magnetbandvorrichtung 3020 verfügt über ein Bandlaufwerk 2021 und eine FBA-Schnittstelle 3022, über die der Speicher 2010 mit dem Hostcomputer 2 verbunden ist.
  • Als Nächstes erfolgt nachfolgend eine Beschreibung hinsichtlich der Verarbeitung zum Ausführen einer Sicherung für eine Datei im Speicher 2010 des Hostcomputers 1 auf Grundlage einer Unterstützung durch die Magnetbandvorrichtung 3020 des Hostcomputers 2 in diesem Computersystem.
  • Zuallererst informiert das Sicherungsprogramm 3100 das Sicherungsprogramm 3200 im Hostcomputer 2 über die Netzwerk-Schnittstelle 12 darüber, dass eine Sicherung der Datei im Speicher 2010 ausgeführt werden soll. Als Nächstes aktiviert das Sicherungsprogramm 3100 das Zugriffsprogramm 2016, um, während die Daten in der Datei als Sicherungsobjekt im Speicher 2010 ausgelesen werden, die Daten in der Datei sukzessive als Sicherungsobjekt im Speicher 2010 an das Zugriffsprogramm 2016 zu liefern. Bei Empfang der Sicherungsinformation vom Hostcomputer 1 aktiviert das Sicherungsprogramm 3200 des Hostcomputers 2 das Dateizugriffsprogramm 2026, um Vorbereitungen für den Empfang der Daten seitens des Hostcomputers 1 zu treffen.
  • Dann empfängt das Dateizugriffsprogramm 2026 die Daten synchron mit dem Zugriffsprogramm 2016 seitens des Hostcomputers 1, ähnlich wie bei der ersten und der zweiten Ausführungsform, und dann liefert es die so empfangenen Daten sukzessiven an das Sicherungsprogramm 3200. Danach schreibt das Sicherungsprogramm 3200 die so zugeführten Daten in die Magnetbandvorrichtung 3020. Durch Wiederholen dieser Verarbeitung ist es möglich, eine Sicherung der Daten in der Datei innerhalb des Speichers 2010 zu realisieren.
  • 1) Übersetzung von nach Bezugszeichen geordnetem Beschriftungstext
  • 1
    Host 1
    2
    Host 2
    3
    Speicher-Subsystem
    11
    CKD-Schnittstelle
    12
    Netzwerk-Schnittstelle
    13
    Betriebssystem
    14
    Zugriffsprogramm
    21
    FBA-Schnittstelle
    22
    Netzwerk-Schnittstelle
    23
    Betriebssystem
    24
    Dateizugriffsprogramm
    25
    Formatwandelprogramm
    32
    CKD-Schnittstelle
    33
    FBA-Schnittstelle
    1014
    Zugriffsprogramm
    1024
    Dateizugriffsprogramm
    2010
    Speicher
    2012
    CKD-Schnittstelle
    2014
    Anwendungsprogramm
    2015
    Datenbankprogramm
    2016
    Zugriffsprogramm
    2024
    Anwendungsprogramm
    2025
    Datenbankprogramm
    2026
    Dateizugriffsprogramm
    2027
    Formatwandelprogramm
    3020
    Magnetbandvorrichtung
    3022
    FBA-Schnittstelle
    3100
    Sicherungsprogramm
    3200
    Sicherungsprogramm
    2020
    Speicher
  • 2) Übersetzung von nach Verfahrensschritten geordnetem Übersetzungstext
  • 101
    Berechnen von LBA auf Grundlage einer bestimmten Adresse (CCHH) im Datenträgernamen
    102
    Auslesen eines Blocks für eine Spur aus der oben berechneten LBA
    103
    Erhalten der LBA von R2 auf Grundlage des Abschnitts C des ersten Blocks (R1)
    104
    Erhalten der LBA von R3 auf Grundlage des Abschnitts C von R2
    105
    Erhalten der VTOC-Adresse auf Grundlage des Abschnitts D von R3
    106
    Berechnen von LBA auf Grundlage einer bestimmten Adresse (CCHH) der VTOC
    107
    Auslesen des Blocks für eine Spur ab der oben berechneten LBA
    109
    Abschnitt K des Datensatzes R in Übereinstimmung mit dem Namen der Dateneinheit?
    110
    Erhalten des Orts der Dateneinheit auf Grundlage des Abschnitts D
    111
    Lokalisieren des internen Zeigers in R1 für die Relativspur
    112
    Wurde bis zum abschließenden Datensatz in der Spur geprüft?
    113
    Auslesen der nächsten Spur
    201
    Wurde bereits die Spur ausgelesen, auf dieder interne Zeiger zeigt?
    202
    Berechnen von LBA auf Grundlage der Relativspuradresse, auf die der interne Zeiger zeigt?
    203
    Auslesen des Blocks für eine Spur auf Grundlag der oben berechneten LBA
    204
    Abrufen des Abschnitts D des Datensatzes, auf den der interne Zeiger zeigt, um den so abgerufenen Abschnitt D zu liefern
    205
    Wurde der abschließende Datensatz in der Spur ausgelesen?
    206
    Internen Zeiger auf R1 der nächsten Spur stellen
    2075
    Internen Zeiger auf den Kopf des nächsten Datensatzes stellen
    301
    Berechnen von CCHHR auf Grundlage der Relativspuradresse, auf die der interne Zeiger zeigt
    302
    Erzeugen eines Abschnitts C auf Grundlage von CCHHR und der Datensatzlänge, um den Abschnitt C in den internen Puffer zu schreiben
    303
    Einschreiben des Abschnitts D in den internen Puffer
    304
    Löschen auf null bis zum Kopf des nächsten Blocks
    305
    Wurde bis zum abschließenden Datensatz in der Spur geschrieben?
    306
    Internen Zeiger auf den Kopf des nächsten Datensatzes stellen
    307
    Löschen auf null bis zum Ende des internen Puffers
    308
    Einschreiben des Inhalts des internen Puffers in die Platte
    309
    Internen Zeiger auf R1 der nächsten Spur stellen
    501
    Initialisieren des Inhalts von SYNC 1
    503
    Informieren des Hosts 2 darüber, dass eine Datenübertragung gestartet wurde
    504
    Existiert Antwort vom Host 2?
    505
    Puffer öffnen
    506
    Einschreiben der Daten für eine Spur in die Relativspur 1
    507
    SYNC 1 aktualisieren
    508
    SYNC 2 auslesen
    509
    Ausführen eines Schlafvorgangs für eine feste Zeitperiode
    510
    Können Daten in die nächste Spur geschrieben?
    512
    T > Endspur?
    514
    Sind noch Übertragungsdaten vorhanden?
    515
    Puffer schließen
    516
    Daten betreffend "Abschluss der Dateiübertragung" in SYNC 1 einschreiben
    601
    Existiert Information vom Host 1?
    602
    Inhalt von SYNC 2 initialisieren
    604
    Host 1 darüber informieren, dass der Datenempfang gestartet wurde
    605
    Puffer öffnen
    606
    SYNC 1 auslesen
    607
    Schlafvorgang für feste Zeitperiode ausführen
    608
    Können die Daten der Relativspur T2 ausgelesen werden?
    609
    Auslesen der Daten der Relativspur T2
    610
    SYNC 2 aktualisierendie
    612
    T2 > Enspur?
    614
    Wurde die Datenübertragung seitens des Hosts 1 abgeschlossen?
    615
    Puffer schließen
    1102
    Informieren des Host 2 darüber, dass die Datenübertragung gestartet wurde
    1103
    Existiert Antwort vom Host 2?
    1104
    Buffer 2 öffnen
    1105
    Einschreiben von Daten in die Relativspur T1
    1106
    Senden von Synchronisierinformation an den Host 2
    1107
    Empfangen der Synchronisierinformation vom Host 2
    1108
    Können Daten in den nächsten Block geschrieben werden?
    1109
    Ausführen eines Schlafvorgangs für eine feste Zeitperiode
    1111
    T1 > Endspur?
    1113
    Sind noch Übertragungsdaten vorhanden?
    1114
    Buffer 2 schließen
    1115
    Host 2 darüber informieren, dass der Schreibvorgang abgeschlossen wurde
    1201
    Existiert Information vom Host 2?
    1203
    Host 1 darüber informieren, dass der Datenempfang gestartet wurde
    1204
    Buffer 2 öffnen
    1205
    Synchronisierinformation vom Host 1 empfangen
    1206
    Wurde die Übertragung im Host 1 abgeschlossen?
    1207
    Schlafvorgang für eine feste Zeitperiode ausführen
    1208
    Können Daten in der Relativspur T2 ausgelesen werden?
    1209
    Daten in der Relativspur T2 auslesen
    1210
    Synchronisierinformation an den Host 2 senden
    1212
    T2 > Endspur?
    1214
    Buffer 2 schließen
  • Übersetzung von alphabetisch geordnetem Übersetzungstext
  • Buffer
    Puffer
    Control Code
    Steuercode
    Counter
    Zähler
    Dataset
    Dateneinheit
    Dataset Name
    Name der Dateneinheit
    End Of Open Processing
    Ende der Öffnungsverarbeitung
    End Of Open Processing Error
    Ende der Öffnungsverarbeitung mit Fehler
    End Of Read Processing
    Ende der Leseverarbeitung
    End Of Write Processing
    Ende der Schreibverarbeitung
    End Of Write Processing in Host 1
    Ende der Schreibverarbeitung in den Host 1
    Free Space
    freier Raum
    Gap
    Zwischenraum
    Location (CCHH) And The Like
    Ort (CCHH) und dergleichen
    No
    nein
    Portion
    Abschnitt
    Record
    Datensatz
    Relative Track
    Relativspur
    Start Open Processing
    Öffnungsverarbeitung starten
    Start Reception Processing in Host 2
    Start der Empfangsverarbeitung im Host 2
    Start Reprocessing
    Start der Leseverarbeitung
    Start Write Processing
    Start der Schreibverarbeitung
    Start Write Processing in Host 1
    Start der Schreibverarbeitung in den Host 1
    Start Reception Processing in Host 2
    Start der Empfangsverarbeitung im Host 2
    Volume Label
    Datenträgername
    Yes
    ja

Claims (4)

  1. Verfahren zum Steuern eines Datentransfers in einem Computersystem mit einem ersten Hauptcomputer (1), einem zweiten Hauptcomputer (2), einem an den ersten und den zweiten Hauptcomputer angeschlossenen Speicher-Subsystem (3) und einem Netzwerk, wobei in dem Verfahren: Daten durch den ersten Hauptcomputer (1) in das Speicher-Subsystem (3} geschrieben werden; eine zu den Daten gehörende Steuerinformation durch den ersten Hauptcomputer (1) zu dem zweiten Hauptcomputer (2) gesendet wird; und die in das Speicher-Subsystem (3) geschriebenen Daten durch den zweiten Hauptcomputer (2) unter Verwendung der Steuerinformation ausgelesen werden, dadurch gekennzeichnet, daß die Steuerinformation Informationen enthält, die den Speicherort der Daten in dem Speicher-Subsystem (3) anzeigen, und durch das Netzwerk übertragen wird, das den ersten und den zweiten Hauptcomputer direkt verbindet.
  2. Verfahren nach Anspruch 1, wobei ferner eine in der Steuerinformation enthaltene Adresseninformation in eine Form konvertiert wird, die für den zweiten Hauptcomputer (2) verwendbar ist.
  3. Verfahren nach Anspruch 1 oder 2, wobei die Schreibeverarbeitung der Daten in das Speicher-Subsystem (3) durch den ersten Hauptcomputer (1) und die Ausleseverarbeitung der Daten aus dem Speicher-Subsystem (3) durch den zweiten Hauptcomputer (2) parallel zueinander ausgeführt werden.
  4. Verfahren nach einem der vorigen Ansprüche, wobei der erste Hauptcomputer (1) ein Anwendungsprogramm (2014) und ein Betriebssystem (13) enthält, und das Betriebssystem eine Zugangsanfrage im Count-Key-Datenformat, das von dem Anwendungsprogramm zu dem Speicher-Subsystem (3) ausgegeben wird, in eine Zugangsanfrage in einem Blockformat mit fester Länge zu dem Speicher-Subsystem (3) konvertiert, um die dadurch dazu konvertierte Zugangsanfrage auszuführen.
DE69812257T 1997-09-16 1998-09-04 Verfahren zur Datenübertragung zwischen Rechnern über ein Speichersubsystem Expired - Lifetime DE69812257T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP25025297 1997-09-16
JP9250252A JPH1185655A (ja) 1997-09-16 1997-09-16 計算機システム

Publications (2)

Publication Number Publication Date
DE69812257D1 DE69812257D1 (de) 2003-04-24
DE69812257T2 true DE69812257T2 (de) 2004-02-05

Family

ID=17205121

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69812257T Expired - Lifetime DE69812257T2 (de) 1997-09-16 1998-09-04 Verfahren zur Datenübertragung zwischen Rechnern über ein Speichersubsystem

Country Status (4)

Country Link
US (1) US6499056B1 (de)
EP (1) EP0903668B1 (de)
JP (1) JPH1185655A (de)
DE (1) DE69812257T2 (de)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6615327B1 (en) * 1999-02-19 2003-09-02 Hitachi, Ltd. Method and system for backing up data of data processing devices including fixed length block format data conversion to variable length block format
JP3800903B2 (ja) * 2000-02-17 2006-07-26 株式会社日立製作所 記憶装置及びそのアクセス制御方法
US7797373B1 (en) 2000-03-03 2010-09-14 Martin S Berger System and method for promoting intellectual property
JP2001337908A (ja) * 2000-05-26 2001-12-07 Nec Corp ファイルアクセス方法
JP2004013215A (ja) * 2002-06-03 2004-01-15 Hitachi Ltd ストレージシステム、ストレージサブシステム、および、それらを含む情報処理システム
US7519910B2 (en) * 2002-10-10 2009-04-14 International Business Machines Corporation Method for transferring files from one machine to another using adjacent desktop displays in a virtual network
US7508943B2 (en) 2003-05-16 2009-03-24 Mo-Dv, Inc. Multimedia storage systems and methods
JP4726432B2 (ja) * 2004-05-10 2011-07-20 株式会社日立製作所 ディスクアレイ装置
JP2007102437A (ja) * 2005-10-04 2007-04-19 Mitsubishi Electric Corp 情報処理システム及び情報処理装置及び情報処理方法
US7366808B2 (en) * 2005-11-23 2008-04-29 Hitachi, Ltd. System, method and apparatus for multiple-protocol-accessible OSD storage subsystem
US8751795B2 (en) 2010-09-14 2014-06-10 Mo-Dv, Inc. Secure transfer and tracking of data using removable non-volatile memory devices

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5155809A (en) * 1989-05-17 1992-10-13 International Business Machines Corp. Uncoupling a central processing unit from its associated hardware for interaction with data handling apparatus alien to the operating system controlling said unit and hardware
JPH05508506A (ja) * 1991-04-23 1993-11-25 イーストマン・コダック・カンパニー 耐障害性回路網ファイルシステム
US5446871A (en) * 1993-03-23 1995-08-29 International Business Machines Corporation Method and arrangement for multi-system remote data duplexing and recovery
US5535372A (en) * 1994-07-06 1996-07-09 International Business Machines Corporation Method and apparatus for efficient updating of CKD data stored on fixed block architecture devices
US5852719A (en) * 1995-12-20 1998-12-22 Tandem Computers Incorporated System for transferring data over a network in which a data source sends only a descriptor which a data sink uses to retrieve data
US5758125A (en) * 1995-12-28 1998-05-26 Newframe Corporation Ltd. Method of sharing data in a heterogeneous computer system
DE69631749T2 (de) * 1996-01-19 2005-01-05 Hitachi, Ltd. Speichergerät und Verfahren zur gemeinsamen Benutzung von Daten
US5828876A (en) * 1996-07-31 1998-10-27 Ncr Corporation File system for a clustered processing system
US5913227A (en) * 1997-03-24 1999-06-15 Emc Corporation Agent-implemented locking mechanism

Also Published As

Publication number Publication date
JPH1185655A (ja) 1999-03-30
DE69812257D1 (de) 2003-04-24
US6499056B1 (en) 2002-12-24
EP0903668A1 (de) 1999-03-24
EP0903668B1 (de) 2003-03-19

Similar Documents

Publication Publication Date Title
DE69636330T2 (de) Verfahren für On-line- und Echzeit-Datenmigration
DE602005001041T2 (de) Speicherauszugssystem
DE60038364T2 (de) Computersystem und Speicherauszugsdatenverwaltungsverfahren
DE60317383T2 (de) Datenwiederherstellungsvorrichtung unter Verwendung von Journaldaten und Identifikationsinformation
DE69031494T2 (de) Verfahren zum lesen und schreiben von dateien auf nichtlöschbaren speichermedien
DE3784190T2 (de) Eintragung eines datenbasisindex in das journal zur verbesserten rueckstellung.
DE602004007793T2 (de) System und verfahren zur verwaltung von backupmedien in einer datenverarbeitungsumgebung
DE69031926T2 (de) Instandhaltung von Dateiattributen in einem verteilten Datenverarbeitungssystem
DE69724846T2 (de) Mehrweg-Ein/Ausgabespeichersysteme mit Mehrweg-Ein/Ausgabeanforderungsmechanismus
DE69631749T2 (de) Speichergerät und Verfahren zur gemeinsamen Benutzung von Daten
DE69831944T2 (de) Vorrichtung und verfahren zur sicherung eines plattenspeichersystem
DE60213867T2 (de) Vorrichtung zur verwaltung von datenreplikation
DE69920713T2 (de) Datei-system bild-übertragung
DE69838898T2 (de) Doppelte Plattenspeichersteuerungen
DE69824078T2 (de) Heterogenes Computersystem, heterogenes Ein/Ausgabesystem und Datensicherungsverfahren für die Systeme
DE602004006345T2 (de) Verfahren zur Datenanzeige und Analyse von Rechnerleistungsinformation
DE3689664T2 (de) Verfahren und Gerät zur Verwaltung von veralteten Datenobjekten.
DE60025749T2 (de) Dateisystemabbildübertragung zwischen ungleichen dateisystemen
DE2126206C3 (de) Datenverarbeitungseinrichtung mit Speicherschutzanordnung
DE60111039T2 (de) Speichersystem das aus mehreren speichergeräten besteht, mit verschiedenen fehlertoleranten verfahren
DE60113586T2 (de) Übertragen von miteinander verbundenen Datenobjekten in einer verteilten Datenspeicherumgebung
DE10393771T5 (de) Schnelle Datensicherungsspeicherung und schnelle Datenwiederherstellung (FBSRD)
DE602004007925T2 (de) Verwalten einer beziehung zwischen einem zielvolumen und einem quellenvolumen
DE102013215009A1 (de) Verfahren und System zur Optimierung der Datenübertragung
DE3614795A1 (de) Schreibverfahren fuer dateidaten in einen einmal beschreibbaren speicher

Legal Events

Date Code Title Description
8364 No opposition during term of opposition