DE602005005086T2 - Ressourcenverwaltung für datenspeicherdienste - Google Patents

Ressourcenverwaltung für datenspeicherdienste Download PDF

Info

Publication number
DE602005005086T2
DE602005005086T2 DE602005005086T DE602005005086T DE602005005086T2 DE 602005005086 T2 DE602005005086 T2 DE 602005005086T2 DE 602005005086 T DE602005005086 T DE 602005005086T DE 602005005086 T DE602005005086 T DE 602005005086T DE 602005005086 T2 DE602005005086 T2 DE 602005005086T2
Authority
DE
Germany
Prior art keywords
group
storage
copy
resources
data
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.)
Active
Application number
DE602005005086T
Other languages
English (en)
Other versions
DE602005005086D1 (de
Inventor
Howard Newton Vail MARTIN
Rosa Tesller Tucson PLAZA
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE602005005086D1 publication Critical patent/DE602005005086D1/de
Application granted granted Critical
Publication of DE602005005086T2 publication Critical patent/DE602005005086T2/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1464Management of the backup or restore process for networked environments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/40Data acquisition and logging

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Exchange Systems With Centralized Control (AREA)

Description

  • 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.

Claims (12)

  1. Verfahren für das Verwalten des redundanten Speichers von Clientdaten in einer Speicherhierarchie (108) mit einer Vielzahl von übergeordneten Speichergruppen (112, 114) und mindestens einer Kopienspeichergruppe (110a, ..., 110n), wobei das Verfahren die folgenden Schritte umfasst: Belegen von Ressourcen, die mindestens einer Kopienspeichergruppe (110a, ..., 110n) entsprechen, die für eine erste übergeordnete Speichergruppe der Speicherhierarchie (108) definiert wurde; als Reaktion auf das Ermitteln, dass keine Clientdaten in die erste übergeordnete Speichergruppe (110a, ..., 110n) geschrieben werden können, Beibehalten der belegten Ressourcen für die mindestens eine Kopienspeichergruppe (110a, ..., 110n) und Schreiben der Daten in eine zweite übergeordnete Speichergruppe der Speicherhierarchie (108); und als Reaktion auf das Schreiben der Clientdaten in eine zweite übergeordnete Speichergruppe der Speicherhierarchie (108), Schreiben der Clientdaten in die mindestens eine Kopienspeichergruppe (110a, ..., 110n).
  2. Verfahren nach Anspruch 1, wobei die mindestens eine Kopiengruppe eine erste Kopienspeichergruppe ist und wobei eine zweite Kopienspeichergruppe für die zweite übergeordnete Speichergruppe definiert wurde, wobei das Verfahren Folgendes umfasst: als Reaktion auf das Schreiben der Daten in die erste Kopienspeichergruppe, Vermeiden einer Freigabe der Ressourcen, die der ersten Kopienspeichergruppe entsprechen, wobei keine Ressourcen für die zweite Kopienspeichergruppe belegt werden.
  3. Verfahren nach Anspruch 1, wobei die belegten Ressourcen ein erster Satz von Ressourcen sind und das Verfahren weiter Folgendes umfasst: Empfangen einer Anforderung, die Daten in die erste übergeordnete Speichergruppe zu schreiben, vor dem Belegen des ersten Satzes von Ressourcen, die der mindestens einen Kopienspeichergruppe entsprechen; Belegen eines zweiten Satzes von Ressourcen, welcher der ersten übergeordneten Speichergruppe entspricht; als Reaktion auf das Ermitteln, dass die Clientdaten nicht in die erste übergeordnete Speichergruppe geschrieben werden können, Freigeben des zweiten Satzes von Ressourcen und Belegen eines dritten Satzes von Ressourcen, die der zweiten übergeordneten Speichergruppe entsprechen; Schreiben der Daten in die zweite übergeordnete Speichergruppe in Zusammenhang mit dem Schreiben der Clientdaten in die mindestens eine Kopienspeichergruppe; und Freigeben des ersten Satzes von Ressourcen und des dritten Satzes von Ressourcen.
  4. Verfahren nach Anspruch 1, wobei es sich bei der ersten übergeordneten Speichergruppe um eine Plattengruppe (112) und wobei es sich bei der zweiten übergeordneten Speichergruppe um eine Bandgruppe (114) handelt.
  5. Verfahren nach Anspruch 1, wobei die zweite übergeordnete Speichergruppe niedriger in der Speicherhierarchie angesiedelt ist als die erste übergeordnete Speichergruppe und wobei die Clientdaten vorzugsweise in eine verfügbare übergeordnete Speichergruppe geschrieben werden, die in der Speicherhierarchie (108) am höchsten angesiedelt ist.
  6. Verfahren nach Anspruch 1, wobei die Ressourcen ein erster Satz von Ressourcen sind und wobei das Verfahren weiter Folgendes umfasst: Belegen eines zweiten Satzes von Ressourcen, die der ersten übergeordneten Speichergruppe entsprechen; Ermitteln, ob die Clientdaten in die erste übergeordnete Speichergruppe geschrieben werden können; als Reaktion auf das Ermitteln, dass die Clientdaten in die erste übergeordnete Speichergruppe geschrieben werden können, Schreiben der Daten in die erste übergeordnete Speichergruppe; als Reaktion auf das Schreiben der Clientdaten in die erste übergeordnete Speichergruppe, Schreiben der Daten in die mindestens eine Kopienspeichergruppe; und Freigeben des ersten Satzes von Ressourcen und des zweiten Satzes von Ressourcen.
  7. Verfahren nach Anspruch 1, wobei das Belegen, das Aufrechterhalten der Belegung und das Schreiben der Clientdaten in die mindestens eine Kopienspeichergruppe durch ein Speicherverwaltungsprogramm (106) in einem Speicherserver (102) durchgeführt wird, der Daten mit einem Client (104) austauscht, welcher die Clientdaten an den Speicherserver (102) sendet.
  8. Verfahren nach Anspruch 7, wobei in dem Speicherserver (102) das gleichzeitige Schreiben aktiviert wurde.
  9. Verfahren nach Anspruch 1, wobei die Ressourcen, die der mindestens einen Kopienspeichergruppe entsprechen, belegt werden, indem Hardwareressourcen, die für den Zugriff auf die mindestens eine Kopienspeichergruppe verwendet werden, gesperrt werden, wobei die für den Zugriff auf die mindestens eine Kopienspeichergruppe verwendeten Hardwareressourcen mindestens so lange belegt bleiben, bis die Clientdaten in die mindestens eine Kopienspeichergruppe geschrieben wurden.
  10. Verfahren nach Anspruch 1, wobei die Daten gleichzeitig in die mindestens eine Kopienspeichergruppe und die zweite übergeordnete Speichergruppe geschrieben werden.
  11. System, das Folgendes umfasst: Speicher; einen mit dem Speicher verbundenen Prozessor; und ein Mittel für das Ausführen der Schritte des Verfahrens gemäß einem beliebigen der Ansprüche 1 bis 10.
  12. Computerprogramm, das computerausführbare Befehle für die Ausführung aller Schritte des Verfahrens gemäß einem beliebigen der Ansprüche 1 bis 10 umfasst, wenn es auf einem Computer ausgeführt wird.
DE602005005086T 2004-12-10 2005-11-17 Ressourcenverwaltung für datenspeicherdienste Active DE602005005086T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US9833 1993-01-27
US11/009,833 US8205058B2 (en) 2004-12-10 2004-12-10 Resource management for data storage services
PCT/EP2005/056038 WO2006061315A2 (en) 2004-12-10 2005-11-17 Resource management for data storage services

Publications (2)

Publication Number Publication Date
DE602005005086D1 DE602005005086D1 (de) 2008-04-10
DE602005005086T2 true DE602005005086T2 (de) 2009-03-12

Family

ID=36578272

Family Applications (1)

Application Number Title Priority Date Filing Date
DE602005005086T Active DE602005005086T2 (de) 2004-12-10 2005-11-17 Ressourcenverwaltung für datenspeicherdienste

Country Status (8)

Country Link
US (3) US8205058B2 (de)
EP (1) EP1828900B1 (de)
JP (1) JP4726909B2 (de)
KR (1) KR100935618B1 (de)
CN (1) CN100507862C (de)
AT (1) ATE387665T1 (de)
DE (1) DE602005005086T2 (de)
WO (1) WO2006061315A2 (de)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7200609B2 (en) * 2001-07-19 2007-04-03 Emc Corporation Attribute based resource allocation
US8205058B2 (en) 2004-12-10 2012-06-19 International Business Machines Corporation Resource management for data storage services
US20080016390A1 (en) * 2006-07-13 2008-01-17 David Maxwell Cannon Apparatus, system, and method for concurrent storage pool migration and backup
US7606845B2 (en) * 2006-07-13 2009-10-20 International Business Machines Corporation Apparatus, systems, and method for concurrent storage to an active data file storage pool, copy pool, and next pool
US8725966B2 (en) * 2008-07-23 2014-05-13 International Business Machines Corporation Generation and update of storage groups constructed from storage devices distributed in storage subsystems
JP5233733B2 (ja) * 2009-02-20 2013-07-10 富士通株式会社 ストレージ装置,ストレージ制御装置およびストレージ制御プログラム
US8812895B2 (en) * 2011-11-21 2014-08-19 Verizon Patent And Licensing Inc. System redundancy and site recovery
US10838821B2 (en) * 2017-02-08 2020-11-17 Commvault Systems, Inc. Migrating content and metadata from a backup system
CN107256184A (zh) * 2017-06-05 2017-10-17 郑州云海信息技术有限公司 一种基于存储池的数据灾难备份方法及装置
CN109933463A (zh) * 2019-02-28 2019-06-25 苏州浪潮智能科技有限公司 一种基于存储备份系统介质池的数据备份方法及系统

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2830218B2 (ja) * 1989-11-22 1998-12-02 株式会社日立製作所 キャッシュ付ディスク制御装置の障害処理方法
US5544347A (en) * 1990-09-24 1996-08-06 Emc Corporation Data storage system controlled remote data mirroring with respectively maintained data indices
US5212784A (en) * 1990-10-22 1993-05-18 Delphi Data, A Division Of Sparks Industries, Inc. Automated concurrent data backup system
US5274799A (en) * 1991-01-04 1993-12-28 Array Technology Corporation Storage device array architecture with copyback cache
JPH06230903A (ja) * 1993-01-31 1994-08-19 Hitachi Ltd ディスクアレイ装置の障害回復方法、およびディスクアレイ装置
US5504882A (en) * 1994-06-20 1996-04-02 International Business Machines Corporation Fault tolerant data storage subsystem employing hierarchically arranged controllers
US5644696A (en) * 1995-06-06 1997-07-01 International Business Machines Corporation Recovering multi-volume data sets during volume recovery
KR970076238A (ko) 1996-05-23 1997-12-12 포만 제프리 엘 클라이언트 데이타 화일의 다수의 복사본을 생성하고 관리하는 서버, 방법 및 그 프로그램 제품
US5673382A (en) * 1996-05-30 1997-09-30 International Business Machines Corporation Automated management of off-site storage volumes for disaster recovery
US6477627B1 (en) * 1996-05-31 2002-11-05 Emc Corporation Method and apparatus for mirroring data in a remote data storage system
US6047280A (en) * 1996-10-25 2000-04-04 Navigation Technologies Corporation Interface layer for navigation system
JPH1165779A (ja) * 1997-08-15 1999-03-09 Hitachi Ltd 可搬媒体の交替制御を備えた情報記憶装置
US6493804B1 (en) * 1997-10-01 2002-12-10 Regents Of The University Of Minnesota Global file system and data storage device locks
US6065018A (en) * 1998-03-04 2000-05-16 International Business Machines Corporation Synchronizing recovery log having time stamp to a remote site for disaster recovery of a primary database having related hierarchial and relational databases
US6269431B1 (en) * 1998-08-13 2001-07-31 Emc Corporation Virtual storage and block level direct access of secondary storage for recovery of backup data
US6738974B1 (en) * 1998-09-10 2004-05-18 International Business Machines Corporation Apparatus and method for system resource object deallocation in a multi-threaded environment
US6266784B1 (en) * 1998-09-15 2001-07-24 International Business Machines Corporation Direct storage of recovery plan file on remote server for disaster recovery and storage management thereof
US6434681B1 (en) * 1999-12-02 2002-08-13 Emc Corporation Snapshot copy facility for a data storage system permitting continued host read/write access
US6490598B1 (en) * 1999-12-20 2002-12-03 Emc Corporation System and method for external backup and restore for a computer data storage system
CA2322613A1 (en) * 2000-10-06 2002-04-06 Ibm Canada Limited-Ibm Canada Limitee Latch mechanism for concurrent computing environments
US6795895B2 (en) * 2001-03-07 2004-09-21 Canopy Group Dual axis RAID systems for enhanced bandwidth and reliability
JP3997061B2 (ja) * 2001-05-11 2007-10-24 株式会社日立製作所 記憶サブシステムおよび記憶サブシステムの制御方法
JP2004013367A (ja) * 2002-06-05 2004-01-15 Hitachi Ltd データ記憶サブシステム
US7117324B2 (en) * 2002-10-18 2006-10-03 International Business Machines Corporation Simultaneous data backup in a computer system
US6704836B1 (en) * 2002-11-13 2004-03-09 Crossroads Systems, Inc. Method for dynamic control of concurrent extended copy tasks
KR20040047207A (ko) 2002-11-29 2004-06-05 (주)소프트위드솔루션 과부하 조절 기능을 갖는 데이터 백업 시스템 및 이를이용한 데이터 백업 방법
US8205058B2 (en) 2004-12-10 2012-06-19 International Business Machines Corporation Resource management for data storage services

Also Published As

Publication number Publication date
US20060129770A1 (en) 2006-06-15
US20120210057A1 (en) 2012-08-16
JP2008523484A (ja) 2008-07-03
EP1828900B1 (de) 2008-02-27
EP1828900A2 (de) 2007-09-05
WO2006061315A2 (en) 2006-06-15
WO2006061315A3 (en) 2006-12-14
US7788462B2 (en) 2010-08-31
ATE387665T1 (de) 2008-03-15
US20080140965A1 (en) 2008-06-12
KR20070085753A (ko) 2007-08-27
CN101073067A (zh) 2007-11-14
KR100935618B1 (ko) 2010-01-07
DE602005005086D1 (de) 2008-04-10
WO2006061315B1 (en) 2007-02-01
US8464018B2 (en) 2013-06-11
JP4726909B2 (ja) 2011-07-20
US8205058B2 (en) 2012-06-19
CN100507862C (zh) 2009-07-01

Similar Documents

Publication Publication Date Title
DE602005005086T2 (de) Ressourcenverwaltung für datenspeicherdienste
DE60313783T2 (de) Bewegen von daten zwischen speichereinheiten
DE112011100112B4 (de) Pufferspeicher-platte in blitzkopie-kaskade
DE102013215535B4 (de) Sicherung oder wiederherstellung von daten mit hilfe eines hauptspeichers und nichtflüchtiger speichermedien
DE602005004166T2 (de) Vorrichtung, system und verfahren zur reinitialisierung einer serialisierung von dateisystemen
DE60316783T2 (de) Erkennung von Speichermangel und Feinabschaltung
DE102004013114B4 (de) Plattenarrayvorrichtung
DE112010004947B4 (de) Wiederherstellung einer vollständigen Systemsicherung und inkrementeller Sicherungen unter Verwendung von mehreren gleichzeitigen Datenströmen von Einheiten
DE60113586T2 (de) Übertragen von miteinander verbundenen Datenobjekten in einer verteilten Datenspeicherumgebung
DE69913984T2 (de) Verteiltes transaktionales verarbeitungssystem und verfahren
DE60313468T2 (de) Speicherdienste und -systeme
DE112011100534T5 (de) Mehrstufiger Sicherungsprozess
DE202010017613U1 (de) Datenspeichervorrichtung mit host-gesteuerter Speicherbereinigung
DE112013001421T5 (de) Auf Richtlinien beruhendes Verwalten von Speicherfunktionen in Datenreplikationsumgebungen
DE112017005868T5 (de) Verwaltung von e/a-abläufen für datenobjekte in einem speichersystem
DE102004027672A1 (de) Speicherplattenarraysystem
DE10134492A1 (de) Kaskadierte Ausfallübernahme einer Datenverwaltungsanwendung für gemeinsam genutzte Plattenspeichersysteme in lose verbundenen Knotengruppierungen
DE202009019149U1 (de) Asynchron verteilte Speicherbereinigung für replizierte Speichercluster
DE102009060746A1 (de) Speichersicherung
WO2008061897A2 (de) Verfahren und vorrichtung zur datenarchivierung durch vergleich von hash-werten
DE102013205571B4 (de) Verfahren, Computerprogrammprodukt und Vorrichtung zum Migrieren von Datenträgern mit schlanker Speicherzuweisung in mehrschichtigen Speicherarchitekturen
DE112020004840T5 (de) Speicherbereinigung in datenspeichersystemen
DE10234138A1 (de) Verwalten einer Speicherkonkurrenz bei automatisierten Speichersystemen
DE69927223T2 (de) Ausfallsicherheit eines Mehrrechnersystems
DE102016125020B4 (de) Verfahren zum Betreiben eines Druckservers für digitale Hochleistungsdrucksysteme

Legal Events

Date Code Title Description
8320 Willingness to grant licences declared (paragraph 23)
8364 No opposition during term of opposition