-
HINTERGRUND
-
GEBIET DER ERFINDUNG
-
Die
Beschreibung bezieht sich auf ein Verfahren, System und Computerprogramm
für die
Ressourcenverwaltung von Datenspeicherdiensten.
-
HINTERGRUND DER ERFINDUNG
-
Ein
Speicherverwaltungsprogramm wie beispielsweise das von der International
Business Machines (IBM) Corporation vertriebene Produkt Tivoli Storage
Manager (TSM) kann für
das sichere Speichern und Sichern von Daten verwendet werden (IBM,
Tivoli und Tivoli Storage Manager sind Warenzeichen der IBM Corporation).
Das Speicherverwaltungsprogramm kann in einem Speicherverwaltungsserver
wie beispielsweise einem TSM-Server ausgeführt werden und die Unversehrtheit
der Daten sicherstellen sowie die Fähigkeit zum Schutz geschäftsentscheidender
Daten bei einem Ausfall von Hardware, Software oder Umgebung bereitstellen.
Das Speicherverwaltungsprogramm kann ein Abbild der Daten und Programme
auf Bandkassetten oder einem anderen Speichermedium verwalten. Bei
einem Systemausfall oder anderen Ereignissen, die zu einem Datenverlust
führen,
können
die Daten und Programme mit dem Speicherverwaltungsprogramm von den Bandkassetten
oder dem anderen Speichermedium wiederhergestellt werden.
-
Das
TSM kann Clients Datenspeicherdienste bereitstellen, um so die Sicherung,
Archivierung oder Speicherplatzverwaltung von Daten zu ermöglichen. Der
TSM-Server kann Dateien speichern, die von einem oder mehreren TSM-Clients
an ihn gesendet werden. Die Daten von den TSM-Clients können auf Speichermedien
wie beispielsweise Platten, Banddatenträgern usw. innerhalb einer von
einem Systemverwalter festgelegten Speicherhierarchie gespeichert
werden.
-
Speichermedien
innerhalb der Speicherhierarchie können so in Gruppen zusammengefasst
werden, dass sie Speichergruppen bilden. Dabei werden Daten, die
von einem Client auf einem Server gespeichert werden, an eine übergeordnete
Speichergruppe innerhalb der Speicherhierarchie geleitet. Nachdem
die Daten in der Speicherhierarchie gespeichert wurden, kann eine
Kopie erzeugt werden, um so eine Sicherung der Daten zu erstellen.
Die Sicherungsdaten werden in einer Kopienspeichergruppe erzeugt. Dabei
können
in verschiedenen Kopienspeichergruppen mehrere Kopien der Sicherungsdaten
erzeugt werden. Der Systemverwalter kann entweder von Hand oder über ein
eingeplantes Ereignis damit beginnen, die Daten in eine Bandkopien-Speichergruppe
zu sichern. Diese Kopie der Daten dient zum Wiederherstellen der
Daten im Falle eines Datenverlustes innerhalb der Speicherhierarchie.
Der Verwalter kann außerdem
eine zweite Kopie in einer weiteren Kopienspeichergruppe erzeugen
und das Band mit der zweiten Kopie der Daten an einen entfernten Standort
bringen, wo es sicher verwahrt wird.
-
Die
erforderliche Zeitdauer für
das Sichern von Daten in einer Kopienspeichergruppe kann erheblich
sein, und bestimmte Clients sind möglicherweise nicht in der Lage,
eine vollständige
Sicherung durchzuführen,
während
Daten geschrieben werden. Sicherungen können zu einem späteren Zeitpunkt,
z. B. während
der Nacht, innerhalb eines bestimmten Zeitraums erfolgen, der auch
als Sicherungsfenster bezeichnet wird. Um das Sicherungsfenster
zu verkleinern und Clients vollständige Sicherungen zu ermöglichen,
stellt das TSM eine Funktion bereit, die als „gleichzeitiges Schreiben" bezeichnet wird.
-
Beim
gleichzeitigen Schreiben definiert der Systemverwalter eine oder
mehrere Kopienspeichergruppen, die einer übergeordneten Speichergruppe entsprechen.
Hierdurch können
Daten, die in die Speicherhierarchie aufgenommen werden, gleichzeitig
in eine übergeordnete
Speichergruppe und in eine oder mehrere zugehörige Kopienspeichergruppe(n) geschrieben
werden. Ressourcen wie beispielsweise Plattenspeicherplatz, Bandlaufwerke,
Bänder
usw. werden zu Beginn der Speicheroperation zugewiesen und bleiben
dies während
der gesamten Speicheroperation.
-
Das
Dokument
EP 0 809 184
A beschreibt ein hierarchisches Speicherverwaltungsprogramm mit
mehreren durch Platten- und Bandspeichereinheiten gebildeten übergeordneten
Speichergruppen zur Speicherung von Clientdaten sowie nachgeordneten
Speichergruppen zur Speicherung von redundanten Kopien von Clientdaten.
-
Das
Dokument
US2004/078534A beschreibt eine
Anordnung, mit der sich mehrere Sicherungskopien von Datensätzen aus
einer übergeordneten Speichergruppe
in mehreren Kopienspeichergruppen erzeugen und aktualisieren lassen.
-
ZUSAMMENFASSUNG DER BESCHRIEBENEN AUSFÜHRUNGSFORMEN
-
Gemäß der Erfindung,
die in den beigefügten unabhängigen Ansprüchen 1,
11 und 12 definiert wird, werden ein Verfahren, ein System und ein
Herstellungsartikel bereitgestellt, wobei Ressourcen, die mindestens
einer Kopiengruppe entsprechen, belegt werden und wobei die mindestens
eine Kopiengruppe für
eine erste übergeordnete
Speichergruppe einer Speicherhierarchie definiert wurde. Als Reaktion auf
die Feststellung, dass keine Daten in die erste übergeordnete Speichergruppe
geschrieben werden können,
werden die belegten Ressourcen weiterhin belegt. Als Reaktion darauf,
dass die Daten in eine zweite übergeordnete
Speichergruppe der Speicherhierarchie geschrieben werden, werden
die Daten in die mindestens eine Kopiengruppe geschrieben.
-
Bei
bestimmten Ausführungsformen
ist die mindestens eine Kopiengruppe eine erste Kopiengruppe, wobei
eine zweite Kopiengruppe für
die zweite übergeordnete
Speichergruppe definiert wurde. Als Reaktion auf das Schreiben der
Daten in die erste Kopiengruppe wird eine Freigabe der Ressourcen, die
der ersten Kopiengruppe entsprechen, vermieden, wobei keine Ressourcen
für die
zweite Kopiengruppe belegt werden.
-
Bei
weiteren Ausführungsformen
stellen die belegten Ressourcen einen ersten Satz von Ressourcen
dar. Dabei wird eine Anforderung zum Schreiben der Daten in die
erste übergeordnete
Speichergruppe empfangen, bevor der erste Satz von Ressourcen, die
der mindestens einen Kopiengruppe entsprechen, belegt wird. Ein
zweiter Satz von Ressourcen, welcher der ersten übergeordneten Speichergruppe
entspricht, wird belegt. Der zweite Satz von Ressourcen wird freigegeben,
und als Reaktion auf die Feststellung, dass die Daten nicht in die
erste übergeordnete
Speichergruppe geschrieben werden können, wird ein dritter Satz
von Ressourcen, welcher der zweiten übergeordneten Speichergruppe entspricht,
belegt. Dabei werden die Daten – entsprechend
dem Schreiben der Daten in die mindestens eine Kopiengruppe – in die
zweite übergeordnete Speichergruppe
geschrieben. Der erste und der dritte Satz von Ressourcen werden
freigegeben.
-
Bei
weiteren Ausführungsformen
ist die erste übergeordnete
Speichergruppe eine Plattengruppe und die zweite übergeordnete
Speichergruppe eine Bandgruppe.
-
Bei
zusätzlichen
Ausführungsformen
ist die zweite übergeordnete
Speichergruppe weiter unten in der Speicherhierarchie angesiedelt
als die erste übergeordnete
Speichergruppe, wobei die Daten vorzugsweise in die verfügbare übergeordnete
Speichergruppe geschrieben werden, die in der Speicherhierarchie
am höchsten
angesiedelt ist.
-
Bei
zusätzlichen
Ausführungsformen
stellen die Ressourcen einen ersten Satz von Ressourcen dar. Ein
zweiter Satz von Ressourcen, welcher der ersten übergeordneten Speichergruppe
entspricht, wird belegt. Es wird ermittelt, ob die Daten in die
erste übergeordnete
Speichergruppe geschrieben werden können. Als Reaktion auf die
Feststellung, dass die Daten in die erste übergeordnete Speichergruppe geschrieben
werden können,
werden sie dort hinein geschrieben. Als Reaktion auf das Schreiben
der Daten in die erste übergeordnete Speichergruppe
werden die Daten in die mindestens eine Kopiengruppe geschrieben.
Der erste und der zweite Satz von Ressourcen werden freigegeben.
-
Bei
weiteren Ausführungsformen
erfolgt das Belegen, das Aufrechterhalten der Belegung und das Schreiben
der Daten in die mindestens eine Kopiengruppe durch ein Speicherverwaltungsprogramm
in einem Speicherserver, der Daten mit einem Client austauscht,
welcher die Daten an den Speicherserver sendet. Bei bestimmten weiteren
Ausführungsformen
ist der Speicherserver zum gleichzeitigen Schreiben befähigt.
-
Bei
weiteren Ausführungsformen
werden die Ressourcen, die der mindestens einen Kopiengruppe entsprechen,
erworben, indem Hardwareressourcen, die für den Zugriff auf die mindestens
eine Kopiengruppe verwendet werden, gesperrt werden, wobei die für den Zugriff
auf die mindestens eine Kopiengruppe verwendeten Hardwareressourcen
mindestens so lange belegt bleiben, bis die Daten in die mindestens
eine Kopiengruppe geschrieben wurden.
-
Bei
weiteren Ausführungsformen
werden die Daten im Wesentlichen gleichzeitig in die mindestens eine
Kopiengruppe und die zweite übergeordnete Speichergruppe
geschrieben.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
Im
Folgenden werden die Ausführungsformen
der Erfindung lediglich beispielhaft und mit Blick auf die folgenden
Zeichnungen beschrieben, wobei:
-
1 ein
Blockschaubild einer Datenverarbeitungsumgebung gemäß bestimmten
Ausführungsformen
darstellt;
-
2 ein
Blockschaubild darstellt, das zeigt, wie beispielhafte Kopienspeichergruppe
mit Blick auf beispielhafte übergeordnete
Speichergruppen der Speicherhierarchie gemäß bestimmten Ausführungsformen
definiert werden können;
-
3 Operationen
für die
Ressourcenverwaltung gemäß bestimmten
Ausführungsformen zeigt,
die Operationen für
das gleichzeitige Schreiben in Kopienspeichergruppen ausführen;
-
die 4a, 4b darstellen,
wie beispielhafte Dateien gemäß ersten
beispielhaften Ausführungsformen
durch das Speicherverwaltungsprogramm gespeichert werden;
-
die 5a, 5b darstellen,
wie beispielhafte Dateien gemäß zweiten
beispielhaften Ausführungsformen
durch das Speicherverwaltungsprogramm gespeichert werden;
-
die 6a, 6b darstellen,
wie beispielhafte Dateien gemäß dritten
beispielhaften Ausführungsformen
durch das Speicherverwaltungsprogramm gespeichert werden; und
-
7 ein
System darstellt, in dem bestimmte Ausführungsformen realisiert sind.
-
AUSFÜHRLICHE BESCHREIBUNG
-
In
der folgenden Beschreibung wird auf die beigefügten Zeichnungen Bezug genommen,
die einen Bestandteil hiervon bilden und mehrere Ausführungsformen
zeigen. Dabei muss klar sein, dass auch andere Ausführungsformen
verwendet sowie Änderungen
an Aufbau und Funktionsweise vorgenommen werden können.
-
Wenn
bei bestimmten Ausführungen
des gleichzeitigen Schreibens aus einem wie auch immer gearteten
Grund eine momentane übergeordnete Speichergruppe
die gespeicherten Daten nicht aufnehmen kann, kann das Speicherverwaltungsprogramm
versuchen, die Daten in einer nächsten
Speichergruppe in der Speicherhierarchie zu speichern. Bei der nächsten Speichergruppe
kann es sich um eine Bandspeichergruppe handeln.
-
Bevor
mit dem Speichern von Daten in der nächsten Speichergruppe begonnen
wird, können
etwaige Ressourcen, die den übergeordneten
und den Kopienspeichergruppen zugeordnet sind, freigegeben und erst
dann Ressourcen für
die nächste
Speichergruppe belegt werden, um so ein gegenseitiges Blockieren
von Ressourcen zu verhindern. Wenn auch die nächste Speichergruppe Kopienspeichergruppen
für das
gleichzeitige Schreiben definiert hat, müssen die zugehörigen Ressourcen
belegt werden, bevor mit der Sicherung der Daten in die Kopienspeicherpools
begonnen werden kann. Die Freigabe und erneute Belegung von Ressourcen
können
sich nachteilig auf die Systemleistung auswirken und mitunter erfordern,
dass Clientsitzungen erhebliche Zeit auf Ressourcen warten müssen. Außerdem kann
die gerade freigegebene Ressource von einem anderen Prozess beansprucht
werden und somit unter Umständen
nicht verfügbar
sein, wenn der ursprüngliche Prozess
versucht, die freigegebenen Ressourcen erneut zu belegen.
-
Bei
bestimmten Ausführungsformen
werden Freigaben von belegten Ressourcen, die Kopienspeichergruppen
entsprechen, vermieden, während
Sicherungskopien von Daten erstellt werden, die in den übergeordneten
Speichergruppen der Speicherhierarchie gespeichert sind.
-
1 zeigt
ein Blockschaubild einer Datenverarbeitungsumgebung 100 gemäß bestimmten Ausführungsformen.
Die Datenverarbeitungsumgebung 100 beinhaltet eine erste
Datenverarbeitungseinheit wie z. B. einen Speicherserver 102,
die über eine Übertragungsleitung 103 mit
einer zweiten Datenverarbeitungseinheit wie z. B. einem Client 104 verbunden
ist.
-
Bei
bestimmten Ausführungsformen
können der
Speicherserver 102 und der Client 104 eine beliebige
geeignete Datenverarbeitungseinheit wie beispielsweise eine Einheit
nach dem Stand der Technik umfassen, z. B. einen Personalcomputer,
einen Arbeitsplatzrechner, einen Großrechner, einen Computer mittlerer
Größe, eine
Netzwerkeinrichtung, einen Taschencomputer, eine Fernsprecheinheit,
einen Blade-Computer, einen Handcomputer usw. Bei bestimmten beispielhaften
Ausführungsformen
kann der Client 104 einen TSM-Client umfassen.
-
Der
Datentausch zwischen dem Speicherserver 102 und dem Client 104 kann
direkt über
ein beliebiges geeignetes Netzwerk erfolgen, z. B. über ein
Netzwerk nach dem Stand der Technik wie ein Speichernetzwerk (Storage
Area Network, SAN), ein lokales Netz (Local Area Network, LAN),
ein Intranet, das Internet usw. Während 1 lediglich
einen Client 104 zeigt, der mit dem Speicherserver 102 verbunden
ist, können
in alternativen Ausführungsformen
eine Vielzahl von Clients mit dem Speicherserver 102 verbunden
sein.
-
Der
Speicherserver 102 beinhaltet eine Anwendung wie z. B.
ein Speicherverwaltungsprogramm 106, eine Speicherhierarchie 108 mit
möglichen übergeordneten
Speichergruppen und eine Vielzahl von Kopienspeichergruppen 110a, 110b,
..., 110n. Bei bestimmten Ausführungsformen kann das Speicherverwaltungsprogramm 106 eine
Anwendung wie beispielsweise einen TSM-Server umfassen.
-
Beispielhafte übergeordnete
Speichergruppen der Speicherhierarchie 108 können eine
Plattengruppe 112 und eine Bandgruppe 114 beinhalten.
Bei bestimmten Ausführungsformen
kann die Bandgruppe 114 niedriger in der Speicherhierarchie 108 angesiedelt
sein als die Plattengruppe 112, wobei Daten von dem Client 104 vorzugsweise
in die verfügbare übergeordnete
Speichergruppe geschrieben werden, die in der Speicherhierarchie
am höchsten
angesiedelt ist. Bei bestimmten Ausführungsformen kann die Plattengruppe 112 einen
Direktzugriffspeicher wie beispielsweise Festplatten und die Bandgruppe 114 einen
sequenziellen Speicher wie beispielsweise Bänder umfassen. Bei bestimmten
Ausführungsformen
können
die Kopienspeichergruppen 110a, ..., 110n einen
sequenziellen Speicher wie z. B. Bänder umfassen. Die Kopienspeichergruppe
können
auch als Kopiengruppen bezeichnet werden.
-
Bei
bestimmten Ausführungsformen
sendet der Client 104 Daten an den Speicherserver 102,
wobei diese in eine übergeordnete
Speichergruppe der Speicherhierarchie 108 geschrieben werden
sollen. Einer übergeordneten
Speichergruppe der Speicherhierarchie 108 kann/können eine
oder mehrere definierte Kopienspeichergruppen) zugehörig sein,
die aus der Vielzahl von Kopienspeichergruppen 110a, ..., 110n ausgewählt wurden.
Wenn das gleichzeitige Schreiben im Speicherserver 102 aktiviert
wurde, werden die Daten in die übergeordnete
Speichergruppe geschrieben, wobei die Daten gleichzeitig auch in
die entsprechenden definierten Kopienspeichergruppen geschrieben
werden können.
Wenn bei bestimmten Ausführungsformen
Daten in die übergeordnete
Speichergruppe geschrieben werden, können sie in die entsprechenden
definierten Kopienspeichergruppen kopiert werden. Die einer übergeordneten
Speichergruppe entsprechenden Kopienspeichergruppen können von
einem Verwalter, dem Speicherverwaltungsprogramm 106 oder
von einer auf dem Client 104 ausgeführten Anwendung definiert werden.
-
Somit
stellt 1 eine Ausführungsform
dar, bei der das Speicherverwaltungsprogramm 106 Daten,
die in eine übergeordnete
Speichergruppe der Speicherhierarchie 108 geschrieben werden,
in eine oder mehrere Kopienspeichergruppe(n), die aus der Vielzahl
von Kopienspeichergruppen 110a, ..., 110n ausgewählt wurden,
kopiert bzw. gleichzeitig schreibt. Die in den Kopienspeichergruppen 110a,
..., 110n gespeicherten Daten können für die Bereitstellung von Redundanz,
die Wiederherstellung bei einem Ausfall der übergeordneten Speichergruppen oder
für die
Wiederherstellung bei einem Verlust von Daten, die in den übergeordneten
Speichergruppen gespeichert sind, verwendet werden.
-
2 stellt
ein Blockschaubild dar, das einer Datenverarbeitungsumgebung 200 entspricht
und zeigt, wie gemäß bestimmten
Ausführungsformen beispielhafte
Kopienspeichergruppen 202, 204, 206, 208, 210, 212 mit
Blick auf beispielhafte übergeordnete
Speichergruppen 112, 114 der Speicherhierarchie 108 definiert
werden können.
-
In 2 werden
die Kopienspeichergruppen 202, 204, 206 mit
Blick auf die Plattengruppe 112 und die Kopienspeichergruppen 208, 210 mit
Blick auf die Bandgruppe 114 definiert. Bei bestimmten
Ausführungsformen
sollten die der Gruppe zugehörigen Ressourcen
belegt werden, bevor Daten in eine der Gruppen geschrieben werden.
So müssen
unter Umständen
Hardwareressourcen wie Bandlaufwerke, Banddatenträger und
Plattenspeicherplatz durch das Speicherverwaltungsprogramm 106 gesperrt
werden, bevor in die Kopienspeichergruppe 202 geschrieben
wird. Allerdings kann eine wiederholte Belegung und Freigabe von
Ressourcen die Leistung der Datenverarbeitungsumgebung 200 beeinträchtigen.
-
Wenn
Daten in die Plattengruppe 112 geschrieben werden, können sie
in die Kopienspeichergruppen 202, 204, 206 kopiert
bzw. gleichzeitig geschrieben werden. Wenn Daten jedoch nicht in
die Plattengruppe 112 geschrieben werden können, können sie
in die nächste
Gruppe in der beispielhaften Speicherhierarchie 108 geschrieben
werden, wobei die nächste
Gruppe bei bestimmten Ausführungsformen
die Bandgruppe 114 sein kann. Wenn Daten in die Bandgruppe 114 geschrieben
werden und die Daten auch in die Kopienspeichergruppen 208, 210 kopiert
bzw. gleichzeitig geschrieben werden sollen, müssen in bestimmten Fällen die
Ressourcen, die den Kopienspeichergruppen 202, 204, 206 entsprechen,
unter Umständen
freigegeben werden, bevor die Ressourcen, die den Kopienspeichergruppen 208, 210 entsprechen,
belegt werden.
-
Bestimmte
Ausführungsformen
geben die den Kopienspeichergruppen 202, 204 und 206 entsprechenden
Ressourcen nicht frei und verwenden anstelle der Kopienspeichergruppen 208, 210 die
Kopienspeichergruppen 202, 204, 206,
um Daten zu kopieren, die in die Bandgruppe 114 geschrieben
wurden. Indem sie die Ressourcen nicht freigeben, können bestimmte
Ausführungsformen
die Leistung der Datenverarbeitungsumgebung 200 verbessern,
da die wiederholte Freigabe und Belegung von Ressourcen Leistung
der Datenverarbeitungsumgebung 200 beeinträchtigen
kann. 2 zeigt bestimmte Ausführungsformen, bei denen bestimmte
Freigaben von belegten Ressourcen, die Kopienspeichergruppen entsprechen,
vermieden werden, während
Sicherungskopien von Daten erstellt werden, die in den übergeordneten
Speichergruppen der Speicherhierarchie 108 gespeichert
sind.
-
3 zeigt
Operationen für
die Ressourcenverwaltung bei bestimmten Ausführungsformen, die gleichzeitige
Schreiboperationen verwenden, um Kopienspeichergruppen 110a,
..., 110n zu kopieren. Dabei können die Operationen für die Ressourcenverwaltung
im Speicherverwaltungsprogramm 106 realisiert sein.
-
Die
Steuerung beginnt bei Block 300, wo das Speicherverwaltungsprogramm 106 vom
Client 104 eine Schreibanforderung für das Schreiben von Daten in
eine übergeordnete
Speichergruppe empfängt, wobei
im Speicherserver 102 das gleichzeitige Schreiben aktiviert
wurde. Da im Speicherserver 102 das gleichzeitige Schreiben
aktiviert wurde, sollten die in eine übergeordnete Speichergruppe
geschriebenen Daten als Reaktion auf die Schreibanforderung vom
Client 104 in eine oder mehrere entsprechende Kopienspeichergruppe(n)
kopiert bzw. gleichzeitig geschrieben werden. Bei bestimmten Ausführungsformen
versucht das Speicherverwaltungsprogramm 106 zunächst, die
Daten in eine momentane übergeordnete
Speichergruppe zu schreiben, wobei diese anfänglich der Gruppe zugewiesen sein
kann, die in der Speicherhierarchie 108 am höchsten angesiedelt
ist. So kann die momentane übergeordnete
Speichergruppe in den Datenverarbeitungsumgebungen 100, 200 z.
B. anfänglich
die Plattengruppe 112 sein.
-
Das
Speicherverwaltungsprogramm 106 belegt (in Block 302)
Ressourcen für
die momentane übergeordnete
Speichergruppe. So kann das Speicherverwaltungsprogramm 106 bei
bestimmten Ausführungsformen
die Ressourcen belegen, die der Plattengruppe 112 entsprechen.
Die Daten können erst
nach der Belegung der Ressourcen in die momentane übergeordnete
Speichergruppe geschrieben werden. Nachdem die Daten geschrieben
wurden, können
die Ressourcen freigegeben werden, falls sie für die Schreibanforderung nicht
mehr benötigt
werden.
-
Das
Speicherverwaltungsprogramm 106 belegt (in Block 304)
Ressourcen für
entsprechende Kopienspeichergruppe(n), die für die momentane übergeordnete
Speichergruppe definiert wurde(n). So kann das Speicherverwaltungsprogramm 106 in der
Datenverarbeitungsumgebung 200 beispielsweise die Ressourcen
belegen, die den Kopienspeichergruppen 202, 204, 206 entsprechen,
wobei die momentane übergeordnete
Speichergruppe die Plattengruppe 112 ist.
-
Das
Speicherverwaltungsprogramm 106 ermittelt (in Block 306),
ob die Daten in die momentane übergeordnete
Speichergruppe geschrieben werden können. So kann das Speicherverwaltungsprogramm 106 z.
B. bei bestimmten Ausführungsformen,
die in der Datenverarbeitungsumgebung 200 realisiert sind,
ermitteln, ob die Daten in die Plattengruppe 112 geschrieben
werden können.
-
Wenn
das Speicherverwaltungsprogramm 106 (in Block 306)
ermittelt, dass die Daten nicht in die momentane übergeordnete
Speichergruppe geschrieben werden können, kann es bei bestimmten Ausführungsformen
(in Block 308) die Ressourcen für die momentane übergeordnete
Speichergruppe freigeben. So werden bei bestimmten Ausführungsformen
Daten beispielsweise unter Umständen
nicht in die Plattengruppe 112 geschrieben, da die Datei, welche
die Daten enthält,
eine bestimmte Größe überschreitet
oder da die Plattengruppe 112 nicht über ausreichend Speicherplatz
für die
Datei verfügt. In
einem solchen Fall kann das Speicherverwaltungsprogramm 106 die
der Plattengruppe 112 entsprechenden Ressourcen freigeben,
die zuvor in Block 302 belegt wurden. Bei bestimmten alternativen
Ausführungsformen
gibt das Speicherverwaltungsprogramm 106 in Block 308 die
Ressourcen für die
momentane übergeordnete
Speichergruppe eventuell nicht frei.
-
Das
Speicherverwaltungsprogramm 106 belegt (in Block 310)
Ressourcen für
eine nächste
Speichergruppe der Speicherhierarchie 108, ohne die Ressourcen
für die
Kopienspeichergruppen freizugeben, wobei diese zuvor belegt wurden.
So werden bei bestimmten Ausführungsformen,
die in der Datenverarbeitungsumgebung 200 realisiert sind,
die Ressourcen für
die Kopienspeichergruppen 202, 204, 206 nicht
freigegeben, wobei die der Plattengruppe 112 am nächsten liegende
Speichergruppe in der Speicherhierarchie 108 die Bandgruppe 114 ist.
Auch wenn keine Daten in die Plattengruppe 112 geschrieben
werden können,
werden die den Kopienspeichergruppen 202, 204, 206 entsprechenden
Ressourcen vom Speicherverwaltungsprogramm 106 weiterhin
belegt. Das Speicherverwaltungsprogramm 106 legt (in Block 312)
die nächste
Speichergruppe als momentane übergeordnete
Speichergruppe fest. So wird bei bestimmten Ausführungsformen, die in der Datenverarbeitungsumgebung 200 realisiert sind,
die Bandgruppe 114 als momentane übergeordnete Speichergruppe
festgelegt, wenn die Daten nicht in die Plattengruppe 112 geschrieben
werden können.
Anschließend
kehrt die Steuerung zu Block 306 zurück, wo das Speicherverwaltungsprogramm 106 ermittelt,
ob die Daten in die momentane übergeordnete
Speichergruppe geschrieben werden können.
-
Wenn
das Speicherverwaltungsprogramm 106 (in Block 306)
ermittelt, dass die Daten in die momentane übergeordnete Speichergruppe
geschrieben werden können,
schreibt es (in Block 314) die Daten in die momentane übergeordnete
Speichergruppe sowie in die Kopienspeichergruppen. So schreibt das
Speicherverwaltungsprogramm 106 bei bestimmten Ausführungsformen,
die in der Datenverarbeitungsumgebung 200 realisiert sind,
die Daten beispielsweise in die Bandgruppe 114 und kopiert
die geschriebenen Daten in die Kopienspeichergruppen 202, 204, 206,
deren Ressourcen nicht freigegeben wurden. Somit werden die für die Plattengruppe 112 definierten
Kopienspeichergruppen 202, 204, 206 auch
dann für
die Speicherung von Daten verwendet, die in die Bandgruppe 114 geschrieben
werden können,
wenn keine Daten in die Plattengruppe 112 geschrieben werden
können.
Bei bestimmten Ausführungsformen
können
die für
die Bandgruppe 114 definierten Kopienspeichergruppen 208, 210 nicht
verwendet werden, um die in die Bandgruppe 114 geschriebenen
Daten zu kopieren.
-
Das
Speicherverwaltungsprogramm 106 ermittelt (in Block 316),
ob noch weitere Daten geschrieben werden müssen. Wenn dies der Fall ist, kehrt
die Steuerung zu Block 306 zurück, um zu ermitteln, ob verbleibende
Daten in die momentane übergeordnete
Speichergruppe geschrieben werden können. Falls nicht, kann das
Speicherverwaltungsprogramm 106 (in Block 318)
die Ressourcen freigeben, die der momentanen übergeordneten Speichergruppe
entsprechen. Das Speicherverwaltungsprogramm 106 kann auch
die Ressourcen freigeben, die den Kopienspeichergruppen entsprechen.
So kann das Speicherverwaltungsprogramm 106 bei bestimmten
Ausführungsformen,
die in der Datenverarbeitungsumgebung 200 realisiert sind,
die Ressourcen freigeben, die der Bandgruppe 114 und den
Kopienspeichergruppen 202, 204, 206 entsprechen.
Bei bestimmten Ausführungsformen
gibt das Speicherverwaltungsprogramm 106 in Block 318 die
Ressourcen, die der momentanen übergeordneten
Speichergruppe und den Kopienspeichergruppen entsprechen, unter
Umständen
nicht frei.
-
Somit
zeigt 3 bestimmte Ausführungsformen, bei denen Kopienspeichergruppe
nicht freigegeben werden, wenn Daten nicht in eine momentane übergeordnete
Speichergruppe geschrieben werden können. Selbst wenn eine nächste Gruppe
in der Speicherhierarchie 108 für das Schreiben von Daten verwendet
wird, können
die nicht freigegebenen Kopienspeichergruppen für das Speichern von Sicherungskopien
der Daten verwendet werden. Dabei müssen die Kopienspeichergruppen,
die für
das Speichern der Sicherungskopien der Daten verwendet werden, nicht
unbedingt mit Blick auf die momentane übergeordnete Speichergruppe
definiert worden sein. So können
bei bestimmten Ausführungsformen die
mit Blick auf die Plattengruppe 112 definierten Kopienspeichergruppen 202, 204, 206 die
Daten speichern, welche in die Bandgruppe 114 geschrieben wurden.
-
Die 4a, 4a zeigen,
wie beispielhafte Dateien gemäß ersten
beispielhaften Ausführungsformen
durch das Speicherverwaltungsprogramm 106 gespeichert werden.
-
In
den 4a, 4b bilden die übergeordneten
Speichergruppen PLATTENGRUPPE 402 und BANDGRUPPE 404 die
Speicherhierarchie 108, wobei die PLATTENGRUPPE 402 in
der Speicherhierarchie 108 am höchsten angesiedelt ist und
die BANDGRUPPE 404 die nächste (durch die Bezugsziffer 406 gekennzeichnete)
Gruppe in der Speicherhierarchie 108 ist, d. h., die BANDGRUPPE 404 befindet
sich in der Speicherhierarchie 108 auf der Ebene direkt
unterhalb der PLATTENGRUPPE 402. Bei bestimmten Ausführungsformen
kann die PLATTENGRUPPE 402 der Plattengruppe 112 und
die BANDGRUPPE 404 der Bandgruppe 114 entsprechen.
-
In
den 4a, 4b sind die KOPIENGRUPPE1 (Bezugsziffer 408)
und die KOPIENGRUPPE2 (Bezugsziffer 410) mit Blick auf die
PLATTENGRUPPE 402 definiert. Bei bestimmten Ausführungsformen
werden die KOPIENGRUPPE1 (Bezugsziffer 408) und die KOPIENGRUPPE2
(Bezugsziffer 410) aus der Vielzahl von Kopienspeichergruppen 110a,
..., 110n ausgewählt.
-
Der
TSM-Client 104 sendet Datei A (Bezugsziffer 414a),
Datei B (Bezugsziffer 416a) und Datei C (Bezugsziffer 418a)
an den TSM-Server 102, damit diese in die PLATTENGRUPPE 402 geschrieben werden.
Die PLATTENGRUPPE 402 verfügt lediglich über ausreichend
Platz zum Speichern von Datei B (Bezugsziffer 416b) und
Datei C (Bezugsziffer 418b), und die nächste Gruppe 106,
d. h. die BANDGRUPPE 404, verfügt über ausreichend Speicherplatz
für Datei
A (Bezugsziffer 414b).
-
Bei
bestimmten Ausführungsformen
mit aktiviertem gleichzeitigen Schreiben werden bei der Sicherung
der Dateien A, B, C (Bezugsziffern 414a, 416a, 418a)
die Dateien B, C (Bezugsziffern 418b, 416b, 418c, 416c, 418d, 416d)
gleichzeitig in die PLATTENGRUPPE 402, die KOPIENGRUPPE1
(Bezugsziffer 408) und die KOPIENGRUPPE2 (Bezugsziffer 410)
geschrieben. Datei A (Bezugsziffer 414b, 414c, 414d)
wird gleichzeitig in die BANDGRUPPE 404, die KOPIENGRUPPE1
(Bezugsziffer 408) und die KOPIENGRUPPE2 (Bezugsziffer 410)
geschrieben.
-
Die 5a, 5b zeigen,
wie beispielhafte Dateien gemäß zweiten
beispielhaften Ausführungsformen
durch das Speicherverwaltungsprogramm 106 gespeichert werden.
-
In
den 5a, 5b bilden die übergeordneten
Speichergruppen PLATTENGRUPPE 502 und BANDGRUPPE 504 die
Speicherhierarchie 108, wobei die PLATTENGRUPPE 502 in
der Speicherhierarchie 108 am höchsten angesiedelt ist und
die BANDGRUPPE 504 die nächste (durch die Bezugsziffer 506 gekennzeichnete)
Gruppe in der Speicherhierarchie 108 ist, d. h., die BANDGRUPPE 504 befindet
sich in der Speicherhierarchie 108 auf der Ebene direkt
unterhalb der PLATTENGRUPPE 502. Bei bestimmten Ausführungsformen
kann die PLATTENGRUPPE 502 der Plattengruppe 112 und
die BANDGRUPPE 504 der Bandgruppe 114 entsprechen.
-
In
den 5a, 5b ist die KOPIENGRUPPE1 (Bezugsziffer 508)
mit Blick auf PLATTENGRUPPE 502 und die KOPIENGRUPPE2 (Bezugsziffer 510)
mit Blick auf die PLATTENGRUPPE 504 definiert. Bei bestimmten
Ausführungsformen werden
die KOPIENGRUPPE1 (Bezugsziffer 508) und die KOPIENGRUPPE2
(Bezugsziffer 510) aus der Vielzahl von Kopienspeichergruppen 110a,
..., 110n ausgewählt.
-
Der
TSM-Client 104 sendet Datei A (Bezugsziffer 514a),
Datei B (Bezugsziffer 516a) und Datei C (Bezugsziffer 518a)
an den TSM-Server 102, um in die PLATTENGRUPPE 502 geschrieben
zu werden. Die PLATTENGRUPPE 502 verfügt lediglich über ausreichend
Platz zum Speichern von Datei B (Bezugsziffer 516b) und
Datei C (Bezugsziffer 518b), und die nächste Gruppe 506,
d. h. die BANDGRUPPE 504, verfügt über ausreichend Speicherplatz
für Datei
A (Bezugsziffer 514b).
-
Bei
bestimmten Ausführungsformen
mit aktiviertem gleichzeitigen Schreiben werden bei der Sicherung
der Dateien A, B, C (Bezugsziffern 514a, 516a, 518a)
die Dateien B, C (Bezugsziffern 518b, 516b, 518c, 516c)
gleichzeitig in die PLATTENGRUPPE 502 und die KOPIENGRUPPE1
(Bezugsziffer 508) geschrieben. Datei A (Bezugsziffern 514b, 514c)
wird gleichzeitig in die BANDGRUPPE 504 und die KOPIENGRUPPE1
(Bezugsziffer 508) geschrieben. Die KOPIENGRUPPE2 (Bezugsziffer 510)
dient nicht zum Sichern der Daten.
-
Die 6a, 6b zeigen,
wie das Speicherverwaltungsprogramm 106 gemäß dritten
Ausführungsformen
beispielhafte Dateien speichert, wobei das gleichzeitige Schreiben
für Sicherungen
nicht aktiviert ist.
-
In
den 6a, 6b bilden die übergeordneten
Speichergruppen PLATTENGRUPPE 602 und BANDGRUPPE 604 die
Speicherhierarchie 108, wobei die PLATTENGRUPPE 602 in
der Speicherhierarchie 108 am höchsten angesiedelt ist und
die BANDGRUPPE 604 die nächste (durch die Bezugsziffer 606 gekennzeichnete)
Gruppe in der Speicherhierarchie 108 ist, d. h., die BANDGRUPPE 604 befindet
sich in der Speicherhierarchie 108 auf der Ebene direkt
unterhalb der PLATTENGRUPPE 602. Bei bestimmten Ausführungsformen
kann die PLATTENGRUPPE 602 der Plattengruppe 112 und
die BANDGRUPPE 604 der Bandgruppe 114 entsprechen.
-
In
den 6a, 6b sind die KOPIEGRUPPE1 (Bezugsziffer 608)
und die KOPIENGRUPPE2 (Bezugsziffer 610) mit Blick auf die
BANDGRUPPE 604 definiert. Bei bestimmten Ausführungsformen
werden die KOPIENGRUPPE1 (Bezugsziffer 608) und die KOPIENGRUPPE2
(Bezugsziffer 610) au der Vielzahl von Kopienspeichergruppen 110a,
..., 110n ausgewählt.
-
Der
TSM-Client 104 sendet Datei A (Bezugsziffer 614a),
Datei B (Bezugsziffer 616a) und Datei C (Bezugsziffer 618a)
an den TSM-Server 102, damit sie in die PLATTENGRUPPE 602 geschrieben
werden. Die PLATTENGRUPPE 602 verfügt lediglich über ausreichend
Platz zum Speichern von Datei B (Bezugsziffer 616b) und
Datei C (Bezugsziffer 618b), und die nächste Gruppe 606,
d. h. die BANDGRUPPE 604, verfügt über ausreichend Speicherplatz
für Datei
A (Bezugsziffer 614b).
-
Bei
bestimmten Ausführungsformen,
bei denen das gleichzeitige Schreiben nicht aktiviert ist, werden
beim Schreiben der Dateien A, B, C (Bezugsziffern 614a, 616a, 618a)
die Dateien B, C (Bezugsziffern 618b, 616b) in
die PLATTENGRUPPE 602 geschrieben. Die Datei A (Bezugsziffer 614b)
wird in die BANDGRUPPE 604 geschrieben. Da das gleichzeitige
Schreiben nicht aktiviert ist, werden keine Dateien in die KOPIENGRUPPE1
(Bezugsziffer 608) und die KOPIENGRUPPE2 (Bezugsziffer 610)
geschrieben, obwohl für
die BANDGRUPPE 604 Kopiengruppen definiert wurden.
-
Bestimmte
Ausführungsformen
stellen ein Vererbungsmodell für
gleichzeitige Schreiboperationen bereit. Das Vererbungsmodell vermindert
die Auswirkung der Freigabe und erneuten Belegung von Ressourcen,
wie sie bei Speicheroperationen in Kopienspeichergruppen auftritt.
Wenn Daten in der nächsten übergeordneten
Speichergruppe gespeichert werden müssen, können so nur die Ressourcen der übergeordneten
Speichergruppe freigegeben werden, während die Ressourcen für die nächste übergeordnete
Speichergruppe belegt werden. Die nächste übergeordnete Speichergruppe
erbt die Kopiengruppenliste der ursprünglichen übergeordneten Speichergruppe
und verwendet die Ressourcen, die bereits für die Kopienspeichergruppen
belegt wurden. Bestimmte Ausführungsformen
versuchen, die ursprüngliche
Absicht der Kopiengruppenliste der übergeordneten Gruppe zu berücksichtigen,
auch wenn Daten in der nächsten
Speichergruppe gespeichert werden müssen. Indem die Ressourcen
für die Kopiengruppen
nicht freigegeben werden, können bestimmte
Ausführungsformen
den Zeitaufwand für die
Belegung von Bandlaufwerken und Banddatenträgern verringern.
-
WEITERE EINZELHEITEN ZU DEN
AUSFÜHRUNGSFORMEN
-
Die
beschriebenen Methoden können
als ein Verfahren, eine Vorrichtung oder ein Herstellungsartikel
unter Einschluss von Software, Firmware, Mikrocode, Hardware und/oder
eine Kombination hiervon realisiert werden. Der Begriff „Herstellungsartikel" bezieht sich in
der vorliegenden Verwendung auf Programmbefehle, Code und/oder Logik,
die in Schaltungen (z. B. einem Chip mit integrierter Schaltung, einem
programmierbaren Halbleiterbaustein (Programmable Gate Array, PGA),
ASIC usw.) und/oder auf einem computerlesbaren Medium (z. B. einem Magnetspeichermedium
wie einem Festplattenlaufwerk, einer Diskette oder einem Band),
einem optischen Speichermedium (z. B. CD-ROM, DVD-ROM, optische
Platte usw.), einer flüchtigen
oder nichtflüchtigen
Speichereinheit (z. B. einem elektrisch löschbaren programmierten Festwertspeicher
(Electrically Erasable Programmable Read Only Memory, EEPROM), einem
Festwertspeicher (Read Only Memory, ROM), einem programmierbaren
Festwertspeicher (Programmable Read Only Memory, PROM), einem Direktzugriffsspeicher
(Random Access Memory, RAM), einem dynamischen Direktzugriffsspeicher (Dynamic
Random Access Memory, DRAM), einem statischen Direktzugriffsspeicher
(Static Random Access Memory, SRAM), einem Flashspeicher, Firmware,
programmierbarer Logik usw.) realisiert sein können. Der Zugriff und die Ausführung von
Code auf dem computerlesbaren Medium können durch eine Maschine wie
beispielsweise einen Prozessor erfolgen. Bei bestimmten Ausführungsformen
kann der Zugriff auf den Code, in dem die Ausführungsformen realisiert sind,
auch über
ein Übertragungsmedium oder
von einem Dateiserver über
ein Netzwerk erfolgen. In derartigen Fällen kann der Herstellungsartikel,
indem der Code realisiert ist, ein Übertragungsmedium wie beispielsweise
eine Netzwerkübertragungsleitung,
drahtlose Übertragungsmedien,
durch den Raum sich ausbreitende Signale, Funkwellen, Infrarotsignale
usw. umfassen. Dabei ist dem Fachmann selbstverständlich klar,
dass viele Änderungen vorgenommen
werden können,
ohne vom Geltungsumfang der Ausführungsformen
abzuweichen, und dass der Herstellungsartikel ein beliebiges datentragendes
Medium nach dem Stand der Technik umfassen kann. So umfasst der
Herstellungsartikel z. B. ein Speichermedium, auf dem Befehle gespeichert
sein, deren Ausführung
durch eine Maschine dazu führt, dass
Operationen ausgeführt
werden.
-
7 zeigt
ein Blockschaubild eines Systems 700, in dem bestimmte
Ausführungsformen
realisiert sein können.
Bei bestimmten Ausführungsformen
kann der Speicherserver 102 gemäß dem System 700 realisiert
sein. Das System 700 kann eine Schaltung 702 beinhalten,
die bei bestimmten Ausführungsformen
einen Prozessor 704 beinhalten kann. Das System 700 kann
außerdem
einen Speicher 706 (z. B. eine flüchtige Speichereinheit) und
einen Speicher 708 beinhalten. Bestimmte Elemente des Systems 700 sind
unter Umständen
in dem Speicherserver 102 vorhanden, ohne dass dies jedoch zwingend
der Fall sein muss. Der Speicher 708 kann eine nichtflüchtige Speichereinheit
(z. B. EEPROM, ROM, PROM, RAM, DRAM, SRAM, Flashspeicher, Firmware,
programmierbare Logik usw.), ein Magnetplattenlaufwerk, ein optisches
Plattenlaufwerk, ein Bandlaufwerk usw. beinhalten. Der Speicher 708 kann
eine interne Speichereinheit, eine verbundene Speichereinheit und/oder
eine über
ein Netzwerk zugängliche
Speichereinheit umfassen. Das System 700 kann eine Programmlogik 710 einschließlich Code 712 beinhalten,
die in den Speicher 706 geladen und von dem Prozessor 704 oder
der Schaltung 702 ausgeführt werden kann. Bei bestimmten
Ausführungsformen
kann die Programmlogik 710 einschließlich des Codes 712 im
Speicher 708 gespeichert werden. Bei bestimmten anderen
Ausführungsformen
kann die Programmlogik in der Schaltung 702 realisiert
sein. Obwohl 7 die Programmlogik 710 von
den anderen Elementen getrennt zeigt, kann sie daher auch im Speicher 706 und/oder
der Schaltung 702 realisiert sein.
-
Bestimmte
Ausführungsformen
können
auf ein Verfahren ausgerichtet sein, mit dem Datenverarbeitungsbefehle
durch eine Person oder durch automatische Verarbeitung angewendet
werden, um so computerlesbaren Code in ein Datenverarbeitungssystem
einzubinden, wobei der Code gemeinsam mit dem Datenverarbeitungssystem
in der Lage ist, die Operationen der beschriebenen Ausführungsformen auszuführen.
-
Mindestens
bestimmte der in 3 abgebildeten Operationen können sowohl
nebeneinander als auch nacheinander ausgeführt werden. Bei alternativen
Ausführungsformen
können
bestimmte Operationen auch in einer anderen Reihenfolge, mit Änderungen
oder Auslassungen ausgeführt
werden.
-
Außerdem wurden
viele der Software- und Hardwarekomponenten aus Gründen der
Veranschaulichung in getrennten Modulen beschrieben. Derartige Komponenten
können
jedoch auch in eine geringere Anzahl von Komponenten eingebettet
oder auf eine größere Anzahl
von Komponenten aufgeteilt werden. Darüber hinaus können bestimmte
Operationen, die laut Beschreibung von einer konkreten Komponente
ausgeführt
werden, auch von anderen Komponenten ausgeführt werden.
-
Die
in den 1 bis 7 gezeigten bzw. erwähnten Datenstrukturen
und Komponenten verfügen
laut Beschreibung über
konkrete Arten von Daten. Bei alternativen Ausführungsformen können die Datenstrukturen
und Komponenten anders ausgebildet sein und über weniger, mehr oder andere
Felder bzw. über
andere Funktionen verfügen,
als sie in den die Figuren abgebildet sind oder erwähnt werden.
-
Somit
dient die obige Beschreibung der Ausführungsformen lediglich zu Veranschaulichungs- und
Beschreibungszwecken. Sie ist weder als erschöpfend noch so verstehen, dass
sie die Ausführungsformen
auf die genaue hier beschriebene Form beschränkt. Vielmehr sind vor dem
Hintergrund der obigen Lehren viele Änderungen und Abweichungen möglich.