-
BEREICH DER ERFINDUNG
-
Diese
Erfindung betrifft die Speicherung von redundanten Kopien von Datenbeständen in
einer Vielzahl von Datenspeicherbibliotheken, die über einen
Speicher verfügen,
dessen Zugriffsgeschwindigkeit auf Datenbestände (Dateien) unterschiedlich hoch
ist, wie zum Beispiel einen Cachespeicher und einen Sicherungsspeicher,
und insbesondere den Zugriff auf Kopien von Datenbeständen von
den Datenspeicherbibliotheken.
-
DER ERFINDUNG ZUGRUNDE LIEGENDER
ALLGEMEINER STAND DER TECHNIK
-
Datenverarbeitungssysteme,
die mindestens einen Host umfassen, erfordern typischerweise eine große Datenspeicherkapazität. Wenn
die Daten, die typischerweise als Datenbestand gespeichert werden,
von den Hosts nicht sofort benötigt
werden, zum Beispiel, wenn auf den Datenbestand nicht so häufig zugegriffen
wird, kann die Speicherung des Datenbestands auf einem austauschbaren,
wiederbeschreibbaren Datenspeichermedium wie zum Beispiel einem Magnetband
oder einer optischen Platte erfolgen, und die Datenbestände können mittels
eines Datenspeicherlaufwerks geschrieben und/oder gelesen werden.
-
Typischerweise
ist das Datenspeicherlaufwerk mit dem Host oder der Verarbeitungseinheit über eine
Peripherie-Schnittstelle verbunden, bei der Befehle nur von der
Verarbeitungseinheit an das Datenspeicherlaufwerk übertragen
werden, und das Datenspeicherlaufwerk antwortet auf diese Befehle,
indem es die angeforderten Funktionen ausführt. Von dem Datenspeicherlaufwerk
können
keine Befehle an die angeschlossene Verarbeitungseinheit gesendet
werden. Die Befehle werden typischerweise von einer Einheitensteuereinheit
ausgeführt.
-
Wenn
eine große
Datenmenge gespeichert und gelegentlich darauf zugegriffen werden
soll, werden Datenspeicherbibliotheken verwendet. Solche Datenspeicherbibliotheken
ermöglichen
einen wirksamen Zugriff auf große
Datenmengen, die in einem Sicherungsspeicher von austauschbaren
Datenspeichermedien abgelegt werden, wobei die Datenspeichermedien
in Speicherfächern
gespeichert werden, auf die durch Roboter zugegriffen wird, die
von Roboter-Steuereinheiten gesteuert werden. Aufgrund der großen Menge
der gespeicherten Daten verwendet eine Vielzahl von Hosts typischerweise
dieselbe Datenspeicherbibliothek, und die Bibliothek enthält eine Vielzahl
von Datenspeicherlaufwerken, um den Hosts den Zugriff zu gestatten.
Ein Bibliotheksverwaltungsprogramm, das einen oder mehr Prozessoren oder
denselben Prozessor wie die Roboter-Steuereinheit umfassen kann, überwacht
typischerweise jeden Datenbestand und das Datenspeichermedium, auf
dem er gespeichert ist, und es überwacht
die Position des Speicherfachs eines jeden Datenspeichermediums.
-
Hier
wird ein Bibliotheksverwaltungsprogramm, entweder mit oder ohne
Roboter-Steuereinheit, als eine "Steuereinheit" oder eine "Bibliothek-Steuereinheit" für die Datenspeicherbibliothek definiert.
-
Wenn
auf das Datenspeichermedium möglicherweise
erneut zugegriffen wird, nachdem bereits ein Zugriff erfolgt ist,
ist es vorteilhaft, wenn man Datenspeicherbibliotheken verwendet,
die sowohl über einen
Cachespeicher als auch einen Sicherungsspeicher verfügen. Die
Datenspeicherbibliothek greift vom Sicherungsspeicher auf den Datenbestand
des austauschbaren Datenspeichermediums zu und speichert den Datenbestand
vorübergehend
im Cachespeicher, so dass sofort erneut darauf zugegriffen werden
kann. Das austauschbare Datenspeichermedium kann dann an ein Speicherfach
zurückgegeben werden,
und der Datenbestand kann aktualisiert werden, während er sich im Cachespeicher
befindet, ohne dass erneut auf das austauschbare Datenspeichermedium
zugegriffen werden muss. Die Kapazität des Cachespeichers ist typischerweise
begrenzt, was es erforderlich macht, dass die Datenbestände in den
Sicherungsspeicher umgelagert werden, damit Platz im Cachespeicher
frei wird. Typischerweise wird ein Least-recently-used-(LRU-)Algorithmus
verwendet, bei dem die Seite den Cachespeicher verlässt, auf
die verglichen mit den anderen Seiten seit dem letzten Seitenaustausch
am wenigsten zugegriffen wurde, um Datenbestände aus dem Cachespeicher in
den Sicherungsspeicher umzulagern.
-
Es
ist auch wünschenswert,
einen Grad der Redundanz von Daten zu ermöglichen, damit man selbst dann
einen konstanten Zugriff auf Datenbestände hat, wenn eine Datenspeicherbibliothek
oder ein Kommunikationspfad zu einer Datenspeicherbibliothek nicht
verfügbar
ist.
-
Ein
Beispiel für
ein Datenspeicherbibliothek-System, das dazu dient, Datenbestände, die
auf austauschbaren Datenspeichermedien in einer Vielzahl von Datenspeicherbibliotheken
gespeichert werden, redundant zu speichern und darauf zuzugreifen, ist
in der Patentanmeldung US 09/283 223 von K. F. Day III u.a. beschrieben.
Die Bibliothek-Steuereinheit einer jeden Bibliothek stellt ein aktualisierbares
Synchronisationstoken bereit, das jedem Datenbestand direkt zugeordnet
ist. Eine Vielzahl von Steuerkomponenten wird bereitgestellt, von
denen jede separat von den Hosts und mit ihnen verbunden ist sowie
separat von jeder Datenspeicherbibliothek und mit ihr verbunden
ist. Jede Steuerkomponente antwortet auf verschiedenen, partitionierte
Datenspeicherlaufwerk-Adressen, die von den Hosts angesprochen werden.
Die antwortende Steuerkomponente liefert jeden Datenbestand, der
von einem Host zur Verfügung
gestellt wird, an alle Datenspeicherbibliotheken und aktualisiert
jedes Synchronisationstoken, das dem gelieferten Datenbestand direkt
zugeordnet ist. Folglich speichern die Steuerkomponenten Zweitkopien
des Datenbestands in den Datenspeicherbibliotheken, ohne dass der
Host daran beteiligt ist. Bei den meisten Datenverarbeitungsanwendungen
ist der Zugriff auf die aktuellsten Daten kritisch. Daher wird die
Gültigkeit
eines jeden Datenbestands mit Hilfe des direkt zugeordneten Synchronisationstoken überwacht,
und das Synchronisationstoken wird vom Host nicht überwacht.
-
Der
Zugriff auf einen Datenbestand im Cachespeicher kann um mindestens
eine Größenordnung
schneller erfolgen als der Zugriff auf einen Datenbestand im Sicherungsspeicher.
Dies ist deshalb so, weil der Zugriff auf Datenbestände im Cachespeicher
mit elektronischen Geschwindigkeiten oder mit der Geschwindigkeit
von Festplattenlaufwerken erfolgt, während der Roboter das Datenspeichermedium,
das den Datenbestand enthält,
aus dessen Speicherfach abrufen und den Datenspeicher zu einem Datenspeicherlaufwerk
bewegen und das Datenspeichermedium anschließend laden und den angeforderten
Datenbestand lokalisieren muss. Es ist somit von Vorteil, auf Datenbestände im Cachespeicher
zuzugreifen, was als "Cache-Treffer" bezeichnet wird, statt
die zusätzliche
Zeitspanne für
den Zugriff auf Datenbestände
im Sicherungsspeicher warten zu müssen, was als "Cache-Fehler" bezeichnet wird.
-
Triantafillou,
Peter; Neilson, Carl: „Achieving Strong
Consistency in a Distributed File System", IEEE Transactions On Software Engineering,
Vol. 23. No.1, 1997, S. 35–55
beschreibt verschiedene Möglichkeiten
einen lastabhängigen
Zugriffs auf redundante Datenbestände in verschiedenen Client-Systemen
mit Datencaches. Unter anderem wird der Zugriff auf einen Datenbestand über ein
zentrales Token gesteuert, welchen ein Server-System einem Client-System
zuordnet. Devarakonda, Murty; Kish, Bill; Mohindra, Ajay: "Recovery in the Calypso
File System", ACM
Transactions On Computer Systems (TOCS), ISSN: 0734-2071, S. 287–310 beschreibt ein
spezielles Client-Server-System,
bei dem der Zugriff auf Datenbestände über zentrale Token erfolgt, welche
vom Server einzelnen Clients zugeordnet werden.
-
In
der Patentanmeldung von K. F. Day III u.a. antwortet die Steuerkomponente
auf eine Abrufanforderung für
einen feststellbaren Datenbestand, indem sie alle Synchronisationstoken
von den angeschlossenen Datenspeicherbibliotheken anfordert, die
zu diesem Datenbestand gehören.
Mit Hilfe des Synchronisationstokens ermittelt die Steuerkomponente ein
gerade aktualisiertes Synchronisationstoken für den feststellbaren Datenbestand
und greift auf den feststellbaren Datenbestand an der Datenspeicherbibliothek
zu, die das gerade aktualisierte Synchronisationstoken hat. In der
Patentanmeldung US 09/391 186 von T. w. Bish u.a., wird auf die
Kopie des Datenbestands, die im Cachespeicher einer Bibliothek abgelegt
ist, und nicht auf die Kopie, die im Sicherungsspeicher der anderen
Bibliothek abgelegt ist, zugegriffen, wenn mehr als eine Datenspeicherbibliothek über das
aktuellste Synchronisationstoken verfügt.
-
Wenn
die Synchronisationstoken anzeigen, dass zwei Kopien die aktuellsten
Kopien sind und beide Kopien im Cachespeicher und auf derselben Zugriffsebene
des Cachespeichers abgelegt sind, wird bei der Patentanmeldung von
Bish u.a. ein "normaler" Algorithmus, wie
zum Beispiel ein rotierender Round-Robin-Algorithmus, verwendet, um die Bibliothek
für den
Zugriff auf den Datenbestand auszuwählen.
-
Solche "normalen" Algorithmen können jedoch
dazu führen,
dass versucht wird, auf die Daten von einer Datenspeicherbibliothek
zuzugreifen, die voll und ganz mit der Ausführung von vorhandenen Jobs
beschäftigt
ist, so dass die relative Job-Auslastung
unter den Bibliotheken nicht ausgewogen ist.
-
ZUSAMMENFASSUNG DER ERFINDUNG
-
Es
ist eine Aufgabe der vorliegenden Erfindung, ein gegenüber dem
Stand der Technik verbessertes Verfahren und System zur Auswahl
der Datenspeicherbibliothek für
den Zugriff auf eine redundante Kopie eines feststellbaren Datenbestandes
(Datei) auszuwählen,
um die Arbeitslast zwischen den Datenspeicherbibliotheken gleichmäßig zu verteilen.
-
Ein
Datenspeicherbibliothek-System mit einer Vielzahl von automatischen
Datenspeicherbibliotheken und mindestens einem Host oder einer Steuerkomponente
greift auf eine redundante Kopie eines feststellbaren Datenbestands
zu, wobei ein von einem Rechner ausführbares Verfahren angewendet wird,
das den Ruhezeitstatus einer jeden Bibliothek nutzt, um die Arbeitslast
gleichmäßig zu verteilen.
-
Jede
Datenspeicherbibliothek hat eine Bibliothek-Steuereinheit und mindestens
zwei Zugriffsebenen, um die feststellbaren Datenbestände zu speichern
und mit unterschiedlichen Zugriffsgeschwindigkeiten darauf zuzugreifen.
Die Zugriffsebenen können
ein Cachespeicher sein, der mit elektronischen Geschwindigkeiten
arbeitet, und ein Sicherungsspeicher, wie zum Beispiel Bandkassetten,
auf die von Speicherfächern
mit mechanischen Geschwindigkeiten zugegriffen werden muss. Die
Bibliothek-Steuereinheit stellt ein Synchronisationstoken bereit,
das jedem Datenbestand direkt zugeordnet ist und die Aktualisierungsstufe
des Datenbestands angibt. Außerdem
stellt das Token ein Markierungszeichen bereit, das die Zugriffsebene
des feststellbaren Datenbestands in der Datenspeicherbibliothek
anzeigt.
-
Eine
Steuerkomponente fordert einen Datenbestand an, und die Bibliothek-Steuereinheit
einer jeden Bibliothek ermittelt deren aktuellen Ruhezeitstatus
und stellt ihn der anfordernden Steuerkomponente in codierter Form
bei der Übergabe
des Synchronisationstoken, das dem angeforderten Datenbestand direkt
zugeordnet ist, bereit.
-
Die
Steuerkomponente liest die Synchronisationstoken, die dem Datenbestand
von den Datenspeicherbibliotheken direkt zugeordnet sind, und stellt
anhand der gelesenen Token fest, ob sich eine Vielzahl der redundanten
Kopien des Datenbestands auf der neuesten Aktualisierungsstufe und
auf derselben Zugriffsebene und sich keine Kopien des Datenbestands
auf einer schnelleren Zugriffsebene befinden, so dass die Kopien
des Datenbestands in den Datenspeicherbibliotheken auf derselben
schnellsten verfügbaren
Zugriffsebene gespeichert werden.
-
Im
Anschluss an die Feststellung, dass sich mindestens zwei der Kopien
des Datenbestands auf derselben schnellsten verfügbaren Zugriffsebene befinden,
vergleicht die Steuerkomponente den bereitgestellten Ruhezeitstatus
der Datenspeicherbibliotheken, die diese Kopien speichern, und gibt
an, welche Bibliothek den größeren Ruhezeitstatus
bereitstellt. Die Steuerkomponente greift daraufhin auf den Datenbestand
von der angegebenen Datenspeicherbibliothek zu.
-
Der
Ruhezeitstatus kann den Prozentsatz der verfügbaren Betriebszeit, den die
Bibliothek inaktiv ist, umfassen, und er kann aus dem Prozentsatz der
verfügbaren
Betriebszeit, den die Bibliothek inaktiv ist, und dem Prozentsatz
der verfügbaren
Betriebszeit, den sich die Bibliothek im E/A-Wartezustand befindet,
oder aus anderen Angaben zusammengesetzt sein, die sich auf die
Auslastung der Bibliothek beziehen.
-
Damit
sich die vorliegende Erfindung besser verstehen lässt, sollte
auf die folgende ausführliche Beschreibung
in Verbindung mit den beigefügten Zeichnungen
Bezug genommen werden.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
1 ist
ein Blockschaltbild, das die Verbindung von Funktionskomponenten
eines Datenspeicherbibliothek-Subsystems zeigt, das gemäß einer
Ausführungsform
der vorliegenden Erfindung eingesetzt wird;
-
2 ist
ein Blockschaltbild, das die Funktionskomponenten eines Beispiels
einer Datenspeicherbibliothek von 1 zeigt,
die gemäß einer
Ausführungsform
der vorliegenden Erfindung verwendet wird;
-
3 ist
ein verallgemeinertes Diagramm von logischen Datenträgern, die
auf einem einzigen physischen Datenträger zur Verwendung in einer
Datenspeicherbibliothek von 1 und 2 gespeichert
werden;
-
4A und 4B sind
schematische Darstellungen von Tabellen, die Datenbeständen Synchronisationstoken
zuordnen, welche direkt zu den Datenbeständen gehören, und die dazu dienen, Anzeiger,
die angeben, ob der Datenbestand im Cachespeicher oder im Sicherungsspeicher
abgelegt wird, anzufügen;
-
5 stellt
die Codes für
Markierungsanzeiger dar, die Speicherebenen von Datenspeicherbeständen im
Cachespeicher oder im Sicherungsspeicher darstellen;
-
6A und 6B sind
schematische Darstellungen von Tabellen, die Datenbeständen Synchronisationstoken
zuordnen, welche direkt zu den Datenbeständen gehören, und die dazu dienen, Anzeiger,
wie zum Beispiel diejenigen von 5, welche
die Speicherebene des Datenbestands im Cachespeicher oder im Sicherungsspeicher
angeben, anzufügen;
-
7 ist
ein Flussdiagramm, das eine verallgemeinerte Ausführungsform
eines Verfahrens des Datenspeicherbibliothek-Subsystems von 1 darstellt,
das gemäß einer
Ausführungsform
der vorliegenden Erfindung angewendet wird;
-
8 ist
eine schematische Darstellung eines Synchronisationstoken mit einem
angefügten Ruhezeitstatus
gemäß einer
Ausführungsform
der vorliegenden Erfindung;
-
9 ist
ein Flussdiagramm, das alternative Verfahren der Umlagerung von
Datenbeständen
und der Anfügung
von Markierungsanzeigern an die Synchronisationstoken darstellt;
-
10 ist
ein Flussdiagramm, das ein Verfahren gemäß. einer Ausführungsform
der vorliegenden Erfindung darstellt, welches dazu dient, den Ruhezeitstatus
bereitzustellen, der mit der Datenspeicherbibliothek von 2 verwendet
wird; und
-
11 ist
ein Flussdiagramm, das ein Verfahren gemäß einer Ausführungsform
der vorliegenden Erfindung darstellt, welches dazu dient, eine Datenspeicherbibliothek
auszuwählen,
um einen Datenbestand bereitzustellen, der mit einer Steuerkomponente
von 1 verwendet wird.
-
AUSFÜHRLICHE BESCHREIBUNG DER ERFINDUNG
-
Diese
Erfindung wird in der folgenden Beschreibung der bevorzugten Ausführungsform
mit Bezug auf die Figuren dargelegt, in denen gleiche Bezugszahlen
dieselben oder ähnliche
Elemente darstellen. Während
diese Erfindung in Bezug auf die beste Art und Weise, mit der sich
die Aufgaben dieser Erfindung lösen
lassen, beschrieben wird, versteht der Fachmann, dass im Hinblick
auf diese Lehren Veränderungen
vorgenommen werden können,
ohne vom Wesen oder Umfang der Erfindung abzuweichen.
-
Bezug
nehmend auf 1, ist eine Ausführungsform
eines Datenspeicherbibliothek-Subsystems 10 veranschaulicht,
das die Host-Systeme 11 und 12 entsprechend der
Patentanmeldung von Day III u.a., über eine Vielzahl von Steuerkomponenten 71 bis 74 redundant
mit den Datenspeicherbibliotheken 14 und 15 verbindet.
Die Patentanmeldung von Day III u.a. stellt die Steuerkomponenten
bereit, um mehrere Datenkopien in den Datenspeicherbibliotheken
zu speichern und zu überwachen.
Die Überwachung
erfolgt, indem jede redundante Kopie des Datenbestands mit einem
direkt zugeordneten Synchronisationstoken versehen wird. Jede Steuerkomponente 71 bis 74 kommuniziert
mit einem Host über eine
Schnittstelle 69 und mit einer Bibliothek 14 oder 15 über eine
Schnittstelle 70.
-
Die
Host-Systeme 11 und 12 sind mit dem Datenspeicherbibliothek-Subsystem 10 verbunden und
verwenden es zur Speicherung von Daten, die typischerweise als Datenbestand
gespeichert werden, der von den Hosts nicht sofort benötigt wird,
beispielsweise, wenn auf den Datenbestand nicht so häufig zugegriffen
wird. Wenn die Daten jedoch benötigt
werden, kann häufig
auf die Datenbestände
zugegriffen werden, und sie können
ständig
aktualisiert werden. Außerdem
Bezug nehmend auf 2, umfasst jede Datenspeicherbibliothek
somit eine "virtuelle" Bibliothek, die
einen nichtflüchtigen
Cachespeicher wie zum Beispiel ein Plattenlaufwerk 40 oder
einen elektronischen Speicher 39 enthält, um die Datenbestände zu halten,
auf die in letzter Zeit zugegriffen wurde, und sie enthält einen
Sicherungsspeicher wie zum Beispiel das austauschbare Datenspeichermedium,
das über
die Datenbestände 18 verfügt, um Datenbestände für einen
weniger häufigen
Zugriff zu speichern.
-
Datenbestände werden
der Bibliothek von einem Host und einer Steuerkomponente zur Verfügung gestellt,
und der Host wartet, bis die virtuelle Bibliothek den Datenbestand
in einen nichtflüchtigen Cachespeicher
geschrieben hat, bevor sie dem Host ein Rücksignal liefert.
-
In
der Patentanmeldung von Bish u.a., wird ein Cachespeicher zur Verfügung gestellt,
indem bis auf eine Kopie alle redundanten Kopien des Datenbestands
auf der Grundlage einer hohen Priorität in den Sicherungsspeicher
umgelagert werden. Auf den Cachespeicher kann mit verhältnismäßig hohen
elektronischen oder fast elektronischen Geschwindigkeiten zugegriffen
werden, während
auf den Sicherungsspeicher nur mit wesentlich geringeren mechanischen
Geschwindigkeiten zugegriffen werden kann. Wenn sich eine der zuletzt
aktualisierten Kopien im Cachespeicher und eine andere im Sicherungsspeicher
befinden, wird somit in Übereinstimmung
mit der Patentanmeldung von Bish u.a., auf die Kopie im Cachespeicher
zugegriffen. Außerdem kann
der Cachespeicher zwei Zugriffsgeschwindigkeiten haben, und es wird
auf den aktuellsten Datenbestand, der sich auf der schnellsten Zugriffsebene befindet,
zugegriffen.
-
Die
vorliegende Erfindung verteilt die Arbeitslast zwischen den Bibliotheken
gleichmäßig, wenn
sich alle der zuletzt aktualisierten Kopien des Datenbestands auf
derselben Zugriffsebene oder wenn sich mindestens zwei der zuletzt
aktualisierten Kopien auf der schnellsten verfügbaren Zugriffsebene befinden.
-
Die
Host-Systeme 11 und 12 können durch viele verschiedene
Arten und eine unterschiedlich große Anzahl von Verarbeitungseinheiten,
Servern oder Rechnersystemen realisiert werden. Die Datenspeicherbibliotheken 14 und 15 können beliebige ähnliche
Bibliotheken zur Speicherung von austauschbaren, wiederbeschreibbaren
Datenspeichermedien wie zum Beispiel Magnetbandkassetten oder optischen
Platten umfassen. Ein Beispiel für
eine geeignete Datenspeicherbibliothek ist der Virtual Tape Server
vom Typ IBM 3949. Mehr als zwei Datenspeicherbibliotheken 14 bis 15 können bereitgestellt werden,
von denen jede eine redundante Kopie eines jeden der redundanten
Datenbestände
speichert.
-
Die
austauschbaren Datenspeichermedien werden in den Speicherfächern 20 gespeichert,
auf die von einer Bibliothek-Steuereinheit
gesteuert von mindestens einen Roboter 22 zugegriffen wird (2).
Die austauschbaren Datenspeichermedien in den Speicherfächern 20,
welche die Datenbestände 18 enthalten,
umfassen einen Sicherungsspeicher. Eine Vielzahl von Datenspeicherlaufwerken 34 und 35 gestatten
den Lese- und/oder den Schreibzugriff auf die Datenbestände 18.
Die Datenspeicherbibliothek ist eine "virtuelle" Bibliothek, wobei die nichtflüchtigen
Cachespeicher 39 und 40 mit den Datenspeicherlaufwerken 34 und 35 verbunden
sind. Der Cachespeicher 39 kann einen elektronischen, nichtflüchtigen Speicher
wie zum Beispiel einen "Flash"-Speicher oder einen
Speicher mit einer Batterie für
Reservestrom umfassen, und der Cachespeicher 40 kann ein
oder mehr Magnetplattenlaufwerke umfassen. Die Bibliothek-Steuereinheit 30 kann
ein Bibliotheksverwaltungsprogramm umfassen, das eine Datenbank 36 verwendet,
um jeden Datenbestand und das Datenspeichermedium, auf dem er gespeichert
ist, die Position 20 des Speicherfaches eines jeden Datenspeichermediums
und jeden Datenbestand in dem nichtflüchtigen schnellen Cachespeicher 39 und
dem nichtflüchtigen
Cachespeicher 40 zu überwachen.
-
Die
Datenbank 36 und der nichtflüchtige Cachespeicher 40 können dasselbe
oder verschiedene Magnetplattenlaufwerke umfassen.
-
Die
Kommunikation mit der Bibliothek erfolgt an einer Speicherschnittstelle 38 zur
Bibliothek-Steuereinheit 30, zum nichtflüchtigen
schnellen Cachespeicher 39 und zu den angesprochenen Laufwerken 34 und 35.
Die angesprochenen Laufwerke 34 und 35 können entweder
verschiedene Medien aufnehmen und/oder mit unterschiedlichen Geschwindigkeiten
arbeiten. Die Datenspeicherlaufwerke 34 können beispielsweise
optische Plattenlaufwerke für
die Datenbestände 18 umfassen,
die auf einer optischen Platte gespeichert werden, und mittels Direktzugriff-Suchläufen nach
einer beliebigen Spur einen schnelleren Zugriff auf Datenbestände bieten,
während
die Datenspeicherlaufwerke 35 Bandlaufwerke für die Datenbestände 18 umfassen
können,
die auf Magnetbandkassetten gespeichert werden, welche einen linearen
Zugriff auf die Datenbestände
ermöglichen.
Alternativ dazu können
sowohl die Datenspeicherlaufwerke 34 als auch die Datenspeicherlaufwerke 35 Bandlaufwerke
umfassen, jedoch können
die Datenspeicherlaufwerke 34 kostspieliger sein und einen
schnelleren Zugriff auf die Datenbestände bieten, oder die Datenspeicherlaufwerke 34 können den Datenspeichermedien zugeordnet
werden, die eine geringere Datenspeicherkapazität, aber einen schnelleren Zugriff
auf Datenbestände
haben. Ein Beispiel wäre
ein Datenspeichermedium mit einer geringeren Länge.
-
Die
Steuerkomponenten 71 bis 74 sind als von den Bibliotheken
getrennt gezeigt (1 und 2), doch
können
sich eine oder mehr Steuerkomponenten physisch in einer Bibliothek 14 oder 15 befinden
und eine getrennte Platine umfassen oder Teil einer Bibliothek-Steuereinheit 30 sein.
Ferner kann eine physische Bibliothek partitioniert sein, wobei jede
Partition als getrennte Bibliothek mit getrennt partitionierten
Speicherfächern 20,
den nichtflüchtigen
Cachespeichern 39 und 40, der Datenbank 36 und
den Datenspeicherlaufwerken 34 und 35 behandelt
wird, während
sie den oder die Roboter 22 gemeinsam mit anderen benutzt.
Die Bibliothek-Steuereinheit 30 kann einen oder mehr Prozessoren
umfassen, und sie würde
die Datenbestände
getrennt überwachen
und den Betrieb des Roboters gemeinsam mit anderen steuern.
-
Wenn
sich ein Datenbestand im Sicherungsspeicher 20 befindet
und ein Befehl für
den Zugriff auf den Datenbestand empfangen wird, stellt die Bibliothek-Steuereinheit 30 das
Datenspeichermedium und das Speicherfach 20 fest, das den
Datenbestand enthält.
Die Bibliothek-Steuereinheit setzt dann den Roboter 22 in
Betrieb, um vom Speicherfach 20 auf das Datenspeichermedium
zuzugreifen und um das Datenspeichermedium an ein Laufwerk 34 oder 35 zu übergeben.
Wenn das Datenspeichermedium, das den festgestellten Datenbestand 18 enthält, an das Laufwerk übergeben
und physisch in das Laufwerk eingelegt wird und dann auf den Datenbestand
zugegriffen wird, stellt die Bibliothek-Steuereinheit 30 ein Signal "bereit" an der Speicherschnittstelle 38 bereit. Der
Datenbestand wird dann typischerweise in den Cachespeicher 40 oder 39 eingelesen
und von dem adressierenden Host mittels Datenübertragung an die Speicherschnittstelle 38 geschrieben
und/oder dort gelesen.
-
Gemäß der vorliegenden
Erfindung ist der Cachespeicher entweder als ein einzelner Cachespeicher 40 oder
als mehrere Cachespeicher-Zugriffsebenen, die den schnellen Cachespeicher 39 und den
Cachespeicher 40 einschließen, ausgelegt.
-
Sobald
sich ein Datenbestand im Cachespeicher 39 oder 40 befindet,
kann schnell auf ihn zugegriffen werden, oder ein empfangener Datenbestand kann
schnell an den Bibliothek-Cachespeicher übertragen
werden, ohne dass man darauf warten muss, dass das Datenspeichermedium
geladen wird. Da der Cachespeicher nichtflüchtig ist, bleibt der Datenbestand
im Speicher. Die Bibliothek-Steuereinheit 30 kann bewirken,
dass der Cachespeicher der Steuerkomponente und dem Host als eine
Reihe von Laufwerken mit eingelegten Datenträgern erscheint. Der Cachespeicher
stellt somit eine Reihe von "virtuellen Laufwerken" dar.
-
Der
Cachespeicher 39 und der Cachespeicher 40 haben
im Verhältnis
zu der enormen Anzahl an Datenbeständen 18, die im Sicherungsspeicher abgelegt
werden können,
eine begrenzte Kapazität. Folglich
müssen
die Datenbestände
im Cachespeicher 39 und 40 ständig aus dem Cachespeicher
in den Sicherungsspeicher umgelagert werden. Außerdem hat der Cachespeicher 39 im
Vergleich zum Cachespeicher 40 eine begrenzte Kapazität. Die Umlagerung
kann zunächst
vom Cachespeicher 39 in den Cachespeicher 40 und
anschließend
vom Cachespeicher 40 in den Sicherungsspeicher 20 erfolgen. Alternativ
dazu kann der Datenbestand zunächst
im Cachespeicher 39 oder im Cachespeicher 40 abgelegt
und direkt in den Sicherungsspeicher 20 umgelagert werden.
Während
ein Datenbestand umgelagert wird, wird der Teil des Cachespeichers,
der zuvor durch den umgelagerten Datenbestand belegt war, "freigegeben", wodurch er zur
Speicherung von einem anderen benötigten Datenbestand zur Verfügung steht.
-
Die
Umlagerung aus dem Cachespeicher in den Sicherungsspeicher 20 kann
direkt entweder in die Laufwerke 34 oder in die Laufwerke 35 erfolgen, oder
die Umlagerung kann im Sicherungsspeicher fortgesetzt werden, wobei
die Daten zuerst in den Sicherungsspeicher in eines der Laufwerke 34 und
anschließend
in einen anderen Teil des Sicherungsspeichers in eines der Laufwerke 35 umgelagert
werden.
-
In
austauschbaren Datenspeichersystemen werden typischerweise eine
Vielzahl von Datenbeständen 18 auf
einem einzigen physischen Datenspeichermedium, das als physischer
Datenträger
bezeichnet wird, gespeichert. 3 stellt
einen physischen Datenträger 44,
wie zum Beispiel ein Magnetband in einer Kassette, schematisch dar,
der N logische Datenträger
enthält
und dadurch N einzelne Bandkassetten 51 bis 58 ersetzt.
Die Speicherung von mehreren logischen Datenträgern auf einem einzigen physischen
Datenträger
wird als "Stapelung von
Datenträgern" bezeichnet. In einer
Konfiguration kann ein einziger physischer Datenträger bis
zu 140 logische Datenträger
zu je 50 MB enthalten, von denen jeder einzeln angesprochen und
auf den einzeln zugegriffen werden kann. In einer anderen Konfiguration
kann ein einzelner physischer Datenträger eine variable Anzahl von
logischen Datenträgern
veränderlicher
Größe enthalten,
von denen jeder einzeln angesprochen und auf den einzeln zugegriffen
werden kann. Hier kann ein Datenbestand 18 einen logischen
Datenträger 51 usw.
umfassen, oder wenn keine logischen Datenträger bereitgestellt werden,
kann ein Datenbestand 18 einen physischen Datenträger 44 umfassen.
-
Ein
neuer physischer Datenträger
wird als "temporärer" ("SCRATCH"-)Datenträger bezeichnet, und
die logischen Datenträger 51 usw.
werden näher bezeichnet,
während
sie beschrieben werden. Ein logischer Datenträger kann abgerufen und aktualisiert werden,
und er wird typischerweise an einer neuen Stelle oder an einer anderen
Stelle auf demselben oder einem anderen physischen Datenträger wieder beschrieben.
Die ursprüngliche
Position des erneut abgerufenen logischen Datenträgers ist
ebenfalls ein "temporärer" Datenträger. Gelegentlich
fordert die Bibliothek-Steuereinheit einen physischen Datenträger zurück, indem
sie alle logischen Datenträger,
die keine temporären
Datenträger
sind, in den Cachespeicher einliest und sie ohne Aktualisierung
wieder auf einen anderen physischen Datenträger schreibt, wobei sie den
ersten physischen Datenträger
als "temporären" Datenträger belässt, der
vollkommen neu beschrieben werden kann.
-
Die
Bibliothek-Steuereinheit 30 verwaltet typischerweise einen
Teil des Cachespeichers 39 und/oder des Cachespeichers 40,
die als "temporäre" logische Datenträger zur
Verfügung
stehen, so dass aktualisierte oder neue logische Datenträger mit elektronischen
Geschwindigkeiten beschrieben werden können, wenn ein Host eine Schreiboperation anfordert.
-
Die
Hauptkennung sowohl für
logische Datenträger
als auch für
physische Datenträger
ist die "Datenträgerfolgenummer" oder "VOLSER" (Volume Serial Number),
die eine vorher festgelegte Anzahl von Zeichen oder Leerstellen
umfasst. Bei den meisten physischen Datenträgern ist die VOLSER oder eine ähnliche
Kennung, die sich in eine VOLSER übersetzen lässt, in einem Kennsatz codiert,
der sich auf der Seite des Datenträgers (Kassette) befindet, die
von dem Bibliothek-Roboter gelesen werden kann. Somit hat der physische
Datenträger 44 ebenso
eine VOLSER wie die logischen Datenträger 51 bis 58.
Das typische Datenspeichermedium 44 enthält einen
Index oder ein Datenträgerinhaltsverzeichnis
(VTOC) 60, das jeden der Datenträger 51 bis 58 ausweist,
der auf dem physischen Datenträger
gespeichert ist. Ein "temporärer" physischer Datenträger wird
ebenfalls mit einer VOLSER gekennzeichnet.
-
Gemäß der Patentanmeldung
von Day III u.a. stellt die Bibliothek-Steuereinheit 30 ein
Synchronisationstoken bereit, das jedem Datenbestand direkt zugeordnet
ist, wobei das Synchronisationstoken ein aktualisierbares Token
umfasst. Die Synchronisationstoken können den Datenbeständen 18 direkt
zugeordnet werden (2 und 3), indem die
Token in der Datenbank 36 gespeichert werden, alternativ
können
die Token mit jedem physischen Datenträger 44 gespeichert
werden, oder als weitere Alternative können die Token direkt mit jedem
Datenträger 51 bis 58 gespeichert
werden.
-
Eine
Vielzahl von Steuerkomponenten 71 bis 74 wird
bereitgestellt (1 und 2), von
denen jede von den Hosts 11 bis 12 getrennt und
mit ihnen verbunden ist sowie von jeder Datenspeicherbibliothek 14 bis 15 getrennt
und mit ihr verbunden ist. Jede Steuerkomponente antwortet auf einzelne
getrennte, partitionierte Zugriffsadressen, wie zum Beispiel Datenspeicherlaufwerk-Adressen,
die von den Hosts mit dem übergebenen
Befehl angesprochen werden. Die Steuerkomponente 71 antwortet
beispielsweise auf die Laufwerkadressen 0 bis 3, die Steuerkomponente 72 antwortet
auf die Laufwerkadressen 4 bis 7, die Steuerkomponente 73 antwortet auf
die Laufwerkadressen 8 bis B, und die Steuerkomponente 74 antwortet
auf die Laufwerkadressen C bis F. Die Bibliothek-Steuereinheit 30 einer
jeden Datenspeicherbibliothek 14 bis 15 stellt
ein aktualisierbares Synchronisationstoken bereit, das jedem Datenbestand
direkt zugeordnet ist. Die antwortende Steuerkomponente 71 bis 74 liefert
jeden von einem Host zur Verfügung
gestellten Datenbestand an alle Datenspeicherbibliotheken und aktualisiert
jedes Synchronisationstoken, das dem gelieferten Datenbestand direkt zugeordnet
ist. Folglich speichern die Bibliotheken 14 bis 15 Zweitkopien
des Datenbestands. Die Gültigkeit
eines jeden Datenbestands wird mit Hilfe des direkt zugeordneten
Synchronisationstoken überwacht,
und das Synchronisationstoken wird weder vom Host überwacht,
noch ist eine zentrale Überwachungsdatenbank
erforderlich. Wenn ein Datenbestand in einer Bibliothek aktualisiert
wird, erhöht
eine Steuerkomponente das Synchronisationstoken und übergibt
das aktualisierte Synchronisationstoken der Bibliothek, damit sie
das Synchronisationstoken dem Datenbestand direkt zuordnet, um die Aktualisierungsstufe
des Datenbestand zu überwachen.
Während
der Aktualisierung einer jeden der redundanten Kopien wird auch
das direkt zugeordnete Synchronisationstoken aktualisiert, so dass
die Gültigkeit
einer jeden der redundanten Kopien des Datenbestand von den Synchronisationstoken überwacht
wird.
-
Die
Bibliothek-Steuereinheit 30 umfasst mindestens einen programmierbaren
Rechnerprozessor, wie zum Beispiel einen Prozessor vom Typ IBM RS/6000,
und ist mit einem Betriebssystem und Anwendungsprogrammen ausgestattet,
um ihren Betrieb gemäß der vorliegenden
Erfindung auszuführen.
Die Anwendungsprogramme können
ein Rechnerprogrammprodukt umfassen, das einen rechnerlesbaren Programmcode
einschließt.
Das Rechnerprogrammprodukt kann elektronisch wie zum Beispiel von
einem Netzwerk oder einem der Hosts 11 bis 12 an
der Übertragungsschnittstelle 38 über eine Steuerkomponente
bereitgestellt werden. Alternativ dazu kann das Rechnerprogrammprodukt
an einer E/A-Station des Prozessors oder von einem Speichermedium
bereitgestellt werden, das ausführbare Rechnerbefehle
speichert, und es umfasst einen Herstellungsgegenstand, wie zum
Beispiel das Datenspeichermedium 44 in 3.
Ein weiteres Beispiel für
ein Speichermedium, das ein Herstellungsgegenstand ist, ist eine
Diskette. Andere geeignete Speichermedien sind optische Platten,
Magnetbandkassetten, austauschbare Festplattenkassetten, Nur-Lese-Speicher
(ROM) oder programmierbare Nur-Lese-Speicher (PROM). An die Speichermedien oder
die Speicher wird die Anforderung gestellt, dass sie digitale Darstellungen
von rechnerausführbaren Befehlen
speichern. Das Betriebssystem und die Anwendungsprogramme können in
der Datenbank 36 gespeichert werden.
-
Die
Datenspeicherbibliotheken können
unterschiedlich angeordnete Fächer
und eine unterschiedliche Anzahl von Laufwerken haben und verschiedene
der redundanten Kopien der Datenbestände mit unterschiedlichen Geschwindigkeiten
umlagern, so dass die Cachespeicher 39 bis 40 für jede der
Bibliotheken 14 bis 15 zur selben Zeit jeweils
einen anderen Inhalt haben können.
-
Auf
einen Datenbestand wird typischerweise jedoch innerhalb einer kurzen
Zeitspanne wiederholt zugegriffen, während ein Verarbeitungsjob
ausgeführt
wird, und nachdem der Job abgearbeitet wurde, erfolgt für längere Zeit
kein Zugriff auf den Datenbestand. Wenn der Datenbestand während der
Ausführung
des Jobs aktualisiert wird, verbleibt er wahrscheinlich über die
gesamte Verarbeitungsdauer des Jobs in den Cachespeichern 39 bis 40 beider
Bibliotheken.
-
Die
vorliegende Erfindung steigert die Leistungsfähigkeit der Vielzahl der Datenspeicherbibliotheken 14 bis 15,
die redundante Kopien der Datenbestände speichern, indem sie die
Arbeitslast der Bibliotheken gleichmäßig verteilen.
-
Gemäß der vorliegenden
Erfindung hält
jede der Datenspeicherbibliotheken 14 bis 15 das
Synchronisationstoken, das dem Datenbestand direkt zugeordnet ist.
Die Bibliothek-Steuereinheit 30 einer jeden
Datenspeicherbibliothek stellt jeden einzelnen der Datenbestände, die
gerade im Cachespeicher 39 und/oder 40 der Datenspeicherbibliothek
gespeichert sind, fest, und sie stellt jeden einzelnen der Datenbestände, die
gerade im Sicherungsspeicher 20 der Datenspeicherbibliothek
gespeichert sind, fest.
-
Die
Steuerkomponenten 71 bis 74 empfangen Abrufanforderungen
von den Hosts 11 bis 12 für Datenbestände, die in den Datenspeicherbibliotheken
gespeichert sind. Wie vorstehend erläutert wurde, leiten die Steuerkomponenten
die Befehle an die Bibliotheken. Bei der Weiterleitung einer Abrufanforderung
fordert eine Steuerkomponente das direkt zugeordnete Synchronisationstoken
von jeder Bibliothek an. Dann antwortet jede Datenspeicherbibliothek
auf eine Abrufanforderung für
eine der redundanten Kopien der feststellbaren Datenbestände, wobei
sie das Synchronisationstoken, das dem feststellbaren Datenbestand
direkt zugeordnet ist, und einen Anzeiger von den Feststellungsschritten
bereitstellt, der angibt, ob der feststellbare Datenbestand als
ein gerade im Cachespeicher 39 bis 40 oder im Sicherungsspeicher 20 abgelegter
Datenbestand festgestellt wird. Zum Beispiel kann der Anzeiger ein an
das Synchronisationstoken angefügtes
Markierungszeichen umfassen. Folglich wird die Leistungsfähigkeit
des Zugriffs erhöht,
indem statt einer Kopie, die als im Sicherungsspeicher abgelegt
festgestellt wird, eine redundante Kopie des feststellbaren Datenbestands,
die als im Cachespeicher abgelegt festgestellt wird, ausgewählt wird.
-
Darüber hinaus
Bezug auf die 4A und 4B nehmend,
sei erwähnt,
dass eine Ausführungsform
eines Anzeigers ein "Markierungszeichen" 67 ist,
das an einer bestimmten Stelle in der Tabelle eine Länge von
einem oder mehr Bit hat. Die Tabellen 61 und 62 sind
für eine
jede von zwei Bibliotheken, die Bibliothek "1" und
die Bibliothek "2", wie zum Beispiel
die Bibliotheken 14 und 15, dargestellt. Jede
Tabelle befindet sich vorzugsweise in der Datenbank 36 der
Bibliothek. Jede Tabelle setzt den Datenbestand (z.B. die VOLSER) 65 mit
dem direkt zugeordneten Synchronisationstoken 66 in Beziehung
und hält
dabei das Synchronisationstoken aufrecht und speichert es. Das Markierungszeichen 67,
das auch als "Cachespeicher"-Markierungszeichen bezeichnet wird,
wird an das Synchronisationstoken für den direkt zugeordneten Datenbestand
angefügt.
Somit zeigt das Cachespeicher-Markierungszeichen an, ob der Datenbestand
gerade im Cachespeicher 39 bis 40 gespeichert
ist, d.h., es zeigt eine "1" an, oder ob er im
Sicherungsspeicher 20 gespeichert ist, d.h., es zeigt eine "0" an. Hier kann ein "Cachespeicher"-Markierungszeichen anzeigen, dass sich
ein Datenbestand im Cachespeicher oder im Sicherungsspeicher befindet,
so dass es auch als "Sicherungsspeicher"-Markierungszeichen
bezeichnet wird.
-
Nimmt
man die Beispiele der Tabellen 61 und 62, sind
die Synchronisationstoken 66 beim Datenbestand "0001" unterschiedlich
und entsprechen damit der Patentanmeldung von Day III u.a., wobei
die Bibliothek, die den Datenbestand mit dem aktuellsten Synchronisationstoken
hat, die Bibliothek "1", zur Bereitstellung
des Datenbestands ausgewählt
wird, und die angefügten
Cachespeicher-Markierungszeichen 67 bleiben unberücksichtigt.
Das Gegenteil gilt für den
Datenbestand "0002", wobei die Bibliothek "2" das aktuellste Synchronisationstoken
hat.
-
Mit
Bezug auf den Datenbestand "0003" sind die Synchronisationstoken
gleich. Dies ist der Normalfall, wenn die Bibliotheken normal funktionieren. Folglich
wählt die
anfordernde Steuerkomponente 71 bis 74 den Datenbestand
aus, der sich im Cachespeicher befindet, wie vom Cachespeicher-Markierungszeichen "1" 67 für die Bibliothek "1" angezeigt wird, und nicht den Datenbestand,
der sich im Sicherungsspeicher befindet, wie vom Cachespeicher-Markierungszeichen "0" 67 für die Bibliothek "2" angezeigt wird.
-
5 stellt
alternative Anzeiger dar, die aus einem Binärcode 90 für Cachespeicher-Markierungszeichen
bestehen. Wie gezeigt ist, wird der schnelle Cachespeicher 39 mit
dem Code "11" angegeben, der andere
Cachespeicher 40 wird mit dem Code "10",
der Sicherungsspeicher (1) 20, auf den über die Laufwerke 34 zugegriffen
werden kann, wird mit dem Code "01" und der Sicherungsspeicher
(2) 20, auf den über
die Laufwerke 35 zugegriffen werden kann, wird mit dem
Code "00" angegeben.
-
Als
Alternative kann der Sicherungsspeicher (1), Code "01", Datenträger angeben,
die sich gerade in einem Laufwerk 34 bis 35 befinden,
und der Sicherungsspeicher (2), Code "00",
kann Datenträger
in den Speicherfächern 20 darstellen.
Als weitere Alternative kann der Sicherungsspeicher (1) außerdem Datenträger umfassen,
die von einem Roboter 22 transportiert werden.
-
Die 6A und 6B stellen
die Cachespeicher-Markierungszeichen 68 dar,
welche die Codes 90 der Tabelle von 5 verwenden.
Die Cachespeicher-Markierungszeichen 68 sind Bits an einer bestimmten
Stelle in einer Tabelle in jeder Bibliothek. Die Tabellen 61 und 62 sind
nochmals für
die Bibliotheken "1" und "2", wie zum Beispiel die Bibliotheken 14 und 15,
dargestellt. Wieder befindet sich jede Tabelle vorzugsweise in der
Datenbank 36 der Bibliothek. Jede Tabelle setzt den Datenbestand
(die VOLSER) 65 mit dem direkt zugeordneten Synchronisationstoken 66 in
Beziehung und hält
dabei das Synchronisationstoken aufrecht und speichert es. Das "Cachespeicher"-Markierungszeichen 68 kann
an das Synchronisationstoken für
den direkt zugeordneten Datenbestand angefügt werden. Somit zeigt das Cachespeicher- Markierungszeichen
an, ob der Datenbestand gerade im schnellen Cachespeicher 39 gespeichert
ist, d.h., es zeigt eine "11" an, oder ob er in
dem anderen Cachespeicher 40 gespeichert ist, d.h., es
zeigt eine "10" an, oder ob er im
Sicherungsspeicher 20 gespeichert ist, d.h., er zeigt eine "01" für den Sicherungsspeicher
(1) und "00" für den Sicherungsspeicher
(2) an.
-
Nimmt
man die Beispiele der Tabellen 61 und 62, sind
die Synchronisationstoken 66 bei den veranschaulichten
Datenbeständen
gleich, wobei dies die typische Situation ist, wenn die Bibliotheken
normal arbeiten. Folglich liefern die Bibliotheken die Cachespeicher-Markierungszeichen,
die den Synchronisationstoken für
den Datenbestand angefügt
sind. Dann wird die Bibliothek ausgewählt, die den Datenbestand mit
dem Markierungszeichen der höchsten Ebene
hat, was anzeigt, dass sich der Datenbestand in dem Speicher befindet,
der einen schnelleren Zugriff auf die Daten ermöglicht.
-
Beispielsweise
hat das Cachespeicher-Markierungszeichen für den Datenbestand "0001" in der Bibliothek "1" den Wert "11",
der anzeigt, dass sich der Datenbestand im schnellen Cachespeicher 39 befindet,
während
das Markierungszeichen in der Bibliothek "2" den
Wert "10" hat, der anzeigt,
dass sich der Datenbestand in dem anderen Cachespeicher 40 befindet.
Folglich wählt
die Steuerkomponente die Bibliothek "1" aus.
Das Cachespeicher-Markierungszeichen für den Datenbestand "0002" hat in der Bibliothek "1" den Wert "10" und
in der Bibliothek "2" den Wert "01", was bedeutet, dass
sich der Datenbestand in der Bibliothek "1" im
Cachespeicher 40 und in der Bibliothek "2" im
Sicherungsspeicher befindet. Daher wird der Datenbestand von der
Bibliothek ausgewählt,
bei der er sich im Cachespeicher befindet, d.h. der Bibliothek "1".
-
Mit
Bezug auf den Datenbestand "0003" sind die Synchronisationstoken
gleich, und die Cachespeicher-Markierungszeichen
zeigen an, dass beide Bibliotheken den Datenbestand im Sicherungsspeicher
speichern. Gemäß der vorliegenden
Erfindung wählt
die anfordernde Steuerkomponente 71 bis 74 den
Datenbestand aus, der sich im Sicherungsspeicher (1) befindet, was
vom Cachespeicher-Markierungszeichen "01" für die Bibliothek "1" angezeigt wird, und nicht den Datenbestand,
der sich im Sicherungsspeicher (2) befindet, was vom Cachespeicher-Markierungszeichen "00" 68 für die Bibliothek "2" angezeigt wird.
-
7 basiert
auf der Patentanmeldung von Day III u.a., die Bestandteil hiervon
ist, und wie darin erörtert
wird, wobei ferner Bezug auf 1 genommen
wird, adressieren die Hosts 11 bis 12 die Steuerkomponenten über Zugriffsadressen,
zu denen Datenspeicherlaufwerk-Adressen gehören können, sie liefern die zu speichernden
Datenbestände
und empfangen die Datenbestände,
auf die zugegriffen wurde. Im Schritt 75 empfangen die
Steuerkomponenten, die sowohl von den Hosts als auch von jeder der Datenspeicherbibliotheken 14 bis 15 getrennt
sind, Befehle von den Hosts 11 bis 12, die sich
auf feststellbare Datenbestände
beziehen. Im Schritt 76 antworten die Steuerkomponenten
auf einzelne von getrennt partitionierten Zugriffsadressen, die
von den Hosts angesprochen werden, und auf zugehörige Datenbestände. Im
Schritt 77 fordert die Steuerkomponente, die auf eine partitionierte
Zugriffsadresse und auf eine Abrufanforderung für einen Datenbestand antwortet,
zuerst Synchronisationstoken von allen Datenspeicherbibliotheken
an, die den Datenbestand speichern. Im Schritt 78 prüft die Steuerkomponente
dann die Synchronisationstoken, die sie von den Bibliotheken empfangen
hat, und ermittelt die Bibliothek(en), die das aktuellste Synchronisationstoken
für den
Datenbestand haben. Im Schritt 79 wählt die Steuerkomponente schließlich eine
ermittelte Bibliothek aus.
-
Falls
ein Host eine Schreiboperation anfordert, die lediglich einen "temporären" Datenbestand anfordert,
steht der Datenbestand im Cachespeicher an allen Datenspeicherbibliotheken
zur Verfügung. Somit
werden die Schritte 77 und 78 übersprungen, oder der Schritt 79 wird übersprungen,
und der Schritt 78 behandelt alle "temporären" Datenbestände so, als hätten sie
das aktuellste Synchronisationstoken.
-
Die
vorliegende Erfindung kann mit einem einzigen Host oder Server eingesetzt
werden, der die Funktion von nur einer einzigen Steuerkomponente ausführt. Daher
kann sich "Steuerkomponente" auf die Steuerkomponenten 71 bis 74 oder
auf einen Host 11 oder 12 beziehen, der die Funktion
einer Steuerkomponente ausführt,
die eine ermittelte Bibliothek auswählt, um auf einen angeforderten
Datenbestand zuzugreifen.
-
Falls
mehr als eine Bibliothek das aktuellste Synchronisationstoken hat,
das dem Datenbestand direkt zugeordnet ist, und falls mehr als eines
in dem Speicher mit der schnellsten Zugriffsebene gespeichert ist,
wählt die
Steuerkomponente gemäß der vorliegenden
Erfindung eine der Bibliotheken auf der Grundlage des relativen
Auslastungsgrads der Bibliotheken aus. Gemäß der vorliegenden Erfindung werden
die Anzeiger für
den relativen Auslastungsgrad von den Bibliotheken festgelegt und
können
an das Synchronisationstoken angefügt werden.
-
In 8 ist
eine Ausführungsform
der vorliegenden Erfindung veranschaulicht, die mit Hilfe des Ruhezeitstatus 200 einer
jeden Bibliothek die Arbeitslast gleichmäßig verteilt. Wie in 8 dargestellt
ist, stellt die Bibliothek der Steuerkomponente den Ruhezeitstatus
bereit, indem sie ihn in codierter Form an das Synchronisationstoken 201 anfügt. Wie in
der Patentanmeldung von Bish u.a., die Bestandteil hiervon ist,
erörtert
wurde, umfasst das Synchronisationstoken die Kennung des direkt
zugeordneten Datenbestands 204, die Kennung der Bibliothek 205, die
den direkt zugeordneten Datenbestand speichert, die Aktualisierungsstufe
des Synchronisationstokens 206 und das Cachespeicher-Markierungszeichen 207,
das die Zugriffsebene des gespeicherten Datenbestands anzeigt. Alternativ
dazu kann der Ruhezeitstatus der Steuerkomponente vom Synchronisationstoken
getrennt in einer separaten Mitteilung übermittelt werden, was aber
weniger effizient. wäre.
-
Eine
Steuerkomponente 71 bis 74 fordert einen Datenbestand
an (1, 2 und 7), und die
Bibliothek-Steuereinheit 30 einer jeden Bibliothek ermittelt
deren aktuellen Ruhezeitstatus 200 und stellt ihn der anfordernden
Steuerkomponente in codierter Form bei der Übergabe des Synchronisationstoken 201,
das dem angeforderten Datenbestand direkt zugeordnet ist, bereit.
-
Die
Steuerkomponente 71 bis 74 liest die Synchronisationstoken,
die dem Datenbestand von den Datenspeicherbibliotheken 14 bis 15 direkt
zugeordnet sind, und stellt anhand der gelesenen Token fest, ob
sich eine Vielzahl der redundanten Kopien des Datenbestands auf
der neuesten Aktualisierungsstufe und auf derselben Zugriffsebene
und sich keine Kopien des Datenbestands auf einer schnelleren Zugriffsebene
befinden, so dass die Kopien des Datenbestands in den Datenspeicherbibliotheken
auf derselben schnellsten verfügbaren
Zugriffsebene gespeichert werden. Dazu gehören auch "temporäre" ("SCRATCH"-)Datenbestände auf
derselben schnellsten verfügbaren
Zugriffsebene.
-
Nachdem
die Steuerkomponente 71 bis 74 festgestellt hat,
dass sich mindestens zwei der Kopien des Datenbestands auf derselben
schnellsten verfügbaren
Zugriffsebene befinden, vergleicht sie den bereitgestellten Ruhezeitstatus
der Datenspeicherbibliotheken, die diese Kopien speichern, und gibt
an, welche Bibliothek den größeren. Ruhezeitstatus
bereitstellt. Anschließend
greift die Steuerkomponente auf den Datenbestand von der angegebenen
Datenspeicherbibliothek zu.
-
Der
Ruhezeitstatus kann einen beliebigen Anzeiger oder eine Kombination
von Anzeigern umfassen, die sich auf die Auslastung der Bibliothek
beziehen. Zu Beispielen für
den Ruhezeitstatus gehören
der Prozentsatz der verfügbaren
Betriebszeit, den die Bibliothek inaktiv ist, er kann aus dem Prozentsatz
der verfügbaren
Betriebszeit, den die Bibliothek inaktiv ist, und dem Prozentsatz
der verfügbaren Betriebszeit,
den sich die Bibliothek im E/A-Wartezustand befindet, zusammengesetzt
sein, und/oder er kann einen Hinweis darauf beinhalten, dass die
Bibliothek eine "Drosselung" vornimmt, was nachstehend erläutert wird.
-
9 stellt
ein Beispiel für
die Umlagerung von Datenbeständen
und das Anfügen
von Markierungsanzeigern an die Synchronisationstoken gemäß der Patentanmeldung
von Bish u.a. dar, die Bestandteil hiervon ist. Der Prozess der
Speicherung beginnt im Schritt 120 mit dem Empfang des
Datenbestands von einer Steuerkomponente 71 bis 74.
-
Die
Bibliothek-Steuereinheit 30 speichert im Schritt 122 den
Datenbestand im schnellen Cachespeicher 39 (1, 2, 6A, 6B und 8),
und im Schritt 123 speichert sie das aktualisierte Synchronisationstoken 66,
das dem Datenbestand direkt zugeordnet ist, in der Tabelle 61 oder 62 der
Datenbank 36. Im Schritt 124 setzt die Bibliothek-Steuereinheit
dann den Anzeiger 68 in der Tabelle 61 oder 62 auf
ein Markierungszeichen für
den schnellen Cachespeicher, wie zum Beispiel das Markierungszeichen "11", das an das Synchronisationstoken
angefügt
wird.
-
Wenn
der Datenbestand nicht abgerufen oder wenn nicht auf ihn zugegriffen
wird, ordnet ein Algorithmus der Bibliothek-Steuereinheit 30 daraufhin
die Umlagerung des Datenbestands an. Im Schritt 128 lagert
die Bibliothek-Steuereinheit den Datenbestand folglich aus dem schnellen
Cachespeicher 39 in den anderen Cachespeicher 40 um,
und im Schritt 129 ändert
sie das Markierungszeichen 68 in der Tabelle 61 oder 62 in
das andere Cachespeicher-Markierungszeichen, z.B. "10". Der Fachmann versteht, dass
der verwendete Umlagerungsalgorithmus frei gewählt werden kann.
-
Wenn
der Datenbestand nicht abgerufen wird, lagert die Bibliothek-Steuereinheit
den Datenbestand dann aus dem Cachespeicher 39 bis 40 in den
Sicherungsspeicher 20 um. In einer Ausführungsform wird der Datenbestand
im Schritt 130 einem Algorithmus entsprechend entweder
in den Sicherungsspeicher (1) oder in den Sicherungsspeicher (2)
umgelagert. Beispiele für
solche Algorithmen sind dem Fachmann bekannt, und bei diesen Beispielen
kann der Datenbestand direkt dem Sicherungsspeicher zugeordnet werden,
in dem andere Datenbestände,
die Ähnlichkeiten
aufweisen, gespeichert werden, oder der Datenbestand kann dem Sicherungsspeicher
zugeordnet werden, der mit dem wahrscheinlich zukünftigen
Abruf des Datenbestands in nächstem
Zusammenhang steht. Im Schritt 132 wird das Cachespeicher-Markierungszeichen 68 in der
Tabelle 61 oder 62 von der Bibliothek-Steuereinheit 30 von
einem Cachespeicher-Markierungszeichen, wie zum Beispiel dem anderen
Cachespeicher-Markierungszeichen "10",
in das Cachespeicher-Markierungszeichen für den Sicherungsspeicher geändert, z.B.
in "01" für den Sicherungsspeicher
(1) oder "00" für den Sicherungsspeicher
(2).
-
Alternativ
dazu wird der Datenbestand im Schritt 135 zuerst einem
Algorithmus entsprechend in den Sicherungsspeicher (1) umgelagert.
Nachdem die Umlagerung erfolgt ist, ändert die Bibliothek-Steuereinheit 30 im
Schritt 136 in der Tabelle 61 oder 62 das
Markierungszeichen von einem Cachespeicher-Markierungszeichen in das Markierungszeichen,
das den Sicherungsspeicher (1) anzeigt, z.B. "01".
Wenn der Datenbestand wieder nicht abgerufen oder wenn wieder nicht
auf ihn zugegriffen wird, lagert die Bibliothek-Steuereinheit 30 den
Datenbestand anschließend
im Schritt 140 entsprechend einem Algorithmus aus dem Sicherungsspeicher
(1) weiter in den Sicherungsspeicher (2) um, und im Schritt 141 ändert sie
das Markierungszeichen 68 in der Tabelle 61 oder 62 von
der Anzeige des Sicherungsspeichers (1) in die Anzeige des Sicherungsspeichers
(2), z.B. in "00".
-
Wenn
eine Steuerkomponente einen Datenbestand anfordert, fügt die Bibliothek-Steuereinheit 30 einer
jeden Bibliothek dann das Markierungszeichen 67 der Tabelle 61 oder 62 von 4A oder 4B oder
das Markierungszeichen 68 der Tabelle 61 oder 62 von 6A oder 6B an
das Synchronisationstoken 201 von 8 an, das
als Markierungszeichen 207 gezeigt ist. Anschließend stellt
die Bibliothek der anfordernden Steuerkomponente 71 bis 74 das
Synchronisationstoken zur Verfügung.
-
Gemäß einer
Ausführungsform
der vorliegenden Erfindung (10) ermittelt
eine Datenspeicherbibliothek 14 bis 15 außerdem den
Ruhezeitstatus der Bibliothek und stellt ihn der anfordernden Steuerkomponente
bereit, beispielsweise indem sie ihn an das Synchronisationstoken
anfügt.
-
Im
Schritt 210 empfängt
eine Bibliothek 14 bis 15 die Anforderung für das Synchronisationstoken
von einer Steuerkomponente 71 bis 74. Im Schritt 211 greift
die Bibliothek-Steuereinheit 30 entsprechend der Patentanmeldung
von Bish u.a., die Bestandteil hiervon ist, auf das Synchronisationstoken 201 für den direkt
zugeordneten Datenbestand zu und fügt das Cachespeicher-/Sicherungsspeicher-Markierungszeichen 67 oder 68,
das die Zugriffsebene des Datenbestands anzeigt, so an, wie es in der
Bibliothek gespeichert ist, z.B. als das Markierungszeichen 207.
Ein "temporärer" Datenbestand kann
mit einem Token von null versehen oder als "temporär" ("SCRATCH") ausgewiesen werden.
-
Gemäß der vorliegenden
Erfindung ermittelt die Bibliothek-Steuereinheit 30 den Ruhezeitstatus. In
einer Ausführungsform
ermittelt die Bibliothek-Steuereinheit 30 im Schritt 220 den
Prozentsatz der verfügbaren
Betriebszeit, den die Bibliothek inaktiv ist. Wenn die Bibliothek
beispielsweise vollkommen inaktiv ist, beträgt der Prozentsatz der verfügbaren Betriebszeit,
den die Bibliothek inaktiv ist, 100 %. In einer Ausführungsform
der vorliegenden Erfindung ist der im Schritt 220 ermittelte
Prozentsatz der Ruhezeit der Ruhezeitstatus.
-
Gemäß einer
alternativen Ausführungsform der
Erfindung setzt sich der Ruhezeitstatus aus dem Prozentsatz der
verfügbaren
Betriebszeit, den die Bibliothek inaktiv ist, und dem Prozentsatz
der verfügbaren
Betriebszeit, den sich die Bibliothek im E/A-Wartezustand befindet,
zusammen. Somit umfasst der Schritt 221 die Ermittlung
des Prozentsatzes der verfügbaren
Betriebszeit, den sich die Bibliothek im E/A-Wartezustand befindet. Im E/A-Wartezustand
ist die Bibliothek nicht inaktiv, sondern könnte arbeiten. Als ein Beispiel
für die
Zusammensetzung des Ruhezeitstatus aus dem Prozentsatz des inaktiven
Zustands und dem Prozentsatz des E/A-Wartezustands umfasst der Algorithmus,
der den aktuellen Ruhezeitstatus ermittelt, folgende Berechnung:
(100 % abzüglich
des Prozentsatzes der verfügbaren
Betriebszeit, den die Bibliothek inaktiv ist) + ((100 % abzüglich des
Prozentsatzes der verfügbaren
Betriebszeit, den sich die Bibliothek im E/A-Wartezustand befindet)/2), wobei der
kleinere summierte Prozentsatz den größeren Ruhezeitstatus umfasst.
-
Eine
Datenspeicherbibliothek kann mit Schreiboperationen in den Cachespeicher
so überlastet
werden, dass sie nicht alle Eingabebefehle sofort verarbeiten kann.
Der Cachespeicher steht erst wieder für neue Schreib- und Aktualisierungsoperationen
zur Verfügung,
wenn andere Datenbestände aus
dem Cachespeicher umgelagert werden. Wie der Fachmann weiß, kann
eine Bibliothek dann eine Verzögerung
in Bezug auf jeden Eingabebefehl von den Steuerkomponenten oder
Hosts ausgeben, die eine "Schreib"-Operation in den
Cachespeicher 40 veranlassen. Die Ausgabe von Verzögerungen
wird als "Drosselung" bezeichnet und in
der US-Patentschrift Nr. 5 926 834 erörtert.
-
An
einem bestimmten Punkt, wenn der Cachespeicher 40 voll
ist und die Bibliothek sehr viel Arbeit hat, nimmt die Bibliothek
eine "vollkommene Drosselung" vor. In einer Ausführungsform
wird im Schritt 222 ermittelt, ob die Stufe der "vollkommenen Drosselung" erreicht wurde.
Wenn ja, wird im Schritt 223 ein Drosselungs-Markierungszeichen
gesetzt, das einen speziellen Ruhestatus-Anzeiger umfassen kann.
Wenn die Stufe der vollkommenen Drosselung nicht erreicht wurde, "NEIN" im Schritt 222,
berechnet die Bibliothek-Steuereinheit 30 im Schritt 225 den aktuellen
Ruhezeitstatus.
-
Die
Berechnung kann entsprechend dem vorstehenden Algorithmus erfolgen,
und die Drosselung kann in die Berechnung einfließen, beispielsweise
indem zu dem oben ermittelten Wert (150) + ((Drosselungsverzögerungszeit
in Millisekunden/2) addiert werden.
-
Somit
können
die im Schritt 225 entsprechend dem beispielhaften Algorithmus
ermittelten Werte (0 bis 100) umfassen, die anzeigen, dass die Bibliothek
Ruhezeit hat, und je niedriger der Wert ist, desto größer sind
die Ruhezeit und der Ruhezeitstatus. Werte von (100 bis 150) zeigen
an, dass die Bibliothek beschäftigt
ist, aber die Bibliothek-Steuereinheit
befindet sich eine Zeit lang in einem E/A-Wartezustand und kann dennoch arbeiten.
Bei einer Drosselung betragen die Werte (150 bis 250). Als alternative
Ausführungsform
zu den Schritten 222 und 223 kann ein Wert von
250 im Schritt 225 eine vollkommene Drosselung anzeigen.
Wenn im Schritt 222 folglich bekannt ist, dass die Bibliothek
eine vollkommene Drosselung durchführt, kann der Schritt 223 den
Ruhezeitstatuswert von 250 bereitstellen.
-
Wie
vorstehend erörtert
wurde, wird in einer Ausführungsform
der Erfindung im Schritt 230 der aktuelle codierte Ruhezeitstatus 200 von 8,
der im Schritt 225 ermittelt oder im Schritt 223 bereitgestellt wird,
an das Synchronisationstoken 201 angefügt, das dem angeforderten Datenbestand
direkt zugeordnet ist. Im Schritt 231 stellt die Bibliothek
der anfordernden Steuerkomponente 71 bis 74 dann
das Synchronisationstoken mit angefügtem aktuellem Ruhezeitstatus-Anzeiger
zur Verfügung.
-
Der
Fachmann kann die obigen Schritte anders anordnen oder einen anderen,
aber ähnlichen Algorithmus
zur Ermittlung des Ruhezeitstatus 200 verwenden.
-
11 stellt
eine Ausführungsform
der vorliegenden Erfindung dar, bei der die Steuerkomponente oder
der Host den Schritt 79 von 7 durchführt, in
dem er eine Bibliothek für
den Zugriff auf den angeforderten Datenbestand auswählt. Im
Schritt 240 liest die Steuerkomponente 71 bis 74 (oder
der Host, wie vorstehend erörtert
wurde) die Synchronisationstoken 201, die von jeder der
Datenspeicherbibliotheken 14 bis 15 geliefert
wurden, welche eine Kopie des angeforderten Datenspeicherbestands
haben. Wie vorstehend erörtert
wurde, werden die "temporären" Datenbestände entweder
als solche ausgewiesen, oder bei ihnen werden die Synchronisationstoken
auf null gesetzt.
-
Alternativ
dazu zeigt der Hinweis, dass der Befehl ein Schreibbefehl ist, an,
dass keine Synchronisationstoken benötigt werden, und die Bibliotheken werden
so behandelt, als ob sich die Synchronisationstoken auf derselben
neuesten Aktualisierungsstufe befänden. Im Schritt 241 stellt
die Steuerkomponente anhand der Angabe der Aktualisierungsstufe des
Synchronisationstoken 206 fest, ob mehr als eine Bibliothek über die
aktuellste Kopie verfügt.
Temporäre
("SCRATCH"-)Datenbestände haben
gleiche Synchronisationstoken oder werden so behandelt, als ob sie
gleich wären.
Wenn dies nicht der Fall ist, wird die Bibliothek, die über die
aktuellste Kopie verfügt,
im Schritt 243 ausgewählt.
Wenn mehr als eine Bibliothek über
die aktuellste Kopie verfügt,
liest die Steuerkomponente im Schritt 245 die Cachespeicher-/Sicherungsspeicher-Markierungszeichen 207 von
allen aktuellsten Synchronisationstoken.
-
Im
Schritt 248 stellt die Steuerkomponente fest, ob alle Markierungszeichen
gleich sind, oder sie stellt fest, dass mindestens zwei der Markierungszeichen
die schnellste Zugriffsebene angeben, was anzeigt, dass die aktuellste
Kopie des Datenbestands auf derselben schnellsten Zugriffsebene
in mindestens zwei Bibliotheken gespeichert wird. Zum Beispiel kann
die schnellste Speicherzugriffsebene einen Cachespeicher im Gegensatz
zu einem Sicherungsspeicher umfassen. Folglich kann der Datenbestand
im Speicher 39 in einer Bibliothek und im Speicher 40 in
einer anderen Bibliothek gespeichert werden, aber beide werden als
die schnellste Zugriffsebene betrachtet, wie in den 4A und 4B von den
Markierungszeichen 67 angegeben wird. Die Feststellung
kann ergeben, dass sich mindestens zwei der direkt zugeordneten
redundanten Kopien des Datenbestands, die in den Datenspeicherbibliotheken
gespeichert werden, im Cachespeicher befinden, und sonst keine Kopien,
die sich auf derselben neuesten Aktualisierungsstufe befinden, im
Cachespeicher abgelegt sind, sondern dass sie sich alle im Sicherungsspeicher
befinden.
-
Alternativ
dazu kann der Cachespeicher 39 als eine schnellere Speicherzugriffsebene
als der Cachespeicher 40 betrachtet werden, wie von den
Markierungszeichen 68 in den 6A und 6B angezeigt
wird. Wenn nur eine der aktuellsten Kopien auf der schnellsten Speicherzugriffsebene
gespeichert wird, wird im Schritt 250 die Bibliothek, die
diese Kopie speichert, ausgewählt.
Wie vorstehend erörtert wurde,
reservieren die Bibliotheken Platz auf der schnellsten Cachespeicher-Zugriffsebene für temporäre ("SCRATCH"-)Datenbestände. Somit
sind entweder die Markierungszeichen gleich und zeigen damit dieselbe
schnellste Cachespeicher-Zugriffsebene an, oder der Hinweis, dass
der Befehl ein Schreibbefehl ist, zeigt an, dass keine Markierungszeichen
benötigt
werden, und die Bibliotheken werden so behandelt, als ob sich die
Markierungszeichen auf derselben schnellsten Zugriffsebene befänden.
-
Daher
werden temporäre
("SCRATCH"-)Datenbestände hier
als Datenbestände
definiert, welche dieselben Synchronisationstoken, die dieselbe schnellste
Aktualisierungsstufe anzeigen, und dieselben Markierungszeichen,
die dieselbe schnellste Zugriffsebene anzeigen, haben.
-
Wenn
die Markierungszeichen im Schritt 248 gleich sind, befinden
sich mindestens zwei aktuellste Kopien des Datenbestands auf der
schnellsten Speicherzugriffsebene in den Bibliotheken.
-
Gemäß der vorliegenden
Erfindung liest die Steuerkomponente im Schritt 252 den
Ruhezeitstatus der Bibliotheken, welche die Synchronisationstoken
bereitstellen, die dem angeforderten Datenbestand direkt zugeordnet
sind. Im Schritt 253 stellt die Steuerkomponente fest,
ob eine Bibliothek eine vollkommene Drosselung vornimmt. Wie vorstehend
erwähnt
wurde, kann die Drosselung durch ein bestimmtes Zeichen oder einen
bestimmten Wert festgestellt werden oder indem einem Algorithmus
entsprechend ein Höchstwert
erreicht wird. Alternativ dazu kann der Schritt 253 das
Erkennen einer Drosselung umfassen, die beispielsweise durch einen Wert
von 150 oder einem höheren
Wert in dem obigen Algorithmus angegeben wird.
-
Im
Anschluss an die im Schritt 253 erfolgte Angabe, dass mindestens
eine der Bibliotheken eine Drosselung vornimmt, wird im Schritt 255 festgestellt, ob
alle Bibliotheken eine Drosselung (oder eine vollkommene Drosselung)
vornehmen. Wenn nicht alle Bibliotheken eine Drosselung vornehmen,
wird im Schritt 256 die Bibliothek ausgewählt, die
keine Drosselung vornimmt. Wenn alle Bibliotheken eine Drosselung
vornehmen, wird im Schritt 257 ein normaler Algorithmus,
wie zum Beispiel ein Round-Robin-Algorithmus, verwendet, um die
Datenspeicherbibliothek für
den Zugriff auf den Datenbestand auszuwählen.
-
Wenn
der Schritt 253 anzeigt, dass keine Bibliothek eine Drosselung
(oder eine vollkommene Drosselung) vornimmt, vergleicht die Steuerkomponente
im Schritt 260 den Ruhezeitstatus 200 der einzelnen
Bibliotheken. Im optionalen Schritt 261 stellt die Steuerkomponente
fest, ob der Unterschied zwischen dem jeweiligen Ruhezeitstatus
der Bibliotheken einen Schwellenwert überschreitet. Als ein Beispiel
und unter Verwendung des vorstehenden Algorithmus kann der Schwellenwert
einen Wert von 25 haben. Wenn somit beide Bibliotheken ungefähr dasselbe
Aktivitätsniveau
und fast denselben Ruhezeitstatus, "NEIN",
haben, wird die Bibliothek im Schritt 257 mit Hilfe eines
normalen Algorithmus ausgewählt.
-
Wenn
die Bibliotheken, welche die aktuellsten Kopien auf derselben schnellsten
Speicherzugriffsebene speichern, jedoch unterschiedlich ausgelastet
sind, so dass jede Bibliothek einen anderen Ruhezeitstatus hat,
oder wenn dieser Unterschied einen Schwellenwert überschreitet,
wie im Schritt 261 angegeben ist, wählt die Steuerkomponente im Schritt 270 die
Bibliothek mit dem größten Ruhezeitstatus
aus. Folglich wird die Datenspeicherbibliothek ausgewählt, welche
die größte freie
Arbeitskapazität hat.
-
Durch
Auswahl der Bibliothek, die in dem Augenblick, in dem ein Datenbestand
ausgewählt
wird, die größte freie
Arbeitskapazität
hat, wird die Arbeitslast zwischen den Bibliotheken gleichmäßig verteilt. Folglich
wählt die
vorliegende Erfindung die Datenspeicherbibliothek für den Zugriff
auf eine redundante Kopie eines feststellbaren Datenbestands aus,
um die Arbeitslast zwischen den Datenspeicherbibliotheken gleichmäßig zu verteilen.
-
Während die
bevorzugten Ausführungsformen
der vorliegenden Erfindung ausführlich
dargestellt wurden, sollte es offensichtlich sein, dass sich der
Fachmann Änderungen
und Anpassungen an diesen Ausführungsformen
vorstellen kann, ohne vom Umfang der vorliegenden Erfindung, die
in den folgenden Ansprüchen
dargelegt ist, abzuweichen.