-
Verweis auf verwandte Anmeldungen
-
Diese
Anmeldung bezieht sich auf U.S.-Patentanmeldungen, Seriennummern
09/465,408 (jetzt
U.S.-Patent
Nr. 6,625,623 ), 09/465,411 (jetzt
U.S.-Patent Nr. 6,526,418 ), 09/465,435
(jetzt
U.S.-Patent 6,779,003 ),
09/465,436 (jetzt
U.S.-Patent
Nr. 6,847,984 ), 09/465,485 (jetzt
U.S.-Patent Nr. 6,460,055 ), 10/152,060
(jetzt
U.S.-Patent 6,704,755 ) und
10/320,762 (angemeldet).
-
Hintergrund
-
Manche
Sicherungssysteme arbeiten in der Weise, dass ein Netzadministrator
eine Tageszeit bestimmt, während
der nur wenig oder keine Netzaktivität vorliegt. Während dieser
Zeit kann ein Netzadministrator einem Sicherungssystem und den im
Computernetz gespeicherten Dateien gestatten, dateiweise auf einem
Langzeitspeichermedium, z. B. einem Magnetband-Sicherungssystem,
gesichert zu werden. Typischerweise sichert der Netzadministrator einmal
wöchentlich
oder sogar einmal täglich,
um sicherzustellen, dass die Sicherungsdateien aktuell sind. Ein
solcher Sicherungsprozess kann zeitaufwändig, arbeitsaufwändig und
umständlich
sein. Da Computernetzwerke im Allgemeinen 24 Stunden pro Tag und
sieben Tage die Woche arbeiten, kann es für einen System-/Netzadministrator
schwierig sein, eine Zeitspanne zu bestimmen, während der die Netzressourcen
für eine
Sicherungsprozedur bereitgestellt werden können. Ferner mindern mehr Benutzer
und mehr Änderungen
auf regelmäßiger täglicher
Basis den Wert eines Sicherungssystems, das einmal wöchentlich
oder einmal täglich
aktiv ist. Systeme, die Sicherungsdaten nur periodisch erzeugen,
haben deshalb einen geringeren Wert.
-
Das
Dokument
US 6,460,055 lehrt
ein System und ein Verfahren zum kontinuierlichen Sichern von Daten,
die in einem Computernetz gespeichert sind, wobei ein Synchronisierungsprozess
angewendet wird, der ausgewählte
Daten von Quellendatendateien, die im Netz gespeichert sind, dupliziert
und einen Satz duplizierter Datendateien auf einem Sicherungs-Server
erzeugt.
-
Das
Dokument
US 6,023,710 lehrt
ein Sicherungssystem zur Zusammenfassung mehrerer Abschnitte derselben
Dateien, die in verschiedenen Sicherungsspeichersitzungen zu verschiedenen
Zeiten gespeichert wurden, zu einer einzigen aktualisierten Version
der Datei.
-
Das
Dokument
US 6,189,016 lehrt
ein Verfahren zur Protokollierung von Änderungen an Dateien in einem
Speicherdatenträger
unter Verwendung eines Änderungsjournals,
das jede bemerkenswerte Änderung
einer Datei protokolliert, wodurch jedes Protokoll eine eindeutige
Aktualisierungssequenznummer erhält,
um die Reihenfolge, in der die Protokolle erzeugt wurden, eindeutig
anzugeben.
-
Bei
manchen alternativen Systemen können ein
Daten-Server und ein Sicherungs-Server gespiegelte Datendateien
und Sicherungsdateien pflegen. In einem derartigen System kann z.
B. ein Daten-Server Änderungsanforderungen
bei Datendateien ausführen
und die Änderungsanforderungen
an den Sicherungs-Server senden, und der Sicherungs-Server kann
die Änderungsanforderungen
bei den entsprechenden Sicherungsdateien ausführen, um die Sicherungsdateien
mit den Datendateien gespiegelt zu halten. Bei solchen Systemen
kann von einer mangelhaften Leistungsfähigkeit bei ihrer Nutzung der Datenverarbeitungskapazität und Datenspeicherungskapazität gesprochen
werden, da im Allgemeinen zwei Kopien sämtlicher Dateien erforderlich
sind.
-
Zusammenfassung
-
Zumindest
einige der oben genannten Probleme bezüglich der Ansätze im Stand
der Technik werden von der Erfindung, die in den beigefügten Hauptansprüchen 1,
14 und 26 definiert ist, gelöst.
-
Es
werden Verfahren zur Sicherung von Datendateien beschrieben. Bei
einer Ausführungsform können die
Verfahren die Detektion geänderter
Speicherstellen in einer oder mehreren Datendateien, das Speichern
der Inhalte der geänderten
Speicherstellen zu einer Speicherungszeit und das Verknüpfen der
gespeicherten Inhalte mit der Speicherungszeit, den geänderten
Speicherstellen und einem oder mehreren Dateikennungen, die die
eine oder die mehreren Datendateien identifizieren, enthalten.
-
Die
Speicherungszeit kann auf der aktuellen Zeit, einem Zeitintervall
und/oder einem Ereignis basieren.
-
Bei
einer Ausführungsform
können
die Verfahren ferner die Erzeugung eines Basisbildes vor der Detektion
der geänderten
Speicherstellen enthalten. Das Basisbild kann eine oder mehrere
Datendateien enthalten und auf einem Schnappschussbild, einer Bilddatei
und/oder einem Datenträgerbild
basieren.
-
Die
Detektion geänderter
Speicherstellen in den Datendateien kann die Anwendung einer oder mehrerer
Datenintegritätsprozeduren
enthalten, um eine Zusammenfassung eines Bildes der Datendateien
zu erzeugen. Die Datenintegritätsprozeduren
können
eine zyklische Redundanzprüfprozedur
(cyclic redundancy check (CRC)) und/oder eine MD5-Meldungsübersichtsprozedur
enthalten.
-
Die
Detektion geänderter
Speicherstellen in den Datendateien kann die Erzeugung eines Basisbildes
der Datendateien und die Anwendung einer Datenintegritätsprozedur
enthalten, um eine Zusammenfassung des Basisbildes vor der Speicherungszeit
zu erzeugen, die Erzeugung eines zweiten Bildes der Datendateien
und die Anwendung der Datenintegritätsprozedur, um eine Zusammenfassung
des zweiten Bildes danach zu erzeugen, und die Bestimmung, ob die
Datendateien geänderte
Speicherstellen enthalten, auf Basis der Basiszusammenfassung und
der zweiten Zusammenfassung.
-
Die
Detektion geänderter
Speicherstellen kann die dynamische Detektion der geänderten
Speicherstellen enthalten.
-
Das
Speichern der Inhalte kann das Auswählen mindestens eines Speichers
zum Speichern der Inhalte enthalten. Der Speicher kann von einem
zuvor gewählten
Speicher, der mit einer früheren
Speicherungszeit verknüpft
ist, verschieden sein.
-
Bei
den beschriebenen Systemen und Verfahren kann das Verknüpfen die
Erzeugung eines oder mehrerer Indizes zum Verknüpfen der gespeicherten Inhalte,
der jeweiligen Speicherungszeiten, der jeweiligen geänderten
Speicherstellen und der jeweiligen Datei kennungen enthalten. Die
Indizes können
einen ersten Index auf die geänderten
Speicherstellen auf Basis der Dateikennungen und einen zweiten Index
auf die gespeicherten Inhalte auf Basis der geänderten Speicherstellen enthalten.
-
Bei
einer Ausführungsform
kann das Verfahren ferner eine iterative Rückkehr zur Detektion geänderter
Speicherstellen enthalten.
-
Bei
einer Ausführungsform
kann das Verfahren ferner eine Verwendung der gespeicherten Inhalte
zum Erzeugen einer Version der einen gewählten Datendatei der Datendateien
enthalten.
-
Bei
den beschriebenen Systemen und Verfahren kann die Verwendung der
gespeicherten Inhalte zum Erzeugen einer Version einer ausgewählten Datendatei
die Abfrage der Indizes enthalten, um die gespeicherten Inhalte
und mit der ausgewählten Datendatei
verknüpften
jeweiligen geänderten
Speicherstellen zu identifizieren, und das Kombinieren der identifizierten
gespeicherten Inhalte mit Daten aus dem mit der ausgewählten Datendatei
verknüpften
Basisbild. Die Indizes können
auf Basis der Dateikennung, die mit der ausgewählten Datendatei verknüpft ist,
für jede
mit der Version verknüpften Speicherungszeit
abgefragt werden.
-
Das
Abfragen der Indizes kann die Bestimmung enthalten, dass die geänderten
Speicherstellen für
zwei oder mehr verschiedene Speicherungszeiten dieselben sind, und
die Identifizierung der gespeicherten Inhalte der geänderten
Speicherstellen, die mit der letzten der verschiedenen Speicherungszeiten
verknüpft
sind.
-
Bei
einer Ausführungsform
können
die Verfahren ferner die Vereinigung der Daten enthalten.
-
Die
Vereinigung von Daten kann die Vereinigung von zwei oder mehr gespeicherten
Inhalten, die mit derselben Dateikennung und zwei oder mehr verschiedenen
Speicherungszeiten verknüpft
sind, den entsprechenden geänderten
Speicherstellen, die mit zwei oder mehr vereinigten Inhalten verknüpft sind, und
den Indizes, um die vereinigten Inhalte, die jeweiligen vereinigten
geänderten
Speicherstellen, die Dateikennung und die letzte der verschiedenen
Speicherungszeiten zu verknüpfen,
enthalten.
-
Die
Vereinigung von Daten kann die Vereinigung von zwei oder mehr gespeicherten
Inhalten, die mit derselben Dateikennung und derselben Speicherungszeit
verknüpft
sind, den entsprechenden geänderten
Speicherstellen, die mit zwei oder mehr vereinigten Inhalten verknüpft sind,
und den Indizes, um die vereinigten Inhalte, die jeweiligen vereinigten
geänderten
Speicherstellen, die Dateikennung und dieselbe Speicherungszeit
zu verknüpfen,
enthalten.
-
Außerdem werden
Prozessorprogramme zur Sicherung von Datendateien beschrieben. Die
Prozessorprogramme können
auf einem prozessorlesbaren Medium gespeichert sein. Bei einer Ausführungsform
können
die Prozessorprogramme Befehle enthalten, um den Prozessor zu veranlassen,
geänderte
Speicherstellen in einer oder mehreren Datendateien zu detektieren,
die Inhalte der geänderten Speicherstellen
zu einer Speicherungszeit zu speichern, und die gespeicherten Inhalte
mit der Speicherungszeit, den geänderten
Speicherstellen und einer oder mehreren Dateikennungen, die die
eine oder die mehreren Datendateien identifizieren, zu verknüpfen.
-
Außerdem werden
Systeme zur Sicherung von Datendateien beschrieben. Bei einer Ausführungsform
können
die Systeme eine oder mehrere Datendateien, einen oder mehrere Server,
die mit den Datendateien kommunizieren, wobei der eine oder die
mehreren Server so konfiguriert sein können, dass sie Änderungsanforderungen
an den Datendateien ausführen,
und einen oder mehrere Agenten, die mit dem einen oder den mehreren
Servern kommunizieren, wobei der eine oder die mehreren Agenten
so konfiguriert sein können,
dass sie geänderte
Speicherstellen in der einen oder den mehreren Datendateien detektieren,
die Inhalte der geänderten Speicherstellen
zu einer Speicherungszeit speichern, und die gespeicherten Inhalte
mit der Speicherungszeit, den geänderten
Speicherstellen und einer oder mehreren Dateikennungen, die die
eine oder die mehreren Dateien identifizieren, verknüpfen.
-
Diese
und andere Merkmale der beschriebenen Systeme und Verfahren erschließen sich
besser aus der folgenden detaillierten Beschreibung und den beiliegenden
Zeichnungen.
-
Kurzbeschreibung der Zeichnungen
-
1A bis 1C sind
schematische Darstellungen eines beispielhaften Systems zur Sicherung
von Datendateien;
-
2 ist
eine schematische Darstellung beispielhafter Operationen für ein System
gemäß den 1A bis 1C;
-
3 und 4 sind
schematische Darstellungen beispielhafter Delta-Dateien und Indizes
für ein
System gemäß den 1A bis 1C und 2;
und
-
5 ist
eine schematische Darstellung einer beispielhaften Anzeige einer
graphischen Benutzerschnittstelle, die die beschriebenen Systeme
und Verfahren erleichtern kann.
-
Detaillierte Beschreibung
-
Nunmehr
werden beispielhafte Ausführungsformen
beschrieben, um die hierin beschriebenen Systemen und Verfahren
insgesamt zu verdeutlichen. Ein oder mehrere Beispiele der beispielhaften Ausführungsformen
sind in den Zeichnungen dargestellt. Der Durchschnittsfachmann erkennt,
dass die hierin beschriebenen Systeme und Verfahren angepasst und
modifiziert werden können,
um Geräte, Verfahren,
Auslegungen und Systeme für
andere Anwendungen bereitzustellen, und dass andere Hinzufügungen und
Modifikationen der hierin beschriebenen Systeme und Verfahren vorgenommen
werden können,
ohne vom Gültigkeitsbereich
der vorliegenden Offenbarung abzuweichen. So können beispielsweise Aspekte,
Komponenten, Merkmale und/oder Module der beispielhaften Ausführungsformen
kombiniert, getrennt, ausgetauscht und/oder neu angeordnet werden,
um andere Ausführungsformen
zu erzeugen. Solche Modifikationen und Variationen werden vom Gültigkeitsbereich
der vorliegenden Offenbarung abgedeckt.
-
Die
beschriebenen Systeme und Verfahren betreffen allgemein die Sicherung
von Datendateien. Bei Ausführungsformen
der beschriebenen Systeme und Verfahren können einer oder mehrere Agenten geänderte Speicherstellen
in einer oder mehreren Datendateien bezüglich eines Bildes der Datendateien
detektieren. Die Agenten können
die Inhalte der geänderten
Speicherstellen zu einer Speicherungszeit speichern und einen oder
mehrere Indizes erzeugen, um die gespeicherten Inhalte mit der Speicherungszeit,
den geänderten
Speicherstellen und einer oder mehreren Dateikennungen, die die
mit den geänderten
Speicherstellen verknüpften
Datendateien identifizieren, zu verknüpfen. Die Agenten können also
iterativ zum Detektieren zurückkehren
und/oder geänderte
Speicherstellen in den Datendateien bezüglich des Bildes zu den jeweiligen
Zeiten weiter detektieren. Auf Basis des Bildes, der gespeicherten
Inhalte und der Indizes können
die Agenten eine oder mehrere Versionen der einen oder mehreren
Datendateien einschließlich
geänderter
Speicherstellen zu einer oder mehreren der Speicherungszeiten neu
erzeugen.
-
Die 1A bis 1C zeigen
schematisch ein beispielhaftes System zur Sicherung von Datendateien.
Wie die Ausführungsform
von 1A zeigt, kann das System 100 Datenverarbeitungsgeräte für einen
ersten und zweiten Client (Clients) 110, 120, ein
erstes und zweites Datenverarbeitungsgerät von Daten-Servern (Daten-Server) 130, 140,
und ein erstes und zweites digitales Datenverarbeitungsgerät von Sicherungs-Servern
(Sicherungs-Server) 150, 160 enthalten.
Der erste und zweite Daten-Server 130, 140 und
der erste und zweite Sicherungs-Server 150, 160 können mit
einem ersten und zweiten Datenspeichergerät 135, 145 bzw.
einem ersten und zweiten Sicherungsspeichergerät 155, 165 verknüpft sein.
Die Daten-Server 130, 140 können den Clients 110, 120 auf
Basis von Anforderungen seitens der Clients 110, 120 den
Zugriff (z. B. Lese- und/oder Schreibzugriff) auf Datendateien bereitstellen,
die in den Datenspeichergeräten 135, 145 gespeichert sind.
Bei manchen Ausführungsformen
können
die Daten-Server 130, 140 verschiedene Typen von
Datendateien in den Datenspeichergeräten 135, 145 pflegen.
Bei einer solchen Ausführungsform
kann der Daten-Server 130 z. B. E-Mail-Dateien im Datenspeichergerät 135 und
der Daten-Server 140 Dokumentdateien im Datenspeichergerät 145 pflegen.
Die Clients 110, 120 können die in den Datenspeichergeräten 135, 145 gespeicherten
Datendateien öffnen, schließen, modifizieren
und/oder löschen.
Die Sicherungs-Server 150, 160 können Änderungen
der in den Datenspeichergeräten 135, 145 gespeicherten Datendateien
nach den Sicherungsspeichergeräten 155, 165 sichern.
Bei manchen Ausführungsformen können die
Sicherungs-Server 150, 160 und die Sicherungsspeichergeräte 155, 165 so
konfiguriert sein, dass sie gesicherte Daten unterschiedlich lang aufbewahren.
Bei einer solchen Ausführungsform können z.
B. der erste Sicherungs-Server 150 und das erste Sicherungsspeichergerät 155 Daten
relativ kurzzeitig speichern, währen
der zweite Sicherungs-Server 160 und das zweite Sicherungsspeichergerät 165 Daten
relativ lang speichern können. Bei
einer solchen Ausführungsform
kann das erste Sicherungsspeichergerät 155 eine oder mehrere
Magnetplatten und das zweite Sicherungsspeichergerät 165 ein
oder mehrere Magnetbänder
enthalten. Die Dauer der Datenaufbewahrung kann vom Benutzer gewählt werden
(z. B. einem Systemadministrator oder einer anderen Institution).
-
Wie
aus 1A zu ersehen ist, können die Clients 110, 120,
die Server 130, 140, 150, 160 und die
Speichergeräte 135, 145, 155, 165 Daten über ein
Datenkommunikationsnetz 105 austauschen. Das Datenkommunikationsnetz 105 kann
einen oder mehrere Netzknoten (z. B. die Clients 110, 120,
die Daten-Server 130, 140 und die Sicherungs-Server 150, 160) enthalten,
die durch verdrahtete und/oder drahtlose Kommunikationsleitungen
(z. B. öffentliche Netzträgerleitungen,
private Leitungen, Satellitenleitungen etc.), die den Netzknoten
die Kommunikation ermöglichen,
miteinander verbunden sind. Der Austausch von Daten (z. B. Meldungen)
zwischen Netzknoten kann durch Netzgeräte (z. B. Router, Schalter, Multiplexer,
Brücken,
Gateways etc.) erleichtert werden, die Daten von einem Ursprungsknoten
zu einem Server-Knoten ungeachtet von Ungleichheiten in der Netztopologie
(z. B. Bus, Stern oder Token-Ring), räumlichen Distanzen (lokales
Netz, Großstadtnetz oder
Weitverkehrsnetz), Übertragungstechnologie
(z. B. Übertragungssteuerungsprotokoll/Internet-Protokoll
(transfer control protocol/internet protocol; TCP/IP) oder Systemnetzarchitektur),
Datentyp (z. B. Daten, Sprache, Video oder Multimedia), Art der
Verbindung (z. B. vermittelt, nicht vermittelt, gewählt, fest zugeordnet
oder virtuell) und/oder physikalischer Verbindung (z. B. Lichtleiter,
Koaxialkabel, verdrilltes Paar oder drahtlos etc.) zwischen den
Ursprungs- und den Server-Knoten manipulieren und/oder leiten. Die
Knoten können
ein Netzsubsystem (z. B. eine Netzschnittstellenkarte) enthalten,
um eine Kommunikationsstrecke zwischen den Knoten einzurichten. Die
Kommunikationsstrecke, die die Knoten untereinander verbindet, kann
Elemente eines Datenkommunikationsnetzes, eine Punkt-zu-Punkt-Verbindung,
einen Bus und/oder einen anderen Typ eines digitalen Datenweges
enthalten, der prozessorlesbare Daten übertragen kann.
-
Wie
dem Durchschnittsfachmann bekannt ist, können bei manchen Ausführungsformen
einer oder mehrere Knoten des Datenkommunikationsnetzes 105 in
einem lokalen Netz (local area network; LAN) enthalten sein. Bezug
nehmend auf 1A als Beispiel können bei
einer solchen Ausführungsform die
Clients 110, 120, die Daten-Server 130, 140,
der erste Sicherungs-Server 150, die Datenspeichergeräte 135, 145,
und das erste Sicherungsspeichergerät 155 ein LAN bilden
oder auf andere Weise in einem LAN enthalten sein. Ein solches LAN
kann ein öffentlich
zugängliches
oder ein privates, d. h. ein nicht öffentlich zugängliches
LAN enthalten. Bei einer solchen Ausführungsform können der
zweite Sicherungs-Server 160 und das zweite Sicherungsspeichergerät 165 entfernt
vom LAN angeordnet sein und mit einem oder mehreren Knoten des LAN
auf Basis von Schemata, die dem Durchschnittsfachmann bekannt sind,
kommunizieren. Alternativ können
beispielsweise wie in 1A dargestellt bei manchen Ausführungsformen
die Clients 110, 120, die Daten-Server 130, 140 und
die Datenspeichergeräte 135, 145 ein
LAN bilden oder auf andere Weise in einem LAN enthalten sein und
der erste und zweite Sicherungs-Server 150, 160 sowie
die verknüpften
Sicherungsspeichergeräte 155, 165 entfernt
vom LAN angeordnet sein.
-
Die
beschriebenen Systeme und Verfahren sind nicht auf netzgestützte Systeme
beschränkt
und können
in unabhängigen
Systemen implementiert sein. Bei manchen Ausführungsformen können die hierin
beschriebenen Systeme und Verfahren z. B. in einem unabhängigen System
implementiert sein, das ein digitales Datenverarbeitungsgerät und ein
Datenspeichergerät
enthält.
Das digitale Datenverarbeitungsgerät kann Merkmale von Daten-Servern
und Sicherungs-Servern wie hierin beschrieben enthalten, und das
Datenspeichergerät
kann die Speicherung von Datendateien und gesicherten Daten enthalten.
-
Die
digitalen Datenverarbeitungsgeräte 110, 120, 130, 140, 150, 160 können einen
Personal Computer, eine Computer-Workstation (z. B. Sun, Hewlett-Packard),
einen Laptop-Computer,
einen Großrechner,
einen Server-Computer, ein Netzergänzungsspeichergerät (network-attached
storage; NAS), ein Handgerät
(z. B. einen Personal Digital Assistant, einen Taschen-Personal
Computer (PC), ein Zelltelefon etc.), ein Informationsgerät und/oder
einen anderen Typ eines generischen oder prozessorgesteuerten Sondergeräts, das
in der Lage ist, digitale Daten zu empfangen, zu verarbeiten und/oder
zu senden. Wie es sich für
den Durchschnittsfachmann versteht, kann sich ein Prozessor auf
die Logikschaltung beziehen, die auf Befehle antwortet und diese verarbeitet,
die digitale Datenverarbeitungsgeräte ansteuern, und kann ohne
Einschränkung
eine Zentraleinheit, eine Arithmetiklogikeinheit, eine anwendungsspezifische
integrierte Schaltung, eine Aufgabenmaschine und/oder Kombinationen,
Anordnungen oder Mehrfache davon enthalten.
-
Wie 1A zeigt,
können
die Speichergeräte 135, 145, 155, 165 Datendateien
speichern, die von den Servern 130, 140, 150 bzw. 160 gepflegt werden.
Wie hierin verwendet, kann der Begriff Datendatei so verstanden
werden, dass er Dateien enthält,
deren Typen und Datenformate dem Durchschnittsfachmann bekannt sind.
So kann der Begriff Datendateien Anwendungsdateien, Datendateien, ausführbare Dateien,
Objektdateien, Programmdateien, Betriebssystemdateien, Registrierdateien
und andere dem Durchschnittsfachmann bekannte Typen von Datendateien
enthalten, wobei diese Beispiele zum Zwecke der Verdeutlichung und
nicht der Einschränkung
genannt werden. Bei manchen Ausführungsformen
kann der Begriff Datendateien so verstanden werden, dass er Datenobjekte
innerhalb der Datendateien, wie etwa Anhänge (z. B. Anhänge von E-Mail-Dateien),
Datensätze
(z. B. Datensätze
in E-Mail-Dateien) sowie Datenzeilen und Tabellen (z. B. Datenzeilen
und Tabellen in einer Datenbankdatei in einer strukturierten Abfragesprache
(structured query language; SQL)), wobei diese Beispiele zum Zwecke
der Verdeutlichung und nicht der Einschränkung genannt werden. Die Speichergeräte 135, 145, 155, 165 können z.
B. flüchtige
und/oder nicht flüchtige
Speicher und/oder Speicherelemente, wie Speicher mit wahlfreiem
Zugriff (random access memory; RAM), ein Festplattenlaufwerk (z.
B. ein internes oder externes Festplattenlaufwerk), eine Magnetplatte,
ein Magnetbank, eine Kompaktplatte (compact disk; CD), eine digitale
Videoplatte (digital video disk; DVD), eine redundante Anordnung
unabhängiger Platten
(redundant array of independent disks; RAID) und ein ausbaubares
Speichergerät
enthalten. Bei manchen Ausführungsformen
können
die Speichergeräte 135, 145, 155, 165 Speichergeräte enthalten, die über eine
Netzspeichertopologie, die dem Durchschnittsfachmann bekannt ist,
wie u. a. Netzergänzungsspeicher-(NAS)
und/oder Speicherbereichvernetzungs-(storage area networking; SAN)Topologien vernetzt
sein. Bei manchen Ausführungsformen
wie der in 1A dargestellten Ausführungsform
können die
Speichergeräte 135, 145, 155, 165 physisch
von den Servern 130, 140, 150 bzw. 160 getrennt
sein. Alternativ und/oder in Kombination können bei manchen Ausführungsformen
eines oder mehrere der Speichergeräte 135, 145, 155, 165 in
einen oder mehreren der jeweiligen Server 130, 140, 150, 160 physisch
integriert sein. So kann z. B. bei einer solchen Ausführungsform
das Speichergerät 135 im Server 130 integriert
sein. Bei manchen Ausführungsformen
kann ein Speichergerät
mit zwei oder mehr Servern verknüpft
sein.
-
1B ist
eine schematische Darstellung von Merkmalen eines beispielhaften
Daten-Servers und
eines zugehörigen
Datenspeichergeräts.
Wie aus 1B zu ersehen ist, kann der
Daten-Server 200 einen Planagenten 210, einen
Speicherplatzagenten 215, einen Statusagenten 225,
einen Regel-Koordinatoragenten 230 und eine oder mehrere Regeln 235,
einen Befehlskoordinatoragenten 240 und einen oder mehrere
Befehle 245, einen Indexagenten 250, eine Dateisystemschnittstelle 255,
einen Bildagenten 260 und einen Detektionsagenten 265 enthalten.
Wie hierin verwendet, kann sich der Begriff Agent auf einen oder
mehrere auf dem Daten-Server 200 ausgeführte Software-Prozesse und
der Begriff Regel auf eine Operation (wie eine Sicherungsoperation,
eine Wiederherstellungsoperation und eine Vereinigungsoperation)
beziehen, die von den Agenten des Daten-Servers 200 auszuführen sind.
Eine Regel kann Daten enthalten, die auf einer oder mehreren Datendateien
(z. B. eine Liste der durch die Regel betroffenen Datendateien)
basieren und/oder anderweitig damit verknüpft sind, und Zeiten der Ausführung der
Regel. Wie ferner hierin beschrieben ist, kann eine Regel von einem
Benutzer (z. B. einem Systemadministrator oder einer anderen Institution)
erzeugt werden. Obwohl die Merkmale des Daten-Servers 200 (und
die Merkmale des Sicherungs-Servers 300 von 1C)
so dargestellt sind, dass sie verschiedene Funktionen ausführen, versteht
sich für
den Durchschnittsfachmann, dass die Merkmale des Daten-Servers 200 (und
getrennt die Merkmale des Sicherungs-Servers 300) kombiniert
oder anderweitig modifiziert werden können, um verschiedene Merkmale
zu bilden, und dass sie als beispielhaft und nicht einschränkend zu
interpretieren sind.
-
Wie
bei der Ausführungsform
von 1B dargestellt ist, kann der Daten-Server 200 mit
einem Datenspeichergerät 270 verknüpft werden,
das eine oder mehrere Datendateien 275 in einem Format
wie eine Verzeichnis- oder Unterverzeichnisstruktur, speichern kann,
obwohl auch andere Formate verwendet werden können. Der Planagent 210 kann Meldungen
bereitstellen, einschließlich
Zeitdaten, die vom Regelkoordinatoragenten 230 und/oder
anderen Agenten verwendet werden können, um eine oder mehrere
Aktionen zu veranlassen. Wie ferner hierin beschrieben ist, kann
der Planagent 210 z. B. dem Regelkoordinatoragenten 230 eine
Meldung bereitstellen, die angibt, dass eine in einer Regel 235 enthaltene
Zeit zur Ausführung
einer Aktion erreicht worden ist. Der Speicherplatzagent 215 kann
die Größe des verfügbaren Speicherplatzes
im Datenspeichergerät 270 bestimmen.
Der Statusagent 225 kann Statusinformationen (z. B. Fehlermeldungen
und/oder informative Meldungen) einem oder mehreren Agenten des
Daten-Servers 200 bereitstellen. Der Regelkoordinatoragent 230 kann
die Regeln 235 auf dem Daten-Server 200 verwalten
und eine auszuführende Operation
angeben (z. B. eine Sicherungsoperation, eine Wiederherstellungsoperation
und eine Vereinigungsoperation). Der Befehlskoordinatoragent 240 kann
eine vom Regelkoordinatoragenten 230 angegebene Operation
ausführen.
Der Befehlskoordinatoragent 240 kann z. B. Befehle 245 (z.
B. Sicherungs-, Wiederherstellungs- und Vereinigungsbefehle) zur
Ausführung
einer vom Regelkoordinatoragenten 230 angegebenen Operation
erzeugen. Der Indexagent 250 kann einen oder mehrere Indizes
erzeugen, um gesicherte Daten zu lokalisieren. Bei einer Ausführungsform
kann der Indexagent 250 z. B. zwei Indizes zum Lokalisieren
gesicherter Daten auf Basis der im Datenspeichergerät 270 gespeicherten
Datendateien 275 erzeugen. Die Dateisystemschnittstelle 255 kann
für die
im Datenspeichergerät 270 gespeicherten
Datendateien 275 eine Schnittstelle bereitstellen. Der
Bildagent 260 kann ein Bild einer oder mehrerer der im
Datenspeichergerät 270 gespeicherten
Datendateien 275 erzeugen. Der Detektionsagent 265 kann
geänderte
Speicherstellen in einer oder mehreren der Datendateien 275,
die im Datenspeichergerät 270 gespeichert
sind, bezüglich
eines Bildes der Datendateien detektieren. Wie hierin zuvor erwähnt, sind
die dargestellten Ausführungsformen nur
als Beispiele bereitgestellt und dementsprechend können die
Agenten 210, 225, 230, 240, 250, 260, 265 kombiniert,
getrennt und/oder in anderen Ausführungsformen neu angeordnet
sein.
-
1C zeigt
schematisch Merkmale eines beispielhaften Sicherungs-Servers und
eines zugehörigen
Sicherungsspeichergerätes.
Wie aus 1C zu ersehen ist, kann der
Sicherungs-Server 300 einen oder mehrere Agenten ähnlich wie
die in 1B dargestellten enthalten.
Diese Agenten sind mit Bezugszeichen gekennzeichnet, die bezüglich der
Bezugszeichen der in 1B dargestellten Agenten um 100 differieren.
Außerdem
kann der Sicherungs-Server 300 einen Delta-Agenten 380 und
einen Speichermanagementagenten 385 enthalten. Der Delta-Agent 380 kann
Daten verwalten, die im Sicherungsspeichergerät 370 gespeichert
sind, wie Daten, die zu einer Sicherung der im Datenspeichergerät 270 gespeicherten
Datendateien gehören.
Der Speichermanagementagent 385 kann Eingaben und Ausgaben
(z. B. asynchrone Eingaben und Ausgaben) an bzw. vom Sicherungsspeichergerät 370 bereitstellen.
-
Für den Durchschnittsfachmann
versteht es sich, dass die beschriebenen Systeme und Verfahren nicht
auf eine bestimmte Konfiguration aus Clients, Daten-Servern, Sicherungs-Servern
und Speichergeräten
beschränkt
sind, und in Systemen implementiert werden können, die von den in den 1A bis 1C dargestellten
verschieden sind. So können die
beschriebenen Systeme und Verfahren z. B. in Konfigurationen mit
einem oder mehreren Clients, einem oder mehreren Daten-Servern,
einem oder mehreren Datenspeichergeräten, einem oder mehreren Sicherungs-Servern
und einem oder mehreren Sicherungsspeichergeräten implementiert werden. Außerdem versteht
es sich für
den Durchschnittsfachmann, dass die Funktionen eines oder mehrerer der
Merkmale des Daten-Servers 200 und des Sicherungs-Servers 300 auf
zwei oder mehr Merkmale verteilt werden können. Die Funktionen des Bildagenten 260 des
Daten-Servers 200 können
z. B. zwischen den Agenten verteilt werden, die im Daten-Server 200 und
im Sicherungs-Server 300 vorgesehen sind. Außerdem können z.
B. die Funktionen des Bildagenten 260 des Daten-Servers 200 auf
zwei oder mehr Bildagenten verteilt sein, die mit verschiedenen Gruppierungen
der im Datenspeichergerät 270 gespeicherten
Datendateien 275 verknüpft
sind.
-
2 ist
eine schematische Darstellung eines Abschnitts des beispielhaften
Systems 100 in den 1A bis 1C.
Wie aus 2 ersichtlich ist, kann der
dargestellte Abschnitt des beispielhaften Systems 100 einen
Daten-Server 400, ein zugehöriges Datenspeichergerät 470,
einen Sicherungs-Server 500 und ein zugehöriges Sicherungsspeichergerät 570 enthalten.
Der Daten-Server 400 und der Sicherungs-Server 500 können Merkmale
enthalten, die den hierin unter Bezugnahme auf die 1A bis 1C beschriebenen ähnlich sind.
Einige dieser Merkmale sind in 2 mit Bezugszeichen
gekennzeichnet, die bezüg lich
der Bezugszeichen der 1B und 1C um 100 differieren.
Wie es sich für
den Durchschnittsfachmann versteht, können der Daten-Server 400 und
der Sicherungs-Server 500 Daten
auf Basis eines Client-/Server-Modells austauschen, bei dem der
Daten-Server 400 den
Client-Abschnitt des Modells und der Sicherungs-Server 500 den
Server-Abschnitt
des Modells repräsentieren kann.
-
Beispielhafte
Operationen für
ein System gemäß den 1A bis 1C werden
nunmehr anhand von 2 beschrieben. Die in 2 dargestellten
Operationen können
von einem oder mehreren Agenten, die im Daten-Server 400 und/oder
von einem oder mehreren Agenten, die im Sicherungs-Server 500 vorgesehen
sind, veranlasst werden. Für
den Durchschnittsfachmann versteht es sich, dass die beispielhaften
Operationen nur zur Veranschaulichung und nicht einschränkend zu
interpretieren sind.
-
Eine Übersicht
einer beispielhaften Sicherungsoperation für ein System gemäß den 1A bis 1C wird
nunmehr anhand von 2 gegeben. Zur Verdeutlichung
wird die beispielhafte Sicherungsoperation bezüglich der Veranlassung durch Agenten
des Daten-Servers 400 beschrieben.
Auf Basis eines Sicherungsbefehls 445 von einem Befehlskoordinatoragenten 440 kann
der Bildagent 460 ein Bild 478 auf Byte-Ebene
der im Datenspeichergerät 470 gespeicherten
Datendateien 475 erzeugen. Wie aus 2 ersichtlich
ist, kann das Datenspeichergerät 470 eine
oder mehr Datendateien 475 speichern, die eine hierarchische
Struktur haben können,
wie die dargestellte Verzeichnis- und Unterverzeichnisstruktur.
Bei manchen Ausführungsformen
kann das Bild 478 auf Byte-Ebene im Datenspeichergerät 470 gespeichert
werden. Alternativ und/oder in Kombination kann bei manchen Ausführungsformen
das Bild 478 auf Byte-Ebene im Sicherungsspeichergerät 570 gespeichert
werden. Im Wesentlichen gleichzeitig mit der und/oder nach der Erzeugung
des Bildes 478 kann der Detektionsagent 465 auf
Byte-Ebene geänderte
Speicherstellen in den Datendateien 475 bezüglich des
Bildes 478 detektieren. Der Daten-Server 400 (z. B. der Befehlskoordinatoragent 440,
der Detektionsagent 465 und/oder ein anderer Agent im Daten-Server 400) kann
dem Sicherungs-Server 500 die geänderten Speicherstellen bereitstellen,
und zu einer Speicherungszeit wie die in 2 dargestellte
Speicherungszeit t0 kann der Delta-Agent 580 die
Inhalte der geänderten
Speicherstellen in einer Delta-Datei 590 im Sicherungsspeichergerät 570 speichern.
Alternativ und/oder in Kombination kann der Sicherungs-Server (z.
B. der Befehlskoordinatoragent 540, der Delta-Agent 580 und/oder
ein anderer Agent im Sicherungs-Server 500) die geänderten
Speicherstellen aus dem Daten-Server 400 abrufen. Im Wesentlichen gleichzeitig
mit der und/oder nach der Erzeugung der Delta-Datei 590 kann
der Indexagent 450 und/oder 550 die gespeicherten
Inhalte in der Delta-Datei 590 mit der Speicherungszeit
t0, den geänderten Speicherstellen und
einer oder mehreren Dateikennungen, die die Datendateien 475 einschließlich der
detektierten geänderten
Speicherstellen kennzeichnen, verknüpfen. Wie z. B. in 2 dargestellt
ist, kann der Indexagent 450 und/oder 550 einen
ersten Index 592 auf die geänderten Speicherstellen auf
Basis der Dateikennungen und einen zweiten Index 594 auf
die gespeicherten Inhalte auf Basis der geänderten Speicherstellen erzeugen.
Wie die Ausführungsform
von 2 zeigt, können
die ersten bzw. zweiten Indizes 592, 594 im Sicherungsspeichergerät 570 gespeichert
werden. Alternativ und/oder in Kombination können die ersten bzw. zweiten
Indizes 592, 594 im Datenspeichergerät 470 gespeichert
werden. Der Detektionsagent 465 kann iterativ zum Detektieren zurückkehren
und/oder geänderte
Speicherstellen in den Datendateien 475 bezüglich des
Bildes 478 weiter detektieren, und der Delta-Agent 580 kann
Delta-Dateien 590', 590'' zu nachfolgenden Speicherungszeiten
wie den in 2 dargestellten Zeiten t1, t2 erzeugen. Der
Indexagent 450 und/oder 550 kann erste und zweite
zu den Delta-Dateien gehörige
Indizes erzeugen, die mit 592', 592'' bzw. 594', 594'' gekennzeichnet sind. Wie hierin
ferner beschrieben ist, können
das Bild 478, die Delta-Dateien 590 und die zugehörigen ersten
und zweiten Indizes 592, 594 verwendet werden,
um eine Version einer Datendatei mit den geänderten Speicherstellen zu
einer oder mehreren der Speicherungszeiten t0,
t1 und t2 zu erzeugen.
-
Daten
in einer oder mehreren Delta-Dateien 590, erste Indizes 592 und
zweite Indizes 594 können
auf Basis von Schemata, die dem Durchschnittsfachmann bekannt sind,
komprimiert und/oder verschlüsselt
werden.
-
Nunmehr
werden einige Merkmale der in 2 dargestellten
beispielhaften Sicherungsoperation beschrieben. Die Sicherungsoperation
kann durch eine Anforderung, eine im Datenspeichergerät 470 gespeicherte
Datendatei zu sichern, veranlasst werden. Bei manchen Ausführungsformen
kann ein Planagent 410 und/oder 510 eine Meldung
bereitstellen, die angibt, dass eine Zeit oder ein Ereignis (z.
B. Bedingung erfüllt),
die bzw. das in einer Sicherungsregel 435 und/oder 535 enthalten
ist, eingetreten ist. Eine Sicherungsregel 435 und/oder 535 kann
Daten auf Basis von Datendateien enthalten, für die geänderte Speicherstellen zu detektieren
sind (die hierin als Regeldatendateien bezeichnet werden), und Speicherungszeiten,
zu denen die Inhalte der geänderten
Speicherstellen zu speichern sind. Die Speicherungszeiten können auf
Zeiten wie tatsächlichen Zeiten
(z. B. Zeiten, die durch eine Uhr eines Servers wie des Daten-Servers 400 und/oder
des Sicherungs-Servers 500 gemessen werden) und Zeitintervalle
(z. B. periodische Zeitintervalle, die von einer Uhr eines Servers
gemessen werden) und/oder Ereignisse (z. B. von einem Systemadministrator
oder einer anderen Institution vorgeschriebene Ereignisse) basieren.
Zur Verdeutlichung sind die Regeldatendateien in 2 als
die Datendateien 475 gekennzeichnet, die im Datenspeichergerät 470 gespeichert
sind. Für
den Durchschnittsfachmann versteht es sich, dass die Regeldatendateien
eine oder mehrere der im Datenspeichergerät 470 gespeicherten
Datendateien 475 enthalten können. Für den Durchschnittsfachmann
versteht es sich ebenfalls, dass die beschriebenen Systeme und Verfahren
so konfiguriert sein können,
dass sie gleichzeitig mehrere Regeln in Zusammenhang mit verschiedenen
Regeldatendateien ausführen.
-
Auf
Basis einer Anforderung zur Sicherung der Regeldatendateien 475 und/oder
einer Meldung von einem Planagenten 410, dass eine Zeit
oder ein Ereignis in der Sicherungsregel 435 eingetreten
ist, kann ein Regelkoordinatoragent 430 bestimmen, ob für die Regeldatendateien
bereits ein Bild vorhanden ist, d. h. früher erzeugt worden ist. Wie
hierin verwendet, kann der Begriff Bild so verstanden werden, dass er
eine frühere
Kopie der Regeldatendateien 475 enthält. Der Regelkoordinatoragent 430 kann
auf Basis von dem Durchschnittsfachmann bekannten Schemata bestimmen,
ob das Bild der Regeldatendateien vorliegt. Auf Basis der Bestimmung,
dass kein Bild der Regeldatendateien vorhanden ist, kann der Regelkoordinatoragent 430 den
Befehlskoordinatoragenten 440 anweisen, ein Bild der Regeldatendateien 475 zu
erzeugen, und der Befehlskoordinatoragent 440 kann den
Bildagenten 460 anweisen, ein Bild der Regeldatendateien 475 zu
erzeugen. Wie in der Ausführungsform
von 2 dargestellt ist, kann z. B. der Bildagent 460 ein
Bild 478 der Regeldatendateien 475 erzeugen und
das Bild 478 im Datenspeichergerät 470 speichern.
-
Der
Bildagent 460 kann einen oder mehrere verschiedene Bildtypen
erzeugen. Bei manchen Ausführungsformen
kann der Bildagent 460 ein Schnappschussbild 478 der
Regeldatendateien 475 erzeugen. Wie hierin verwendet, kann
der Begriff Schnappschussbild 478 so verstanden werden,
dass er die Inhalte der Regeldatendateien 475 und ihre
gegenseitigen Beziehungen z. B. die Verzeichnis- und Unterverzeichnisstruktur
von 2 enthält.
Alternativ und/oder in Kombination kann der Bildagent 460 bei
manchen Ausführungsformen
eine oder mehrere Dateibilder (z. B. Bilder einer oder mehrerer
der Regeldatendateien 475) und/oder ein oder mehrere Datenträgerbilder
in dem Sinne, in dem der Begriff Datenträgerbilder vom Durchschnittsfachmann
verstanden wird, erzeugen. Der Bildagent 460 kann das Bild 478 in
einem sicheren Transaktionszustand der Regeldatendateien 475 erzeugen.
Vor der Erzeugung des Basisbildes 478 kann der Befehlskoordinator agent 440 z.
B. den Daten-Server 400 und/oder das Datenspeichergerät 470 anweisen,
die Regeldatendateien 475 in einen sicheren Transaktionszustand
zu versetzen. Wie es sich für
den Durchschnittsfachmann versteht, bezeichnet ein sicherer Transaktionszustand
einen Zustand einer Datendatei, in dem Änderungen der Datendatei zumindest
vorübergehend
verboten sind. Der sichere Transaktionszustand der Regeldatendateien 475 kann
nach der Erzeugung des Bildes 478 aufgehoben werden.
-
Bei
manchen Ausführungsformen
kann der Befehlskoordinatoragent 440 den Indexagenten 450 anweisen,
eine oder mehrere Datenintegritätsprozeduren
anzuwenden, um eine Zusammenfassung oder Übersicht des Bildes 478 zu
erzeugen. Die Datenintegritätsprozeduren
können
auf einem oder mehreren zyklischen Redundanz-(CRC)Algorithmen, dem
MD5-Meldungsübersichtsalgorithmus
und anderen Übersichtsalgorithmen
beruhen, die dem Durchschnittsfachmann bekannt sind. Der Indexagent 450 kann
die Zusammenfassung mit dem Bild 478 verknüpfen und
die Zusammenfassung im Datenspeichergerät 470 speichern. Bei
manchen Ausführungsformen
kann der Indexagent 450 eine Zusammenfassung eines oder
mehrerer Abschnitte des Bildes 478 erzeugen. Bei einer
solchen Ausführungsform
kann der Indexagent 450 z. B. Zusammenfassungen der Verzeichnisse
und/oder Unterverzeichnisse, die im Bild 478 enthalten
sind, erzeugen. Außerdem
kann der Indexagent 450 bei einer solchen Ausführungsform
z. B. Zusammenfassungen einer oder mehrerer der im Bild 478 enthaltenen
Regeldatendateien 475 erzeugen.
-
In
der folgenden Erörterung
wird auf Basisbilder und Zusammenfassungen sowie auf zweite Bilder
und Zusammenfassungen eingegangen. Wie hierin verwendet können die
Begriffe Basis und zweite(r)(s) auf eine relative zeitliche Beziehung
verweisen, bei der Basis die Verknüpfung mit einer früheren Zeit
und zweite(r)(s) die Verknüpfung
mit einer späteren
Zeit bedeutet.
-
Auf
Basis eines Basisbildes 478 für die Regeldatendateien 475,
die erzeugt und/oder anderweitig identifiziert werden, kann der
Regelkoordinatoragent 430 den Befehlskoordinatoragenten 440 anweisen,
die Regeldatendateien 475 zu sichern, und der Befehlskoordinatoragent 440 kann
den Detektionsagenten 465 anweisen, geänderte Speicherstellen in den
Regeldatendateien 475 zu detektieren. Bei manchen Ausführungsformen
kann der Detektionsagent 465 ein Dateisystemfilter enthalten.
Wie es sich für
den Durchschnittsfachmann versteht, kann das Dateisystemfilter einen
Treiber enthalten, der mit einem Betriebssystem über eine Kernschnittstelle
in Dialog steht, und der Anforderungen von einem Betriebssystem
an ein Dateisystem abfangen und austauschen kann (z. B. Eingangs- /Ausgangs-Anforderungspakete
(input/outout request packets; IRPs)). Alternativ und/oder in Kombination
kann der Detektionsagent 465 bei manchen Ausführungsformen
einen Datei-Abtastagenten enthalten. Bei manchen Ausführungsformen
kann der Detektionsagent 465 ein Dateisystemfilter und
einen Datei-Abtastagenten als Teil eines Redundanzschemas enthalten.
Der Detektionsagent 465 kann z. B. Änderungen standardmäßig mit
dem Dateisystemfilter und bei Ausfall des Dateisystemfilters mit
dem Dateiabtastagenten detektieren. Bei manchen Ausführungsformen
kann der Detektionsagent 465 geänderte Speicherstellen auf Byte-Ebene
und/oder Plattenblockebene detektieren.
-
Wie
es sich für
den Durchschnittsfachmann versteht, sind die beschriebenen Systeme
und Verfahren nicht auf Detektionsagenten 465 beschränkt, die
ein Dateisystemfilter und/oder einen Dateiabtastagenten enthalten,
sondern können
Detektionsagenten 465 enthalten, die so konfiguriert sind,
dass sie Änderungen
und/oder geänderte
Speicherstellen in den Datendateien 475 auf Basis anderer
Schemata detektieren, um dieselbe Funktion zu erfüllen.
-
Bei
Ausführungsformen,
in denen der Detektionsagent ein Dateisystemfilter enthält, kann
der Detektionsagent Anforderungen (z. B. Schreibanforderungen) von
einem Betriebssystem des Daten-Servers 400 an die im Datenspeichergerät 470 gespeicherten
Regeldatendateien 475 abfangen. Bei einer solchen Ausführungsform
kann der Detektionsagent 465 Meldungen bereitstellen, die Änderungen
der Regeldatendateien 475 beschreiben. Der Detektionsagent 465 kann
z. B. Meldungen bereitstellen, die Daten auf Basis geänderter
Speicherstellen in den Regeldatendateien 475 enthalten.
Die Daten können Dateikennungen
enthalten, die Dateien mit geänderten
Speicherstellen und die geänderten
Speicherstellen auf Byte-Ebene identifizieren. Der Detektionsagent 465 kann
die Meldungen dynamisch, d. h. im Wesentlichen gleichzeitig mit
den Änderungen
der Regeldatendateien 475 bereitstellen. Bei Ausführungsformen,
in denen der Detektionsagent 465 ein Dateisystemfilter
enthält,
kann der Detektionsagent 465 deshalb dem Befehlskoordinatoragenten 440 Dateikennungen
bereitstellen, die eine oder mehrere Regeldatendateien 475 mit
geänderten
Speicherstellen und den entsprechenden geänderten Speicherstellen auf
Byte-Ebene identifizieren.
-
Bei
Ausführungsformen,
in denen der Detektionsagent 465 einen Dateiabtastagenten
enthält, kann
der Detektionsagent 465 die Regeldatendateien 475 auf
geänderte
Speicherstellen auf Basis von Befehlen vom Befehlskoordinatoragenten 440 abtasten.
Bei einer solchen Ausführungsform
kann der Bildagent 460 ein zweites Bild der Regeldatendateien 475 erzeugen,
der Indexagent 450 kann eine zweite Zusammenfassung des
zweiten Bildes erzeugen, und der Detektionsagent 465 kann
die zweite Zusammenfassung und die Basiszusammenfassung verwenden,
um zu bestimmen, ob die Regeldatendateien 475 geänderte Speicherstellen
enthalten. Der Detektionsagent 465 kann z. B. die zweite
Zusammenfassung mit der Basiszusammenfassung vergleichen, um zu
bestimmen, ob eine oder mehrere Regeldatendateien 475 geänderte Speicherstellen
enthalten. Im Allgemeinen können
Differenzen zwischen der Basiszusammenfassung und der zweiten Zusammenfassung
angeben, dass eine oder mehrere der Regeldatendateien 475 geänderte Speicherstellen enthalten.
Wie es sich für
den Durchschnittsfachmann versteht, kann der Detektionsagent 465 mehrere
zweite Zusammenfassungen mit mehreren entsprechenden Basiszusammenfassungen
vergleichen, um Regeldatendateien 475 einschließlich geänderter
Speicherstellen zu identifizieren. Der Detektionsagent 475 kann
z. B. Zusammenfassungen in einer absteigenden hierarchischen Weise
vergleichen, wie Verzeichniszusammenfassungen, Unterverzeichnis-Zusammenfassungen
und Datendateienzusammenfassungen, um Regeldatendateien 475 mit geänderten
Speicherstellen zu identifizieren. Auf Basis der Identifizierung
einer oder mehrerer Regeldatendateien 475 einschl. geänderter
Speicherstellen kann der Detektionsagent 465 die zweiten
Bilder der Regeldatendateien mit geänderten Speicherstellen mit
den entsprechenden Basisbildern vergleichen, um die geänderten
Speicherstellen zu identifizieren. Bei Ausführungsformen, bei denen der
Detektionsagent 465 einen Abtastagenten enthält, kann
der Detektionsagent 465 deshalb dem Befehlskoordinatoragenten 440 Dateikennungen
bereitstellen, die eine oder mehrere Regeldatendateien 475 mit
geänderten
Speicherstellen identifizieren, sowie die entsprechenden geänderten
Speicherstellen auf Byteebene.
-
Zu
einer in der Sicherungsregel 435 und/oder 535 enthaltenen
Speicherungszeit wie die Speicherungszeit t0 in 2,
kann der Daten-Server 400 (z. B. der Detektionsagent 465,
der Befehlskoordinatoragent 440 und/oder ein anderer Agent
im Daten-Server 400) dem Sicherungs-Server 500 (z.
B. dem Befehlskoordinatoragenten 540, dem Delta-Agenten 58 und/oder
einem anderen Agenten im Sicherungs-Server 500) die Inhalte
der geänderten Speicherstellen
bereitstellen, und der Delta-Agent 580 kann die Inhalte
in der einer Delta-Datei 590 im Sicherungsspeichergerät 570 speichern.
Alternativ und/oder in Kombination kann der Sicherungs-Server 500 die
Inhalte der geänderten
Speicherstellen vom Daten-Server 400 abrufen.
Im Allgemeinen können die
vom Detektionsagenten 465 detektierten Inhalte der geänderten
Speicherstellen aus den im Datenspeichergerät 470 gespeicherten
Regeldatendateien 475 nach der im Sicherungsspeichergerät 570 gespeicherten
Delta-Datei 590 kopiert
werden. Der Delta-Agent 580 kann die Inhalte in einer Delta-Datei 590 speichern,
die mit der Speicherungszeit eindeutig verknüpft werden kann, d. h. in einer
Speicherstelle, die von einer mit einer anderen Speicherungszeit verknüpften Speicherstelle
verschieden ist. Wie in 2 dargestellt ist, kann der
Indexagent 450 und/oder 550 die ersten bzw. zweiten
Index 592 bzw. 594 im Wesentlichen gleichzeitig
mit und/oder nach der Erzeugung der Delta-Datei 590 erzeugen.
-
Bei
manchen Ausführungsformen
kann der Befehlskoordinatoragent 440 und/oder 540 Zusammenfassungen
der Inhalte der geänderten
Speicherstellen in den zweiten Indizes 594 enthalten. Der
Befehlskoordinatoragent 440 und/oder 540 kann
beispielsweise den Indexagenten 450 und/oder 550 anweisen,
Zusammenfassungen der Inhalte der in der Delta-Datei 590 gespeicherten
geänderten
Speicherstellen zu erzeugen. Der Detektionsagent 465 kann die
Zusammenfassungen dazu verwenden, später geänderte Speicherstellen in den
Regeldatendateien 475 auf Basis der hierin beschriebenen
Schemata zu detektieren.
-
Im
Wesentlichen gleichzeitig mit und/oder anschließend an die Speicherungszeit
t0 kann der Detektionsagent 465 iterativ
zum Detektieren und/oder Fortsetzen der Detektion geänderter
Speicherstellen in den Regeldatendateien 475 zurückkehren.
Wie aus 2 ersichtlich ist, können Delta-Dateien 590 und
zugehörige
erste und zweite Indizes 592, 594 auf Basis der
hierin beschriebenen Schemata zu den Speicherungszeiten t1 und t2 erzeugt
werden, bei denen es sich um Zeiten nach t0 handelt.
Wie zuvor erwähnt,
kann eine Delta-Datei 590 zu einer Speicherungszeit t1 geänderte
Speicherstellen bezüglich
des Basisbildes 478 in den Regeldatendateien 475 repräsentieren.
-
3 ist
eine schematische Darstellung von Merkmalen beispielhafter Delta-Dateien
und Indizes für
eine Sicherungsoperation eines Systems gemäß den 1A bis 1C und 2.
Gemäß 3 kann
ein erster Index 600 Daten auf Basis von Dateikennungen 610 für Regeldatendateien
mit geänderten
Speicherstellen 620 in einem zweiten Index 640 dieser
geänderten
Speicherstellen enthalten. Die Speicherstellen 620 können in
Form von Block-Offsets
im zweiten Index 640 bereitgestellt werden. Wie aus 3 zu
ersehen ist, kann der zweite Index 640 Daten auf Basis
der geänderten
Speicherstellen 650 sowie Speicherstellen 660 in
einer Delta-Datei 670 der Inhalte der geänderten
Speicherstellen enthalten. Die Speicherstellen 660 können in
Form von Block-Offsets in der Delta-Datei 670 bereitgestellt werden.
Die Delta-Datei 670 kann Inhalte 680 der geänderten
Speicherstellen 650 enthalten. Zur Veranschaulichung enthält die Delta-Datei 670 eine
Beispielspalte 690, die die geänderten Speicherstellen 650 und
die mit den Inhalten 680 verknüpften Dateikennungen 610 zeigt.
-
Bei
manchen Ausführungsformen
können die
geänderten
Speicherstellen 650 und die Inhalte 680 aufeinander
folgend gruppiert werden. Wie im zweiten Index 640 dargestellt
können
die geänderten Speicherstellen 650 aufeinander
folgend auf Basis der mit den geänderten
Speicherstellen 650 verknüpften Dateikennung gruppiert
werden. Beispielsweise können
die zur Datei A 610A gehörigen geänderten Speicherstellen 650A und
die zur Datei B 610B gehörigen geänderten Speicherstellen 650B aufeinander
folgend gruppiert werden. Wie für
die Delta-Datei 670 gezeigt, können die Inhalte 680 auf Basis
der geänderten
Speicherstellen 650, die mit den Inhalten 680 verknüpft sind,
aufeinander folgend gruppiert werden. So können z. B. die Inhalte 680A, die
mit den geänderten
Speicherstellen 650A verknüpft sind, und die Inhalte 680B,
die mit den geänderten
Speicherstellen 650B' verknüpft sind,
aufeinander folgend gruppiert werden. Obwohl 3 zeigt, dass
die geänderten
Speicherstellen 650 und die Inhalte 680 aufeinander
folgend gruppiert werden können,
versteht es sich für
den Durchschnittsfachmann, dass die beschriebenen Systeme und Verfahren nicht
auf die aufeinander folgende Speicherung der geänderten Speicherstellen 650 und/oder
der Inhalte 680 beschränkt
sind, und dass nicht aufeinander folgende Speicherungsschemata für die geänderten Speicherstellen
und/oder die Inhalte, die sich von den hierin beschriebenen unterscheiden,
angewendet werden können.
-
Eine
beispielhafte Wiederherstellungsoperation für ein System gemäß den 1A bis 1C wird
nunmehr unter Bezugnahme auf 2 beschrieben.
Zur Veranschaulichung wird die beispielhafte Wiederherstellungsoperation
bezüglich
der Wiederherstellung einer Version einer Regeldatendatei 476 durch
Agenten im Sicherungs-Server 500 beschrieben. Für den Durchschnittsfachmann
ist es klar, dass die beispielhafte Wiederherstellungsoperation
in einer beschreibenden und nicht einschränkenden Weise zu verstehen
ist, und dass eine Operation ähnlich
der hierin beschriebenen zur Wiederherstellung von zwei oder mehr
Regeldatendateien angewendet werden kann.
-
Die
in 2 dargestellte beispielhafte Wiederherstellungsoperation
kann durch eine Anforderung zur Wiederherstellung einer Version
der Regeldatendatei 476 ausgelöst werden. Bei manchen Ausführungsformen
kann ein Planagent 410 und/oder 510 eine Meldung
bereitstellen, die angibt, dass eine Zeit oder ein Ereignis in einer
Wiederherstellungsregel 435 und/oder 535 erreicht
worden ist. Eine Wiederherstellungsregel 435 und/oder 535 kann
Daten auf Basis von Versionen von Datendateien zur Wiederherstellung
und Wiederherstellungszeiten, zu denen die Versionen wiederherzustellen
sind, enthalten. Die Wiederherstellungszeiten können auf Zeiten wie den tatsächlichen
Zeitintervallen und/oder auf Ereignissen basieren.
-
Auf
Basis einer Anforderung, eine Version der Datendatei 476 wiederherzustellen,
und/oder einer Meldung von einem Planagenten 510 kann ein Regelkoordinatoragent 530 einen
Befehlskoordinatoragenten 540 anweisen, die Version 600 zu
erzeugen (z. B. Öffnen
einer neuen Datei für
die Version 600), nach der Version 600 des mit
der Datendatei 476 verknüpften Basisbildes 478 zu
schreiben und einen Delta-Dateibereich und/oder einen Speicherungszeitbereich
für die
Version 600 zu bestimmen. Wie es sich für den Durchschnittsfachmann
versteht, kann die Version 600 der Datendatei mit einer
Versionszeit, z. B. einer vergangenen Zeit, verknüpft werden.
Auf Basis der Versionszeit kann der Befehlskoordinatoragent 540 den
Delta-Dateibereich und/oder den Speicherungszeitbereich für die Version 600 bestimmen.
Der Speicherungszeitbereich kann Speicherungszeiten enthalten, die
vor der und/oder im Wesentlichen gleichzeitig mit der Versionszeit
liegen, und der Delta-Dateibereich kann Delta-Dateien enthalten,
die mit Zeiten verknüpft
sind, die vor der und/oder im Wesentlichen gleichzeitig mit der
Versionszeit liegen. So kann z. B. gemäß 2 für eine Versionszeit
t1',
bei der t2 < t1' < t1, der Speicherungszeitbereich
die Speicherungszeiten t0 und t1 und
der Delta-Dateibereich die Delta-Dateien 590 und 590' enthalten.
-
4 zeigt
beispielhafte Delta-Dateien und Indizes für eine Wiederherstellungsoperation
für ein System
gemäß den 1A bis 1C und 2. Zur
Veranschaulichung enthält
der Speicherungszeitbereich für
die Version 600 der wiederherzustellenden Datendatei 476 die
Speicherungszeiten t0, t1 und t2, und der Delta-Dateibereich enthält die Delta-Dateien 790, 790' und 790''; die Dateikennung für die Datendatei 476 ist "Datei A". Der Befehlskoordinatoragent 540 kann
die mit dem Delta-Dateibereich für die
Version 600 verknüpften
ersten Indizes abfragen (d. h. die ersten Indizes 792, 792', 792''), um zu bestimmen, ob einer oder
mehrere der ersten Indizes die Dateikennung Datei A enthalten. Auf
Basis des ersten Index, der eine Dateikennung Datei A enthält, kann
der Befehlskoordinatoragent 540 den entsprechenden zweiten
Index und die entsprechende Delta-Datei abfragen, um die geänderten
Speicherstellen und ihre Inhalte zu identifizieren. Wie aus 4 ersichtlich
ist, enthalten die ersten Indizes 792 und 792'' Dateikennungen für Datei
A, während
der erste Index 792' keine
Dateikennung für
Datei A enthält. Die
ersten Indizes 792, 792'' geben
an, dass Änderungen
für Datei
A zu den Speicherungszeiten t0 und t2 gespeichert wurden, während der erste Index 792' angibt, dass
keine Änderungen
für Datei
A zur Speicherungszeit t1 gespeichert wurden.
Auf Basis der zweiten Indizes 794, 794'' und der den ersten Indizes 792, 792'' entsprechenden Delta-Dateien 790, 790'' kann der Befehlskoordinatoragent 540 die
Inhalte der geänderten
Speicherstellen für
Datei A nach der Version 600 schreiben. Wie in 4 dargestellt
ist, können
die Inhalte der Delta-Dateien 790, 790'' nach der Version 600 geschrieben
werden. Der Befehlskoordinatoragent 540 kann die Inhalte
der geänderten
Speicherstellen mit den Daten des zuvor in der Version 600 enthaltenen
Basisbildes kombinieren (der Befehlskoordinatoragent kann z. B.
einen oder mehrere Abschnitte des Basisbildes mit den Inhalten der
geänderten
Speicherstellen überschreiben).
Der Sicherungs-Server 500 (z. B. der Befehlskoordinatoragent 540)
kann dem Daten-Server 400 (z. B. dem Befehlskoordinatoragenten 440)
die neu erstellte Version 600 bereitstellen.
-
Wie
zuvor beschrieben kann bei manchen Ausführungsformen eine Version einer
Datendatei auf Basis eines Sicherungs-Servers 500 (z. B.
eines oder mehrerer Agenten im Sicherungs-Server 500), der
gesicherte Daten, die mit der Version der Datendatei verknüpft sind,
nach einer Version 600 schreibt, wiederhergestellt und
die neu erstellte Version 600 einem Daten-Server 400 (z.
B. einem oder mehreren Agenten im Daten-Server 400) bereitgestellt
werden. Alternativ und/oder in Kombination kann bei manchen Ausführungsformen
eine Version der Datendatei auf Basis des Sicherungs-Servers 550,
der die mit der Version der Datendatei verknüpften gesicherten Daten dem
Daten-Server 400 bereitstellt (z. B. gesicherte Daten auf
Basis der Delta-Dateien 590, der ersten Indizes 592 und/oder
der zweiten Indizes 594, die mit der Version der Datendatei
verknüpft
sind) wiederhergestellt werden, und der Daten-Server 400 kann
das Bild 478 und die gesicherten Daten verwenden, um eine
Version 600 der Datendatei neu zu erstellen. Bei solchen
Ausführungsformen
kann der Sicherungs-Server 500 dem Daten-Server 400 relevante
Abschnitte der relevanten Delta-Dateien, erste Indizes und zweite
Indizes zur erneuten Erstellung einer Version der Datendatei bereitstellen,
und der Daten-Server 400 kann die Version öffnen und
die relevanten Abschnitte der gesicherten Daten und des Bildes 478 nach
der Version schreiben. Der Daten-Server 400 kann die relevanten
Abschnitte der gesicherten Daten und des Bildes 478 kombinieren.
Der Daten-Server 400 kann z. B. Abschnitte des Bildes 478 mit
entsprechenden Abschnitten jüngerer
gesicherter Daten überschreiben.
-
Eine
Version einer Datendatei kann nach einer oder mehreren Speicherstellen
in einem oder mehreren Servern wiederhergestellt werden. Bei manchen
Ausführungsformen
kann z. B. eine wiederhergestellte Version einer Datendatei mit
derselben Speicherstelle wie die einer Originalversion verknüpft und
die Originalversion zu einer anderen Speicherstelle verschoben und/oder
anderweitig mit dieser verknüpft
werden. Alternativ und/oder in Kombination kann bei manchen Ausführungsformen
eine wiederhergestellte Version einer Datendatei mit einer oder mehreren
Speicherstellen verknüpft
werden, die von denen der Originalversion verschieden sind. Eine wiederhergestellte
Version einer Datendatei kann z. B. mit einem anderen Verzeichnis
als dem der Originalversion verknüpft werden. Außerdem kann
z. B. eine wiederhergestellte Version einer Datendatei nach einem
oder mehreren verschiedenen Speichergeräten (z. B. verschiedene Speichergeräte in einem LAN)
wiederhergestellt werden. Eine wiederhergestellte Version einer
Datendatei kann mit einem Namen auf Basis von dem Durchschnittsfachmann
bekannten Schemata verknüpft
werden.
-
Bei
einer Ausführungsform
der offenbarten Verfahren und Systeme kann ein Vereinigungsprozess
wie hierin vorgesehen angewendet werden, um ein Bandrotationsschema
zu simulieren, bei dem z. B. eine vereinigte Datei mit einem virtuellen "Magnetband" verknüpft werden
kann. Die Anzahl virtueller Magnetbänder und somit verknüpfter Magnetbanddateien
(z. B. eine mittels Vereinigung abgeleitete Datei) kann auf Basis
der Auswahl seitens des Benutzers, der Administratorkonfiguration
etc. variieren und z. B. von der Speicherkapazität, der Speicherungszeit bzw.
dem Speicherungsintervall und anderen Faktoren abhängen. Bei
manchen Ausführungsformen
können
eine oder mehrere Benutzerschnittstellen vorgesehen sein, um einem
Benutzer und/oder Systemadministrator über die virtuellen Magnetbänder und
die zugehörige(n)
Banddatei(en) das Gefühl
der Bandrotation zu vermitteln. Der Zugriff auf eine Datei kann
so auf Basis einer zugehörigen Bandkennung
bereitgestellt werden.
-
Bei
einem Beispiel einer virtuellen Magnetband-Ausführungsform kann ein Benutzer
und/oder Systemadministrator eine Zeit zur Erzeugung einer "Band"-Datei bestimmen
und damit eine Zeit zur Vereinigung. Bei manchen Ausführungsformen
kann diese manuelle Bestimmung einer Zeit planmäßige Vereinigungsprozesse,
wie sie hierin vorgesehen sind, außer Kraft setzen und/oder zusätzlich erfolgen.
Bei manchen Ausführungsformen
kann ein Benutzer und/oder Systemadministrator auf eine Anzahl "Band"-Dateien beschränkt sein,
und somit kann die Erzeugung einer neuen Banddatei die älteste und/oder
eine andere angegebene Banddatei innerhalb der begrenzten Anzahl
Banddateien überschreiben
und/oder bewirken, dass kein Zugriff auf diese möglich ist. Es ist zu ersehen,
dass die oben genannten Verfahren zur Bereitstellung eines virtuellen
Magnetbandschemas über
eine oder mehrere Benutzerschnittstellen angewendet werden können, die
es dem Benutzer bzw. Systemadministrator erlauben, die hierin vorgesehenen
Merkmale zu verwirklichen. Einem Benutzer und/oder Systemadministrator
kann z. B. eine Schnittstel le bereitgestellt werden, die virtuelle
Magnetbandkennungen, zugehörige
Dateikennungen, Dateiinformationen (z. B. Zeit der Erstellung, zur
Erstellung gehörige
Benutzerkennung, Speicherstelle, Vereinigungsinformationen etc.)
angeben kann, um dem Benutzer und/oder Systemadministrator Auswahlmöglichkeiten
und/oder Bezeichnungen wie hierin vorgesehen zu ermöglichen.
-
Es
sei weiterhin auf 2 verwiesen, wonach bei manchen
Ausführungsformen
der Befehlskoordinatoragent 540 Delta-Dateien, erste Indizes
und/oder zweite Indizes in zeitlicher Reihenfolge verarbeiten kann.
Bei einer Ausführungsform
mit einer umgekehrten zeitlichen Verarbeitungsreihenfolge kann der
Befehlskoordinatoragent 540 bestimmen, ob geänderte Speicherstellen
für eine
Dateikennung zu zwei oder mehr Speicherungszeiten gleich sind. Der
Befehlskoordinatoragent 540 kann z. B. bestimmen, ob mit
einer Dateikennung verknüpfte
geänderte
Speicherstellen in zwei oder mehr zweiten Indizes gleich sind. Auf
Basis der gleichen geänderten
Speicherstellen kann der Befehlskoordinatoragent 540 die
gespeicherten Inhalte der geänderten
Speicherstellen, die mit der letzten Speicherungszeit verknüpft sind,
d. h. die gespeicherten Inhalte in der mit der letzten Speicherungszeit
verknüpften
Delta-Datei, nach der Version 600 schreiben. Unter Bezugnahme
auf 4 geben z. B. die zweiten Indizes 792 und 792'' an, dass Block 10 der
Datei A zur Speicherungszeit t0 und später zur
Speicherungszeit t2 geändert wurde. Bei manchen Ausführungsformen
kann der Befehlskoordinatoragent 540 den Inhalt von Block 10 aus
der Delta-Datei 790'' nach der Version 600 schreiben
und den Inhalt von Block 10 aus der Delta-Datei 790 ignorieren.
Für den
Durchschnittfachmann versteht es sich, dass die beschriebenen Systeme
und Verfahren nicht auf eine zeitliche Verarbeitungsreihenfolge
der Delta-Dateien, der ersten Indizes und der zweiten Indizes beschränkt sind,
und andere Verarbeitungsreihenfolgen und/oder Schemata innerhalb
des Gültigkeitsbereichs
der vorliegenden Offenbarung angewendet werden können.
-
Wie
zuvor hierin beschrieben kann bei manchen Ausführungsformen eine Version einer
Datendatei auf Basis der Identifizierung eines mit der Version verknüpften Delta-Datenbereichs
sowie der Abfrage von Delta-Dateien und ersten und zweiten Indizes,
die mit dem Delta-Datenbereich verknüpft sind, wiederhergestellt
werden, um geänderte
Speicherstellen und Inhalte der geänderten Speicherstellen für die Version
zu identifizieren. Bei Ausführungsformen,
in denen der Detektionsagent 465 ein Dateisystemfilter
enthält,
kann die Version auf Basis des Sicherungs-Servers 500 (z.
B. eines oder mehrerer Agenten des Sicherungs-Servers 500)
wiederhergestellt werden, der dem Daten-Server 400 (z.
B. einer oder mehrere Agenten im Daten-Server 400) die
relevanten gesicherten Daten für die
Version (z. B. die relevanten Abschnitte der relevanten Delta-Dateien und
Indizes für
den Delta-Dateibereich sowie die mit der Datendatei verknüpfte Dateikennung)
bereitstellt, und der Daten-Server 400 kann die Inhalte
der gesicherten Daten mit den Änderungen,
die vom Detektionsagenten 465 detektiert wurden, später als
zur letzten Speicherungszeit, die mit dem Delta-Datenbereich verknüpft ist,
aber früher
als und/oder gleichzeitig mit der Versionszeit kombinieren. Unter
Bezugnahme auf 2 kann der Detektionsagent 465 z.
B. für
eine Versionszeit t1', die zwischen zwei Speicherungszeiten
liegt, z. B. t2 < t1' < t1, geänderte Speicherstellen
bereitstellen, die nach der Speicherungszeit t1 und
früher
als und/oder gleichzeitig mit der Versionszeit t1' vorliegen.
-
Nunmehr
wird eine beispielhafte Vereinigungsoperation für ein System gemäß den 1A bis 1C unter
Bezugnahme auf 2 beschrieben. Zur Veranschaulichung
wird die Vereinigungsoperation bezüglich der Veranlassung durch
Agenten im Sicherungs-Server 500 beschrieben. Für den Durchschnittsfachmann
versteht es sich, dass die beispielhafte Vereinigungsoperation als
erklärend und
nicht einschränkend
zu interpretieren ist, und dass eine ähnliche Operation wie die hierin
beschriebene verwendet werden kann, um verschiedene Typen gesicherter
Daten zu vereinigen, z. B. Delta-Dateien, erste Indizes und/oder
zweite Indizes.
-
Die
in 2 dargestellte beispielhafte Vereinigungsoperation
kann durch eine Anforderung zur Vereinigung eines oder mehrerer
Abschnitte der gesicherten Daten ausgelöst werden, die im Sicherungsspeichergerät 570 gespeichert
sind. Bei manchen Ausführungsformen
kann ein Planagent 410 und/oder 510 eine Meldung
bereitstellen, die angibt, dass eine Zeit oder ein Ereignis in einer
Vereinigungsregel 435 erreicht worden ist. Eine Vereinigungsregel
kann zu vereinigende gesicherte Daten und Zeiten identifizieren,
zu denen die gesicherten Daten zu vereinigen sind. Die Vereinigungszeiten können auf
Zeiten basieren wie aktuellen Zeiten und Zeitintervallen und/oder
Ereignissen. Bei manchen Ausführungsformen
können
die Ereignisse auf dem verfügbaren
Speicherplatz basieren. Eine Vereinigungsoperation kann z. B. ausgelöst werden,
wenn der verfügbare
Speicherplatz im Sicherungsspeichergerät 570 unter einen
Schwellenwert sinkt. Auf Basis einer Anforderung für eine Vereinigung und/oder
einer Meldung vom Planagenten 510 kann der Regelkoordinatoragent 530 den
Befehlskoordinatoragenten 540 anweisen, einen oder mehrere
Abschnitte der gesicherten Daten zu vereinigen, die im Sicherungsspeichergerät 570 gespeichert
sind.
-
Bei
manchen Ausführungsformen
kann der Befehlskoordinatoragent 540 gespeicherte Inhalte
innerhalb einer einzigen Delta-Datei vereinigen. Wie zuvor beschrieben
kann der Detektionsagent 465 bei manchen Ausführungsformen
ein Dateisystemfilter enthalten, mit dem geänderte Speicherstellen zum Zeitpunkt
der Änderung,
d. h. im Wesentlichen gleichzeitig mit der Änderung, detektiert werden
können.
Das Dateisystemfilter kann z. B. Änderungen derselben zu verschiedenen
Zeiten zwischen den Speicherungszeiten geänderten Speicherstelle der Datendatei
detektieren. Eine Delta-Datei kann somit mehrere Fälle geänderter
Inhalte entsprechend denselben geänderten Speicherstellen derselben
Datendatei enthalten. Bei manchen Ausführungsformen kann der Befehlskoordinatoragent 540 gespeicherte Inhalte
in einer einzigen Delta-Datei vereinigen, d. h. mischen, die mit
denselben geänderten
Speicherstellen einer Datendatei verknüpft sind, so dass die vereinigte
Delta-Datei einen Fall einer geänderten
Speicherstelle einer Datendatei enthält. Außerdem kann ein Dateisystemfilter
z. B. Abschnitte aufeinander folgender zu verschiedenen Zeiten zwischen
den Speicherungszeiten geänderter
Speicherstellen detektieren. Eine Delta-Datei kann also Inhalte
aufeinander folgender geänderter
Speicherstellen in einer Datendatei in nicht aufeinander folgenden
Speicherstellen speichern. Bei manchen Ausführungsformen kann der Befehlskoordinatoragent 540 gespeicherte
Inhalte in einer einzigen Delta-Datei vereinigen, d. h. verketten,
die mit aufeinander folgenden geänderten Speicherstellen
für eine
Datendatei verknüpft
sind, so dass die gespeicherten Inhalte in der vereinigten Delta-Datei
aufeinander folgend gespeichert sind. Auf Basis der Vereinigung
der gespeicherten Inhalte in der Delta-Datei kann der Befehlskoordinatoragent 540 die
entsprechenden ersten und zweiten Indizes vereinigen, um die vereinigten
Inhalte in der vereinigten Delta-Datei mit den vereinigten geänderten
Speicherstellen und den vereinigten Dateikennungen zu verknüpfen.
-
Alternativ
und/oder in Kombination kann der Befehlskoordinatoragent 540 bei
manchen Ausführungsformen
zwei oder mehr Delta-Dateien, die mit verschiedenen Speicherungszeiten
verknüpft
sind, vereinigen, d. h. mischen, um eine vereinigte Delta-Datei
zu erzeugen. Wie in 4 dargestellt ist, können zwei
oder mehr Delta-Dateien, die mit verschiedenen Speicherungszeigen
verknüpft
sind, gespeicherte Inhalte enthalten, die mit denselben Datendateien
verknüpft
sind. Die mit den Speicherungszeiten t0 bzw.
t2 verknüpften
Delta-Dateien 790 und 790'' können z.
B. beide gespeicherte Inhalte enthalten, die mit der Dateikennung
A verknüpft
sind. Eine auf Basis von zwei oder mehr Delta-Dateien vereinigte
Delta-Datei, die dieselben geänderten
Speicherstellen für
dieselbe Dateikennung enthält,
kann den gespeicherten Inhalt, der mit der letzten Speicherungszeit
verknüpft
ist, enthalten, d. h. den gespeicherten Inhalt in der Delta-Datei,
der mit der letzten Speicherungszeit verknüpft ist. Unter Bezugnahme auf 4 kann
z. B. eine vereinigte Delta-Datei auf Basis der Delta-Dateien 790 und 790'' den Inhalt von Block 10 für die Datei
A enthalten, die in der Delta-Datei 790'' gespeichert
ist (die mit der späteren Speicherungszeit
t2 verknüpft
ist), und nicht den Inhalt von Block 10 für die Datei
A, die in der Delta-Datei 790 gespeichert ist (die mit
der früheren
Speicherungszeit t0 verknüpft ist).
Auf Basis der Vereinigung von zwei oder mehr Delta-Dateien, um eine
vereinigte Delta-Datei zu erzeugen, kann der Befehlskoordinatoragent 540 die
entsprechenden ersten und zweiten Indizes vereinigen, um die vereinigte
Delta-Datei mit den vereinigten geänderten Speicherstellen und den
vereinigten Dateikennungen zu verknüpfen.
-
Wie
zuvor beschrieben kann der Befehlskoordinatoragent 540 zwei
oder mehr Delta-Dateien
vereinigen, d. h. mischen, um auf Basis der Öffnung einer vereinigten Delta-Datei, der Vereinigung der
Delta-Dateien und des Schreibens und/oder anderweitigen Bereitstellens
der vereinigten Daten an die vereinigte Delta-Datei eine vereinigte
Delta-Datei zu erzeugen.
Bei manchen Ausführungsformen
kann der Befehlskoordinatoragent 540 zwei oder mehr Delta-Dateien
auf Basis des Zerlegens der Delta-Dateien in zwei oder mehrere Abschnitte
und iterativen Vereinigens der Abschnitte vereinigen, d. h. mischen. Bei
einer solchen Ausführungsform
kann der Befehlskoordinatoragent 540 z. B. die Delta-Dateien
in Abschnitte trennen, abteilen und/oder anderweitig unterteilen,
einen der Abschnitte vereinigen, den vereinigten Abschnitt nach
der vereinigten Datei schreiben und/oder anderweitig bereitstellen,
den Abschnitt löschen
und iterativ zum Vereinigen der übrigen
Abschnitte zurückgehen.
Die iterative Vereinigung von Abschnitten der Delta-Dateien kann
die Datenspeicherkapazität
zur Vereinigung verringern. Bei Ausführungsformen, bei denen Abschnitte
der Delta-Dateien iterativ vereinigt werden, können Indizes, die den vereinigten
Delta-Dateien entsprechen, auf Basis des Status der vereinigten
Abschnitte aktualisiert werden. Die Indizes können z. B. aktualisiert werden, um
auf die Speicherstellen der Abschnitte der Delta-Dateien zu verweisen,
und auf Basis der Vereinigung der Abschnitte, um auf vereinigte
Delta-Dateien zu verweisen.
-
Wie
zuvor beschrieben können
die Sicherungs-Server 150, 160 des in 1A dargestellten beispielhaften
Systems 100 bei manchen Ausführungsformen so konfiguriert
werden, dass sie gesicherte Daten mit verschiedenen Fristen der
Datenaufbewahrung speichern. Bei solchen Ausführungsformen kann der erste
Sicherungs-Server 150 so konfiguriert sein, dass er Daten
relativ kurzfristig speichert, und der zweite Sicherungs-Server 160 kann
so konfiguriert sein, dass er Daten relativ langfristig speichert.
Der erste Sicherungs-Server 150 kann
z. B. so konfiguriert sein, dass er Daten einen oder mehrere Tage,
Wo chen oder Monate speichert, und der zweite Sicherungs-Server 160 kann
so konfiguriert sein, dass er Daten ein oder mehrere Jahre lang
speichert. Bei manchen Ausführungsformen kann
der erste Sicherungs-Server 150 die vom Daten-Server 130 und/oder 140 gepflegten
Datendateien auf Basis einer Sicherungsperiode sichern und die gesicherten
Daten dem zweiten Server 160 auf Basis einer Datenaufbewahrungsfrist
bereitstellen, die länger
ist als die Sicherungsperiode. Alternativ und/oder in Kombination
kann der erste Sicherungs-Server 150 bei manchen Ausführungsformen
die gesicherten Daten auf Basis einer Vereinigungsperiode vereinigen,
die länger
ist als die Sicherungsperiode, und dem zweiten Server 160 die
vereinigten Daten bereitstellen. Bei einer solchen Ausführungsform
kann die Sicherungsperiode ein Tag, die Vereinigungsperiode eine
Woche und die Aufbewahrungsfrist ein Monat sein. Bei einer solchen
Ausführungsform
kann der erste Sicherungs-Server 150 bis zu drei wöchentlich vereinige
Delta-Dateien und sieben tägliche
Delta-Dateien, die mit einer Sicherungsregel verknüpft sind,
pflegen, und der Sicherungs-Server 160 kann bis zu 52 wöchentlich
vereinigte Delta-Dateien, die mit derselben Sicherungsregel verknüpft sind,
pflegen. Alternativ und/oder in Kombination kann der zweite Server 160 bei
manchen Ausführungsformen die
vom ersten Sicherungs-Server 150 bereitgestellten gesicherten
Daten vereinigen.
-
Wie
es sich für
den Durchschnittsfachmann versteht, sind die beschriebenen Systeme
und Verfahren nicht auf die Verwendung von zwei Sicherungs-Servern 150, 160 beschränkt, die
mit verschiedenen Datenaufbewahrungsfristen verknüpft sind. Bei
manchen Ausführungsformen
können
die Sicherungs-Server 150, 160 z. B. so konfiguriert
sein, dass sie vom ersten bzw. zweiten Daten-Server 130 bzw. 140 gepflegte
Datendateien getrennt sichern.
-
Die
Verwendung erster und zweiter Indizes zur Verknüpfung gespeicherter Inhalte
mit Speicherungszeiten, geänderten
Speicherstellen und Dateikennungen kann die erneute Erstellung von
Versionen der Datendateien erleichtern. Wie zuvor anhand von 2 beschrieben
kann der Sicherungs-Server 500 (z. B. ein oder mehrere
Agenten im Sicherungs-Server 500) Delta-Dateien 590 und
Indizes 592, 594 im Sicherungsspeichergerät 570 speichern. Bei
manchen Ausführungsformen
können
Kopien der Indizes 592, 594 auch im Datenspeichergerät 470 gespeichert
werden. Bei einer solchen Ausführungsform
kann der Daten-Server 400 eine Anforderung, eine Version
einer ausgewählten
Datendatei neu zu erstellen, vereinfachen, indem die Indizes 592, 594 zur
Bestimmung eines Speicherungszeitbereichs für die Version verwendet werden.
Auf Basis des Speicherungszeitbereichs und der Dateikennung für die gewählte Datendatei
kann der Daten-Server 400 die Indizes 592, 594 abfragen,
um die geänderten
Speicherstellen für
die gewählte
Datendatei und die Speicherstellen der entsprechenden gespeicherten
Inhalte in den mit den Indizes 592, 594 verknüpften Delta-Dateien
zu identifizieren. Auf Basis der Verarbeitung der Indizes 592, 594 kann
der Daten-Server 400 eine Anforderung für die relevanten Abschnitte
der relevanten Delta-Dateien aus dem Sicherungs-Server 500 erzeugen,
und dieser kann dem Daten-Server 400 die relevanten Abschnitte
der relevanten Delta-Dateien bereitstellen.
-
Die
Verwendung erster und zweiter Indizes zur Verknüpfung gespeicherter Inhalte
mit Speicherungszeiten, geänderten
Speicherstellen und Dateikennungen kann außerdem die erneute Erstellung von
Datendateien auf Basis gesicherter Daten, die von einem Datenspeichergerät für relativ
langfristige Datenspeicherung gepflegt werden, erleichtern. Wie zuvor
anhand von 1A beschrieben können der erste
Sicherungs-Server 150 und das erste Sicherungsspeichergerät 155 so
konfiguriert sein, dass sie Daten relativ kurzfristig speichern
und der zweite Sicherungs-Server 160 sowie das zweite Sicherungsspeichergerät 165 können so
konfiguriert sein, dass sie Daten relativ langfristig speichern.
Bei manchen Ausführungsformen
kann das erste Sicherungsspeichergerät 155 auf einer Magnetplatte
und das zweite Sicherungsspeichergerät 165 auf einem Magnetband basieren.
Auf Basis der zuvor beschriebenen Schemata kann ein anfordernder
Server (z. B. der Daten-Server 130, 140 und/oder
der erste Sicherungs-Server 150) eine Anforderung für relevante Abschnitte
relevanter Delta-Dateien aus dem zweiten Sicherungs-Server 160 erzeugen,
und dieser kann dem anfordernden Server die relevanten Abschnitte der
relevanten Delta-Dateien
bereitstellen.
-
Bei
manchen Ausführungsformen
kann der Sicherungs-Server 150, 160 auf beide
Datenspeichergeräte 155, 165 zugreifen,
die mit verschiedenen Datenaufbewahrungsfristen verknüpft sind.
Der Sicherungs-Server 150 kann z. B. bei manchen Ausführungsformen
so konfiguriert sein, dass er auf das Sicherungsspeichergerät 155 (z.
B. relativ kurzfristige Datenspeicherung) und auf das Sicherungsspeichergerät 165 (z.
B. relativ langfristige Datenspeicherung) zugreift. Alternativ und/oder
in Kombination kann der Sicherungs-Server 150 bei manchen Ausführungsformen
auf ein einziges Datenspeichergerät zugreifen, das eine Datenspeicherkapazität hat, die zwischen
einer relativ kurzfristigen und einer relativ langfristigen Datenspeicherungsfrist
aufgeteilt ist.
-
Die
beschriebenen Wiederherstellungs- und Vereinigungsoperationen können einem
oder mehreren Servern gesicherte Daten bereitstellen. Bei manchen
Ausführungsformen
kann die Wiederherstellungs- und/oder Vereinigungsoperation z. B.
gesicherte Daten an einen oder mehrere Daten-Server (z. B. ein Daten-Server,
von dem eine Anforderung zur Wiederherstellung einer Datendatei
stammt) und/oder einen oder mehrere Sicherungs-Server (z. B. ein
kurzfristiger Sicherungs-Server und/oder ein langfristiger Sicherungs-Server) übertragen,
die mit einem oder mehreren Datenkommunikationsnetzen verbunden
sind und/oder anderweitig in Datenaustausch stehen.
-
Wie
zuvor hierin beschrieben können
Daten, die mit einer Version einer Datendatei verknüpft sind, in
einem oder mehreren Servern wie einem oder mehreren Daten-Servern 400 (z.
B. in einem Bild 478) und/oder in einem oder mehreren Sicherungs-Servern 500 (z.
B. in einer oder mehreren Delta-Dateien 590 und ersten
und zweiten Indizes 592, 594) gespeichert werden.
Bei manchen Ausführungsformen
können
die beschriebenen Systeme und Verfahren eine Version einer Datendatei
auf Basis einer vorgegebenen räumlichen
Hierarchie wiederherstellen. Bei einer solchen räumlichen Hierarchie kann eine
Anforderung, eine Version einer Datendatei wiederherzustellen, erfüllt werden,
indem auf Speichergeräte
in einer Reihenfolge lokal nach fern zugegriffen wird. Wie hierin
verwendet, kann der Begriff lokal so interpretiert werden, dass
er Knoten in einem LAN enthält,
und der Begriff fern, dass er Knoten enthält, die nicht im LAN vorgesehen
sind. So kann z. B. auf Basis des Empfangs einer Anforderung von
einem Client, eine Version einer Datendatei wiederherzustellen,
ein Daten-Server zuerst bestimmen, ob ein oder mehrere in lokalen
Speichergeräten
gespeicherte Bilder ausreichend Daten enthalten, um die Version
neu zu erstellen. Auf Basis von lokal gespeicherten Bildern, die
zur erneuten Erzeugung der Version nicht ausreichen, kann der Daten-Server
die Anforderung an einen oder mehrere andere lokale Server (z. B.
lokale Sicherungs-Server, die auf relativ kurzfristig gesicherte
Daten zugreifen können)
und dann direkt und/oder indirekt an einen oder mehrere ferne Server
(z. B. ferne Sicherungs-Server, die auf relativ langfristig gesicherte
Daten zugreifen können) leiten.
-
Wie
zuvor beschrieben kann ein Benutzer mit den Clients 110, 120,
den Daten-Servern 130, 140 und/oder den Sicherungs-Servern 150, 160 in
Dialog treten, um eine oder mehrere Regeln (z. B. Sicherungsregeln,
Wiederherstellungsregeln und Vereinigungsregeln 235, 335, 435, 535 in
den 1B, 1C und 2), eine
oder mehrere Datenaufbewahrungsfristen (z. B. Datenaufbewahrungsfristen für den ersten
und zweiten Sicherungs-Server 150, 160 von 1) und/oder andere Parameter von Interesse
zu bestimmen und/oder anderweitig zu wählen. Der Benutzer kann ein
Systemadministrator und/oder eine andere Institution sein.
-
Ein
lokaler Benutzer kann z. B. mit den Clients 110, 120 bei
Vorliegen einer Befehlszeile unter Verwendung einer grafischen und/oder
anderen Benutzerschnittstelle und durch Eingeben von Befehlen über ein
Eingabegerät,
wie eine Maus, eine Tastatur, ein Sensorbildschirm, eine Rollkugel,
eine Kleintastatur etc. in Dialog treten. Die Benutzerschnittstelle kann
durch ein Grafik-Untersystem des Client 110, 120 erzeugt
werden, das die Schnittstelle zu einer Ein- oder Aus-Bildschirmoberfläche macht
(z. B. bei einem Anzeigegerät
und/oder in einem Videospeicher). Eingaben seitens eines lokalen
Benutzers können über ein
Eingabe-/Ausgabe-(I/O)Untersystem empfangen und über einen internen Bus (z.
B. ein Systembus) zur Ausführung
unter der Steuerung durch ein Betriebssystem des Client 110, 120 an
einen Prozessor geleitet werden.
-
Auf ähnliche
Weise kann ein Fern-Benutzer über
das Datenkommunikationsnetz 105 mit den Clients 110, 120 in
Dialog treten. Die Eingaben seitens des Fern-Benutzers können in
ihrer Gesamtheit oder teilweise durch ein dem Fern-Benutzer zugeordnetes digitales
Datenfernverarbeitungsgerät
empfangen und verarbeitet werden. Alternativ und/oder in Kombination
können
die Eingaben zu einem lokalen Client 110, 120 oder
einem anderen digitalen Datenverarbeitungsgerät über ein oder mehrere Netze
zurückgesendet
und von diesem/diesen mittels z. B. einfacher Client-Technologie
verarbeitet werden. Die Benutzerschnittstelle des lokalen Client 110, 120 kann auch
in ihrer Gesamtheit oder teilweise am dem Fern-Benutzer zugeordneten
digitalen Datenfernverarbeitungsgerät reproduziert werden, indem
Grafikinformationen an das ferne Gerät übertragen werden und das Grafik-Untersystem
des fernen Geräts
angewiesen wird, dem Fern-Benutzer zumindest einen Teil der Schnittstelle
bereitzustellen und anzuzeigen.
-
In
einer beispielhaften Operation kann ein Grafik-Untersystem des Client 110, 120 eine
grafische Benutzerschnittstelle (einschl. z. B. eines oder mehrerer
Menüs,
Fenster und/oder anderer visueller Objekte) auf einem zum Client 110, 120 gehörigen Anzeigegerät bereitstellen
und anzeigen, die die Definition einer oder mehrerer Regeln, einer
oder mehrerer Datenaufbewahrungsfristen und/oder anderer Parameter
von Interesse unterstützt.
-
Eine
beispielhafte Anzeige einer grafischen Benutzerschnittstelle, die
eine Definition einer Sicherungsregel vereinfachen kann, wird nunmehr
beschrieben. Für
den Durchschnittsfachmann versteht es sich, dass die Anzeige als
beispielhaft interpretiert werden sollte und dass Anzeigen, die
sich von den hierin beschriebenen unterscheiden, innerhalb des Gültigkeitsbereichs
der vorliegenden Offenbarung verwendet werden können. So können beispielsweise Aspekte,
Komponenten, Merkmale und/oder Module der beispielhaften Anzeige
kombiniert, getrennt, ausgetauscht und/oder neu angeordnet werden,
um andere Anzeigen zu erzeugen.
-
5.
zeigt ein beispielhaftes Fenster 800 einer Sicherungsregel,
das von einem Benutzer (z. B. einem Systemadministrator und/oder
einer anderen Institution) verwendet werden kann, um eine Sicherungsregel
zu bestimmen. Wie aus 5 ersichtlich ist, kann das
Fenster 800 für
die Sicherungsregel eine Zone 810 zur Datendateiwahl und
eine Zone 850 zur Wahl der Speicherungszeit enthalten.
-
Die
Zone 810 zur Datendateiwahl kann ein oder mehrere Merkmale
(z. B. Pulldown-Menüs, Operationsschaltflächen, Wahlflächen und/oder
auszufüllende
Kästchen)
enthalten, um zu sichernde Dateien zu wählen. Wie in 5 dargestellt
ist, kann die Zone 810 zur Datendateiwahl z. B. Operationsschaltflächen 820 zur
Wahl von zu sichernden Dateien enthalten, wie alle Datendateien
oder Datendateien eines bestimmten Typs (z. B. Betriebssystemdateien) und
eine Anzeige 830 für
die Daten auf Basis der von einem Daten-Server wie dem Daten-Server 130 gepflegten
Dateien. Die Anzeige 830 kann Daten auf Basis von Verzeichnissen,
Unterverzeichnissen und anderen Dateistrukturen präsentieren,
die vom Daten-Server 130 im Datenspeichergerät 135 gepflegt werden.
Wie in 5 dargestellt präsentiert die Anzeige 830 z.
B. eine Datenstruktur 835 mit Datendateien, die in einer
Verzeichnis- und Unterverzeichnisstruktur angeordnet sind. Ein Benutzer
kann eine oder mehrere zu sichernde Datendateien wählen, indem
er z. B. die Dateien mit einem Mausklick, durch Ziehen eines Rahmens
um die Dateien etc. anwählt. Die
im Rahmen 840 enthaltenen Dateien sind z. B. Datendateien,
die ein Benutzer zur Sicherung und Verknüpfung mit einer Sicherungsregel
gewählt
hat. Nicht ausgewählte
Dateien können
vom Sichern ausgenommen und/oder mit anderen Sicherungsregeln verknüpft werden.
-
Die
Zone 850 zur Wahl der Speicherungszeit kann ein oder mehrere
Merkmale (z. B. Pulldown-Menüs,
Operationsschaltflächen,
Wahlschalter und/oder auszufüllende
Kästchen)
enthalten, um die Speicherungszeiten für die im Rahmen 840 gewählten Datendateien
zu bestimmen. Wie in 5 dargestellt kann die Zone 850 zur
Wahl der Speicherungszeit z. B. Wahlflächen 860 und Pulldown-Menüs 865 enthalten,
die mit verschiedenen Speicherungszeiten verknüpft sind, wie kontinuierliche
Speicherungszeiten (was so interpretiert werden kann, dass es sich
um die Sicherung von Datendateien im Wesentlichen gleichzeitig mit Änderungen
der Speicherstellen der Datendateien 840 handelt), periodi sche
Speicherungszeiten (z. B. täglich
und wöchentlich
wie in 5 gezeigt) und anwendungsspezifische Speicherungszeiten 870 (z.
B. Montag bis Freitag täglich
um 6:00 Uhr und Samstag/Sonntag täglich um 8:00 Uhr).
-
Wie
es sich für
den Durchschnittsfachmann versteht, können Anzeigen ähnlich denen
in 5 dargestellten bereitgestellt werden, um es einem
Benutzer zu ermöglichen,
andere Parameter von Interesse zu bestimmen und/oder anderweitig
zu wählen, z.
B. eine Wiederherstellungsregel, eine Vereinigungsregel und eine
Datenaufbewahrungsfrist. Ein Benutzer kann z. B. für eine Wiederherstellungsregel eine
oder mehrere Versionen einer oder mehrerer wiederherzustellender
Datendateien, eine oder mehrere Speicherstellen, nach denen die
Versionen wiederherzustellen sind, und eine oder mehrere den Versionen
entsprechende Zeiten wählen,
d. h. vergangene Zeiten. Für
eine Vereinigungsregel kann ein Benutzer einen Speicherungszeitbereich
von zu vereinigenden Delta-Dateien und/oder einen Speichererungskapazitäts-Schwellenwert
zur Veranlassung einer Vereinigung wählen, und für eine Datenaufbewahrungsfrist
kann ein Benutzer ein Zeitintervall zur Aufbewahrung gesicherter
Daten wählen.
-
Die
hierin beschriebenen Systeme und Verfahren sind nicht auf eine Hardware-
oder Software-Konfiguration beschränkt; sie können in zahlreichen Rechen-
oder Verarbeitungsumgebungen Anwendung finden. Die Systeme und Verfahren
können hardware- oder softwaremäßig implementiert
werden oder in einer Kombination aus Hardware und Software. Die
Systeme und Verfahren können
in einem oder mehreren Computerprogrammen implementiert werden,
wobei es sich versteht, dass ein Computerprogramm einen oder mehrere
von einem Prozessor ausführbare
Befehle aufweist. Die Computerprogramme können auf einem oder mehreren
programmierbaren Prozessoren ablaufen und in einem oder mehreren
Speichermedien gespeichert werden, die vom Prozessor gelesen werden
können,
wobei diese flüchtige
und nicht flüchtige
Speicher und/oder Speicherelemente aufweisen.
-
Die
Computerprogramme können
in höheren prozedur-
oder objektorientierten Programmiersprachen zur Kommunikation mit
einem Computersystem implementiert sein. Die Computerprogramme können auch
in Assembler- oder Maschinensprache implementiert sein. Die Sprache
kann übersetzt
oder interpretiert werden. Die Computerprogramme können auf
einem Speichermedium oder -gerät
(z. B. Compact Disk (CD), digitale Video Disk (DVD), Magnetplatte,
internes und externes Festplattenlaufwerk, Speicher mit wahlfreiem
Zugriff (RAM), redundante Anordnung unabhängiger Platten (RAID) oder
ausbaubares Speichergerät)
gespeichert sein, das von einem programmierbaren Mehrzweck- oder
Spezialrechner zum Konfigurieren und Betreiben des Rechners gelesen
werden kann, wenn das Speichermedium oder -gerät vom Computer zur Ausführung der hierin
beschriebenen Verfahren gelesen wird.
-
Sofern
nicht anderweitig angegeben können Verweise
auf ein Netz ein oder mehrere Intranetze und/oder das Internet beinhalten.
Hierin enthaltene Verweise auf Mikroprozessorbefehle oder durch
Mikroprozessoren ausführbare
Befehle können
gemäß der obigen
Beschreibung so verstanden werden, dass sie programmierbare Hardware
enthalten.
-
Verweise
auf "einen Mikroprozessor" und "einen Prozessor" oder auf "den Mikroprozessor" und "den Prozessor" sind so zu verstehen,
dass sie einen oder mehrere Mikroprozessor enthalten, die unabhängig und/oder
in (einer) verteilten Umgebung(en) kommunizieren können, und
deshalb so konfiguriert sein können,
dass sie verdrahtet oder drahtlos mit anderen Prozessoren kommunizieren,
wobei ein solcher einzelner oder solche mehrere Prozessoren so konfiguriert
sein können,
dass sie in einem oder mehreren prozessorgesteuerten Geräten arbeiten,
bei denen es sich um ähnliche
oder verschiedene Geräte handeln
kann. Die Verwendung dieser Terminologie "Mikroprozessor" oder "Prozessor" kann somit auch so verstanden werden,
dass sie eine Zentraleinheit, eine arithmetische Logikeinheit, eine
anwendungsspezifische integrierte Schaltung (IC) und/oder eine Aufgabenmaschine
umfasst, wobei solche Beispiele nur der Veranschaulichung und nicht
der Einschränkung
dienen sollen.
-
Sofern
nicht anderweitig angegeben können ferner
Verweise auf Speicher einen oder mehrere prozessorlesbare Speicherelemente
und/oder -komponenten, auf die ein Prozessor zugreifen kann, enthalten,
die intern oder extern für
das prozessorgesteuerte Gerät
vorgesehen sind, und/oder auf die über ein verdrahtetes oder drahtloses
Netz mittels vielfältiger
Kommunikationsprotokolle zugegriffen werden kann, und die, sofern
nicht anderweitig angegeben, so organisiert sein können, dass
sie eine Kombination aus externen und internen Speichergeräten enthalten,
wobei solche Speicher auf Basis der Anwendung zusammenhängend und/oder
unterteilt sein können.
Demzufolge können
Verweise auf eine Datenbank so verstanden werden, dass sie eine
oder mehrere Speicherverknüpfungen
enthalten, wobei solche Verweise handelsüblich verfügbare Datenbankprodukte (z.
B. SQL, Informix, Oracle) sowie auch systemgebundene Datenbanken
und außerdem
andere Strukturen umfassen können,
um Speicher wie Links, Warteschlangen, Graphen, Bäume mit
derartigen Strukturen, die zur Veranschaulichung und nicht zur Einschränkung bereitgestellt
werden, zu verknüpfen.
-
Sofern
nicht anderweitig angegeben kann die Verwendung des Begriffs "im Wesentlichen" so ausgelegt werden,
dass er eine präzise
Beziehung, Bedingung, Anordnung, Ausrichtung und/oder ein anderes
Merkmal sowie Abweichungen in dem Ausmaß, dass diese die offenbarten
Verfahren und Systeme nicht substantiell beeinträchtigen, davon enthält, wie
es sich für
den Durchschnittsfachmann versteht.
-
Innerhalb
der gesamten vorliegenden Offenbarung kann die Verwendung des unbestimmten
Artikels "ein, eine" zur Modifizierung
eines Substantivs so verstanden werden, dass er aus Gründen der
Vereinfachung verwendet wird, oder um ein oder mehrere dieser modifizierten
Substantive zu beinhalten, sofern nicht anderweitig angegeben.
-
Elemente,
Komponenten, Module und/oder Teile davon, die gemäß Beschreibung
und/oder anderweitige Darstellung durch die Figuren mit anderen Einrichtungen
kommunizieren, zu verknüpfen
sind und/oder darauf basieren, können
so verstanden werden, dass sie mit diesen auf direkte und/oder indirekte
Weise kommunizieren, verknüpft
sind oder darauf basieren, sofern nicht anderweitig angegeben.
-
Obwohl
die hierin beschriebenen Systeme und Verfahren unter Bezugnahme
auf die dargestellten Ausführungsformen
angegeben und erläutert worden
sind, wird es für
den Durchschnittsfachmann erkennbar sein, dass zahlreiche Äquivalente
der hierin beschriebenen Ausführungsformen
möglich
sind, indem nur routinemäßig experimentiert
wird.