DE112017005772T5 - Zeitpunktgesteuerte sicherungen über einen speicher-controller in eine objektspeicher-cloud - Google Patents

Zeitpunktgesteuerte sicherungen über einen speicher-controller in eine objektspeicher-cloud Download PDF

Info

Publication number
DE112017005772T5
DE112017005772T5 DE112017005772.8T DE112017005772T DE112017005772T5 DE 112017005772 T5 DE112017005772 T5 DE 112017005772T5 DE 112017005772 T DE112017005772 T DE 112017005772T DE 112017005772 T5 DE112017005772 T5 DE 112017005772T5
Authority
DE
Germany
Prior art keywords
storage
record
source
backup
cloud
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
DE112017005772.8T
Other languages
English (en)
Inventor
Robert Stanley Gensler Jr
Jeffrey Richard Suarez
David Michael Shackelford
Ernesto Figueroa
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 DE112017005772T5 publication Critical patent/DE112017005772T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]

Abstract

Ein Speicher-Controller empfängt einen Befehl von einer Host-Anwendung, um eine zeitpunktgesteuerte Sicherung eines Quelldatensatzes in eine Speicher-Cloud durchzuführen. Der Speicher-Controller erzeugt über eine zeitpunktgesteuerte Kopie des Quelldatensatzes einen Zieldatensatz sowie eine Abbildung, die eine Entsprechung zwischen Speicherpositionen des Quelldatensatzes und Speicherpositionen des Zieldatensatzes angibt. Der Speicher-Controller kopiert den Zieldatensatz in die Speicher-Cloud, um einen Sicherungsdatensatz zu erzeugen, der die zeitpunktgesteuerte Sicherung des Quelldatensatzes ist, wobei der Zugriff auf den Sicherungsdatensatz über einen Verweis auf die Speicherpositionen des Quelldatensatzes möglich ist.

Description

  • HINTERGRUND
  • GEBIET DER TECHNIK
  • Ausführungsformen beziehen sich auf zeitpunktgesteuerte Sicherungen über einen Speicher-Controller in eine Objektspeicher-Cloud.
  • HINTERGRUND
  • Ein Cloud-Speicher ist ein Modell eines Datenspeichers, bei dem digitale Daten in logischen Pools gespeichert werden und bei dem der physische Speicher eine Mehrzahl von Servern umfasst. Die physische Speicherumgebung kann einem Hosting-Unternehmen gehören und von diesem verwaltet werden. Dieser Cloud-Speicheranbieter kann dafür verantwortlich sein, die Daten verfügbar und zugänglich zu halten sowie die physische Umgebung sachgemäß geschützt und gewartet zu halten. Personen und Organisationen können Speicherkapazität von den Cloud-Speicheranbietern kaufen oder mieten, um Nutzer-, Organisations- oder Anwendungsdaten zu speichern.
  • Bei bestimmten Datenverarbeitungsumgebungen ermöglicht ein Speicher-Controller den Host-Datenverarbeitungssystemen, Eingabe/Ausgabe-Operationen (E/A-Operationen) mit einer Mehrzahl von Speichereinheiten durchzuführen, die durch den Speicher-Controller gesteuert werden. Eine Speicherverwaltungsanwendung, die in dem Speicher-Controller ausgeführt wird, kann die Mehrzahl von Speichereinheiten wie z.B. Plattenlaufwerke, Bandlaufwerke, Flash-Laufwerke, Direktzugriffsspeicher (Direct Access Storage Device, DASD) usw. verwalten, die mit dem Speicher-Controller verbunden sind. Eine Host-Anwendung, die in einem Host-Datenverarbeitungssystem ausgeführt wird, kann E/A-Befehle an den Speicher-Controller übertragen, und der Speicher-Controller kann die E/A-Befehle ausführen, um Daten aus den Speichereinheiten zu lesen oder in die Speichereinheiten zu schreiben.
  • Eine zeitpunktgesteuerte Kopie ist eine vollständig nutzbare Kopie einer definierten Zusammenstellung von Daten, die ein Abbild der Daten zu einem konkreten Zeitpunkt beinhaltet. Auch wenn davon ausgegangen wird, dass die zeitpunktgesteuerte Kopie zu dem konkreten Zeitpunkt logisch stattgefunden hat, können bestimmte Mechanismen die Kopie ganz oder teilweise zu anderen Zeitpunkten durchführen, solange das Ergebnis eine konsistente Kopie der Daten zu dem betreffenden Zeitpunkt ist. Um eine konsistente Kopie der Daten zu erstellen, musste vor der Verwendung von zeitpunktgesteuerten Kopieroperationen eine Host-Anwendung gestoppt werden, während die Daten physisch kopiert wurden. Bei großen Datensätzen verursachte dies Unterbrechungen von mehreren Stunden und machte den Vorgang des Erstellens von Kopien großer Datensätze für die Nutzer sehr unkomfortabel. Durch zeitpunktgesteuerte Kopieroperationen kann eine Kopie fast ohne negative Auswirkung auf die Host-Anwendung erstellt werden. Die Host-Anwendung kann ununterbrochen ausgeführt werden, mit Ausnahme einer kurzen Zeitspanne von wenigen Millisekunden oder Sekunden, während der die zeitpunktgesteuerte Kopie erstellt wird. So ist zum Beispiel das von der International Business Machines (IBM) unterstützte FlashCopy (IBM, zSeries, pSeries, xSeries, BladeCenter, WebSphere und DB2 sowie FlashCopy sind Marken der International Business Machines Corporation, die in vielen Rechtsräumen weltweit eingetragen sind) ein zeitpunktgesteuerter Kopiermechanismus, der es möglich macht, nahezu verzögerungsfrei zeitpunktgesteuerte Momentaufnahmekopien von vollständigen logischen Datenträgern oder Datensätzen zu erstellen.
  • KURZDARSTELLUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
  • Bereitgestellt werden ein Verfahren, System und Computerprogrammprodukt, bei denen ein Speicher-Controller von einer Host-Anwendung einen Befehl empfängt, um eine zeitpunktgesteuerte Sicherung eines Quelldatensatzes in eine Speicher-Cloud durchzuführen. Der Speicher-Controller erzeugt über eine zeitpunktgesteuerte Kopie des Quelldatensatzes einen Zieldatensatz sowie eine Abbildung, die eine Entsprechung zwischen Speicherpositionen des Quelldatensatzes und Speicherpositionen des Zieldatensatzes angibt. Der Speicher-Controller kopiert den Zieldatensatz in die Speicher-Cloud, um einen Sicherungsdatensatz zu erzeugen, der die zeitpunktgesteuerte Sicherung des Quelldatensatzes ist, wobei der Zugriff auf den Sicherungsdatensatz über einen Verweis auf die Speicherpositionen des Quelldatensatzes möglich ist. Als Ergebnis führt anstelle eines Hosts der Speicher-Controller die zeitpunktgesteuerte Sicherung des Quelldatensatzes in die Speicher-Cloud durch.
  • Bei weiteren Ausführungsformen wird die Host-Anwendung in einer Host-Datenverarbeitungseinheit ausgeführt, die mit dem Speicher-Controller verbunden ist, wobei Operationen zum Durchführen der zeitpunktgesteuerten Sicherung des Quelldatensatzes in die Speicher-Cloud aus der Host-Datenverarbeitungseinheit an den Speicher-Controller ausgelagert werden. Der Speicher-Controller kopiert den Zieldatensatz in die Speicher-Cloud, ohne Bereiche, Spuren oder andere Speicherentitäten des Zieldatensatzes an die Host-Datenverarbeitungseinheit zu übertragen. Als Ergebnis werden Operationen zum Erstellen der zeitpunktgesteuerten Sicherung an den Speicher-Controller ausgelagert.
  • Bei bestimmten Ausführungsformen wird die zeitpunktgesteuerte Sicherung des Quelldatensatzes in die Speicher-Cloud durch eine virtuelle, gleichzeitige Kopiersitzung durchgeführt, wobei als Reaktion auf die Beendigung der virtuellen, gleichzeitigen Kopiersitzung Ressourcen freigegeben werden, die der Abbildung zugeordnet sind, welche die Entsprechungen zwischen Speicherpositionen des Quelldatensatzes und Speicherpositionen des Zieldatensatzes angibt. Als Ergebnis werden Ressourcen, die durch den Speicher-Controller nicht benötigt werden, freigegeben.
  • Bei zusätzlichen Ausführungsformen empfängt der Speicher-Controller eine E/A-Anforderung von einer Host-Datenverarbeitungseinheit. Als Reaktion auf ein Ermitteln, dass eine der E/A-Anforderung entsprechende Spur in dem Zieldatensatz aktualisiert wurde, sendet der Speicher-Controller die E/A-Anforderung für die Spur an Zieldatensatzbereiche. Als Ergebnis wird die E/A-Anforderung durch den Zieldatensatz erfüllt.
  • Bei weiteren zusätzlichen Ausführungsformen empfängt der Speicher-Controller eine E/A-Anforderung von einer Host-Datenverarbeitungseinheit. Als Reaktion auf ein Ermitteln, dass eine der E/A-Anforderung entsprechende Spur in dem Zieldatensatz nicht aktualisiert wurde, sendet der Speicher-Controller die E/A-Anforderung für die Spur an Quelldatensatzbereiche. Als Ergebnis wird die E/A-Anforderung durch den Quelldatensatz erfüllt.
  • Bei bestimmten Ausführungsformen ordnet die Abbildung, die eine Entsprechung zwischen den Speicherpositionen des Quelldatensatzes und den Speicherpositionen des Zieldatensatzes angibt, einzelne Bereiche oder Bereichsabschnitte oder Datenträger und zugehörige Zylinderabschnitte über Eins-zu-Eins-, Viele-zu-Eins- und Eins-zu-Viele-Entsprechungen zu. Als Ergebnis kann die Abbildung für verschiedene Arten der Speicherdarstellung verwendet werden.
  • Bereitgestellt wird zudem ein Cloud-Computing-System, aufweisend eine Speicher-Cloud, einen mit der Speicher-Cloud verbundenen Speicher-Controller und einen mit dem Speicher-Controller verbundenen Host. In dem Cloud-Computing-System empfängt ein Speicher-Controller einen Befehl von einer Host-Anwendung, um eine zeitpunktgesteuerte Sicherung eines Quelldatensatzes in eine Speicher-Cloud durchzuführen. Der Speicher-Controller erzeugt über eine zeitpunktgesteuerte Kopie des Quelldatensatzes einen Zieldatensatz sowie eine Abbildung, die eine Entsprechung zwischen Speicherpositionen des Quelldatensatzes und Speicherpositionen des Zieldatensatzes angibt. Der Speicher-Controller kopiert den Zieldatensatz in die Speicher-Cloud, um einen Sicherungsdatensatz zu erzeugen, der die zeitpunktgesteuerte Sicherung des Quelldatensatzes ist, wobei der Zugriff auf den Sicherungsdatensatz über einen Verweis auf die Speicherpositionen des Quelldatensatzes möglich ist. Als Ergebnis wird die virtuelle, gleichzeitige Kopie in einem Cloud-Computing-System durchgeführt.
  • Bereitgestellt wird darüber hinaus eine Host-Datenverarbeitungseinheit, aufweisend einen Arbeitsspeicher und einen mit dem Arbeitsspeicher verbundenen Prozessor, wobei der Prozessor einen Befehl von einer Host-Anwendung an einen Speicher-Controller überträgt, um eine zeitpunktgesteuerte Sicherung eines Quelldatensatzes in eine Speicher-Cloud durchzuführen, und wobei der Speicher-Controller über eine zeitpunktgesteuerte Kopie des Quelldatensatzes einen Zieldatensatz sowie eine Abbildung erzeugt, die eine Entsprechung zwischen Speicherpositionen des Quelldatensatzes und Speicherpositionen des Zieldatensatzes angibt, und den Zieldatensatz in die Speicher-Cloud kopiert, um einen Sicherungsdatensatz zu erzeugen, der die zeitpunktgesteuerte Sicherung des Quelldatensatzes ist. Die Host-Anwendung greift über einen Verweis auf die Speicherpositionen des Quelldatensatzes auf den Sicherungsdatensatz zu. Als Ergebnis lagert die Host-Datenverarbeitungseinheit das Durchführen einer virtuellen, gleichzeitigen Kopie an einen Speicher-Controller aus.
  • Figurenliste
  • Unter Bezugnahme auf die Zeichnungen, bei denen gleiche Bezugsziffern durchgehend gleiche Teile bezeichnen:
    • veranschaulicht 1 ein Blockschaubild einer Datenverarbeitungsumgebung, die gemäß bestimmten Ausführungsformen einen Speicher-Controller aufweist, der mit einem oder mehreren Hosts und einer Speicher-Cloud verbunden ist;
    • veranschaulicht 2 ein Blockschaubild, das die Erzeugung eines zeitpunktgesteuerten Sicherungsdatensatzes über eine Abbildung von einzelnen Bereichen gemäß bestimmten Ausführungsformen zeigt;
    • veranschaulicht 3 ein Blockschaubild, das die Erzeugung eines zeitpunktgesteuerten Sicherungsdatensatzes über eine Abbildung von Bereichsabschnitten gemäß bestimmten Ausführungsformen zeigt;
    • veranschaulicht 4 ein Blockschaubild, das die Erzeugung eines zeitpunktgesteuerten Sicherungsdatensatzes über eine Zuordnung von Datenträgern und Zylindern gemäß bestimmten Ausführungsformen zeigt;
    • veranschaulicht 5 einen ersten Ablaufplan, der die Erzeugung eines zeitpunktgesteuerten Sicherungsdatensatzes gemäß bestimmten Ausführungsformen zeigt;
    • veranschaulicht 6 einen zweiten Ablaufplan, der die Erzeugung eines zeitpunktgesteuerten Sicherungsdatensatzes gemäß bestimmten Ausführungsformen zeigt;
    • veranschaulicht 7 einen dritten Ablaufplan, der die Erzeugung eines zeitpunktgesteuerten Sicherungsdatensatzes gemäß bestimmten Ausführungsformen zeigt;
    • veranschaulicht 8 ein Blockschaubild einer Cloud-Computing-Umgebung gemäß bestimmten Ausführungsformen;
    • veranschaulicht 9 ein Blockschaubild mit weiteren Einzelheiten der Cloud-Computing-Umgebung aus 8 gemäß bestimmten Ausführungsformen; und
    • veranschaulicht 10 ein Blockschaubild eines Datenverarbeitungssystems, das bestimmte Elemente zeigt, die gemäß bestimmten Ausführungsformen in dem Speicher-Controller, dem/den Host/s und/oder der Speicher-Cloud, der/die in den 1 bis 9 beschrieben werden, enthalten sein können.
  • AUSFÜHRLICHE BESCHREIBUNG
  • In der folgenden Beschreibung wird auf die beigefügten Zeichnungen Bezug genommen, die einen Bestandteil hiervon bilden und mehrere Ausführungsformen veranschaulichen. Dabei sollte klar sein, dass andere Ausführungsformen verwendet und strukturelle sowie betriebliche Änderungen vorgenommen werden können.
  • Sicherungs- und Archivierungslösungen können eine Objektspeicher-Cloud als eine Offline-Stufe beinhalten. Bestimmte Lösungen zielen auf inaktive Daten ab, die aus der Online-Speicherstufe in die Offline-Speicherstufe verschoben werden können. Dies wird als Archivierung bezeichnet, und die Daten werden in die Offline-Cloud-Stufe verschoben und aus den primären DASDs gelöscht. Da die Daten inaktiv sind, haben seit einiger Zeit keine Nutzer oder Anwendungen darauf zugegriffen, so dass das Sperren des Datensatzes für die Zeitspanne, die für die Archivierung notwendig ist, keine Operationen unterbricht.
  • Eine Sicherung unterscheidet sich von einem Archiv insofern, als nach dem Verschieben eines Datensatzes in eine Offline-Cloud-Stufe der Datensatz auch in der Online-DASD-Stufe beibehalten wird, damit Nutzer und Anwendungen auf den Datensatz zugreifen können. Für eine Sicherung sollte der Datensatz nur für eine möglichst kurze Zeitspanne gesperrt und für Nutzer und Anwendungen nicht zugänglich sein. Bestimmte Ausführungsformen stellen Mechanismen bereit, um Datensätze mit minimaler Unterbrechung für Nutzer und Anwendungen, die auf den Datensatz zugreifen, in eine Objektspeicher-Cloud zu sichern.
  • Eine gleichzeitige Kopie bezieht sich auf einen Mechanismus, der einem Nutzer erlaubt, eine Kopie der Daten zu erstellen, während Anwendungen die Daten aktualisieren. Virtuelle, gleichzeitige Kopiermechanismen erweitern die gleichzeitigen Kopiermechanismen, und bei virtuellen, gleichzeitigen Kopiermechanismen wird eine zeitpunktgesteuerte Kopie der Daten von einer Quellspeicherposition in eine Zwischenspeicherposition erstellt, und die Daten werden anhand von Standard-E/A-Verfahren nach und nach von der Zwischenspeicherposition in die Zielspeicherposition kopiert. Die virtuelle, gleichzeitige Kopieroperation ist logisch abgeschlossen, nachdem die Quelldaten verzögerungsfrei (d.h. über zeitpunktgesteuerte Kopiermechanismen) in die Zwischenspeicherposition kopiert wurden, und sie ist physisch abgeschlossen, nachdem die Daten in das Zielmedium der Zielspeicherposition verschoben wurden. Bestimmte Ausführungsformen stellen Mechanismen für eine zeitpunktgesteuerte Sicherung in eine Objektspeicher-Cloud unter Verwendung eines abgewandelten virtuellen, gleichzeitigen Kopiermechanismus bereit. Eine Sicherung in eine Offline-Cloud-Stufe wird als ein zwei Schritte umfassender Prozess durchgeführt. Der erste Schritt erfasst die Bereiche des Quelldatensatzes und erstellt eine zeitpunktgesteuerte Kopiersitzung der Spuren dieser Bereiche. Der zweite Schritt gibt einen Befehl an den Speicher-Controller aus, um die Spuren aus dem Ziel der zeitpunktgesteuerten Kopie in die Offline-Cloud-Stufe auszulagern. Bei bestimmten Ausführungsformen werden die abgewandelten virtuellen, gleichzeitigen Kopieroptionen zum Erstellen einer zeitpunktgesteuerten Sicherung in eine Speicher-Cloud durch einen Speicher-Controller durchgeführt. Der Host lagert die Zuständigkeit für ein Erstellen der zeitpunktgesteuerten Sicherung an den Speicher-Controller aus.
  • BEISPIELHAFTE AUSFÜHRUNGSFORMEN
  • 1 veranschaulicht ein Blockschaubild einer Datenverarbeitungsumgebung 100, die gemäß bestimmten Ausführungsformen einen Speicher-Controller 102 aufweist, der mit einem oder mehreren Hosts 104 und einer Speicher-Cloud 106 verbunden ist.
  • Der Speicher-Controller 102 und der Host 104 können jede geeignete Datenverarbeitungseinheit aufweisen, darunter die nach dem gegenwärtigen Stand der Technik bekannten Einheiten wie einen Personal Computer, eine Arbeitsstation, einen Server, einen Mainframe, einen Handheld Computer, einen Palmtop Computer, eine Telefonie-Einheit, eine Netzwerkeinrichtung, einen Blade Computer, eine Verarbeitungseinheit, einen Controller usw. Die Speicher-Cloud 106 kann eine Mehrzahl von (nicht gezeigten) Speichereinheiten aufweisen, z.B. Speicherplatten, Bandlaufwerke, Halbleiterplatten usw., sowie eine (nicht gezeigte) Datenverarbeitungseinheit, die den Zugriff auf die Mehrzahl von Speichereinheiten der Speicher-Cloud 106 steuert.
  • Der Speicher-Controller 102, der Host 104 und die Speicher-Cloud 106 können Elemente in jedem geeigneten Netzwerk sein, z.B. einem Speicherbereichsnetzwerk, einem Weitverkehrsnetzwerk, dem Internet, einem Intranet usw. Bei bestimmten Ausführungsformen können der Speicher-Controller 102, der Host 104 und die Speicher-Cloud 106 Elemente in einer Cloud-Computing-Umgebung sein.
  • Eine Speicherverwaltungsanwendung 108, die in dem Speicher-Controller 102 ausgeführt wird, empfängt E/A-Befehle von einer oder mehreren Host-Anwendungen 110, die in dem Host 104 ausgeführt werden, und reagiert auf die E/A-Befehle, indem sie Daten in Bezug auf Speicherdatenträger liest oder schreibt, die in der Speicher-Cloud 106 oder in Speichereinheiten 112, 114 gespeichert werden, die mit dem Speicher-Controller 102 verbunden sind, wobei die Speichereinheiten 112, 114 Festplatten, Halbleiterplatten oder andere Speichereinheiten aufweisen können. Bei bestimmten Ausführungsformen können die Speicherverwaltungsanwendung 108 und die Host-Anwendung 110 in Software, Hardware, Firmware oder jeder Kombination hiervon realisiert sein.
  • Bei bestimmten Ausführungsformen sendet die in dem Host 104 ausgeführte Host-Anwendung 110 eine Anforderung an den Speicher-Controller 102, um eine zeitpunktgesteuerte Sicherung eines Quelldatensatzes 116 durchzuführen, dessen logische Speicherdatenträger durch den Speicher-Controller 102 gesteuert werden und auf die die Host-Anwendung 110 über den Speicher-Controller 102 zugreift. Der Quelldatensatz 116 kann eine Zusammenstellung von Datensätzen aufweisen, die in Bereichen, Spuren, Blöcken oder in einer beliebigen anderen Art von Einheiten gespeichert werden können, in denen der Speicher vorliegt. Bei bestimmten Ausführungsformen erstellt die Speicherverwaltungsanwendung 108 des Speicher-Controllers 102 über zeitpunktgesteuerte Kopieroperationen 118 eine zeitpunktgesteuerte Kopie des Quelldatensatzes 116, wobei die zeitpunktgesteuerte Kopie in einem Zieldatensatz 120 gespeichert wird. Gleichzeitig mit den zeitpunktgesteuerten Kopieroperationen 118 kopiert die Speicherverwaltungsanwendung 108 Spuren (oder andere Einheiten wie Blöcke, Bereiche usw.) des Zieldatensatzes 120 in die Speicher-Cloud 106, um einen Sicherungsdatensatz 124 in der Speicher-Cloud zu erzeugen. Die Objekte 126 des Sicherungsdatensatzes 124 können gemäß dem Quelldatensatz 116 benannt werden, obwohl sie aus dem Zieldatensatz 120 kopiert wurden, wobei die Benennung gemäß dem Zieldatensatz 116 durchgeführt wird, indem eine Quelle-Ziel-Bereichslisten-Zuordnung 128 verwendet wird, die während der zeitpunktgesteuerten Kopieroperationen 118 erzeugt wird.
  • Somit veranschaulicht 1 bestimmte Ausführungsformen, bei denen durch den Speicher-Controller 102 eine zeitpunktgesteuerte Sicherungskopie eines Quelldatensatzes 116 in eine Speicher-Cloud 106 durchgeführt wird. Nach dem Stand der Technik wurde das Kopieren der Spuren des Zieldatensatzes 120 in den Sicherungsdatensatz 124 durch den Host 104 durchgeführt, indem die in den Spuren des Zieldatensatzes 120 gespeicherten Daten von dem Speicher-Controller 102 empfangen und die empfangenen Daten dann in den Sicherungsdatensatz 124 gespeichert wurden. Zusätzlich gab es nach dem Stand der Technik keine Vorkehrungen für ein Verwalten der Quelle-Ziel-Bereichslisten-Zuordnung 128.
  • 2 veranschaulicht ein Blockschaubild 200, das die Erzeugung eines zeitpunktgesteuerten Sicherungsdatensatzes über eine Zuordnung von einzelnen Bereichen gemäß bestimmten Ausführungsformen zeigt.
  • In 2 werden vier Quelldatensatzobjekte, die als Bereiche A1, A2, A3, A4 204, 206, 208, 210 des Quelldatensatzes 116 gezeigt werden, über zeitpunktgesteuerte Kopieroperationen in vier entsprechende Datensatzobjekte kopiert, die als Bereiche B1, B2, B3, B4 212, 214, 216, 218 des Zieldatensatzes 120 gezeigt werden. Die als Bereiche B1, B2, B3, B4 212, 214, 216, 218 des Zieldatensatzes 120 gezeigten Datensatzobjekte werden gleichzeitig in den Sicherungsdatensatz 124 kopiert, dabei jedoch in Bereiche A1, A2, A3, A4 220, 222, 224, 226 umbenannt, indem die Quelle-Ziel-Bereichslisten-Zuordnung 128 verwendet wird, welche die Entsprechungen 130 zwischen den Namen der Quellbereiche und der Zielbereiche zeigt.
  • Zusätzlich zeigt 2 auch, dass ein großer Bereich A5 228 des Quelldatensatzes 116 über zeitpunktgesteuerte Kopieroperationen in zwei kleinere Bereiche B5, B6 230, 232 des Zieldatensatzes 120 kopiert werden kann. Die als Bereiche B5, B6 230, 232 des Zieldatensatzes 120 gezeigten Datensatzobjekte werden gleichzeitig in den Sicherungsdatensatz 124 kopiert, dabei jedoch in Bereich A5 234 umbenannt, indem die Quelle-Ziel-Bereichslisten-Zuordnung 128 verwendet wird, welche die Entsprechungen 130 zwischen den Namen der Quellbereiche und der Zielbereiche angibt.
  • Des Weiteren zeigt 2 auch, dass zwei kleine Bereiche A6, A7 236, 238 des Quelldatensatzes 116 über zeitpunktgesteuerte Kopieroperationen in einen großen Bereich B7 240 des Zieldatensatzes 120 kopiert werden können. Das als Bereich B7 240 des Zieldatensatzes 120 gezeigte Datensatzobjekt wird gleichzeitig in den Sicherungsdatensatz 124 kopiert, dabei jedoch in Bereiche A6, A7 242, 244 umbenannt, indem die Quelle-Ziel-Bereichslisten-Zuordnung 128 verwendet wird, welche die Entsprechungen 130 zwischen den Namen der Quellbereiche und der Zielbereiche angibt.
  • Als Ergebnis haben die Objekte des Sicherungsdatensatzes 124 dieselben Namen wie die Objekte des Quelldatensatzes 116 und nicht die Namen der Objekte des Zieldatensatzes 120. Als Ergebnis kann auf den Sicherungsdatensatz 124 mit denselben Objektnamen zugegriffen werden wie auf den Quelldatensatz 116. Dabei ist zu beachten, dass es sich bei den Entsprechungen 130 zwischen den Namen der Quellbereiche und der Zielbereiche um Eins-zu-eins-, Eins-zu-viele- oder Viele-zu-eins-Entsprechungen handeln kann.
  • 3 veranschaulicht ein Blockschaubild 300, das die Erzeugung eines zeitpunktgesteuerten Sicherungsdatensatzes über eine Zuordnung von Bereichsabschnitten gemäß bestimmten Ausführungsformen zeigt.
  • In 3 befinden sich die in dem Quelldatensatz 116 gespeicherten Datensätze in einem (anhand des Bezugszeichens 302 gezeigten) Bereichsabschnitt 100 bis 200 und werden über zeitpunktgesteuerte Kopieroperationen in den Zieldatensatz 120 in Datensätze gespeichert, die sich in dem (anhand des Bezugszeichens 304 gezeigten) Bereichsabschnitt 500 bis 600 befinden. Wenn jedoch der Zieldatensatz 120 gleichzeitig in den Sicherungsdatensatz 124 kopiert wird, wird der Bereichsabschnitt 500 bis 600 als im (anhand des Bezugszeichens 306 gezeigten) Bereichsabschnitt 100 bis 200 liegend angegeben, indem die Quelle-Ziel-Bereichslisten-Zuordnung 128 verwendet wird, welche die Zuordnung 330 aufweist, die angibt, dass der Bereichsabschnitt 100 bis 200 des Quelldatensatzes 116 dem Bereichsabschnitt 500 bis 600 des Zieldatensatzes 120 zugeordnet wurde. Als Ergebnis kann auf den Sicherungsdatensatz 124 mit denselben Bereichsabschnitten zugegriffen werden wie auf den Quelldatensatz 116.
  • 4 veranschaulicht ein Blockschaubild 400, das die Erzeugung eines zeitpunktgesteuerten Sicherungsdatensatzes über eine Zuordnung von Datenträgern und Zylindern gemäß bestimmten Ausführungsformen zeigt.
  • Die Steuerung beginnt in Block 402, in dem der Speicher-Controller 102 von dem Host 104 einen Befehl empfängt, um Datenträger 1, Zylinder 201 bis 300 zu sichern, wo Spuren des Quelldatensatzes 116 gespeichert werden. Als Ergebnis der zeitpunktgesteuerten Kopieroperationen 118 werden die zeitpunktgesteuerten Kopierdaten auf Datenträger 2, Zylinder 601 bis 700 gespeichert, wo die Spuren des Zieldatensatzes 120 gespeichert werden (wie anhand des Bezugszeichens 404 gezeigt wird). Der Speicher-Controller 102 wird (in Block 406) angewiesen, Datenträger 2, Zylinder 601 bis 700, wo die Spuren des Zieldatensatzes 120 gespeichert werden, in die Speicher-Cloud 106 zu kopieren, wobei in der Speicher-Cloud 106 jedoch angegeben wird, dass die Daten als Sicherungsdatensatz auf Datenträger 1, Zylinder 201 bis 300, gespeichert werden. Die Angabe kann unter Verwendung der Zuordnung 128 oder über andere Mechanismen erfolgen. Als Ergebnis kann auf den Sicherungsdatensatz 124 mit demselben Datenträgernamen und Zylinderabschnitt zugegriffen werden wie auf den Quelldatensatz 116.
  • 5 veranschaulicht einen ersten Ablaufplan 500, der die Erzeugung eines zeitpunktgesteuerten Sicherungsdatensatzes gemäß bestimmten Ausführungsformen zeigt. Die in 5 gezeigten Operationen können durch den Speicher-Controller 102 durchgeführt werden.
  • Die Steuerung beginnt in Block 502, in dem der Speicher-Controller 102 Daten des Quelldatensatzes 116 erfasst und eine zeitpunktgesteuerte Kopie der Spuren des Quelldatensatzes 116 in den Zieldatensatz 120 erstellt. Die Steuerung fährt mit Block 504 fort, in dem der Speicher-Controller 102 die Spuren aus dem Zieldatensatz 120 in die Speicher-Cloud 106 kopiert, ohne die Spuren des Zieldatensatzes 120 an den Host 104 zu senden.
  • 6 veranschaulicht einen zweiten Ablaufplan 600, der die Erzeugung eines zeitpunktgesteuerten Sicherungsdatensatzes gemäß bestimmten Ausführungsformen zeigt. Die in 6 gezeigten Operationen können durch den Speicher-Controller 102 durchgeführt werden.
  • Die Steuerung beginnt in Block 602, in dem der Speicher-Controller 102 eine Bereichsliste des Quelldatensatzes 116 erstellt und (in Block 604) eine virtuelle, gleichzeitige Kopiersitzung erstellt. Der Speicher-Controller 102 erzeugt (in Block 606) die Quelle-Ziel-Bereichslisten-Zuordnung 128 und erzeugt (in Block 608) eine Anforderung, Zielspuren an den Cloud-Speicher auszulagern.
  • Von Block 608 fährt die Steuerung mit Block 610 fort, in dem der Speicher-Controller 102 Zielspuren an den Cloud-Speicher 106 sendet (anstelle wie beim Stand der Technik Spuren über den Host 104 zu senden).
  • Nach einer bestimmten Zeitspanne werden als Reaktion auf die Beendigung der virtuellen, gleichzeitigen Kopiersitzung Ressourcen, die für die Quelle-Ziel-Bereichslisten-Zuordnung 128 zugeordnet wurden, (in Block 612) freigegeben, da für sie keine Verwendung mehr besteht, und als Ergebnis hiervon wird Arbeitsspeicher freigegeben.
  • Parallel zu den in den Blöcken 606, 608, 610 durchgeführten Operationen (anhand des Bezugszeichens 614 gezeigt) kann die Steuerung mit Block 616 fortfahren. In Block 616 wird durch den Speicher-Controller 102 eine E/A-Anforderung von dem Host 104 empfangen. Es wird ermittelt (in Block 618), ob in dem Zieldatensatz 120 Spuren, die der E/A-Anforderung entsprechen, aktualisiert wurden. Wenn dies der Fall ist (Verzweigung „Ja“ 620) fährt die Steuerung mit Block 622 fort, in dem der Speicher-Controller 102 die E/A-Anforderung von Spuren, die in dem Zieldatensatz 120 aktualisiert wurden, an die Zieldatensatzbereiche sendet.
  • Wenn in Block 618 ermittelt wird, dass in dem Zieldatensatz 120 Spuren, die der E/A-Anforderung entsprechen, nicht aktualisiert wurden (Verzweigung „Nein“ 624), fährt die Steuerung mit Block 626 fort, in dem der Speicher-Controller 102 E/A-Anforderungen von Spuren, die in dem Zieldatensatz 120 nicht aktualisiert wurden, an die Quelldatensatzbereiche umleitet.
  • Somit veranschaulicht 6 bestimmte Ausführungsformen, bei denen unter der Steuerung durch einen Speicher-Controller 102 über eine Kombination aus zeitpunktgesteuerter Kopie des Quelldatensatzes 116 in den Zieldatensatz 120 und einer gleichzeitigen Kopie aus dem Zieldatensatz 120 in den Sicherungsdatensatz 126 ein Sicherungsdatensatz 124 erzeugt wird, wobei der Prozess als eine virtuelle, gleichzeitige Kopie unter der Steuerung durch den Speicher-Controller bezeichnet wird.
  • 7 veranschaulicht einen dritten Ablaufplan 700, der die Erzeugung eines zeitpunktgesteuerten Sicherungsdatensatzes gemäß bestimmten Ausführungsformen zeigt. Die in 7 gezeigten Operationen können durch den Speicher-Controller 102 durchgeführt werden.
  • Die Steuerung beginnt in Block 702, in dem ein Speicher-Controller 102 von einer Host-Anwendung 110 einen Befehl empfängt, um eine zeitpunktgesteuerte Sicherung eines Quelldatensatzes 116 in eine Speicher-Cloud 106 durchzuführen. Der Speicher-Controller 102 erzeugt (in Block 704) über eine zeitpunktgesteuerte Kopie des Quelldatensatzes 116 einen Zieldatensatz 120 sowie eine Zuordnung 128, die eine Entsprechung zwischen Speicherpositionen des Quelldatensatzes und Speicherpositionen des Zieldatensatzes angibt.
  • Von Block 704 fährt die Steuerung mit Block 706 fort, in dem der Speicher-Controller 102 den Zieldatensatz 120 in die Speicher-Cloud 106 kopiert, um einen Sicherungsdatensatz 124 zu erzeugen, der die zeitpunktgesteuerte Sicherung des Quelldatensatzes 116 ist, wobei der Zugriff auf den Sicherungsdatensatz 124 über einen Verweis auf die Speicherpositionen des Quelldatensatzes möglich ist.
  • Von Block 704 kann die Steuerung auch mit Block 708 fortfahren, in dem der Speicher-Controller 102 eine E/A-Anforderung von einer Host-Datenverarbeitungseinheit 104 empfängt. Von Block 708 kann die Steuerung parallel mit Block 710 und Block 712 fortfahren.
  • In Block 710 sendet der Speicher-Controller 102 als Reaktion auf ein Ermitteln, dass eine der E/A-Anforderung entsprechende Spur in dem Zieldatensatz 120 aktualisiert wurde, die E/A-Anforderung für die Spur an Zieldatensatzbereiche, und die E/A-Anforderung wird durch den Zieldatensatz 120 erfüllt.
  • In Block 712 sendet der Speicher-Controller 102 als Reaktion auf ein Ermitteln, dass eine der E/A-Anforderung entsprechende Spur in dem Zieldatensatz 120 nicht aktualisiert wurde, die E/A-Anforderung für die Spur an Quelldatensatzbereiche, und die E/A-Anforderung wird durch den Quelldatensatz 116 erfüllt.
  • Somit werden in den 1 bis 7 die Operationen zum Durchführen der zeitpunktgesteuerten Sicherung des Quelldatensatzes 116 in die Speicher-Cloud 106 von der Host-Datenverarbeitungseinheit 104 an den Speicher-Controller 102 ausgelagert. Der Speicher-Controller 102 kopiert den Zieldatensatz 120 in die Speicher-Cloud 106, ohne Bereiche, Spuren oder andere Speicherentitäten des Zieldatensatzes 120 an die Host-Datenverarbeitungseinheit 104 zu übertragen. Bei bestimmten Ausführungsformen gibt eine Zuordnung 128 eine Entsprechung zwischen den Speicherpositionen des Quelldatensatzes und den Speicherpositionen des Zieldatensatzes an, wobei die Zuordnung einzelne Bereiche oder Bereichsabschnitte oder Datenträger und zugehörige Zylinderabschnitte zuordnet. Die Zuordnung 128 dient dazu, den Sicherungsdatensatz 124 so zu benennen, dass er Speicherpositionen des Quelldatensatzes 116 widerspiegelt, und als Ergebnis erfolgt der Zugriff auf den Sicherungsdatensatz 124 analog zu demjenigen auf den Quelldatensatz 116.
  • CLOUD-COMPUTING-UMGEBUNG
  • Cloud-Computing ist ein Modell zum Ermöglichen eines problemlosen bedarfsgesteuerten Netzwerkzugriffs auf einen gemeinsam genutzten Pool von konfigurierbaren Datenverarbeitungsressourcen (z.B. Netzwerke, Netzwerkbandbreite, Server, Verarbeitung, Hauptspeicher, Speicher, Anwendungen und Dienste), die mit minimalem Verwaltungsaufwand bzw. minimaler Interaktion mit einem Anbieter des Service schnell bereitgestellt und freigegeben werden können.
  • Unter Bezugnahme auf 8 ist eine veranschaulichende Cloud-Computing-Umgebung 50 abgebildet. Wie gezeigt ist, weist die Cloud-Computing-Umgebung 50 einen oder mehrere Cloud-Computing-Knoten 10 auf, mit denen von Cloud-Nutzern verwendete lokale Datenverarbeitungseinheiten wie der elektronische Assistent (PDA, Personal Digital Assistant) oder das Mobiltelefon 54A, der Desktop Computer 54B, der Laptop Computer 54C und/oder das Automobil-Computer-System 54N Daten austauschen können. Die Knoten 10 können miteinander Daten austauschen. Sie können physisch oder virtuell in ein oder mehrere Netzwerke wie Private, Community, Public oder Hybrid Clouds gruppiert werden (nicht gezeigt), wie vorstehend beschrieben wurde, oder in eine Kombination daraus. Dies ermöglicht es der Cloud-Computing-Umgebung 50, Infrastruktur, Plattformen und/oder Software als Dienst anzubieten, für die ein Cloud-Nutzer keine Ressourcen auf einer lokalen Datenverarbeitungseinheit vorhalten muss. Es sei darauf hingewiesen, dass die Arten von in 8 gezeigten Datenverarbeitungseinheiten 54A bis N lediglich veranschaulichend sein sollen und dass die Datenverarbeitungsknoten 10 und die Cloud-Computing-Umgebung 50 über eine beliebige Art Netzwerk und/oder über eine beliebige Art von über ein Netzwerk aufrufbarer Verbindung (z.B. unter Verwendung eines Web-Browsers) mit einer beliebigen Art von computergestützter Einheit Daten austauschen können.
  • Unter Bezugnahme auf 9 wird ein Satz von funktionalen Abstraktionsschichten gezeigt, die durch die Cloud-Computing-Umgebung 50 (8) bereitgestellt werden. Es sollte von vornherein klar sein, dass die in 9 gezeigten Komponenten, Schichten und Funktionen lediglich veranschaulichend sein sollen und Ausführungsformen der Erfindung nicht darauf beschränkt sind.
  • Eine Hardware- und Software-Schicht 60 enthält Hardware- und Software-Komponenten. Zu Beispielen für Hardware-Komponenten gehören Mainframe Computer wie beispielsweise IBM zSeries(IBM, zSeries, pSeries, xSeries, BladeCenter, WebSphere und DB2 sowie FlashCopy sind Marken der International Business Machines Corporation, die in vielen Rechtsräumen weltweit eingetragen sind)- Systeme; Server auf Grundlage der RISC-Architektur (Reduced Instruction Set Computer) wie beispielsweise IBM pSeries(IBM, zSeries, pSeries, xSeries, BladeCenter, WebSphere und DB2 sowie FlashCopy sind Marken der International Business Machines Corporation, die in vielen Rechtsräumen weltweit eingetragen sind) -Systeme; IBM xSeries (IBM, zSeries, pSeries, xSeries, BladeCenter, WebSphere und DB2 sowie FlashCopy sind Marken der International Business Machines Corporation, die in vielen Rechtsräumen weltweit eingetragen sind) -Systeme; IBM BladeCenter(IBM, zSeries, pSeries, xSeries, BladeCenter, WebSphere und DB2 sowie FlashCopy sind Marken der International Business Machines Corporation, die in vielen Rechtsräumen weltweit eingetragen sind) -Systeme; Speichereinheiten; Netzwerke und Netzwerkkomponenten. Zu Beispielen für Software-Komponenten gehören Software für Netzwerk-Anwendungsserver wie beispielsweise IBM WebSphere(IBM, zSeries, pSeries, xSeries, BladeCenter, WebSphere und DB2 sowie FlashCopy sind Marken der International Business Machines Corporation, die in vielen Rechtsräumen weltweit eingetragen sind)-Anwendungsserver-Software; sowie Datenbank-Software, zum Beispiel IBM DB2(IBM, zSeries, pSeries, xSeries, BladeCenter, WebSphere und DB2 sowie FlashCopy sind Marken der International Business Machines Corporation, die in vielen Rechtsräumen weltweit eingetragen sind)-Datenbank-Software.
  • Eine Virtualisierungsschicht 62 stellt eine Abstraktionsschicht bereit, aus der die folgenden Beispiele für virtuelle Einheiten bereitgestellt werden können: virtuelle Server, virtueller Speicher, virtuelle Netzwerke, darunter virtuelle private Netzwerke, virtuelle Anwendungen und Betriebssysteme; und virtuelle Clients.
  • In einem Beispiel kann eine Verwaltungsschicht 64 die nachfolgend beschriebenen Funktionen bereitstellen. Eine Ressourcenbereitstellung stellt die dynamische Beschaffung von Datenverarbeitungsressourcen sowie anderen Ressourcen bereit, die zum Durchführen von Aufgaben innerhalb der Cloud-Computing-Umgebung verwendet werden. Ein Messen und eine Preisfindung stellen die Kostenverfolgung beim Verwenden von Ressourcen innerhalb der Cloud-Computing-Umgebung sowie die Abrechnung oder Rechnungsstellung für den Verbrauch dieser Ressourcen bereit. In einem Beispiel können diese Ressourcen Anwendungs-Software-Lizenzen aufweisen. Die Sicherheit stellt die Identitätsüberprüfung für Cloud-Nutzer und Aufgaben sowie Schutz für Daten und andere Ressourcen bereit. Ein Benutzerportal stellt Nutzern und Systemadministratoren den Zugang zu der Cloud-Computing-Umgebung bereit. Eine Verwaltung des Dienstumfangs stellt die Zuordnung und Verwaltung von Cloud-Computing-Ressourcen bereit, so dass die benötigten Dienstziele erreicht werden. Ein Planen und Erfüllen von Vereinbarungen zum Dienstumfang (SLA, Service Level Agreement) stellt die Anordnung vorab und die Beschaffung von Cloud-Computing-Ressourcen, für die eine zukünftige Anforderung vorausgesehen wird, gemäß einem SLA bereit.
  • Eine Arbeitslastschicht 66 stellt Beispiele für die Funktionalität bereit, für welche die Cloud-Computing-Umgebung verwendet werden kann. Zu Beispielen für Arbeitslasten und Funktionen, die von dieser Schicht bereitgestellt werden können, gehören: Abbildung und Navigation; Software-Entwicklung und Lebenszyklusverwaltung; Bereitstellung von Ausbildung in virtuellen Klassenzimmern; Datenanalyseverarbeitung; Transaktionsverarbeitung; und zeitpunktgesteuerte Sicherung in die Speicher-Cloud 68, wie in den 1 bis 8 gezeigt.
  • ZUSÄTZLICHE EINZELHEITEN ZU DEN AUSFÜHRUNGSFORMEN
  • Die beschriebenen Operationen können als ein Verfahren, eine Vorrichtung oder ein Computerprogrammprodukt realisiert sein, das/die standardmäßige Programmierungsund/oder Ingenieurstechniken verwendet, um Software, Firmware, Hardware oder eine beliebige Kombination hiervon hervorzubringen. Entsprechend können Aspekte der Ausführungsformen in Gestalt einer vollständig in Hardware realisierten Ausführungsform, einer vollständig in Software realisierten Ausführungsform (z.B. Firmware, residente Software, Mikrocode usw.) oder in Gestalt einer Ausführungsform vorliegen, die Software- und Hardware-Aspekte vereint, welche zusammenfassend als „Schaltung“, „Modul“ oder „System“ bezeichnet werden können. Des Weiteren können Aspekte der Ausführungsformen in Gestalt eines Computerprogrammprodukts vorliegen. Das Computerprogrammprodukt kann (ein) durch einen Computer lesbare(s) Speichermedium (oder -medien) beinhalten, auf dem/denen durch einen Computer lesbare Programmanweisungen gespeichert sind, um einen Prozessor dazu zu veranlassen, Aspekte der vorliegenden Ausführungsformen auszuführen.
  • Bei dem durch einen Computer lesbaren Speichermedium kann es sich um eine physische Einheit handeln, die Befehle zur Verwendung durch eine Befehlsausführungseinheit behalten und speichern kann. Bei dem durch einen Computer lesbaren Speichermedium kann es sich zum Beispiel um eine elektronische Speichereinheit, eine magnetische Speichereinheit, eine optische Speichereinheit, eine elektromagnetische Speichereinheit, eine Halbleiterspeichereinheit oder jede geeignete Kombination daraus handeln, ohne auf diese beschränkt zu sein. Zu einer nicht erschöpfenden Liste spezifischerer Beispiele des durch einen Computer lesbaren Speichermediums gehören die Folgenden: eine tragbare Computerdiskette, eine Festplatte, ein Direktzugriffsspeicher (RAM), ein Nur-Lese-Speicher (ROM), ein löschbarer programmierbarer Nur-Lese-Speicher (EPROM bzw. Flash-Speicher), ein statischer Direktzugriffsspeicher (SRAM), ein tragbarer Compact-Disc-Nur-Lese-Speicher (CD-ROM), eine DVD (Digital Versatile Disc), ein Speicher-Stick, eine Diskette, eine mechanisch kodierte Einheit wie zum Beispiel Lochkarten oder erhabene Strukturen in einer Rille, auf denen Anweisungen gespeichert sind, und jede geeignete Kombination daraus. Ein durch einen Computer lesbares Speichermedium soll in der Verwendung hierin nicht als flüchtige Signale an sich aufgefasst werden, wie zum Beispiel Funkwellen oder andere sich frei ausbreitende elektromagnetische Wellen, elektromagnetische Wellen, die sich durch einen Wellenleiter oder ein anderes Übertragungsmedium ausbreiten (z.B. durch ein Lichtwellenleiterkabel geleitete Lichtimpulse) oder durch einen Draht übertragene elektrische Signale.
  • Hierin beschriebene, durch einen Computer lesbare Programmanweisungen können von einem durch einen Computer lesbaren Speichermedium auf jeweilige Datenverarbeitungs-/Verarbeitungseinheiten oder über ein Netzwerk wie zum Beispiel das Internet, ein lokales Netzwerk, ein Weitverkehrsnetz und/oder ein drahtloses Netzwerk auf einen externen Computer oder eine externe Speichereinheit heruntergeladen werden. Das Netzwerk kann Kupferübertragungskabel, Lichtwellenübertragungsleiter, drahtlose Übertragung, Leitwegrechner, Firewalls, Vermittlungseinheiten, Gateway-Computer und/oder Edge-Server aufweisen. Eine Netzwerkadapterkarte oder Netzwerkschnittstelle in jeder Datenverarbeitungs-/Verarbeitungseinheit empfängt durch einen Computer lesbare Programmanweisungen aus dem Netzwerk und leitet die durch einen Computer lesbaren Programmanweisungen zur Speicherung in einem durch einen Computer lesbaren Speichermedium innerhalb der entsprechenden Datenverarbeitungs-/Verarbeitungseinheit weiter.
  • Bei durch einen Computer lesbaren Programmanweisungen zum Ausführen von Arbeitsschritten der vorliegenden Erfindung kann es sich um Assembler-Anweisungen, ISA-Anweisungen (Instruction-Set-Architecture), Maschinenanweisungen, maschinenabhängige Anweisungen, Mikrocode, Firmware-Anweisungen, zustandssetzende Daten oder entweder Quellcode oder Objektcode handeln, die in einer beliebigen Kombination aus einer oder mehreren Programmiersprachen geschrieben werden, darunter objektorientierte Programmiersprachen wie Smalltalk, C++ o.ä. sowie herkömmliche prozedurale Programmiersprachen wie die Programmiersprache „C“ oder ähnliche Programmiersprachen. Die durch einen Computer lesbaren Programmanweisungen können vollständig auf dem Computer des Benutzers, teilweise auf dem Computer des Benutzers, als eigenständiges Software-Paket, teilweise auf dem Computer des Benutzers und teilweise auf einem fernen Computer oder vollständig auf dem fernen Computer oder Server ausgeführt werden. In letzterem Fall kann der entfernt angeordnete Computer mit dem Computer des Benutzers durch eine beliebige Art Netzwerk verbunden sein, darunter LAN oder ein WAN, oder die Verbindung kann mit einem externen Computer hergestellt werden (zum Beispiel über das Internet unter Verwendung eines Internet-Dienstanbieters). In einigen Ausführungsformen können elektronische Schaltungen, darunter zum Beispiel programmierbare Logikschaltungen, im Feld programmierbare Gatter-Anordnungen (FPGA, Field Programmable Gate Arrays) oder programmierbare Logikanordnungen (PLA, Programmable Logic Arrays) die durch einen Computer lesbaren Programmanweisungen ausführen, indem sie Zustandsinformationen der durch einen Computer lesbaren Programmanweisungen nutzen, um die elektronischen Schaltungen zu personalisieren, um Aspekte der vorliegenden Ausführungsformen durchzuführen.
  • Aspekte der vorliegenden Ausführungsformen sind hierin unter Bezugnahme auf Ablaufpläne und/oder Blockschaltbilder bzw. Schaubilder von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß Ausführungsformen der Erfindung beschrieben. Es wird darauf hingewiesen, dass jeder Block der Ablaufpläne und/oder der Blockschaltbilder bzw. Schaubilder sowie Kombinationen von Blöcken in den Ablaufplänen und/oder den Blockschaltbildern bzw. Schaubildern durch Programmanweisungen, die durch einen Computer lesbar sind, ausgeführt werden können.
  • Diese durch einen Computer lesbaren Programmanweisungen können einem Prozessor eines Universalcomputers, eines Spezialcomputers oder einer anderen programmierbaren Datenverarbeitungsvorrichtung bereitgestellt werden, um eine Maschine zu erzeugen, so dass die über den Prozessor des Computers bzw. der anderen programmierbaren Datenverarbeitungsvorrichtung ausgeführten Anweisungen ein Mittel zur Umsetzung der in dem Block bzw. den Blöcken der Ablaufpläne und/oder der Blockschaltbilder bzw. Schaubilder festgelegten Funktionen/Schritte erzeugen. Diese durch einen Computer lesbaren Programmanweisungen können auch auf einem durch einen Computer lesbaren Speichermedium gespeichert sein, das einen Computer, eine programmierbare Datenverarbeitungsvorrichtung und/oder andere Einheiten so steuern kann, dass sie auf eine bestimmte Art funktionieren, so dass das durch einen Computer lesbare Speichermedium, auf dem Anweisungen gespeichert sind, ein Herstellungsprodukt aufweist, darunter Anweisungen, welche Aspekte der/des in dem Block bzw. den Blöcken des Ablaufplans und/oder der Blockschaltbilder bzw. Schaubilder angegebenen Funktion/Schritts umsetzen.
  • Die durch einen Computer lesbaren Programmanweisungen können auch auf einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung oder eine andere Einheit geladen werden, um das Ausführen einer Reihe von Prozessschritten auf dem Computer bzw. der anderen programmierbaren Vorrichtung oder anderen Einheit zu verursachen, um einen auf einem Computer ausgeführten Prozess zu erzeugen, so dass die auf dem Computer, einer anderen programmierbaren Vorrichtung oder einer anderen Einheit ausgeführten Anweisungen die in dem Block bzw. den Blöcken der Ablaufpläne und/oder der Blockschaltbilder bzw. Schaubilder festgelegten Funktionen/Schritte umsetzen.
  • Die Ablaufpläne und die Blockschaltbilder bzw. Schaubilder in den Figuren veranschaulichen die Architektur, die Funktionalität und den Betrieb möglicher Ausführungen von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung. In diesem Zusammenhang kann jeder Block in den Ablaufplänen oder Blockschaltbildern bzw. Schaubildern ein Modul, ein Segment oder einen Teil von Anweisungen darstellen, die eine oder mehrere ausführbare Anweisungen zur Ausführung der bestimmten logischen Funktion(en) aufweisen. In einigen alternativen Ausführungen können die in dem Block angegebenen Funktionen in einer anderen Reihenfolge als in den Figuren gezeigt stattfinden. Zwei nacheinander gezeigte Blöcke können zum Beispiel in Wirklichkeit im Wesentlichen gleichzeitig ausgeführt werden, oder die Blöcke können manchmal je nach entsprechender Funktionalität in umgekehrter Reihenfolge ausgeführt werden. Es ist ferner anzumerken, dass jeder Block der Blockschaltbilder bzw. Schaubilder und/oder der Ablaufpläne sowie Kombinationen aus Blöcken in den Blockschaltbildern bzw. Schaubildern und/oder den Ablaufplänen durch spezielle auf Hardware beruhende Systeme umgesetzt werden können, welche die festgelegten Funktionen oder Schritte durchführen, oder Kombinationen aus Spezial-Hardware und Computeranweisungen ausführen.
  • 10 veranschaulicht ein Blockschaubild, das bestimmte Elemente zeigt, die gemäß bestimmten Ausführungsformen in dem Speicher-Controller 102, den Hosts 104 oder anderen Datenverarbeitungseinheiten enthalten sein können. Das System 1000 kann eine Schaltung 1002 beinhalten, die bei bestimmten Ausführungsformen mindestens einen Prozessor 1004 beinhalten kann. Das System 1000 kann außerdem einen Arbeitsspeicher 1006 (z.B. eine flüchtige Arbeitsspeichereinheit) und einen Speicher 1008 beinhalten. Der Speicher 1008 kann eine nichtflüchtige Arbeitsspeichereinheit (z.B. einen EEPROM, ROM, PROM, einen Flash-Speicher, eine Firmware, eine programmierbare Logik usw.), ein Magnetplattenlaufwerk, ein optisches Plattenlaufwerk, ein Bandlaufwerk usw. beinhalten. Der Speicher 1008 kann eine interne Speichereinheit, eine verbundene Speichereinheit und/oder eine Speichereinheit aufweisen, auf die über ein Netzwerk zugegriffen werden kann. Das System 1000 kann eine Programmlogik 1010 mit Code 1012 beinhalten, der in den Arbeitsspeicher 1006 geladen und durch den Prozessor 1004 oder die Schaltung 1002 ausgeführt werden kann. Bei bestimmten Ausführungsformen kann die Programmlogik 1010 mit dem Code 1012 in dem Speicher 1008 gespeichert werden. Bei bestimmten anderen Ausführungsformen kann die Programmlogik 1010 in der Schaltung 1002 realisiert werden. Eine oder mehrere der Komponenten in dem System 1000 können über einen Bus oder über eine andere Kopplung oder Verbindung 1014 Daten austauschen. Obwohl 10 die Programmlogik 1010 als getrennt von den übrigen Elementen zeigt, kann die Programmlogik 1010 somit auch in dem Arbeitsspeicher 1006 und/oder der Schaltung 1002 realisiert werden.
  • Bestimmte Ausführungsformen können sich auf ein Verfahren zum Bereitstellen eines Datenverarbeitungsbefehls durch eine Person oder eine automatisierte Verarbeitung beziehen, die durch einen Computer lesbaren Code in ein Datenverarbeitungssystem einbindet, wobei der Code in Verbindung mit dem Datenverarbeitungssystem in der Lage ist, die Operationen der beschriebenen Ausführungsformen durchzuführen.
  • Sofern nicht ausdrücklich anderweitig angegeben, bedeuten die Begriffe „eine Ausführungsform“, „Ausführungsform“, „Ausführungsformen“, „die Ausführungsform“, „die Ausführungsformen“, „eine oder mehrere Ausführungsformen“, „manche Ausführungsformen“ und „eine einzige Ausführungsform“ „eine oder mehrere (aber nicht alle) Ausführungsformen der vorliegenden Erfindung(en)“.
  • Sofern nicht ausdrücklich anderweitig angegeben, bedeuten die Begriffe „beinhalten“, „aufweisen“, „haben“ und Abwandlungen hiervon „darunter, ohne darauf beschränkt zu sein“.
  • Sofern nicht ausdrücklich anderweitig angegeben, bedeutet die nummerierte Auflistung von Elementen nicht, dass sich eines oder alle dieser Elemente wechselseitig ausschließen.
  • Sofern nicht ausdrücklich anderweitig angegeben, bedeuten die Begriffe „ein/eine/eines“ und „der/die/das“ „ein oder mehrere“.
  • Sofern nicht ausdrücklich anderweitig angegeben, müssen Einheiten, die untereinander Daten austauschen, nicht in ununterbrochenem Datenaustausch stehen. Zudem können Einheiten, die untereinander Daten austauschen, direkt oder indirekt über ein oder mehrere zwischengeschaltete Elemente Daten austauschen.
  • Eine Beschreibung einer Ausführungsform mit mehreren Komponenten, die untereinander Daten austauschen, bedeutet nicht, dass alle derartigen Komponenten notwendig sind. Vielmehr wird eine Vielzahl von optionalen Komponenten beschrieben, um die breite Palette von möglichen Ausführungsformen der vorliegenden Erfindung zu veranschaulichen.
  • Obwohl Prozessschritte, Verfahrensschritte, Algorithmen oder Ähnliches in einer sequenziellen Abfolge beschrieben werden, können derartige Prozesse, Verfahren und Algorithmen auch so konfiguriert sein, dass sie in anderen Reihenfolgen funktionieren. Anders ausgedrückt bedeutet eine beliebige Abfolge oder Reihenfolge von Schritten nicht notwendigerweise, dass die Schritte in dieser Reihenfolge durchgeführt werden müssen. Die hier beschriebenen Prozessschritte können in jeder beliebigen praktikablen Reihenfolge durchgeführt werden. Des Weiteren können manche Schritte gleichzeitig erfolgen.
  • Wenn hier eine einzige Einheit oder ein einziger Gegenstand beschrieben werden, sollte offensichtlich sein, dass anstelle einer einzigen Einheit/eines einzigen Gegenstands auch mehrere Einheiten/Gegenstände verwendet werden können (unabhängig davon, ob diese zusammenwirken). Wenn hier mehrere Einheiten oder Gegenstände beschrieben werden (unabhängig davon, ob sie zusammenwirken), sollte des Weiteren offensichtlich sein, dass anstelle der mehreren Einheiten oder Gegenstände eine einzige Einheit/ein einziger Gegenstand verwendet werden kann bzw. dass anstelle der gezeigten Anzahl von Einheiten oder Programmen eine andere Anzahl von Einheiten/Gegenständen verwendet werden kann. Die Funktionalität und/oder die Merkmale einer Einheit können alternativ durch eine oder mehrere andere Einheiten realisiert werden, die nicht ausdrücklich als mit einer solchen Funktionalität/einem solchen Merkmal ausgestattet beschrieben werden. Somit müssen andere Ausführungsformen der vorliegenden Erfindung die Einheit selbst nicht beinhalten.
  • Zumindest einige der Operationen, die möglicherweise in den Figuren veranschaulicht wurden, zeigen bestimmte Ereignisse, die in einer bestimmten Reihenfolge auftreten. Bei alternativen Ausführungsformen können bestimmte Vorgänge in einer anderen Reihenfolge durchgeführt, abgeändert oder entfernt werden. Darüber hinaus können Schritte zu der oben beschriebenen Logik hinzugefügt werden und dennoch weiterhin den beschriebenen Ausführungsformen entsprechen. Des Weiteren können hier beschriebene Vorgänge nacheinander stattfinden, oder bestimmte Vorgänge können parallel verarbeitet werden. Des Weiteren können Vorgänge durch eine einzige Verarbeitungseinheit oder durch verteilte Verarbeitungseinheiten durchgeführt werden.
  • Die obige Beschreibung der verschiedenen Ausführungsformen der Erfindung dient zur Veranschaulichung und Beschreibung. Sie erhebt nicht den Anspruch, vollständig zu sein oder die Erfindung auf die präzise Form, wie sie hier offenbart wird, zu beschränken. In Zusammenhang mit den obigen Ausführungen sind zahlreiche Änderungen und Abwandlungen möglich. Der inhaltliche Umfang der Erfindung soll nicht durch diese ausführliche Beschreibung, sondern vielmehr durch die hier beigefügten Ansprüche beschränkt sein. Die obige Ausführungen, Beispiele und Daten stellen eine umfassende Beschreibung der Herstellung und Verwendung der Gesamtheit der Erfindung bereit. Da viele Ausführungsformen der Erfindung möglich sind, ohne vom gedanklichen Wesensgehalt und inhaltlichen Umfang der Erfindung abzuweichen, wird die Erfindung durch die nachfolgend angehängten Ansprüche definiert.

Claims (25)

  1. Verfahren, aufweisend: Empfangen eines Befehls von einer Host-Anwendung, um eine zeitpunktgesteuerte Sicherung eines Quelldatensatzes in eine Speicher-Cloud durchzuführen, durch einen Speicher-Controller; Erzeugen eines Zieldatensatzes über eine zeitpunktgesteuerte Kopie des Quelldatensatzes sowie einer Abbildung, die eine Entsprechung zwischen Speicherpositionen des Quelldatensatzes und Speicherpositionen des Zieldatensatzes angibt, durch den Speicher-Controller; und Kopieren des Zieldatensatzes in die Speicher-Cloud durch den Speicher-Controller, um einen Sicherungsdatensatz zu erzeugen, der die zeitpunktgesteuerte Sicherung des Quelldatensatzes ist, wobei der Zugriff auf den Sicherungsdatensatz über einen Verweis auf die Speicherpositionen des Quelldatensatzes möglich ist.
  2. Verfahren nach Anspruch 1, wobei die Host-Anwendung in einer Host-Datenverarbeitungseinheit ausgeführt wird, die mit dem Speicher-Controller verbunden ist, wobei Operationen zum Durchführen der zeitpunktgesteuerten Sicherung des Zieldatensatzes in die Speicher-Cloud von der Host-Datenverarbeitungseinheit an den Speicher-Controller ausgelagert werden und wobei der Speicher-Controller den Zieldatensatz in die Speicher-Cloud kopiert, ohne Bereiche, Spuren oder andere Speicherentitäten des Zieldatensatzes an die Host-Datenverarbeitungseinheit zu übertragen.
  3. Verfahren nach Anspruch 1, wobei die zeitpunktgesteuerte Sicherung des Quelldatensatzes in die Speicher-Cloud durch eine virtuelle, gleichzeitige Kopiersitzung durchgeführt wird, wobei das Verfahren des Weiteren aufweist: als Reaktion auf die Beendigung der virtuellen, gleichzeitigen Kopiersitzung ein Freigeben von Ressourcen, die der Abbildung zugeordnet sind, welche die Entsprechung zwischen Speicherpositionen des Quelldatensatzes und Speicherpositionen des Zieldatensatzes angibt.
  4. Verfahren nach Anspruch 1, wobei das Verfahren des Weiteren aufweist: Empfangen einer Eingabe/Ausgabe-Anforderung (E/A-Anforderung) von einer Host-Datenverarbeitungseinheit durch den Speicher-Controller; und als Reaktion auf ein Ermitteln, dass eine der E/A-Anforderung entsprechende Spur in dem Zieldatensatz aktualisiert wurde, Senden der E/A-Anforderung für die Spur an Zieldatensatzbereiche durch den Speicher-Controller.
  5. Verfahren nach Anspruch 1, wobei das Verfahren des Weiteren aufweist: Empfangen einer Eingabe/Ausgabe-Anforderung (E/A-Anforderung) von einer Host-Datenverarbeitungseinheit durch den Speicher-Controller; und als Reaktion auf ein Ermitteln, dass eine der E/A-Anforderung entsprechende Spur in dem Zieldatensatz nicht aktualisiert wurde, Senden der E/A-Anforderung für die Spur an Quelldatensatzbereiche durch den Speicher-Controller.
  6. Verfahren nach Anspruch 1, wobei die Abbildung, die eine Entsprechung zwischen den Speicherpositionen des Quelldatensatzes und den Speicherpositionen des Zieldatensatzes angibt, einzelne Bereiche oder Bereichsabschnitte oder Datenträger und zugehörige Zylinderabschnitte über Eins-zu-Eins-, Viele-zu-Eins- und Eins-zu-Viele-Entsprechungen zuordnet.
  7. System, aufweisend: einen Arbeitsspeicher; und einen Prozessor, der mit dem Arbeitsspeicher verbunden ist, wobei der Prozessor Operationen durchführt, wobei die Operationen aufweisen: Empfangen eines Befehls von einer Host-Anwendung, um eine zeitpunktgesteuerte Sicherung eines Quelldatensatzes in eine Speicher-Cloud durchzuführen; Erzeugen eines Zieldatensatzes über eine zeitpunktgesteuerte Kopie des Quelldatensatzes sowie einer Abbildung, die eine Entsprechung zwischen Speicherpositionen des Quelldatensatzes und Speicherpositionen des Zieldatensatzes angibt; und Kopieren des Zieldatensatzes in die Speicher-Cloud, um einen Sicherungsdatensatz zu erzeugen, der die zeitpunktgesteuerte Sicherung des Quelldatensatzes ist, wobei der Zugriff auf den Sicherungsdatensatz über einen Verweis auf die Speicherpositionen des Quelldatensatzes möglich ist.
  8. System nach Anspruch 7, wobei die Host-Anwendung in einer Host-Datenverarbeitungseinheit ausgeführt wird, die mit dem System verbunden ist, wobei Operationen zum Durchführen der zeitpunktgesteuerten Sicherung des Zieldatensatzes in die Speicher-Cloud von der Host-Datenverarbeitungseinheit an das System ausgelagert werden und wobei das System den Zieldatensatz in die Speicher-Cloud kopiert, ohne Bereiche, Spuren oder andere Speicherentitäten des Zieldatensatzes an die Host-Datenverarbeitungseinheit zu übertragen.
  9. System nach Anspruch 7, wobei die zeitpunktgesteuerte Sicherung des Quelldatensatzes in die Speicher-Cloud durch eine virtuelle, gleichzeitige Kopiersitzung durchgeführt wird, wobei die Operationen des Weiteren aufweisen: als Reaktion auf die Beendigung der virtuellen, gleichzeitigen Kopiersitzung ein Freigeben von Ressourcen, die der Abbildung zugeordnet sind, welche die Entsprechung zwischen Speicherpositionen des Quelldatensatzes und Speicherpositionen des Zieldatensatzes angibt.
  10. Verfahren nach Anspruch 7, wobei die Operationen des Weiteren aufweisen: Empfangen einer Eingabe/Ausgabe-Anforderung (E/A-Anforderung) von einer Host-Datenverarbeitungseinheit; und als Reaktion auf ein Ermitteln, dass eine der E/A-Anforderung entsprechende Spur in dem Zieldatensatz aktualisiert wurde, Senden der E/A-Anforderung für die Spur an Zieldatensatzbereiche.
  11. Verfahren nach Anspruch 7, wobei die Operationen des Weiteren aufweisen: Empfangen einer Eingabe/Ausgabe-Anforderung (E/A-Anforderung) von einer Host-Datenverarbeitungseinheit; und als Reaktion auf ein Ermitteln, dass eine der E/A-Anforderung entsprechende Spur in dem Zieldatensatz nicht aktualisiert wurde, Senden der E/A-Anforderung für die Spur an Quelldatensatzbereiche.
  12. System nach Anspruch 7, wobei die Abbildung, die eine Entsprechung zwischen den Speicherpositionen des Quelldatensatzes und den Speicherpositionen des Zieldatensatzes angibt, einzelne Bereiche oder Bereichsabschnitte oder Datenträger und zugehörige Zylinderabschnitte über Eins-zu-Eins-, Viele-zu-Eins- und Eins-zu-Viele-Entsprechungen zuordnet.
  13. Computerprogrammprodukt, wobei das Computerprogrammprodukt ein durch einen Computer lesbares Speichermedium aufweist, auf dem durch einen Computer lesbarer Programmcode enthalten ist, wobei der durch einen Computer lesbare Programmcode zum Durchführen von Operationen konfiguriert ist, wobei die Operationen aufweisen: Empfangen eines Befehls von einer Host-Anwendung, um eine zeitpunktgesteuerte Sicherung eines Quelldatensatzes in eine Speicher-Cloud durchzuführen, durch einen Speicher-Controller; Erzeugen eines Zieldatensatzes über eine zeitpunktgesteuerte Kopie des Quelldatensatzes sowie einer Abbildung, die eine Entsprechung zwischen Speicherpositionen des Quelldatensatzes und Speicherpositionen des Zieldatensatzes angibt, durch den Speicher-Controller; und Kopieren des Zieldatensatzes in die Speicher-Cloud durch den Speicher-Controller, um einen Sicherungsdatensatz zu erzeugen, der die zeitpunktgesteuerte Sicherung des Quelldatensatzes ist, wobei der Zugriff auf den Sicherungsdatensatz über einen Verweis auf die Speicherpositionen des Quelldatensatzes möglich ist.
  14. Computerprogrammprodukt nach Anspruch 13, wobei die Host-Anwendung in einer Host-Datenverarbeitungseinheit ausgeführt wird, die mit dem Speicher-Controller verbunden ist, wobei Operationen zum Durchführen der zeitpunktgesteuerten Sicherung des Zieldatensatzes in die Speicher-Cloud von der Host-Datenverarbeitungseinheit an den Speicher-Controller ausgelagert werden und wobei der Speicher-Controller den Zieldatensatz in die Speicher-Cloud kopiert, ohne Bereiche, Spuren oder andere Speicherentitäten des Zieldatensatzes an die Host-Datenverarbeitungseinheit zu übertragen.
  15. Computerprogrammprodukt nach Anspruch 13, wobei die zeitpunktgesteuerte Sicherung des Quelldatensatzes in die Speicher-Cloud durch eine virtuelle, gleichzeitige Kopiersitzung durchgeführt wird, wobei die Operationen des Weiteren aufweisen: als Reaktion auf die Beendigung der virtuellen, gleichzeitigen Kopiersitzung ein Freigeben von Ressourcen, die der Abbildung zugeordnet sind, welche die Entsprechung zwischen Speicherpositionen des Quelldatensatzes und Speicherpositionen des Zieldatensatzes angibt.
  16. Computerprogrammprodukt nach Anspruch 13, wobei die Operationen des Weiteren aufweisen: Empfangen einer Eingabe/Ausgabe-Anforderung (E/A-Anforderung) von einer Host-Datenverarbeitungseinheit durch den Speicher-Controller; und als Reaktion auf ein Ermitteln, dass eine der E/A-Anforderung entsprechende Spur in dem Zieldatensatz aktualisiert wurde, Senden der E/A-Anforderung für die Spur an Zieldatensatzbereiche durch den Speicher-Controller.
  17. Computerprogrammprodukt nach Anspruch 13, wobei die Operationen des Weiteren aufweisen: Empfangen einer Eingabe/Ausgabe-Anforderung (E/A-Anforderung) von einer Host-Datenverarbeitungseinheit durch den Speicher-Controller; und als Reaktion auf ein Ermitteln, dass eine der E/A-Anforderung entsprechende Spur in dem Zieldatensatz nicht aktualisiert wurde, Senden der E/A-Anforderung für die Spur an Quelldatensatzbereiche durch den Speicher-Controller.
  18. Computerprogrammprodukt nach Anspruch 13, wobei die Abbildung, die eine Entsprechung zwischen den Speicherpositionen des Quelldatensatzes und den Speicherpositionen des Zieldatensatzes angibt, einzelne Bereiche oder Bereichsabschnitte oder Datenträger und zugehörige Zylinderabschnitte über Eins-zu-Eins-, Viele-zu-Eins- und Eins-zu-Viele-Entsprechungen zuordnet.
  19. Cloud-Computing-System, aufweisend: eine Speicher-Cloud; einen Speicher-Controller, der mit der Speicher-Cloud verbunden ist; einen Host, der mit dem Speicher-Controller verbunden ist, wobei Operationen, die in dem Cloud-Computing-System durchgeführt werden, aufweisen: Empfangen eines Befehls von einer Host-Anwendung, um eine zeitpunktgesteuerte Sicherung eines Quelldatensatzes in eine Speicher-Cloud durchzuführen, durch einen Speicher-Controller; Erzeugen eines Zieldatensatzes über eine zeitpunktgesteuerte Kopie des Quelldatensatzes sowie einer Abbildung, die eine Entsprechung zwischen Speicherpositionen des Quelldatensatzes und Speicherpositionen des Zieldatensatzes angibt, durch den Speicher-Controller; und Kopieren des Zieldatensatzes in die Speicher-Cloud durch den Speicher-Controller, um einen Sicherungsdatensatz zu erzeugen, der die zeitpunktgesteuerte Sicherung des Quelldatensatzes ist, wobei der Zugriff auf den Sicherungsdatensatz über einen Verweis auf die Speicherpositionen des Quelldatensatzes möglich ist.
  20. Cloud-Computing-System nach Anspruch 19, wobei die Host-Anwendung in einer Host-Datenverarbeitungseinheit ausgeführt wird, die mit dem Speicher-Controller verbunden ist, wobei Operationen zum Durchführen der zeitpunktgesteuerten Sicherung des Zieldatensatzes in die Speicher-Cloud von der Host-Datenverarbeitungseinheit an den Speicher-Controller ausgelagert werden und wobei der Speicher-Controller den Zieldatensatz in die Speicher-Cloud kopiert, ohne Bereiche, Spuren oder andere Speicherentitäten des Zieldatensatzes an die Host-Datenverarbeitungseinheit zu übertragen.
  21. Cloud-Computing System nach Anspruch 19, wobei die zeitpunktgesteuerte Sicherung des Quelldatensatzes in die Speicher-Cloud durch eine virtuelle, gleichzeitige Kopiersitzung durchgeführt wird, wobei die Operationen des Weiteren aufweisen: als Reaktion auf die Beendigung der virtuellen, gleichzeitigen Kopiersitzung ein Freigeben von Ressourcen, die der Abbildung zugeordnet sind, welche die Entsprechung zwischen Speicherpositionen des Quelldatensatzes und Speicherpositionen des Zieldatensatzes angibt.
  22. Host-Datenverarbeitungseinheit, aufweisend: einen Arbeitsspeicher; und einen Prozessor, der mit dem Arbeitsspeicher verbunden ist, wobei der Prozessor Operationen durchführt, aufweisend: Übertragen eines Befehls von einer Host-Anwendung an einen Speicher-Controller, um eine zeitpunktgesteuerte Sicherung eines Quelldatensatzes in eine Speicher-Cloud durchzuführen, wobei der Speicher-Controller über eine zeitpunktgesteuerte Kopie des Quelldatensatzes einen Zieldatensatz sowie eine Abbildung erzeugt, die eine Entsprechung zwischen Speicherpositionen des Quelldatensatzes und Speicherpositionen des Zieldatensatzes angibt, und den Zieldatensatz in die Speicher-Cloud kopiert, um einen Sicherungsdatensatz zu erzeugen, der die zeitpunktgesteuerte Sicherung des Quelldatensatzes ist; und Zugreifen auf den Sicherungsdatensatz über einen Verweis auf die Speicherpositionen des Quelldatensatzes.
  23. Host-Datenverarbeitungseinheit nach Anspruch 22, wobei Operationen zum Durchführen der zeitpunktgesteuerten Sicherung des Zieldatensatzes in die Speicher-Cloud von der Host-Datenverarbeitungseinheit an den Speicher-Controller ausgelagert werden und wobei der Speicher-Controller den Zieldatensatz in die Speicher-Cloud kopiert, ohne Bereiche, Spuren oder andere Speicherentitäten des Zieldatensatzes an die Host-Datenverarbeitungseinheit zu übertragen.
  24. Host-Datenverarbeitungseinheit nach Anspruch 22, wobei die zeitpunktgesteuerte Sicherung des Quelldatensatzes in die Speicher-Cloud durch eine virtuelle, gleichzeitige Kopiersitzung durchgeführt wird und wobei als Reaktion auf die Beendigung der virtuellen, gleichzeitigen Kopiersitzung Ressourcen freigegeben werden, die der Abbildung zugeordnet sind, welche die Entsprechungen zwischen Speicherpositionen des Quelldatensatzes und Speicherpositionen des Zieldatensatzes angibt.
  25. Host-Datenverarbeitungseinheit nach Anspruch 22, wobei die Host-Anwendung über den Speicher-Controller auf die Speicher-Cloud zugreift.
DE112017005772.8T 2016-11-16 2017-11-03 Zeitpunktgesteuerte sicherungen über einen speicher-controller in eine objektspeicher-cloud Pending DE112017005772T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/353,114 US10346062B2 (en) 2016-11-16 2016-11-16 Point-in-time backups via a storage controller to an object storage cloud
US15/353,114 2016-11-16
PCT/IB2017/056860 WO2018091996A1 (en) 2016-11-16 2017-11-03 Point-in-time backups via a storage controller to an object storage cloud

Publications (1)

Publication Number Publication Date
DE112017005772T5 true DE112017005772T5 (de) 2019-08-14

Family

ID=62107837

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112017005772.8T Pending DE112017005772T5 (de) 2016-11-16 2017-11-03 Zeitpunktgesteuerte sicherungen über einen speicher-controller in eine objektspeicher-cloud

Country Status (6)

Country Link
US (3) US10346062B2 (de)
JP (1) JP6941173B2 (de)
CN (1) CN109906439B (de)
DE (1) DE112017005772T5 (de)
GB (1) GB2571484B (de)
WO (1) WO2018091996A1 (de)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10346062B2 (en) 2016-11-16 2019-07-09 International Business Machines Corporation Point-in-time backups via a storage controller to an object storage cloud
CN109445716A (zh) * 2018-11-14 2019-03-08 郑州云海信息技术有限公司 一种云硬盘扩容方法和装置
US11379254B1 (en) * 2018-11-18 2022-07-05 Pure Storage, Inc. Dynamic configuration of a cloud-based storage system
US11099942B2 (en) * 2019-03-21 2021-08-24 International Business Machines Corporation Archival to cloud storage while performing remote backup of data
US20220222006A1 (en) * 2021-01-14 2022-07-14 Seagate Technology Llc In-device handling of file and object life cycle

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6910214B1 (en) * 1999-08-25 2005-06-21 International Business Machines Corporation Method, system, and program for converting an input parameter list into an output parameter list
US6959369B1 (en) * 2003-03-06 2005-10-25 International Business Machines Corporation Method, system, and program for data backup
JP4456909B2 (ja) 2004-03-29 2010-04-28 株式会社日立製作所 バックアップ方法、ストレージシステム及びそのプログラム
JP2006048300A (ja) 2004-08-03 2006-02-16 Hitachi Ltd ディスクアレイ装置群およびそのコピー処理方法
US7756833B2 (en) * 2004-09-22 2010-07-13 Microsoft Corporation Method and system for synthetic backup and restore
TWI353536B (en) * 2006-01-26 2011-12-01 Infortrend Technology Inc Virtualized storage computer system and method of
JP2009129283A (ja) 2007-11-26 2009-06-11 Toshiba Corp データ記憶装置、データバックアップ方法およびデータバックアッププログラム
US8856080B2 (en) 2009-10-30 2014-10-07 Microsoft Corporation Backup using metadata virtual hard drive and differential virtual hard drive
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
US8595454B1 (en) * 2010-08-31 2013-11-26 Symantec Corporation System and method for caching mapping information for off-host backups
EP2643760A4 (de) * 2010-11-16 2015-09-30 Actifio Inc Systeme und verfahren zur datenverwaltungsvirtualisierung
US8886609B2 (en) 2010-12-17 2014-11-11 Microsoft Corporation Backup and restore of data from any cluster node
CN103136030A (zh) * 2011-11-24 2013-06-05 鸿富锦精密工业(深圳)有限公司 虚拟机管理系统及方法
US9613104B2 (en) 2012-02-17 2017-04-04 Netflix, Inc. System and method for building a point-in-time snapshot of an eventually-consistent data store
US8903764B2 (en) * 2012-04-25 2014-12-02 International Business Machines Corporation Enhanced reliability in deduplication technology over storage clouds
US9501546B2 (en) * 2012-06-18 2016-11-22 Actifio, Inc. System and method for quick-linking user interface jobs across services based on system implementation information
US10346369B2 (en) 2012-10-11 2019-07-09 Delphix Corp. Retrieving point-in-time copies of a source database for creating virtual databases
US9405704B2 (en) * 2012-10-16 2016-08-02 International Business Machines Corporation Establishing a point-in-time copy relationship between source logical addresses and target logical addresses
CN102999400A (zh) * 2012-11-22 2013-03-27 中国电信股份有限公司云计算分公司 一种云存储系统数据备份方法及装置
GB2509930A (en) 2013-01-17 2014-07-23 Ibm Data backup recovery
US9262092B2 (en) * 2014-01-30 2016-02-16 International Business Machines Corporation Management of extent checking in a storage controller during copy services operations
US20150227600A1 (en) 2014-02-13 2015-08-13 Actifio, Inc. Virtual data backup
US9648100B2 (en) 2014-03-05 2017-05-09 Commvault Systems, Inc. Cross-system storage management for transferring data across autonomous information management systems
US20150269032A1 (en) 2014-03-18 2015-09-24 Netapp, Inc. Backing up data to cloud data storage while maintaining storage efficiency
US9542107B2 (en) 2014-06-25 2017-01-10 International Business Machines Corporation Flash copy relationship management
US10360110B2 (en) * 2014-08-06 2019-07-23 Commvault Systems, Inc. Point-in-time backups of a production application made accessible over fibre channel and/or iSCSI as data sources to a remote application by representing the backups as pseudo-disks operating apart from the production application and its host
US10013313B2 (en) 2014-09-16 2018-07-03 Actifio, Inc. Integrated database and log backup
US9715353B2 (en) * 2014-09-16 2017-07-25 International Business Machines Corporation Data set management
US9430272B2 (en) 2014-12-17 2016-08-30 Microsoft Technology Licensing, Llc Efficiently providing virtual machine reference points
US10108352B2 (en) * 2015-03-03 2018-10-23 International Business Machines Corporation Incremental replication of a source data set
US11042131B2 (en) * 2015-03-16 2021-06-22 Rockwell Automation Technologies, Inc. Backup of an industrial automation plant in the cloud
US10754733B2 (en) * 2015-07-16 2020-08-25 Gil Peleg System and method for mainframe computers backup and restore
CN105302668B (zh) * 2015-10-21 2018-09-25 上海爱数信息技术股份有限公司 一种优化对象存储系统中块设备数据访问性能的方法
CN105677516B (zh) 2016-01-07 2019-11-05 成都市思叠科技有限公司 一种计算靠近存储云平台中高效可靠的备份恢复方法
US10346062B2 (en) 2016-11-16 2019-07-09 International Business Machines Corporation Point-in-time backups via a storage controller to an object storage cloud

Also Published As

Publication number Publication date
GB2571484A (en) 2019-08-28
CN109906439B (zh) 2023-06-06
JP2020504858A (ja) 2020-02-13
US20180136858A1 (en) 2018-05-17
GB201908323D0 (en) 2019-07-24
GB2571484B (en) 2020-02-19
US20190265896A1 (en) 2019-08-29
US10936208B2 (en) 2021-03-02
CN109906439A (zh) 2019-06-18
US20210109663A1 (en) 2021-04-15
WO2018091996A1 (en) 2018-05-24
JP6941173B2 (ja) 2021-09-29
US10346062B2 (en) 2019-07-09
US11366593B2 (en) 2022-06-21

Similar Documents

Publication Publication Date Title
DE112016003120B4 (de) Umleiten einer Kopie beim Schreiben
DE112017005772T5 (de) Zeitpunktgesteuerte sicherungen über einen speicher-controller in eine objektspeicher-cloud
DE112012005037B4 (de) Verwalten von redundanten unveränderlichen Dateien unter Verwendung von Deduplizierungen in Speicher-Clouds
DE102016119298B4 (de) Zeitpunktkopieren mit klonen von ketten
DE112018004008B4 (de) Auf dateisysteminhalten beruhende sicherheit
DE112012005032T5 (de) Entfernen der Datenremanenz in deduplizierten Speicher-Clouds
DE112017005588T5 (de) Speichern und abrufen von eingeschränkten datensätzen in und aus einem cloud-netzwerk mit nichteingeschränkten datensätzen
DE112019001433T5 (de) Datenanonymisierung
DE112015000343T5 (de) Erstellen einer Wiederherstellungskopie von einer Quelldaten-Kopie in einem Repository, das Quelldaten an verschiedenen Zeitpunkten aufweist
DE112019003130T5 (de) Hsm-selbstzerstörung in einer hybriden cloud-kms-lösung
DE102016105062A1 (de) Nähengestützte Berechtigungsprüfung für einheitenübergreifend verteilte Daten
DE102021127254A1 (de) Inhaltssensitives Auswählen von Knoten zum Erstellen von Containern
DE102021123135A1 (de) Leistungs- und upgrade-verwaltung für anlagegüter mit hilfe von digitalen zwillingen
DE112021004290T5 (de) Gemeinsames nutzen von zwischengespeicherten klassendaten in einer containerisierten umgebung
DE112017005022T5 (de) Umladen der Bandverarbeitung auf Objektspeicher
DE112018000900T5 (de) Verarbeiten eines Befehls zum Freigeben von Speicherplatz in einem Computersystem
DE112021000338T5 (de) Auslagern der statistikerfassung
DE112018004138T5 (de) Asynchrone aktualisierung von metadatenspuren in reaktion auf einen mittels einer e/a-operation über eine busschnittstelle erzeugten cachetreffer
DE112019003255T5 (de) Auslagern von spuren mit lücken in einem speichersystem
DE112020004760T5 (de) Steuern von interaktionen mit einer skalierbaren anwendung
DE112021003402T5 (de) Blockchain-verwaltung von bereitstellungsfehlern
DE112021005636T5 (de) Migrieren von komplexen legacy-anwendungen
DE112022002615T5 (de) Kontinuierliche funktionsfähigkeit und integrität von anwendungen während eines migrationsvorgangs
DE112021004119T5 (de) Speicherabstufung innerhalb einer vereinheitlichten speicherumgebung
DE102021130358A1 (de) E/a-operationen in log-strukturierten arrays

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R084 Declaration of willingness to licence