-
Bereich der Erfindung
-
Die Erfindung betrifft den Bereich der Datenverarbeitung und, genauer gesagt, die Sicherung und/oder die Wiederherstellung von Daten.
-
Hintergrund
-
Bei den aktuellen Sicherungs- und Wiederherstellungstechnologien besteht ein weit verbreitetes Problem darin, dass die Wiederherstellung von Daten von einer Sicherungskopie sehr zeitaufwendig sein kann. Sicherungs- und Wiederherstellungstechnologien, um Daten von nichtflüchtigen Speichermedien wiederherzustellen, sind oftmals langsam, da die nichtflüchtigen Speichermedien häufig lange Antwortzeiten haben. Die Verwendung von vergleichsweise schnellen nichtflüchtigen Speichermedien ist in der Regel kostspielig. Nichtflüchtige Speichermedien, die kurze Antwortzeiten haben, stehen deshalb oft nicht in ausreichender Kapazität zur Verfügung. Folglich kann die Anzahl der Sicherungskopien und der von den Sicherungskopien abgedeckte Zeitraum stark eingeschränkt sein. Ein weiteres Problem besteht darin, dass viele aktuelle Sicherungsstrategien keine speicherinternen Datenstrukturen abdecken, deren Erzeugung rechenintensiv ist. Somit müssen die Datenstrukturen bei der Wiederherstellung der Sicherungskopie erneut erzeugt werden, was den für eine vollständige Wiederherstellung des ursprünglichen Systemzustands erforderlichen Zeitraum weiter erhöht.
-
Kurzdarstellung der Erfindung
-
Es ist eine Aufgabe von Ausführungsformen der Erfindung, ein verbessertes, von einem Computer ausgeführtes Verfahren, einen von einem Computer lesbaren Datenträger und ein Computersystem vorzusehen, um Sicherungskopien von Daten anzulegen und/oder um Daten wiederherzustellen. Die Aufgabe wird durch die Merkmale der unabhängigen Ansprüche gelöst. Bevorzugte Ausführungsformen sind in den abhängigen Ansprüchen angegeben. Soweit nicht ausdrücklich anders angegeben, können Ausführungsformen der Erfindung frei miteinander kombiniert werden.
-
In der hier verwendeten Weise ist ein ”Abbild” eines ersten Speicherbereichs eine Datenangabe, welche eine Ableitung des Dateninhalts des ersten Speicherbereichs ist und alle notwendigen Informationen aufweist, um die Wiederherstellung der Gesamtheit der Daten zu ermöglichen, die zu dem Zeitpunkt, zu dem das Abbild erstellt wird, in dem ersten Speicherbereich gespeichert sind. Das Abbild sollte nicht so verstanden werden, dass es auf die Erstellung einer physischen Kopie eines jeden Speicherblocks in dem ersten Speicherbereich beschränkt ist. Manchen Ausführungsformen entsprechend kann das Abbild auf der Grundlage der physischen Kopien erstellt werden, gemäß weiteren Ausführungsformen jedoch, die später erörtert werden, kann das Abbild auf Zeigern beruhen, die auf geänderte und/oder nicht geänderte Teile des ersten Speicherbereichs zeigen. Vorzugsweise wird das Abbild in Verbindung mit einem Zeitstempel gespeichert, der den Zeitpunkt der Erstellung des Abbilds angibt. In Abhängigkeit von der Art der Daten, die in dem Arbeitsspeicher gespeichert waren, als das Abbild erstellt wurde, kann das Abbild von einem Computer auswertbare Anweisungen eines in den ersten Speicherbereich geladenen Anwendungsprogramms und/oder Nutzdaten (d. h. nicht ausführbare Daten) aufweisen, die von dem Anwendungsprogramm als Eingabe verwendet oder von dem Anwendungsprogramm als Ausgabe erzeugt werden. Die Anweisungen können zum Beispiel die Form von Bytecode und/oder einer in einer Skriptsprache geschriebenen Quelldatei haben, die in den Arbeitsspeicher geladen wird.
-
In der hier verwendeten Weise umfasst der Begriff ”Daten” ausführbaren Code, Nutzdaten oder eine beliebige Kombination daraus. Vorzugsweise beziehen sich die Daten auf einen funktional zusammenhängenden Satz von Daten, der beispielsweise aus Anweisungen eines Anwendungsprogramms, z. B. eines Datenbankverwaltungssystems, die von einem Computer ausgewertet werden können, und einigen Nutzdaten besteht, die von dem Anwendungsprogramm verarbeitet werden, z. B. dem Dateninhalt einer Datenbank und/oder einigen Indexstrukturen, die aus dem Dateninhalt erzeugt wurden.
-
In der hier verwendeten Weise ist ein ”Anwendungsprogramm” ein Softwareprogramm, das von einem Computer ausführbare Anweisungen aufweist. Beispiele für ein Anwendungsprogramm sind relationale oder spaltenorientierte Datenbankverwaltungssysteme, Anwendungsprogramme für den elektronischen Handel (e-Commerce), ERP-Systeme, CMS-Systeme oder dergleichen.
-
In der hier verwendeten Weise ist eine ”relationale Datenbank” eine Datenbank, in der Daten in Form von einer oder mehreren Tabellen organisiert sind, wobei jeder Datensatz einer Zeile von mindestens einer der Tabellen entspricht, wobei jede Spalte einen Parameter eines Datenobjekts darstellt. Beispiele für relationale Datenbankverwaltungssysteme sind MySQL oder PostgreSQL.
-
In der hier verwendeten Weise ist eine ”spaltenorientierte Datenbank” eine Datenbank, in der Daten in Form von einer oder mehreren Spalten organisiert sind, die jeweils einen oder mehrere bestimmte Parameterwerte, z. B. in Form von einer geordneten Liste, aufweisen. Jeder der bestimmten Parameterwerte wird in Verbindung mit einer oder mehreren Objekt-Kennungen (IDs) von Datenobjekten gespeichert, die von dem Parameterwert gekennzeichnet werden. Beispiele für spaltenorientierte Datenbankverwaltungssysteme sind Vertica und Sybase IQ.
-
In der hier verwendeten Weise ist ein ”nichtflüchtiges, von einem Computer lesbares Speichermedium” oder ein ”nichtflüchtiges Speichermedium” eine beliebige Art eines Speichermediums, das in der Lage ist, von einem Computer auswertbare Daten dauerhaft zu speichern. In der hier verwendeten Weise kann ein ”permanenter Speicher” die gespeicherten Daten auch dann erhalten, wenn er nicht mit Strom versorgt ist. Ein von einem Computer lesbares Speichermedium kann zum Beispiel, ohne darauf beschränkt zu sein, ein(e) elektronische(s), magnetische(s), optische(s), elektromagnetische(s), Infrarot- oder Halbleitersystem, -vorrichtung oder -einheit oder jede beliebige geeignete Kombination des Vorstehenden sein. Zu konkreteren Beispielen (wobei die Liste keinen Anspruch auf Vollständigkeit erhebt) für das von einem Computer lesbare Speichermedium würden folgende gehören:
eine elektrische Verbindung mit einer oder mehreren Leitungen, eine Diskette eines tragbaren Computers, eine Festplatte, ein Nur-Lese-Speicher (ROM), ein löschbarer programmierbarer Nur-Lese-Speicher (EPROM oder Flash-Speicher), ein Lichtwellenleiter, ein tragbarer Compact-Disk-Nur-Lese-Speicher (CD-ROM), eine optische Speichereinheit, eine magnetische Speichereinheit oder jede beliebige geeignete Kombination des Vorstehenden. In Zusammenhang mit diesem Schriftstück kann ein von einem Computer lesbares Speichermedium jedes physisch greifbare Medium sein, das ein Programm zur Verwendung durch ein Anweisungsausführungssystem, eine Anweisungsausführungsvorrichtung oder -einheit oder zur Verwendung in Verbindung mit einem Anweisungsausführungssystem, einer Anweisungsausführungsvorrichtung oder -einheit enthalten oder speichern kann.
-
In der hier verwendeten Weise bezieht sich der Begriff ”Arbeitsspeicher” auf jede beliebige Art eines flüchtigen Speichermediums, das als Hauptspeicher eines Computersystems dient. Der Arbeitsspeicher benötigt Strom, um seine gespeicherten Daten zu erhalten. Ein Arbeitsspeicher kann zum Beispiel, ohne darauf beschränkt zu sein, ein Direktzugriffspeicher (RAM) sein, z. B. ein dynamischer RAM (DRAM) oder ein statischer RAM (SRAM), z. B. ein DDR SDRAM.
-
In der hier verwendeten Weise ist eine ”Speicherschicht” eine Gruppe von flüchtigen und/oder nichfflüchtigen Speicherressourcen, die einem vorher festgelegten Satz von Eigenschaften wie zum Beispiel einer kleinstmöglichen E/A-Antwortzeit, entsprechen.
-
In einem Aspekt betrifft die Erfindung ein von einem Computer ausgeführtes Verfahren zum Anlegen einer Sicherungskopie von Daten durch ein Computersystem, das mit einem Hauptspeicher und mit einem nichfflüchtigen Speichermedium oder mit mehreren nichfflüchtigen Speichermedien betriebsfähig verbunden ist. Das Anlegen der Sicherungskopie weist auf:
- – Zuweisen eines ersten Speicherbereichs in dem Hauptspeicher zu den Daten und Laden der Daten in den ersten Speicherbereich;
- – Zuordnen eines zweiten Speicherbereichs in dem Hauptspeicher, um als Behälter von einem oder mehreren Abbildern des ersten Speicherbereichs zu dienen;
- – automatisches Erstellen des einen oder der mehreren Abbilder; und
- – automatisches Speichern des erstellten einen Abbilds oder der erstellten mehreren Abbilder in dem zweiten Speicherbereich und Speichern einer entsprechenden Kopie von mindestens einem der Abbilder in dem einen nichtflüchtigen Speichermedium oder in den mehreren nichtflüchtigen Speichermedien, wobei das Speichern in dem zweiten Speicherbereich und das Speichern in dem einen nichtflüchtigen Speichermedium oder in den mehreren nichtflüchtigen Speichermedien entsprechend einer oder mehreren vorher festgelegten Sicherungsregeln ausgeführt wird.
-
Die Merkmale können vorteilhaft sein, da in Abhängigkeit von einer oder mehreren vorher festgelegten Sicherungsregeln, die zur Laufzeit eines Computersystems ausgeführt werden, eine automatische Entscheidung getroffen wird, ob der Inhalt von einem bestimmten ersten Speicherbereich und folglich der ausführbare und/oder nicht ausführbare Inhalt eines bestimmten Anwendungsprogramms oder Programmmoduls in dem (schnellen, aber gewöhnlich teuren) Arbeitsspeicher und/oder auf einem oder mehreren (gewöhnlich nicht so schnellen, aber kostengünstigeren) nichtflüchtigen Speichermedien gespeichert werden soll. Indem einige Teile des Arbeitsspeichers als eine weitere Sicherungsebene reserviert und betrachtet werden, kann der Sicherungsprozess beschleunigt werden. Zumindest in Anwendungsfall-Szenarien, z. B. in Cloud-Service-Umgebungen, in denen die dem ersten Speicherbereich zugewiesenen Daten in Form von einer weiteren Kopie der Daten anderen Clients bereitgestellt werden sollen, kann das Anlegen von speicherinternen Sicherungskopien die Leistungsfähigkeit der Bereitstellung der Daten an die Service-Clients erhöhen, während die Kopien der in den nichtflüchtigen Speichermedien gespeicherten Abbilder darüber hinaus Schutz gegen System- und Stromausfälle bieten kann. Gemäß bevorzugten Ausführungsformen ist der erste Speicherbereich ein logisch definierter Speicherbereich, d. h., seine physischen Speicherblöcke sind nicht unbedingt fortlaufend angeordnet, sondern können über den Hauptspeicher verteilt sein.
-
Gemäß Ausführungsformen wird das Datensicherungs- und/oder -wiederherstellungsverfahren von einem Server-Computersystem ausgeführt, das Teil einer Cloud-Service-Umgebung sein kann. In der hier verwendeten Weise ist ein ”Server-Computersystem” oder ein ”Server” eine beliebige Art eines Datenverarbeitungssystems, das einem oder mehreren Clients Daten als einen Dienst bereitstellt. Das Server-Computersystem empfängt eine oder mehrere Anforderungen von jeweiligen Client-Computer-Systemen für die in dem ersten Speicherbereich enthaltenen Daten. Die Daten in dem ersten Speicherbereich könnten beispielsweise ein Datenbankverwaltungssystem sein und die jeweiligen Client-Computer-Systeme könnten einige in der Datenbank enthaltene Daten anfordern. Falls die Anzahl der Clients einen Schwellwert überschreitet oder falls die Auslastung des Computersystems, das den Arbeitsspeicher aufweist, einen Auslastungsschwellwert überschreitet, werden die Daten als eine weitere Instanz von einem der Abbilder oder von einer der Abbildkopien auf einem anderen Server-Computer, der seinen eigenen Arbeitsspeicher und seine eigene(n) Verarbeitungseinheit(en) aufweist, wiederhergestellt. Vorzugsweise lesen die Wiederherstellungsregeln die Daten aus dem zweiten Speicherbereich, der kurze Antwortzeiten hat. In manchen Fällen, z. B. nach einem Stromausfall, können die Daten alternativ von einer der Abbildkopien gelesen werden, die auf einem nichtflüchtigen Speichermedium gespeichert sind. Folglich können Ausführungsformen der Erfindung eine Sicherungs- und/oder Wiederherstellungseinrichtung mit null Ausfallzeit und sehr kurzen Verzögerungen für Service-Clients bereitstellen, um einem oder mehreren anfordernden Clients speicherinterne Daten zur Verfügung zu stellen.
-
Vorzugsweise wird die Größe des ersten Speicherbereichs so gewählt, dass gewährleistet ist, dass alle (ausführbaren und nicht ausführbaren) Daten, die sich auf ein bestimmtes Funktionsmodul oder Anwendungsprogramm beziehen, über die gesamte Lebensdauer des Funktionsmoduls oder des Anwendungsprogramms in den ersten Speicherbereich passen. Da sich der Umfang der Daten, die von dem Anwendungsprogramm gerade im Arbeitsspeicher verarbeitet werden, im Laufe der Zeit verändern kann, nehmen die Daten somit üblicherweise nur einen sich dynamisch verändernden Bruchteil des ersten Speicherbereichs in Anspruch. Manchen Ausführungsformen entsprechend bestehen die Daten, denen der erste Speicherbereich zugewiesen wurde, aus ausführbaren und/oder nicht ausführbaren Daten eines Anwendungsprogramms, z. B. eines relationalen oder spaltenorientierten Datenbankverwaltungssystems.
-
Gemäß Ausführungsformen wird die Zuweisung des ersten Speicherbereichs zu den Daten von einem Anwendungsprogramm veranlasst, das den ersten Speicherbereich von dem Betriebssystem (operating system (OS)) anfordert, nachdem das Anwendungsprogramm gestartet worden ist. Gemäß weiteren Ausführungsformen fordert das Anwendungsprogramm den ersten Speicherbereich von einem Verwaltungsmodul an, wobei das Verwaltungsmodul den ersten Speicherbereich dann von dem OS anfordert.
-
Gemäß Ausführungsformen wählen die Sicherungs- und/oder Wiederherstellungsregeln den zweiten Speicherbereich oder eines der nichtflüchtigen Speichermedien in Abhängigkeit von Parametern aus, die während der Ausführung der Regeln dynamisch bestimmt und ausgewertet werden. Die Parameter können sich auf Systemparameter beziehen, die den Zustand eines Speicherverwaltungssystems, ein Anwendungsprogramm, das aus den Daten besteht, die dem ersten Speicherbereich zugewiesen werden, die Anzahl der Clients, den Netzwerkverkehr, die verfügbare freie Kapazität in dem zweiten Speicherbereich und/oder in den nichfflüchtigen Speichermedien oder dergleichen angeben. Indem der zweite Speicherbereich als ein weiteres Sicherungs- und Wiederherstellungsmedium betrachtet und behandelt wird, das durch jeweils kurze Antwortzeiten gekennzeichnet ist, kann die optimale Sicherungs- und Wiederherstellungsstrategie im Hinblick auf die Zeit und die Speicherkosten und in Bezug auf die Vermeidung von Engpässen bei der Erbringung von Diensten folglich automatisch ohne jedweden Benutzereingriff durchgeführt werden.
-
In einem weiteren Aspekt betrifft die Erfindung ein von einem Computer ausgeführtes Verfahren zur Wiederherstellung von Daten. Das Verfahren wird von einem Computersystem ausgeführt, das mit einem Hauptspeicher und mit einem oder mehreren nichtflüchtigen Speichermedien betriebsfähig verbunden ist. Der Hauptspeicher weist einen ersten Speicherbereich und einen zweiten Speicherbereich auf. Der zweite Speicherbereich ist ein Behälter, in dem ein oder mehrere Abbilder des ersten Speicherbereichs gespeichert sind, die zu jeweiligen vorhergehenden Zeitpunkten erstellt wurden. Das eine nichtflüchtige Speichermedium oder die mehreren nichtflüchtigen Speichermedien weisen eine oder mehrere Kopien von entsprechenden der Abbilder auf. Das Wiederherstellen weist auf:
- – automatisches Lesen von einem Abbild des einen oder der mehreren Abbilder aus dem zweiten Speicherbereich oder Lesen von einer Kopie der einen oder der mehreren Kopien der Abbilder von dem einen nichtflüchtigen Speichermedium oder den mehreren nichtflüchtigen Speichermedien, wobei das Lesen entsprechend einer oder mehreren vorher festgelegten Wiederherstellungsregeln ausgeführt wird; und
- – Kopieren des gelesenen Abbilds oder der gelesenen Kopie des Abbilds in den ersten Speicherbereich des Hauptspeichers, um dem ersten Speicherbereich zugewiesene Daten wiederherzustellen.
-
Analog zu dem Sicherungsverfahren können die Merkmale vorteilhaft sein, da sie eine vollkommen automatische und äußerst dynamische Wiederherstellungsstrategie vorsehen. In Abhängigkeit von den Erfordernissen des Client oder in Abhängigkeit von anderen Systemparametern, die zur Laufzeit festgestellt werden, können die Daten sehr schnell aus dem zweiten Speicherbereich wiederhergestellt werden. Alternativ können die Daten von einem der nichtflüchtigen Speichermedien wiederhergestellt werden, in denen üblicherweise eine höhere Anzahl von Abbildern als in dem zweiten Speicherbereich gespeichert ist und in denen folglich Kopien von Abbildern gespeichert sind, die einen längeren Zeitraum abdecken als die in dem zweiten Speicherbereich gespeicherten Abbilder.
-
Gemäß Ausführungsformen handelt es sich bei den Daten um ein Anwendungsprogramm oder um ein Funktionsmodul des Anwendungsprogramms. Das Anwendungsprogramm oder das Funktionsmodul werden in den ersten Speicherbereich geladen, um das Anwendungsprogramm auszuführen oder um das Modul auszuführen. Die Zuweisung hindert das Anwendungsprogramm daran, einen beliebigen Speicherblock außerhalb des ersten Speicherbereichs zu verwenden oder zu belegen. Manchen Ausführungsformen entsprechend sind die Sicherungs- und/oder Wiederherstellungsregeln anwendungsspezifisch. Dies kann vorteilhaft sein, da eine automatisch ausgeführte und anwendungsspezifische Sicherungs- und/oder Wiederherstellungsstrategie bereitgestellt wird, die speziell auf die Besonderheiten des Anwendungsprogramms und/oder auf die Besonderheiten der Benutzer des Anwendungsprogramms ausgelegt ist. Ein Unternehmen kann beispielsweise einer Vielzahl von Mitarbeitern in einer Client-Server-Umgebung zwei verschiedene Anwendungsprogramme bereitstellen. Ausführungsformen der Erfindung können es gestatten, dass Sicherungskopien von einem der Anwendungsprogramme häufiger angelegt werden als von dem anderen Anwendungsprogramm. Dies kann besonders vorteilhaft sein, wenn die hohe Relevanz der Daten des ersten Anwendungsprogramms für die Mitarbeiter eine hohe Verfügbarkeit dieses bestimmten Anwendungsprogramms erforderlich macht. Indem man den Sicherungsstrategien und entsprechenden Regeln von einigen ausgewählten Anwendungen den Vorrang gibt, ist es möglich, verfügbare Speicherkapazitäten wirksamer zu nutzen.
-
Gemäß Ausführungsformen handelt es sich bei den Daten um ein Datenbankverwaltungsprogramm, das hier auch als ”Datenbankverwaltungssystem” (DBMS) bezeichnet wird. Das Anwendungsprogramm, das in den ersten Speicherbereich geladen worden ist, und/oder das eine oder die mehreren gespeicherten Abbilder und/oder Kopien der Abbilder weisen jeweils einen Index oder mehrere Indizes der Datenbank und/oder einen oder mehrere leseoptimierte Speicher (read optimized stores (ROS)) der Datenbank und/oder einen oder mehrere schreiboptimierte Speicher (write optimized stores (WOS)) der Datenbank auf. Der eine Index oder die mehreren Indizes können beispielsweise Indizes sein, die einen schnellen speicherinternen Zugriff auf Daten von speicherinternen Datenbanken gestatten. Die Indizes werden in aktuellen speicherinternen Datenbanksystemen nicht persistent gespeichert und müssen nach der Initialisierung der speicherinternen Datenbank neu erstellt werden. Bei dem DBMS kann es sich um eine speicherinterne Datenbank oder um eine herkömmliche Datenbank handeln, die Daten in Pufferpools lädt, welche in den Arbeitsspeicher geladen werden. Das Zuweisen des ersten Speicherbereichs zu einem Datenbankverwaltungssystem und das Ausführen der Sicherungs- und/oder Wiederherstellungsoperationen gemäß Ausführungsformen der Erfindung kann insbesondere für Datenbankverwaltungssysteme vorteilhaft sein, da die Verwendung des DBMS üblicherweise das Erzeugen von Datenstrukturen wie zum Beispiel Indizes, ROS oder WOS aufweist, wobei deren Erzeugung rechenintensiv ist. Ein speicherinterner, schreiboptimierter Speicher (WOS) eines DBMS speichert Daten, die noch nicht auf Platte geschrieben wurden, zeilenweise. Somit dient ein WOS als ein Cachespeicher für die Datenbank. Ein leseoptimierter Speicher (ROS) eines DBMS weist einen oder mehrere ROS-Behälter auf. Ein ROS-Behälter speichert eine oder mehrere Spalten für einen Satz von Zeilen in einem speziellen Format, z. B. einem Spaltenformat oder einem ”gruppierten ROS”-Format. Das Speichern von Daten in einem ROS kann die Anwendung von rechnerisch anspruchsvollen Datenkompressionsalgorithmen aufweisen. In relationalen speicherinternen Datenbanken wie zum Beispiel SolidDB wird beispielsweise eine speicherinterne Kopie von bestimmten, auf einer nichfflüchtigen Platte basierenden Daten und Anweisungen angelegt. Die speicherinterne Datenbank wird als ein Cachespeicher zwischen einem Client und den auf einer nichfflüchtigen Platte basierenden Daten und Anweisungen verwendet. Die Vorgehensweisen zur Sicherung und/oder Wiederherstellung, die derzeit auf die speicherinternen Datenbanken angewendet werden, beruhen auf den auf einer nichtflüchtigen Platte basierenden Daten und Anweisungen des DBMS. Immer wenn eine solche relationale speicherinterne Datenbank von einer auf herkömmliche Weise angelegten Sicherungskopie wiederhergestellt wird, müssen daher alle Indexstrukturen neu erstellt werden, wenn die Datenbank in den Hauptspeicher geladen wird, da die Indexstrukturen nur in dem Hauptspeicher vorhanden waren und nie in die Sicherungskopie aufgenommen wurden. Vorhandene Sicherungs- und Wiederherstellungsstrategien, die beispielsweise für mehrere relationale speicherinterne Datenbanken angewendet werden, weisen einen ersten Schritt des Ladens einer Sicherungskopie in den Hauptspeicher, der hier auch als ”Arbeitsspeicher” bezeichnet wird, und einen (rechnerisch äußerst anspruchsvollen) zweiten Schritt auf, der das Erzeugen von ergänzenden Datenstrukturen wie zum Beispiel Indizes aufweist. Eine entsprechende Situation ist bei spaltenorientierten Datenstrukturen vorhanden, die von einem relationalen Datenbankschema erstellt werden, das auf dem nichtflüchtigen Speichermedium gespeichert ist. Das Wiederherstellen eines relationalen Datenbanksystems oder eines spaltenorientierten Datenbanksystems von einer Sicherungskopie einer vorhandenen Datenbank (nach einem Systemausfall oder nach dem Empfang einer Anforderung durch eine Cloud-Service-Umgebung für das Erstellen einer neuen Instanz einer relationalen oder spaltenorientierten Datenbank) kann daher ziemlich viel Zeit in Anspruch nehmen. Die Probleme führen oftmals zu langen Antwortzeiten von Datenbanken oder von auf einem Cloud-Service beruhenden Datenbereitstellungsdiensten, auf die eine Client-Anwendung zugreift, und sie können sogar zusätzliche Ausfallzeiten eines Systems zur Folge haben, die von einem laufenden Datenwiederherstellungsprozess verursacht werden. Ausführungsformen der Erfindung können vorteilhaft sein, da sie die Mängel überwinden können, indem sie die Daten sichern, die in dem Arbeitsspeicher eines Systems enthalten sind.
-
Im Gegensatz zu bestehenden Vorgehensweisen zur Sicherung von Datenbanken sichern Ausführungsformen der Erfindung den Inhalt des Arbeitsspeichers und nicht den in einem nichtflüchtigen Speichermedium gespeicherten Dateninhalt. Folglich werden alle Datenstrukturen, die erstellt wurden, während oder nachdem die Datenbank in den Arbeitsspeicher geladen wurde, um die Datenbank zur Nutzung durch einen oder mehrere Clients vorzubereiten, von der vorliegenden Vorgehensweise zur Sicherung und/oder Wiederherstellung abgedeckt. Indizes, ROS, WOS und/oder spaltenorientierte Datenstrukturen, die eventuell ausschließlich in dem Arbeitsspeicher des aktuellen DBMS enthalten sind, stellen gemäß Ausführungsformen Teile der Daten dar, denen der erste Speicherbereich zugewiesen wurde. Folglich werden die Datenstrukturen auch von den Sicherungs- und/oder Wiederherstellungsfunktionen von Ausführungsformen der Erfindung abgedeckt, wodurch sich die Daten schneller wiederherstellen lassen.
-
Gemäß Ausführungsformen handelt es sich bei den Daten um ein Business-Warehouse-System, das komplexe Tabellenstrukturen aufweist. Das Anwenden des Sicherungs- und/oder Wiederherstellungsverfahrens auf Daten eines Business-Warehouse kann vorteilhaft sein, da die rechenintensive Neuerstellung der Daten, wenn sie von einer Sicherungskopie wiederhergestellt werden, vermieden werden kann. Gemäß weiteren Ausführungsformen handelt es sich bei den Daten um ein Anwendungsprogramm wie zum Beispiel einen Web-Server oder einen Anwendungsserver.
-
Gemäß Ausführungsformen wird jedes des einen oder der mehreren Abbilder mit Hilfe eines Speicher-Momentaufnahmeverfahrens erstellt, das auf den ersten Speicherbereich angewendet wird. Das Momentaufnahmeverfahren ist ein Momentaufnahmeverfahren, bei dem eine Kopie beim Schreiben erstellt wird (Copy-on-Write-Momentaufnahmeverfahren), ein Momentaufnahmeverfahren mit einer geteilten Spiegeldatenbank oder ein Momentaufnahmeverfahren, bei dem Schreibanforderungen umgelenkt werden (Redirect-on-Write-Momentaufnahmeverfahren). Die Merkmale können vorteilhaft sein, da vorhandene Momentaufnahmeverfahren, die herkömmlicherweise nur auf Daten angewendet werden, welche in nichtflüchtigen Speichermedien gespeichert werden, jetzt auch angewendet werden können, um speicherinterne Daten zu sichern, indem die Daten in einem anderen Teil des Arbeitsspeichers und in einem nichtflüchtigen Speichermedium gespeichert werden. Durch die Wiederverwendung der vorhandenen Technologien, die bisher in einem anderen technischen Umfeld angewendet wurden, um Sicherungskopien von speicherinternen Daten anzulegen, lässt sich die vorliegende Vorgehensweise zur Sicherung und/oder Wiederherstellung gegebenenfalls leichter umsetzen.
-
Die Momentaufnahme-Technologie wurde bisher eingesetzt, um den Zustand einer nichtflüchtigen Speichereinheit in einem bestimmten Moment aufzuzeichnen und um diese Momentaufnahme zu Wiederherstellungszwecken aufzubewahren. In der hier verwendeten Weise ist eine ”Momentaufnahme” des ersten Speicherbereichs eine Kopie der Daten, die in dem ersten Speicherbereich in dem Moment enthalten waren, in dem die Momentaufnahme erstellt wurde, wobei die Kopie nicht auf einem speicherblockweisen Kopieren der Daten, sondern vielmehr auf dem Speichern von Zeigern beruht, die auf Speicherblöcke gerichtet sind, in denen die Daten gespeichert sind. Eine Momentaufnahme enthält Informationen über alle geladenen Klassen, über alle vorhandenen Objekte, Indizes und über Verweise und Zeiger zwischen Objekten. Anders ausgedrückt, eine Momentaufnahme ist nicht eine 1:1-Kopie der in dem ersten Speicherbereich enthaltenen Daten, sondern kann vielmehr als eine Art ”Inhaltsverzeichnis” des ersten Speicherbereichs betrachtet werden, wobei das ”Inhaltsverzeichnis” so detailliert ist, dass es die vollständige Wiederherstellung der Daten des ersten Speicherbereichs erlaubt. Die Verwendung vorhandener Momentaufnahmeverfahren zum Erstellen der Abbilder kann vorteilhaft sein, da die Technologien sehr schnell sind und die Erstellung eines mehrere Terabyte an Daten umfassenden Abbilds innerhalb von ein paar Sekunden ermöglichen. In einem weiteren vorteilhaften Aspekt ist die tatsächliche Speichergröße von Abbildern, die von einem Momentaufnahmeverfahren erzeugt werden, nur ein Bruchteil der Größe des ersten Speicherbereichs, da nicht belegte Speicherblöcke ignoriert werden können.
-
Die ”Copy-on-Write-(CoW-)Momentaufnahmetechnologie” beruht auf der folgenden Vorgehensweise: Wenn die Momentaufnahme erstmalig erstellt wird, werden nur die Metadaten, die besagen, wo ursprüngliche Daten in dem ersten Speicherbereich gespeichert sind, in den zweiten Speicherbereich kopiert. Zu dem Zeitpunkt, zu dem die Momentaufnahme erstellt wird, wird keine physische Kopie der Daten angelegt. Die Erstellung der Momentaufnahme kann daher nahezu sofort erfolgen. Die Kopie der Momentaufnahme erfasst dann die sich ändernden Blöcke in dem ersten Speicherbereich (der die ursprünglichen Daten aufweist), während Schreiboperationen in den ersten Speicherbereich durchgeführt werden. Die ursprünglichen Daten, bei denen Schreiboperationen durchgeführt werden, werden in den angegebenen zweiten Speicherbereich kopiert, der für die Momentaufnahme bereitgehalten wird, bevor ursprüngliche Daten überschrieben werden, daher der Name ”Kopieren-beim-Schreiben”. Bevor die Durchführung einer Schreiboperation in einem Block gestattet wird, verschiebt die Kopieren-beim-Schreiben-Operation den ursprünglichen Datenblock in den zweiten Speicherbereich. Dadurch stimmen die Daten der Momentaufnahme immer mit dem genauen Zeitpunkt überein, zu dem die Momentaufnahme erstellt wurde. Leseanforderungen an unveränderte Datenblöcke werden an den ersten Speicherbereich umgeleitet, der die ursprünglichen Daten aufweist, während Leseanforderungen an Datenblöcke, die geändert wurden, an die ”kopierten” Blöcke in dem zweiten Speicherbereich geleitet werden. Die Momentaufnahme enthält die Metadaten, die die Datenblöcke beschreiben, welche sich seit der erstmaligen Erstellung der Momentaufnahme geändert haben. Es sei angemerkt, dass ursprüngliche Datenblöcke nur einmal pro ausgeführter Momentaufnahme in den Momentaufnahme-Speicher (Unterbereiche des zweiten Speicherbereichs) kopiert werden, wenn die erste Schreibanforderung empfangen wird. Die CoW-Momentaufnahme-Technologie kann ein besonders schnelles Sicherungsverfahren ermöglichen. Sie kann von einem gesonderten ”Momentaufnahme-Modul” bereitgestellt werden, bei dem es sich beispielsweise um die IBM Flash Copy, das IBM General Parallel File System (GPFS) oder den Linux Logical Volume Manager (LVM) handeln kann. Die CoW-Momentaufnahme-Technologie wird gemäß Ausführungsformen der Erfindung zur Durchführung von inkrementellen Sicherungen verwendet.
-
Die ”Momentaufnahme-Technologie mit geteilter Spiegeldatenbank” erstellt eine Kopie (oder ein ”Klon”) von allen Daten des ersten Speicherbereichs in einem aktuellen Abbild, das in dem zweiten Speicherbereich gespeichert wird. Immer wenn eine Momentaufnahme auf der Grundlage der Vorgehensweise mit der geteilten Spiegeldatenbank erstellt wird, werden der Dateninhalt des gesamten ersten Speicherbereichs und nicht nur die neuen oder aktualisierten Teile des ersten Speicherbereichs dupliziert. Abbilder, die auf der Grundlage der Vorgehensweise mit der geteilten Spiegeldatenbank erstellt werden, sind hochverfügbar, da sie genaue Duplikate der ursprünglichen Daten in dem ersten Speicherbereich sind. Aufgrund der Datenkopie können solche Momentaufnahmen jedoch nicht sofort erstellt werden. Dieses Momentaufnahme-Verfahren erfordert üblicherweise mehr Speicherbereich als z. B. die CoW-Vorgehensweise, ermöglicht gegebenenfalls aber eine schnellere Wiederherstellung der Daten. EMC Symmeterix und der AIX Logical Volume Manager unterstützen die Technologie mit der geteilten Spiegeldatenbank bei nichtflüchtigen Daten. Die Momentaufnahme-Technologie mit geteilter Spiegeldatenbank wird gemäß Ausführungsformen auf den ersten Speicherbereich entsprechend angewendet. Überdies kann ein beliebiges RAID-System, das mehrere Spiegeldatenbanken unterstützt, verwendet werden, um ein Abbild als einen Klon des ersten Speicherbereichs zu erstellen, indem eine Spiegeldatenbank geteilt wird. Die Momentaufnahme-Technologie mit geteilter Spiegeldatenbank kann gemäß Ausführungsformen der Erfindung zur Durchführung von vollständigen (d. h. nichtinkrementellen) Sicherungen verwendet werden.
-
Die ”Redirect-on-Write-Momentaufnahme-Technologie” (RoW) beruht auf dem Lesen von Metadaten (Speicherplatz) von belegten Datenblöcken, die in dem ersten Speicherbereich gespeichert sind, und dem Schreiben von geänderten Datenblöcken an einen neuen Speicherplatz in einem entsprechenden Unterbereich des zweiten Speicherbereichs. Im Gegensatz zur CoW-Vorgehensweise ist somit nur ein Schreibschritt je geändertem Datenblock erforderlich. Gemäß bevorzugten Ausführungsformen wird daher RoW als Momentaufnahme-Technologie verwendet. Das Verwaltungsmodul braucht in diesem Fall nur Zeiger auf die neuen Speicherplätze zu erfassen und nicht die eigentlichen Daten selbst, was Platz und Verarbeitungszeit spart. Dies ist ein großer Vorteil im Vergleich zur Transaktionsprotokollierung, die von Datenbanksystemen bekannt ist, welche die Vorher- und Nachher-Darstellung der Daten persistent speichern müssen. Nur die Zeiger zu speichern, ist für den Lösungskontext möglich, da der Sicherungs- und der Wiederherstellungsschritt, die vorgeschlagen wurden, hier besonders gut für die Zeitachse funktionieren, über die die Sicherungskopien im Arbeitsspeicher belassen werden können. Nur wenn ein Sicherungsabbild aus dem sekundären Hauptspeicherbereich an eine andere Stelle verschoben werden muss, müssen die Daten der ersten persistenten Speicherebene tatsächlich kopiert werden. Die RoW-Momentaufnahme-Technologie wird gemäß Ausführungsformen der Erfindung zur Durchführung von inkrementellen Sicherungen verwendet.
-
Gemäß Ausführungsformen werden das eine nichtflüchtige Speichermedium oder die mehreren nichtflüchtigen Speichermedien einer oder mehreren Speicherschichten zugewiesen. Nichtflüchtige Speichermedien derselben Schicht haben ein gemeinsames Merkmal, wobei das Merkmal beispielsweise eine E/A-Antwortzeit, eine Dienstgütevereinbarung und/oder ein bestimmter Typ eines Speichermediums oder dergleichen ist. Die Speicherschichten werden dem Merkmal entsprechend angeordnet. Je kürzer die E/A-Antwortzeit ist, desto höher ist eine Qualitätsebene der Dienstgütevereinbarung. Je kürzer die E/A-Antwortzeit von beliebigen der Arten des Speichermediums ist, desto höher ist die Position von beliebigen der Speicherschichten in einer Hierarchie von Speicherschichten.
-
Der zweite Speicherbereich stellt eine weitere Speicherschicht dar, die diese herkömmliche Speicherhierarchie ganz oben um eine neue Ebene erweitert, die sich im Arbeitsspeicher in der ”Reihenfolge” oder ”Hierarchie” von Speicherschichten befindet. Mindestens einer Regel der Sicherungsregeln entsprechend wird die Speicherung von dem einen oder den mehreren Abbildern in dem zweiten Speicherbereich und die Speicherung von der einen oder den mehreren Abbildkopien auf dem einen nichtflüchtigen Speichermedium oder den mehreren nichtflüchtigen Speichermedien entsprechend der Reihenfolge durchgeführt. Die Speicherung entsprechend der Reihenfolge beginnt mit dem zweiten Speicherbereich in der obersten Speicherschicht. Die Merkmale können vorteilhaft sein, da sie die Einbindung des zweiten Speicherbereichs als die erste Ebene eines hierarchischen Speicherverwaltungssystems gestatten, das mehrere Speicherschichten aufweist.
-
Gemäß Ausführungsformen kann ein Verwaltungsmodul, das mit einem Momentaufnahme-Modul, mit einem Anwendungsprogramm, das aus den Daten besteht, die dem ersten Speicherbereich zugewiesen werden sollen, und mit einem Speicherverwaltungssystem nach dem Stand der Technik gemeinsam betrieben werden kann, eine Schnittstelle zum Datenaustausch mit dem Speicherverwaltungssystem realisieren, wobei die Schnittstelle dem Speicherverwaltungssystem ermöglicht, den zweiten Speicherbereich als die oberste Speicherschicht zu erkennen und zu steuern. Die Merkmale können vorteilhaft sein, da vorhandene hierarchische Speicherverwaltungssysteme, die zur Verwaltung von nichtflüchtigen Speichermedien entwickelt wurden, jetzt funktional erweitert werden können, um auch flüchtigen Speicher abzudecken. Somit können Anwendungsfall-Szenarien abgedeckt werden, in denen eine sehr schnelle Wiederherstellung eines Sicherungsabbilds von entscheidender Bedeutung ist. Indem ein Verwaltungsmodul bereitgestellt wird, das Funktionalitäten und APIs aufweist, die die Interaktion mit einem vorhandenen hierarchischen Speicherverwaltungssystem in einer Weise ermöglichen, dass der zweite Speicherbereich von dem Speicherverwaltungssystem als oberste Speicherschicht betrachtet wird, kann die Funktionalität des Speicherverwaltungssystems folglich erweitert werden. In dem erweiterten Speicherverwaltungssystem können auch einige Teile des Arbeitsspeichers für Sicherungs- und Wiederherstellungszwecke verwendet werden, ohne dass zusätzliche (schnelle und gewöhnlich teure) Speicherressourcen erworben werden müssen.
-
Gemäß Ausführungsformen wurde jeder der Speicherschichten mindestens eine der Sicherungsregeln zugewiesen. Die jeweils zugewiesene mindestens eine Sicherungsregel gibt eine höchstmögliche Anzahl der Abbilder an, die in dem einen Speichermedium oder in den mehreren Speichermedien der Speicherebene gespeichert werden können. Falls durch die Speicherung von einem der Abbilder in dem einen Speichermedium oder in den mehreren Speichermedien der Speicherschicht die höchstmögliche Anzahl der Abbilder der Speicherschicht überschritten würde, wird das älteste der bereits gespeicherten Abbilder der Speicherschicht mit dem einen Abbild überschrieben. Eine Regel kann ein ausführbares Skript, eine ausführbare binäre oder eine beliebige andere Form einer ausführbaren Programmlogik sein, die in der Lage ist, bestimmte Sicherungs- oder Wiederherstellungsfunktionen in Abhängigkeit von bestimmten Parameterwerten auszuführen, welche zur Laufzeit des Systems ausgewertet werden. Vorzugsweise können die Regeln oder zumindest der an Bedingungen geknüpfte Teil der Regeln mit Hilfe einer grafischen Benutzeroberfläche konfiguriert werden. Die Verwendung von (konfigurierbaren) Regeln zur Durchführung der Sicherungsstrategie kann vorteilhaft sein, da ein vollkommen automatisiertes und flexibel anpassbares Sicherungs- und Wiederherstellungssystem bereitgestellt wird, das in Abhängigkeit von der Anzahl und den Kapazitäten der verfügbaren Speicherschichten und in Abhängigkeit von anwendungs- oder benutzerspezifischen Erfordernissen individuell ausgelegt werden kann.
-
Gemäß Ausführungsformen werden die Abbilder regelmäßig in nachfolgenden Zeitintervallen erstellt. Ein Zeitintervall kann in Abhängigkeit von der Art der gewählten Sicherungs- und/oder Wiederherstellungsstrategie und/oder in Abhängigkeit von der verfügbaren Speicherkapazität eine Sekunde, eine Minute, eine Stunde oder sogar Tage oder Wochen umfassen. Jeder der Speicherschichten wurde mindestens eine der Sicherungsregeln zugewiesen, wobei die jeweils zugewiesene Sicherungsregel die Zeitintervalle angibt, in denen ein beliebiges der erstellten Abbilder in dem einem Speichermedium oder in den mehreren Speichermedien der Speicherschicht gespeichert werden soll. Das Zeitintervall, das für eine beliebige der in einer Reihenfolge angeordneten Speicherschichten angegeben wird, ist identisch mit dem für die angrenzende nächste obere Speicherschicht angegebenen Zeitintervall oder ist ein Vielfaches des für die nächste obere Speicherschicht angegebenen Zeitintervalls. Die Merkmale können vorteilhaft sein, da der Speicherbereich von Speicherschichten einer höheren Ebene üblicherweise ein besseres E/A-Antwortverhalten aufweist, jedoch auch teurer ist. Folglich kann es vorteilhaft sein, eine vergleichsweise kleine Anzahl von Kopien der Abbilder in den (teuren) Speicherschichten einer höheren Ebene zu speichern und die Kopien der Abbilder nach vergleichsweise kurzen Zeiträumen zu überschreiben. Da die Speicherkapazität von Speicherschichten einer niedrigeren Ebene in der Regel kostengünstiger ist, kann eine große Anzahl von Abbildkopien in den Speicherschichten einer niedrigeren Ebene gespeichert werden, wobei die Abbildkopien der Speicherschichten einer unteren Ebene nach verhältnismäßig langen Zeiträumen überschrieben werden können. Folglich können verschiedene Arten von Erfordernissen und Anwendungsfall-Szenarien abgedeckt werden: Falls ein aktueller Zustand der Daten des ersten Speicherbereichs schnell wiederhergestellt werden muss, kann eine entsprechende Anforderung die Ausführung von einigen Wiederherstellungsregeln auslösen, die den Dateninhalt des ersten Speicherbereichs wiederherstellen, indem sie das neueste Abbild aus dem zweiten Speicherbereich lesen.
-
Gemäß Ausführungsformen weist die Speicherung der Abbilder in dem einen Speichermedium oder in den mehreren Speichermedien einer beliebigen der Speicherschichten mit Ausnahme der obersten Schicht auf: Feststellen für die Speicherschicht, dass entsprechend einer der der Speicherschicht zugewiesenen Sicherungsregeln ein aktuelles Abbild der Abbilder in der Speicherschicht gespeichert werden muss; Zugreifen auf das eine Speichermedium oder auf die mehreren Speichermedien der Speicherschicht, die sich direkt über der Schicht befindet, wobei in der darüberliegenden Speicherschicht eine Kopie des aktuellen Abbilds gespeichert ist; Erstellen einer weiteren Kopie der in der darüberliegenden Speicherschicht gespeicherten Kopie; und Erstellen der weiteren Kopie in der Speicherschicht. Weiterreichen von mindestens einigen der Kopien der Abbilder von ganz oben in der Speicherschicht-Hierarchie nach ganz unten kann vorteilhaft sein, da die Speicherschichten der unteren Ebene üblicherweise kostengünstiger sind und größere Speicherkapazitäten bereitstellen, wodurch sie auch die Speicherung von Langfristaufzeichnungen ermöglichen. Während die erste Speicherschicht beispielsweise aus flüchtigen Speichermedien, z. B. RAM, bestehen kann, kann die zweite Speicherschicht aus SSD-Speichereinheiten bestehen und die unterste Speicherschicht kann aus einem Bandspeicherlaufwerk bestehen. In einem weiteren vorteilhaften Aspekt kann das Kopien eines Abbilds aus der Speicherschicht, die sich direkt über der Zielschicht befindet, vorteilhaft sein, da die Vorgehensweise Engpässe vermeidet, die entstehen könnten, wenn alle einer Vielzahl von untergeordneten Speicherschichten ihre jeweiligen Abbildkopien von der ersten Speicherschicht empfangen würden.
-
Gemäß Ausführungsformen koordinieren die Sicherungsregeln das Erstellen und das Speichern der Kopie des aktuellen Abbilds und das Erstellen und das Speichern der weiteren Kopie des aktuellen Abbilds in einer beliebigen der Speicherschichten in einer Weise, die sicherstellt, dass das Speichern von mindestens Teilen der Kopie und das Speichern von mindestens Teilen der weiteren Kopie asynchron ausgeführt wird. Vorzugsweise ist die asynchrone Ausführung eine parallele Ausführung. Diese Merkmale können vorteilhaft sein, da sie den Sicherungsprozess und die Weitergabe der Kopien der Abbilder an untergeordnete Speicherschichten beschleunigen. Sobald beispielsweise ein paar Teile einer Kopie eines Abbilds einer n-ten Speicherschicht gespeichert werden können, können die Teile als Ausgangspunkt für den Start des Kopiervorgangs des Teils in die nächste, d. h. n + 1-te, Speicherschicht dienen.
-
Gemäß Ausführungsformen weist das Erstellen eines jeden Abbilds das Anwenden eines Komprimierungsalgorithmus auf die Daten in dem ersten Speicherbereich auf, um die Größe des Abbilds zu verringern. Dies kann vorteilhaft sein, da eine Verringerung der Größe eines Abbilds nicht nur den Umfang des benötigten Speicherbereichs reduziert, sondern auch den für die Ausführung des Sicherungs- und/oder Wiederherstellungsprozesses benötigten Zeitraum durch eine Verringerung des Netzwerkverkehrs erhöht. In Abhängigkeit von der Ausführungsform können verschiedene Komprimierungsalgorithmen wie zum Beispiel DEFLATE, LZ-Komprimierungs- oder Datendeduplizierungsalgorithmen verwendet werden. Gemäß Ausführungsformen werden die in der ersten Speicherschicht, d. h. in dem zweiten Speicherbereich, gespeicherten Abbilder nicht komprimiert, aber das Kopieren des Abbilds von der ersten in die zweite Speicherschicht weist das Anwenden des Komprimierungsalgorithmus auf das kopierte Abbild auf. Das Merkmal kann die Geschwindigkeit, mit der die speicherinternen Sicherungskopien angelegt werden, weiter erhöhen.
-
Gemäß Ausführungsformen weist die Wiederherstellung des Anwendungsprogramms für einen bestimmten Zeitpunkt entsprechend einer oder mehreren Sicherungsregeln den Zugriff auf die zweithöchste Speicherschicht auf, um die erste Anwendung in dem ersten Speicherbereich von einer Kopie des Abbilds wiederherzustellen, die für den bestimmten Zeitpunkt in der Speicherschicht gespeichert worden ist. Falls die Kopie des Abbilds nicht in der Speicherschicht gespeichert ist, Durchlaufen der Speicherschichten entsprechend ihrer Reihenfolge von oben nach unten und Wiederholen des vorstehenden Zugriffsschritts für jede der Speicherschichten, bis die Kopie der ersten Anwendung von einer Kopie des in der Speicherschicht gespeicherten Abbilds wiederhergestellt werden könnte. Die Merkmale können vorteilhaft sein, da die E/A-Zugriffszeiten von Speicherschichten, die höher angeordnet sind, gewöhnlich kürzer sind und Wiederherstellungsoperationen, mit denen ab den Speicherschichten begonnen wird, gewöhnlich schneller sind.
-
Gemäß Ausführungsformen werden alle Speicherschichten mit Hilfe eines Speicherverwaltungssystems wie zum Beispiel dem Tivoli Storage Manager von IBM verwaltet. Das Erstellen und Speichern der Abbilder und das Wiederherstellen der ersten Anwendung in dem ersten Speicherbereich von einem der Abbilder wird mit Hilfe eines Verwaltungsmoduls erreicht, das mit einem Momentaufnahme-Modul und dem Speicherverwaltungssystem gemeinsam betrieben werden kann.
-
Gemäß Ausführungsformen werden das eine oder die mehreren Abbilder mit Hilfe eines inkrementellen Sicherungsverfahrens, z. B. mit Hilfe einer CoW- oder RoW-Momentaufnahme-Technologie, erstellt und gespeichert. Jedes Abbild besteht aus Verweisen auf Daten, die in einem ursprünglichen Abbild enthalten sind, das zu einem ersten (”ursprünglichen”) Zeitpunkt erstellt worden ist, und aus einem oder mehreren inkrementellen Datenpaketen. Jedes der inkrementellen Datenpakete des Abbilds weist jeweils alle Änderungen der Daten auf, die während einem der nachfolgenden Zeitintervalle zwischen dem ersten und einem aktuellen Zeitpunkt eingebracht wurden. Folglich besteht ein aktuelles Abbild aus einer Kombination des ursprünglichen Abbilds und allen inkrementellen Datenpaketen in Bezug auf die Daten in dem ursprünglichen Abbild, die noch erzeugt worden sind. Gemäß Ausführungsformen werden nur die in der ersten Speicherschicht erstellten Abbilder als inkrementelle Sicherungskopien angelegt. Die Kopien der Abbilder, die in den Speicherschichten der unteren Ebene gespeichert werden, sind vorzugsweise vollständige Abbilder, da der Speicherbereich in den Speicherschichten der unteren Ebene kostengünstiger ist und die Verwendung von vollständigen Abbildern die Wiederherstellungsgeschwindigkeit der Daten erhöhen kann.
-
Manchen Ausführungsformen entsprechend ist keines der Abbilder oder der Abbildkopien eine inkrementelle Sicherungskopie. Vielmehr wird jedes Abbild und jede Abbildkopie als ein vollständiges Abbild erstellt, das alle Daten aufweist, die zur Wiederherstellung des aktuellen Dateninhalts des ersten Speicherbereichs erforderlich sind. Die Merkmale können vorteilhaft sein, da die Wiederherstellung des Speicherinhalts von einem vollständigen Abbild schneller sein kann als seine Wiederherstellung von einer inkrementellen Sicherungsdatei. Dies ist deshalb so, weil für die Wiederherstellung von inkrementellen Sicherungen der Teil der inkrementellen Sicherung (der oftmals aus einer Aufzeichnung aller Änderungen besteht, die seit dem ersten Zeitpunkt auf die Daten angewendet wurden) und der Teil in Form des ursprünglichen Dateninhalts ausgewertet werden müssen, um alle in dem inkrementellen Teil der Sicherung angegebenen Änderungen auf den unveränderten, ursprünglichen Teil der Sicherung anzuwenden. Manche spaltenorientierten DBMS wie Vertica, SAP HANA und andere sind beispielsweise mit einigen integrierten Sicherungs-/Wiederherstellungsfunktionen ausgestattet, die auf der Wiederherstellung von aufgezeichneten Änderungen an einem unveränderten Datenteil beruhen. Diese Art von Sicherungen ist in der Regel jedoch rechnerisch aufwendig.
-
Gemäß Ausführungsformen weist das Verfahren das Bereitstellen eines grafischen Benutzeroberflächenmittels für einen Benutzer auf, um die höchstmögliche Größe des zweiten Speicherbereichs zu konfigurieren und/oder um die Sicherungs- und/oder Wiederherstellungsregeln zu ändern.
-
In einem weiteren Aspekt betrifft die Erfindung einen von einem Computer lesbaren Datenträger, der einen damit realisierten, von einem Computer lesbaren Programmcode aufweist. Nach der Ausführung der Anweisungen durch einen Prozessor veranlassen die Anweisungen den Prozessor, ein Verfahren nach einer beliebigen der vorstehend beschriebenen Ausführungsformen auszuführen.
-
In einem weiteren Aspekt betrifft die Erfindung ein Computersystem, das einen Hauptspeicher, ein Verwaltungsmodul, ein Mittel für den Zugriff auf eine oder mehrere vorher festgelegte Sicherungsregeln und/oder für den Zugriff auf eine oder mehrere vorher festgelegte Wiederherstellungsregeln und eine Schnittstelle aufweist, um das Verwaltungsmodul mit einem Speicherverwaltungssystem betriebsfähig zu verbinden. Das Speicherverwaltungssystem ist in der Lage, ein nichtflüchtiges Speichermedium oder mehrere nichtflüchtige Speichermedien zu verwalten. Das Verwaltungsmodul ist so ausgelegt, dass es eine Sicherungskopie von Daten anlegt und/oder die Daten wiederherstellt.
-
Das Anlegen der Sicherungskopie weist auf:
- – Zuweisen eines ersten Speicherbereichs in dem Hauptspeicher zu den Daten und Laden der Daten in den ersten Speicherbereich;
- – Zuordnen eines zweiten Speicherbereichs in dem Hauptspeicher, um als Behälter von einem oder mehreren Abbildern des ersten Speicherbereichs zu dienen;
- – automatisches Erstellen des einen oder der mehreren Abbilder; und
- – automatisches Speichern des erstellten einen Abbilds oder der erstellten mehreren Abbilder in dem zweiten Speicherbereich und Speichern einer entsprechenden Kopie von mindestens einem der Abbilder in dem einen nichtflüchtigen Speichermedium oder in den mehreren nichtflüchtigen Speichermedien, wobei das Speichern in dem zweiten Speicherbereich und das Speichern in dem einen nichtflüchtigen Speichermedium oder in den mehreren nichtflüchtigen Speichermedien entsprechend einer oder mehreren vorher festgelegten Sicherungsregeln ausgeführt wird.
-
Das Wiederherstellen der Daten weist auf:
- – automatisches Lesen von einem Abbild des einen oder der mehreren Abbilder aus dem zweiten Speicherbereich oder Lesen von einer Kopie der einen oder der mehreren Kopien der Abbilder von dem einen nichtflüchtigen Speichermedium oder den mehreren nichtflüchtigen Speichermedien, wobei das Lesen entsprechend einer oder mehreren vorher festgelegten Wiederherstellungsregeln ausgeführt wird; und
- – Kopieren des gelesenen Abbilds oder der gelesenen Kopie des Abbilds in den ersten Speicherbereich des Hauptspeichers, um dem ersten Speicherbereich zugewiesene Daten wiederherzustellen.
-
Manchen Ausführungsformen entsprechend weist das Computersystem den von einem Computer lesbaren Datenträger auf, wobei der Datenträger ein Bestandteil des Computers sein kann, der den Prozessor aufweist, oder er kann mit dem Prozessor betriebsfähig verbunden sein, z. B. über eine Netzwerkverbindung, die dem Prozessor den Zugriff auf die ersten Spalten ermöglicht.
-
Wie der Fachmann verstehen wird, können Aspekte der vorliegenden Erfindung als ein System, ein Verfahren oder ein Computerprogrammprodukt realisiert werden. Folglich können Aspekte der vorliegenden Erfindung die Form einer ganz in Hardware realisierten Ausführungsform, einer ganz in Software realisierten Ausführungsform (einschließlich Firmware, residenter Software, Mikrocode usw.) oder einer Ausführungsform annehmen, die Software- und Hardware-Aspekte kombiniert, die hier alle allgemein als eine ”Schaltung”, ein ”Modul” oder ein ”System” bezeichnet werden können. Überdies können Aspekte der vorliegenden Erfindung die Form eines Computerprogrammprodukts annehmen, das sich auf einem oder mehreren von einem Computer lesbaren Datenträger(n) befindet, auf dem beziehungsweise denen sich der von einem Computer lesbare Programmcode befindet. Jede beliebige Kombination aus einem oder mehreren von einem Computer lesbaren Datenträgern kann verwendet werden. Ein von einem Computer lesbarer Datenträger kann zum Beispiel ein von einem Computer lesbares nichtflüchtiges Speichermedium oder ein von einem Computer lesbares Signalmedium wie zum Beispiel ein übertragenes Datensignal mit darin enthaltenem von einem Computer lesbaren Programmcode, beispielsweise im Basisband oder als Teil einer Trägerwelle, sein.
-
Kurze Beschreibung der Zeichnungen
-
Im Folgenden werden bevorzugte Ausführungsformen der Erfindung anhand eines Beispiels ausführlicher beschrieben, wobei nur Bezug auf die Zeichnungen genommen wird, bei denen:
-
1 einen Ablaufplan einer Ausführungsform des erfindungsgemäßen Verfahrens zeigt,
-
2 ein Blockschaubild eines Computersystems zeigt, das ein hierarchisches Speichersystem aufweist,
-
3 die erste und die zweite Speicherschicht ausführlicher zeigt,
-
4 ein Blockschaubild eines Computersystems zeigt, das mit einem Speicherverwaltungssystem betriebsfähig verbunden ist.
-
Ausführliche Beschreibung
-
1 zeigt einen Ablaufplan eines Verfahrens, um im Schritt 114 ein Abbild von Daten zu erstellen, die in einem ersten Speicherbereich enthalten sind, und/oder um die Daten im Schritt 116 von einem der Abbilder wiederherzustellen. Die Sicherungs- und/oder Wiederherstellungsschritte können von einem Verwaltungsmodul 210 ausgeführt werden, das in 2 gezeigt ist, wobei manchen Ausführungsformen entsprechend bestimmte Aufgaben wie zum Beispiel die Erstellung von Momentaufnahmen oder die Verwaltung einer Vielzahl von verschiedenen Speicherschichten von Komponenten ausgeführt werden können, die gemeinsam betrieben werden können, wie zum Beispiel dem Momentaufnahme-Modul 214 oder einem hierarchischen Speicherverwaltungssystem 244.
-
In einem ersten Schritt 102 wird der erste Speicherbereich 220 des Hauptspeichers 218 eines Computersystems 202 einem Anwendungsprogramm 208 zugewiesen. Diese Zuweisung bedeutet, dass die Daten in den ersten Speicherbereich geladen werden und keine Speicherblöcke außerhalb des ersten Speicherbereichs in Anspruch nehmen oder belegen. Im Schritt 104 wird ein zweiter Speicherbereich 232 zugeordnet, d. h. reserviert, um als Behälter von einem oder mehreren Abbildern 233 bis 240 der in dem ersten Speicherbereich 220 enthaltenen Daten zu dienen. Im Schritt 106 werden das eine oder die mehreren Abbilder automatisch erstellt. Die Abbilder können zum Beispiel aufeinanderfolgend nach vorher festgelegten Zeitintervallen erstellt werden. Das erstellte eine Abbild oder die erstellten mehreren Abbilder werden im Schritt 108 automatisch in dem zweiten Speicherbereich gespeichert. Darüber hinaus wird eine Kopie von mindestens einem der Abbilder in dem einen nichtflüchtigen Speichermedium oder in den mehreren nichtflüchtigen Speichermedien 250, 276, 290 gespeichert. Die Wiederherstellung des Dateninhalts des ersten Speicherbereichs 220 von einem der Abbilder 233 bis 240 durch das Verwaltungsmodul 210 kann den Schritt 110 aufweisen, in dem in Abhängigkeit von einer Entscheidung, die von einer oder mehreren Wiederherstellungsregeln getroffen wird, ein Abbild des einen oder der mehreren Abbilder automatisch aus dem zweiten Speicherbereich gelesen wird oder eine Abbildkopie der einen oder der mehreren Abbildkopien von einem der nichtflüchtigen Speichermedien gelesen wird. Im Schritt 112 wird das gelesene Abbild oder die gelesene Kopie des Abbilds in den ersten Speicherbereich 220 des Hauptspeichers 218 kopiert, um die dem ersten Speicherbereich zugewiesenen Daten wiederherzustellen. Falls das gelesene Abbild ein komprimiertes Abbild war, wird das Abbild dekomprimiert, bevor es im ersten Speicherbereich gespeichert wird. Bei den Daten kann es sich um ein Anwendungsprogramm 222 handeln, das einige anwendungsspezifische oder benutzerspezifische Daten 224, einen Index oder mehrere Indizes 226, einen WOS- und einen ROS-Speicher aufweist.
-
2 zeigt ein Blockschaubild eines Computersystems 202, das ein Speichermedium 204, in dem Anweisungen zur Ausführung durch einen Prozessor 242 enthalten sind, ein Verwaltungsmodul 210, ein Anwendungsprogramm 208, z. B. ein relationales Datenbankverwaltungssystem, und ein Momentaufnahme-Modul 214 aufweist. Das Speichermedium weist darüber hinaus eine Vielzahl von Wiederherstellungsregeln 206 und Sicherungsregeln 216 auf.
-
Ein Beispiel für eine Sicherungsregel BRT1, die verwendet wird, um eine Kopie eines kürzlich erstellten Abbilds von der ersten Speicherschicht in der zweiten Speicherschicht T2 zu speichern, könnte ein Skript sein, das die folgende Programmlogik aufweist:
- • nach der Erstellung des Abbilds Feststellen, ob das Abbild in die zweite Speicherschicht kopiert werden soll (manche Regeln kopieren möglicherweise jedes erstellte Abbild in die nächstniedrigere Speicherschicht, während andere vielleicht nur jedes zweite oder dritte oder n-te Abbild in die nächstniedrigere Speicherschicht kopieren).
- • Falls die Kopie des aktuellen Abbilds gemäß BRT1 in der zweiten Speicherschicht gespeichert werden soll, Ermitteln einer höchstmöglichen Anzahl MAX.T2 von Abbildern, die in der zweiten Speicherschicht T2 unter Berücksichtigung der Speicherkapazität der Speicherschicht gespeichert werden können. Wenn die zweite Speicherschicht unter Berücksichtigung der ermittelten höchstmöglichen Anzahl MAX.T2 so viele Abbilder wie möglich aufweist, Speichern des aktuellen Abbilds in der zweiten Speicherschicht, indem die in der zweiten Speicherschicht gespeicherte älteste Abbildkopie überschrieben wird. Wenn die zweite Speicherschicht eine geringere Zahl von Abbildern als die höchstmögliche Anzahl MAX.T2 von Abbildern aufweist, Speichern des aktuellen Abbilds in der zweiten Speicherschicht zusätzlich zu den bereits gespeicherten Abbildern. Vorzugsweise weist jedes Abbild und jede Kopie eines Abbilds Zeitstempel-Informationen auf, die es den Regeln gestatten, automatisch den Zeitpunkt zu ermitteln, zu dem das jeweilige Abbild oder die jeweilige Kopie des Abbilds gespeichert wurde.
-
In weiteren Ausführungsformen können das Anwendungsprogramm, die Wiederherstellungsregeln 206 und/oder die Sicherungsregeln 216 in einem anderen Speichermedium gespeichert werden, das mit dem Computersystem 202 betriebsfähig verbunden ist. Das Computersystem weist des Weiteren einen Hauptspeicher 218 auf, der einen dem Anwendungsprogramm 208 zugewiesenen ersten Speicherbereich 220 und einen zweiten Speicherbereich 232 aufweist, welcher als ein Behälter zur Speicherung von einem oder mehreren Abbildern 233, 234, 236, 238 und 240 des ersten Speicherbereichs verwendet wird. Nachdem das Anwendungsprogramm 208 in den ersten Speicherbereich 220 geladen wurde, können auch ein Index oder mehrere Indizes 226 oder andere Datenstrukturen 228, 230, die von den nicht ausführbaren Daten 224 abgeleitet wurden, welche von dem Datenbankverwaltungssystem 208 verwaltet werden, in dem ersten Speicherbereich 220 enthalten sein. Folglich können die speicherinternen Datenstrukturen 222 des Anwendungsprogramms 208 im Vergleich zum Anwendungsprogramm 208, das in dem nichtflüchtigen Speichermedium 204 gespeichert ist, zusätzliche Datenstrukturen aufweisen. Das Verwaltungsmodul weist eine Schnittstelle 212 auf, die es dem Verwaltungsmodul ermöglicht, mit einem Speicherverwaltungssystem 244 gemeinsam so betrieben zu werden, dass der zweite Speicherbereich 232 dem Speicherverwaltungssystem als eine oberste Speicherschicht einer Hierarchie von Speicherschichten 232, 240, 276 und 290, welche von dem Speicherverwaltungssystem 244 verwaltet werden, bereitgestellt wird. Das Speicherverwaltungssystem 244 kann von dem Computersystem 202 oder von einem anderen Computersystem gehostet werden, das mit dem Computersystem 202 über ein Netzwerk, z. B. das Internet oder ein Intranet, verbunden ist. Folglich können das Computersystem 202 und das Speicherverwaltungssystem 244 ein verteiltes, vernetztes Computersystem 200 bilden. Das Verwaltungsmodul kann regelmäßig einige Sicherungsschritte durchführen, um in bestimmten Zeitintervallen Abbilder des Dateninhalts des ersten Speicherbereichs 220 zu erstellen. Vorzugsweise werden die Abbilder von dem Momentaufnahme-Modul 214 erstellt, das von dem Verwaltungsmodul 210 zu den jeweiligen Zeitpunkten aufgerufen wird.
-
Nachdem die Momentaufnahmen in dem zweiten Speicherbereich gespeichert worden sind, erstellen das Verwaltungsmodul und das Speicherverwaltungssystem in Zusammenarbeit weitere Kopien der Abbilder und speichern diese Kopien in nachfolgenden Schichten des hierarchischen Speicherverwaltungssystems. Dabei stellen eine oder mehrere Sicherungsregeln fest, ob und wann eine Kopie eines Abbilds in jeder entsprechenden Speicherschicht erstellt oder mit einem neueren Abbild überschrieben werden soll. Die Regeln können in Abhängigkeit von dem E/A-Verhalten, den freien Speicherkapazitäten und/oder dem Preis einer jeden entsprechenden Speicherschicht angepasst werden. Die Zeitachse, die der chronologischen Reihenfolge des Erzeugens der jeweiligen Abbilder oder Abbildkopien entspricht, wird in jeder der Speicherschichten mittels eines punktierten Pfeils angegeben. Eine oder mehrere Sicherungsregeln BRL2 steuern automatisch das Kopieren von Abbildern von der ersten Speicherschicht in die zweite Speicherschicht. Eine oder mehrere Sicherungsregeln BRL3 können das Kopien von Abbildern von der zweiten Speicherschicht T2 in die dritte Speicherschicht T3 und so weiter steuern und dabei sicherstellen, dass mindestens ein paar der von dem Momentaufnahme-Modul erstellen Abbilder stufenweise von oben nach unten weitergereicht werden. Schließlich werden mindestens ein paar der erstellten Abbildkopien in einer Speicherschicht gespeichert, die so ausgelegt ist, dass sie irgendein Langfristsicherungsmittel, z. B. eine Speicherschicht, die auf Bandlaufwerken beruht, bereitstellt. Das von dem Momentaufnahme-Modul erstellte Abbild 233 ist beispielsweise das neueste Abbild. Das Abbild 234 ist das zweitneueste Abbild, das Abbild 236 ist das drittneueste Abbild und so weiter. Die erste Speicherschicht (d. h. der zweite Speicherbereich) weist eine höchstmögliche Kapazität von MAX.T1 auf. Sobald die Anzahl der in der ersten Speicherschicht gespeicherten Abbilder die Kapazität der Schicht übersteigt, wird das älteste Abbild mit einem neu erstellten Abbild überschrieben. Die höchstmögliche Kapazität IM.MAX kann bei verschiedenen Speicherschichten unterschiedlich sein. Vorzugsweise ist die höchstmögliche Kapazität bei Speicherschichten am größten, die sich ganz unten in der Hierarchie befinden und vorzugsweise aus kostengünstigeren Speichermedien bestehen. Vorzugsweise entspricht eine höhere Speicherkapazität einer Speicherschicht einer höheren Anzahl von Abbildkopien, die entsprechend den jeweiligen Sicherungsregeln gespeichert werden können, bis das älteste Abbild überschrieben wird. In Abhängigkeit von den Ausführungsformen können die Regeln bewirken, dass jedes erzeugte Abbild von dem zweiten Speicherbereich in alle nachfolgenden Speicherschichten kopiert wird oder dass jedes m-te erstelle Abbild kopiert wird, wobei m eine beliebige ganze Zahl größer 1 sein kann. In 2 wird jedes zweite erzeugte Abbild von der ersten in die zweite Speicherschicht kopiert, jede in der zweiten Speicherschicht gespeicherte Kopie eines Abbilds wird in die dritte Speicherschicht kopiert und jede in der dritten Speicherschicht gespeicherte zweite Kopie eines Abbilds wird direkt oder über eine oder mehrere weitere Speicherschichten in die n-te Speicherschicht ganz unten in der Hierarchie kopiert.
-
3 stellt den Dateninhalt der ersten und der zweiten Speicherschicht einer Ausführungsform ausführlicher dar, die eine inkrementelle Sicherungsstrategie in der ersten Speicherschicht einsetzt. Zu einem bestimmten Zeitpunkt, z. B. in dem Moment, in dem die Daten in den ersten Speicherbereich geladen werden, wird eine vollständige Momentaufnahme 342 erstellt und in dem zweiten Speicherbereich 232 gespeichert. Nach vorher festgelegten Zeitintervallen werden inkrementelle Sicherungskopien 340, 338, 336, 334 und 332 angelegt, die jeweils alle Änderungen des Dateninhalts des ersten Speicherbereichs in Bezug auf den ursprünglichen Inhalt aufweisen. Der ursprüngliche Inhalt zu einem ”ersten” oder ”ursprünglichen” Zeitpunkt entspricht dem vollständigen Momentaufnahme-Abbild 342. Gemäß weiteren Ausführungsformen (nicht gezeigt) kann jedes inkrementelle Abbild 332 bis 340 nur die Inkremente in Bezug auf die vorhergehende Momentaufnahme aufweisen. In den gezeigten Ausführungsformen sind die in der zweiten Speicherschicht gespeicherten Kopien der Abbilder vollständige Abbilder. Sie werden während eines jeden Kopiervorgangs von der ersten in die zweite Speicherschicht aus dem ursprünglichen vollständigen Abbild 342 und einem jeweiligen inkrementellen (Teil-)Abbild zusammengesetzt. Die Abbildkopie 254 wird beispielsweise aus dem inkrementellen Abbild 336 und dem vollständigen Abbild 342 zusammengesetzt. Indem die Abbilder als inkrementelle Sicherungskopien in mindestens der ersten Speicherschicht gespeichert werden, kann der (vergleichsweise kostspielige) nichtflüchtige Speicher, der die erste Speicherschicht darstellt, wirksamer genutzt werden.
-
4 zeigt ein verteiltes Computersystem, das ein Verwaltungscomputersystem 202 aufweist, welches über die Schnittstelle 212 mit einem Speicherverwaltungssystem 244 betriebsfähig verbunden ist. Die Schnittstelle 212 kann auf einer Netzwerkverbindung, z. B. einer Internet-Verbindung, beruhen. Aus Sicht der Anwendungsebene ermöglicht die Schnittstelle 212 dem Verwaltungsmodul 210 des Verwaltungscomputersystems 202 die Zusammenarbeit mit einem hierarchischen Speicherverwaltungssystem 244, das eine Vielzahl von Speicherschichten 232, 250, 276 und 290 aufweist, wobei die erste Speicherschicht durch eine Zusammenarbeit des Verwaltungsmoduls 210 und des Speicherverwaltungssystems 244”emuliert” wird. Die erste Speicherschicht beruht physisch auf dem zweiten Speicherbereich 232 des Hauptspeichers 218 des Verwaltungscomputersystems 202. Das Verwaltungscomputersystem 202 kann über ein Netzwerk 209 mit einem oder mehreren Client-Computersystemen verbunden sein, die Anforderungen für den Abruf von Daten, die von dem Anwendungsprogramm 208 bereitgestellt werden, senden können. Falls das Computersystem 202 nicht in der Lage ist, die angeforderten Daten zu senden, z. B. weil ein Stromausfall den Inhalt des Hauptspeichers zerstört hat, wird entsprechend den Wiederherstellungsregeln vorzugsweise das neueste Sicherungsabbild, das in einer der Speicherschichten gespeichert ist, welche auf nichtflüchtigen Speichermedien beruht, verwendet, um den Inhalt des ersten Speicherbereichs schnell wiederherzustellen. Falls die angeforderten Daten nicht innerhalb einer vorher festgelegten Antwortzeit geliefert werden können, z. B. aufgrund einer hohen Verarbeitungslast des Computersystems 202, kann das Verwaltungsmodul 210 einen Befehl an ein anderes Verwaltungscomputersystem 202 senden, das im Wesentlichen die gleichen Komponenten wie das Computersystem 202 aufweist, um weitere Instanzen des Anwendungsprogramms 208 im Hauptspeicher des anderen Verwaltungscomputersystems 202' zu erzeugen. Indem man weitere Instanzen des Anwendungsprogramms im Hauptspeicher von anderen Computersystemen vorsieht, kann man dazu beitragen, die Geschwindigkeit der Datenbereitstellung an einen oder mehrere Clients zu erhöhen.