-
HINTERGRUND DER ERFINDUNG
-
Gebiet der Erfindung
-
Ausführungsformen
der Erfindung betreffen allgemein Datensicherungssysteme und insbesondere
ein Verfahren und eine Anordnung zur Zuweisung von Ressourcen an
Sicherungs-Tasks in einem Datensicherungssystem.
-
Beschreibung verwandter Technik
-
Computersysteme
und deren Komponenten unterliegen verschiedenen Fehler- und Ausfallzuständen, die
zu Datenverlusten führen
können. Bspw.
kann eine in bzw. vom Computersystem benutzte Speichervorrichtung
(bspw. mechanisch, elektrisch, magnetisch usw.) ausfallen, so dass
dort abgelegte Daten nicht mehr lesbar sind. Funktionsfehler der
Soft- oder Hardware können
die in einer Speichervorrichtung gespeicherten Daten korrumpieren und
zerstören,
obgleich diese selbst einwandfrei arbeitet.
-
Um
die Gefahr von Datenverlusten zu mildern, weisen Computernetze Backup-
bzw. Sicherungssysteme auf, mit denen Kopien der in verschiedenen
Speichervorrichtungen enthaltenen Daten hergestellt werden können. Eine
Art solcher Sicherungssysteme weist einen dedizierten Sicherungsserver
auf, der Zieldaten in einer oder mehr Sicherungsvorrichtungen sichert,
die von einem oder mehr Computersystemen benutzt werden – bspw.
Workstations und/oder Anwendungsserver. Typischerweise sichert der
Sicherungsserver die Zieldaten periodisch nach einem bestimmten
Plan. Die Daten können
anfäng lich
auf einer Platte gesichert und später auf einem Bandspeicher
archiviert werden. Der Sicherungsserver kann zur Datensicherung
unterschiedliche bekannte Verfahren anwenden – bspw. Vollsicherung, Teilsicherung,
differentielle Sicherung u. dergl. Dabei ist eine Vollsicherung
eine vollständige
Kopie der Zieldaten; eine inkrementelle bzw. Teilsicherung enthält nur diejenigen
Dateien, die sich seit der jüngst
vorhergehenden (Voll- oder Teil-)Sicherung) geändert haben, und eine differentielle
Sicherung ist eine kumulative Sicherung aller Änderungen, die seit der letzten
Vollsicherung erfolgten. Der Sicherungsserver arbeitet typischerweise
nach einem Sicherungssystem, das verschiedene Parameter definiert – bspw.
die Zieldaten, das Zeitfenster für
das Ausführen
der Sicherung u. dergl.
-
In
Systemen mit mehreren Sicherungs-Clienten und einem vordefinierten
Ressourcensatz für das
Ausführen
der Sicherung ist eine Ressourcenzuweisung an die Sicherungs-Clienten
wünschenswert. Ohne
eine solche Zuweisung können
die Ressourcen u. U. unter konkurrierenden Sicherungs-Clienten "überbucht" werden. Überbuchungen können zum Ausfall
eines oder mehrerer Sicherungs-Tasks in Folge Ressourcen-Mangels
führen
(d. h. die Ressourcen sind vor Abschluss aller Tasks erschöpft). Einige Sicherungssysteme
inventorisieren zum Zeitpunkt der Sicherung durch einen Sicherungs-Clienten
die Größe der erforderlichen
Ressourcen. Eine solche Lösung
kann jedoch rechnerzeitintensiv sein und den Sicherungsprozess inakzeptabel
verzögern.
-
Es
besteht also Bedarf an einer optimalen und effizient arbeitenden
Zuweisung von Ressourcen an Sicherungs-Tasks in einem Datensicherungssystem.
-
Zusammenfassung der Erfindung
-
Es
werden ein Verfahren und eine Anordnung zur Zuweisung von Ressourcen
an Sicherungs-Tasks in einem Datensicherungssystem beschrieben.
Ein Aspekt der Erfindung betrifft die Verwaltung von Sicherungs-Tasks
in einem Computer-Netz. Auf Grund eines Satzes von Sicherungsstatistiken
wird für
jeden der Sicherungs-Tasks die Nutzung von Ressourcen geschätzt und
dann auf Grund der geschätzen
Ressourcennutzung jedem Sicherungs-Task eine Ressourcen-Reservierung
zugewiesen. Die Ressourcen-Reservierung jeder der Sicherungs-Tasks
wird während
dessen Ausführung
dynamisch geändert.
-
Kurzbeschreibung der Zeichnungen
-
Zum
besseren Verständnis
der genannten Besonderheiten der vorliegenden Erfindung soll diese
an Hand bestimmter Ausführungsformen,
von denen die beigefügten
Zeichnungen einige darstellen, ausführlicher erläutert werden.
Angemerkt sei, dass die beigefügten
Zeichnungen nur typische Ausführungsformen
der Erfindung zeigen und nicht als einschränkend aufzufassen sind; die
Erfindung lässt
andere, gleich wirksame Ausführungsformen
zu.
-
1 zeigt
als Blockschaltbild eine beispielhafte Ausführungsform eines vernetzten
Computersystem nach einem oder mehr Aspekten der vorliegenden Erfindung;
-
2 zeigt
als Blockdiagramm eine beispielhafte Ausführungsform eines Computernetzes
nach einem oder mehr Aspekten der Erfindung;
-
3 zeigt
als beispielhaftes Blockdiagramm eine beispielhafte Ausführungsform
einer Sicherungsverwaltung nach einem oder mehr Aspekten der Erfindung;
-
4 zeigt
als Flussdiagramm eine beispielhafte Ausführungsform eines Verfahrens
zum Verwalten von Sicherungs-Tasks vor deren Ausführung nach
einem oder mehr Aspekten der Erfindung;
-
5 zeigt
als Flussdiagramm eine beispielhafte Ausführungsform eines Verfahrens
zum Verwalten von Sicherungs-Tasks während deren Ausführung nach
einem oder mehr Aspekten der Erfindung; und
-
6 zeigt
als Flussdiagramm eine beispielhafte Ausführungsform eines Verfahrens
zum Verwalten einer Sicherungs-Task während der Ausführung desselben,
der nicht genug Ressourcen zugewiesen wurden.
-
Ausführliche
Beschreibung
-
Die 1 zeigt
als Blockdiagramm eine beispielhafte Ausführungsform eines vernetzten
Computersystems 100 nach einem oder mehr Aspekten der Erfindung.
Das System 100 enthält
ein Netz 102, Clienten 104-1 bis 104-N (gemeinsam
als die Clienten 104 bezeichnet) sowie ein oder mehr Sicherungsserver 112.
Das Netz 102 weist ein Übertragungssystem
auf, das die Computersysteme über
Drahtleitungen, Kabel, Lichtwellenleiter und/oder Funkstrecken über unterschiedlich
geartete bekannte Netzkomponenten wie Hubs, Switches, Router u.
dergl. miteinander verbindet. Zur Informationsübertragung kann das Netz 102 verschiedene
bekannte Protokolle anwenden. Die Clienten 104 können verschiedenartige Computer
wie Laptops, Tischrechner, Workstations, Server u. dergl. sein.
-
Die
Clienten 104 können
ein oder mehr Speichervolumen 114 verwalten. Die Speichervolumen 114 können durch
ein oder mehr beliebig geartete Speichersysteme realisiert sein – bspw.
ein Plattenspeichersystem. Ein Plattenspeichersystem kann bspw.
ein oder mehr Speicherplatten – bspw.
einen Plattenstapel oder ein RAID-System (Redundant array of storage
disks) enthalten. Dabei ist ein Volumen ein logisches Speicher-Konstrukt,
das nicht unbedingt einem bestimmten körperlichen Speichergerät entspricht.
Ein körperliches
Speichergerät
kann mehr als ein Volumen enthalten und ein Volumen kann sich über mehr
als eine Speichervorrichtung erstrecken. Die Speichervolumen 114 speichern
Quelldaten 108 wie bspw. Anwendungprogramme und Programmdaten,
die die Clienten 104 generieren und verwalten. Die Quelldaten
sind als Dateisystem organisiert. Ein Dateisystem bezeichnet die
Struktur und die Anordnung von Dateien in einer Speichervorrichtung. Bspw.
schließt
ein Dateisystem typischerweise eine Hier archie von Verzeichnissen
ein, die jeweils eine oder mehr Dateien enthalten können.
-
Die
Clienten 104 weisen jeweils einen Sicherungs-Clienten 107 auf.
Der Sicherungs-Client 107 ist zum Zusammenwirken mit einer
Sicherungsvorrichtung (unten diskutiert) konfiguriert, um ein Objekt aus
den Quelldaten 108 zu sichern (als Sicherungs-Task bezeichnet).
M. a. W.: eine Sicherungs-Task
weist einen Befehl auf, ein bestimmtes Datenobjekt zu sichern – bspw.
ein bestimmtes Speichervolumen, ein bestimmtes Dateisystem, eine
bestimmte Speichervorrichtung od. dergl. Der Sicherungs-Client 107 leitet
Sicherungs-Tasks
nach einem bestimmten zeitlichen Plan ein. Bspw. kann eine gegebene
Task stündlich,
täglich,
wöchentlich,
monatlich oder über
entsprechend Ausführungszyklen
ausgeführt
werden.
-
Auf
dem Sicherungsserver 112 läuft ein Sicherungsdienst für die Clienten 104.
Die Sicherungsserver 112 lassen sich mit Computersystemen
beliebiger Art realisieren, die als Leitrechner (Host) für Sicherungsdienste
geeignet sind. Die Sicherungsserver 112 sind konfiguriert,
ein oder mehr Speichervolumen 116 zu verwalten. Die Speichervolumen 116 lassen
sich unter Benutzung des gleichen Speichersystems, das das Speichervolumen 114 realisiert, oder
mit einem separaten Speichersystem (bspw. einem separaten Plattensystem)
implementieren. Die Sicherungsserver 112 sind auch mit
einem Bandspeicher 122 verbunden. Der Bandspeicher 122 kann
ein oder mehr Laufwerke beinhalten. Das Speichervolumen 116 nimmt
Sicherungsdaten 118 auf, die eine Sicherungskopie der Quelldaten 108 darstellen.
Die Sicherungsdaten 118 sind dann an den Bandspeicher 122 auslagerbar.
-
Die 2 zeigt
als Blockdiagramm eine beispielhafte Ausführungsform eines Computersysems 200 nach
einem oder oder mehr Aspekten der Erfindung. Das Computersystem 200 kann
zur Implementierung eines oder mehrerer Sicherungsserver 112 dienen.
Das Computersystem 200 weist einen Prozessor 201,
einen Speicher 203, verschiedene Unterstützungsschaltungen 204 und
eine Ein-/Ausgabe-(E/A)-Schnittstelle 202 auf. Der Prozessor 201 kann
aus einem oder mehr Mikroprozessoren nach dem Stand der Technik
aufgebaut sein. Die Unterstützungsschaltungen 204 für den Prozessor 201 sind
u. a. herkömmlicher
Cache-Speicher, Stromversorgungen, Taktgeber, Datenregister, E/A-Schnittstellen
u. dergl. Die E/A-Schnittstelle 202 kann direkt oder über den
Prozessor 201 mit dem Speicher 203 verbunden sein.
Die E/A-Schnittstelle 202 kann
auch zum Datenaustausch mit einem Netz, verschiedenen Speichervorrichtungen
sowie Ein- und Ausgabegeräten 211 bzw. 212 anderer
Art (bspw. Maus, Tastatur, Sichteinheit usw.) konfiguriert sein.
-
Der
Speicher 203 speichert vom Prozessor ausführbare Befehle
und/oder Daten, die der Prozessor 201 ausführt bzw.
benutzt. Bei diesen vom Prozessor ausführbaren Befehlen kann es sich
um Hardware-, Software- und dergl. Befehle einzeln oder in Kombination
handeln. Module mit vom Prozessor ausführbaren Befehlen, die der Speicher 203 aufnimmt,
können
u. a. ein Sicherungsdienst 222 und ein Sicherungsverwaltungs-Modul 224 sein.
Der Sicherungsdienst 222 kann Teil eines Sicherungsdienstes
ein, der durch mehrere Sicherungs-Computersysteme eingerichtet ist.
So können
die Sicherungsdienst-Module über mehrere
Computersysteme verteilt sein, um einen Sicherungsdienst für ein Computernetz
einzurichten. Das Sicherungsverwaltungs-Modul 224 verwaltet
dabei die Reservierung und Zuweisung von Systemressourcen an Sicherungs-Tasks,
wie unten beschrieben. Das Computersystem 200 lässt sich
mit einem Betriebssystem 226 wie OS/2, Java Virtual Machine,
Linux, Solaris, Unit, Windows, Windows95, Windows98, Windows NT, Windows
2000, WindowsME, WindowsXP sowie Windows Server – unter anderen bekannten Plattformen – programmieren.
Mindestens ein Teil eines Betriebssystems kann im Speicher 203 enthalten
sein. Der Speicher 203 kann als RAM, ROM, magnetoresistiver
oder optischer oder magnetischer Schreib-/Lese-Speicher, Cache-Speicher u. dergl. einzeln
oder in Kombination aufgebaut sein oder als signalführendes
Medium vorliegen, wie unten beschrieben.
-
In
einer Ausführungsform
wirkt das Sicherungsverwaltungs-Modul 224 mit dem Sicherungsdienst 222 zusammen,
um für
jede Sicherungs-Task Statistiken zu erstellen. Für eine gegebene Sicherungs-Task
verfolgen die Statistiken die zeitliche Ressourcen-Nutzung derselben
im zeitlichen Ablauf- bspw. die Größe der Sicherung (d. h. den
von ihr belegten Speicherraum), die von ihr beanspruchte Bandbreite
u. dergl. Das Sicherungsverwaltungs-Modul 224 wendet auf
die Statistik eine Trendanalyse an, um für jede Task deren Ressourcennutzung
abzuschätzen.
Die geschätzten
Ressourcennutzungen der Tasks werden dann für die Verwendung im nächsten Sicherungszyklus
gespeichert. Zu Beginn des nächsten
Zyklus für
eine gegebene Sicherungs-Task reserviert dann das Sicherungsverwaltungs-Modul 224 Ressourcen
für diese
auf Grund der geschätzten
Ressourcennutzung (weist also der Task "reservierte Ressourcen" zu). Das Vorausreservieren
von Ressourcen für
die Sicherungs-Tasks vermeidet ein Überbuchen von Ressourcen durch
konkurrierende Sicherungs-Clienten.
Das Sicherungsverwaltungs-Modul 224 überwacht weiterhin die Sicherungs-Tasks
während
der Ausführung,
um die Ressourcenreservierungen dynamisch zu ändern. Während bspw. eine gegebene Task
ausgeführt
wird, kann das Sicherungsverwaltungs-Modul 224 den für die Task
reservierten Speicherraum periodisch nachstellen.
-
Reichen
die für
eine laufende Sicherungs-Task reservierten Ressourcen nicht aus,
versucht das Sicherungsverwaltungs-Modul 224, auf beliebige
verfügbare
(d. h. nicht von anderen Tasks genutzte) Ressourcen zurück zu greifen.
Kann das Sicherungsverwaltungs-Modul 224 derartige Ressourcen
nicht finden, unterbricht sie die laufende Sicherungs-Task vorübergehend
und überwacht
die Verfügbarkeit
von Ressourcen während
der Ausführung anderer
Tasks weiter. Werden genug Ressourcen wieder verfügbar (bspw.
weil von anderen Task freigegeben), um eine erfolgreiche Ausführung der
unterbrochenen Task sicherzustellen, reserviert das Sicherungsverwaltungs-Modul 224 diese
Ressourcen für
die abgebrochene Task und nimmt letztere wieder auf. In einigen
Fällen
werden jedoch Ressourcen nicht wieder verfügbar, so dass die unterbrochene
Sicherung fehlschlägt.
In Folge des vom Sicherungsverwaltungs- Modul 224 implementierten Ressourcenreservierungsschemas
beeinträchtigt
der Ausfall dieser einen Task die anderen Sicherungstasks nicht. Ohne
die Ressourcenreservierung kann eine Task so viele Ressourcen verbrauchen,
dass mehrere andere konkurrierende Sicherungs-Tasks fehlschlagen.
-
Die 3 zeigt
als Blockdiagramm eine beispielhafte Ausführungsform einer Sicherungsverwaltung 300 nach
einem oder mehr Aspekten der Erfindung. Die Sicherungsverwaltung 300 weist
den Sicherungsdienst 222 zusammenwirkend mit dem Sicherungsverwaltungs-Modul 224 auf.
Der Sicherungsdienst 222 ist konfiguriert, nach einem Sicherungsschema 308 und
mit Ressourcenreservierungsdaten 320 zu arbeiten. Das Sicherungsschema 308 weist
eine Vielzahl von Sicherungs-Tasks auf, die jeweils gleichzeitig
ausgeführt
werden. Der Sicherungsdienst 222 reserviert jeder Sicherungs-Task Ressourcen
entsprechend den Ressourcenreservierungsdaten 320. Der
Sicherungsdienst 222 ist auch konfiguriert, Sicherungsstatistiken 304 zu
erstellen. Die Statistiken 304 verfolgen die Ressourcennutzung der
einzelnen Sicherungs-Task
im zeitlichen Verlauf- bspw. die Größe der Sicherungskopie (d.
h. den von ihr belegten Speicherraum), die von ihr verbrauchte Bandbreite
u. dergl.
-
Das
Sicherungsverwaltungs-Modul 224 weist ein Sicherungsauswerte-Modul 310,
eine Ressourcenüberwachung 314,
ein Sicherungsreservierungsmodul 318 und eine Reservierungszuweisungsmodul 320 auf.
Das Sicherungsauswertemodul 310 ist konfiguriert, die Sicherungsstatistiken 304 und
das Sicherungsschema 308 zu erstellen. Für jede Sicherungs-Task
im Sicherungsschema 398 verwendet das Sicherungsauswertemodul 310 die Sicherungsstatistiken 304,
um die Ressourcennutzung für
den nächsten
Zyklus der jeweiligen Task zu schätzen. Das Sicherungsauswertemodul 310 kann jede
aus dem Stand der Technik bekannte Trendanalyse anwenden. Das Sicherungsauswertemodul 310 kann
die Schätzung
der Ressourcennutzung für
eine gegebene Sicherungs-Task nach Abschluss eines laufenden Ausführungszyklus
derselben erstellen. Auf diese Weise ist eine Ressourcennutzung
für den nächsten Ausführungszyklus
der Sicherungs-Task bereit. Das Sicherungsauswerte modul 310 erzeugt Schätzdaten 312 zur
Ressourcennutzung 312, die die geschätzten Ressourcennutzungen enthalten.
-
Das
Sicherungsreservierungs-Modul 318 übernimmt die geschätzten Ressourcennutzungsdaten 312.
Das Sicherungsreservierungs-Modul 318 unterhält Ressourcenreservierungsdaten 320 einschl.
einer laufenden Ressourcenreservierung für jede der Sicherungs-Tasks.
Zu Beginn des nächsten Ausführungszyklus
einer Task weist das Sicherungsreservierungs-Modul 318 ihr
auf Grund der Ressourcennutzungs-Schätzdaten 312 eine anfängliche
Ressourcenreservierung zu. Die Ressourcenreservierungsdaten 320 werden
dem Sicherungsdienst 302 übergeben, der wie oben angegeben
arbeitet. Danach stellt das Sicherungsreservierungs-Modul 318 periodisch
die Ressourcenreservierung für
jede Sicherungs-Task nach, während
die Sicherungs-Tasks ausgeführt
werden. Speziell überwacht
der Ressourcenmonitor 314 den Fortschritt jeder Sicherungs-Task,
für die
Ressourcen reserviert sind. Der Ressourcenmonitor 314 weist
das Sicherungsreservierungs-Modul 318 an, die Ressourcenreservierungen
entsprechend nachzustellen. So kann der Ressourcenmonitor 314 das
Sicherungsreservierungs-Modul 318 periodisch anweisen,
die Ressourcenreseriverung für
jede Sicherungs-Task bei der Ausführung derselben zu veringern.
In einer Ausführungsform
berichten die Sicherungs-Tasks ihren Fortschritt im zeitlichen Verlauf
an den Ressourcenmonitor 314. Dadurch können die Sicherungs-Tasks weiter
arbeiten, ohne vom Ressourcenmonitor 314 unnötig unterbrochen
zu werden.
-
Der
Ressourcenmonitor 314 ist auch konfiguriert, den Abschluss
einer Sicherungs-Task zu erfassen und das Sicherungsreservierungs-Modul 318 anzuweisen,
verbleibende Reste der für
sie reservierten Ressourcen freizugeben. Weiterhin ist der Ressourcenmonitor 314 konfiguriert,
zu erfassen, dass und wenn für
eine gegebene Sicherungs-Task anfänglich unzureichende Ressourcen
reserviert wurden, und das Sicherungsreservierungs-Modul 318 entsprechend
zu informieren. Der Ressourcenmonitor 314 kann auch Informationen über die
laufend verfügbaren
(d. h. nicht reservierten) Ressourcen bereit stellen, die eine beliebige
Sicherungs-Task benutzen kann. In Reaktion hierauf weist das Sicherungsreservierungs-Modul 318 die
bis dahin nicht reservierten Ressourcen derjenigen Sicherungs-Task zu,
die zusätzliche
Ressourcen benötigt;
sind keine solchen zusätzlichen
Ressourcen verfügbar,
unterbricht sie diese Sicherungs-Task vorübergehend. Das Sicherungsreservierungs-Modul 318 kann
eine Sicherungs-Task voprübergehend
unterbrechen, indem sie einen Merker (Flag) in den Ressourcenreservierungsdaten 320 setzt,
die der Sicherungsdienst 302 benutzt. Alternativ kann das
Sicherungsreservierungs-Modul 318 den Sicherungsdienst
direkt anweisen, die Task vorübergehend
zu unterbrechen. Für beide
Fälle informiert
der Ressourcenmonitor 314 das Sicherungsreservierungs-Modul 318 von
der Verfügbarkeit
zusätzlicher
Ressourcen und kann das Sicherungsreservierungs-Modul 318 die
Wiederaufnahme der unterbrochenen Task nach dem Reservieren der
zusätzlichen
Ressourcen anweisen. Werden derartige zusätzlichen Ressourcen über einen
vorbestimmten Zeitraum nicht oder nie verfügbar, weist das Sicherungsreservierungs-Modul 318 den
Sicherungsdienst 302 an, die unterbrochene Task als fehlgeschlagen
auszuweisen.
-
Zur
beispielsweisen Erläuterung
ist die Sicherungsverwaltung oben als diskrete Funktionsmodule für den Sicherungsdienst,
die Sicherungsauswertung, die Ressourcenüberwachung und die Sicherungsreservierung
aufweisend beschrieben. Es sei jedoch darauf hingewiesen, dass die
von diesen Modulen ausgeführten
Funktionen generell von einem oder mehr Modulen ausführbar sind.
M. a. W.: Die Funktionen der Module 320, 310, 314 und 318 lassen
sich auch zu einem oder mehr Modulen zusammenfassen.
-
Die 4 zeigt
als Flussdiagramm eine beispielhafte Ausführungsform eines Verfahrens 400 zum
Verwalten einer Sicherungs-Task vor dem Ausführen derselben nach einem oder
mehr Aspekten der Erfindung. Das Verfahren beginnt mit dem Schritt 402.
Im Schritt 404 wird die Sicherungsstatistik für die Sicherungs-Task
erstellt. In einer Ausführungsform enthält die Sicherungs-Task
eine Zeitfolge von Plattenraumnutzungen, desgl. ggf. auch eine Zeitfolge von
Band breitenutzungen. Im Schritt 406 wird auf Grund der
Statistik ein Schätzung
der Ressourcennutzung für
die Sicherungs-Task erstellt. Diese Schätzung der Ressourcennutzung
kann eine geschätzte
Plattenraumnutzung und/oder eine geschätzte Bandbreite enthalten,
die zum Ausführen der
Sicherungs-Task nötig
ist. Auf Grund der geschätzten
Ressourcennutzung wird im Schritt 408 der Sicherungs-Task
eine Sicherungsreservierung zugewiesen. M. a. W.: der Sicherungs-Task
wird Plattenraum zugewiesen. Auf Grund des geschätzten Bandbreitebedarfs kann
die Sicherungs-Task einem bestimmten Speichersystem zugewiesen werden (bspw.
können
einige Speichersysteme schneller als andere und daher in der Lage
sein, größere Bandbreiten
zu verarbeiten). Das Verfahren 400 schließt mit dem
Schritt 410 ab.
-
Die 5 zeigt
als Flussdiagramm eine beispielhafte Ausführungsform eines Verfahrens 500 zum
Verwalten einer Sicherungs-Task während der Ausführung derselben
nach einem oder mehr Aspekten der Erfindung. Das Verfahren 500 beginnt
mit dem Schritt 502. Im Schritt 504 wird während der Ausführung der
Sicherungs-Task deren Ressourcennutzung verfolgt; m. a. W.: mit
der Ausführung
der Sicherungs-Task werden Ressourcen verbraucht. Bspw. wird auf
Plattenressourcen Plattenspeicherraum belegt, desgl. Bandbreite
bei der Datenübergabe
vom Sicherungs-Clienten an das Speichersystem. Im Schritt 506 erfolgt
eine Bestimmung, ob die Ressourcenreservierung für die Sicherungs-Task nachgestellt
werden muss. Bspw. kann die Reservierung von Plattenraum während der
Ausführung
der Sicherungs-Task verringert werden. Der Periodizität, mit der
die Ressourcenreservierung verringert wird, lässt sich die Schnelligkeit
der Ressourcennutzung zu Grunde legen. Bspw. kann die Schnelligkeit
der Plattenraumnutzung bestimmen, wie oft die Plattenreservierung
verringert wird.
-
Ergibt
sich im Schritt 506 die Notwendigkeit, die der laufenden
Sicherungs-Task reservierten Ressourcen nachzustellen, springt das
Verfahren 500 zum Schritt 508. Im Schritt 508 wird
die Ressourcenreservierung nachgestellt. Vom Schritt 508 springt das
Verfahren zum Schritt 510. Muss im Schritt 506 die
Ressourcenreservierung der laufenden Sicherungs-Task nichtnachgestellt
werden, geht das Verfahren 500 zum Schritt 510.
Im Schritt 510 wird bestimmt, ob die Sicherungs-Task abgeschlossen
ist. Falls nicht, springt das Verfahren 500 zum Schritt 504;
falls ja, springt es zum Schritt 512. Im Schritt 512 werden
ungenutzte Ressourcen freigegeben. Das Verfahren 500 endet
mit dem Schritt 516.
-
Die 6 zeigt
als Flussdiagramm eine beispielhafte Ausführungsform eines Verfahrens 600 zum
Verwalten einer Sicherungs-Task während der Ausführungs derselben,
wobei dieser Sicherungs-Task nicht genug Ressourcen zugewiesen wurden.
Das Verfahren 600 beginnt mit dem Schritt 602.
Im Schritt 604 erfolgt eine Bestimmung, ob der Sicherungs-Task
nicht genügend
Ressourcen zugewiesen wurden. In einer Ausführungsform kann der Schritt 604 während der
Ressourcenüberwachung
im Schritt 504 des Verfahrens 500 erfolgen. Wurden
genug Ressourcen zugewiesen, endet das Verfahren 600 mit
dem Schritt 618; ansonsten geht es zum Schritt 606 weiter.
-
Im
Schritt 606 erfolgt eine Bestimmung, ob für die Sicherungs-Task genug (d. h.
nicht reservierte) Ressourcen zur Verfügung stehen. Falls keine solchen
Ressourcen vorliegen, geht das Verfahren 600 zum Schritt 608,
wo die Sicherungs-Task unterbrochen wird. Im Schritt 610 wird
bestimmt, ob die Sicherungs-Task fehlgeschlagen ist – bspw.
eine vorbestimmte Zeitspanne nach einem Abbruch. Alternativ kann
die Sicherungs-Task als misslungen deklariert werden, falls eine
oder mehr Sicherungs-Tasks abgeschlossen sind und für die unterbrochene
Sicherungs-Task immer noch keine Ressourcen verfügbar sind. Ergibt sich im Schritt 610,
dass die Sicherungs-Task misslungen ist, geht das Verfahren 600 zum
Schritt 612, wo diese Sicherungs-Task endgültig als
fehlgeschlagen bezeichnet wird. Das Verfahren 600 endet
dann mit dem Schritt 618. Wird die Sicherungs-Task im Schritt 610 nicht
als misslungen abgebrochen (d. h. gilt sie nur als vorübergehend
unterbrochen), kehrt das Verfahren 600 zum Schritt 606 zurück und prüft, ob Ressourcen
frei geworden und verfügbar
sind. Falls ja, geht das Verfahren 600 zum Schritt 616,
wo die freien Ressourcen reserviert und der laufenden Sicherungs-Task
zugewiesen werden. Das Verfahren 600 endet dann mit dem
Schritt 618.
-
Ein
Aspekt der vorliegenden Erfindung ist als Programmprodukt zur Verwendung
mit einem Computersystem implementiert. Ein oder mehr Programme
des Programmprodukts definieren Funktionen von Ausführungsformen
und können
auf verschiedenartigen signalführenden
Medien enthalten sein – bspw.
(ohne hierauf beschränkt
zu sein) (i) auf nicht beschreibbaren Trägern (bspw. Nur-Lese-Speicher
in einem Rechner wie einem CD- oder DVD-Laufwerk lesbare CD- oder DVD-ROM-Platten)
permanent gespeicherte Informationen; (ii) auf beschreibbaren Trägern (bspw.
Floppydisks in einem Diskettenlaufwerk, Festplatten oder beschreib-
und lesbare CD bzw. DVD) gespeicherte änderbare Informationen; oder (iii)
an einen Computer mittels eines Übertragungsmediums
wie ein Computer- oder Telefonnetz (einschl. durch Funk) übertragene
Informationen. Insbesondere schließt die letztere Ausführungsform
aus dem Internet und anderen Netzen herabgeladene Informationen
ein. Insbesondere wenn sie computerlesbare Befehle enthalten, die
die Ausführung
von Funktionen der Erfindung beinhalten, stellen derartige signalführende Medien
Ausführungsformen
der Erfindung dar.
-
Während Vorgehendes
auf Ausführungsformen
der Erfindung gerichtet ist, sind andere und weitere Ausführungsformen
der Erfindung möglich,
ohne deren Grundumfang zu verlassen, der ausschließlich durch
die folgenden Ansprüche
bestimmt ist.
-
1
- 102
- Netz
- 107
- Client
- 112
- Sicherungsserver
- 114
- Speichervolumen
- 116
- Speichervolumen
- 122
- Bandspeicherlaufwerk
-
2
- 200
- Computersystem
- 201
- Prozessor
- 202
- E/A-Schnittstelle
- 203
- Speicher
- 204
- Unterstützungsschaltungen
- 211
- Eingabeeinrichtungen
- 212
- Ausgabeeinrichtungen
- 222
- Sicherungsdienst
- 224
- Sicherungsverwaltungsmodul
-
3
- 222
- Sicherungsdienst
- 304
- Sicherungsstatistik
- 308
- Sicherungsschema
- 310
- Sicherungsauswertemodul
- 312
- Schätzen der
Ressourcennutzung
- 314
- Ressourcenverfolgung
- 318
- Sicherungsreservierungsmodul
- 320
- Reservierungsdaten
-
4
- 402
- Start
- 404
- Sicherungsstatistik
erstellen
- 406
- Schätzen der
Ressourcennutzung für
Sicherungs-Task auf Grund der Statistik
- 408
- der
Sicherungs-Task reservierte Ressourcen zuweisen auf Grund der geschätzten Ressourcennutzung
- 410
- Ende
-
5
- 502
- Start
- 504
- Ressourcennutzung
bei Ausführung
der Sicherungs-Task verfolgen
- 506
- Servierung
nachstellen? Yes = ja, No = nein
- 508
- Reservierung
nachstellen
- 510
- Sicherungs-Task
beendet? Yes = ja, No = nein
- 512
- ggf.
nicht benutzte reservierte Ressourcen freigeben
- 516
- Ende
-
-
6
- 602
- Start
- 604
- Ungenügende Ressourcenzuweisung?
Yes = ja, No = nein
- 606
- Genug
Ressource verfügbar?
Yes = ja, No = nein
- 608
- Sicherungs-Task
unterbrechen
- 610
- Sicherungs-Task
misslungen? Yes = ja, No = nein
- 612
- Sicherungs-Task
abbrechen
- 616
- verfügbare Ressourcen
der Sicherungstask zuweisen
- 618
- Ende