DE10055603A1 - Ausgewogener Zugriff auf Datenbestände mit redundanten Kopien, die in Datenspeicherbibliotheken abgelegt werden - Google Patents
Ausgewogener Zugriff auf Datenbestände mit redundanten Kopien, die in Datenspeicherbibliotheken abgelegt werdenInfo
- Publication number
- DE10055603A1 DE10055603A1 DE10055603A DE10055603A DE10055603A1 DE 10055603 A1 DE10055603 A1 DE 10055603A1 DE 10055603 A DE10055603 A DE 10055603A DE 10055603 A DE10055603 A DE 10055603A DE 10055603 A1 DE10055603 A1 DE 10055603A1
- Authority
- DE
- Germany
- Prior art keywords
- library
- data storage
- data
- access
- libraries
- 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.)
- Granted
Links
- 230000015654 memory Effects 0.000 title claims abstract description 162
- 238000000034 method Methods 0.000 title claims abstract description 21
- 230000004044 response Effects 0.000 claims abstract 11
- 238000013500 data storage Methods 0.000 claims description 206
- 230000004622 sleep time Effects 0.000 claims description 33
- 238000004422 calculation algorithm Methods 0.000 claims description 23
- 238000004590 computer program Methods 0.000 claims description 14
- 238000004364 calculation method Methods 0.000 claims description 5
- 239000003550 marker Substances 0.000 description 9
- 238000010586 diagram Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 7
- 230000003287 optical effect Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 239000000969 carrier Substances 0.000 description 3
- 238000013508 migration Methods 0.000 description 3
- 230000005012 migration Effects 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 241001522296 Erithacus rubecula Species 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000008707 rearrangement Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000004615 ingredient Substances 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/93—Document management systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1666—Error detection or correction of the data by redundancy in hardware where the redundant component is memory or memory area
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
Ein Datenspeicherbibliothek-System mit einer Vielzahl von Datenspeicherbibliotheken und mindestens einer Steuerkomponente greift auf eine redundante Kopie eines feststellbaren Datenbestands zu, wobei es den Ruhezeitstatus einer jeden Bibliothek zur gleichmäßigen Verteilung der Arbeitslast verwendet. Die Datenbestände können im Cachespeicher und im Sicherungsspeicher gespeichert werden, die unterschiedliche Zugriffsgeschwindigkeiten haben. Eine Steuerkomponente fordert einen Datenbestand an, und die Bibliothek-Steuereinheit einer jeden Bibliothek ermittelt deren aktuellen Ruhezeitstatus und stellt ihn der anfordernden Steuerkomponente bei der Übergabe eines Synchronisationstoken bereit, das dem angeforderten Datenbestand direkt zugeordnet ist. Das Token gibt die Aktualisierungsstufe und die Zugriffsebene des Datenbestands in der Bibliothek an. Nachdem die Steuerkomponente anhand der Token festgestellt hat, dass sich mindestens zwei der Kopien des Datenbestands auf derselben schnellsten verfügbaren Zugriffsebene befinden, vergleicht sie den bereitgestellten Ruhezeitstatur der Bibliotheken, die diese Kopien speichern, und greift auf den Datenbestand von der Bibliothek zu, die den größeren Ruhezeitstatus hat.
Description
Die US-Patentanmeldung mit der Anmeldenummer 09/283 223 von K.
F. Day III u. a. wird aufgrund dessen, dass sie ein
Datenspeicherbibliothek-System zeigt, das über
Steuerkomponenten (directors) verfügt, um mehrere Kopien von
Daten in System-Datenspeicherbibliotheken zu speichern und zu
überwachen, hierin einbezogen.
Die US-Patentanmeldung mit der Anmeldenummer 09/391 186 von T.
W. Bish u. a. wird aufgrund dessen, dass sie ein
Datenspeicherbibliothek-System zeigt, das dazu dient,
Datenbestände von mehreren Datenspeicherbibliotheken, die über
einen Cachespeicher und einen Sicherungsspeicher verfügen, zu
überwachen und auf diese zuzugreifen, hierin einbezogen.
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 die Datenbestände
unterschiedlich hoch ist, wie zum Beispiel einen Cachespeicher
und einen Sicherungsspeicher, und insbesondere den Zugriff auf
Kopien von Datenbeständen von den Datenspeicherbibliotheken.
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, beidem
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 einbezogenen
Patentanmeldung 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.
In der einbezogenen 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 gemeinsam übertragenen
Patentanmeldung von T. W. Bish u. a., die Bestandteil hiervon
ist, 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., die Bestandteil
hiervon ist, 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.
Es ist eine Aufgabe der vorliegenden Erfindung, die
Datenspeicherbibliothek für den Zugriff auf eine redundante
Kopie eines feststellbaren Datenbestands 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.
Fig. 1 ist ein Blockschaltbild, das die Verbindung von
Funktionskomponenten eines Datenspeicherbibliothek-Subsystems
zeigt, das gemäß einer Ausführungsform der vorliegenden
Erfindung eingesetzt wird;
Fig. 2 ist ein Blockschaltbild, das die Funktionskomponenten
eines Beispiels einer Datenspeicherbibliothek von Fig. 1
zeigt, die gemäß einer Ausführungsform der vorliegenden
Erfindung verwendet wird;
Fig. 3 ist ein verallgemeinertes Diagramm von logischen
Datenträgern, die auf einem einzigen physischen Datenträger
zur Verwendung in einer Datenspeicherbibliothek von Fig. 1 und
Fig. 2 gespeichert werden;
Fig. 4A und Fig. 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;
Fig. 5 stellt die Codes für Markierungsanzeiger dar, die
Speicherebenen von Datenspeicherbeständen im Cachespeicher
oder im Sicherungsspeicher darstellen;
Fig. 6A und Fig. 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 Fig. 5,
welche die Speicherebene des Datenbestands im Cachespeicher
oder im Sicherungsspeicher angeben, anzufügen;
Fig. 7 ist ein Flussdiagramm, das eine verallgemeinerte
Ausführungsform eines Verfahrens des Datenspeicherbibliothek-
Subsystems von Fig. 1 darstellt, das gemäß einer
Ausführungsform der vorliegenden Erfindung angewendet wird;
Fig. 8 ist eine schematische Darstellung eines
Synchronisationstoken mit einem angefügten Ruhezeitstatus
gemäß einer Ausführungsform der vorliegenden Erfindung;
Fig. 9 ist ein Flussdiagramm, das alternative Verfahren der
Umlagerung von Datenbeständen und der Anfügung von
Markierungsanzeigern an die Synchronisationstoken darstellt;
Fig. 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 Fig. 2 verwendet wird; und
Fig. 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 Fig. 1 verwendet wird.
Diese Erfindung wird in der folgenden Beschreibung in
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 Fig. 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., die Bestandteil hiervon ist, ü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 Fig. 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., die Bestandteil hiervon
ist, 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., die Bestandteil hiervon
ist, 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 (Fig. 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 (Fig. 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. Fig. 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., die Bestandteil
hiervon ist, 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 (Fig.
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 (Fig. 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 Fig. 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 Fig. 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., die Bestandteil hiervon ist, 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.
Fig. 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 Fig. 6A und 6B stellen die Cachespeicher-
Markierungszeichen 68 dar, welche die Codes 90 der Tabelle von
Fig. 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.
Fig. 7 basiert auf der Patentanmeldung von Day III u. a., die
Bestandteil hiervon ist, und wie darin erörtert wird, wobei
ferner Bezug auf Fig. 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 Fig. 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
Fig. 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
(Fig. 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.
Fig. 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 (Fig. 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 Fig. 4A
oder 4B oder das Markierungszeichen 68 der Tabelle 61 oder 62
von Fig. 6A oder 6B an das Synchronisationstoken 201 von Fig.
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 (Fig.
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 Fig. 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.
Fig. 11 stellt eine Ausführungsform der vorliegenden Erfindung
dar, bei der die Steuerkomponente oder der Host den Schritt 79
von Fig. 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 Fig. 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 Fig. 6A
und 68 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 Anschlu 02876 00070 552 001000280000000200012000285910276500040 0002010055603 00004 02757ss 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.
Claims (34)
1. Verfahren, das dazu dient, auf Datenbestände von einer
Vielzahl von Datenspeicherbibliotheken als Antwort auf
Abrufanforderungen zuzugreifen, wobei die
Datenspeicherbibliotheken redundante Kopien der
Datenbestände speichern und darauf zugreifen, wobei die
Datenspeicherbibliotheken mindestens zwei
Speicherzugriffsebenen haben, um die Datenbestände zu
speichern, wobei die Zugriffsebenen unterschiedliche
Zugriffsgeschwindigkeiten auf die gespeicherten
Datenbestände haben, wobei jede Datenspeicherbibliothek
Datenbestände von den schnelleren Zugriffsebenen des
Speichers auf langsamere Zugriffsebenen des Speichers
umlagert, wobei jedem der Datenbestände ein Token direkt
zugeordnet ist, wobei das Token einen Anzeiger der
Zugriffsebene des Datenbestands in der
Datenspeicherbibliothek bereitstellt, wobei die
Abrufanforderungen außerdem die direkt zugeordneten Token
anfordern, wobei das Verfahren die folgenden Schritte
umfasst:
jede Datenspeicherbibliothek stellt den aktuellen Ruhezeitstatus der Bibliothek bereit;
als Antwort auf die Abrufanforderung für einen der Datenbestände wird das Token, das dem Datenbestand direkt zugeordnet ist, von mindestens zwei der Vielzahl der Datenspeicherbibliotheken gelesen;
anhand der gelesenen Token wird festgestellt, ob sich eine Vielzahl der direkt zugeordneten redundanten Kopien des Datenbestands 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 den Feststellungsschritt, der ergibt, dass sich mindestens zwei der direkt zugeordneten redundanten Kopien des Datenbestands, die in den Datenspeicherbibliotheken gespeichert werden, auf derselben schnellsten verfügbaren Zugriffsebene befinden, wird der bereitgestellte Ruhezeitstatus der Datenspeicherbibliotheken, welche die direkt zugeordneten redundanten Kopien speichern, verglichen;
es wird angezeigt, welche der direkt zugeordneten Datenspeicherbibliotheken den größeren Ruhezeitstatus bereitgestellt hat; und
als Antwort auf den Schritt, in dem die Ruhezeit angegeben wird, wird auf den Datenbestand von der angegebenen Datenspeicherbibliothek zugegriffen.
jede Datenspeicherbibliothek stellt den aktuellen Ruhezeitstatus der Bibliothek bereit;
als Antwort auf die Abrufanforderung für einen der Datenbestände wird das Token, das dem Datenbestand direkt zugeordnet ist, von mindestens zwei der Vielzahl der Datenspeicherbibliotheken gelesen;
anhand der gelesenen Token wird festgestellt, ob sich eine Vielzahl der direkt zugeordneten redundanten Kopien des Datenbestands 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 den Feststellungsschritt, der ergibt, dass sich mindestens zwei der direkt zugeordneten redundanten Kopien des Datenbestands, die in den Datenspeicherbibliotheken gespeichert werden, auf derselben schnellsten verfügbaren Zugriffsebene befinden, wird der bereitgestellte Ruhezeitstatus der Datenspeicherbibliotheken, welche die direkt zugeordneten redundanten Kopien speichern, verglichen;
es wird angezeigt, welche der direkt zugeordneten Datenspeicherbibliotheken den größeren Ruhezeitstatus bereitgestellt hat; und
als Antwort auf den Schritt, in dem die Ruhezeit angegeben wird, wird auf den Datenbestand von der angegebenen Datenspeicherbibliothek zugegriffen.
2. Verfahren nach Anspruch 1, wobei der Angabeschritt
darüber hinaus die Angabe umfasst, ob der Unterschied
zwischen dem größeren Ruhezeitstatus und dem
Ruhezeitstatus von der anderen der direkt zugeordneten
Bibliotheken einen Schwellenwert überschreitet; und wobei
der Schritt des Zugriffs darüber hinaus den Zugriff auf
den Datenbestand von einer der Datenspeicherbibliotheken
umfasst, die gemäß einem normalen Algorithmus bestimmt
wird, wenn der Unterschied zwischen den Ruhezeitzuständen
den Schwellenwert nicht überschreitet.
3. Verfahren nach Anspruch 1, wobei der Schritt, in dem die
Bibliothek den aktuellen Ruhezeitstatus bereitstellt, das
Anfügen des bereitgestellten Status an das Token umfasst.
4. Verfahren nach Anspruch 3, wobei der Schritt, in dem der
aktuelle Ruhezeitstatus bereitgestellt wird, die
Ermittlung des Prozentsatzes der verfügbaren Betriebszeit
umfasst, den die Bibliothek inaktiv ist.
5. Verfahren nach Anspruch 4, wobei der Schritt, in dem der
aktuelle Ruhezeitstatus bereitgestellt wird, die
Ermittlung der Zusammensetzung des 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, umfasst.
6. Verfahren nach Anspruch 5, wobei der Schritt, in dem der
aktuelle Ruhezeitstatus bereitgestellt wird, folgende
Berechnung umfasst: (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.
7. Verfahren nach Anspruch 1, wobei der Schritt, in dem der
aktuelle Ruhezeitstatus bereitgestellt wird, außerdem die
Feststellung umfasst, ob sich eine der Bibliotheken in
einem Zustand der Drosselung befindet, d. h. ihre
Operationen drosselt, und wobei der Angabeschritt
außerdem die Feststellung, ob sich eine geringere Zahl
als die Gesamtzahl der Bibliotheken in dem Zustand der
Drosselung befindet, sowie die Angabe von einer der
Bibliotheken, die sich in einem anderen Zustand als dem
Zustand der Drosselung befindet, umfasst.
8. Verfahren, das dazu dient, auf redundante Kopien von
feststellbaren Datenbeständen von einer Vielzahl von
Datenspeicherbibliotheken als Antwort auf
Abrufanforderungen zuzugreifen, wobei die redundanten
Kopien der feststellbaren Datenbestände
Aktualisierungsstufen haben; wobei die
Datenspeicherbibliotheken die redundanten Kopien der
feststellbaren Datenbestände speichern und darauf
zugreifen, wobei die Datenspeicherbibliotheken
verschiedene Speicherzugriffsebenen haben, die einen
Cachespeicher und einen Sicherungsspeicher mit
unterschiedlichen Zugriffsgeschwindigkeiten umfassen,
wobei der Cachespeicher schneller als der
Sicherungsspeicher ist, wobei jede
Datenspeicherbibliothek Datenbestände von dem schnelleren
Cachespeicher in den Sicherungsspeicher umlagert; wobei
jeder der feststellbaren Datenbestände einem
aktualisierbaren Synchronisationstoken direkt zugeordnet
ist, wobei das Synchronisationstoken die relativen
Aktualisierungsstufen der direkt zugeordneten redundanten
Kopien anzeigt und einen Speicheranzeiger bereitstellt,
der anzeigt, ob der feststellbare Datenbestand gerade im
Cachespeicher oder im Sicherungsspeicher gespeichert ist;
wobei das Verfahren die folgenden Schritte umfasst:
jede Datenspeicherbibliothek stellt den aktuellen Ruhezeitstatus der Bibliothek bereit;
als Antwort auf die Abrufanforderung für einen der feststellbaren Datenbestände wird das Synchronisationstoken, das dem Datenbestand direkt zugeordnet ist, von mindestens zwei der Vielzahl der Datenspeicherbibliotheken gelesen;
anhand der gelesenen Synchronisationstoken wird festgestellt, ob sich die direkt zugeordneten redundanten Kopien des Datenbestands auf derselben neuesten Aktualisierungsstufe befinden, und anhand des Speicheranzeigers wird festgestellt, ob sich die Kopien auf derselben neuesten Aktualisierungsstufe im Cachespeicher oder im Sicherungsspeicher befinden;
im Anschluss an den Feststellungsschritt, der ergibt, dass sich mindestens zwei der direkt zugeordneten redundanten Kopien des Datenbestands, die in den Datenspeicherbibliotheken gespeichert werden, auf derselben neuesten Aktualisierungsstufe und 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, wird der bereitgestellte Ruhezeitstatus der Datenspeicherbibliotheken, welche die direkt zugeordneten redundanten Kopien speichern, verglichen;
es wird angezeigt, welche der direkt zugeordneten Datenspeicherbibliotheken den größeren Ruhezeitstatus bereitgestellt hat; und
als Antwort auf den Schritt, in dem die Ruhezeit angegeben wird, wird auf den Datenbestand von der angegebenen Datenspeicherbibliothek zugegriffen.
wobei das Verfahren die folgenden Schritte umfasst:
jede Datenspeicherbibliothek stellt den aktuellen Ruhezeitstatus der Bibliothek bereit;
als Antwort auf die Abrufanforderung für einen der feststellbaren Datenbestände wird das Synchronisationstoken, das dem Datenbestand direkt zugeordnet ist, von mindestens zwei der Vielzahl der Datenspeicherbibliotheken gelesen;
anhand der gelesenen Synchronisationstoken wird festgestellt, ob sich die direkt zugeordneten redundanten Kopien des Datenbestands auf derselben neuesten Aktualisierungsstufe befinden, und anhand des Speicheranzeigers wird festgestellt, ob sich die Kopien auf derselben neuesten Aktualisierungsstufe im Cachespeicher oder im Sicherungsspeicher befinden;
im Anschluss an den Feststellungsschritt, der ergibt, dass sich mindestens zwei der direkt zugeordneten redundanten Kopien des Datenbestands, die in den Datenspeicherbibliotheken gespeichert werden, auf derselben neuesten Aktualisierungsstufe und 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, wird der bereitgestellte Ruhezeitstatus der Datenspeicherbibliotheken, welche die direkt zugeordneten redundanten Kopien speichern, verglichen;
es wird angezeigt, welche der direkt zugeordneten Datenspeicherbibliotheken den größeren Ruhezeitstatus bereitgestellt hat; und
als Antwort auf den Schritt, in dem die Ruhezeit angegeben wird, wird auf den Datenbestand von der angegebenen Datenspeicherbibliothek zugegriffen.
9. Verfahren nach Anspruch 8, wobei der Cachespeicher des
Weiteren eine Vielzahl von Speicherzugriffsebenen
umfasst, wobei die Ebenen unterschiedliche
Zugriffsgeschwindigkeiten auf die gespeicherten
feststellbaren Datenbestände haben; wobei in dem Schritt
der Feststellung außerdem anhand des Anzeigers
festgestellt wird, ob sich die Kopien, die sich auf
derselben neuesten Aktualisierungsstufe in dem
Cachespeicher befinden, auf derselben Zugriffsebene des
Cachespeichers sind und sich keine Kopien des
Datenbestands auf einer schnelleren Zugriffsebene
befinden; und wobei der Vergleichsschritt auf den
Feststellungsschritt antwortet, der angibt, dass sich
mindestens zwei der direkt zugeordneten redundanten
Kopien des Datenbestands, die in dem Cachespeicher in den
Datenspeicherbibliotheken gespeichert werden, auf
derselben schnellsten verfügbaren Zugriffsebene befinden.
10. Verfahren nach Anspruch 8, wobei der Schritt, in dem die
Bibliothek den aktuellen Ruhezeitstatus bereitstellt, das
Anfügen des bereitgestellten Status an das direkt
zugeordnete Synchronisationstoken umfasst.
11. Datenspeicherbibliothek-System, das mit mindestens einem
Host verbunden ist, um als Antwort auf Abrufanforderungen
von den Hosts auf redundante Kopien von feststellbaren
Datenbeständen zuzugreifen, wobei das
Datenspeicherbibliothek-System Folgendes umfasst:
eine Vielzahl von Datenspeicherbibliotheken, von denen jede über eine Bibliothek-Steuereinheit verfügt, und mindestens zwei Zugriffsebenen zur Speicherung und zum Zugriff auf die feststellbaren Datenbestände, wobei die Zugriffsebenen unterschiedliche Zugriffsgeschwindigkeiten auf die gespeicherten feststellbaren Datenbestände haben, wobei die Bibliothek-Steuereinheit außerdem ein Token bereitstellt, das jedem Datenbestand direkt zugeordnet ist, wobei das Token einen Anzeiger für die Zugriffsebene des feststellbaren Datenbestands in der Datenspeicherbibliothek bereitstellt, und wobei jede Bibliothek-Steuereinheit den aktuellen Ruhezeitstatus der direkt zugeordneten Bibliothek bereitstellt; und
mindestens eine Steuerkomponente, die mit dem mindestens einem Host und jeder Datenspeicherbibliothek verbunden ist; wobei die Steuerkomponente die Abrufanforderungen für die feststellbaren Datenbestände empfängt; wobei die Steuerkomponente auf die Abrufanforderung für einen der abrufbaren Datenbestände antwortet, indem sie das Token, das dem Datenbestand direkt zugeordnet ist, von mindestens zwei der Vielzahl der Datenspeicherbibliotheken liest; wobei die Steuerkomponente anhand der gelesenen Token feststellt, ob sich eine Vielzahl der direkt zugeordneten redundanten Kopien des Datenbestands 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; wobei die Steuerkomponente im Anschluss an die Feststellung, dass sich mindestens zwei der direkt zugeordneten redundanten Kopien des Datenbestands, die in den Datenspeicherbibliotheken gespeichert werden, auf derselben schnellsten verfügbaren Zugriffsebene befinden, den bereitgestellten Ruhezeitstatus der Datenspeicherbibliotheken, welche die direkt zugeordneten redundanten Kopien speichern, vergleicht und angibt, welche der direkt zugeordneten Datenspeicherbibliotheken den größeren Ruhezeitstatus bereitgestellt hat; wobei die Steuerkomponente auf die Angabe der Ruhezeit antwortet, indem sie auf den Datenbestand von der angegebenen Datenspeicherbibliothek zugreift.
eine Vielzahl von Datenspeicherbibliotheken, von denen jede über eine Bibliothek-Steuereinheit verfügt, und mindestens zwei Zugriffsebenen zur Speicherung und zum Zugriff auf die feststellbaren Datenbestände, wobei die Zugriffsebenen unterschiedliche Zugriffsgeschwindigkeiten auf die gespeicherten feststellbaren Datenbestände haben, wobei die Bibliothek-Steuereinheit außerdem ein Token bereitstellt, das jedem Datenbestand direkt zugeordnet ist, wobei das Token einen Anzeiger für die Zugriffsebene des feststellbaren Datenbestands in der Datenspeicherbibliothek bereitstellt, und wobei jede Bibliothek-Steuereinheit den aktuellen Ruhezeitstatus der direkt zugeordneten Bibliothek bereitstellt; und
mindestens eine Steuerkomponente, die mit dem mindestens einem Host und jeder Datenspeicherbibliothek verbunden ist; wobei die Steuerkomponente die Abrufanforderungen für die feststellbaren Datenbestände empfängt; wobei die Steuerkomponente auf die Abrufanforderung für einen der abrufbaren Datenbestände antwortet, indem sie das Token, das dem Datenbestand direkt zugeordnet ist, von mindestens zwei der Vielzahl der Datenspeicherbibliotheken liest; wobei die Steuerkomponente anhand der gelesenen Token feststellt, ob sich eine Vielzahl der direkt zugeordneten redundanten Kopien des Datenbestands 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; wobei die Steuerkomponente im Anschluss an die Feststellung, dass sich mindestens zwei der direkt zugeordneten redundanten Kopien des Datenbestands, die in den Datenspeicherbibliotheken gespeichert werden, auf derselben schnellsten verfügbaren Zugriffsebene befinden, den bereitgestellten Ruhezeitstatus der Datenspeicherbibliotheken, welche die direkt zugeordneten redundanten Kopien speichern, vergleicht und angibt, welche der direkt zugeordneten Datenspeicherbibliotheken den größeren Ruhezeitstatus bereitgestellt hat; wobei die Steuerkomponente auf die Angabe der Ruhezeit antwortet, indem sie auf den Datenbestand von der angegebenen Datenspeicherbibliothek zugreift.
12. Datenspeicherbibliothek-System nach Anspruch 11, wobei
die Angabe des Ruhezeitstatus durch die Steuerkomponente
darüber hinaus die Angabe umfasst, ob der Unterschied
zwischen dem größeren Ruhezeitstatus und dem
Ruhezeitstatus von der anderen der direkt zugeordneten
Bibliotheken einen Schwellenwert überschreitet; und wobei
die Steuerkomponente auf den Datenbestand von einer der
Datenspeicherbibliotheken zugreift, die gemäß einem
normalen Algorithmus bestimmt wird, wenn der Unterschied
zwischen den Ruhezeitzuständen den Schwellenwert nicht
überschreitet.
13. Datenspeicherbibliothek-System nach Anspruch 11, wobei
die Datenspeicherbibliothek-Steuereinheiten darüber
hinaus den bereitgestellten Status an das Token anfügen.
14. Datenspeicherbibliothek-System nach Anspruch 13, wobei
die Datenspeicherbibliothek-Steuereinheiten den aktuellen
Ruhezeitstatus bereitstellen, indem sie den Prozentsatz
der verfügbaren Betriebszeit, den die Bibliothek inaktiv
ist, ermitteln.
15. Datenspeicherbibliothek-System nach Anspruch 14, wobei
die Datenspeicherbibliothek-Steuereinheiten den aktuellen
Ruhezeitstatus bereitstellen, indem sie die
Zusammensetzung des 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,
ermitteln.
16. Datenspeicherbibliothek-System nach Anspruch 15, wobei
die Datenspeicherbibliothek-Steuereinheiten den aktuellen
Ruhezeitstatus bereitstellen, indem sie Folgendes
berechnen: (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.
17. Datenspeicherbibliothek-System nach Anspruch 11, wobei
die Datenspeicherbibliothek-Steuereinheiten den aktuellen
Ruhezeitstatus bereitstellen, indem sie feststellen, ob
sich eine der Bibliotheken in einem Zustand der
Drosselung befindet, d. h. ihre Operationen drosselt, und
wobei der Angabeschritt außerdem die Feststellung, ob
sich eine geringere Zahl als die Gesamtzahl der
Bibliotheken in dem Zustand der Drosselung befindet,
sowie die Angabe von einer der Bibliotheken, die sich in
einem anderen Zustand als dem Zustand der Drosselung
befindet, umfasst.
18. Datenspeicherbibliothek-System nach Anspruch 11, wobei
die redundanten Kopien von feststellbaren Datenbeständen
Aktualisierungsstufen haben; wobei die
Datenspeicherbibliotheken außerdem einen Cachespeicher
und einen Sicherungsspeicher umfassen, welche die
mindestens zwei Zugriffsebenen zur Speicherung und zum
Zugriff auf die feststellbaren Datenbestände umfassen;
wobei jedes von der Datenspeicherbibliothek-Steuereinheit
bereitgestellte Token außerdem ein aktualisierbares
Synchronisationstoken umfasst, das die relative
Aktualisierungsstufe der direkt zugeordneten redundanten
Kopie des feststellbaren Datenbestands anzeigt und einen
Speicheranzeiger bereitstellt, der anzeigt, ob der
feststellbare Datenbestand gerade im Cachespeicher oder
im Sicherungsspeicher gespeichert ist; wobei die
Steuerkomponente, welche die Abrufanforderung empfängt,
anhand der gelesenen Synchronisationstoken feststellt, ob
sich die direkt zugeordneten redundanten Kopien des
Datenbestands auf derselben neuesten Aktualisierungsstufe
befinden, und anhand des Speicheranzeigers feststellt, ob
sich die Kopien auf derselben neuesten
Aktualisierungsstufe im Cachespeicher oder im
Sicherungsspeicher befinden; und im Anschluss an die über
das Token durchgeführte Feststellung, dass sich
mindestens zwei der direkt zugeordneten redundanten
Kopien des Datenbestands, die in den
Datenspeicherbibliotheken gespeichert werden, auf
derselben neuesten Aktualisierungsstufe und 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, wird der bereitgestellte
Ruhezeitstatus der Datenspeicherbibliotheken, welche die
direkt zugeordneten redundanten Kopien speichern,
verglichen.
19. Datenspeicherbibliothek-System nach Anspruch 18, wobei
die Datenspeicherbibliothek-Steuereinheiten darüber
hinaus den bereitgestellten Status an das Token anfügen.
20. Rechnerprogrammprodukt, das mit einer Vielzahl von
programmierbaren Rechnerprozessoren verwendet werden
kann, die einen rechnerlesbaren Programmcode enthalten,
um als Antwort auf Abrufanforderungen auf feststellbare
Datenbestände von einer Vielzahl von
Datenspeicherbibliotheken zuzugreifen, wobei die
Datenspeicherbibliotheken redundante Kopien der
feststellbaren Datenbestände speichern und darauf
zugreifen, wobei die Datenspeicherbibliotheken mindestens
zwei Speicherzugriffsebenen für die feststellbaren
Datenbestände haben, wobei die Zugriffsebenen
unterschiedliche Zugriffsgeschwindigkeiten auf die
gespeicherten feststellbaren Datenbestände haben, wobei
jede Datenspeicherbibliothek Datenbestände von den
schnelleren Zugriffsebenen des Speichers auf die
langsameren Zugriffsebenen des Speichers umlagert, wobei
jeder der feststellbaren Datenbestände einem Token direkt
zugeordnet ist, wobei das Token einen Anzeiger für die
Zugriffsebene des feststellbaren Datenbestands in der
Datenspeicherbibliothek bereitstellt; wobei das
Rechnerprogrammprodukt Folgendes umfasst:
rechnerlesbaren Programmcode, der die programmierbaren Rechnerprozessoren, die Bibliothek-Steuereinheiten in den Datenspeicherbibliotheken umfassen, veranlasst, den aktuellen Ruhezeitstatus der Bibliothek bereitzustellen;
rechnerlesbaren Programmcode, der jeden der Vielzahl der programmierbaren Rechnerprozessoren, die Steuerkomponenten umfassen, veranlasst, auf die Abrufanforderung für einen der feststellbaren Datenbestände zu antworten, indem er das Token, das dem Datenbestand direkt zugeordnet ist, von mindestens zwei der Vielzahl der Datenspeicherbibliotheken liest;
rechnerlesbaren Programmcode, der jede Steuerkomponente der programmierbaren Rechnerprozessoren veranlasst, anhand der gelesenen Token festzustellen, ob sich eine Vielzahl der direkt zugeordneten redundanten Kopien des Datenbestands 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;
rechnerlesbaren Programmcode, der die Steuerkomponente des programmierbaren Rechnerprozessors im Anschluss an die Feststellung, dass sich mindestens zwei der direkt zugeordneten redundanten Kopien des Datenbestands, die in den Datenspeicherbibliotheken gespeichert werden, auf derselben schnellsten verfügbaren Zugriffsebene befinden, veranlasst, den bereitgestellten Ruhezeitstatus der Datenspeicherbibliotheken, welche die direkt zugeordneten redundanten Kopien speichern, zu vergleichen;
rechnerlesbaren Programmcode, der die Steuerkomponente des programmierbaren Rechnerprozessors veranlasst, anzugeben, welche der direkt zugeordneten Datenspeicherbibliotheken den größeren Ruhezeitstatus bereitgestellt hat; und
rechnerlesbaren Programmcode, der die Steuerkomponente des programmierbaren Rechnerprozessors veranlasst, auf den angegebenen größeren Ruhezeitstatus zu antworten und auf den Datenbestand von der angegebenen Datenspeicherbibliothek zuzugreifen.
rechnerlesbaren Programmcode, der die programmierbaren Rechnerprozessoren, die Bibliothek-Steuereinheiten in den Datenspeicherbibliotheken umfassen, veranlasst, den aktuellen Ruhezeitstatus der Bibliothek bereitzustellen;
rechnerlesbaren Programmcode, der jeden der Vielzahl der programmierbaren Rechnerprozessoren, die Steuerkomponenten umfassen, veranlasst, auf die Abrufanforderung für einen der feststellbaren Datenbestände zu antworten, indem er das Token, das dem Datenbestand direkt zugeordnet ist, von mindestens zwei der Vielzahl der Datenspeicherbibliotheken liest;
rechnerlesbaren Programmcode, der jede Steuerkomponente der programmierbaren Rechnerprozessoren veranlasst, anhand der gelesenen Token festzustellen, ob sich eine Vielzahl der direkt zugeordneten redundanten Kopien des Datenbestands 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;
rechnerlesbaren Programmcode, der die Steuerkomponente des programmierbaren Rechnerprozessors im Anschluss an die Feststellung, dass sich mindestens zwei der direkt zugeordneten redundanten Kopien des Datenbestands, die in den Datenspeicherbibliotheken gespeichert werden, auf derselben schnellsten verfügbaren Zugriffsebene befinden, veranlasst, den bereitgestellten Ruhezeitstatus der Datenspeicherbibliotheken, welche die direkt zugeordneten redundanten Kopien speichern, zu vergleichen;
rechnerlesbaren Programmcode, der die Steuerkomponente des programmierbaren Rechnerprozessors veranlasst, anzugeben, welche der direkt zugeordneten Datenspeicherbibliotheken den größeren Ruhezeitstatus bereitgestellt hat; und
rechnerlesbaren Programmcode, der die Steuerkomponente des programmierbaren Rechnerprozessors veranlasst, auf den angegebenen größeren Ruhezeitstatus zu antworten und auf den Datenbestand von der angegebenen Datenspeicherbibliothek zuzugreifen.
21. Rechnerprogrammprodukt nach Anspruch 20, wobei der
rechnerlesbare Programmcode, der die Steuerkomponente des
programmierbaren Rechnerprozessors veranlasst, den
größeren Ruhezeitstatus anzugeben, diese Steuerkomponente
auch veranlasst, anzugeben, ob der Unterschied zwischen
dem größeren Ruhezeitstatus und dem Ruhezeitstatus der
anderen der direkt zugeordneten Bibliotheken einen
Schwellenwert überschreitet; und wobei der rechnerlesbare
Programmcode, der den programmierbaren Rechner
veranlasst, auf den Datenbestand zuzugreifen, des
Weiteren den Schritt umfasst, in dem er die
Steuerkomponente des Rechnerprozessors veranlasst, auf
den Datenbestand von einer der Datenspeicherbibliotheken
zuzugreifen, die gemäß einem normalen Algorithmus
bestimmt wird, wenn der Unterschied zwischen den
Ruhezeitzuständen den Schwellenwert nicht überschreitet.
22. Rechnerprogrammprodukt nach Anspruch 20, wobei der
rechnerlesbare Programmcode darüber hinaus die
Bibliothek-Steuereinheiten der programmierbaren
Rechnerprozessoren veranlasst, den bereitgestellten
aktuellen Ruhezeitstatus an das Token anzufügen.
23. Rechnerprogrammprodukt, das mit einem programmierbaren
Rechnerprozessor verwendet werden kann, der einen
rechnerlesbaren Programmcode enthält, wobei der
programmierbare Rechnerprozessor eine Bibliothek-
Steuereinheit für eine einer Vielzahl von
Datenspeicherbibliotheken umfasst, um als Antwort auf
Zugriffsanforderungen von einer Steuerkomponente auf
feststellbare Datenbestände von der Vielzahl von
Datenspeicherbibliotheken zuzugreifen; wobei die
Datenspeicherbibliotheken redundante Kopien der
feststellbaren Datenbestände speichern und darauf
zugreifen, wobei die Datenspeicherbibliotheken einen
Cachespeicher und einen Sicherungsspeicher haben, wobei
jede Datenspeicherbibliothek Datenbestände aus dem
Cachespeicher in den Sicherungsspeicher umlagert; wobei
jeder der feststellbaren Datenbestände einem
aktualisierbaren Synchronisationstoken direkt zugeordnet
ist, wobei das Synchronisationstoken die relativen
Aktualisierungsstufen der direkt zugeordneten redundanten
Kopien anzeigt und einen Speicheranzeiger bereitstellt,
der anzeigt, ob der feststellbare Datenbestand gerade im
Cachespeicher oder im Sicherungsspeicher gespeichert ist;
wobei die Zugriffsanforderungen der Steuerkomponente auf
der anhand der Synchronisationstoken getroffenen
Feststellung beruhen, dass sich mindestens zwei der
direkt zugeordneten redundanten Kopien des Datenbestands,
die in den Datenspeicherbibliotheken gespeichert werden,
auf derselben neuesten Aktualisierungsstufe und 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, und wobei dann der
Ruhezeitstatus der Datenspeicherbibliotheken, welche die
direkt zugeordneten redundanten Kopien speichern,
verglichen und auf den Datenbestand von der direkt
zugeordneten Datenspeicherbibliothek zugegriffen wird,
die den größeren Ruhezeitstatus bereitstellt, wobei das
Rechnerprogrammprodukt Folgendes umfasst:
rechnerlesbaren Programmcode, der den programmierbaren Rechnerprozessor veranlasst, den aktuellen Ruhezeitstatus der Bibliothek zu ermitteln; und
rechnerlesbaren Programmcode, der den programmierbaren Rechnerprozessor veranlasst, den ermittelten aktuellen Ruhezeitstatus der Bibliothek für die Festlegung des Zugriffs bereitzustellen.
rechnerlesbaren Programmcode, der den programmierbaren Rechnerprozessor veranlasst, den aktuellen Ruhezeitstatus der Bibliothek zu ermitteln; und
rechnerlesbaren Programmcode, der den programmierbaren Rechnerprozessor veranlasst, den ermittelten aktuellen Ruhezeitstatus der Bibliothek für die Festlegung des Zugriffs bereitzustellen.
24. Rechnerprogrammprodukt nach Anspruch 23, wobei der
rechnerlesbare Programmcode, der den Rechnerprozessor
veranlasst, den aktuellen Ruhezeitstatus bereitzustellen,
den programmierbaren Rechnerprozessor außerdem
veranlasst, einen Anzeiger für den bereitgestellten
aktuellen Ruhezeitstatus der Bibliothek an das
Synchronisationstoken, das der redundanten Kopie des
Datenbestands direkt zugeordnet ist, anzufügen.
25. Rechnerprogrammprodukt nach Anspruch 23, wobei der
rechnerlesbare Programmcode, der den programmierbaren
Rechnerprozessor veranlasst, den aktuellen Ruhezeitstatus
zu ermitteln, den Schritt umfasst, in dem er den
programmierbaren Rechnerprozessor veranlasst, den
Prozentsatz der verfügbaren Betriebszeit zu ermitteln,
den die Bibliothek inaktiv ist, wobei der kleinere
Prozentsatz den größeren Ruhezeitstatus umfasst.
26. Rechnerprogrammprodukt nach Anspruch 25, wobei der
rechnerlesbare Programmcode, der den programmierbaren
Rechnerprozessor veranlasst, den aktuellen Ruhezeitstatus
zu ermitteln, den Schritt umfasst, in dem er den
programmierbaren Rechnerprozessor veranlasst, die
Zusammensetzung des 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, zu
ermitteln.
27. Rechnerprogrammprodukt nach Anspruch 26, wobei der
rechnerlesbare Programmcode, der den programmierbaren
Rechnerprozessor veranlasst, den aktuellen Ruhezeitstatus
zu ermitteln, den Schritt umfasst, in dem er den
programmierbaren Rechnerprozessor veranlasst, Folgendes
zu berechnen: (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.
28. Rechnerprogrammprodukt nach Anspruch 23, wobei der
rechnerlesbare Programmcode, der den programmierbaren
Rechnerprozessor veranlasst, den aktuellen Ruhezeitstatus
zu ermitteln, den Schritt umfasst, in dem er den
programmierbaren Rechnerprozessor veranlasst,
festzustellen, ob sich eine der Bibliotheken in einem
Zustand der Drosselung befindet, d. h. ihre Operationen
drosselt, und wobei der Zugriff der Steuerkomponente die
Feststellung, ob sich eine geringere Zahl als die
Gesamtzahl der Bibliotheken in dem Zustand der Drosselung
befindet, und den Zugriff auf den Datenbestand von der
einen Bibliothek, die sich in einem anderen Zustand als
dem Zustand der Drosselung befindet, umfasst.
29. Automatische Datenspeicherbibliothek, um als Antwort auf
Zugriffsanforderungen von einer Steuerkomponente auf
feststellbare Datenbestände von einer Vielzahl der
Datenspeicherbibliotheken zuzugreifen; wobei jeder der
feststellbaren Datenbestände einem aktualisierbaren
Synchronisationstoken direkt zugeordnet ist, wobei das
Synchronisationstoken die relativen Aktualisierungsstufen
der direkt zugeordneten redundanten Kopien anzeigt; wobei
die Zugriffsanforderungen der Steuerkomponente auf der
anhand der Synchronisationstoken getroffenen Feststellung
beruhen, dass sich mindestens zwei der direkt
zugeordneten redundanten Kopien des Datenbestands, die in
den Datenspeicherbibliotheken gespeichert werden, auf
derselben neuesten Aktualisierungsstufe und im
Cachespeicher der Bibliotheken befinden und sonst keine
Kopien, die sich auf derselben neuesten
Aktualisierungsstufe befinden, im Cachespeicher abgelegt
sind, sondern dass sie sich alle im Sicherungsspeicher
der Bibliotheken befinden, und wobei dann der
Ruhezeitstatus der Datenspeicherbibliotheken, welche die
direkt zugeordneten redundanten Kopien speichern,
verglichen wird und eine Zugriffsanforderung für den
Datenbestand an die direkt zugeordnete
Datenspeicherbibliothek, die den größeren Ruhezeitstatus
bereitstellt, gerichtet wird, wobei die Bibliothek
Folgendes umfasst:
einen Cachespeicher, der die feststellbaren Datenbestände mit einer schnellen Zugriffsgeschwindigkeit speichert;
einen Sicherungsspeicher, der die feststellbaren Datenbestände mit einer geringeren Zugriffsgeschwindigkeit als die des Cachespeichers speichert; und
eine Bibliothek-Steuereinheit, die Datenbestände aus dem Cachespeicher in den Sicherungsspeicher umlagert; wobei die Bibliothek-Steuereinheit jedem Datenbestand ein aktualisierbares Synchronisationstoken direkt zuordnet, wobei das Synchronisationstoken die relativen Aktualisierungsstufen der direkt zugeordneten redundanten Kopien anzeigt und einen Speicheranzeiger bereitstellt, der anzeigt, ob der feststellbare Datenbestand gerade im Cachespeicher oder im Sicherungsspeicher gespeichert ist;
wobei die Bibliothek-Steuereinheit den aktuellen Ruhezeitstatus der Bibliothek ermittelt; wobei die Bibliothek-Steuereinheit den ermittelten aktuellen Ruhezeitstatus der Bibliothek für die Festlegung des Zugriffs bereitstellt, wobei die Zugriffsanforderung an die Bibliothek gerichtet wird, die den Datenbestand auf derselben neuesten Aktualisierungsstufe und mit derselben schnellsten Zugriffsgeschwindigkeit speichert und die den größten aktuellen Ruhezeitstatus hat; und wobei die Bibliothek-Steuereinheit als Antwort auf die Zugriffsanforderung auf den Datenbestand zugreift.
einen Cachespeicher, der die feststellbaren Datenbestände mit einer schnellen Zugriffsgeschwindigkeit speichert;
einen Sicherungsspeicher, der die feststellbaren Datenbestände mit einer geringeren Zugriffsgeschwindigkeit als die des Cachespeichers speichert; und
eine Bibliothek-Steuereinheit, die Datenbestände aus dem Cachespeicher in den Sicherungsspeicher umlagert; wobei die Bibliothek-Steuereinheit jedem Datenbestand ein aktualisierbares Synchronisationstoken direkt zuordnet, wobei das Synchronisationstoken die relativen Aktualisierungsstufen der direkt zugeordneten redundanten Kopien anzeigt und einen Speicheranzeiger bereitstellt, der anzeigt, ob der feststellbare Datenbestand gerade im Cachespeicher oder im Sicherungsspeicher gespeichert ist;
wobei die Bibliothek-Steuereinheit den aktuellen Ruhezeitstatus der Bibliothek ermittelt; wobei die Bibliothek-Steuereinheit den ermittelten aktuellen Ruhezeitstatus der Bibliothek für die Festlegung des Zugriffs bereitstellt, wobei die Zugriffsanforderung an die Bibliothek gerichtet wird, die den Datenbestand auf derselben neuesten Aktualisierungsstufe und mit derselben schnellsten Zugriffsgeschwindigkeit speichert und die den größten aktuellen Ruhezeitstatus hat; und wobei die Bibliothek-Steuereinheit als Antwort auf die Zugriffsanforderung auf den Datenbestand zugreift.
30. Automatische Datenspeicherbibliothek nach Anspruch 29,
wobei die Bereitstellung des aktuellen Ruhezeitstatus
durch die Bibliothek-Steuereinheit darüber hinaus das
Anfügen eines Anzeigers für den bereitgestellten
aktuellen Ruhezeitstatus der Bibliothek an das
Synchronisationstoken umfasst, das der redundanten Kopie
des Datenbestands direkt zugeordnet ist.
31. Automatische Datenspeicherbibliothek nach Anspruch 29,
wobei die Ermittlung des aktuellen Ruhezeitstatus durch
die Bibliothek-Steuereinheit die Ermittlung des
Prozentsatzes der verfügbaren Betriebszeit, den die
Bibliothek inaktiv ist, umfasst, wobei der kleinere
Prozentsatz den größeren Ruhezeitstatus umfasst.
32. Automatische Datenspeicherbibliothek nach Anspruch 31,
wobei die Ermittlung des aktuellen Ruhezeitstatus durch
die Bibliothek-Steuereinheit die Ermittlung der
Zusammensetzung des 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,
umfasst.
33. Automatische Datenspeicherbibliothek nach Anspruch 32,
wobei die Ermittlung des bereitgestellten aktuellen
Ruhezeitstatus durch die Bibliothek-Steuereinheit
folgende Berechnung umfasst: (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.
34. Automatische Datenspeicherbibliothek nach Anspruch 29,
wobei die Ermittlung des bereitgestellten aktuellen
Ruhezeitstatus durch die Bibliothek-Steuereinheit die
Feststellung umfasst, ob sich eine der Bibliotheken in
einem Zustand der Drosselung befindet, d. h. ihre
Operationen drosselt, wobei die Zugriffsanforderung auf
der Feststellung beruht, ob sich eine geringere Zahl als
die Gesamtzahl der Bibliotheken in dem Zustand der
Drosselung befindet, und wobei die Zugriffsanforderung an
die Datenspeicherbibliothek übergeben wird, die sich in
einem anderen Zustand als dem Zustand der Drosselung
befindet.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/453,812 | 1999-12-03 | ||
US09/453,812 US6502165B1 (en) | 1999-12-03 | 1999-12-03 | Balanced access to data volumes with redundant copies stored in data storage libraries |
Publications (2)
Publication Number | Publication Date |
---|---|
DE10055603A1 true DE10055603A1 (de) | 2001-06-21 |
DE10055603B4 DE10055603B4 (de) | 2007-12-13 |
Family
ID=23802171
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE10055603A Expired - Fee Related DE10055603B4 (de) | 1999-12-03 | 2000-11-09 | Verfahren zum Zugriff auf eine Datei in einer Vielzahl von Datenspeicherbibliotheken und Datenspeicherbibliothek-System |
Country Status (3)
Country | Link |
---|---|
US (1) | US6502165B1 (de) |
CN (1) | CN1159651C (de) |
DE (1) | DE10055603B4 (de) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111400098A (zh) * | 2020-03-16 | 2020-07-10 | 深信服科技股份有限公司 | 一种副本管理方法、装置、电子设备及存储介质 |
CN111400098B (zh) * | 2020-03-16 | 2024-05-28 | 深信服科技股份有限公司 | 一种副本管理方法、装置、电子设备及存储介质 |
Families Citing this family (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6591335B1 (en) * | 2000-09-29 | 2003-07-08 | Emc Corporation | Fault tolerant dual cache system |
US7134138B2 (en) * | 2001-02-15 | 2006-11-07 | Emc Corporation | Methods and apparatus for providing security for a data storage system |
CA2495671A1 (en) * | 2002-08-19 | 2004-02-26 | Macrosolve, Inc. | System and method for data management |
US20050038954A1 (en) * | 2003-06-04 | 2005-02-17 | Quantum Corporation | Storage drive having universal format across media types |
JP4124348B2 (ja) * | 2003-06-27 | 2008-07-23 | 株式会社日立製作所 | 記憶システム |
CN100395981C (zh) * | 2003-09-26 | 2008-06-18 | 华为技术有限公司 | 基于令牌桶算法的接入速率限制方法 |
JP2005157622A (ja) * | 2003-11-25 | 2005-06-16 | Hitachi Ltd | アイドルシークのためのディスクアレイ装置 |
US7130971B2 (en) * | 2004-03-30 | 2006-10-31 | Hitachi, Ltd. | Assuring genuineness of data stored on a storage device |
US7477255B1 (en) * | 2004-04-12 | 2009-01-13 | Nvidia Corporation | System and method for synchronizing divergent samples in a programmable graphics processing unit |
US7324112B1 (en) | 2004-04-12 | 2008-01-29 | Nvidia Corporation | System and method for processing divergent samples in a programmable graphics processing unit |
US7636916B2 (en) * | 2004-05-05 | 2009-12-22 | International Business Machines Corporation | Self-optimizing workload distribution among virtual storage controllers |
JP4387261B2 (ja) * | 2004-07-15 | 2009-12-16 | 株式会社日立製作所 | 計算機システム、および、記憶装置システムの移行方法 |
CN100407166C (zh) * | 2004-07-29 | 2008-07-30 | 普安科技股份有限公司 | 改善数据读取效率的方法及其储存系统 |
US7454581B2 (en) * | 2004-10-27 | 2008-11-18 | International Business Machines Corporation | Read-copy update grace period detection without atomic instructions that gracefully handles large numbers of processors |
US7561529B2 (en) * | 2005-09-20 | 2009-07-14 | International Business Machines Corporation | Optimizing the speed of an FC-AL switch domain in a data storage network |
JP4682353B2 (ja) * | 2009-08-25 | 2011-05-11 | 株式会社ソニー・コンピュータエンタテインメント | 情報処理装置および情報処理方法 |
CN102508642A (zh) * | 2011-11-10 | 2012-06-20 | 华为技术有限公司 | 一种数据预取方法及装置 |
JP5828287B2 (ja) * | 2012-02-02 | 2015-12-02 | 富士通株式会社 | 仮想テープ装置およびテープマウント制御方法 |
US8832365B1 (en) | 2012-04-20 | 2014-09-09 | Kip Cr P1 Lp | System, method and computer program product for a self-describing tape that maintains metadata of a non-tape file system |
US9563365B2 (en) | 2012-04-30 | 2017-02-07 | Kip Cr P1 Lp | System and method for using a memory buffer to stream data from a tape to multiple clients |
US8977827B1 (en) | 2012-05-31 | 2015-03-10 | Kip Cr P1 Lp | System, method and computer program product for recovering stub files |
US20140281157A1 (en) * | 2013-03-13 | 2014-09-18 | Kabushiki Kaisha Toshiba | Memory system, memory controller and method |
WO2016018383A1 (en) * | 2014-07-31 | 2016-02-04 | Hewlett-Packard Development Company | Live migration of data |
US10540109B2 (en) | 2014-09-02 | 2020-01-21 | Hewlett Packard Enterprise Development Lp | Serializing access to fault tolerant memory |
US10594442B2 (en) | 2014-10-24 | 2020-03-17 | Hewlett Packard Enterprise Development Lp | End-to-end negative acknowledgment |
US10402287B2 (en) | 2015-01-30 | 2019-09-03 | Hewlett Packard Enterprise Development Lp | Preventing data corruption and single point of failure in a fault-tolerant memory |
WO2016122642A1 (en) | 2015-01-30 | 2016-08-04 | Hewlett Packard Enterprise Development Lp | Determine failed components in fault-tolerant memory |
WO2016122637A1 (en) | 2015-01-30 | 2016-08-04 | Hewlett Packard Enterprise Development Lp | Non-idempotent primitives in fault-tolerant memory |
US10402261B2 (en) | 2015-03-31 | 2019-09-03 | Hewlett Packard Enterprise Development Lp | Preventing data corruption and single point of failure in fault-tolerant memory fabrics |
JP6365454B2 (ja) * | 2015-08-03 | 2018-08-01 | 京セラドキュメントソリューションズ株式会社 | 画像形成装置 |
CN107644382A (zh) * | 2016-07-22 | 2018-01-30 | 平安科技(深圳)有限公司 | 保单信息统计方法和装置 |
US10389342B2 (en) | 2017-06-28 | 2019-08-20 | Hewlett Packard Enterprise Development Lp | Comparator |
US11201828B2 (en) | 2018-10-08 | 2021-12-14 | EMC IP Holding Company LLC | Stream allocation using stream credits |
US10630602B1 (en) | 2018-10-08 | 2020-04-21 | EMC IP Holding Company LLC | Resource allocation using restore credits |
US11005775B2 (en) | 2018-10-08 | 2021-05-11 | EMC IP Holding Company LLC | Resource allocation using distributed segment processing credits |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DK0969662T3 (da) | 1990-09-10 | 2002-10-28 | Starsight Telecast Inc | Tv-programoversigtssystem |
US5212772A (en) | 1991-02-11 | 1993-05-18 | Gigatrend Incorporated | System for storing data in backup tape device |
US5673381A (en) | 1994-05-27 | 1997-09-30 | Cheyenne Software International Sales Corp. | System and parallel streaming and data stripping to back-up a network |
US5870732A (en) | 1996-12-04 | 1999-02-09 | International Business Machines Corporation | Inventory method for logical volumes in an automated storage library |
US5911148A (en) | 1997-05-29 | 1999-06-08 | International Business Machines Corporation | Automated message processing system configured for automated tape device management |
US6385672B1 (en) * | 1997-05-30 | 2002-05-07 | 3Com Corporation | System to optimize packet buffer utilization via selectively partitioned transmit and receive buffer portions |
-
1999
- 1999-12-03 US US09/453,812 patent/US6502165B1/en not_active Expired - Fee Related
-
2000
- 2000-11-09 DE DE10055603A patent/DE10055603B4/de not_active Expired - Fee Related
- 2000-12-01 CN CNB001344692A patent/CN1159651C/zh not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111400098A (zh) * | 2020-03-16 | 2020-07-10 | 深信服科技股份有限公司 | 一种副本管理方法、装置、电子设备及存储介质 |
CN111400098B (zh) * | 2020-03-16 | 2024-05-28 | 深信服科技股份有限公司 | 一种副本管理方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN1299097A (zh) | 2001-06-13 |
DE10055603B4 (de) | 2007-12-13 |
CN1159651C (zh) | 2004-07-28 |
US6502165B1 (en) | 2002-12-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE10055603B4 (de) | Verfahren zum Zugriff auf eine Datei in einer Vielzahl von Datenspeicherbibliotheken und Datenspeicherbibliothek-System | |
DE112012002615B4 (de) | Vorabladen von Datenspuren und Paritätsdaten zur Verwendung zum Auslagern aktualisierter Spuren | |
DE112010003788B4 (de) | Datenspeicherung | |
DE19961499A1 (de) | Caching von Objekten in Platten-gestützten Datenbanken | |
DE60025749T2 (de) | Dateisystemabbildübertragung zwischen ungleichen dateisystemen | |
DE112013001284B4 (de) | Adaptive Cachespeicher-Umstufungen in einem Caching-System mit zwei Stufen | |
DE602005001041T2 (de) | Speicherauszugssystem | |
DE112010003794B4 (de) | Datenspeicherung unter Verwendung von Bitmaps | |
DE112012004798B4 (de) | Anpassung der Auslagerungsgeschwindigkeit auf Grundlage von Anforderungen an Lese- und Schreib-Antwortzeiten | |
DE60129025T2 (de) | Speicherbereichszuordnung in einem dateisystem zum beschreiben beliebiger bereiche | |
DE60113586T2 (de) | Übertragen von miteinander verbundenen Datenobjekten in einer verteilten Datenspeicherumgebung | |
DE60310960T2 (de) | Halten von informationen in einem oder mehreren virtuellen volumenaggregaten mit mehreren virtuellen volumen | |
DE69913984T2 (de) | Verteiltes transaktionales verarbeitungssystem und verfahren | |
DE102007052853B4 (de) | Zeilentauschschema zur Verringerung von Rückinvalidierungen in einem Snoopfilter | |
DE10062063B4 (de) | Verfahren, System, Computerprogramm-Produkt und Speichervorrichtung zur Steuerung einer Warteschlange von Anforderungen unterschiedlicher Priorität | |
DE04812807T1 (de) | Virtual File System | |
DE102012216022A1 (de) | Verwaltung einer Zeitpunktkopie-Beziehung für platzsparende Datenträger | |
DE10348326A1 (de) | Permanentspeichervorrichtung, die an eine Kommunikationsverbindung angeschlossen ist | |
DE102013215535A1 (de) | Sicherung oder wiederherstellung von daten mit hilfe eines hauptspeichers und nichtflüchtiger speichermedien | |
DE4423559A1 (de) | Datenverbindungsverfahren und Vorrichtung für Multiprozessor-Computersysteme mit gemeinsamem Speicher | |
DE112011103290T5 (de) | Intelligente Schreibcacheoperation für sequenzielle Datenspuren | |
DE102013205571B4 (de) | Verfahren, Computerprogrammprodukt und Vorrichtung zum Migrieren von Datenträgern mit schlanker Speicherzuweisung in mehrschichtigen Speicherarchitekturen | |
DE112012004796B4 (de) | Periodische Auslagerungen von Innen- und Aussendurchmessern von Platten zum Verbessern von Lesereaktionszeiten | |
DE10050171B4 (de) | Verfahren zur Steuerung von Cache-Speichern | |
DE3046912C2 (de) | Schaltungsanordnung zum selektiven Löschen von Cachespeichern in einer Multiprozessor-Datenverarbeitungsanlage |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8320 | Willingness to grant licences declared (paragraph 23) | ||
8364 | No opposition during term of opposition | ||
8328 | Change in the person/name/address of the agent |
Representative=s name: DUSCHER, R., DIPL.-PHYS. DR.RER.NAT., PAT.-ANW., 7 |
|
R119 | Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee | ||
R079 | Amendment of ipc main class |
Free format text: PREVIOUS MAIN CLASS: G06F0017300000 Ipc: G06F0016000000 |