DE112015000343T5 - Erstellen einer Wiederherstellungskopie von einer Quelldaten-Kopie in einem Repository, das Quelldaten an verschiedenen Zeitpunkten aufweist - Google Patents

Erstellen einer Wiederherstellungskopie von einer Quelldaten-Kopie in einem Repository, das Quelldaten an verschiedenen Zeitpunkten aufweist Download PDF

Info

Publication number
DE112015000343T5
DE112015000343T5 DE112015000343.6T DE112015000343T DE112015000343T5 DE 112015000343 T5 DE112015000343 T5 DE 112015000343T5 DE 112015000343 T DE112015000343 T DE 112015000343T DE 112015000343 T5 DE112015000343 T5 DE 112015000343T5
Authority
DE
Germany
Prior art keywords
time
copy
repository
source data
point
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE112015000343.6T
Other languages
English (en)
Inventor
Gregory Tad Kishi
Glen Alan Jaquette
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE112015000343T5 publication Critical patent/DE112015000343T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/128Details of file system snapshots on the file-level, e.g. snapshot creation, administration, deletion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/84Using snapshots, i.e. a logical point-in-time copy of the data

Abstract

Vorgesehen sind ein Computerprogrammprodukt, System und Verfahren zum Erstellen einer Wiederherstellungskopie von einer Quelldaten-Kopie in einem Repository mit Quelldaten an verschiedenen Zeitpunkten (Point-in-Times). Alle Quelldaten an einem ersten Zeitpunktwerden in ein Repository kopiert. In Reaktion auf die Erstellung von Point-in-Time-Kopien, die auf den ersten Zeitpunkt folgen, werden Änderungsinformationen an das Repository übertragen, die die in den Quelldaten geänderten Daten angeben, die zwischen dem Zeitpunkt der Point-in-Time-Kopie und einem späteren Zeitpunkt geändert wurden. Für jede Point-in-Time-Kopie werden geänderte Quelldaten, die die in den Änderungsinformationen für die Point-in-Time-Kopie angegebenen Quelldaten als geändert aufweisen, ins Repository kopiert. Eine Wiederherstellungsanforderung wird zum Wiederherstellen der Quelldaten am Wiederherstellungszeitpunkt empfangen. Die Quelldaten im Repository werden an einem Wiederherstellungszeitpunkt vom Repository in eine Wiederherstellungskopie kopiert.

Description

  • TECHNISCHER ANWENDUNGSBEREICH
  • Die vorliegende Erfindung bezieht sich auf ein Computerprogrammprodukt, ein System und ein Verfahren zum Erstellen einer Wiederherstellungskopie aus einer Quelldaten-Kopie in einem Repository, das Quelldaten an verschiedenen Zeitpunkten (Point-in-Times) aufweist.
  • STAND DER TECHNIK
  • In eine Speicherumgebung kann ein Speicher-Controller Point-in-Time-(„PiT”-)Kopien eines Produktionsdatenträgers unter Verwendung von Point-in-Time-Kopiertechniken erstellen, wie IBM® FlashCopy®, Snapshot usw. Eine Point-in-Time-Kopie repliziert Daten in einer Weise, die augenblicklich erscheint, und ermöglicht einem Host den fortgesetzten Zugriff auf den Quelldatenträger, während tatsächliche Datenübertragungen auf den Kopie-Datenträger auf einen späteren Zeitpunkt vertagt werden. Die PiT-Kopie scheint augenblicklich vorzuliegen, da an die Kopieroperation eine „vollständige” Antwort in Reaktion auf das Generieren von Beziehungsdatenstrukturen zurückgegeben wird, ohne dass Daten von der Quelle auf die Zieldatenträger kopiert werden. PiT-Kopiertechniken verzögern in der Regel die Übertragung der Daten im Quelldatenträger zum Zeitpunkt der Definition der PiT-Kopierbeziehung auf den Kopie-Zieldatenträger, bis eine Schreiboperation für diesen Datenblock auf dem Quelldatenträger angefordert wird. Datenübertragungen müssen ebenso als Hintergrundkopierprozess mit minimaler Auswirkung auf die Systemleistung erfolgen. Die PiT-Kopierbeziehungen, die sofort in Reaktion auf den PiT-Kopierbefehl definiert werden, enthalten eine Bitmap oder eine andere Datenstruktur, das/die den Speicherort der Blöcke auf dem Datenträger entweder im Quelldatenträger oder dem Kopie-Datenträger angibt. Die PiT-Kopie umfasst die Kombination der Daten im Quelldatenträger und der Daten, die durch die an den Zieldatenträger übertragenen Aktualisierungen überschrieben werden sollen. IBM und FlashCopy sind Warenzeichen der International Business Machines Corporation, die in vielen Gerichtsbarkeiten weltweit registriert sind.
  • Wenn ein Update eines Blocks im Quelldatenträger, der an einer PiT-Kopierbeziehung beteiligt ist, erhalten wird, muss die Kopie des Tracks an diesem Zeitpunkt auf eine Ersatzdatei oder den Zieldatenträger kopiert werden, bevor die neuen Daten für den Track auf den Quelldatenträger geschrieben werden, wodurch die Point-in-Time-Kopie der Daten überschrieben wird. Das Erstellen einer Wiederherstellungskopie aus einer Quelldatenkopie in einem Repository mit Quelldaten an verschiedenen Zeitpunkten ist kompliziert. Daher besteht im Stand der Technik die Erfordernis, das oben beschriebene Problem zu lösen.
  • Zeit-Kopie und späterer Zeitpunkt; für jede Kopie zu einem Zeitpunkt (Point-in-Time-Kopie) Kopieren der geänderten Quelldaten aufweisend die Quelldaten, die in den Änderungsinformationen für die Point-in-Time-Kopie als geändert angegeben sind, in das Repository; Empfangen einer Wiederherstellungsanforderung zum Wiederherstellen der Quelldaten an einem Wiederherstellungszeitpunkt; Bestimmen der Quelldaten im Repository am Wiederherstellungszeitpunkt; und Kopieren der bestimmten Quelldaten aus dem Repository in eine Wiederherstellungskopie.
  • Gemäß einem anderen Aspekt stellt die vorliegende Erfindung ein Verfahren zum Verwalten von Quelldaten in einem Repository bereit, wobei das Verfahren die Schritte aufweist: Kopieren aller Quelldaten zu einem ersten Zeitpunkt in ein Repository; Initiieren von Point-in-Time-Kopien zu verschiedenen Zeitpunkten der Quelldaten, die auf den ersten Zeitpunkt folgen; in Reaktion auf den Abschluss einer jeder der Point-in-Time-Kopien Übertragen der Repository-Änderungsinformationen, die die in den Quelldaten geänderten Daten angeben, die zwischen dem Zeitpunkt der Point-in-Time-Kopie und einem späteren Zeitpunkt geändert wurden; für jede Point-in-Time-Kopie Kopieren der geänderten Quelldaten, die die in den Änderungsinformationen für die Point-in-Time-Kopie als geändert angegebenen Quelldaten aufweisen, in das Repository; Empfangen einer Wiederherstellungsanforderung zum Wiederherstellen der Quelldaten an einem Wiederherstellungszeitpunkt; Bestimmen der Quelldaten im Repository am Wnachfolgenden Zeitpunkt; und Kopieren der bestimmten Quelldaten vom Repository in eine Wiederherstellungskopie.
  • Gemäß einem weiteren Aspekt stellt die vorliegende Erfindung ein Computerprogrammprodukt zum Verwalten der Quelldaten in einem Repository bereit, wobei das Computerprogrammprodukt ein computerlesbares Speichermedium aufweist, das von einem Verarbeitungsschaltkreis lesbar ist, und zum Speichern der Anweisungen zur Ausführung des Verarbeitungsschaltkreises zum Durchführen eines Verfahrens zum Durchführen der Schritte der Erfindung.
  • Von einem weiteren Aspekt aus betrachtet, stellt die vorliegende Erfindung ein auf einem computerlesbaren Medium gespeichertes und in den internen Arbeitsspeicher eines digitalen Computer ladbares Computerprogramm bereit, das bei Ausführung des Programms auf einem Computer Software-Codeabschnitte zum Ausführen der Schritte der Erfindung aufweist.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • Die vorliegende Erfindung nun wird ausführlicher in rein beispielhafter Weise mit Bezugnahme auf die bevorzugten Ausführungsformen beschrieben, wie in den folgenden Abbildungen dargestellt:
  • 1 veranschaulicht eine Ausführungsformen der Speicherumgebung gemäß einer bevorzugten Ausführungsformen der vorliegenden Erfindung;
  • 2 veranschaulicht eine Ausführungsform der Point-in-Time-Kopie-Informationen des Speicher-Controllers gemäß einer bevorzugten Ausführungsformen der vorliegenden Erfindung;
  • 3 veranschaulicht eine Ausführungsform der Point-in-Time-Kopie-Informationen des Repositorys gemäß einer bevorzugten Ausführungsformen der vorliegenden Erfindung;
  • 4 veranschaulicht eine Ausführungsform der Operationen zum Erstellen eines Repositorys mit Quelldaten und Point-in-Time-Informationen der Quelldaten zu verschiedenen Zeitpunkten gemäß einer bevorzugten Ausführungsformen der vorliegenden Erfindung;
  • 5a, 5b und 5c veranschaulichen Beispiele von Zuständen der Quelldaten und des Repositorys zu verschiedenen Zeitpunkten gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung;
  • 6 veranschaulicht eine Ausführungsform der Operationen zum Erstellen einer Wiederherstellungskopie gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung;
  • 7 veranschaulicht eine Ausführungsform der Operationen zum Bestimmen von Quelldaten zum Kopieren in die Wiederherstellungskopie gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung; und
  • 8 veranschaulicht eine Computingumgebung, in der die Komponenten von 1 implementiert werden können, gemäß dem Stand der Technik und in der eine bevorzugte Ausführungsform der vorliegenden Erfindung implementiert werden kann.
  • DETAILLIERTE BESCHREIBUNG
  • Die beschriebenen Ausführungsformen stellen Techniken zum Erstellen eines Repositorys zum Verwalten einer vollständigen Kopie von Quelldaten und Point-in-Time-Kopien der Quelldaten bereit, damit die Quelldaten aus dem Repository zu verschiedenen Zeitpunkten wiederhergestellt werden können.
  • ÜBERSICHT
  • Vorgesehen sind ein Computerprogrammprodukt, System und Verfahren zum Erstellen einer Wiederherstellungskopie (Restore Copy) von einer Quelldaten-Kopie in einem Repository mit Quelldaten zu verschiedenen Zeitpunkten (Point-in-Times). Alle Quelldaten zu einem ersten Zeitpunkt werden in ein Repository kopiert. Point-in-Time-Kopien werden zu verschiedenen Zeitpunkten der Quelldaten initiiert, die auf den ersten Zeitpunkt folgen; in Reaktion auf das Erstellen einer jeden der Point-in-Time-Kopien Übertragen von Änderungsinformationen an das Repository, die die in den Quelldaten geänderten Daten angeben, die zwischen dem Zeitpunkt der Point-in-Time-Kopie und einem späteren Zeitpunkt geändert wurden. Für jede Point-in-Time-Kopie werden geänderte Quelldaten, die die in den Änderungsinformationen für die Point-in-Time-Kopie als geändert angegebenen Daten aufweisen, ins Repository kopiert. Eine Wiederherstellungsanforderung wird zum Wiederherstellen der Quelldaten am Wiederherstellungszeitpunkt empfangen. Eine Bestimmung der Quelldaten im Repository am Wiederherstellungszeitpunkt erfolgt und die bestimmten Quelldaten werden vom Repository in eine Wiederherstellungskopie kopiert.
  • Gemäß einem ersten Aspekt stellt die vorliegende Erfindung ein System zum Verwalten von Quelldaten in einem Repository bereit, das aufweist: einen Prozessor; und ein computerlesbare Speichermedium mit Programmanweisungen, die von dem Prozessor zur Durchführung von Operationen ausgeführt werden, wobei die Operationen aufweisen: Kopieren aller Quelldaten zu einem ersten Zeitpunkt in ein Repository; Initiieren von Point-in-Time-Kopien zu verschiedenen Zeitpunkten der Quelldaten, die auf den ersten Zeitpunkt folgen; in Reaktion auf den Abschluss von einer jeden der Point-in-Time-Kopien Übertragen der Repository-Änderungsinformationen, die die in den Quelldaten geänderten Daten angeben, die zwischen dem Zeitpunkt der Point-in-Time Kopie und einem nachfolgenden Zeitpunkt geändert wurden; die Operationen zum Verwalten der Point-in-Time-(„PiT”-)Kopie-Informationen im Repository und das Durchführen der Restore-Operationen kann durch eine Programmkomponente durchgeführt werden, die sich von der Speicher-Controller-Logik, die die PiT-Kopien aus den Quelldaten erstellt, unterscheidet, sodass das Repository getrennt vom Speicher-Controller gewartet, verwendet und verwaltet wird.
  • 1 veranschaulicht eine Ausführungsform der Datenspeicherumgebung mit einem Speicher-Controller 100 zum Verwalten des Zugriffs auf einen ersten Speicher 102, der Quelldaten 104 aufweist, wie einen Produktionsdatenträger, der von verschiedenen Hostsystemen verwendet wird. Ein Host 106 enthält ein Repository-Copy-Manager-Programm 108 zum Verwalten des Kopierens der Quelldaten 104 in ein Repository 110 in einem zweiten Speicher 112. Der Speicher-Controller 100, der Host 106 und der zweite Sprecher 112 können über ein Netzwerk 114 kommunizieren.
  • Der Speicher-Controller 100 weist einen Point-in-Time-(„PiT””-)Copy-Manager 116 zum Erstellen von Point-in-Time-Kopien der Quelldaten 104 auf, z. B. FlashCopy, Snapshot usw. Beim Erstellen einer PiT-Kopie generiert der PiT-Copy-Manager 116 PiT-Kopie-Informationen 200a auf der PiT-Kopie, die zu einem Zeitpunkt erstellt sind. Der Speicher-Controller 100 enthält weiterhin ein Betriebssystem 118, das Code und Logik zum Verwalten der Eingabe/Ausgabe-(„E/A”, Input/Output „I/O”)-Anforderungen der Quelldaten 104 umfasst. Das Betriebssystem 118 kann die Quelldaten 104 in einem oder mehreren Datenträgern konfigurieren und die Daten werden in Dateneinheiten, wie Tracks, logischen Blockadressen (LBAs), Extents usw. gespeichert. Der PiT-Copy-Manager 116 kann ein vom Betriebssystem 118 bereitgestellter Kopierservice sein.
  • Die Speicher 102 und 112 können Tracks in einer Redundant-Array-of-Independent-Disks-(RAID)-Konfiguration speichern, wobei Strides der Tracks über mehrere Speichereinrichtungen geschrieben werden, die die Speicher 102 und 112 aufweisen. Der Speicher 102 und 112 kann jeweils eine oder mehrere im Stand der Technik bekannte Speichereinrichtungen aufweisen, wie miteinander verbundene Speichereinrichtungen, wobei die Speichereinrichtungen umfassen können Festplattenlaufwerke, Solid State Storage-Einrichtungen (SSD), die aus Solid State-Elektronik bestehen, wie einem EEPROM (Electrically Erasable Programmable Read-Only Memory), Flash-Speicher, Storage-Class Memory (SCM) usw., magnetische Speicherdatenträger, optische Festplatten, Bänder usw.
  • Das Netzwerk 114 kann ein Netzwerk umfassen, wie ein oder mehrere miteinander verbundenen lokale Netzwerke (LAN, Local Area Network), Speichernetzwerke (SAN, Storage Area Network), ein Weitverkehrsnetzwerk (WAN, Wide Area Network), ein Peer-to-Peer-Netzwerk, ein Funknetzwerk usw.
  • Ein PiT-Copy-Manager 116 führt eine PiT-Kopieroperation durch, die die Daten in einer Weise repliziert, die augenblicklich erscheint, und ermöglicht einem Prozess den fortgesetzten Zugriff auf den Quelldatenträger, während tatsächliche Datenübertragungen auf den Kopie-Datenträger auf einen späteren Zeitpunkt vertagt werden. Die PiT-Kopie scheint augenblicklich vorzuliegen, da eine „vollständige” Antwort an die Kopieroperation in Reaktion auf das Generieren der Beziehungsdatenstrukturen ohne Kopieren der Daten zurückgegeben wird.
  • Der Repository-Copy-Manager 108 kopiert die Quelldaten 104 zu verschiedenen Zeitpunkten in das Repository 110, einschließlich einer ersten Kopie aller Quelldaten und kopiert die PiT-Kopie-Informationen 200 im Speicher-Controller 100 in das Repository 110, um sie als Repository-PiT-Kopie-Informationen 300 im Repository 110 zu speichern. Der Repository-Copy-Manager 108 bestimmt mit den PiT-Kopie-Informationen 300 die in den einen Quelldaten 104 geänderten Daten, um sie in die Änderungsdaten 120 in das Repository 110 zu kopieren. Um alle Quelldaten zu einem ersten Zeitpunkt in das Repository 110 zu kopieren, kann der Repository-Copy-Manager 108 die Änderungsinformationen für die erste PiT-Kopie oder PiT-Bitmap modifizieren, die ein Bit für jede Dateneinheit in den Quelldaten 104 haben, das angibt, ob die Daten geändert wurden, um die modifizierte erste Änderungsinformation 200 0' zu generieren, die angibt, dass sich ein jede Dateneinheit in den Quelldaten 104 geändert hat. Der Repository-Copy-Manager 108 kann dann alle die Quelldaten 104, die in den modifizierten ersten Änderungsinformationen 200 0' angegeben wurden, in die geänderten Daten 120 im Repository 110 kopieren, um eine vollständige Kopie der Quelldaten 104 am ersten Zeitpunkt im Repository bereitzustellen. Der Repository-Copy-Manager 108 kann die Änderungsinformationen in den PiT-Kopie-Informationen 200 für PiT-Kopien verwenden, die auf den ersten Zeitpunkt folgen, um die geänderten Daten für unterschiedliche Zeitpunkte in die geänderten Daten 120 im Repository 110 zu kopieren.
  • In den beschriebenen Ausführungsformen behält der Repository-Copy-Manager 108 eine eigenständige vollständige Kopie der Quelldaten 104 und der PiT-Kopie-Informationen 300 der Quelldaten 104 in einem separaten Speicher 112 bei, sodass die Daten für verschiedene Zeitpunkte unabhängig von den Quelldaten 104 im ersten Speicher 102 und den PiT-Kopie-Informationen 200a im Speicher-Controller 100 wiederhergestellt werden können. Somit stellt das Repository 100 durch die Ermöglichung einer unabhängigen Wiederherstellung der Quelldaten 104 ein redundante sicheres Backup unabhängig vom Speicher-Controller 100 bereit, um den Speicher-Controller 100 oder den ersten Speicher 102 vor einem Fehler zu schützen.
  • In bestimmten Ausführungsformen wird das Erstellen und die Verwaltung des Repositorys 110 von einem Repository-Copy-Manager 108 verwaltet, der von Speicher-Controller 100-Programmen, wie dem PiT-Copy-Manager 116, der die PiT-Kopien erstellt, getrennt ist.
  • Zum Erzeugen der Wiederherstellungskopie 124 kann der Repository-Copy-Manager 108 Wiederherstellung-Kopie-Informationen 130 nutzen, die die Quelldaten in den geänderten Daten 120 angeben, die in die Wiederherstellungskopie 124 kopiert werden müssen.
  • In der Ausführungsform von 1 können die Repository-Erstellungs- und Wiederherstellungsoperationen durch Programmkomponenten durchgeführt werden, wie dem Repository-Copy-Manager 108, die von der Speicher-Controller-Logik getrennt sind, wie zum Beispiel dem PiT-Copy-Manager 116, der die PiT-Kopien erstellt hat. In einer alternativen Ausführungsform können der Repository-Copy-Manager 108 und/oder das Repository 110 auf dem Speicher-Controller 100 verwaltet werden.
  • 2 veranschaulicht eine Instanz der PiT-Kopie-Informationen 200 i für die PiT-Kopie zum Zeitpunkt Ti, die Informationen aufweisen kann, die für Kopie-Informationen 200 des Speicher-Controllers verwaltet werden, und einen PiT-Copy-Identifier 202 aufweisen kann, der die vom PiT-Copy-Manager 116 auf dem Speicher-Controller 100 erstellte PiT-Kopie identifiziert; einen Zeitpunkt 204 der PiT-Kopie 202, was angeben kann, dass Daten zum Zeitpunkt 204 konsistent sind; Änderungsinformationen 206, die angeben, welche Daten oder Tracks sich in den Quelldaten 104 seit dem Zeitpunkt 204 und bei geöffneter PiT-Kopie 202 geändert haben, die eine Bitmap mit einem Bit für jede Dateneinheit (z. B. Track) aufweisen kann, das auf einen von zwei Werten eingestellt ist, der angibt, ob die durch das Bit dargestellten Daten bzw. der Track seit dem Zeitpunkt 204 aktualisiert wurden oder nicht; und die geänderten PiT-Daten 208 angeben, die Daten am Zeitpunkt 204 aufweisen, die nach dem Zeitpunkt 204 geändert wurden, während die PiT-Kopie 202 geöffnet war und weiterhin aktualisiert wurde. PiT-Kopie-Informationen können für eine erste am ersten Zeitpunkt T0 erstellte PiT-Kopie und für nachfolgende an späteren Zeitpunkten erstellte PiT-Kopien verwaltet werden.
  • In einer Ausführungsform kann die PiT-Kopie zu einem Zeitpunkt nach dem Zeitpunkt 204 abgeschlossen oder eingefroren werden, sodass die geänderten PiT-Daten 208 Daten enthalten, die ab dem Zeitpunkt 204 bis zum Abschluss bzw. dem Einfrieren der PiT-Kopie 202 oder dem Initiieren einer neuen PiT-Kopie geändert wurden, und keine geänderten Daten nach dem Abschluss, z. B. Einfrieren, der PiT-Kopie 202 enthalten. Eine PiT-Kopie 202 kann mit einem Freeze-Befehl oder mit der Initiierung einer nachfolgenden PiT-Kopie zu einem späteren Zeitpunkt als der Zeitpunkt 204 abgeschlossen werden. Eine abgeschlossene PiT-Kopie 200 kann zu einem Zeitpunkt konsistent sein. Andere Techniken können zum Abschluss, zum Beispiel Einfrieren, der PiT-Kopie verwendet werden.
  • 3 veranschaulicht eine Ausführungsform einer Instanz der im Repository 110 verwalteten PiT-Kopie-Informationen 300 i, die aus einer Instanz der PiT-Kopie-Informationen 200 i aus dem Speicher-Controller 100 generiert wird und aufweist: einen PiT-Copy-Identifier 302 zum Identifizieren der vom PiT-Copy-Manager 116 im Speicher-Controller 100 erstellten PiT-Kopie 202; einen Zeitpunkt 304 der PiT-Kopie 302, was bedeuten kann, dass Daten zu dem Zeitpunkt 304 konsistent sind; Änderungsinformationen 306, die angeben, welche Daten oder Tracks in den Quelldaten 104 sich seit dem Zeitpunkt 304 und bei geöffneter PiT-Kopie 302 geändert haben, die ein Bitmap aufweisen können; und einen Repository-Offset 308, der einen Offset in den geänderten Daten 120 angibt, an dem sich die in den Änderungsinformationen 306 für die PiT-Kopie 302 angegebenen Daten befinden. Der Speicherort der geänderten Daten 120 einer bestimmten geänderten Dateneinheit für eine PiT-Kopie 302 kann an einem Offset vom Repository-Offset 208 in den geänderten Daten 120 bestimmt werden, wie durch Summieren des Repository-Offsets 208 mit der in den Änderungsinformationen 306 angegebenen Zahl der geänderten Einheit, d. h., die j-te-Dateneinheit mal einer Länge der Dateneinheit. Auf diese Weise werden die geänderten Daten von einer PiT-Kopie 300 sequenziell hinter die letzten geschriebenen Daten in den Änderungsdaten 120 in das Repository geschrieben.
  • 4 veranschaulicht eine Ausführungsform der Operationen, die von dem Repository-Copy-Manager 108 und dem PiT-Copy-Manager 116 zum Kopieren der Quelldaten 104 in das Repository 110 zu verschiedenen Zeitpunkten aus den PiT-Kopien für die Quelldaten 104 durchgeführt werden, wie ein vom PiT-Copy-Manager 116 erstellter Produktionsdatenträger. Bei der Initiierung (in Block 400) der Repository-Kopieroperationen für die Quelldaten 104 sendet der Repository-Copy-Manager 108 (in Block 402) einen Befehl an den PiT-Copy-Manager 116 zum Erstellen einer ersten PiT-Kopie 200 0 zu einem ersten Zeitpunkt, der hier als T0 bezeichnet wird. Der Repository-Copy-Manager 108 kann die ersten Änderungsinformationen 200 0 modifizieren, um eine modifizierte erste Änderung 200 0' zu erzeugen, die angibt, dass alle Quelldateneinheiten in den Quelldaten geändert wurden. Der Repository-Copy-Manager 108 kann (in Block 406) die modifizierten ersten Änderungsinformationen 200 0' an das Repository 110 senden, die angeben, dass alle Dateneinheiten geändert wurden, und die geänderten PiT-Daten 208 0 für die in den modifizierten ersten Änderungsinformationen 200 0' angegebene erste PiT-Kopie (T0), die alle Quelldaten als geändert angeben. Alle Quelldaten zum ersten Zeitpunkt werden in die geänderten Daten 120 in das Repository 110 kopiert. Die PiT-Kopie 200 0' vom Speicher-Controller 100 wird als PiT-Kopie-Informationen 300 0 mit einem Repository-Offset 308 von 0 gespeichert werden, da der Start der Daten von der ersten PiT-Kopie T0 am Beginn der geänderten Daten 120 im Repository 110 gespeichert wird.
  • Der Repository-Copy-Manager 108 kann (in Block 408) einen Befehl an den PiT-Copy-Manager 116 senden, um eine nachfolgende PiT-Kopie (Ti+1) an einem späteren Zeitpunkt Ti+1 zu erstellen, was zu den PiT-Kopie-Informationen 200 (i+1) führt. In einer Ausführungsform kann der Repository-Copy-Manager 108 einzelne Befehle an den PiT-Copy-Manager 116 senden, um PiT-Kopien zu erstellen und eine zuvor erstellte PiT-Kopie einzufrieren. In einer alternativen Ausführungsform kann der Repository-Copy-Manager 108 einen Befehl an den PiT-Copy-Manager 116 senden, um ihn anzuweisen, in periodischen Abständen PiT-Kopien der Quelldaten 104 zu erstellen, wobei die Erstellung der nachfolgenden PiT-Kopie die zuvor erstellte PiT-Kopie einfriert. Weiterhin kann der PiT-Copy-Manager 116 im Speicher-Controller 100 unabhängig PiT-Kopien ohne Aufforderung vom Repository-Copy-Manager 108 erstellen.
  • Bei der Bestimmung (in Block 410), dass die vorhergehende Point-in-Time-Kopie an Ti beendet ist, sendet der Repository-Copy-Manager 116 (in Block 412) die PiT-Kopie-Informationen 200 i für die PiT-Kopie zum Zeitpunkt Ti, einschließlich den Änderungsinformationen 206 i und den geänderten PiT-Daten 208 i an das Repository 110 zum Speichern, um PiT-Kopie-Informationen 300 i für Ti im Repository zu speichern. In einer Ausführungsform kann eine PiT-Kopie zum Zeitpunkt Ti bei der Erstellung der nachfolgenden PiT-Kopie zum Zeitpunkt Ti+1 abgeschlossen sein. In einer alternativen Ausführungsform kann eine PiT-Kopie durch Absetzen eines Freeze-Befehls zum Einfrieren der PiT-Kopie abgeschlossen werden, sodass die Änderungsinformationen 206 die Anzeige der Änderungen an den Quelldaten 104 beenden. Der Repository-Copy-Manager 108 erstellt (in Block 414) im Repository PiT-Kopie-Informationen 300 aus den empfangenen PiT-Kopie-Informationen 200 i.
  • Der Repository-Copy-Manager 108 kann (in Block 416) die Quelldaten 104 eines späteren Zeitpunkts (Ti+1), die sich seit dem vorhergehenden Zeitpunkt geändert haben, an die geänderten Daten 120 im Repository 110 übertragen, damit die vollständige Kopie für den späteren Zeitpunkt Ti+1 aktualisiert ist. Um diese Operation durchzuführen, kann ein Repository-Copy-Manager 108 aus den Änderungsinformationen 206 für die vorhergehende PiT-Kopie an Ti bestimmen, dass sich die Dateneinheiten in den Quelldaten 100 geändert haben und dann diese Dateneinheiten von den Quelldaten 104 in die geänderten Daten 120 kopieren. Auf diese Weise werden für den späteren Zeitpunkt Ti+1, wenn die nachfolgende PiT-Kopie (Ti+1) erstellt wird, Dateneinheiten in den Quelldaten 104, die sich zwischen dem vorhergehenden Zeitpunkt Ti und dem späteren Zeitpunkt Ti+1 geändert haben, in die geänderten Daten 120 im Repository 110 kopiert.
  • Der Repository-Copy-Manager und 108 kann (in Block 418) im Repository-Offset 308 den Dateneinheit-Offset in den geänderten Daten 120 angeben, an dem in den geänderten Daten 120 die geänderten Daten für die PiT-Kopie zu Ti beginnen. Wenn (in Block 420) weitere Point-in-Time-Kopien erstellt werden müssen, dann betrachtet der Repository-Copy-Manager 108 (in Block 442) im nächsten Iterationsschritt zur Verarbeitung der nächsten PiT-Kopie die aktuelle spätere Point-in-Time-Kopie an (Ti+1) als vorherige Point-in-Time-Kopie an Ti. Auf diese Weise wird i wirksam erhöht, wenn der aktuelle spätere Zeitpunkt Ti+1 der vorhergehende Zeitpunkt wird und ein nächster Zeitpunkt der neue spätere Zeitpunkt wird. Die Steuerung geht dann zurück an Block 408, um eine neue nachfolgende PiT-Kopie (Ti+1) an einem neuen späteren Zeitpunkt Ti+1 zu erstellen oder zu verarbeiten. Wenn (in Block 420) keine weiteren PiT-Kopien zu verarbeiten sind, endet die Steuerung.
  • Bei den beschriebenen Ausführungsformen von 4 wird ein Repository 110 einer vollständigen Kopie der Quelldaten 104 mit PiT-Kopie-Informationen für verschiedene PiT-Kopien unabhängig von den Operationen des Speicher-Controllers 100 zum Erstellen der PiT-Kopien erstellt. Auf diese Weise sind die Logik oder die Operationen der Repository-Verwaltungsoperationen unabhängig von der Logik des Speicher-Controllers 100 zum Erstellen von PiT-Kopien.
  • 5a, 5b, 5c veranschaulichen ein Beispiel der Operationen von 4 zum Kopieren aller Quelldaten an unterschiedlichen Zeitpunkten in die geänderten Daten 120 und die Repository-PiT-Kopie-Informationen 200b. 5a zeigt den Zustand an einem ersten Zeitpunkt T0 der Quelldaten 104 0 im Quellspeicher 102, die in die geänderten Daten 120 0 in das Repository 110 kopiert werden, die alle Quelldaten 104 am ersten Zeitpunkt T0 enthalten können. Weiterhin wird eine Kopie der PiT-Informationen 200 0 zum ersten Zeitpunkt T0, die die Änderungsinformationen 206 0' enthält, die angeben, dass alle Quelldaten im Speicher-Controller 100 sich geändert haben, erstellt.
  • 5b zeigt einen Zeitpunkt T1, an dem eine zweite PiT-Kopie 200 1 an T1 erstellt wird, was zum Abschluss oder Einfrieren der vorhergehenden PiT-Kopie 200 0 an T0 mit geänderten Daten 208 0 am Zeitpunkt T0 führt, bevor Änderungen zwischen T0 und T1 auftreten. Der Repository-Copy-Manager 108 kopiert die zwischen T0 und T1 geänderten Daten, die als Einheiten 520 und 522 dargestellt sind, in die geänderten Daten 120 1 im Repository 110 zur Aktualisierung der geänderten Daten 120 1 auf die geänderten Daten 520, 522 zum Zeitpunkt T1, die auf die ersten geschriebenen Daten folgen. Weiterhin werden die abgeschlossenen oder eingefrorenen PiT-Copy-Informationen 200 0 an T0 in das Repository 110 zum Speichern als PiT-Kopie 300 0 kopiert, die einen Offset 308 0 von Null aufweisen, da die Quelldaten für die erste PiT-Kopie 200 0 die ersten Daten sind, die in die geänderten Daten 120 1 geschrieben werden.
  • 5c zeigt einen Zeitpunkt T2, an dem eine dritte PiT-Kopie 200 2 an T2 erstellt wird, was zum Abschluss oder Einfrieren der vorherigen PiT-Kopie 200 1 an T1 mit geänderten Daten 208 1 am Zeitpunkt T1 führt, bevor Änderungen zwischen T1 und T2 auftreten. Der Repository-Copy-Manager 108 kopiert die geänderten Daten zwischen T1 und T2, wie als 524 und 526 dargestellt, in das Repository 110, um die geänderten Daten 120 2 auf die Daten zum Zeitpunkt T2 zu aktualisieren. Weiterhin werden die abgeschlossenen oder eingefrorenen PiT-Kopie-Informationen 200 1 an T1 in das Repository 110 kopiert, um sie als Repository PiT-Kopie 300 1 zu speichern, was einen Repository-Offset 308 1, der den Dateneinheit-Offset im Repository 120 2 angibt, an dem die geänderten Daten 520 und 522 beginnen, beinhaltet.
  • 6 veranschaulicht eine Ausführungsform von Operationen, die durch den Repository-Copy-Manager 108 zum Erstellen einer Wiederherstellungskopie 124 aus dem Repository 110 zu einem Wiederherstellungszeitpunkt (TR) durchgeführt werden, der einen Zeitpunkt von einem der Point-in-Time-Kopien 200 b des Repositorys aufweisen kann. Bei der Verarbeitung (in Block 600) einer Wiederherstellungsanforderung zum Erstellen einer Wiederherstellungskopie 124 der Quelldaten am Wiederherstellungszeitpunkt (TR) konfiguriert der Restore-Copy-Manager 108 (in Block 602) eine leere Wiederherstellungskopie 124 oder einen Wiederherstellungsdatenträger, auf die/den die Daten aus den geänderten Daten 120 für die Wiederherstellung kopiert werden. Der Repository-Copy-Manager 108 bestimmt (in Block 604) Quelldaten zum Kopieren in die Wiederherstellungskopie 124, die geänderte Dateneinheiten aufweisen, aus den geänderten Daten 120 von der ersten PiT-Kopie 200 0, Daten, die als Teil der ersten PiT-Kopie kopiert wurden und eine jede der Point-in-Time-Kopien an oder vor der Wiederherstellungszeit. Wenn in mehreren PiT-Kopien 300 die gleichen Dateneinheiten für die Quelldaten vorliegen, dann werden die Dateneinheiten für die PiT-Kopie, die am nächsten zur Wiederherstellungszeit liegt, in die bestimmten zu kopierenden Quelldaten aufgenommen. Der Repository-Copy-Manager 108 initiiert dann (in Block 606) eine Operation zum Kopieren der bestimmten Quelldaten in die Wiederherstellungskopie 124. Der Repository-Copy-Manager 108 macht (in Block 608) die Wiederherstellungskopie 124 in Reaktion auf den Abschluss des Kopierens der bestimmten Quelldaten verfügbar, um eine vollständige Kopie der Quelldaten am Wiederherstellungszeitpunkt (TR) bereitzustellen.
  • 7 veranschaulicht die Ausführungsform der Operationen zum Bestimmen der Quelldaten in den geänderten Daten 120 im Repository 124 zum Kopieren der Wiederherstellungskopie 124, wie die in Block 604 in 6 durchgeführte Operation. Bei der Initiierung der Operation (in Block 700) zur Bestimmung der Quelldaten, die aus den geänderten Daten 120 kopiert werden sollen, initialisiert der Repository-Copy-Manager 108 (in Block 702) Wiederherstellungs-Kopie-Informationen 130, wie eine Bitmap, das alle Quelldateneinheiten als nicht in die Wiederherstellungskopie 124 kopiert angibt. Ti wird (in Block 704) auf TR festgelegt. Der Repository-Copy-Manager 106 bestimmt (in Block 706) die geänderten Dateneinheiten 120 für die PiT-Kopie 300 i zum Zeitpunkt Ti, die in den Wiederherstellungs-Kopie-Informationen 130 als noch nicht kopiert angegeben sind, zum Beispiel mit einem Bitwert, der angibt, dass sie noch nicht kopiert wurden.
  • Für jede in Schritt 706 bestimmte geänderte Dateneinheit bestimmt der Repository-Copy-Manager 106 (in Block 708) aus dem Repository-Offset 308 für die PiT-Kopie an Ti den Speicherort der Dateneinheit im Repository (zum Beispiel die geänderte Dateneinheit-Zahl plus dem Repository-Offset mal einer Länge der Dateneinheit). In einer Ausführungsform kann der Repository-Offset 308 Informationen für die erste geänderte Dateneinheit der PiT-Kopie bereitstellen und der Repository-Copy-Manager 108 muss den Offset für eine bestimmte Dateneinheit basierend auf der Zahl der geänderten Dateneinheit bestimmen, d. h. die in den PiT-Kopieränderungsinformationen 306 i angegebene j-te geänderte Dateneinheit plus den Repository-Offset 308 i, dann wird die Summe mit einer Datenlängeneinheit multipliziert. Alternativ kann der Repository-Offset 308 die Offset-Zahl in den geänderten Daten 120 für jede geänderte Dateneinheit für PiT-Kopien angeben, die auf die erste PiT-Kopie an T0 folgen.
  • Zum Beispiel kann in einer Ausführungsform, in der der Repository-Offset 308i einen Offset aufweist, an dem die geänderten Daten für die PiT-Kopie an Ti in den geänderten Daten 120 beginnen, der bestimmte Speicherort die geänderte Dateneinheitszahl, die die Zahl in der Reihenfolge aufweist, in der die Dateneinheit für die PiT-Kopie an Ti geschrieben wurde, plus dem Repository-Offset 308i für die PiT-Kopie an Ti aufweisen, wobei diese Summe mit der Dateneinheitslänge multipliziert wird. Wenn zum Beispiel die Dateneinheit die dritte Dateneinheit für die PiT-Kopie an Ti ist, die in die geänderten Daten 120 geschrieben wird und der Dateneinheitszahl-Offset, an dem die geänderten Daten für die PiT-Kopie an Ti in den geänderten Daten 120 beginnen, 100 ist, und die Dateneinheitslänge 16 Byte beträgt, dann weist die Position der Dateneinheit in den geänderten Daten 120 die Summe von dreimal 100 multipliziert mit 16 auf, zum Beispiel (3 + 100) × 16, was in den geänderten Daten 120 dem 4800. Byte entspricht.
  • Die bestimmten geänderten Dateneinheiten aus der PiT-Kopie 300 i, deren Speicherort in den geänderten Daten im Block 708 bestimmt wird, werden (in Block 710) in die Wiederherstellungskopie 124 von den bestimmten Speicherorten kopiert und die kopierten Dateneinheiten werden (in Block 712) in den Restore-Kopie-Informationen 130 als kopiert angegeben. Wenn (in Block 714) Ti gleich T0 ist, dann müssen alle PiT-Kopien 300 an oder vor der Wiederherstellungszeit (PR) in Betracht gezogen werden und die Steuerung endet. Andernfalls, wenn Ti nicht gleich P0 ist, dann wird Ti (in Block 716) auf Ti-1 festgelegt, um zu Block 706 zurückzugehen, um die nächste PiT-Kopie 300 i-1, die direkt vor der letzten betrachteten PiT-Kopie 300 i liegt, in Betracht zu ziehen. Mit den Operationen von 7 werden die geänderten Dateneinheiten aus den PiT-Kopien anhand der PiT-Kopien, die sich am nächsten zur Wiederherstellungszeit in umgekehrter zeitlicher Reihenfolge befinden, bestimmt. Wenn auf diese Weise mehrere PiT-Kopien geänderte Daten für die gleiche Quelldateneinheit bereitstellen, dann stellen die kopierten geänderten Daten, die aus der PiT-Kopie stammen, geänderten Daten für die Dateneinheit bereit, die zeitlich am nächsten zum Wiederherstellungszeitpunkt PR liegt, sodass der Wiederherstellungskopie 124 geänderte Daten 120 aus dem Repository 110 zum Wiederherstellungszeitpunkt TR bereitgestellt werden.
  • In der Ausführungsform von 7 werden die geänderten Dateneinheiten für eine in Betracht gezogene PiT-Kopie kopiert, bevor die nächste PiT-Kopie im Betracht gezogen wird. In einer alternativen Ausführungsform können alle aus den verschiedenen PiT-Kopien zu kopierende Quelldateneinheiten bestimmt werden, bevor die geänderten Daten in die Wiederherstellungskopie 124 kopiert werden.
  • Die beschriebenen Ausführungsformen stellen Techniken zum Erstellen eines Repositorys mit allen Quelldateneinheiten an einem ersten Zeitpunkt bereit, einschließlich von Quelldateneinheiten, die sich zwischen den von den Quelldaten 104 erstellten PiT-Kopien geändert haben. Das Repository verwaltet weiterhin PiT-Kopie-Informationen der von den Quelldaten 104 erstellten PiT-Kopien. In den beschriebenen Ausführungsformen kann ein Restore-Kopie-Datenträger an einem Wiederherstellungszeitpunkt aus den geänderten Daten im Repository unter Verwendung der PiT-Kopie-Informationen im Repository erstellt werden, um die am Wiederherstellungszeitpunkt geänderten Daten zu bestimmen, indem die PiT-Kopie-Informationen für PiT-Kopien an oder vor dem Wiederherstellungszeitpunkt berücksichtigt werden.
  • Die vorliegende Erfindung kann ein System, ein Verfahren und/oder ein Computerprogrammprodukt sein. Das Computerprogrammprodukt kann ein computerlesbares Speichermedium (oder Medien) mit computerlesbaren Programmanweisungen darauf sein, um einen Prozessor zum Ausführen von Aspekten der vorliegenden Erfindung zu veranlassen.
  • Das computerlesbare Speichermedium kann eine materielle Vorrichtung sein, die Anweisungen zur Verwendung durch eine Anweisungsausführungsvorrichtung enthalten und speichern kann. Das computerlesbare Speichermedium kann zum Beispiel, ohne darauf beschränkt zu sein, eine elektronische Speichereinrichtung, eine magnetische Speichereinrichtung, eine optische Speichereinrichtung, eine elektromagnetische Speichereinrichtung, eine Halbleiter-Speichereinrichtung oder jede beliebige geeignete Kombination aus dem Vorhergehenden sein. Eine nicht erschöpfende Liste von spezifischeren Beispielen von computerlesbaren Speichermedien beinhaltet folgende: eine tragbare Computerdiskette, eine Festplatte, ein Direktzugriffspeicher (Random Access Memory, RAM), ein Festspeicher (Read-only Memory, ROM), ein löschbarer programmierbarer Festspeicher (EPROM- oder Flash-Speicher), ein statischer Direktzugriffsspeicher (Static Random Access Memory, SRAM), ein tragbarer Compact Disc-Festspeicher (Compact Disc Read-only Memory, CD-ROM), eine DVD (Digital Versatile Disk), ein Speicherstick, eine Floppy-Disk, eine mechanisch kodierte Vorrichtung, wie Lochkarten oder hervorstehende Strukturen in einer Rille, auf der Anweisungen aufgezeichnet sind und jede geeignete Kombination aus dem Vorhergehenden. Ein computerlesbares Speichermedium, wie hier verwendet, sollte nicht so ausgelegt werden, dass es per se flüchtige Signale sind, wie Funkwellen oder andere sich frei ausbreitende elektromagnetische Wellen, elektromagnetische Wellen, die sich durch einen Wellenleiter oder andere Übertragungsmedien ausbreiten (zum Beispiel Lichtpulse, die durch ein Glasfaserkabel durchgehen) oder elektrische Signale, die über ein Kabel übertragen werden.
  • Im vorliegenden Dokument beschriebene computerlesbare Programmanweisungen können auf entsprechende Computing-/Verarbeitungseinrichtungen von einem computerlesbaren Speichermedium oder auf einen externen Computer oder eine externe Speichereinrichtung über ein Netzwerk, zum Beispiel das Internet, ein lokales Netzwerk, ein Weitverkehrsnetzwerk und/oder ein Funknetzwerk, heruntergeladen werden. Das Netzwerk kann Kupferübertragungskabel, Glasfaserübertragungskabel, die Funkübertragung, Router, Firewalls, Switches, Gateway-Computer und/oder Edge-Server aufweisen. Eine Netzwerkadapterkarte oder Netzwerkschnittstelle in jeder Computing-/Verarbeitungseinrichtung empfängt computerlesbare Programmanweisungen von dem Netzwerk und leitet die computerlesbaren Programmanweisungen zur Speicherung auf einem computerlesbares Speichermedium in der entsprechenden Computing-/Verarbeitungseinrichtung weiter.
  • Computerlesbare Programmanweisungen zum Durchführen von Operationen der vorliegenden Erfindung können Assembler-Anweisungen, Befehlssatz-Architektur-(Instruction-Set-Architecture, ISA-)Anweisungen, Maschinenanweisungen, maschinenabhängige Anweisungen, Mikrocode, Firmware-Anweisungen, den Zustand einstellende Daten oder anderer Quellcode oder Objektcode sein, der in einer beliebigen Kombination aus einer oder mehreren Programmiersprachen geschrieben ist, einschließlich einer objektorientierten Programmiersprache, wie Java®, Small Talk, C++ oder ähnliche, und herkömmlichen prozeduralen Programmiersprachen, wie die Programmiersprache „C” oder ähnliche Programmiersprachen. Die computerlesbaren Programmanweisungen können ganz auf dem Computer des Benutzers ausgeführt werden, teilweise auf dem Computer des Benutzers, als eigenständiges Softwarepaket, teilweise auf dem Computer des Benutzers und teilweise auf einem entfernten Computer oder ganz auf dem entfernten Computer oder Server. In dem letzteren Szenario kann der entfernte Computer mit dem Computer des Benutzers über jede beliebige Art von Netzwerk verbunden sein, einschließlich ein lokales Netzwerk (LAN bzw. Local Area Network) oder ein Weitverkehrsnetzwerk (WAN bzw. Wide Area Network), oder die Verbindung kann zu einem externen Computer hergestellt werden (zum Beispiel über das Internet mit einem Internetdienstanbieter). In einigen Ausführungsformen kann ein elektronischer Schaltkreis, darunter zum Beispiel ein programmierbarer Logikschaltkreis, Feld-programmierbare Gate-Arrays (Field-programmable Gate Arrays, FPGA) oder programmierbare Logik-Arrays (PLA), computerlesbare Programmanweisungen durch Heranziehen von Zustandsinformationen der computerlesbaren Programmanweisungen ausführen, um den elektronischen Schaltkreis anzupassen, um verschiedene Aspekte der vorliegenden Erfindung auszuführen. Java und alle Java-basierten Markenzeichen und Logos sind Markenzeichen oder eingetragene Markenzeichen von Oracle und/oder Tochterunternehmen davon.
  • Aspekte der vorliegenden Erfindung werden in diesem Dokument mit Bezugnahme auf Flussdiagrammabbildungen und/oder Blockdiagramme von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß Ausführungsformen der Erfindung beschrieben. Es versteht sich, dass jeder Block der Flussdiagrammabbildungen und/oder der Blockdiagramme und Kombinationen der Blöcke in den Flussdiagrammabbildungen und/oder Blockdiagrammen durch computerlesbare Programmanweisungen implementiert werden kann bzw. können.
  • Diese computerlesbaren Programmanweisungen können einem Prozessor eines allgemeinen Standardcomputers, eines Spezialcomputers oder einer anderen programmierbaren Datenverarbeitungsvorrichtung bereitgestellt werden, um eine Maschine zu erzeugen, sodass die Anweisungen, die über den Prozessor des Computers oder einer anderen programmierbaren Datenverarbeitungsvorrichtung ausgeführt werden, Mittel zur Implementierung der in dem/den Flussdiagramm- und/oder Blockdiagrammblock/-blocken angegebenen Funktionen/Vorgänge erstellen. Diese computerlesbaren Programmanweisungen können auch auf einem computerlesbaren Medium gespeichert werden, das einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung und/oder andere Einrichtungen anweisen kann, in einer bestimmten Weise zu funktionieren, sodass das computerlesbare Speichermedium über darauf gespeicherte Anweisungen verfügt, die ein Produkt aufweisen, das Anweisungen enthält, die Aspekte der Funktion/des Vorgangs implementieren, die in dem/den Flussdiagramm- und/oder dem/den Blockdiagrammblock bzw. -blöcken angegeben sind.
  • Die computerlesbaren Programmanweisungen können auch auf einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung oder ein anderes Gerät geladen werden, um die Durchführung einer Reihe operativer Schritte auf dem Computer, auf einer anderen programmierbaren Vorrichtung oder einem anderem Gerät zu veranlassen, um einen computerimplementierten Prozess zu erzeugen, sodass die auf dem Computer, der anderen programmierbaren Vorrichtung oder dem anderem Gerät ausgeführten Anweisungen die Funktionen/Vorgänge implementieren, die in dem Flussdiagramm- und/oder Blockdiagrammblock bzw. -blöcken angegeben sind.
  • Die Flussdiagramme und die Blockdiagramme in den Figuren veranschaulichen die Architektur, Funktionalität und Operation möglicher Implementierungen der Systeme, Verfahren und Computerprogrammprodukte gemäß verschiedener Ausführungsformen der vorliegenden Erfindung. In dieser Hinsicht kann jeder Block in den Flussdiagrammen oder Blockdiagrammen ein Modul, ein Segment oder einen Abschnitt von Anweisungen darstellen, das/der eine oder mehrere ausführbare Anweisungen zur Implementierung der angegebenen logischen Funktion(en) aufweist. In einigen alternativen Implementierungen können die in dem Block angegebenen Funktionen nicht in der in den Figuren angegebenen Reihenfolge auftreten. Zum Beispiel können in Abhängigkeit von der enthaltenen Funktionalität zwei aufeinanderfolgende Blöcke tatsächlich im Wesentlichen gleichzeitig ausgeführt werden, oder Blöcke können manchmal in der umgekehrten Reihenfolge ausgeführt werden. Es ist auch hervorzuheben, dass ein jeder Block der Blockdiagramm- und/oder Flussdiagrammabbildungen und die Kombinationen der Blöcke in den Blockdiagramm- und/oder Flussdiagrammabbildungen durch hardwarebasierte Spezialsysteme implementiert werden können, die die angegebenen Funktionen oder Vorgänge durchführen oder Kombinationen von Spezialhardware und Computeranweisungen ausführen.
  • Die Rechenkomponenten von 1, einschließlich dem Speicher-Controller 100 und dem Host 106 können in einem oder mehreren Computersystemen, wie dem in 8 dargestellten Computersystem 802 implementiert sein. Das Computersystem/der Server 802 kann im allgemeinen Kontext von vom Computer ausführbaren Anweisungen beschrieben werden, wie Programmmodule, die von einem Computersystem ausgeführt werden. Im Allgemeinen können die Programmmodule Routinen, Programme, Objekte, Komponenten, Logik, Datenstrukturen usw. enthalten, die bestimmte Aufgaben ausführen oder bestimmte abstrakten Datentypen implementieren. Das Computersystem/der Server 802 kann in verteilten Cloud-Computing-Umgebungen ausgeführt werden, wobei Aufgaben durch Verarbeitungsgeräte an Fernstandorten ausgeführt werden, die über ein Kommunikationsnetzwerk verbunden sind. In einer verteilten Cloud-Computing-Umgebung können sich die Programmmodule auf Speichermedien von sowohl lokalen wie entfernten Computersystemen, einschließlich Arbeitsspeicher-Speichergeräten, befinden.
  • Wie in 8 dargestellt, wird ein Computersystem/ein Server 802 als ein allgemeines Computing-Gerät dargestellt. Die Komponenten eines Computersystems/Servers 802 können aufweisen, ohne jedoch darauf beschränkt zu sein, einen oder mehrere Prozessoren oder Verarbeitungseinheiten 804, einen Systemspeicher 806 und einen Bus 808, der verschiedene Systemkomponenten einschließlich des Systemspeichers 806 mit dem Prozessor 804 verbindet. Der Bus 808 stellt einen oder mehrere eines beliebigen von verschiedenen Busstrukturtypen unter Verwendung einer beliebigen von verschiedenen Busarchitekturen dar, darunter einen Speicherbus oder einen Arbeitsspeicher-Controller (Memory Controller), einen Peripheriebus, einen beschleunigten Grafikport und einen Prozessor oder lokalen Bus. Zu diesen Architekturen gehören zum Beispiel, ohne darauf beschränkt zu sein, der Industry Standard Architecture(ISA)-Bus, der Micro Kanal Architecture(MCA)-Bus, der Enhanced ISA(EISA)-Bus, der lokale Video Electronics Standards Association(VESA)-Bus und der Peripheral Component Interconnects(PCI)-Bus.
  • Das Computersystem/der Server 802 enthält üblicherweise verschiedene computerlesbare Medien. Diese Medien können beliebige verfügbare Medien sein, auf die ein Computersystem/Server 802 zugreifen kann, und dies beinhaltet sowohl flüchtige wie auch nicht-flüchtige Medien, entfernbare und nicht-entfernbare Medien.
  • Der Systemspeicher 806 kann von einem Computersystem lesbare Medien in Form von flüchtigem Speicher, wie Direktzugriffsspeicher (RAM) 810 und/oder Cachespeicher 812 aufweisen. Das Computersystem/der Server 802 kann weiterhin andere entfernbare/nicht entfernbare, flüchtige/nicht-flüchtige Computersystem-Speichermedien aufweisen. Als Beispiel kann das Speichersystem 813 zum Lesen von und zum Schreiben auf nicht-entfernbaren, nicht-flüchtigen Magnetmedien (nicht dargestellt und in der Regel als „Festplatte” bezeichnet) vorgesehen werden. Obwohl nicht dargestellt, kann ein Magnetplattenlaufwerk zum Lesen von und zum Schreiben auf ein entfernbares, nicht-flüchtiges Magnetplattenmedium (z. B. eine „Diskette”) und ein optisches Plattenlaufwerk zum Lesen von einem entfernbaren, nicht-flüchtigen optischen Plattenmedium oder zum Schreiben darauf, wie einer CD-ROM, DVD-ROM oder einem anderen optischen Medium vorgesehen werden. In solchen Fällen kann ein jedes mit dem Bus 808 durch eine oder mehrere Medien-Datenschnittstellen verbunden sein. Wie im Folgenden weiter dargestellt und beschrieben, kann ein Speicher 806 wenigstens ein Programmprodukt mit einer Gruppe von (z. B. wenigstens einem) Programmmodulen enthalten, die dazu ausgebildet sind, die Funktionen der Ausführungsformen der Erfindung auszuführen.
  • Ein Programm/Dienstprogramm (bzw. Utility) 814 mit einer Gruppe von (wenigstens einem) Programmmodulen 816 kann beispielsweise, ohne dies als einschränkend zu verstehen, im Arbeitsspeicher 806 gespeichert werden, wie auch ein Betriebssystem, ein oder mehrere Anwendungsprogramme, weitere Programmmodule und Programmdaten. Ein jedes von dem Betriebssystem, einem oder mehreren Anwendungsprogrammen, weiteren Programmmodulen und Programmdaten oder einer bestimmten Kombination daraus kann eine Implementierung einer Netzwerkumgebung beinhalten. Die Komponenten des Computers 802 können als Programmmodule 816 implementiert werden, die im Allgemeinen die Funktionen und/oder Methodologien der Ausführungsformen der Erfindung wie hier beschrieben durchführen. Das System von 1 kann in einem oder mehreren Computersystemen 802 implementiert werden, wo die Computersysteme dann, wenn sie in mehreren Computersystemen 802 implementiert werden, über ein Netzwerk kommunizieren können.
  • Das Computersystem/der Server 802 kann auch mit einem oder mehreren externen Geräten 818 kommunizieren, wie einer Tastatur, einem Zeigegerät, einer Anzeige 820 usw.; einem oder mehreren Geräten, die einem Benutzer ermöglichen, mit dem Computersystem/Server 802 zu interagieren; und/oder beliebigen Geräten (z. B. Netzwerkkarte, Modem usw.), die einem Computersystem/Server 802 ermöglichen, mit einem oder mehreren anderen Computinggeräten zu kommunizieren. Eine solche Kommunikation kann über Eingabe/Ausgabe-(E/A-)Schnittstellen 822 erfolgen. Ferner kann ein Computersystem/Server 802 mit einem oder mehreren Netzwerken über einen Netzwerkadapter 824 kommunizieren, wie einem lokalen Netzwerk (LAN), einem allgemeinen Weitverkehrsnetzwerk (WAN) und/oder einem öffentlichen Netzwerk (z. B. dem Internet). Wie dargestellt, kommuniziert der Netzwerkadapter 824 mit den anderen Komponenten des Computersystems/Servers 802 über den Bus 808. Es versteht sich, dass, auch wenn nicht dargestellt, weitere Hardware- und/oder Softwarekomponenten in Verbindung mit dem Computersystem/Server 802 verwendet werden können. Zu den Beispielen gehören, ohne jedoch darauf beschränkt zu sein: Mikrocode, Gerätetreiber, redundante Verarbeitungseinheiten, externe Plattenlaufwerk-Arrays, RAID-Systeme, Bandlaufwerke und Speichersysteme zur Datenarchivierung usw.
  • Die Begriffe „eine Ausführungsform”, „Ausführungsform”, „Ausführungsformen”, „die Ausführungsform”, „die Ausführungsformen”, „eine oder mehrere Ausführungsformen”, „einige Ausführungsformen” und „eine Ausführungsform” bedeuten „eine oder mehrere (aber nicht alle) Ausführungsformen der vorliegenden Erfindung”, sofern nicht ausdrücklich anders angegeben.
  • Die Begriffe „enthalten, beinhalten, aufweisen, umfassen” (including), „aufweisen, umfassen” (comprising), „haben, verfügen über, aufweisen” (having) und Variationen davon bedeuten „enthalten, ohne darauf beschränkt zu sein”, sofern nicht ausdrücklich anders angegeben.
  • Die Aufzählungsliste der Elemente impliziert nicht, dass beliebige oder alle der Elemente sich gegenseitig ausschließen, sofern nicht ausdrücklich anders angegeben.
  • Die Begriffe „ein”, „eine/einer/eines” und „der/die/das” bedeuten „eines oder mehrere”, sofern nicht ausdrücklich anders angegeben.
  • Geräte, die miteinander in Kommunikation stehen, müssen nicht miteinander in ständiger Kommunikation stehen, sofern nicht ausdrücklich anders angegeben. Darüber hinaus können Geräte, die miteinander in Kommunikation stehen, direkt oder indirekt über eine oder mehrere Zwischenkomponenten kommunizieren.
  • Eine Beschreibung einer Ausführungsform mit verschiedenen Komponenten, die miteinander in Kommunikation stehen, impliziert nicht, dass alle solche Komponenten erforderlich sind. Im Gegenteil wird eine Vielzahl optionaler Komponenten beschrieben, um die breite Vielfalt der möglichen Ausführungsformen der vorliegenden Erfindung zu veranschaulichen.
  • Wenn ein einzelnes Gerät oder Gegenstand hier beschrieben wird, ist es einfach einsehbar, dass mehr als ein Gerät/Gegenstand (unabhängig davon, ob sie zusammenarbeiten) anstelle eines einzelnen Geräts/Gegenstands verwendet werden können. Ebenso, wenn mehr als ein Gerät oder Gegenstand hier beschrieben wird (unabhängig davon, ob sie zusammenarbeiten) ist es einfach einsehbar, dass ein einzelnes Gerät/Gegenstand anstelle des mehr als einen Gegenstands oder Gegenstands oder eine andere Anzahl von Geräten/Gegenständen anstelle der dargestellten Anzahl von Geräten oder Programmen verwendet werden kann. Die Funktionalität und/oder die Merkmale eines Geräts können alternativ durch eine oder mehrere andere Geräte ausgeführt werden, die nicht explizit als solche Funktionalität/Merkmale besitzend beschrieben werden. Somit müssen andere Ausführungsformen der vorliegenden Erfindung das Gerät selbst nicht beinhalten.
  • Die obige Beschreibung von verschiedenen Ausführungsformen der Erfindung wurde zu Zwecken der Veranschaulichung und Beschreibung dargestellt. Dies soll aber nicht erschöpfend sein oder die Erfindung auf die exakte offen offengelegte Form beschränken. Angesichts der obigen Lehre sind viele Modifikationen und Variationen möglich. Es ist beabsichtigt, dass der Umfang der Erfindung nicht durch diese detaillierte Beschreibung eingeschränkt ist, sondern vielmehr durch die im Anhang stehenden Ansprüche dazu. Die obige Beschreibung, Beispiele und Daten bietet eine vollständige Beschreibung der Herstellung und Verwendung der Zusammensetzung der Erfindung. Da viele Ausführungsformen der Erfindungen vorgenommen werden können, ohne vom Umfang der Erfindung abzuweichen, gilt die Erfindung wie in den hier angehängten Ansprüchen.

Claims (16)

  1. Ein System zur Wartung von Quelldaten in einem Repository, das aufweist: einen Prozessor; und ein computerlesbares Speichermedium mit Programmanweisungen, die von einem Prozessor zur Durchführung von Operationen ausgeführt werden, wobei die Operationen aufweisen: Kopieren aller Quelldaten zu einen ersten Zeitpunkt in ein Repository; Initiieren von Point-in-Time-Kopien zu verschiedenen Zeitpunkten der Quelldaten nach dem ersten Zeitpunkt; in Reaktion auf den Abschluss einer jeden der Point-in-Time-Kopien Übertragen der Änderungsinformationen, die die in den Quelldaten geänderten Daten angeben, die zwischen dem Zeitpunkt der Point-in-Time-Kopie und einem späteren Zeitpunkt geändert wurden, in das Repository; für jede Point-in-Time-Kopie Kopieren von geänderten Quelldaten, die die in den Änderungsinformationen für die Point-in-Time-Kopie angegebenen Quelldaten als geändert aufweisen, in das Repository; Empfangen einer Wiederherstellungsanforderung zum Wiederherstellen der Quelldaten an einem Wiederherstellungszeitpunkt; Bestimmen der Quelldaten im Repository am Wiederherstellungszeitpunkt; und Kopieren der bestimmten Quelldaten vom Repository in eine Wiederherstellungskopie.
  2. Das System nach Anspruch 1, wobei die Point-in-Time-Kopien durch ein Point-in-Time-Kopierprogramm generiert werden und wobei ein Repository-Kopierprogramm, das getrennt vom Point-in-Time-Kopierprogramm ausgeführt wird, die Kopieroperationen von Änderungsinformationen, geänderten Daten und Daten zu dem späteren Zeitpunkt, die in den Änderungsinformationen als geändert angegeben wurden, in das Repository durchführt.
  3. Das System nach einem der vorhergehenden Ansprüche, wobei die Operationen weiterhin aufweisen: Angeben eines Repository-Offsets für jede Point-in-Time-Kopie im Repository zur Angabe eines Offsets im Repository, an den die geänderten Daten für die Point-in-Time-Kopie geschrieben werden.
  4. Das System nach einem der vorhergehenden Ansprüche, wobei der Bestimmung der Quelldaten am Wiederherstellungszeitpunkt (Restore Point-in-Time) eine Bestimmung der Quelldateneinheiten im Repository zur Wiederherstellungszeit aufweist, wobei wenn im Repository mehrere Kopien der Dateneinheit für verschiedene Point-in-Time-Kopien vorhanden sind, das System ein Hinzufügen der Dateneinheit zu den bestimmten Quelldaten aufweist, deren Point-in-Time-Kopien der Wiederherstellungszeit am nachsten liegt.
  5. Das System nach einem der vorhergehenden Ansprüche, wobei das Kopieren der Quelldaten an einem ersten Zeitpunkt aufweist: Erstellen einer Point-in-Time-Kopie der Quelldaten am ersten Zeitpunkt zusammen mit Änderungsinformationen, die angeben, dass alle Quelldaten geändert wurden; und Überfragen von Änderungsinformationen für die Point-in-Time-Kopie am ersten Zeitpunkt in das Repository.
  6. Das System nach Anspruch 5, wobei das Bestimmen der Quelldaten am Wiederherstellungszeitpunkt zum Kopieren der Wiederherstellungskopie aufweist: Initialisieren der Restore-Kopie-Informationen, die alle Quelldateneinheiten als noch nicht in die Wiederherstellungskopie kopiert angeben; für jede Point-in-Time-Kopie an oder vor dem Wiederherstellungszeitpunkt, beginnend bei der Point-in-Time-Kopie, die am nächsten zur Wiederherstellungszeit liegt, und unter Berücksichtigung der Point-in-Time-Kopien in umgekehrter zeitlicher Reihenfolge, Durchführen von: Bestimmen der geänderten Dateneinheiten für die Point-in-Time-Kopie, die in den Restore-Kopie-Informationen als noch nicht kopiert angegeben sind, wobei die bestimmten geänderten Dateneinheiten in den bestimmten zu kopierenden Quelldaten enthalten sind; Verwenden des Repository-Offsets für die Point-in-Time-Kopie zum Bestimmen eines Speicherorts im Repository, an dem die bestimmten geänderten Dateneinheiten gespeichert sind, für die Wiederherstellungskopie; Kopieren der geänderten Dateneinheiten von der bestimmten Position im Repository; und Angeben in den Restore-Kopie-Informationen der bestimmten geänderten Dateneinheiten als kopiert.
  7. Das System nach einem der vorhergehenden Ansprüche, wobei die Operationen weiterhin aufweisen: Konfigurieren eines leeren Wiederherstellungsdatenträgers, auf den die Daten für die Wiederherstellungskopie kopiert werden, wobei der Wiederherstellungsdatenträger verfügbar ist, nachdem die gesamten Daten für die Quelldaten aus dem Repository auf den Wiederherstellungsdatenträger kopiert wurden.
  8. Ein Verfahren zur Wartung von Quelldaten in einem Repository, wobei das Verfahren aufweist: Kopieren aller Quelldaten zu einem ersten Zeitpunkt in ein Repository; Initiieren der Point-in-Time-Kopien zu verschiedenen Zeitpunkten der Quelldaten, die auf den ersten Zeitpunkt folgen; in Reaktion auf den Abschluss einer jeden der Point-in-Time-Kopien Übertragen von Änderungsinformationen, die die in den Quelldaten geänderten Daten angeben, die zwischen dem Zeitpunkt der Point-in-Time-Kopie und einem späteren Zeitpunkt geändert wurden, in das Repository. für jede Point-in-Time-Kopie Kopieren geänderter Quelldaten, die die in den Änderungsinformationen für die Point-in-Time-Kopie als geändert angegebenen Daten aufweisen, in das Repository; Empfangen einer Wiederherstellungsanforderung zum Wiederherstellen der Quelldaten an einem Wiederherstellungszeitpunkt; Bestimmen der Quelldaten im Repository am Wiederherstellungszeitpunkt; und Kopieren der bestimmten Quelldaten vom Repository in eine Wiederherstellungskopie.
  9. Das Verfahren nach Anspruch 8, wobei die Point-in-Time-Kopien durch ein Point-in-Time-Kopierprogramm generiert werden und wobei ein Repository-Kopierprogramm, das getrennt vom Point-in-Time-Kopierprogramm ausgeführt wird, die Kopieroperationen von Änderungsinformationen, geänderten Daten und Daten an dem späteren Zeitpunkt, die in den Änderungsinformationen als geändert angegeben wurden, in das Repository durchführt.
  10. Das Verfahren nach einem der vorhergehenden Ansprüche 8 oder 9, wobei die Operationen weiterhin aufweisen: Angeben für jede Point-in-Time-Kopie im Repository eines Repository-Offsets zur Angabe eines Offsets im Repository, an den die geänderten Daten für die Point-in-Time-Kopie geschrieben werden.
  11. Das Verfahren nach einem der Ansprüche 8 bis 10, wobei der Bestimmung der Quelldaten am Wiederherstellungszeitpunkt (Restore Point-in-Time) eine Bestimmung der Quelldateneinheiten im Repository zur Wiederherstellungszeit aufweist, wobei wenn im Repository mehrere Kopien der Dateneinheit für verschiedene Point-in-Time-Kopien vorhanden sind, das System ein Hinzufügen der Dateneinheit zu den bestimmten Quelldaten aufweist, deren Point-in-Time-Kopien der Wiederherstellungszeit am nachsten liegt.
  12. Das Verfahren nach einem der Ansprüche 8 bis 11, wobei das Kopieren der Quelldaten an einem ersten Zeitpunkt aufweist: Erstellen einer Point-in-Time-Kopie am ersten Zeitpunkt der Quelldaten zusammen mit Änderungsinformationen, die angeben, dass alle Quelldaten geändert wurden; und Übertragen von Änderungsinformationen für die Point-in-Time-Kopie am ersten Zeitpunkt in das Repository.
  13. Das Verfahren nach Anspruch 12, wobei das Bestimmen der Quelldaten am Wiederherstellungszeitpunkt zum Kopieren der Wiederherstellungskopie aufweist: Initialisieren der Restore-Kopie-Informationen, die alle Quelldateneinheiten als nicht in die Wiederherstellungskopie kopiert angeben; für jede Point-in-Time-Kopie an oder vor dem Wiederherstellungszeitpunkt, beginnend bei der Point-in-Time-Kopie, die am nächsten zur Wiederherstellungszeit liegt, und unter Berücksichtigung der Point-in-Time-Kopien in umgekehrter zeitlicher Reihenfolge, Durchführen von: Bestimmen der geänderten Dateneinheiten für die Point-in-Time-Kopie, die in den Restore-Kopie-Informationen als noch nicht kopiert angegeben sind, wobei die bestimmten geänderten Dateneinheiten in den bestimmten zu kopierenden Quelldaten enthalten sind; Verwenden des Repository-Offsets für die Point-in-Time-Kopie zum Bestimmen einer Position im Repository, an der die geänderten Dateneinheiten gespeichert werden; für die Wiederherstellungskopie; Kopieren der geänderten Dateneinheiten von der bestimmten Position im Repository; und Angeben in den Restore-Kopie-Informationen der bestimmten geänderten Dateneinheiten als kopiert.
  14. Das Verfahren gemäß einem der Ansprüche 8 bis 13, wobei die Operationen weiterhin aufweisen: Konfigurieren eines leeren Wiederherstellungsdatenträgers, auf den die Daten für die Wiederherstellungskopie kopiert werden, wobei der Wiederherstellungsdatenträger verfügbar ist, nachdem die gesamten Daten für die Quelldaten aus dem Repository auf den Wiederherstellungsdatenträger kopiert wurden.
  15. Ein Computerprogrammprodukt zur Wartung von Quelldaten in einem Repository, wobei das Computerprogrammprodukt aufweist: ein computerlesbares Speichermedium, das von einem Verarbeitungsschaltkreis lesbar ist und Anweisungen zum Ausführen eines Verfahrens gemäß einem der Ansprüche 8 bis 14 durch die Verarbeitungsschaltung speichert.
  16. Ein auf einem computerlesbaren Medium gespeichertes und in den internen Arbeitsspeicher eines digitalen Computers ladbares Computerprogramm, das Softwarecodeabschnitte aufweist, um das Verfahren von einem der Ansprüche 8 bis 14 bei Ausführung des Programms auf einem Computer durchzuführen.
DE112015000343.6T 2014-02-07 2015-01-12 Erstellen einer Wiederherstellungskopie von einer Quelldaten-Kopie in einem Repository, das Quelldaten an verschiedenen Zeitpunkten aufweist Pending DE112015000343T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/175,980 2014-02-07
US14/175,980 US10372546B2 (en) 2014-02-07 2014-02-07 Creating a restore copy from a copy of source data in a repository having source data at different point-in-times
PCT/IB2015/050225 WO2015125030A1 (en) 2014-02-07 2015-01-12 Creating restore copy from copy of source data in repository having source data at different point-in-times

Publications (1)

Publication Number Publication Date
DE112015000343T5 true DE112015000343T5 (de) 2016-09-22

Family

ID=53775023

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112015000343.6T Pending DE112015000343T5 (de) 2014-02-07 2015-01-12 Erstellen einer Wiederherstellungskopie von einer Quelldaten-Kopie in einem Repository, das Quelldaten an verschiedenen Zeitpunkten aufweist

Country Status (6)

Country Link
US (2) US10372546B2 (de)
JP (1) JP6831701B2 (de)
CN (1) CN105960635B (de)
DE (1) DE112015000343T5 (de)
GB (1) GB2538464B (de)
WO (1) WO2015125030A1 (de)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11169958B2 (en) 2014-02-07 2021-11-09 International Business Machines Corporation Using a repository having a full copy of source data and point-in-time information from point-in-time copies of the source data to restore the source data at different points-in-time
US10372546B2 (en) 2014-02-07 2019-08-06 International Business Machines Corporation Creating a restore copy from a copy of source data in a repository having source data at different point-in-times
US11194667B2 (en) 2014-02-07 2021-12-07 International Business Machines Corporation Creating a restore copy from a copy of a full copy of source data in a repository that is at a different point-in-time than a restore point-in-time of a restore request
US10387446B2 (en) 2014-04-28 2019-08-20 International Business Machines Corporation Merging multiple point-in-time copies into a merged point-in-time copy
US10031917B2 (en) * 2014-07-29 2018-07-24 Commvault Systems, Inc. Efficient volume-level replication of data via snapshots in an information management system
US10261868B2 (en) 2016-11-17 2019-04-16 International Business Machines Corporation Using a forward log storage and backward log storage to recover a storage to a forward or backward point-in-time
US10372548B2 (en) 2016-11-17 2019-08-06 International Business Machines Corporation Copying data from multiple point-in-time copies to a log storage to use to roll-back a source storage
US10162563B2 (en) * 2016-12-02 2018-12-25 International Business Machines Corporation Asynchronous local and remote generation of consistent point-in-time snap copies
CN107784093A (zh) * 2017-10-13 2018-03-09 郑州云海信息技术有限公司 一种分布式的大数据处理系统
CN110058958B (zh) * 2018-01-18 2023-07-25 伊姆西Ip控股有限责任公司 用于管理数据备份的方法、设备和计算机程序产品
US10783047B2 (en) * 2018-09-06 2020-09-22 International Business Machines Corporation Forming a consistency group comprised of volumes maintained by one or more storage controllers
CN111061423B (zh) * 2018-10-17 2023-09-26 杭州海康威视系统技术有限公司 一种数据处理方法、装置和管理节点

Family Cites Families (111)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2071346A1 (en) 1991-10-18 1993-04-19 Claus William Mikkelsen Method and means for time zero backup copy of data
US6636908B1 (en) 1999-06-28 2003-10-21 Sangate Systems, Inc. I/O system supporting extended functions and method therefor
US6912629B1 (en) 1999-07-28 2005-06-28 Storage Technology Corporation System and method for restoring data from secondary volume to primary volume in a data storage system
US6594744B1 (en) 2000-12-11 2003-07-15 Lsi Logic Corporation Managing a snapshot volume or one or more checkpoint volumes with multiple point-in-time images in a single repository
US6799258B1 (en) 2001-01-10 2004-09-28 Datacore Software Corporation Methods and apparatus for point-in-time volumes
US7237075B2 (en) * 2002-01-22 2007-06-26 Columbia Data Products, Inc. Persistent snapshot methods
US20030220949A1 (en) * 2002-01-22 2003-11-27 Columbia Data Products, Inc. Automatic deletion in data storage management
US7778958B2 (en) 2002-04-11 2010-08-17 Quantum Corporation Recovery of data on a primary data volume
WO2004023620A1 (en) 2002-09-09 2004-03-18 Evergreen Assurance, Inc. System and method for application monitoring and automatic disaster recovery for high-availability
AU2003282361A1 (en) 2002-11-20 2004-06-15 Filesx Ltd. Fast backup storage and fast recovery of data (fbsrd)
US8166128B1 (en) 2003-02-28 2012-04-24 Oracle America, Inc. Systems and methods for dynamically updating a virtual volume in a storage virtualization environment
US7055009B2 (en) 2003-03-21 2006-05-30 International Business Machines Corporation Method, system, and program for establishing and maintaining a point-in-time copy
US7000145B2 (en) 2003-06-18 2006-02-14 International Business Machines Corporation Method, system, and program for reverse restore of an incremental virtual copy
US7412460B2 (en) 2003-06-19 2008-08-12 International Business Machines Corporation DBMS backup without suspending updates and corresponding recovery using separately stored log and data files
US7284104B1 (en) 2003-06-30 2007-10-16 Veritas Operating Corporation Volume-based incremental backup and recovery of files
JP2005038176A (ja) 2003-07-15 2005-02-10 Nec Corp コンピュータシステムおよびファイル管理方法
US7546324B2 (en) 2003-11-13 2009-06-09 Commvault Systems, Inc. Systems and methods for performing storage operations using network attached storage
CA2548542C (en) * 2003-11-13 2011-08-09 Commvault Systems, Inc. System and method for performing a snapshot and for restoring data
US7133884B1 (en) 2003-11-26 2006-11-07 Bmc Software, Inc. Unobtrusive point-in-time consistent copies
US7318134B1 (en) 2004-03-16 2008-01-08 Emc Corporation Continuous data backup using distributed journaling
US7277997B2 (en) 2004-03-16 2007-10-02 International Business Machines Corporation Data consistency for mirroring updatable source data storage
JP2005292865A (ja) 2004-03-31 2005-10-20 Hitachi Ltd ストレージシステム及びストレージシステムのバックアップ方法
JP2005301497A (ja) 2004-04-08 2005-10-27 Hitachi Ltd ストレージ管理装置、リストア方法及びそのプログラム
US7284019B2 (en) 2004-08-18 2007-10-16 International Business Machines Corporation Apparatus, system, and method for differential backup using snapshot on-write data
US7934064B1 (en) 2004-12-21 2011-04-26 Acronis Inc. System and method for consolidation of backups
US8335770B2 (en) 2005-02-03 2012-12-18 Hewlett-Packard Development Company, L.P. Method of restoring data
US7809691B1 (en) 2005-02-22 2010-10-05 Symantec Operating Corporation System and method of applying incremental changes prior to initialization of a point-in-time copy
US7814057B2 (en) * 2005-04-05 2010-10-12 Microsoft Corporation Page recovery using volume snapshots and logs
US7506116B2 (en) 2005-07-19 2009-03-17 International Business Machines Corporation Maintaining and using information on updates to a data group after a logical copy is made of the data group
CN100369000C (zh) 2005-08-12 2008-02-13 西安三茗科技有限责任公司 一种计算机硬盘数据多时间点快速存储与恢复方法
US7426618B2 (en) 2005-09-06 2008-09-16 Dot Hill Systems Corp. Snapshot restore method and apparatus
US8060713B1 (en) 2005-12-21 2011-11-15 Emc (Benelux) B.V., S.A.R.L. Consolidating snapshots in a continuous data protection system using journaling
US7822717B2 (en) 2006-02-07 2010-10-26 Emc Corporation Point-in-time database restore
US7467268B2 (en) 2006-04-14 2008-12-16 Hewlett-Packard Development Company, L.P. Concurrent data restore and background copy operations in storage networks
US7650533B1 (en) 2006-04-20 2010-01-19 Netapp, Inc. Method and system for performing a restoration in a continuous data protection system
US20070277012A1 (en) 2006-05-23 2007-11-29 Hitachi, Ltd. Method and apparatus for managing backup data and journal
JP5124989B2 (ja) 2006-05-26 2013-01-23 日本電気株式会社 ストレージシステム及びデータ保護方法とプログラム
US7613750B2 (en) 2006-05-29 2009-11-03 Microsoft Corporation Creating frequent application-consistent backups efficiently
US7461223B2 (en) 2006-05-29 2008-12-02 Microsoft Corporation Retaining shadow copy data during replication
JP2007334709A (ja) 2006-06-16 2007-12-27 Fujitsu Ltd ストレージ制御装置、ストレージ制御プログラム、ストレージ制御方法
US8311988B2 (en) 2006-08-04 2012-11-13 Apple Inc. Consistent back up of electronic information
US7836267B1 (en) 2006-08-30 2010-11-16 Barracuda Networks Inc Open computer files snapshot
US7587564B2 (en) 2006-09-26 2009-09-08 International Business Machines Corporation System, method and computer program product for managing data versions
KR100806343B1 (ko) 2006-10-19 2008-02-27 삼성전자주식회사 플래시 메모리를 포함한 메모리 시스템 및 그것의 맵핑테이블 관리 방법
US8880480B2 (en) 2007-01-03 2014-11-04 Oracle International Corporation Method and apparatus for data rollback
JP4900811B2 (ja) 2007-03-30 2012-03-21 株式会社日立製作所 記憶システムおよび記憶制御方法
US7865473B2 (en) * 2007-04-02 2011-01-04 International Business Machines Corporation Generating and indicating incremental backup copies from virtual copies of a data set
US8095804B1 (en) 2007-05-25 2012-01-10 Emc Corporation Storing deleted data in a file system snapshot
US7734885B2 (en) 2007-06-14 2010-06-08 International Business Machines Corporation Execution of point-in-time copy operations in continuous mirroring environments
US8818936B1 (en) 2007-06-29 2014-08-26 Emc Corporation Methods, systems, and computer program products for processing read requests received during a protected restore operation
CN100524238C (zh) 2007-11-02 2009-08-05 西安三茗科技有限责任公司 基于块级的增量备份和整卷恢复的方法
US8195912B2 (en) * 2007-12-06 2012-06-05 Fusion-io, Inc Apparatus, system, and method for efficient mapping of virtual and physical addresses
US7991972B2 (en) 2007-12-06 2011-08-02 International Business Machines Corporation Determining whether to use a full volume or repository for a logical copy backup space
KR101465789B1 (ko) 2008-01-24 2014-11-26 삼성전자주식회사 페이지 복사 횟수를 줄일 수 있는 메모리 카드 시스템의쓰기 및 병합 방법
CN101499073B (zh) 2008-01-29 2011-10-12 国际商业机器公司 基于访问频率的连续存储数据的存储管理方法和系统
US8386733B1 (en) 2008-02-15 2013-02-26 Symantec Corporation Method and apparatus for performing file-level restoration from a block-based backup file stored on a sequential storage device
KR101477047B1 (ko) 2008-02-29 2014-12-30 삼성전자주식회사 메모리 시스템 및 그것의 블록 병합 방법
US8244681B2 (en) * 2008-06-09 2012-08-14 Symantec Operating Corporation Creating synthetic backup images on a remote computer system
JP5156518B2 (ja) 2008-07-23 2013-03-06 株式会社日立製作所 記憶制御装置及び方法
US7979735B2 (en) 2008-08-15 2011-07-12 International Business Machines Corporation Data storage with snapshot-to-snapshot recovery
US8495316B2 (en) 2008-08-25 2013-07-23 Symantec Operating Corporation Efficient management of archival images of virtual machines having incremental snapshots
US8250031B2 (en) 2008-08-26 2012-08-21 Hitachi, Ltd. Low traffic failback remote copy
US8250033B1 (en) 2008-09-29 2012-08-21 Emc Corporation Replication of a data set using differential snapshots
US8099572B1 (en) 2008-09-30 2012-01-17 Emc Corporation Efficient backup and restore of storage objects in a version set
US8006043B2 (en) 2008-10-06 2011-08-23 Vmware, Inc. System and method for maintaining memory page sharing in a virtual environment
US8473697B1 (en) 2008-10-29 2013-06-25 Netapp, Inc. Method and system for volume based snapshot restore
WO2010065271A2 (en) 2008-11-25 2010-06-10 Board Of Governors For Higher Education, State Of Rhode Island And Providence Plantations Systems and methods for providing continuous file protection at block level
US8819362B1 (en) 2009-03-26 2014-08-26 Emc Corporation Managing replication and reservations
US8452930B2 (en) 2009-03-27 2013-05-28 Hitachi, Ltd. Methods and apparatus for backup and restore of thin provisioning volume
US8566510B2 (en) 2009-05-12 2013-10-22 Densbits Technologies Ltd. Systems and method for flash memory management
US8555009B1 (en) 2009-07-31 2013-10-08 Symantec Corporation Method and apparatus for enabling and managing application input/output activity while restoring a data store
US8645647B2 (en) 2009-09-02 2014-02-04 International Business Machines Corporation Data storage snapshot with reduced copy-on-write
US8904125B1 (en) 2009-09-03 2014-12-02 Symantec Corporation Systems and methods for creating reference-based synthetic backups
US8161077B2 (en) 2009-10-21 2012-04-17 Delphix Corp. Datacenter workflow automation scenarios using virtual databases
US8417907B2 (en) 2009-10-29 2013-04-09 Symantec Corporation Synchronizing snapshot volumes across hosts
US8433867B2 (en) 2010-01-09 2013-04-30 International Business Machines Corporation Using the change-recording feature for point-in-time-copy technology to perform more effective backups
US8745002B2 (en) 2010-02-04 2014-06-03 Symantec Corporation Mounting applications on a partially replicated snapshot volume
US8244685B2 (en) 2010-02-24 2012-08-14 Autonomy, Inc. Data restoration utilizing forward and backward deltas
US8260752B1 (en) 2010-03-01 2012-09-04 Symantec Corporation Systems and methods for change tracking with multiple backup jobs
US8352422B2 (en) 2010-03-30 2013-01-08 Commvault Systems, Inc. Data restore systems and methods in a replication environment
CN102236589B (zh) 2010-05-04 2013-04-17 南京壹进制信息技术有限公司 一种基于数字标识符管理增量文件的数据保护方法
US8453145B1 (en) 2010-05-06 2013-05-28 Quest Software, Inc. Systems and methods for instant provisioning of virtual machine files
JP2012014286A (ja) 2010-06-29 2012-01-19 Toshiba Corp ストレージシステム、同システムにおけるデータバックアップ方法及びデータバックアッププログラム
US8666944B2 (en) 2010-09-29 2014-03-04 Symantec Corporation Method and system of performing a granular restore of a database from a differential backup
US8924360B1 (en) * 2010-09-30 2014-12-30 Axcient, Inc. Systems and methods for restoring a file
US8788769B2 (en) 2010-11-16 2014-07-22 Actifio, Inc. System and method for performing backup or restore operations utilizing difference information and timeline state information
US8688645B2 (en) 2010-11-30 2014-04-01 Netapp, Inc. Incremental restore of data between storage systems having dissimilar storage operating systems associated therewith
US8886609B2 (en) 2010-12-17 2014-11-11 Microsoft Corporation Backup and restore of data from any cluster node
US8635187B2 (en) 2011-01-07 2014-01-21 Symantec Corporation Method and system of performing incremental SQL server database backups
US8738883B2 (en) * 2011-01-19 2014-05-27 Quantum Corporation Snapshot creation from block lists
US10114701B2 (en) 2011-01-28 2018-10-30 International Business Machines Corporation Space efficient cascading point in time copying
US8676763B2 (en) * 2011-02-08 2014-03-18 International Business Machines Corporation Remote data protection in a networked storage computing environment
JP2012230621A (ja) 2011-04-27 2012-11-22 Sony Corp メモリ装置、メモリ制御装置、メモリ制御方法
KR101790165B1 (ko) 2011-08-09 2017-11-20 삼성전자 주식회사 메모리 시스템 및 그것의 메타 데이터 관리 방법
EP2780796B1 (de) 2011-11-18 2019-01-02 Dell Software Inc. Verfahren und system für zusammenführung, speicherung und abruf inkrementell gesicherter daten
US9218138B1 (en) 2012-03-30 2015-12-22 Emc Corporation Restoring snapshots to consistency groups of mount points
US20140136472A1 (en) 2012-05-23 2014-05-15 Bi-Builders As Methodology supported business intelligence (BI) software and system
CN103455440A (zh) 2012-06-04 2013-12-18 慧荣科技股份有限公司 快闪内存装置及快闪内存的数据存取方法
US9116726B2 (en) 2012-09-28 2015-08-25 Vmware, Inc. Virtual disk snapshot consolidation using block merge
US8832024B2 (en) 2012-10-26 2014-09-09 Netapp, Inc. Simplified copy offload
US9047238B2 (en) 2012-11-28 2015-06-02 Red Hat Israel, Ltd. Creating a virtual machine from a snapshot
US8990465B2 (en) 2012-12-09 2015-03-24 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Device presence detection using a single channel of a bus
US8782005B2 (en) 2012-12-12 2014-07-15 Storagecraft Technology Corporation Pruning previously-allocated free blocks from a synthetic backup
US9563655B2 (en) 2013-03-08 2017-02-07 Oracle International Corporation Zero and near-zero data loss database backup and recovery
IN2013CH01006A (de) * 2013-03-08 2015-08-14 Lsi Corp
US11169958B2 (en) 2014-02-07 2021-11-09 International Business Machines Corporation Using a repository having a full copy of source data and point-in-time information from point-in-time copies of the source data to restore the source data at different points-in-time
US10176048B2 (en) * 2014-02-07 2019-01-08 International Business Machines Corporation Creating a restore copy from a copy of source data in a repository having source data at different point-in-times and reading data from the repository for the restore copy
US11194667B2 (en) 2014-02-07 2021-12-07 International Business Machines Corporation Creating a restore copy from a copy of a full copy of source data in a repository that is at a different point-in-time than a restore point-in-time of a restore request
US10372546B2 (en) 2014-02-07 2019-08-06 International Business Machines Corporation Creating a restore copy from a copy of source data in a repository having source data at different point-in-times
US10387446B2 (en) 2014-04-28 2019-08-20 International Business Machines Corporation Merging multiple point-in-time copies into a merged point-in-time copy
US10241691B2 (en) 2014-11-04 2019-03-26 Rubrik, Inc. Data management system

Also Published As

Publication number Publication date
CN105960635A (zh) 2016-09-21
GB201614650D0 (en) 2016-10-12
GB2538464B (en) 2020-08-12
US11150994B2 (en) 2021-10-19
US20150227432A1 (en) 2015-08-13
JP6831701B2 (ja) 2021-02-17
GB2538464A (en) 2016-11-16
JP2017509958A (ja) 2017-04-06
CN105960635B (zh) 2021-02-09
US10372546B2 (en) 2019-08-06
WO2015125030A1 (en) 2015-08-27
US20190179708A1 (en) 2019-06-13

Similar Documents

Publication Publication Date Title
DE112015000343T5 (de) Erstellen einer Wiederherstellungskopie von einer Quelldaten-Kopie in einem Repository, das Quelldaten an verschiedenen Zeitpunkten aufweist
DE112015000222T5 (de) Zusammenführen von mehreren Zeitpunktkopien zu einer zusammengeführten Zeitpunktkopie
DE102016119298B4 (de) Zeitpunktkopieren mit klonen von ketten
DE112018003084T5 (de) Asynchrones lokales und entfernt angeordnetes erzeugen von konsistenten zeitpunkt-momentkopien in konsistenzgruppen
DE112014002051T5 (de) Sichern und Wiederherstellen einer Anwendung
DE112013004400B4 (de) Herstellen einer Zeitpunktkopie-Beziehung zwischen logischen Quellenadressen und logischen Zieladressen
DE112013000465B4 (de) Verwaltung einer fernen Datenreplikation
DE112017000190T5 (de) Durchgehende Verschlüsselung und Backup in Datenschutzumgebungen
DE112011100534T5 (de) Mehrstufiger Sicherungsprozess
DE112013003340T5 (de) Einfrieren von virtuellen Sofortkopien auf mehreren Datenträgern
DE112011100819T5 (de) Speicherplatzreservierung in einem Deduplizierungssystem
DE112011103378T5 (de) Automatische und sich selbsttätig anpassende Datensicherungsoperationen
DE112012001660T5 (de) Speicher-Checkpointing in einem System gespiegelter virtueller Maschinen
DE112010004573T5 (de) System und verfahren zur optimierten wiedernutzbarmachungsverarbeitung in einem virtuellen bandbibliotheksystem
DE112010004931T5 (de) Mehrphasige Wiederherstellung von Dateisystemen mit SelektiverBedarfsweiser Verfügbarkeit von Daten(
DE102013208930A1 (de) Zusammenfassen von Einträgen in einem Deduplizierungs-lndex
DE112018003585B4 (de) Verfahren, Computerprogrammprodukt und Speicherbandlaufwerk-Hardwareeinheit zum Verbessern der Deduplizierung eines Bandlaufwerkspeichers
DE112017007656T5 (de) Verschobene aktualisierung von datenbank-hashcode in einer blockchain
DE112012003695T5 (de) Aufrechterhalten mehrerer Zielkopien
DE112018000900T5 (de) Verarbeiten eines Befehls zum Freigeben von Speicherplatz in einem Computersystem
DE112011103367T5 (de) Replizieren von Daten
DE112020004840B4 (de) Speicherbereinigung in datenspeichersystemen
DE112017005772T5 (de) Zeitpunktgesteuerte sicherungen über einen speicher-controller in eine objektspeicher-cloud
DE112018004138T5 (de) Asynchrone aktualisierung von metadatenspuren in reaktion auf einen mittels einer e/a-operation über eine busschnittstelle erzeugten cachetreffer
DE112021002894T5 (de) On-the- fly- pit-auswahl bei disarter-recovery in der cloud

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R082 Change of representative

Representative=s name: SPIES & BEHRNDT PATENTANWAELTE PARTG MBB, DE

R016 Response to examination communication
R084 Declaration of willingness to licence