DE69729011T2 - System und verfahren zum unterhalten eines logisch konsistenten backups unter verwednung von minimalen daten-transfer - Google Patents

System und verfahren zum unterhalten eines logisch konsistenten backups unter verwednung von minimalen daten-transfer Download PDF

Info

Publication number
DE69729011T2
DE69729011T2 DE69729011T DE69729011T DE69729011T2 DE 69729011 T2 DE69729011 T2 DE 69729011T2 DE 69729011 T DE69729011 T DE 69729011T DE 69729011 T DE69729011 T DE 69729011T DE 69729011 T2 DE69729011 T2 DE 69729011T2
Authority
DE
Germany
Prior art keywords
backup
data
time
snapshot
mass storage
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.)
Expired - Fee Related
Application number
DE69729011T
Other languages
English (en)
Other versions
DE69729011D1 (de
Inventor
Richard Ohran
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.)
EMC Corp
Original Assignee
EMC 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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=25003859&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=DE69729011(T2) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by EMC Corp filed Critical EMC Corp
Publication of DE69729011D1 publication Critical patent/DE69729011D1/de
Application granted granted Critical
Publication of DE69729011T2 publication Critical patent/DE69729011T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • G06F11/1451Management of the data involved in backup or backup restore by selection of backup contents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1466Management of the backup or restore process to make the backup process non-disruptive
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/82Solving problems relating to consistency

Description

  • HINTERGRUND DER ERFINDUNG
  • 1. Erfindungsgebiet
  • Die vorliegende Erfindung betrifft die Sicherung von Computerdaten und insbesondere ein System und Verfahren für die Backup-Sicherung der in einem Massenspeichersystem oder einer Mehrzahl von Massenspeichersystemen eines oder mehrerer Computer befindlichen Daten auf ein einziges Backup-System.
  • 2. Derzeitiger Stand der Technik
  • Es besteht kaum Zweifel daran, dass Computer die Art und Weise, wie Unternehmen Informationen sammeln, verwalten und nutzen radikal verändert haben. Computer sind zu einem integralen Bestandteil der meisten geschäftlichen Transaktionen geworden, in einigen Fällen in einem Ausmaß, dass bei einem Ausfall des Computers der Geschäftsverkehr nicht mehr möglich ist. Banken, Versicherungsgesellschaften, Maklerfirmen, Finanzdienstleister und eine Vielzahl anderer Unternehmen verlassen sich auf Computernetze, um Informationen, die einer ständigen Änderung unterliegen, zu speichern, zu manipulieren oder anzuzeigen. Der Erfolg oder Misserfolg einer wichtigen Transaktion kann davon abhängig sein, ob sowohl genaue als auch aktuelle Informationen zur Verfügung stehen. In bestimmten Fällen hängt die Glaubwürdigkeit eines Dienstleisters, oder gar seine Existenz, von der Verlässlichkeit der in einem Computernetz aufbewahrten Informationen ab. Dementsprechend sind sich Unternehmen in der ganzen Welt des kommerziellen Wertes ihrer Daten bewusst und suchen nach verlässlichen, kostengünstigen Wegen, die in ihren Computernetzen gespeicherten Informationen zu schützen. In den Vereinigten Staaten von Amerika verlangen außerdem die Federal Banking Regulations, dass Banken Schritte zur Sicherung kritischer Daten unternehmen.
  • Wichtige Daten können durch Naturkatastrophen, terroristische Handlungen, oder durch profanere Ereignisse wie Ausfall der Computerhardware und/oder -software gefährdet sein. Zwar unterscheiden sich diese Gefahren in vielerlei Hinsicht, doch sind sie tendenziell in ihrer geographischen Ausdehnung begrenzt. Daher beinhalten viele Vorgehensweisen zur Sicherung von Daten die Erstellung einer Kopie der Daten und das Unterbringen dieser Kopie in sicherer geographischer Distanz von der ursprünglichen Datenquelle. Zwar mag die geographische Trennung einen wichtigen Teil der Datensicherung darstellen, doch reicht sie alleine für einen vollständigen Schutz der Daten nicht aus.
  • Der Vorgang der Erstellung einer Kopie der Daten wird häufig als Backup der Daten oder als Erstellen einer Backup-Kopie der Daten bezeichnet. Bei der Erstellung einer Backup-Kopie von in einem Computer oder einem Computer-Netz gespeicherten Daten sind mehrere wichtige Faktoren zu berücksichtigen. Zunächst muss eine Backup-Kopie von Daten logisch konsistent sein. Eine logisch konsistente Backup-Kopie enthält keine logischen Inkonsistenzen wie z. B. korrumpierte oder nicht richtig beendete Dateien. Zweitens muss eine Backup-Kopie von Daten ausreichend aktuell sein, um Veralterung von Daten zu vermeiden. Die Zeit zwischen den Backups, die weitestgehend darüber entscheidet, ob eine Backup-Kopie veraltet ist, muss ausreichend kurz sein, damit die Daten des Backups noch zu gebrauchen sind, falls sie benötigt werden. Für bestimmte Anwendungen, wie Netze, in denen finanzielle Transaktionen gespeichert sind, können Daten, die eine Woche alt sind, nutzlos und viel häufigere Backups erforderlich sein. Wie häufig Backup-Kopien erstellt werden können, ist von vielen Faktoren abhängig wie der Frage, ob das Backup während der normalen Geschäftsabläufe durchgeführt werden kann, von der Zeit, die für die Erstellung einer Backup-Kopie benötigt wird, und so weiter.
  • Um eine Backup-Kopie von Daten zu erstellen, wurden bisher unterschiedliche Herangehensweisen gewählt. Jede dieser Vorgehensweisen hat bestimmte Vor- und Nachteile. Die vielleicht einfachste Vorgehensweise zur Erstellung einer Backup-Kopie wichtiger Daten ist das Kopieren der wichtigen Daten von einem Massenspeichersystem, wie dem von einem Computernetz genutzten magnetischen Speichersystem, auf eine zweite Massenspeichereinrichtung, die als Archiv dient. Die zweite, als Archiv dienende Massenspeichereinrichtung ist häufig eine Speichereinrichtung, die für die Speicherung großer Datenmengen auf Kosten eines unmittelbaren Zugriffs auf die Daten konzipiert ist. Eine häufig angewandte Art der Archivspeicherung ist die Speicherung auf Magnetband. Bei diesen Backup-Systemen werden Daten vom Massenspeichersystem auf ein oder mehr Magnetbänder kopiert. Die Magnetbänder werden dann entweder lokal oder an einem entfernten Ort gelagert für den Fall, dass mit dem Haupt-Massenspeichersystem Probleme entstehen. Wenn sich Probleme mit dem Haupt-Massenspeichersystem ergeben, dann können die Daten von dem Magnetband entweder auf dasselbe oder ein anderes Massenspeichersystem kopiert werden.
  • Zwar bietet die Verwendung von Magnetband oder anderer archivierender Speichermittel als Maßnahme zum Schutz vor Datenverlust den Vorteil, relativ einfach und billig zu sein, doch unterliegt sie auch schwerwiegenden Einschränkungen. Eine solche Einschränkung hängt mit der Art zusammen, wie solche Backups erstellt werden. Wenn Daten von einem Massenspeichersystem auf ein Backup-Band gespeichert werden, so kopiert das Kopierverfahren die Daten im allgemeinen Datei für Datei. Anders ausgedrückt, eine Datei wird von dem Massenspeichersystem auf das Band kopiert. Wenn diese Kopie vollständig ist, so wird eine andere Datei von dem Massenspeichersystem auf das Band kopiert. Der Vorgang wird solange wiederholt, bis alle Dateien kopiert sind.
  • Um die Integrität der Daten, die auf das Band gespeichert werden, sicherzustellen, muss darauf geachtet werden, dass die Datei sich nicht verändert, während das Backup durchgeführt wird. Ein einfaches Beispiel soll der Erläuterung dienen: Angenommen in einer Datei seien die Kontostände aller Kunden einer Bank gespeichert. Falls es zugelassen wird, dass die Kontostände sich während des Zeitraums, in dem das Backup der Datei erstellt wird, ändern, so besteht die Möglichkeit, dass die Datei in einem logisch inkonsistenten Zustand zurückgelassen wird. Wird beispielsweise von einem Kontostand ein Backup erstellt und dieser Kontostand unmittelbar nach der Erstellung des Backups mit $ 100,00 belastet und werden dieselben $ 100,00 einem zweiten Konto gutgeschrieben, so kann sich eine Situation ergeben, in der dieselben $ 100,00 zwei verschiedenen Konten gutschrieben wurden.
  • Um eine solche Situation zu verhindern, dürfen sich die Daten einer Datei nicht verändern, während die Backup-Kopie erstellt wird. Ein einfacher Weg, die Änderung von Daten zu verhindern, ist die Sperrung des Zugangs zu der Datei während des Backup-Vorgangs. In einem solchen System wird der Zugriff auf die Dateien gesperrt, während die Datei gesichert wird. Diese Vorgehensweise wird von einer Vielzahl von Netzen angewendet, bei denen der Zugang zum Massenspeichersystem nach Geschäftsschluss gesperrt werden kann. Wenn beispielsweise ein Unternehmen am Ende jedes Tages schließt und sein Computer-Netz während der Nacht im Wesentlichen ungenutzt lässt, kann der Zugang zum Netz des Nachts gesperrt und diese Zeit zur Durchführung eines Backup-Vorgangs genutzt werden. Hierdurch ist die Backup-Erstellung jedoch auf ein einmal tägliches Backup außerhalb der Ge schäftszeiten beschränkt. Für einige Geschäftsvorgänge kann dies jedoch nicht ausreichend sein.
  • Eine zunehmende Zahl von Computernetzen wird von Computerunternehmen genutzt, die weltweit operieren, daher werden diese Netze möglicherweise 24 Stunden am Tag an sieben Tagen der Woche benötigt. Ein solches Netz jeden Tag für einige Stunden zu schließen, um ein Band-Backup zu erstellen, kann das Unternehmen in signifikanter Weise beeinträchtigen. Für solche Unternehmen ist die Erstellung eines Backup-Bandes in traditioneller Art und Weise unpraktisch und nicht durchführbar.
  • Als Versuch, den Bedürfnissen solcher Unternehmen gerecht zu werden oder die Häufigkeit der Backups zu steigern, kommt manchmal eine Vorgehensweise des Kopierens von in Computernetzen gespeicherten Daten zur Anwendung, die als "Data Shadowing" bekannt ist. Ein Daten-Shadowing-Programm durchläuft zyklisch alle Dateien in einem Computernetz, oder einen Satz ausgewählter kritischer Dateien, und prüft die Datums- und Uhrzeitzuschreibung jeder Datei. Wenn seit der letzten Prüfung des Status der Datei durch das Daten-Shadowing-Programm Daten in diese Datei geschrieben wurden, so wird eine Kopie der Datei an das Backup-System geschickt. Die Daten werden von dem Backup-System empfangen und auf Bändern oder anderen Medien gespeichert. Die Schattendaten sind gewöhnlich aktueller als die aus einem Band-Backup wiedergewonnenen Daten, da wenigstens ein Teil der Information während der Geschäftsstunden gespeichert wird. Trotzdem können Schattendaten veraltet und falsch sein. So ist es beispielsweise nicht ungewöhnlich, dass ein Shadowing-Programm für das Shadowing von mehreren tausend Dateien zuständig ist. Ebenfalls nicht ungewöhnlich ist, dass Aktivität in Dateien ausbruchsartig stattfindet, wobei für kurze Zeit in einer oder in zwei Dateien eine hohe Aktivität stattfindet, gefolgt von einem Ausbruch an Aktivität in mehreren anderen Dateien. Somit kann es sein, dass ein Daten-Shadowing-Programm einen Großteil seiner Zeit damit verbringt, eine Vielzahl inaktiver Dateien auf ihren Zustand hin zu prüfen, während in mehreren anderen Dateien rapide Veränderungen stattfinden. Wenn das System abstürzt oder aus anderen Gründen nicht zur Verfügung steht, bevor das Daten-Shadowing-Programm dazu gekommen ist, die kritischen Dateien zu prüfen, können Daten verloren gehen.
  • Ein anderes Problem bei Daten-Shadowing-Programmen ist die Tatsache, dass sie gewöhnlich bei Daten, die in sehr großen Dateien gespeichert sind, nicht funktionieren. Man denke an ein System mit einer einzigen, sehr großen Datenbank und mehreren, viel kleineren Dateien. Nehmen wir an, dass die primäre Information eines Unternehmens in der großen Datenbank gespeichert ist, so ist vernünftiger Weise anzunehmen, dass das Lesen dieser sehr großen Datenbank und das Schreiben von Daten in diese einen sehr großen Teil des Geschäftstages einnimmt. Und angenommen, dass die Erstellung einer Backup-Kopie dieser sehr großen Datenbank möglich wäre, so könnte die Zeit, die dafür benötigt wird, eine Backup-Kopie einer solch großen Datenbank zu erstellen, die Anwendung des Daten-Shadowing unpraktikabel machen. Das Daten-Shadowing-Programm kann versuchen, eine Kopie der großen Datenbank nach der anderen zu erstellen. Das Erstellen einer solch großen Anzahl von Kopien bedeutet nicht nur einen enormen Zeitaufwand, sondern erfordert auch einen enormen Backupspeicherplatz.
  • Ein anderes Problem von Systemen des Daten-Shadowing-Typs besteht darin, dass offene Dateien in der Regel nicht kopiert werden. Wie weiter oben beschrieben, muss eine Datei während der Erstellung einer Backup-Kopie eingefroren werden, um zu verhindern, dass die Datei während des Backup-Vorganges geändert wird. Daher versuchen Daten-Shadowing-Systeme gewöhnlich nicht, offene Dateien zu kopieren. Wer den in einer großen Datenbank kontinuierlich Änderungen vorgenommen, so ist diese ständig offen, und ein Daten-Shadowing-System wird diese Datenbank aus dem einfachen Grunde, dass die Datei geöffnet ist, möglicherweise nicht kopieren. Zumindest aus diesen Gründen werden Daten-Shadowing-Systeme in der Regel nicht für sehr große Dateien empfohlen.
  • Eine andere Vorgehensweise, die angewandt wurde mit dem Ziel, einige dieser Beschränkungen zu überwinden, besteht in einem Verfahren, bei dem ein zeitlicher Ablauf von Daten erfasst und gesichert wird. Beispielsweise ist die Plattenspiegelung ["disk mirroring"] oder das "Duplexing" ein Bestandteil vieler Systeme. Bei der Plattenspiegelung oder dem Duplexing werden die in einem primären Massenspeichersystem vorgenommenen Änderungen an ein anderes Backup- oder sekundäres Massenspeichersystem geschickt. Anders ausgedrückt, wird ein Datenblock in das primäre Massenspeichersystem geschrieben, so wird derselbe Datenblock in ein separates Backup-Massenspeichersystem geschrieben. Dadurch dass jede Schreiboperation in ein zweites Massenspeichersystem kopiert wird, können zwei Massenspeichersysteme synchronisiert werden, so dass sie zum gleichen Zeitpunkt praktisch identisch sind. Ein solches System bietet Schutz vor bestimmten Fehlerarten, jedoch bleibt es empfänglich für andere Arten von Fehlern.
  • Die hauptsächliche Fehlerart, welche durch die Plattenspiegelung überwunden wird, sind Hardware-Fehler. Werden beispielsweise Daten gleichzeitig auf zwei Platten geschrieben, dann stehen, falls die eine Platte ausfällt, die Daten immer noch auf der anderen Platte zur Verfügung. Sind die beiden Platten mit zwei separaten Plattenkontrollern verbunden, so bleiben bei einem Ausfall eines einzelnen Plattenkontrollers oder einer einzigen Platte die Daten immer noch über die andere Plattenkontroller-Platte-Anordnung zu gänglich. Ein solches Konzept kann ausgeweitet werden, so dass es ganze Systeme umfasst, in denen ein sekundärer Netz-Server einen primären Server spiegelt, wobei im Falle eines Fehlers im primären Netz-Server der sekundäre Netz-Server übernehmen und die Operation fortführen kann. Die Produkte der Novell®SFT-Linie verwenden Varianten dieser Technologie.
  • Zwar bieten derartige Systeme einen sehr verlässlichen Schutz gegen Hardware-Fehler und ermöglichen außerdem nahezu sofortigen Zugriff auf Backup-Kopien kritischer Daten, doch schützen sie nicht gegen Fehler der Software. Mit der zunehmenden Komplexität der Software steigt auch die Wahrscheinlichkeit von Software-Fehlern. In den heute existierenden, komplexen Computer-Umgebungen, in denen multiple Computersysteme, welche multiple Betriebssysteme betreiben, miteinander in einer Netzumgebung verbunden sind, steigt die Wahrscheinlichkeit von Software-Fehlern, die gelegentlich Systemabstürze verursachen. Tritt ein solcher Software-Fehlar auf, so kann es sein, dass sowohl das primäre Massenspeichersystem als auch das gespiegelte Massenspeichersystem in einem logisch inkonsistenten Zustand zurückgelassen werden. Man nehme beispielsweise an, dass ein Software-Fehler während eines Updates der Datenbank aufgetreten ist. In einer solchen Situation hätten sowohl das primäre Massenspeichersystem als auch das gespiegelte Massenspeichersystem den gleichen Schreibbefehl erhalten. Wenn der Software-Fehler während der Ausgabe des Schreibbefehls auftrat, kann es sein, dass beide Massenspeichersysteme in einem identischen, logisch inkonsistenten Zustand zurückgelassen werden. Falls es sich bei dem gespiegelten Massenspeichersystem um die einzige Form des Backups in dem Netz handelt, könnten kritische Daten für immer verloren sein.
  • Falls das Backup an einem entfernten Ort durchgeführt werden soll, nehmen die mit der oben beschriebenen Technologie verbundenen Probleme zu. Beispielsweise kann, falls eine Platte an einem entfernten Ort gespiegelt werden soll, die Menge der an den entfernten Ort übertragenen Daten erheblich sein. Deshalb muss zwischen dem primären Ort und dem sekundären oder Backup-Ort eine Kommunikationsverbindung hoher Geschwindigkeit bestehen. Hochgeschwindigkeitskommunikationsverbindungen sind in der Regel teuer. Falls eine zeitliche Abfolge von Daten über eine Kommunikationsverbindung an ein Backupsystem an einem entfernten Ort geschickt werden soll, dann wird die Verlässlichkeit der Kommunikationsverbindung darüber hinaus zu einem bedeutenden Faktor. Sollte die Kommunikationsverbindung aus irgendeinem Grunde zeitweilig unterbrochen werden, so würde die Synchronisation zwischen dem primären Massenspeichersystem und dem sekundären oder Backup-Massenspeichersystem verloren gehen. Es müssen dann Schritte unternommen werden, um die beiden Massenspeichereinrichtungen miteinander in Einklang zu bringen, sobald die Kommunikationsverbindung wiederhergestellt ist. Somit ist die Spiegelung eines primären Massenspeichersystems an einem entfernten Ort normalerweise schwierig und sehr teuer.
  • Die Probleme beim Backup eines einzigen Systems an einem entfernten Ort werden noch komplizierter, wenn ein einziger entfernter Ort für mehrere primäre Systeme zuständig ist. Die Anwendung eines File-by-File-Backup-Verfahrens benötigt erhebliche Zeit, wenn die Massenspeichereinrichtungen des primären Systems relativ groß sind. In einer solchen Situation reicht eine einzige Nacht möglicherweise nicht aus, um alle primären Orte an einem einzigen entfernten Ort zu sichern. Somit ist in einigen Situationen das File-by-File-Transferverfahren nicht anwendbar. Ähnliche Probleme bestehen bei der Remote-Disk-Spiegelungstechnologie. Da ein Remote-Disk-Spiegel normalerweise eine dedizierte Kommunikationsverbindung erfordert, muss das Backup-System ausreichend schnell sein, um die Kommunikation einer Mehrzahl dedizierter Kommunikationsleitungen zu handhaben. Die Menge der Daten, die von dem Backup-System empfangen und gespeichert werden müssen, können die Fähigkeiten des Backup-Systems schnell überfordern.
  • Es wäre daher ein Fortschritt auf diesem Gebiet der Technik wenn ein Backup-System zur Verfügung stünde, mit dem die Erstellung eines logisch konsistenten Backups sichergestellt wäre. Es wäre außerdem ein Fortschritt auf diesem Gebiet der Technik, wenn ein Backup-System zur Verfügung stünde, mit dem die Backup-Sicherung von Daten ohne Beendigung des Anwenderzugriffs zu dem Massenspeichersystem möglich wäre. Des Weiteren wäre es sehr wünschenswert, über ein Backup-System zu verfügen, das in der Lage ist, ein Backup offener Computerdateien durchzuführen. Es wäre außerdem höchst wünschenswert, über ein Backup-System zu verfügen, dass in der Lage ist, ein Backup von Dateien durchzuführen, während die Dateien geändert werden, um die für die Erstellung einer Backup-Kopie erforderliche Zeit zu verringern. Es wäre sehr wünschenswert, wenn ein einziges Backup-System zur Verfügung stünde, mit dem eine Mehrzahl von primären Systemen bedient werden kann. Und schließlich wäre es ebenfalls ein Fortschritt auf diesem Gebiet der Technik, wenn ein Backup-System zur Verfügung stünde, mit dem diese Aufgaben entweder lokal oder über die Entfernung unter Anwendung einer Kommunikationsverbindung niedriger Bandbreite erfüllt werden könnten.
  • WO 96/12232 beschreibt ein Verfahren zur Bereitstellung einer statischen Momentaufnahme (Schnappschuss), oder eines Abbildes (Image), von Daten, die in einem Massenspeichersystem gespeichert sind. Das System speichert Datenblöcke in einer Mehrzahl von Speicherstellen und enthält einen Aufbewahrungsspeicher, der während eines Backup-Vorganges eine statische Momentaufnahme von Daten speichern kann. Die statische Momentaufnahme repräsentiert die ganze virtuelle Massenspeichereinrichtung zu einem Zeitpunkt, und die ganze Massenspeichereinrichtung wird von dem primären System in das Backup-System während eines zweiten Zeitintervalls, nach dem besagten Zeitpunkt, kopiert, so dass eine Backup-Sicherung sämtlicher Speicherstellen erstellt wird.
  • "Storage Management Mechanism for Managing Snapshot Pages", IBM Technical Disclosure Bulletin, Band 35, Nr. 4B, September 1992, Seiten 26–29 (XP-000313841) beschreibt eine Speicherverwaltungsmethode zur Bewahrung von Momentaufnahmen- oder Schnappschussabbildern von Daten, so dass das Schnappschussabbild in Backup-Medien gesichert werden kann, während es gleichzeitig den Benutzern erlaubt ist, das Live-Datenabbild zu ändern. Das Verfahren kopiert nur die Daten, die gerade geändert werden, um den zur Aufbewahrung des Schnappschussabbildes erforderlichen Zwischenspeicher zu reduzieren. Das Verfahren verwendet eine Bit-Map, um Änderungen in Seiten aufzuspüren (minimale Mengen an virtuellem Speicher), die auftreten, während ein Schnappschuss gemacht wird.
  • Die oben erwähnten Probleme des früheren Standes der Technik werden mit der vorliegenden Erfindung erfolgreich überwunden; die Erfindung betrifft ein Verfahren für die Backup-Sicherung einer primären Massenspeichereinrichtung in einer Backup-Speichereinrichtung.
  • Gemäß einem ersten Aspekt der Erfindung wird ein Verfahren bereitgestellt zur Backup-Sicherung von Datenblöcken, die während eines ersten Zeitintervalls verändert werden, welches sich von einem ersten Zeitpunkt bis zu einem zweiten Zeitpunkt erstreckt, während die Datenmenge verringert wird, die an das Backup-System geschickt werden muss, wobei das Verfahren in einem Computersystem abläuft, das ein Primärsystem umfasst, welches ein Massenspeichersystem, das Datenblöcke in einer Mehrzahl von Speicherstellen abspeichert, welche jeweils eine eindeutige Adresse haben, und ein Aufbewahrungsspeichermittel zur Bereitstellung einer Momentaufnahmenspeicherstelle (Schnappschussspeicherstelle) aufweist, und wobei das Computersystem außerdem ein Backup-System mit einer Backup-Speicherstelle umfasst, wobei das Verfahren die folgenden Schritte umfasst: während eines ersten Zeitintervalls, das sich von einem ersten Zeitpunkt bis zu einem zweiten Zeitpunkt erstreckt, werden ausschließlich die Speicherstellen des Massenspeichersystems identifiziert, die sich aufgrund der Abspeicherung neuer Daten in diesen Speicherstellen während des ersten Zeitintervalls verändert haben; während eines zweiten Zeitintervalls, das sich von dem zweiten Zeitpunkt bis zu einem dritten Zeitpunkt erstreckt, wenn ein Datenblock verändert werden soll, der zu dem zweiten Zeitpunkt in einer beliebigen identifizierten Speicherstelle gespeichert wurde, wird im Aufbewahrungsspeichermittel eine Momentaufnahme (Schnappschuss) des unveränderten Datenblocks aufbewahrt, bevor dieser Datenblock verändert wird, so dass die im Aufbewahrungsspeichermittel gespeicherten unveränderten Datenblöcke abgerufen werden können, obwohl nach dem zweiten Zeitpunkt neue Daten in das Massenspeichersystem geschrieben werden; während des zweiten Zeitintervalls werden die im Aufbewahrungsspeichermittel gespeicherten unveränderten Datenblöcke abgerufen und die abgerufenen Datenblöcke werden in die Backup-Speicherstelle des Backup-Systems transferiert; die transferierten Datenblöcke werden vom Backup-System in einem temporären Speichermittel gespeichert bis alle zu transferierenden Datenblöcke empfangen wurden; und nachdem alle zu transferierenden Datenblöcke empfangen wurden, führt das Backup-System die transferierten Datenblöcke einem Backup-Speichermittel zu, welches alle vor dem ersten Zeitpunkt vorgenommenen Veränderungen einschließt, um das Backup-Speichermittel auf den Stand des zweiten Zeitpunkts zu bringen.
  • Ein weiterer Aspekt der Erfindung besteht in der Bereitstellung eines Computerprogrammcodes zur Anwendung in einem Computersystem, umfassend ein Massenspeichermittel, welches eine Mehrzahl von Datenblöcken in einer Mehrzahl von Speicherstellen speichert, die jeweils eine eindeutige Adresse haben, und ein Backup-System mit einem Backup-Speichermittel, wobei der Computerprogrammcode vom Computer ausführbare Befehle aufweist, umfassend: ein Mittel, durch das identifiziert wird, in welchen der Speicherstellen neue Datenblöcke während eines Zeitintervalls gespeichert wurden, das sich von einem ersten Zeitpunkt bis zu einem zweiten Zeitpunkt erstreckt; ein Mittel, durch das zu besagtem zweiten Zeitpunkt eine statische Momentaufnahme der Speicherstellen, in denen neue Datenblöcke zwischen dem ersten Zeitpunkt und dem zweiten Zeitpunkt gespeichert wurden, aufbewahrt wird, wobei die statische Momentaufnahme mindestens einen unveränderten Datenblock einschließt, der nach dem zweiten Zeitpunkt von einer der identifizierten Speicherstellen in das Mittel zur Aufbewahrung einer statischen Momentaufnahme transferiert wurde, bevor die genannte eine der identifizierten Speicherstellen verändert wird, indem ein neuer Datenblock hinein geschrieben wird, wobei die statische Momentaufnahme aufbewahrt wird, ohne dass der Zugriff der Benutzer auf den Massenspeicher beendet wird; ein Mittel, durch das die Datenblöcke, die durch die statische Momentaufnahme aufbewahrt wurden, in ein Backup-System transferiert werden; ein Mittel, durch das das Backup-System veranlasst wird, die transferierten Datenblöcke in einem temporären Speichermittel zu speichern, bis alle zu transferierenden Datenblöcke empfangen wurden; und ein Mittel, durch das das Backup-System veranlasst wird, nachdem alle zu transferierenden Datenblöcke empfangen wurden, die transferierten Datenblöcke einem Backup-Speichermittel zuzuführen, welches alle vor dem ersten Zeitpunkt vorgenommenen Veränderungen einschließt, um das Backup-Speichermittel auf den Stand des zweiten Zeitpunkts zu bringen.
  • Das vorliegende System und Verfahren bietet drei signifikante Vorteile gegenüber dem Stand der Technik. Zunächst vermindert das Backup-System und -Verfahren der vorliegenden Erfindung die Menge an Daten, die zur Erstellung eines Backups erforderlich ist, indem nur diejenigen Datenblöcke der primären Massenspeichereinrichtung gesichert werden, die sich verändern. Zweitens wird mit dem System und dem Verfahren der vorliegenden Erfindung die Sicherheit des Backups hervorgehoben, indem sichergestellt wird, dass sich die primäre Speichereinrichtung in einem logisch konsistenten Zustand befindet, wenn ein Backup erstellt wird. Drittens, da die für die Erstellung eines Backup benötigten Daten auf absolute Minimum reduziert werden, und da Backups nur von logisch konsistenten Zuständen erstellt werden, kann die Häufigkeit der Backups erhöht werden, um eine viel höhere Anzahl logisch konsistenter Zustände zu erfassen. Mit dem Backup-System und -Verfahren der vorliegenden Erfindung wird dies erreicht, ohne den Zugang des Benutzers zu dem Massenspeichersystem zu beenden.
  • Die vorliegende Erfindung geht von der Annahme aus, dass eine primäre Massenspeichereinrichtung, die mit einem primären Computer verbunden ist, und ein Backup-Speichersystem, das mit einer Backup-Speichereinrichtung verbunden ist, identische Daten enthalten. Dies kann z. B. dadurch erreicht werden, dass eine vollständige Kopie der Massenspeichereinrichtung in der Backup-Einreichung erstellt wird, und zwar entweder unter Anwendung traditioneller Backup-Verfahren oder traditioneller Plattenspiegelungsverfahren. Sobald die primäre Massenspeichereinrichtung und die Backup-Speichereinrichtung die gleichen Daten enthalten, verfolgt die vorliegende Erfindung die in der primären Massenspeichereinrichtung vorgenommenen Änderungen. Dieses Verfolgen geschieht durch Identifizieren derjenigen Speicherzellen in der primären Massenspeichereinrichtung, die neue Daten enthalten, welche seit der Zeit, in der die Backup-Speichereinrichtung mit der primären Massenspeichereinrichtung synchron war, in diese eingeschrieben wurden. Durch Identifizieren der Änderungen, die in der primären Massenspeichereinrichtung vorgenommen wurden, identifiziert die Erfindung diejenigen Änderungen, die in der Backup-Speichereinrichtung durchgeführt werden müssen, um die Backup- Speichereinrichtung auf den Stand der primären Massenspeichereinrichtung zu bringen.
  • Sobald die in der Backup-Speichereinrichtung durchzuführenden Änderungen identifiziert sind, werden die Änderungen zum Backup-System geschickt. Das Backup-System verfügt dann über alle Daten, um die Backup-Speichereinrichtung auf den Stand der primären Massenspeichereinrichtung zu bringen. Damit die ursprünglichen Daten der primären Massenspeichereinrichtung während des Backup-Vorganges erhalten bleiben, wird eine statische Momentaufnahme (statischer Schnappschuss) der primären Massenspeichereinrichtung gemacht. Dieser statische Schnappschuss erfasst die Veränderungen, die in der primären Massenspeichereinrichtung vorgenommen wurden und die zum Backup-System transferiert werden müssen. Um das Backup für die Anwender transparent zu machen, wird die Momentaufnahme bevorzugt auf eine Weise gemacht, die zu keiner Unterbrechung des Anwenderzugangs zu der primären Massenspeichereinrichtung führt.
  • Die vorliegende Erfindung enthält einen Mechanismus, der identifiziert, wann sich die primäre Massenspeichereinrichtung in einem logisch konsistenten Zustand befindet, um festzustellen, wann ein statischer Schnappschuss gemacht werden sollte. Durch die Identifizierung eines logisch konsistenten Status und dann die Momentaufnahme der bis zu diesem Zeitpunkt durchgeführten Änderungen ist garantiert, dass das Backup-System einen logisch konsistenten Status erfasst, wenn die Änderungen an das Backup-System transfe riert werden. Durch das Erfassen von Schnappschüssen von aufeinander folgenden logisch konsistenten Zuständen ist das Backup in der Lage, einen logisch konsistenten Zustand nach dem anderen zu erfassen. Sollten die Backup-Daten jemals benötigt werden, so werden sich die Backup-Daten auf diese Weise in einem logisch konsistenten Zustand befinden. Das Backup-System bewegt sich von einem logisch konsistenten Status zu einem anderen logisch konsistenten Status und eliminiert somit eines der Probleme des Standes der Technik.
  • Dadurch dass die vorliegende Erfindung für die Sicherung eines Massenspeichersystems eine Datenblock-Vorgehensweise wählt, wird mit der vorliegenden Erfindung die Menge der Daten, die zur Erstellung eines Backups transferiert werden müssen, auf das absolute mögliche Minimum reduziert. Weist beispielsweise eine große Datenbank fünf Datensätze auf, die sich verändern, so würden Systeme des Standes der Technik die gesamte große Datenbank kopieren. Mit der vorliegenden Erfindung werden jedoch nur die fünf Datensätze, die sich verändert haben, kopiert. Da die Datenmenge minimiert ist, eignet sich die vorliegende Erfindung besonders gut für das Backup von Daten in einem Backup-System an einem entfernten Ort. Die vorliegende Erfindung kann Kommunikationsverbindungen mit niedriger Bandbreite verwenden, um Backup-Daten an eine entfernte Backup-Stelle zu transferieren. Beispielsweise werden in vielen Fällen herkömmliche Telefonwählleitungen mit einem 56,6-kBaud-Modem für viele Situationen völlig ausreichen.
  • Da die zur Erstellung einer Backup-Kopie benötigten Daten durch die vorliegende Erfindung minimiert werden, kann eine Reihe von Backup-Kopien, eine nach der anderen, erstellt werden. Hierdurch wird es möglich, den Status einer einzigen Massenspeichereinrichtung mit größerer Häufigkeit zu erfassen. Zusätzlich kann ein einziges zentralisiertes Backup-System eine Mehrzahl von Primärservern unterstützen, so dass jeder der Server auf demselben Backup-System gesichert werden kann.
  • Demgemäß ist es ein primäres Ziel der vorliegenden Erfindung, ein System und ein Verfahren für die Backup-Sicherung von Massenspeichern bereitzustellen, mit denen die Menge an Daten, die an ein Backup-System transferiert werden müssen, minimiert wird.
  • Ein anderes zentrales Ziel der vorliegenden Erfindung ist die Bereitstellung eines Systems und eines Verfahrens für die Backup-Sicherung von Massenspeichern, welche in der Lage sind, logisch konsistente Zustände zu erfassen, so dass das Backup nicht in einem logisch inkonsistenten Zustand zurückgelassen wird.
  • Ein weiteres Ziel der vorliegenden Erfindung besteht darin, es zu ermöglichen, dass das Backup-System aufeinander folgende logisch konsistente Backup-Zustände erfasst, um eine Reihe von logisch konsistenten Backup-Zuständen zur Verfügung zu stellen.
  • Zusätzliche Ziele und Vorteile der vorliegenden Erfindung sind in der nachfolgenden Beschreibung aufgeführt und ergeben sich zum Teil aus der Beschreibung, oder sie zeigen sich bei der Anwendung der Erfindung. Die Ziele und Vorteile der Erfindung können erreicht und verwirklicht werden mittels der Instrumente und Kombinationen, auf die in den beigefügten Ansprüchen im Einzelnen hingewiesen wird. Diese und andere Ziele der vorliegenden Erfindung sind aus der nachfolgenden Beschreibung und den beigefügten Ansprüchen näher ersichtlich oder sie ergeben sich aus der Anwendung der Erfindung, wie sie nachfolgend beschrieben wird.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Um die Art und Weise, wie die oben genannten sowie andere vorteile und Ziele der Erfindung erhalten werden, zu erläutern, folgt nun eine detailliertere Beschreibung der oben in Kürze beschriebenen Erfindung unter Bezug auf die spezifischen Ausführungsformen der Erfindung, die in dem beigefügten Zeichnungen dargestellt sind. Es wird darauf hingewiesen, dass diese Zeichnungen lediglich typische Ausführungsformen der Erfindung wiedergeben und daher nicht als den Schutzumfang der Erfindung beschränkend zu verstehen sind. Die Erfindung wird durch die beiliegenden Zeichnungen mit zusätzlicher Spezifizität und zusätzlichem Detail beschrieben und erläutert. Die Zeichnungen zeigen:
  • 1: ein Blockdiagramm, in dem ein System der vorliegenden Erfindung dargestellt ist;
  • 2: ein Diagramm, in dem der Ablauf eines Verfahrens der vorliegenden Erfindung erläutert wird;
  • 3: ein Blockdiagramm auf Systemebene, das eine Ausführungsform der vorliegenden Erfindung zeigt;
  • 4: eine Darstellung der Verfahrensdetails einer Ausführungsform des Massenspeicher-Schreib-Lese-Verarbeitungsblocks von 3;
  • 5: Verarbeitungsdetails einer Ausführungsform des primären Backup-Verarbeitungsblocks von 3;
  • 6: die Verarbeitungsdetails einer Ausführungsform des Backup-Lese-Verarbeitungsblocks von 3;
  • 7A und 7B: Diagramme, die ein Beispiel eines Verfahrens der vorliegenden Erfindung darstellen;
  • 8: ein Verfahren zur Identifizierung von Unterschieden zwischen einem Massenspeichersystem und einem Backup-Speichersystem;
  • 9: die Verarbeitungsdetails einer Ausführungsform des Unterschiede identifizierenden Verarbeitungsblocks von 3;
  • 10: die Verarbeitungsdetails einer Ausführungsform des Backup-System-Verarbeitungsblocks von 3.
  • DETAILLIERTE BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
  • Die folgende Erfindung wird unter Verwendung von Flussdiagrammen beschrieben, um entweder die Struktur oder die Verarbeitung von bestimmten Ausführungsformen zur Realisierung des Systems und des Verfahrens der vorliegenden Erfindung zu beschreiben. Diese Art der Verwendung der Diagramme zur Präsentation der Erfindung sollte nicht als den Schutzumfang der Erfindung einschränkend verstanden werden. Die vorliegende Erfindung kontempliert sowohl ein System als auch ein Verfahren für die Backup-Sicherung einer primären Massenspeichereinrichtung in einer Backup-Speichereinrichtung. Die derzeit bevorzugte Ausführungsform des Systems zur Sicherung einer primären Massenspeichereinrichtung in einer Backup-Speichereinrichtung umfasst einen oder mehr Universalrechner. Das System und das Verfahren der vorliegenden Erfindung kann jedoch auch mit einem beliebigen Spezialrechner oder anderen Hardware-Systemen angewandt werden, welche alle im Schutzumfang der Erfindung enthalten sind.
  • Ausführungsformen, die innerhalb des Schutzumfangs der Erfindung liegen, sind auch computerlesbare Medien, die darin kodierte computerausführbare Instruktionen enthalten. Derartige computerlesbare Medien können alle zur Verfügung stehenden Medien sein, auf die ein Universal- oder Spezialcomputer Zugriff hat. Beispielsweise (ohne Beschränkung) können solche computerlesbaren Medien RAM, ROM, EEPROM, CD-ROM oder andere Bildplattenspeicher, Magnetplattenspeicher oder andere Magnetspeichereinrichtungen, magnetooptische Speichereinrichtungen oder ein beliebiges anderes Medium umfassen, das dazu verwendet werden kann, das gewünschte Programmcodemittel zu speichern und auf welches durch einen Universalrechner oder Spezialrechner Zugriff genommen werden kann. Kombinationen der oben Genannten fallen ebenfalls in den Bereich der computerlesbaren Medien. Register einer CPU oder einer anderen Recheneinheit, die computerausführbare Instruktionen speichern, wobei sie diese Dekodieren und Ausführen, fallen ebenfalls in den Bereich der computerlesbaren Medien.
  • Computerlesbare Instruktionen umfassen z. B. ausführbare Instruktionen und Daten, die einen Universalcomputer oder einen Spezialcomputer dazu veranlassen, bestimmte Funktionen oder eine bestimmte Gruppe von Funktionen auszuführen.
  • Unter Bezug auf 1 wird nun ein Blockdiagramm auf Systemebene einer Ausführungsform der vorliegenden Erfindung vorgestellt. Das – allgemein mit 10 gekennzeichnete – System umfasst ein oder mehr Primärsysteme 12, ein Backupsystem 14, und ein Backup-Transportmittel für den Transport der Daten zwischen einem Primärsystem 12 und einem Backup-System 14. In 1 ist das Backup-Transportmittel als Backup-Transportverbindung 16 dargestellt. In 1 kann das Primärsystem 12 jede Art von vernetztem oder Einplatz-Computersystem sein. Beispielsweise kann es sich bei dem Primärsystem um einen Netzserver-Computer handeln, der mit einem Computernetz wie dem Computernetz 18 verbunden ist. Das primäre System 12 kann auch ein Einplatzsystem sein. Es kann sich bei dem primären System 12 auch um einen Backup- oder Standby-Server eines Computernetzes handeln, der mit einem primären Server verbunden ist. Die vorliegende Erfindung kann mit jeder Art von Computersystem angewandt werden. In diesem Sinne soll der Begriff "Primär..." oder "primär" nicht ein Computersystem als primären Netzwerkserver (im Gegensatz zu einem Backup- oder Standby-Netzwerkserver) definieren oder beschreiben. In dieser Beschreibung weist der Begriff "Primär..." oder "primär" auf die Tatsache hin, dass das System angeschlossene Massenspeichermittel für die Speicherung einer Kopie der Daten aufweist, die gesichert werden sollen. Anders ausgedrückt wird der Begriff "Primär..." oder "primär" verwendet, um das System von dem Backup-System 14 zu unterscheiden.
  • Mit dem Primärsystem 12 ist ein Massenspeichermittel für die Speicherung einer Vielzahl von Datenblöcken an einer Vielzahl von Speicherstellen verbunden. Jede der Speicherstellen ist durch eine eindeutige Adresse oder einen anderen Mechanismus gekennzeichnet. Bei den Massenspeichermitteln kann es sich um einen beliebigen Speichermechanismus handeln, der Daten speichert, welche unter Verwendung der vorliegenden Erfindung gesichert werden sollen. Beispielsweise können solche Speichermittel einen oder mehr magnetische oder magnetooptische Plattenlaufwerke umfassen. Es wird jedoch angenommen, dass ein solches Massenspeichermittel eine Mehrzahl von Speicherstellen aufweist, welche zur Speicherung von Datenblöcken verwendet werden können. Die Speicherstellen werden durch eine eindeutige Adresse oder einen eindeutigen Index adressiert, so dass ein bestimmter Datenblock an diese Stelle geschrieben oder aus dieser Stelle abgerufen werden kann. In 1 z. B. ist ein solches Massenspeichermittel durch die Massenspeichereinrichtung 20 dargestellt.
  • Der Begriff "Datenblock" wird verwendet, um einen Block von Daten zu beschreiben, der in das Massenspeichermittel geschrieben oder aus diesem ausgelesen wird. Der Begriff "Datenblock" ist im weiten Sinne zu verstehen und schließt Daten in jeder Größe oder jedem Format ein. Beispielsweise werden in einem einzelnen Sektor auf einer Platte gespeicherte Daten korrekterweise als Datenblock bezeichnet. Auch die Menge von Daten, die in einer Gruppe oder einem Cluster von Sektoren gespeichert ist, kann korrekterweise als ein Datenblock bezeichnet werden. Handelt es sich bei dem Mas senspeichermittel um ein RAM oder um eine andere durch Wort oder Byte adressierbare Speichervorrichtung, so kann der Begriff Datenblock auf ein Byte, ein Wort oder eine Dateneinheit aus einer Mehrzahl von Wörtern angewandt werden.
  • Wie unten näher beschrieben, verwenden unter den Schutzbereich dieser Erfindung fallende Ausführungsformen während des Backupvorganges eine statische Momentaufnahme (einen statischen Schnappschuss), der ganzen oder eines Teils der Massenspeichereinrichtung. In den Schutzbereich der Erfindung fallende Ausführungsformen umfassen daher Aufbewahrungsspeichermittel für die Speicherung von Datenblöcken des genannten Massenspeichermittels, um eine statische Momentaufnahme des Speichermittels zu einem bestimmten Zeitpunkt zu erstellen. Wie unten näher beschrieben, kann ein solches Aufbewahrungsspeichermittel jede Art von schreibbarer Speichereinrichtung wie RAM, EEPROM, Magnetplattenspeicher und dergleichen umfassen. Ein solches Aufbewahrungsspeichermittel kann auch einen Teil der Massenspeichereinrichtung 20 umfassen. In 1 ist ein solches Aufbewahrungsspeichermittel z. B. als Schnappschussspeichereinrichtung 22 dargestellt. Das Aufbewahrungsspeichermittel wird unten näher besprochen.
  • Da es sich bei dem System 12 um jede Art von Universal- oder Spezialcomputer handeln kann, kann das Primärsystem 12 auch jede andere Hardware umfassen, aus der ein Universal- oder Spezialcomputer aufgebaut ist. Beispielsweise kann das Primärsystem 12 auch Prozessormittel für das Ausführen von programmierbaren Codemitteln umfassen. Das Prozessormittel kann ein Mikroprozessor oder eine andere CPU-Einrichtung sein. Das Prozessormittel kann auch verschiedene Spezialrechner wie digitale Signalprozessoren und dergleichen umfassen. Das primäre System 12 kann auch andere herkömmliche Computerkomponenten umfassen, wie Displaymittel, die dazu dienen, dem Benutzer die Ausgabe anzuzeigen, Eingabemittel für die Eingabe von Daten in das Primärsystem 12, Ausgabemittel für die Ausgabe von Hardcopy-Ausdrücken, Speichermittel wie z. B. RAM, ROM, EEPROM und dergleichen.
  • Das Backup-System 14 von 1 umfasst Backup-Speichermittel für die Speicherung von Datenblöcken, die von dem Primärsystem 12 erhalten wurden. Das Backup-Speichermittel kann jede beliebige Art von Speichereinrichtungen umfassen, die in der Lage ist, Datenblöcke zu speichern, die von einem Primärsystem erhalten wurden. Beispielsweise kann das Backup-Speichermittel eine Speichereinrichtung umfassen, die mit der Massenspeichereinrichtung eines Primärsystems identisch ist. Verfügt das Primärsystem z. B. über eine große Magnetplatte, so kann das Backup-Speichermittel ebenfalls eine große Magnetplatte umfassen. wenn das Backup-Speichermittel das gleiche ist wie das Massenspeichermittel des Primärsystems, so kann das Backup-Speichermittel das Massenspeichermittel des primären Systems eng spiegeln. Als weiteres Beispiel kann das Backup-Speichermittel archivierende Speichereinrichtungen wie ein Magnetbandlaufwerk oder ein optisches oder magnetooptisches Laufwerk umfassen. Die Art der Speichereinrichtungen, die für das Backup-Speichermittel Verwendung finden können, ist lediglich durch die spezifische Anwendung, in der sie verwendet werden, begrenzt. In einigen Situationen kann es wünschenswert sein, über ein Backup-Speichermittel zu verfügen, das dem Massenspeichermittel des Primärsystems stärker ähnelt. In anderen Fällen kann es völlig akzeptabel sein, über Speichermittel des Archivtyps zu verfügen, die für die Speicherung großer Datenmengen auf Kosten eines schnellen Zugriffs optimiert sind. Es ist lediglich erforderlich, dass das Backup-Speichermittel in der Lage ist, Datenblöcke, die aus dem Massenspeichermittel des Primärsystems in das Backup-System transferiert werden, zu speichern. In 1 ist das Backup-Speichermittel als Backup-Speichereinrichtung 24 dargestellt.
  • Wie unten näher beschrieben, kann das Backup-Speichersystem 14 Backup-Erfassungsmittel für die Speicherung von Datenblöcken umfassen, welche an das Backup-System 14 übermittelt werden, bis alle Datenblöcke erhalten wurden. Da mit der vorliegenden Erfindung nur bestimmte Datenblöcke transferiert werden, kann eine Situation entstehen, in der ein logisch inkonsistenter Zustand geschaffen wird, falls nur einige der Datenblöcke der Backup-Speichereinrichtung 24 zugeführt werden. ihn dies zu verhindern, kann es wünschenswert sein, die transferierten Datenblöcke an einer separaten Stelle, wie einem Backup-Speichermittel, zu sichern, bis alle Datenblöcke erhalten wurden. Hierdurch wird sichergestellt, dass eine vollständige Gruppe von Datenblöcken erhalten wird, bevor eine Aktion stattfindet. Backup-Erfassungsmittel können jede Art von Speicher umfassen, die in der Lage ist, vom Primärsystem 12 empfangene Datenblöcke zu speichern. So können Backup-Erfassungsmittel beispielsweise RAM, Magnetplattenspeicher oder jedes andere Speichermedium umfassen. Es ist allerdings bevorzugt, dass Backup-Erfassungsmittel eine ausreichende Geschwindigkeit haben, um in der Lage zu sein, Datenblöcke so schnell zu speichern, wie sie empfangen werden. Backup-Erfassungsmittel müssen dem Backupsystem 14 auch Datenblöcke bereitstellen, so dass das Backup-System 14 die Datenblöcke an sein angeschlossenes Backup-Speichermittel transferieren kann. In 1 wird das Backup-Erfassungsmittel durch den Backup-Erfassungspuffer 26 dargestellt.
  • Um Daten zwischen einem Primärsystem 12 und einem Backup-System 14 zu transferieren, wird eine Backup-Transportverbindung 16 genutzt. Die Backup-Transportverbindung 16 ist ein Beispiel für das Backup-Transportmittel für den Transport von Daten zwischen dem primären System 12 und dem Backup-System 14. Die Backup-Transportverbindung 16 kann jede Kombination von Hardware und/oder Software umfassen, die benötigt wird, um Datenübermittlung zwischen dem Primärsystem 12 und dem Backup-System 14 zu ermöglichen. Beispielsweise kann es sich bei der Backup-Transportverbindung 16 um ein lokales Netz (LAN), ein weiträumiges Netz (WAN), eine Wählverbindung, die Standard-Telefonleitungen oder Hochgeschwindigkeitskommunikationsleitungen nutzt, das Internet oder jeden anderen Mechanismus handeln, der es ermöglicht, dass Daten zwischen dem Primärsystem 12 und dem Backup-System 14 fließen. Wie unten näher erläutert, ist die vorliegende Erfindung so gestaltet, dass sie die Menge der Daten, die zwischen dem Primärsystem 12 und dem Backup-System 14 fließen, minimiert, so dass nur diejenigen Daten transferiert werden, die erforderlich sind, um das Backup-Speichermittel, wie die Backup-Speichereinrichtung 12, auf einen Stand mit dem primären Massenspeichermittel, wie der Massenspeichereinrichtung 20, zu bringen. Hierdurch wird es möglich, dass die Backup-Transportverbindung 16 eine größere Vielfalt von Technologien einschließt, die bei den Systemen des Standes der Technik nicht anwendbar sind. Die Bandbreitenerfordernisse für die Backup-Transportverbindung 16 sind normalerweise sehr gering: eine 56,6-kBaud-Wählverbindung ist für viele Zwecke völlig ausreichend.
  • In 2 ist eine Übersicht über das Verfahren dargestellt, das zur Backup-Sicherung eines Massenspeichermittels, wie der Massenspeichereinrichtung 20 von 1, in einem Backup-Speichermittel, wie der Backup-Speichereinrichtung 24 aus 1, verwendet wird. Anfänglich geht das in 2 dargestellte Verfahren davon aus, dass die Massenspeichereinrichtung und die Backup-Speichereinrichtung aktuell sind. Anders ausgedrückt enthält die Backup-Speichereinrichtung eine Kopie der in der Massenspeichereinrichtung gespeicherten Daten. Dies lässt sich durch Anwendung einer beliebigen Anzahl konventioneller Technologien erreichen. Welche Art von Technologie verwendet wird, wird in hohem Maße von der Art der Medien abhängen, die für die Backup-Speichereinrichtung eingesetzt werden. Handelt es sich beispielsweise bei der Backup-Speichereinrichtung um eine Platte ähnlich der Platte, die für die Massenspeichereinrichtung verwendet wird, so kann eine Plattenspiegelung oder ein anderes Mittel angewandt werden, um die Daten von der Massenspeichereinrichtung in die Backup-Speichereinrichtung zu kopieren. Wenn die Backup-Speichereinrichtung andererseits Magnetband oder einen anderen Speicher des Archivtyps verwendet, so kann ein Backup in der Weise erstellt werden, in der solche Archivband-Backups herkömmlicherweise erzeugt werden. In 2 wird davon ausgegangen, dass die Backup-Speichereinrichtung eine aktuelle Kopie der in der Massenspeichereinrichtung zum Zeitpunkt T0 gespeicherten Daten enthält.
  • Beginnend beim Zeitpunkt T0 wird mit dem in 2 zusammengefassten Verfahren die Aktualität der Backup-Speichereinrichtung in Bezug auf die Massenspeichereinrichtung aufrechterhalten. Das in 2 zusammengefasste Verfahren erfasst aufeinander folgende logisch konsistente Zustände. Dies bedeutet, dass sich die Backup-Speichereinrichtung entweder von einem logisch konsistenten Zustand zu einem nachfolgenden logisch konsistenten Zustand bewegt, oder es ermöglicht der Backup-Speichereinrichtung, aufeinander folgende logisch konsistente Zustände zu erfassen. Dies bedeutet einen erheblichen Vorteil gegenüber den Systemen des Standes der Technik, die die Backup-Speichereinrichtung in einem logisch inkonsistenten Status zurücklassen können. Dadurch dass sichergestellt wird, dass sich die Backup-Einrichtung in einem logisch konsistenten Zustand befindet, wird mit der vorliegenden Erfindung garantiert, dass stets ein brauchbares Backup zur Verfügung steht.
  • Wieder Bezug nehmend auf 2: Beginnend mit dem Zeitpunkt T0 werden die in dem Massenspeichersystem durchge führten Änderungen verfolgt. Dies ist in 2 durch den Block 28 dargestellt. Die Änderungen werden vorzugsweise dadurch verfolgt, dass Speicherstellen der Massenspeichereinrichtung identifiziert werden, in die beginnend mit dem Zeitpunkt T0 neue Daten eingeschrieben wurden. Wie unten näher erläutert, kann dies durch Bewahren eines Abbildes erfolgen, welches diejenigen Speicherstellen identifiziert, die beginnend mit dem Zeitpunkt T0 neu eingeschriebene Daten enthalten. Alternativ hierzu kann eine Liste der Speicherstellen, die beginnend mit dem Zeitpunkt T0 neu eingeschriebene Daten enthalten, geführt werden.
  • Zu einem gewissen Zeitpunkt ist es wünschenswert, die durchgeführten Änderungen zu erfassen und an das Backup-System zu transferieren. Gemäß einer bevorzugten Ausführungsform identifiziert das System einen logisch konsistenten Zustand der Massenspeichereinrichtung und macht eine statische Momentaufnahme wenigstens derjenigen Speicherstellen, die seit dem Zeitpunkt T0 geändert wurden. In 2 wird der logisch konsistente Zustand als Zeitpunkt T1 identifiziert und eine Momentaufnahme gemacht.
  • Eine statische Momentaufnahme soll Daten so bewahren, wie sie zu einem bestimmten Zeitpunkt existieren, so dass die Daten nach diesem bestimmten Zeitpunkt in ihrem ursprünglichen Zustand zur Verfügung stehen, und zwar auch dann, wenn in dem Massenspeichersystem nach dem Zeitpunkt der Momentaufnahme Änderungen durchgeführt werden.
  • Es bestehen viele Möglichkeiten, einen solchen statischen Schnappschuss zu erzeugen. Alle diese Verfahren funktionieren mit der vorliegenden Erfindung, jedoch wird einigen Verfahren aufgrund verschiedener Vorteile der Vorzug gegeben. Die Details bezüglich der Art und Weise, wie ein statischer Schnappschuss gemacht wird, sowie ein bevorzugtes Verfahren zur Erzeugung eines statischen Schnappschusses sind unten beschrieben. Allerdings ist es für diese Zusammenfassung wichtig zu verstehen, dass jedes Verfahren, mit dem ein statischer Schnappschuss erzeugt werden kann, zusammen mit der vorliegenden Erfindung Verwendung finden kann. Es wird jedoch bevorzugt, dass der statische Schnappschuss erzeugt wird, ohne den Schreib- oder Lesezugriff des Benutzers auf die zur Massenspeichereinrichtung zu beenden.
  • Zum Zeitpunkt T1, werden die zwischen T0 und T1 identifizierten Änderungen gesichert, indem sie zur Backup-Speichereinrichtung geschickt werden. Dies ist in 2 durch den Pfeil 30 und Block 32 dargestellt. Die Änderungen werden zur Backup-Speichereinrichtung geschickt, wobei nur Daten transferiert werden, die in denjenigen Speicherstellen gespeichert sind, in denen zwischen dem Zeitpunkt T0 und dem Zeitpunkt T1 neue Daten eingeschrieben wurden. Da die Daten zum Zeitpunkt T1 durch einen Schnappschuss bewahrt werden, stehen diese Daten für den Transfer zur Backup-Speichereinrichtung zur Verfügung, obwohl nach dem Zeitpunkt T1 neue Daten in die Massenspeichereinrichtung geschrieben werden. Das Abbild oder ein anderer Mechanismus, der verwendet wurde, um zu verfolgen, welche Speicherstellen Daten enthielten, die zwischen dem Zeitpunkt T0 und dem Zeitpunkt T1 eingeschrieben wurden, wird zur Identifikation der Daten verwendet, die an die Backup-Speichereinrichtung transferiert werden sollen. Man beachte, dass lediglich die Datenblöcke transferiert werden, die zwischen T0 und T1 geändert wurden. Somit werden nur inkrementelle Änderungen verschickt und es werden keine ganzen Dateien transferiert, es sei denn, dass die ganze Datei verändert ist.
  • Wie unten näher erläutert, werden die Daten, wenn sie von der Backup-Speichereinrichtung erhalten werden, vorzugswei se an einer temporären Stelle gepuffert, bis alle Daten von Zeitpunkt T0 bis T1 transferiert worden sind. Sobald alle Daten transferiert sind, können die Änderungen der Backup-Speichereinrichtung zugeführt werden, um diese auf den Stand des Zeitpunkts T1 zu bringen. Alternativ hierzu können die zwischen dem Zeitpunkt T0 und T1 aufgetretenen Änderungen als inkrementelles Backup bewahrt werden, so dass eine Rekonstruktion des zum Zeitpunkt T0 existierenden logisch konsistenten Status und des zum Zeitpunkt T1 existierenden logisch konsistenten Status möglich ist, falls gewünscht.
  • Da nach dem Zeitpunkt T1 während der Durchführung des Backups neue Daten in die Massenspeichereinrichtung geschrieben werden können, muss ein Mechanismus vorhanden sein, der die nach dem Zeitpunkt T1 durchgeführten Änderungen identifiziert, falls nach dem Zeitpunkt T1 ein weiteres Backup durchgeführt werden muss. In 2 werden die nach T1 erfolgten Änderungen, wie durch Block 34 angezeigt, verfolgt. Hierdurch wird es möglich, auch die nach dem Zeitpunkt T1 erfolgten Änderungen zur Backup-Speichereinrichtung zu transferieren, um die Backup-Speichereinrichtung mit einem späteren Zeitpunkt auf einen Stand zu bringen.
  • Wie in 2 dargestellt, wiederholt sich die oben beschriebene Sequenz zum Zeitpunkt T2. Dies wird durch den Pfeil 36, Block 38 und Block 40 dargestellt. Wie bereits beschrieben, sollte die zum Zeitpunkt T2 gemachte Momentaufnahme einen logisch konsistenten Zustand repräsentieren, so dass, wenn die zwischen T1 und T2 durchgeführten Änderungen zur Backup-Speichereinrichtung transferiert werden, die Backup-Speichereinrichtung mit dem logisch konsistenten Status zum Zeitpunkt T2 auf einen Stand gebracht wird.
  • Auf der Grundlage der obigen Zusammenfassung können einige Aussagen gemacht werden. Die erste Aussage lautet, dass mit der vorliegenden Erfindung nur die Daten gesichert werden, die in den Speicherstellen gespeichert sind, welche seit dem letzten Backup geändert wurden. Dies stellt gegenüber dem Stand der Technik einen bedeutenden Vorteil dar. Man erwäge beispielsweise eine Datenbank, in der nur sehr wenige Datensätze geändert werden. Systeme des Standes der Technik würden versuchen, ein Backup der gesamten Datenbank durchzuführen, wenn eine Änderung durchgeführt worden wäre. Mit der vorliegenden Erfindung werden jedoch lediglich die Datenblöcke gesichert, die aufgrund der geringen Anzahl von geänderten Sätzen verändert wurden. Dies bedeutet, dass die Zeit, die zur Erstellung des Backups der Datenbank erforderlich ist, und die Speicheranforderungen der Erstellung des Backups gegenüber dem Stand der Technik erheblich vermindert sind.
  • Ein weiterer wichtiger Unterschied gegenüber dem Stand der Technik wird in der obigen Beschreibung hervorgehoben. Mit der vorliegenden Erfindung werden die Daten so erfasst, wie sie existieren, wenn der Schnappschuss gemacht wird. Die vorliegende Erfindung versucht nicht, die zeitliche Abfolge von Änderungen, die in der Massenspeichereinrichtung durchgeführt wurden, zur Backup-Speichereinrichtung zu transferieren. Wurde beispielsweise ein einziger Datensatz der Datenbank zwischen dem Zeitpunkt, an dem das letzte Backup durchgeführt wurde, und dem aktuellen Backup-Zeitpunkt zehn Mal geändert, so würden gewisse Systeme des Standes der Technik zehn Änderungen zur Backup-Speichereinrichtung schicken. Die vorliegende Erfindung jedoch transferiert einfach nur die letzte Änderung, die vor der aktuellen Backup-Zeit durchgeführt wurde. In dem gegebenen Beispiel wird mit diesem Verfahren die an die Backup-Einrichtung gesandte Datenmenge um den Faktor 10 vermindert. Die vorlie gende Erfindung reduziert die zur Backup-Einrichtung geschickte Datenmenge auf das Minimum, das erforderlich ist, um ein logisch konsistentes Backup zu erstellen. Hierdurch kann die Kommunikationsverbindung zwischen dem primären System und dem Backup-System eine viel geringere Bandbreite aufweisen, als dies bei Systemen des Standes der Technik der Fall ist. Die vorliegende Erfindung ist somit in idealer Weise für solche Ausführungsformen geeignet, bei denen sich das Backup-System an einem von dem Primärsystem entfernten Ort befindet. Wenn sich das Backup-System an einem entfernten Ort befindet, können herkömmliche Telefonwählleitungen Verwendung finden, um die Backupdaten zwischen dem Primärsystem und dem Backup-System zu transferieren.
  • Die vorliegende Erfindung unterstützt auch eine Ausführungsform mit einem Many-to-One-Backup. Man erwäge beispielsweise die in 1 wiedergegebene Situation, in der eine Ausführungsform ein einziges Backup-System und eine Mehrzahl von primären Systemen umfasst. Das Backup-System kann entweder lokal oder an einem entfernten Ort angeordnet sein. Das Backup-System könnte dann den Kontakt mit einem Primärsystem initiieren, die Änderungen, die seit dem letzten Backup dieses Systems aufgetreten sind, empfangen und die Verbindung beenden. Dann würde eine Verbindung zu einem anderen Primärsystem hergestellt, und das Backup-System könnte die auf diesem Primär-System seit dem letzten Backup aufgetretenen Änderungen empfangen. Das Backup-System kontaktiert also ein Primär-System nach dem anderen und empfängt die Änderungen, die seit der Zeit, zu der das Primärsystem zuletzt kontaktiert wurde, aufgetreten sind. Eine solche Ausführungsform kann für ein Unternehmen mit vielen Filialen, wo Kopien der Daten dieser Filiale an einem zentralen Ort gespeichert werden müssen, von großem Wert sein.
  • Mit Bezug auf 3 wird nachfolgend ein Top-Level-Diagramm einer Ausführungsform zur Realisierung des in 2 zusammengefassten Verfahrens dargestellt. Die nachfolgende Beschreibung bietet einen Top-Level-Überblick über jeden der in 3 dargestellten Verarbeitungsblöcke. Danach werden die Details jedes Verarbeitungsblocks dargestellt.
  • Während des normalen Betriebes eines Computersystems werden periodisch Daten in ein angeschlossenes Massenspeichermittel, wie der Massenspeichereinrichtung 20, eingeschrieben oder ausgelesen. In den Schutzumfang der Erfindung fallende Ausführungsformen umfassen daher Mittel zum Schreiben von Daten in eine Massenspeichereinrichtung und Mittel zum Lesen von Daten aus einer Massenspeichereinrichtung. In 1 ist ein solches Mittel zum Beispiel durch den Massenspeicher-Lese-Schreib-Verarbeitungsblock 42 dargestellt. Die Einzelheiten des Massenspeicher-Lese-Schreib-Verarbeitungsblocks 42 werden später beschrieben; die grundlegende Funktion des Massenspeicher-Lese-Schreib-Verarbeitungsblocks 42 besteht darin, einen Datenblock in eine identifizierte Speicherstelle in einer Massenspeichereinrichtung 20 zu schreiben oder einen Datenblock aus einer identifizierten Speicherstelle in der Massenspeichereinrichtung 20 auszulesen. In 3 werden Anforderungen, einen Datenblock aus einer identifizierten Speicherstelle auszulesen bzw. in eine identifizierte Speicherstelle zu schreiben, durch die Massenspeicher-Lese-Schreib-Anforderungen 44 dargestellt. Immer wenn Lesen oder Schreiben abgefragt wird, kann der Massenspeicher-Lese-Schreib-Verarbeitungsblock eine Antwort ausgeben, wie durch die Massenspeicher-Lese-Schreib-Antwort 46 dargestellt. Die Antworten können eine Komplettierungscode oder einen anderen Indikator für den Erfolg oder das Misslingen der abgefragten Operation enthalten, sowie im Falle einer Lese-Anforderung, die abgefragten Daten.
  • Wie in Verbindung mit 2 beschrieben, verfolgt ein Verfahren der vorliegenden Erfindung Änderungen, die zwischen einem ersten Zeitpunkt und einem zweiten Zeitpunkt auftreten. Ausführungsformen, die innerhalb des Schutzumfangs der Erfindung liegen, umfassen daher Mittel, um zu identifizieren, in welchen Speicherstellen der Massenspeichereinrichtung 20 zwischen einem ersten Zeitpunkt und einem zweiten Zeitpunkt neue Daten eingeschrieben wurden. Mit der vorliegenden Erfindung kann jedes Verfahren zur Identifizierung und Aufspürung solcher Speicherstellen verwendet werden. Es ist lediglich erforderlich, dass die Speicherstellen, in die seit dem letzten Backup neue Daten eingeschrieben wurden, identifizierbar sind. In 3 wird ein solches Mittel z. B. durch das Backup-Abbild 48 dargestellt. Das Backup-Abbild 48 kann einen booleschen Eintrag für jede Speicherstelle in der Massenspeichereinrichtung 20 umfassen. Enthält eine Speicherstelle neu in diese hineingeschriebene Daten, so kann der Eintrag für die Speicherstelle gesetzt werden. Alternativ dazu kann auch eine Liste von Speicherstellen, in denen neu gespeicherte Daten enthalten sind, geführt werden. Es ist lediglich die Fähigkeit erforderlich, Speicherstellen, in denen seit einem bestimmten Zeitpunkt neue Daten gespeichert wurden, von anderen zu unterscheiden und zu identifizieren.
  • Wie bereits beschrieben, wird dann, wenn ein Backup erstellt werden soll, ein statischer Schnappschuss wenigstens derjenigen Speicherstellen gemacht, die gesichert werden sollen. Unter den Schutzbereich der Erfindung fallende Ausführungsformen umfassen daher Mittel zur Aufbewahrung eines zu einem bestimmten Zeitpunkt gemachten, statischen Schnappschusses. Die Verwendung eines statischen Schnappschusses zur Aufbewahrung wenigstens derjenigen Speicherstellen, die in einem Backup-System gesichert werden sollen, wird bevorzugt, da dies den Zugriff der Benutzer auf die Massenspeichereinrichtung 20 erlaubt, während die Ände rungen gesichert werden. Da eine Zeitspanne erforderlich ist, um die Änderungen vom primären System zum Backup-System zu transferieren, müssen die zu übertragenden Daten solange unverändert bleiben, bis sie übertragen sind. Ein Weg sicherzustellen, dass die Daten unverändert bleiben, besteht darin, den Zugriff auf die Massenspeichereinrichtung 20 zu sperren. Hierdurch wird verhindert, dass Daten in die Massenspeichereinrichtung 20 geschrieben werden, und sichergestellt, dass die zu sichernden Daten unverändert bleiben, bis sie an das Backup-System transferiert werden können. Leider ist diese Lösung in hohem Maße nachteilig. Es wird daher bevorzugt, dass dann, wenn Änderungen zum Backup-System transferiert werden sollen, ein statischer Schnappschuss wenigstens derjenigen Daten gemacht wird, die transferiert werden. Ein solcher statischer Schnappschuss bewahrt die zu transferierenden Daten in ihrem ursprünglichen Zustand, bis sie transferiert werden können, während gleichzeitig ein kontinuierlicher Zugriff auf die Massenspeichereinrichtung 20 ermöglicht wird, so dass Daten weiterhin in diese geschrieben oder aus dieser ausgelesen werden können.
  • Mit der vorliegenden Erfindung kann jedes Verfahren zur Bewahrung eines statischen Schnappschusses angewandt werden. Es wird jedoch bevorzugt, dass, welches Verfahren auch immer angewandt wird, das angewandte Verfahren in der Lage sein sollte, einen statischen Schnappschuss zu bewahren, ohne den Zugriff auf die Massenspeichereinrichtung 20 zu unterbrechen. Anders ausgedrückt ist es bevorzugt, dass der statische Schnappschuss in einer Weise aufbewahrt wird, dass die Anwender weiterhin Daten aus der Massenspeichereinrichtung 20 auslesen oder in diese einschreiben können.
  • In 3 ist das Mittel zur Aufbewahrung eines statischen Schnappschusses durch den Schnappschuss-Verarbeitungsblock 50 dargestellt. Wie in 3 dargestellt, kann es Sinn machen, den Schnappschuss-Verarbeitungsmechanismus in den Massenspeicher-Lese-Schreib-Verarbeitungsblock zu integrieren. Die Details des Schnappschuss-Verarbeitungsblocks 50 sind unten beschrieben; bei einer bevorzugten Ausführungsform wird der Schnappschuss bewahrt, indem ein Datenblock, der überschrieben werden soll, aus der Massenspeichereinrichtung 20 in den Schnappschussspeicher 22 kopiert wird und dann angezeigt wird, dass der Block in dem Schnappschussabbild 52 aufbewahrt wurde. Sobald eine Kopie in dem Schnappschussspeicher 22 abgelegt wurde, kann die Kopie des Datenblocks in der Massenspeichereinrichtung 20 überschrieben werden.
  • Wie oben in Verbindung mit 2 beschrieben, ist es, wenn eine Reihe von aufeinander folgenden Backups erstellt werden soll, notwendig, die Änderungen zu verfolgen, die in einer Massenspeichereinrichtung, wie der Massenspeichereinrichtung 20, während der Zeit, in der ein Backup erzeugt wird, durchgeführt werden. Anders ausgedrückt, kann es notwendig sein, Änderungen, die in einer Massenspeichereinrichtung 20 durchgeführt werden, nachdem eine Momentaufnahme erstellt wurde, zu verfolgen. Ausführungsformen innerhalb des Schutzbereichs der vorliegenden Erfindung können Mittel zur Identifizierung derjenigen Speicherstellen einer Massenspeichereinrichtung aufweisen, die neue, nach dem Zeitpunkt der Erstellung eines Schnappschusses gespeicherte Daten enthalten. Es kann jede Art von Mechanismus verwendet werden, der Speicherstellen einer Massenspeichereinrichtung verfolgt und identifiziert, welche neue Daten enthalten, die nach, einem bestimmten Zeitpunkt gespeichert wurden. So kann z. B. ein Abbild ähnlich dem Backup-Abbild 48 verwendet werden. weiterhin kann auch eine Liste von Datenstellen, die neue, seit einem bestimmten Zeitpunkt gespeicherte Daten enthalten, verwendet werden. Abhängig von der Art des verwendeten Schnappschussmechanismus, kann der Schnappschussmechanismus derartige Informationen inhärent verfol gen. Bei einer solchen Ausführungsform kann diese Information für den späteren Gebrauch gespeichert werden. In 3 ist ein solches Mittel durch das Schnappschussabbild 52 wiedergegeben. Wie unten näher beschrieben, werden bei einer Implementierung des Schnappschussmechanismus Speicherstellen, in denen nach der Erzeugung des Schnappschusses neue Daten gespeichert wurden, in einem Schnappschussabbild, wie dem Schnappschussabbild 52 in 3 aufgespürt.
  • Ausführungsformen innerhalb des Schutzumfangs der Erfindung umfassen Mittel für den Transfer von Datenblöcken, die in einem Backupsystem gesichert werden sollen. In 3 ist ein solches Mittel beispielsweise durch den primären Backup-Verarbeitungsblock 54 dargestellt. Die Details des primären Backup-Verarbeitungsblocks 54 sind unten näher beschrieben; der generelle Zweck des primären Backup-Verarbeitungsblocks 54 besteht darin, die Datenblöcke, die gesichert werden sollen, zu nehmen und diese an ein Backup-System zu transferieren, und zwar unter Verwendung eines geeigneten Protokolls. Wie in Verbindung mit 2, und weiter unten noch näher, beschrieben, sind die Datenblöcke, die übertragen werden, diejenigen, die seit dem letzten Backup in Speicherstellen in der Massenspeichereinrichtung gespeichert wurden.
  • Der primäre Backup-Verarbeitungsblock 54 kann die Funktion aufweisen, entweder ein Backup zu initiieren und Daten zum Backup-System zu transferieren oder auf ein durch das Backup-System initiiertes Backup zu antworten. Auf diese Weise kann ein Backup entweder vom primären System oder vom Backup-System initiiert werden. Die Einzelheiten der Initiierung von Backups entweder durch das primäre System oder durch das Backup-System werden unten näher beschrieben.
  • Bei der Besprechung von 2, die einen Überblick über ein erfindungsgemäßes Verfahren bot, wurde ein statischer Schnappschuss verwendet, um den Zustand geänderter Datenblöcke zu einem bestimmten Zeitpunkt zu bewahren. Diese geänderten Datenblöcke wurden dann in einem Backup-System gesichert. Werden geänderte Datenblöcke durch einen statischen Schnappschuss bewahrt, so müssen die Datenblöcke, bevor sie an ein Backup-System transferiert werden können, aus dem Schnappschuss wiedergewonnen werden. Ausführungsformen innerhalb des Schutzumfangs dieser Erfindung können daher ein Mittel zur Wiedergewinnung von Datenblöcken umfassen, die durch einen statischen Schnappschuss aufbewahrt wurden. Ein derartiges Mittel kann Teil des Mittels für den Transfer von Datenblöcken zum Backup-System sein oder es kann separat vorliegen. In 3 ist das Mittel zur Wiedergewinnung von Daten, die durch statischen Schnappschuss bewahrt wurden, durch den Backup-Lese-Verarbeitungsblock 56 wiedergegeben. Die Details einer Ausführungsform des Backup-Lese-Verarbeitungsblocks 56 werden unten beschrieben. Dieser Verarbeitungsblock ruft aufbewahrte Daten von deren Speicherstellen ab und leitet einen abgerufenen Datenblock an den primären Backup-Verarbeitungsblock 54 für den Transfer zum Backup-System weiter. Diese Funktion kann auch in dem primären Backup-Lese-Verarbeitungsblock 54 enthalten sein. Um jedoch die durch den Backup-Lese-Verarbeitungsblock 56 ausgeübte Funktion herauszustellen, ist der Block in 3 separat dargestellt.
  • Die vorliegende Erfindung ist dazu ausgelegt, einen oder mehr logisch konsistente Backup-Zustände im Backup-System zu erfassen. Um diese logisch konsistenten Backup-Zustände zu erfassen, können erfindungsgemäße Ausführungsformen Mittel umfassen, die feststellen, wann ein logisch konsistenter Status erreicht worden ist. Ein logisch konsistenter Zustand ist ein Zustand, in dem im Massenspeichersystem keine logischen Inkonsistenzen, wie z. B. nicht korrekt beendete Dateien, existieren. Ein logisch konsistenter Zustand kann mittels einer Anzahl von Mechanismen identifi ziert werden. Beispielsweise kann ein logisch konsistenter Zustand durch Beobachten der Aktivität in der Massenspeichereinrichtung identifiziert werden. Findet in einer Massenspeichereinrichtung keine Aktivität statt, so kann generell angenommen werden, dass alle internen Datenpuffer geräumt und ihre Daten in das Massenspeichersystem geschrieben wurden, und dass sich das Massenspeichersystem nicht in einem Zustand befindet, in dem gerade Datenblöcke aktualisiert werden. Zusätzlich können APIs vorhanden sein, die aufgerufen werden können, um festzustellen, wann ein logisch konsistenter Zustand erreicht wurde. Beispielsweise kann das Betriebssystem oder ein anderes Programm über einen API-Aufruf verfügen, der wiederkehrt, wenn ein logisch konsistenter Zustand des Systems erreicht wurde. Als weiteres Beispiel kann das Betriebssystem eine Nachricht, derzufolge zu einem gegebenen Zeitpunkt ein Schnappschuss gemacht wird, an alle mit einem Netzwerk verbundenen Nutzer senden. Die Benutzer können dann, falls erforderlich, geeignete Schritte ergreifen, um sicherzustellen, dass sich ihre Dateien in einem logisch konsistenten Zustand befinden. Es können auch andere Mechanismen Verwendung finden. Wie weiter unten näher beschrieben, kann das Mittel, mit dem festgestellt wird, wann ein logisch konsistenter Zustand erreicht worden ist, in einem der Verarbeitungsblöcke von 3 inkorporiert sein, z. B. im primären Backup-Verarbeitungsblock 54.
  • Sollen mit der vorliegenden Erfindung aufeinander folgende Backups in einem Backup-System erstellt werden, so können erfindungsgemäße Ausführungsformen einen Mechanismus oder ein Mittel zur Identifizierung von Unterschieden umfassen, die zwischen der Massenspeichereinrichtung des Primärsystems, wie z. B. Massenspeichereinrichtung 20 aus 3, und der Backup-Speichereinrichtung, wie z. B. der Backup-Speichereinrichtung 24 in 3, bestehen. Ein solcher Mechanismus kann von Nutzen sein, wenn, aus welchem Grunde auch immer, Unsicherheit besteht, ob zwischen der Massenspeichereinrichtung 20 und der Backup-Speichereinrichtung 24 Unterschiede existieren. Man stelle sich beispielsweise vor, dass Backup-System sei abgestürzt oder das primäre System sei abgestürzt oder sie stünden in anderer Weise zeitweilig nicht zur Verfügung. Wenn das Backup-System oder Primär-System wieder zur Verfügung steht, dann kann es unmöglich sein, genau festzustellen, welche spezifischen Unterschiede zwischen der Massenspeichereinrichtung 20 und der Backup-Speichereinrichtung 24 bestehen. Es kann daher wünschenswert sein, jegliche Unterschiede zu identifizieren, um diejenigen Datenblöcke, die unterschiedlich sind, aus der Massenspeichereinrichtung 20 zur Backup-Speichereinrichtung 24 zu transferieren, um die Backup-Speichereinrichtung 24 auf einen Stand mit der Massenspeichereinrichtung 20 zu bringen. Erfindungsgemäße Ausführungsformen können daher Mittel zur Identifizierung von Unterschieden zwischen Daten, die in einer Mehrzahl von Speicherstellen in einer Massenspeichereinrichtung gespeichert sind, und Daten, die in einer Backup-Speichereinrichtung gespeichert sind, umfassen. In 3 ist ein solches Mittel beispielsweise durch den Unterschiede identifizierenden Verarbeitungsblock 58 wiedergegeben. Die Einzelheiten des Unterschiede identifizierenden Verarbeitungsblocks 58 sind unten dargestellt; Der Block ist dafür zuständig, alle Unterschiede, die zwischen der Massenspeichereinrichtung 20 und der Backup-Speichereinrichtung 24 existieren, zu identifizieren. Dieser Block kann in dem Backup-Abbild 48 oder dem Schnappschussabbild 52 geeignete Einträge machen, um identifizierte Unterschiede zu verfolgen.
  • Erfindungsgemäße Ausführungsformen umfassen ein Backup-System, das Datenblöcke speichert, welche aus einem oder mehreren Primärsystemen transferiert werden. In 3 ist die Verarbeitung, die in einem solchen Backup-System stattfindet, durch den Backup-System-Verarbeitungsblock 60 wie dergegeben. Wie unten näher beschrieben, erhält der Backup-System-Verarbeitungsblock 60 Datenblöcke über die Backup-Transportverbindung 16 und speichert diese in der Backup-Speichereinrichtung 24. Wie oben beschrieben, kann es sich bei der Backup-Speichereinrichtung 24 um jede Art von Speichereinrichtung handeln, die in der Lage ist, die Datenblöcke zu speichern, die von einem oder mehreren primären Systemen empfangen werden. So kann die Speichereinrichtung z. B. ein Plattenlaufwerk sein, ähnlich einem Plattenlaufwerk, wie es für die Massenspeicherung in einem Primärsystem verwendet wird. Als weiteres Beispiel kann es sich bei der Backup-Speichereinrichtung 24 auch um irgendein Medium für die archivierende Speicherung handeln, wie z. B. Magnetband. Als weiteres Beispiel kann die Backup-Speichereinrichtung 24 auch eine optische Platte oder eine Mehrzahl von optischen Platten sein. Es ist lediglich erforderlich, dass die Backup-Speichereinrichtung in der Lage ist, die von einem oder mehreren Primärsystemen erhaltenen Datenblöcke in einem Format zu speichern, in dem sie, falls erforderlich, abgerufen werden können, um von einer Massenspeichereinrichtung in einem primären System verlorene Daten wiederzugewinnen. Bedient ein einziges Backup-System mehr als ein Primärsystem, so kann es wünschenswert sein, für jedes Primärsystem separate Backup-Speichereinrichtungen vorzusehen, oder auch eine einzige Backup-Speichereinrichtung vorzusehen, die alle Primärsysteme bedient.
  • Wie in 3 dargestellt, werden zwischen dem Backup-System-Verarbeitungsblock 60 und einem oder mehreren Verarbeitungsblöcken in einem Primärsystem, wie dem primären Backup-Verarbeitungsblock 54 und dem Unterschiede identifizierenden Verarbeitungsblock 58, Datenpakete ausgetauscht. Diese Datenpakete werden unter Verwendung eines Protokolls ausgetauscht, dass für die transferierte Datenmenge und die einzelnen Details der Backup-Transportverbindung 16 geeignet ist. Die Kommunikation zwischen den Primärsystem- Verarbeitungsblöcken und den Backup-System-Verarbeitungsblöcken ist durch die Sende- und Empfangspakete 64 wiedergegeben. Die Details der Formatierung der Sende- und Empfangspakete 64 sind für die Zwecke dieser Erfindung nicht von Bedeutung. Das Format wird in hohem Masse durch die Details der Transportverbindung 16 bestimmt. Handelt es sich bei der Backup-Transportverbindung 16 beispielsweise um ein lokales Netz, so werden die Sende- und Empfangspakete 64 entsprechend den Konventionen des lokalen Netzes formatiert. Wenn die Backup-Transportverbindung 64 eine Wählverbindung unter Verwendung von Telefonleitungen ist, so wird es sich bei den Sende- und Empfangspaketen 64 um eine beliebige Anzahl konventioneller Kommunikationsprotokolle handeln, wie sie für den Transfer von Daten zwischen Computersystemen über Telefonleitungen Verwendung finden. Handelt es sich bei der Backup-Transportleitung um das Internet, so sind die Sende- und Empfangspakete 64 entsprechend einem der Internet-Transferprotokolle formatiert. Andere Verbindungen können andere Paketformate oder Kommunikationsprotokolle erfordern. Für die vorliegende Erfindung ist es lediglich erforderlich, dass ein Austausch der hier identifizierten Daten zwischen dem Primärsystem und dem Backup-System möglich ist.
  • In 4 ist eine Ausführungsform des Massenspeicher-Lese-Schreib-Verarbeitungsblocks 42 dargestellt. Wie oben beschrieben, besteht die Funktion eines Massenspeicher-Lese-Schreib-Verarbeitungsblocks 42 darin, Daten aus der Massenspeichereinrichtung 20 auszulesen oder Daten in diese hinein zu schreiben. Zusätzlich ist, unter der Annahme, dass der Schnappschuss-Verarbeitungsblock 50 in den Lese-Schreib-Verarbeitungsblock 42 inkorporiert wurde, der Verarbeitungsblock 42 auch verantwortlich für die Aufbewahrung und Erhaltung eines statischen Schnappschusses der Massenspeichereinrichtung 20 zu einem bestimmten Zeitpunkt. Bei der in 4 dargestellten Ausführung ist der Schnapp schuss-Verarbeitungsblock 50 als integrale Funktion in 4 inkorporiert. Wie oben beschrieben, wäre es jedoch auch möglich, den Schnappschuss-Verarbeitungsblock 50 separat vorzusehen. Die Wahl, ob der Schnappschuss-Verarbeitungsblock 50 in dem Lese-Schreib-Verarbeitungsblock 42 inkorporiert oder ob der Schnappschuss-Verarbeitungsblock 50 separat implementiert wird, wird als Frage des Designs angesehen und ist für die Zwecke der vorliegenden Erfindung kaum von Bedeutung. Der wichtige Aspekt der Erfindung besteht darin, die Fähigkeit vorzusehen, Daten aus der Massenspeichereinrichtung 20 auszulesen oder in diese zu schreiben, sowie die Fähigkeit vorzusehen, einen statischen Schnappschuss wenigstens eines Teils der Massenspeichereinrichtung 20 zu einem bestimmten Zeitpunkt zu erstellen und aufzubewahren.
  • Im Folgenden wird auf 4 Bezug genommen. Der Entscheidungsblock 66 prüft zunächst, ob eine Schnappschussanforderung vorliegt. Dieser Entscheidungsblock bestimmt, ob die Schnappschussverarbeitungsfunktion, die in dem Massenspeicher-Lese-Schreib-Verarbeitungsblock 42 integriert ist, einen Schnappschuss von wenigstens einem Teil der Massenspeichereinrichtung 20 aus 3 machen sollte. Die Schnappschuss-Anforderung kann von dem Backup-System oder von einem anderen Verarbeitungsblock des Primärsystems herstammen. In 3 ist eine Schnappschuss-Anforderung durch die Schnappschuss-Anforderung 68 dargestellt. Wie in 3 zu sehen, wird die Schnappschuss-Anforderung 68 durch den primären Backup-Verarbeitungsblock 54 erzeugt. Wie unten näher beschrieben, wird die Schnappschuss-Anforderung 68 vorzugsweise von dem primären Backup-Verarbeitungsblock 54 ausgegeben. Der primäre Backup-Verarbeitungsblock 54 identifiziert zunächst einen logisch konsistenten Zustand, bevor er eine solche Schnappschuss-Anforderung ausgibt. Als Alternative hierzu kann das Mittel zur Identifizierung eines logisch konsistenten Zustandes in der Schnappschuss- Verarbeitungsfähigkeit des Massenspeicher-Lese-Schreib-Verarbeitungsblocks 42 inkorporiert sein, so dass eine Schnappschuss-Anforderung entweder durch das primäre System oder durch das Backup-System initiiert werden kann, der Massenspeicher-Lese-Schreib-Verarbeitungsblock 42 würde dann einen logisch konsistenten Zustand identifizieren und einen Schnappschuss machen. Derartige Details sind Fragen der Konstruktion und aus Sicht dieser Erfindung nicht von Bedeutung.
  • Im Folgenden wird wieder auf 4 Bezug genommen. Wurde eine Schnappschuss-Anforderung erhalten, so besteht der nächste Schritt darin, einen statischen Schnappschuss wenigstens eines Teils der Massenspeichereinrichtung 20 zu bewahren. Zwar kann mit der vorliegenden Erfindung jedes Mittel zur Bewahrung eines statischen Schnappschusses Anwendung finden, vorzugsweise wird jedoch ein bestimmtes verfahren angewandt, um einen Schnappschuss aufzubewahren. Das bevorzugte Verfahren ist unten in der Beschreibung der Schritte 70, 72, 74, des Entscheidungsblocks 84 und des Schritts 86 zusammengefasst. Das Verfahren ist in der US-Patentanmeldung 08/322,697 mit dem Titel METHOD AND SYSTEM FOR PROVIDING A STATIC SNAPSHOT OF DATA STORED ON A MASS STORAGE SYSTEM näher beschrieben. Im Wesentlichen nutzt ein bevorzugtes Verfahren zur Bewahrung eines statischen Schnappschusses einen Schnappschussspeicher, wie den Schnappschussspeicher 22 in 3, um Datenblöcke einer Massenspeichereinrichtung, wie der Massenspeichereinrichtung 20 von 3, zu bewahren, die mit neuen Daten überschrieben werden sollen. Wie weiter unten näher erläutert, werden die zu bewahrenden Datenblöcke zunächst in den Schnappschussspeicher kopiert und ein Datensatz, der angibt, dass der Datenblock aufbewahrt wurde, wird aktualisiert. Ein solcher Datensatz kann beispielsweise in dem Schnappschussabbild 52 der 3 gespeichert werden. Danach können neue Daten in die Massenspeichereinrichtung 20 geschrieben werden, ohne dass die aufbewahrten Datenblöcke verloren gehen.
  • Soll gemäß der Bewertung des Entscheidungsblocks 66 ein Schnappschuss gemacht werden, besteht der nächste Schritt darin, das Schnappschussabbild in das Backup-Abbild zu kopieren, wie in 4 durch Schritt 70 angezeigt. Wie oben beschrieben, wird ein Backup-Abbild, wie das Backup-Abbild 48 in 3, verwendet, um anzuzeigen, welche Blöcke sich zwischen einem ersten Zeitpunkt und einem zweiten Zeitpunkt verändert haben. Diese Datenblöcke werden dann zum Backup-System transferiert. Wie aus der nachfolgenden Beschreibung ersichtlich, identifiziert das Schnappschussabbild 52 von 3 diejenigen Datenblöcke, die sich, seit zu einem bestimmten Zeitpunkt ein statischer Schnappschuss gemacht wurde, verändert haben. Somit kann das Schnappschussabbild 52 als Backup-Abbild verwendet werden, wenn ein neuer Schnappschuss gemacht wird. Das Kopieren des Schnappschussabbildes 52 in ein Backup-Abbild 48 erfüllt die gewünschte Funktion der Identifizierung derjenigen Datenstellen, in die zwischen dem Zeitpunkt, zu dem der letzte Schnappschuss gemacht wurde, und dem aktuellen Zeitpunkt neue Daten gespeichert wurden. Es ist offensichtlich, dass es nicht notwendig sein muss, das Schnappschussabbild in das Backup-Abbild zu kopieren. Das Schnappschussabbild kann einfach als das Backup-Abbild verwendet und ein neues Abbild als das aktuelle Schnappschuss-Abbild verwendet werden.
  • Nachdem das Schnappschussabbild aufbewahrt wurde, so dass es als Backup-Abbild verwendet werden kann, besteht der nächste Schritt darin, das derzeitige Schnappschussabbild zu löschen. Dieser Schritt wird in 4 durch den Schritt 72 wiedergegeben. Das Schnappschussabbild wird verwendet, um einen Hinweis auf diejenigen Datenblöcke zu speichern, in denen seit der Erzeugung des Schnappschusses neue Daten gespeichert wurden. Somit gibt das Schnapp schussabbild an, welche Datenblöcke in einem Schnappschussspeicher, wie dem Schnappschussspeicher 22 der 3, gespeichert sind. Da ein neuer Schnappschuss gemacht werden soll, muss das Schnappschussabbild gelöscht werden.
  • Wenn das Schnappschussabbild durch Schritt 72 gelöscht wurde, besteht der nächste Schritt darin, den Schnappschussspeicher, wie den Schnappschussspeicher 22 in 3, zu löschen. Dies wird durch Schritt 74 der 4 angezeigt. Im Hinblick insbesondere auf diesen Schritt sollte beachtet werden, dass es nicht unbedingt notwendig ist, den Schnappschussspeicher physisch zu entfernen bzw. zu löschen. Im Allgemeinen ist es, wie bei jeder anderen Art von Speicher, gewöhnlich ausreichend, den Index zum Speicher zu löschen, um anzugeben, dass der Speicher lehr ist. Somit würde es, falls der Index als Teil des Schnappschussspeicherabbildes, wie dem Schnappschussspeicherabbild 52 von 3, geführt wird, ausreichen, das Schnappschussspeicherabbild wie in Schritt 72 zu löschen, um anzuzeigen, dass der Schnappschussspeicher lehr ist. Wird der Index zum Schnappschussspeicher jedoch separat von dem Schnappschussspeicherabbild geführt, dann kann es notwendig sein, den Index getrennt, mittels Schritt 74 zu löschen. Nach dem Löschen des Schnappschussabbildes und des Schnappschussspeichers ist das System zur Aufbewahrung eines neuen Schnappschusses bereit. Der Ablauf geht damit zurück zum Anfang, wie in 4 gezeigt.
  • Im Folgenden wird auf den Entscheidungsblock 76 in 4 Bezug genommen. Dieser Entscheidungsblock prüft, ob es sich bei einer durch den Massenspeicher-Lese-Schreib-Verarbeitungsblock 42 erhaltenen Nachricht um eine Massenspeicher-Lese- oder -Schreib-Anforderung handelt. Dieser Block ist in 4 aufgeführt, um herauszustellen, dass der Massenspeicher-Lese-Schreib-Verarbeitungsblock 42 nur Lese- oder Schreibanforderungen an die Massenspeichereinrichtung und eine Schnappschussanforderung, wie oben beschrieben, bearbeitet. Der Entscheidungsblock 76 ist als Teil des Massenspeicher-Lese-Schreib-Verarbeitungsblocks 42 nicht unbedingt notwendig, solange die Nachrichten, die an diesen geschickt werden, ausschließlich Massenspeicher-Lese- und/oder -Schreibanforderungen sind.
  • Bis zu dem Zeitpunkt, wo der Entscheidungsblock 78 erreicht ist, sind die einzigen möglichen Nachrichten entweder eine Massenspeicher-Leseanforderung oder Massenspeicher-Schreibanforderung. Dies liegt daran, dass andere Arten von Anforderungen entweder bearbeitet oder ausgefiltert werden, bevor der Entscheidungsblock 78 erreicht ist. Der Entscheidungsblock 78 unterscheidet zwischen einer Massenspeicher-Leseanforderung und einer Massenspeicher-Schreibanforderung. Handelt es sich bei einer Anforderung um eine Massenspeicher-Leseanforderung, so besteht der nächste Schritt darin, den angeforderten Datenblock aus der Massenspeichereinrichtung 20 abzufragen und die Daten zu dem Prozess zurückzuführen, von dem die Anforderung stammt. Dies wird in Schritt 80 dargestellt. Handelt es sich bei der Anforderung jedoch um eine Schreibanforderung, so schreitet der Ablauf voran zum Entscheidungsblock 82.
  • Der Entscheidungsblock 82 bestimmt, ob ein Schnappschuss aufbewahrt werden soll. Wie oben beschrieben, wird bei einer bevorzugten Ausführungsform ein Schnappschuss aufbewahrt, indem Datenblöcke, die überschrieben werden sollen, in einen Aufbewahrungsspeicher, wie dem Schnappschussspeicher 22 in 3, kopiert werden. Bei dieser Ausführungsform wird der Schnappschuss im Wesentlichen inkrementell aufbewahrt. Anders ausgedrückt, wird, wenn der Schnappschuss aufbewahrt wird, der Schnappschussspeicher wie oben in den Schritten 72 und 74 beschrieben auf die Aufbewahrung der Datenblöcke vorbereitet. Danach werden keine Daten in dem Schnappschussspeicher gespeichert, bis eine Schreiban forderung gemacht wird, die Daten überschreiben wird, welche aufbewahrt werden sollten. Somit ist es, wenn auf diese Weise ein Schnappschuss aufbewahrt wird, wichtig, festzustellen, ob ein Schnappschuss gemacht wurde oder ob Schreibanforderungen an das Massenspeichersystem gerichtet werden sollten, ohne sich über die Aufbewahrung von Schnappschussdaten Gedanken zu machen. Der Entscheidungsblock 82 prüft, ob die Schreibanforderung ohne die Aufbewahrung von Schnappschussdaten ergehen sollte, oder ob Schnappschussdaten für Schreibanforderungen aufbewahrt werden sollen. Sollen die Schreibanforderungen ohne die Aufbewahrung von Schnappschussdaten ergehen, zeigt der Entscheidungsblock 82 an, dass der Ablauf zum Schritt 88 voranschreitet, in welchem die Datenblöcke in die Massenspeichereinrichtung, wie Massenspeichereinrichtung 20 in 3, geschrieben werden. Falls jedoch Schnappschussdaten aufbewahrt werden sollen, so geht der Ablauf zum Entscheidungsblock 84 über.
  • Wie oben beschrieben, werden, wenn gemäß einer bevorzugten Ausführungsform ein Schnappschuss gemacht werden soll, Daten, die überschrieben werden sollen, zunächst in einen Schnappschussspeicher, wie dem Schnappschussspeicher 22 in 3, kopiert. Nachdem die Daten im Schnappschussspeicher aufbewahrt wurden, kann der neue Datenblock in das Massenspeichersystem geschrieben werden. Zweck eines Schnappschusses ist es, die Daten so aufzubewahren, wie sie in dem Massenspeichersystem zu einem bestimmten Zeitpunkt existieren. Somit braucht der Schnappschuss die Daten nur so zu bewahren, wie sie zum Zeitpunkt des Schnappschusses existierten. Der Entscheidungsblock 84 prüft, ob der zum Zeitpunkt des Schnappschusses im Massenspeichersystem gespeicherte ursprüngliche Datenblock bereits vorher im Schnappschussspeicher aufbewahrt wurde. Mit anderen Worten, falls es sich bei den derzeit in der designierten Schreib-Speicherstelle gespeicherten Daten um Daten handelt, die an dieser Speicherstelle zu dem Zeitpunkt, als der Schnappschuss gemacht wurde, gespeichert wurden, so würden die ursprünglichen Daten verloren gehen, wenn die Schreibanforderung aufträte, ohne vorher die Daten aufzubewahren. Falls jedoch die zum Zeitpunkt der Erzeugung des Schnappschusses dort gespeicherten ursprünglichen Daten vorher im Schnappschussspeicher aufbewahrt wurden, so kann die Schreibanforderung auftreten und jegliche Daten, die an der designierten Speicherstelle gespeichert sind, ohne Sorge überschreiben, da die ursprünglichen Daten vorher aufbewahrt wurden. Wenn also der Entscheidungsblock 84 feststellt, dass die ursprünglichen Daten noch nicht im Schnappschussspeicher gespeichert worden sind, so geht der Ablauf zu Schritt 86 über, in dem die ursprünglichen Daten in den Schnappschussspeicher kopiert werden. Sind die ursprünglichen Daten jedoch bereits aufbewahrt worden, so wird der Schritt 86 übersprungen.
  • Nach dem Aufbewahren der ursprünglichen Daten in Schritt 86 oder nach der Feststellung, dass die ursprünglichen Daten vorher aufbewahrt wurden, geht der Ablauf zu Schritt 88 über, in dem die Schreibanforderung ausgeführt wird, und zwar durch Schreiben des in der Schreibanforderung beinhalteten Datenblocks in die designierte Speicherstelle in der Massenspeichereinrichtung.
  • In Schritt 90 wird dann die Speicherstelle als eine Speicherstelle identifiziert, die neue Daten enthält. Wie oben beschrieben kann dies erreicht werden, indem ein Eintrag in einem Schnappschussabbild, wie dem Schnappschussabbild 52 in 3, gemacht wird. Schritt 90 stellt lediglich ein Beispiel des oben beschriebenen Mittels zur Identifizierung von Speicherstellen einer Massenspeichereinrichtung, die neu eingeschriebene Daten enthalten, dar. Es kann dann eine Antwort an den Prozess geschickt werden, von dem die Anforderung stammt. Das Senden einer solchen Antwort ist in 4 durch Schritt 92 wiedergegeben. Im Allgemeinen werden derartige Antworten an den Prozess, der die Anforderung ausgab, nicht nur geschickt, um den Erfolg oder Misserfolg der Schreiboperation anzugeben, sondern auch, um die vollständige Durchführung des Schreibvorgangs anzuzeigen. Der Ablauf geht dann zurück zum Anfang, wo die nächste Anforderung bearbeitet wird.
  • In 5 werden die Einzelheiten einer Ausführungsform dargestellt, in welcher der primäre Backup-Verarbeitungsblock 54 realisiert ist. Wie oben beschrieben, ist der primäre Backup-Verarbeitungsblock 54 dafür zuständig, die Datenblöcke zu beschaffen, die an das Backup-System transferiert werden müssen, und den Transfer unter Verwendung eines geeigneten Kommunikationsprotokolls durchzuführen. Wie in 5 durch Entscheidungsblöcke 94 und 96 dargestellt, stellt der primäre Backup-Verarbeitungsblock 54 zunächst fest, ob von dem Backup-System ein Backup initiiert wurde, oder ob ein Backup durch das Primärsystem initiiert werden sollte. Der primäre Backup-Verarbeitungsblock 54 wird solange nichts unternehmen, bis ein Backup entweder durch das Backup-System oder durch das Primärsystem initiiert wurde.
  • Die vorliegende Erfindung kann in unterschiedlichen Modi verwendet werden. Wie oben erläutert, werden in einem Modus Backups durch das Backup-System initiiert. In einem solchen System kann das Backup-System ein oder mehrere Primärsysteme kontaktieren und die Änderungen, die seit dem letzten Backup aufgetreten sind, empfangen. Zwar kann ein solcher Modus in einer One-to-One-Situation Anwendung finden, doch ist ein derartiger Modus extrem nützlich für Situationen, die als Many-to-One-Situationen bezeichnet werden könnten. In diesem Modus kann eine zentralisierte Backup-Stelle eine Vielzahl von primären Systemen kontaktieren, die entweder lokal oder an entfernten Orten angeordnet sind, und das Backup jeweils für das kontaktierte System durchführen. In diesem Modus initiiert das Backup-System den Kontakt mit einem System, führt das Backup durch, beendet den Kontakt und initiiert dann den Kontakt mit dem nächsten System usw. Steht eine simultane Kommunikation mit einer Mehrzahl von Primärsystemen zur Verfügung, so kann das Backup-System den Kontakt mit einer Anzahl von Primärsystemen gleichzeitig initiieren. Unter Verwendung von Verfahren wie den oben beschriebenen ist ein Unternehmen in der Lage, kritische Daten von überall in der Welt an einem zentralen Ort zu sichern.
  • Bei einem anderen Verfahrensmodus wird das Backup durch das Primärsystem initiiert. Bei diesem Verfahrensmodus wartet das Backup-System, bis ein Primärsystem den Kontakt herstellt und ein Backup initiiert. Das Backup-System erhält dann von dem Primärsystem die Änderungen, die seit dem letzten Backup aufgetreten sind. In diesem Modus kann das Backup-System ebenfalls in Aktion treten, um entweder ein einziges Primärsystem oder eine Mehrzahl von Primärsystemen zu sichern.
  • Wird das Backup durch das Primärsystem initiiert, wie im Entscheidungsblock 96 angegeben, so stellt das Primärsystem eine Verbindung mit dem Backup-System her, wie in Schritt 98 dargestellt. Diese Verbindung wird über die Backup-Transportverbindung 16 der 3 hergestellt. Wie oben erwähnt, kann es sich bei der Backup-Transportverbindung 16 um jede Art von Kommunikationsverbindung handeln, die es ermöglicht, Daten zwischen dem Primärsystem und dem Backup-System zu transferieren. Somit wird in Schritt 98 die Verbindung unter Anwendung eines Verfahrens hergestellt, das der Art der Kommunikationsverbindung zwischen dem Primärsystem und dem Backup-System angemessen ist. Soll beispielsweise eine Wählverbindung hergestellt werden, so wählt das Primärsystem die Telefonnummer des Backup-Systems und stellt die Verbindung unter Verwendung des geeigneten Kommunikationsprotokolls her. Andere Verbindungen werden unter Verwendung andere Arten von Protokollen hergestellt.
  • Nachdem, falls das Backup durch das Primärsystem initiiert wurde, die Kommunikationsverbindung durch das Primärsystem hergestellt worden ist, oder wenn der Entscheidungsblock 94 feststellt, dass ein Backup durch das Backup-System initiiert wurde, geht der Ablauf zu Schritt 100 über. In Schritt 100 wird ein logisch konsistenter Backup-Zustand identifiziert. Wie oben beschrieben, können Ausführungsformen innerhalb des Schutzumfangs dieser Erfindung Mittel zur Identifizierung eines logisch konsistenten Backup-Zustands einer Massenspeichereinrichtung umfassen. Schritt 100 stellt lediglich ein Beispiel eines solchen Mittels dar. Die Identifizierung eines logisch konsistenten Zustandes der Massenspeichereinrichtung kann entweder durch einen API oder durch Überwachen der Aktivität in der Massenspeichereinrichtung erreicht werden. Mit der vorliegenden Erfindung kann jedes Verfahren oder jeder Mechanismus, das/der es ermöglicht, einen solchen logisch konsistenten Status zu identifizieren, zur Anwendung kommen. wenn ein logisch konsistenter Zustand identifiziert wurde, so wird ein Schnappschuss des logisch konsistenten Zustandes aufbewahrt, so dass das Backup voranschreiten kann. Das Backup wird in Schritt 102 erstellt, in welchem der Schnappschussverarbeitung – z. B. dem Schnappschussverarbeitungsblock 50, der in einem Massenspeicher-Lese-Schreib-Verarbeitungsblock 42 der 3 enthalten ist – signalisiert wird, einen Schnappschuss zu machen. Bei einer Ausführungsform führt dies dazu, dass die Schnappschussanforderung 68 zum Massenspeicher-Lese-Schreib-Verarbeitungsblock 42 geschickt wird. Wie bereits beschrieben, bewirkt diese Anforderung die Ausführung der Schritt 70, 72 und 74 der 4, welche die Erzeugung des Schnappschusses vorbereiten. Danach werden die in der Massenspeichereinrichtung 20 zum Zeitpunkt der Schnappschusserzeugung gespeicherten ursprünglichen Daten durch den Entscheidungsblock 84 und Schritt 86 der 4 aufbewahrt.
  • Nach der Erzeugung des Schnappschusses, um den durch Schritt 100 der 5 identifizierten, logisch konsistenten Backup-Zustand aufzubewahren, besteht der nächste Schritt in 5 darin, Datenblöcke, wie in Schritt 104 angegeben, zu einem Sende-Paket zusammenzustellen. Wie bereits erläutert kann die Backup-Transportverbindung 16 von 3 unter Verwendung einer großen Vielfalt von Technologien realisiert werden. Tatsächlich können mehrere Technologien Anwendung finden, um zwischen einem einzelnen Backup-System und einem einzelnen Primärsystem zu kommunizieren. So können die beiden Systeme beispielsweise durch eine bevorzugte Backup-Transportverbindung wie dem Internet oder einer Hochgeschwindigkeits-WAN-Verbindung miteinander verbunden werden. Wenn jedoch die bevorzugte Verbindung nicht zur Verfügung steht, so kann das System auf langsamere Verbindungen, wie z.B. eine Wählverbindung mit geringerer Geschwindigkeit, zurückgreifen. Wenn Schritt 104 angibt, dass Datenblöcke zu einem Sende-Paket zusammengestellt werden sollen, ist das Format des Sendepaketes folglich abhängig von der Kommunikationsverbindung, die verwendet wird, um Daten zwischen dem Backup-System und dem Primärsystem zu übermitteln. Bei einigen Ausführungsformen kann es, abhängig von der Größe der Datenblöcke und des Sende-Paketes, möglich sein, mehrere Datenblöcke in ein einziges Sendepaket zu packen. In anderen Situationen kann es erforderlich sein, einen einzigen Datenblock in mehrere unterschiedliche Sendepakts aufzuteilen. Schritt 104 sollte so verstanden werden, dass er jegliche Übersetzung oder Formatierung enthält, die zur Zusammenstellung eines Sende-Paketes für den Transfer zum Backup-System erforderlich ist.
  • Wenn das Sende-Paket zusammengestellt wurde, schickt Schritt 106 das Sende-Paket unter Verwendung eines geeigneten Übertragungsprotokolls zum Backup-System. Wenn das Sende-Paket von dem Backup-System empfangen wurde, prüft Schritt 108, ob noch weitere Daten gesendet werden müssen. Ist dies der Fall, so führt der Ablauf zurück zu Schritt 104, in dem ein anderes Sendepaket zusammengestellt und geschickt wird. Sind keine Daten mehr zu übermitteln, so wird die Verbindung zum Backup-System durch Schritt 110 beendet und der Ablauf geht zum Anfang zurück, wo der primäre Backup-Verarbeitungsblock 54 wartet, bis das nächste Backup initiiert wird. Die Backups können – entweder durch das Backup-System oder die Primärsysteme – nach einem periodischen Plan initiiert werden. Somit kann die vorliegende Erfindung dazu dienen, eine Reihe von Backups – von denen jedes einen logisch konsistenten Zustand repräsentiert – eines oder mehrerer Primärsysteme zu erfassen.
  • Wie oben beschrieben, werden nur diejenigen Datenblöcke in Schritt 104 zum Backup-System verschickt, die sich seit dem letzten Backup verändert haben. Des Weiteren werden die Datenblöcke so übermittelt, wie sie zu dem Zeitpunkt, als der Schnappschuss gemacht wurde, existierten. Somit identifiziert ein Backup-Abbild, wie das Backup-Abbild 48 in 3, die Datenblöcke, die transferiert werden sollen, und der Schnappschuss bewahrt diese Datenblöcke in dem Zustand auf, in dem sie sich befanden, als der Schnappschuss gemacht wurde. Der primäre Backup-Block 54 muss daher bestimmte Daten, die durch den Schnappschuss aufbewahrt wurden, abrufen. Der primäre Backup-Verarbeitungsblock 54 kann die Funktionalität beinhalten, die zum Abrufen der Datenblöcke aus dem Schnappschuss- und/oder dem Massenspeichersystem erforderlich ist; diese Funktionalität kann aber auch in einem separaten Verarbeitungsblock inkorporiert sein. Ein diese Funktionalität aufweisender, separater Verarbeitungsblock ist in 3 durch den Backup-Lese- Verarbeitungsblock 56 dargestellt. In 6 ist eine Ausführungsform des Backup-Lese-Verarbeitungsblocks 56 dargestellt, welche dazu ausgelegt ist, die durch diese Schnappschüsse aufbewahrten Daten wiederzugewinnen.
  • In 6 wird mit dem Entscheidungsblock 112 herausgestellt, dass der Backup-Lese-Verarbeitungsblock 56 nur Leseanforderungen bearbeitet, die die Daten so wiedergewinnen sollen, wie sie zu dem Zeitpunkt existierten, als der Schnappschuss gemacht wurde. Dieser Entscheidungsblock kann überflüssig sein, falls durch die Struktur und die Architektur der Verarbeitung garantiert ist, dass nur solche Leseanforderungen zum Backup-Lese-Verarbeitungsblock 56 von 3 geschickt werden.
  • Um einen Datenblock so wiederzugewinnen, wie er zu dem Zeitpunkt existierte, als der Schnappschuss gemacht wurde, muss ermittelt werden, wo sich der Datenblock befindet. Wie bereits in Verbindung mit 4 beschrieben, wird nachdem ein Schnappschuss gemacht wurde, wenn ein Datenblock zum ersten Mal durch einen neuen Datenblock überschrieben werden soll, dieser Datenblock in einen Schnappschussspeicher, wie dem Schnappschussspeicher 22 in 3, kopiert. Dies bedeutet, dass wenn ein Datenblock niemals überschrieben wird, die in der Massenspeichereinrichtung gespeicherten Daten die ursprünglichen Daten, wie sie zum Zeitpunkt der Erzeugung des Schnappschusses existierten, sind. Wurden die Daten jedoch einmal oder mehrmals überschrieben, so werden die ursprünglichen Daten in dem Schnappschussspeicher gespeichert. Der Entscheidungsblock 114 in 6 stellt fest, ob der angeforderte Datenblock seit dem letzten Schnappschuss verändert wurde. Dies kann dadurch erreicht werden, dass ein Schnappschussabbild, wie das Schnappschussabbild 52 der 3, geprüft wird, um festzustellen, ob der Datenblock modifiziert wurde. Wie oben beschrieben, identifiziert das Schnappschussabbild diejenigen Speicherstellen, die sich seit der Erzeugung des Schnappschusses verändert haben.
  • Wurden in der Speicherstelle seit dem Schnappschuss neue Daten gespeichert, so gibt der Schritt 116 an, dass der Datenblock aus dem Schnappschussspeicher abgerufen wird. Hat sich jedoch der Inhalt einer Speichersetelle seit der Erzeugung des Schnappschusses nicht verändert, so gibt der Schritt 118 an, dass der Datenblock aus der Massenspeichereinrichtung 20 abgerufen wird. In jedem Falle wird der Datenblock durch Schritt 120 zurück zum anfordernden Prozess geschickt.
  • Um die Vorgänge in 36 zur Erzeugung eines Backups näher zu erläutern, wird in 7A und 7B ein detailliertes Beispiel dargestellt. Zunächst wird auf 7A Bezug genommen. Man erwäge eine Gruppe von Datenblöcken 122 der Massenspeichereinrichtung 20, die in den mit 1–6 nummerierten Speicherstellen gespeichert sind. 7B zeigt, dass auch die Backup-Speichereinrichtung 24 eine ähnliche Gruppe von Datenblöcken 124 aufweist, die ebenfalls in den mit 1–6 nummerierten Speicherstellen gespeichert sind. Zum Zeitpunkt T0 sind die in 122 gespeicherten Datenblöcke mit den in 124 gespeicherten Datenblöcken identisch. Es wird nun wieder auf 7A Bezug genommen. Das Backup-Abbild 48 hat sechs Abbildstellen 126, die den Speicherstellen 122 entsprechen. Das Schnappschussabbild 52 weist ebenfalls sechs Abbildstellen 126 auf, die den Speicherstellen 122 entsprechen. Wie in 7A dargestellt, werden zum Zeitpunkt T0 die Abbildstellen 126 und 128 gelöscht.
  • Angenommen, dass nach dem Zeitpunkt T0 die Datenblöcke 130 an den Stellen 3 und 4 der Speicherstellen 122 gespeichert werden sollen, dann werden ein oder mehrere Massenspeicher-Leseanforderungen zum Massenspeicher-Lese-Schreib-Verar beitungsblock 42 in 3 geschickt, damit Datenblöcke 130 in die angemessenen Speicherstellen geschrieben werden. Unter Bezugnahme auf 4 würde die Massenspeicher-Leseanforderung in der folgenden Weise verarbeitet werden.
  • Die Entscheidungsblöcke 66, 76 und 78 würden in Kombination miteinander feststellen, dass an dem Massenspeicher-Lese-Schreib-Verarbeitungsblock 42 gerade eine Schreibanforderung anliegt. Der Ablauf würde somit diese drei Entscheidungsblöcke durchlaufen und bei Entscheidungsblock 82 ankommen. Wie bereits beschrieben, prüft der Entscheidungsblock 82, ob ein Schnappschuss gemacht wurde. Zu diesem Zeitpunkt wurde in dem Beispiel noch kein Schnappschuss erzeugt. Der Ablauf würde daher zu Schritt 88 übergehen, in dem die angeforderten Datenblöcke in das Massenspeichersystem geschrieben würden. Wiederum mit Bezug auf 7A würden die Datenblöcke 130 somit in den Speicherstellen 122 gespeichert und damit die Speicherstellen 132 erzeugt. Wie dort angegeben, wurden die in den Stellen 3 und 4 gespeicherten Datenblöcke zu 3a und 4a modifiziert.
  • Wiederum mit Bezug auf 4 gibt als nächstes der Schritt 90 an, dass die Speicherstellen, in denen neue Daten gespeichert wurden, als modifiziert angegeben werden sollen. Bei vielen Ausführungsformen von Schnappschüssen kann zu diesem Zweck ein Schnappschussabbild verwendet werden. In 7A wird das Abbild 134 verwendet, und die Abbildstellen 3 und 4 wurden grau dargestellt, um anzuzeigen, dass die Daten in den Speicherstellen 3 und 4 gespeichert wurden. Man beachte, dass die Speicherstellen in dem Backup-Abbild 48, angezeigt durch die Abbildstellen 126, zu diesem Zeitpunkt unverändert bleiben. Wieder mit Bezug auf 4 In Schritt 92 würde eine Antwort auf eine Schreibanforderung gegeben und der Ablauf würde zum Anfang zurückkehren, um auf die nächste Anforderung zu warten.
  • Das Folgende nimmt wieder Bezug auf 7a. Man nehme an, dass die nächste Anforderung drei Datenblöcke 136 enthält, die in den Stellen 3, 4 und 6 gespeichert werden sollen. Da noch kein Schnappschuss gemacht wurde, wird die Anforderung in der gleichen Weise behandelt, wie die vorhergehende Schreibanforderung, wobei der Ablauf die Entscheidungsblöcke 66, 76, 78 und 82 der 4 durchläuft und Schritt 88 in 4 erreicht. Schritt 88 gibt an, dass die neuen Daten in der Massenspeichereinrichtung gespeichert sind, so dass die Speicherstellen 138 in 7A nunmehr anzeigen, dass die in Stelle 3 gespeicherten Datenblöcke zu 3b geändert, der in Stelle 4 gespeicherte Datenblock zu 4b geändert und der in Stelle 6 gespeicherte Datenblock zu 6a geändert wurde. Wie bei der vorherigen Schreibanforderung werden dann die Abbildstellen 140 aktualisiert, so dass sie anzeigen, dass zusätzlich zu den Stellen 3 und 4 auch die Stelle 6 geändert wurde. Die Abbildstellen 126 bleiben unverändert.
  • Angenommen, dass zu diesem Zeitpunkt in dem Beispiel das Backup-System oder das Primärsystem ein Backup initiiert. Der primäre Backup-Verarbeitungsblock 54 der 3 wird dann mit der Ausführung wie in 5 beschrieben beginnen. Gemäß 5 würde die Ausführung, wenn das Backup von dem Backup-System initiiert wird, von dem Entscheidungsblock 94 zu Schritt 100 übergehen. Wird das Backup jedoch von dem Primärsystem initiiert, so geht der Ablauf von Entscheidungsblock 96 zu Schritt 98 über, wo eine Verbindung zum Backup-System hergestellt wird. In jedem Falle würde der Ablauf zu Schritt 100 übergehen. In Schritt 100 identifiziert der primäre Backup-Verarbeitungsblock 54 einen logisch konsistenten Backup-Status. Wie bereits erläutert, kann dies in beliebiger Weise erfolgen, z. B. durch Beobachten der Aktivität in der Massenspeichereinrichtung 20 oder mittels API.
  • Nach der Identifizierung eines logisch konsistenten Backup-Zustandes, gibt Schritt 102 an, dass das Signal zur Schnappschuss-Erzeugung gesendet wird. Wie vorher beschrieben kann anstelle der Signalisierung, dass ein Schnappschuss gemacht werden soll, das Mittel zur Aufbewahrung eines statischen Schnappschusses direkt in Schritt 102 enthalten sein. In der in 3 dargestellten Ausführungsform wird, wie in den 46 näher beschrieben, wird in Schritt 102 die Schnappschussanforderung 68 der 3 zum Massenspeicher-Lese-Schreib-Verarbeitungsblock 42 geschickt.
  • Bezug nehmend auf 4 wird diese Schnappschuss-Anforderung durch den Entscheidungsblock 66 bearbeitet, was zur Ausführung der Schritte 70, 72 und 74 führt. In Schritt 70 wird das Schnappschuss-Abbild in das Backup-Abbild kopiert. In 7A bedeutet dies, dass die Abbildstellen 140 in die Abbildstellen 142 des Backup-Abbildes 48 kopiert werden. Somit zeigen die Abbildstellen 142 an, dass in den Stellen 3, 4 und 6 neue Daten gespeichert wurden. Wiederum mit Bezug auf 4 wird in Schritt 72 das Schnappschussabbild gelöscht, und Schritt 74 löscht den Schnappschussspeicher, wie vorher beschrieben. Die Ausführung in 4 kehrt dann zum Anfang zurück und wartet auf weitere Verarbeitung.
  • Angenommen, dass an dem Massenspeicher-Lese-Schreib-Verarbeitungsblock 42 eine Schreibanforderung ankäme, derzufolge die Datenblöcke 144 der 7A in den Speicherstellen 138 gespeichert werden sollen. Da es ich hier um eine Schreibanforderung handelt, durchläuft die Ausführung die Entscheidungsblöcke 66, 76 und 78 zum Entscheidungsblock 82. Anders als bei vorhergehenden Schreibanforderungen wurde nun zum Zeitpunkt T1 ein Schnappschuss gemacht, wie in 7A und 7B gezeigt. Der Ablauf geht somit zu Entscheidungsblock 84 über.
  • Entscheidungsblock 84 stellt fest, ob die in den zu überschreibenden Speicherstellen gespeicherten Daten bereits im Schnappschussspeicher gespeichert wurden. In diesem Beispiel sollen die Datenblöcke 144 in den Speicherstellen 1 und 3 gespeichert werden. Da die Speicherstellen 1 und 3 noch nicht im Schnappschussspeicher untergebracht wurden, werden die Speicherstellen 1 und 3 in Schritt 86 in den Schnappschussspeicher kopiert. In 7A wird dies durch den Datenblock 146 angegeben, der den Datenblock 1 enthält, und Datenblock 148, der den Datenblock 3b enthält.
  • Nachdem die Datenblöcke 146 und 148 im Schnappschussspeicher 22 aufbewahrt worden sind, werden die neuen Datenblöcke in Schritt 88 in die Massenspeichereinrichtung geschrieben. Wiederum mit Bezug auf 7A bedeutet dies, dass die Datenblöcke 114 in den Speicherstellen 138 gespeichert werden, um Speicherstellen 150 zu erzeugen, in denen der Datenblock 1a den Datenblock 1, und der Datenblock 3c den Datenblock 3b überschrieben hat. Schritt 90 in 4 gibt dann an, dass die Datenblöcke als modifiziert zu identifizieren sind. Somit werden die Abbildstellen 152 des Schnappschussabbildes 52 modifiziert, so dass angezeigt wird, dass die Speicherstelle 1 und Speicherstelle 3 neu gespeicherte Daten enthalten. Dann wird eine Antwort auf die Schreibanforderung, wie in Schritt 92 der 4 angegeben, zurückgeschickt.
  • Wieder mit Bezug auf 5: Der Schnappschuss wurde zum Zeitpunkt T1 durch den Massenspeicher-Lese-Schreib-Verarbeitungsblock 42 der 3 gemäß Schritt 102 in 5 erstellt. Schritt 104, Schritt 106 und Entscheidungsblock 108 geben dann an, dass die Datenblöcke, die vor der Erzeu gung des Schnappschusses geändert wurden, zu Sendepaketen zusammengestellt und an das Backup-System geschickt werden sollten. Die zu übermittelnden Datenblöcke werden durch die in dem Backupabbild 48 enthaltene Information angegeben.
  • Wiederum mit Bezug auf 7A: Die Abbildstellen 142 des Backup-Abbildes 48 zeigen, dass die Speicherstellen 3, 4 und 6 vor dem zum Zeitpunkt T1 gemachten Schnappschuss geändert wurden und zum Backup-System geschickt werden sollten. Eine Prüfung der Speicherstellen 150 und des Datenblocks 148, der im Schnappschussspeicher 22 gespeichert ist, zeigt, dass sich einer der Datenblöcke im Schnappschussspeicher befindet, während sich der Rest der Datenblöcke im Massenspeichersystem befindet. Schritt 104 der 5 fordert dann, dass die in den Speicherstellen 3, 4 und 6 gespeicherten Datenblöcke durch den Backup-Lese-Verarbeitungsblock 56 der 3 abgerufen werden.
  • Der Backup-Lese-Verarbeitungsblock 56 verarbeitet diese, von dem primären Backup-Verarbeitungsblock 54 erhaltenen Anforderungen wie in 6 angegeben. Angefordert werden die in den Speicherstellen 3, 4 und 6 gespeicherten Datenblöcke. Im Hinblick auf den in der Speicherstelle 3 gespeicherten Datenblock stellt der Entscheidungsblock 114 von 6 fest, dass sich der in der Speicherstelle 3 gespeicherte Entscheidungsblock seitdem der Schnappschuss gemacht wurde, verändert hat. Dies liegt daran, dass der mit 3c bezeichnete Datenblock in Speicherstelle 3 gespeichert wurde, nachdem der Schnappschuss gemacht wurde, jedoch bevor der Datenblock für den Schnappschuss abgerufen wurde. Schritt 116 liest dann den Datenblock 148 aus dem Schnappschussspeicher 22 aus und schickt den Datenblock 3b zum primären Backup-Verarbeitungsblock 54, wie in 6, Schritt 120, dargestellt.
  • Entscheidungsblock 114 von 6 liest dann in Schritt 118 die in den Speicherstellen 4 und 6 gespeicherten Datenblöcke aus der Massenspeichereinrichtung aus und schickt sie in Schritt 120 zum primären Backup-Verarbeitungsblock 54 zurück. Dieser Vorgang ist in 7A graphisch dargestellt, in der Datenblöcke 152 durch Abrufen des Datenblocks 3b aus dem Schnappschussspeicher 22 und des Datenblocks 4b und 6a aus den Speicherstellen 150 zusammengestellt werden. Datenblöcke 152 werden dann zum Backup-System über die Backup-Transportverbindung 16 transferiert. Dies ist in 7A und 7B graphisch dargestellt.
  • Wie unten näher beschrieben, kann es, wenn die Datenblöcke durch ein Backup-System erhalten werden, wünschenswert sein, die Datenblöcke, sobald sie empfangen werden, in einem Backup-Capture-Puffer, wie dem Backup-Capture-Puffer 26 in 3, zu speichern. Dies ermöglicht, dass alle Datenblöcke erhalten werden, bevor sie an die Backup-Speichereinrichtung 24 angelegt oder bevor sie als inkrementelles Backup gesichert werden. In 7B werden die Datenblöcke 152 durch das Backup-System empfangen und den Speicherstellen 124 zugeführt, um Speicherstellen 154 zu erzielen. Speicherstellen 154 sind mit den Speicherstellen 138 des Primärsystems identisch (7A). Man erinnere, dass die Speicherstellen 138 den Zustand der Massenspeichereinrichtung 20 zum Zeitpunkt T1, als der Schnappschuss gemacht wurde, repräsentierten. Also sind die zwischen dem Zeitpunkt T0 und dem Zeitpunkt T1 aufgetretenen Änderungen nun im Backup-System gesichert und der Backup-Speichereinrichtung 24 zugeführt worden, um die Backup-Speichereinrichtung 24 auf einen Stand mit der Massenspeichereinrichtung 20 zum Zeitpunkt T1 zu bringen.
  • Wieder mit Bezug auf 7A: Angenommen, dass die Datenblöcke 156 nun in die Speicherstellen 150 geschrieben wer den sollen. Wie in der Zeichnung dargestellt, enthalten die Datenblöcke 156 eine Änderung in den in Speicherstellen 1, 4 und 6 gespeicherten Datenblöcken. Der Massenspeicher-Lese-Schreib-Verarbeitungsblock 42 handhabt dann das Schreiben der in den Stellen 4 und 6 zu speichernden Datenblöcke wie oben beschrieben, wobei die ursprünglichen Datenblöcke, die in diesen Stellen zum Zeitpunkt T1 gespeichert wurden (Datenblock 4b und Datenblock 6a) im Schnappschussspeicher 22 gespeichert werden. Die neuen Datenblöcke 4c und 6b werden dann in die Massenspeichereinrichtung 20 geschrieben.
  • Bezüglich des in Speicherstelle 1 zu speichernden Datenblocks geht die Ausführung in 4 voran bis zum Entscheidungsblock 84. Man erinnere, dass dieser Entscheidungsblock prüft, ob der zum Zeitpunkt des Schnappschusses in der Speicherstelle gespeicherte Datenblock vorher im Schnappschussspeicher gesichert wurde. Bezüglich des in der Speicherstelle 1 gespeicherten Datenblocks wurde der Datenblock bereits im Schnappschussspeicher 22 gesichert, wie durch Datenblock 146 von 7A angegeben. In 4 ist somit angegeben, dass Schritt 86 übersprungen wird und die neuen Daten einfach in die Massenspeichereinrichtung geschrieben werden. In 7A führt dies dazu, dass der Datenblock 1b den Datenblock 1a ersetzt, so dass der Datenblock 1a verloren geht.
  • Man erinnere, dass mit der vorliegenden Erfindung nur die Datenblöcke derjenigen Speicherstellen transferiert werden, die sich seit dem letzten Backup verändert haben. Darüber hinaus werden die Datenblöcke so transferiert, wie sie zu dem Zeitpunkt existieren, zu dem der Schnappschuss gemacht wird. Wenn eine bestimmte Speicherstelle in der Massenspeichereinrichtung also fünf unterschiedliche Datenblöcke aufweist, die seit dem Zeitpunkt des letzten Backups darin ge speichert sind, wird nur der zuletzt (z. B. direkt vor der Erstellung des Schnappschusses) gespeicherte Datenblock zum Backup-System transferiert. Dies liegt daran, dass das Backup-System bei der Erzeugung eines Backups nur ein logisch konsistentes Backup aufbewahrt. Anders ausgedrückt, bewegt sich der Backup-Speicher von einem logisch konsistenten Zustand zu einem Zeitpunkt zu einem logisch konsistenten Zustand zu einem anderen Zeitpunkt. Das Bewahren logisch konsistenter Backups zu diskreten Zeitpunkten bietet gegenüber den Systemen des Standes der Technik bedeutende Vorteile.
  • Man erwäge beispielsweise ein System des Standes der Technik, dass sämtliche, in einem Massenspeichersystem durchgeführten Änderungen erfasst. Ein derartiges System versucht, jeden Schreibvorgang sowohl zur Massenspeichereinrichtung als auch zur Backup-Speichereinrichtung zu schicken. In der Theorie wird hierdurch die Backup-Speichereinrichtung zu einer identischen Kopie der Massenspeichereinrichtung. Jedoch führt diese Verfahrensweise zu Problemen. Falls das Primärsystem während einer Schreibaktualisierung abstürzt, so kann die Massenspeichereinrichtung hierdurch in einem logisch inkonsistenten Zustand zurückgelassen werden. Wenn die Backup-Speichereinrichtung jede Änderung verfolgt, die in der Massenspeichereinrichtung durchgeführt wird, so kann bei einem Absturz des Primärsystems auch die Backup-Speichereinrichtung in dem gleichen logisch inkonsistenten Zustand zurückbleiben. Dieses Beispiel macht das Problem deutlich, dass besteht, wenn ein bekannter logisch konsistenter Zustand verlassen wird, bevor ein zweiter logisch konsistenter Zustand identifiziert wurde. Die vorliegende Erfindung vermeidet dieses Problem dadurch, dass sie einen vorherigen logisch konsistenten Zustand solange erhält, bis ein neuer logisch konsistenter Zustand identifiziert wurde, und dann die Backup-Speichereinrichtung von dem vorhergehenden logisch konsistenten Zustand zum nächsten logisch konsistenten Zustand bewegt, und zwar ohne den Transit über logisch inkonsistente Zustände zwischen den beiden logisch konsistenten Zuständen.
  • Wiederum mit Bezug auf 7A: Werden den Speicherstellen 150 die Datenblöcke 156 zugeführt, so ergeben sich die Speicherstellen 158. Abbildstellen 152 werden dann aktualisiert, so dass sie anzeigen, dass die seit dem Zeitpunkt T1 geänderten Speicherstellen nunmehr die Speicherstellen 4 und 6 zusätzlich zu den Speicherstellen 1 und 3 enthalten. Dies ist in 7A durch die Abbildstellen 160 des Schnappschussspeichers 152 dargestellt.
  • Angenommen, dass nun ein zweites Backup von der Massenspeichereinrichtung 20 gemacht werden soll. Das Backup wird wie oben in 5 beschrieben erzeugt, in welcher die Ausführung zu Schritt 100 übergeht, in dem ein logisch konsistenter Zustand identifiziert wird. Wir nehmen an, dass, in 7A, dieser logisch konsistente Zustand zum Zeitpunkt T2 identifiziert wurde. Schritt 102 in 5 würde dann signalisieren, dass ein Schnappschuss zum Zeitpunkt T2 gemacht werden soll. Wie vorgehend in Verbindung mit dem zum Zeitpunkt T1 erzeugten Schnappschuss beschrieben, würde der Massenspeicher-Lese-Schreib-Verarbeitungsblock 42 eine Schnappschussanforderung, wie der Schnappschussanforderung 68 in 3, erhalten und das Schnappschussabbild in das Backup-Abbild in Schritt 70 kopieren. Dies wird in 7A dargestellt, in der die Abbildstellen 162 des Backupabbildes 48 so geändert sind, dass sie mit den Abbildstellen 160 des Schnappschussabbildes 52 übereinstimmen.
  • Die Schritte 72 und 74 von 4 geben dann an, dass das Schnappschussabbild und der Schnappschussspeicher gelöscht werden sollten. In 7A wird das Schnappschussabbild, wie durch die Abbildstellen 164 des Schnappschussabbildes 52 angezeigt, gelöscht. Der Schnappschussspeicher 22 zeigt jedoch, dass immer noch Daten darin gespeichert sind. Dies verdeutlicht, dass sich die Datenblöcke immer noch physisch in dem Schnappschussspeicher 22 befinden können, vorausgesetzt, dass der Index zum Schnappschussspeicher 22 gelöscht wurde, so dass der Schnappschussspeicher 22 keine Datenblöcke zu enthalten scheint.
  • Angenommen, dass sich in den Speicherstellen 158, nachdem der Schnappschuss zum Zeitpunkt T2 gemacht wurde, keine Datenblöcke befinden, so werden Datenblöcke 166 aus den Speicherstellen 158 gemäß dem in 6 beschriebenen Prozess ausgelesen. Die Datenblöcke werden dann zu Sendepaketen zusammengepackt und über die Backup-Transportverbindung 16, wie in Schritt 104, Schritt 106 und Entscheidungsblock 108 in 5 gezeigt, zum Backup-System geschickt. Wie in 7B dargestellt, werden die Datenblöcke 166 dann im Backup-Schnappschusspuffer 26 gespeichert, bis alle Datenblöcke empfangen wurden. Nachdem die Datenblöcke 166 durch das Backup-System empfangen worden sind, werden sie den Speicherstellen 154 zugeführt, was zu den Speicherstellen 168 führt, die eine identische Kopie der Speicherstellen 158 des Primärsystems darstellen (7A).
  • Als Nächstes wird der Mechanismus zur Ermittlung von Unterschieden zwischen der Massenspeichereinrichtung 20 und der Backup-Speichereinrichtung 24 beschrieben. Erfindungsgemäße Ausführungsformen können ein Mittel zur Identifizierung von Unterschieden zwischen einer Massenspeichereinrichtung und einer Backup-Speichereinrichtung umfassen. Ein derartiges Mittel kann bei der Wiederherstellung nach Abstürzen, die im Primärsystem oder Backup-System aufgetreten sind, sehr nützlich sein. Beispielsweise ist aus dem vorhergehenden Beispiel und den obigen Beschreibungen ersichtlich, dass die vorliegende Erfindung Änderungen verfolgt, die in der Massenspeichereinrichtung durchgeführt wurden, und zwar zwischen einem ersten Zeitpunkt, wie dem Zeitpunkt, als das letzte Backup durchgeführt wurde, und einem zweiten Zeitpunkt, wie dem Zeitpunkt, zu dem ein aktuelles Backup durchgeführt werden soll. Soll zu einem zweiten Zeitpunkt ein Backup durchgeführt werden, so bewahrt das Primärsystem einen Schnappschuss wenigstens derjenigen Speicherstellen auf, in die neue Daten geschrieben wurden. Die Datenblöcke werden dann ausgelesen und zum Backup-System transferiert. Während des Transferprozesses verfolgt das System auch die Änderungen, die durchgeführt werden, so dass wenn ein weiteres Backup gemacht werden soll, alle vom letzten Backup bis zum derzeitigen Backup erfolgten Änderungen identifiziert werden können.
  • Das oben beschriebene Verfahren funktioniert solange sehr gut, wie es bei der Verfolgung von in der Massenspeichereinrichtung durchgeführten Änderungen keine Unterbrechung gibt. Ergibt sich jedoch eine Situation, in der das Primärsystem nicht identifizieren kann, welche Änderungen im Massenspeichersystem seit dem letzten Backup durchgeführt wurden, so muss ein Mechanismus vorhanden sein, der es ermöglicht, Unterschiede zwischen der Massenspeichereinrichtung und der Backup-Speichereinrichtung zu identifizieren. Durch Identifizieren der Unterschiede zwischen der Massenspeichereinrichtung und der Backup-Speichereinrichtung, ist es möglich, diejenigen Speicherstellen, die sich unterscheiden, zu identifizieren. Die in diesen Speicherstellen gespeicherten Daten können dann vom primären System zum Backup-System transferiert werden, um das Backup-System auf einen Stand mit dem Primärsystem zu bringen.
  • Ein Mechanismus zur Identifizierung von Unterschieden zwischen einer Massenspeichereinrichtung und einer Backup-Speichereinrichtung besteht darin, sämtliche Datenblöcke in der Massenspeichereinrichtung und der Backup-Speicherein richtung zu vergleichen. Dies erfordert entweder, dass die Datenblöcke der Massenspeichereinrichtung zum Backup-System oder die Datenblöcke der Backup-Speichereinrichtung zum Primärsystem transferiert werden. Unter bestimmten Umständen kann dies völlig adäquat sein. Jedoch erfordert dieses Verfahren eine recht große Bandbreite für die Backup-Transportverbindung 16. Wenn es sich allerdings bei der Backup-Transportverbindung 16 um eine Kommunikationsverbindung mit relativ niedriger Bandbreite handelt, so wird der Transport sämtlicher Datenblöcke entweder der Massenspeichereinrichtung oder der Backup-Speichereinrichtung über die Backup-Transportverbindung 16 unpraktikabel. In einer solchen Situation muss ein Mechanismus vorhanden sein, der die Menge an Daten, die über die Backup-Transportverbindung 16 transferiert werden, reduziert.
  • Um die Menge der Daten zu reduzieren, die erforderlich ist, um Unterschiede zwischen einer Massenspeichereinrichtung und einer Backup-Speichereinrichtung zu identifizieren, können erfindungsgemäße Ausführungsformen ein Mittel zur Berechnung eines Auszuges ("Digest") aus einem Datenblock umfassen. So, wie hier verwendet, bedeutet der Begriff Auszug eine Gruppe von Datenbits, die aus dem Datenblock generiert wird und den Datenblock reflektiert. Ist der Auszug kleiner als ein Datenblock und reflektiert der "Auszug" die Daten eines Datenblocks, so können Unterschiede zwischen einer Massenspeichereinrichtung und einem Backup-Speicher durch Vergleichen von Auszügen identifiziert werden. Ein solches Verfahren ist in 8 dargestellt.
  • In 8 läuft das Verfahren zur Identifizierung von Unterschieden zwischen einer Massenspeichereinrichtung, wie z. B. der Massenspeichereinrichtung 20, und einer Backup-Speichereinrichtung, wie z. B. Backup-Speichereinrichtung 24, wie folgt ab. Das Backup-System ruft einen Datenblock, wie Datenblock 170, von der Backup-Speichereinrichtung 24 ab. Der Auszug 172 wird dann durch Mittel für die Generierung eines Auszuges, z. B. dem Auszug-Generierungsblock 174, berechnet. Der Auszug 172 wird über die Backup-Transportverbindung 16 transportiert und durch das Primärsystem empfangen. Das Primärsystem ruft einen Datenblock, der in der entsprechenden Speicherstelle des Massenspeichers 20 gespeichert ist (z. B. Datenblock 176) ab. Der Auszug 178 wird durch ein Auszug-Generierungsmittel, z. B. Auszug-Generierungsblock 182, erzeugt. Der Auszug 178 wird dann durch Vergleichsblock 182 mit dem empfangenen Auszug 172 verglichen. Wenn die Auszüge übereinstimmen, so kann angenommen werden, dass die Datenblöcke, die in den entsprechenden Speicherstellen gespeichert sind, identisch sind. Stimmen die Auszüge nicht überein, so sind die in den entsprechenden Speicherstellen gespeicherten Datenblöcke unterschiedlich. Ein ähnlicher Mechanismus kann dazu verwendet werden, Unterschiede in Gruppen von Datenblöcken zu entdecken. Beispielsweise kann ein Auszug für eine Mehrzahl von verketteten Datenblöcken berechnet werden. Durch Unterschiede zwischen den Auszügen würden dann Unterschiede zwischen Gruppen von Datenblöcken identifiziert.
  • Aus der obigen Beschreibung der 8 ist eine Reihe von wünschenswerten Eigenschaften von Auszügen ersichtlich. Im Idealfall hat ein Auszug eine geringe Länge, um so die Menge an Daten, die zwischen dem Primärsystem und dem Backup-System transferiert werden müssen, zu minimieren. Zweitens sollte die Wahrscheinlichkeit, dass zwei verschiedene Datenblöcke den gleichen Auszug generieren, gering sein, so dass die Wahrscheinlichkeit, zwei verschiedene Datenblöcke als gleich zu identifizieren, obwohl sie tatsächlich unterschiedlich sind, gering ist. Schließlich wäre es wünschenswert, wenn auch nicht erforderlich, die Rechenlast, die zur Berechnung des Auszuges benötigt wird, zu reduzieren, so dass der Prozess des Vergleichens zwischen der Massenspeichereinrichtung und der Backup-Speichereinrichtung nicht durch die von dem Primärsystem oder dem Backup-System ausgeführten Berechnungen, sondern durch die Bandbreite der Backup-Transportverbindung 16 bestimmt wird.
  • Zur Berechnung eines geeigneten Auszugs kann eine große Vielfalt von Funktionen Anwendung finden. Die einfachste und vielleicht bekannteste Form des Auszugs ist eine zyklische Blockprüfung oder CRC. CRC-Werte werden üblicherweise verwendet, um Fehler in einem Datenblock zu entdecken, der über eine Kommunikationsverbindung übermittelt wird oder in einer Speichereinrichtung gespeichert ist. Kryptographisch starke Hash-Funktionen (auch als Digests (Auszüge), Fingerprinte (Fingerabdrücke) oder Message Authentication Code (Nachrichtenauthentisierungscode) bezeichnet) wurden ebenfalls entwickelt, um eine ähnliche Funktion auszuüben. Es kann jedes beliebige Verfahren eingesetzt werden, vorausgesetzt, dass der Auszug eine ausreichend hohe Wahrscheinlichkeit aufweist, dass Unterschiede zwischen zwei Datenblöcken entdeckt werden.
  • Wie oben beschrieben, wird zur Identifizierung von Unterschieden zwischen der Massenspeichereinrichtung 20 und der Backup-Speichereinrichtung 24 der Unterschiede identifizierende Verarbeitungsblock 58 verwendet. Es wird nun auf 9 Bezug genommen, in der die Details einer Ausführungsform dargestellt werden, in welcher der Unterschiede identifizierende Block 58 realisiert ist. Bei dieser Ausführungsform wird angenommen, dass die Auszüge vom Backup-System zum Primärsystem transferiert werden, und dass das Primärsystem die Auszüge vergleicht, um festzustellen, ob sie übereinstimmen.
  • Wie in Schritt 184 der 9 dargestellt, besteht der erste Schritt darin, eine Verbindung zum Backup-System herzustellen. In Schritt 186 wird dann der erste Datenblock der Massenspeichereinrichtung 20 oder der erste Datenblock des zu prüfenden Teils der Massenspeichereinrichtung 20, ausgelesen. Der Auszug für den Datenblock wird dann in Schritt 188 berechnet.
  • In Schritt 190 wird dann der Auszug, der von dem Backup-System für die in der entsprechenden Speicherstelle gespeicherten Daten berechnet wurde, empfangen. Die Auszüge werden dann durch den Entscheidungsblock 192 verglichen. Stimmen die Auszüge nicht überein, so wird angenommen, dass die Datenblöcke ebenfalls nicht übereinstimmen, und es kann angenommen werden, dass der Datenblock in der Massenspeichereinrichtung 20 seit dem durch die Backup-Speichereinrichtung 24 erfassten Backup verändert wurde. Dieser Datenblock der Massenspeichereinrichtung 20 wird dann in Schritt 194 als seit dem letzten Backup geändert identifiziert. Wiederum mit Bezug auf 3: Wird der Unterschiede identifizierende Block 58 dazu verwendet, nach einem Absturz das Schnappschussabbild 52 zu rekonstruieren, so kann der besagte Block die Ergebnisse des Vergleichs in dem Schnappschussabbild 52 oder dem Backup-Abbild 48 speichern.
  • Gibt es mehr Datenblöcke, die verglichen werden sollen, so lesen der Entscheidungsblock 196 und der Schritt 198 den nächsten Datenblock aus und lassen die Ausführung zu Schritt 188 zurückkehren, wo der Auszug für den nächsten Datenblock berechnet wird. Müssen keine weiteren Datenblöcke mehr verglichen werden, so beendet Schritt 200 die Verbindung zum Backup-System und der Vergleichsvorgang ist vollständig.
  • Es ist ersichtlich, dass wenn der Auszug wesentlich kleiner ist als ein Datenblock oder eine Gruppe von Datenblöcken, die Menge an Daten, die zwischen dem Primärsystem und dem Backup-System transferiert werden müssen, um Unterschiede zwischen der Massenspeichereinrichtung und der Backup-Speichereinrichtung zu identifizieren, in hohem Maße mini miert werden kann. Wenn z. B. ein Datenblock 512 Bytes und ein Auszug zwei Bytes lang ist, so können die transferierten Daten um einen Faktor von 256 reduziert werden. Dies kann zu erheblicher Zeitersparnis führen. Hierdurch wird es ebenfalls möglich, eine Backup-Speichereinrichtung, die sich an einem entfernten Ort befindet, unter Verwendung einer Wählkommunikationsverbindung, die nur eine relativ geringe Bandbreite hat, mit einer Massenspeichereinrichtung zu vergleichen.
  • Im Folgenden wird auf 10 Bezug genommen, in der die Verarbeitung bei einer Ausführungsform des Backup-System-Verarbeitungsblocks 60 von 3 dargestellt ist. Hierbei handelt es sich um die Verarbeitung, die im Backup-System stattfindet. Die in 10 dargestellte Verarbeitung ist aus der vorangehenden Besprechung heraus leicht verständlich und stellt die komplementäre Verarbeitung zum primären Backup-Verarbeitungsblock 54 und dem Unterschiede identifizierenden Verarbeitungsblock 58 dar.
  • Der Entscheidungsblock 202 in 10 stellt fest, ob der Unterschiede identifizierende Verarbeitungsblock 58 versucht, die Unterschiede zwischen der Massenspeichereinrichtung 20 und der Backup-Speichereinrichtung 24 zu ermitteln. Sollen die Unterschiede identifiziert werden, so geht die Ausführung zu Schritt 204 über, in welchem der erste Datenblock des letzten bekannten Backup-Zustandes ausgelesen wird. In Schritt 206 wird denn der Auszug für diesen Datenblock berechnet und in Schritt 208 der Auszug zum Primärsystem transferiert. Dieser Auszug wird von dem Unterschiede identifizierenden Verarbeitungsblock 58 in Schritt 190 der 9 empfangen. Der Entscheidungsblock 210 prüft dann, in Schritt 212, ob noch mehr Datenblöcke existieren und falls dies der Fall ist, liest er den nächsten Datenblock aus und lässt die Verarbeitung zu Schritt 206 zurückkehren, so dass der Auszug für diesen Datenblock berechnet werden kann. Wenn alle Datenblöcke bearbeitet wurden, kehrt der Ablauf zum Anfang zurück.
  • Die Entscheidungsblöcke 214 und 216 der 10 stellen fest, ob ein Backup entweder durch das Backup-System oder durch das Primärsystem initiiert wurde. Die Entscheidungsblöcke sind analog zu den Entscheidungsblöcken 94 und 96 der 5. Wenn das Backup durch das Backup-System initiiert werden soll, so wird in Schritt 218 eine Verbindung zum Primärsystem hergestellt. Wird das Backup durch das Primärsystem initiiert, so wurde die Verbindung bereits vorher hergestellt und der Ablauf kann direkt zu Schritt 220 übergehen.
  • Schritt 220 empfängt, unter Verwendung des geeigneten Protokolls, ein Paket vom Primärsystem. Dieses Paket wird in Schritt 106 der 5 zum Backup-System transferiert. Das Paket enthält einen oder mehr Datenblöcke oder Teile davon – abhängig von der Größe des Datenblocks in Bezug auf die Größe und das Format des Pakets. In Schritt 222 werden dann die erhaltenen Datenblöcke in einem Backup-Erfassungsmittel, wie dem Backup-Erfassungspuffer 26, gepuffert.
  • Das Puffern der empfangenen Daten, bis alle Datenblöcke erhalten wurden, ist ein wichtiger Schritt in der vorliegenden Erfindung. Wie in dieser Anmeldung durchgehend hervorgehoben, werden mit der vorliegenden Erfindung nur Datenblöcke transferiert, die in Speicherstellen gespeichert sind, in denen seit dem letzten Backup neue Daten gespeichert worden sind. Weiterhin sind die transferierten Daten diejenigen Daten, die in den besagten Stellen zu dem Zeitpunkt gespeichert werden, an dem der Schnappschuss gemacht wird. Somit wird nicht die zeitliche Abfolge der Änderungen transferiert, sondern nur das Endergebnis der gesamten zeitlichen Abfolge von Änderungen seit dem letzten Backup. Dies bedeutet, dass die Zuführung nur eines Teils der zu transferierenden Datenblöcke zu einem logisch inkonsistenten Zustand führen kann. Es ist daher nicht wünschenswert, nur einen Teil der Datenblöcke, die zwischen dem primären System und dem Backup-System zu transferieren sind, für ein einzelnes Backup zuzuführen. Werden die Datenblöcke, sobald sie empfangen werden, der Backup-Speichereinrichtung zugeführt und das Backup-System oder das Primärsystem stürzt während des Transfers ab, so kann die Backup-Speichereinrichtung in einem logisch inkonsistenten Zustand zurückbleiben. Aus diesem Grunde wird es derzeit bevorzugt, die empfangenen Datenblöcke an einer temporären Stelle zu puffern, bis alle Datenblöcke empfangen worden sind. Die Datenblöcke können dann alle zugleich der Backup-Speichereinrichtung zugeführt, oder als inkrementelles Backup gesichert werden.
  • Der Entscheidungsblock 224 stellt sicher, dass alle Datenblöcke empfangen wurden. Sobald alle Datenblöcke empfangen wurden, prüft der Entscheidungsblock 226, ob ein vollständiger Satz empfangen wurde. Dieser vollständige Satz enthält alle Änderungen, die seit dem letzten Backup aufgetreten sind. wurde kein vollständiger Satz erhalten, so sollten geeignete Maßnahmen getroffen werden. Beispielsweise zeigt Schritt 228, dass der Backup-Satz verworfen und nicht der Massenspeichereinrichtung zugeführt werden sollte. Dies ist aus den oben beschriebenen Gründen von Bedeutung. Jedoch können vor dem Verwerfen eines Backup-Sets zusätzliche Schritte unternommen werden, um etwaige Änderungen, die in dem Satz fehlen, zu erhalten. Beispielsweise kann das Backup-System den Kontakt zum Primärsystem initiieren und den Transfer der fehlenden Änderungen anfordern. Wenn das Primärsystem derzeit nicht zur Verfügung steht, so kann möglicherweise der partielle Satz separat gespeichert werden, bis der Kontakt mit dem Primärsystem wieder hergestellt werden kann. Zu diesem Zeitpunkt kann das Backup-System das Primärsystem darüber informieren, welche Änderungen empfan gen wurden und welche Änderungen noch nicht transferiert wurden. Durch solche Versuche, fehlende Änderungen zu erhalten, kann die Menge an Daten, die zwischen dem Primärsystem und dem Backup-System retransferiert werden müssen, reduziert werden. Können die Änderungen jedoch nicht gewonnen werden, so sollte der gesamte Satz verworfen und ein neuer Satz vom Primärsystem erhalten werden.
  • Wurde ein vollständiger Satz Änderungen erhalten, so gibt Schritt 230 an, dass die Änderungen unter Verwendung des gewünschten Verfahrens verarbeitet werden sollten. In dieser Beschreibung wurde durchweg auf die Zuführung einer Gruppe von Änderungen zur Backup-Speichereinrichtung Bezug genommen, die das Ziel hat, den Zustand der Backup-Speichereinrichtung auf den Stand eines bestimmten Zeitpunkts zu bringen. Abgesehen von der Zuführung in der beschriebenen Weise können die Änderungen auch als inkrementelles Backup gespeichert werden. Durch Sichern der Änderungen als inkrementelles Backup können mehrere vergangene Backup-Zustände gespeichert werden. Auf diese Weise stehen, falls es erforderlich sein sollte, Daten aus dem Backup-System wiederzugewinnen, mehrere Backup-Zustände zur Wahl. Auch Kombinationen der oben erwähnten Verfahren können Verwendung finden. Beispielsweise können mehrere inkrementelle Backups aufbewahrt werden und dann die inkrementellen Backups auf einen Anfangszustand angewendet werden, um die Backup-Einrichtung auf den Stand eines bestimmten Zeitpunkts zu bringen.
  • Die vorliegende Erfindung kann in anderen spezifischen Formen ausgeführt werden, ohne von den wesentlichen Merkmalen abzuweichen. Die hier beschriebenen Ausführungsformen sind in jeder Hinsicht als von lediglich beispielhafter und nicht beschränkender Natur zu verstehen. Der Schutzumfang der Erfindung wird daher vielmehr durch die beigefügten Ansprüche angegeben als durch die vorhergehende Beschreibung.
  • Alle Änderungen, die nach Bedeutung und Umfang als Äquivalente der Ansprüche anzusehen sind, fallen unter den Schutzumfang der Ansprüche.
  • Die Ansprüche lauten wie folgt:

Claims (15)

  1. Verfahren zur Sicherung von Datenblocks (Backup), die während eines ersten Zeitintervalls verändert werden, welches sich von einem ersten Zeitpunkt bis zu einem zweiten Zeitpunkt erstreckt, während die Datenmenge verringert wird, die an das Backup-System geschickt werden muss, wobei das Verfahren in einem Computersystem (10) abläuft, das ein Primärsystem (12) umfasst, welches ein Massenspeichersystem (20), das Datenblocks in einer Mehrzahl von Speicherstellen abspeichert, welche jeweils eine eindeutige Adresse haben, und ein Aufbewahrungsspeichermittel (50, 52, 22) zur Bereitstellung einer Momentaufnahmenspeicherstelle (22) aufweist, und wobei das Computersystem außerdem ein Backup-System (14) mit einer Backup-Speicherstelle (24) umfasst, wobei das verfahren die folgenden Schritte umfasst: – während eines ersten Zeitintervalls, das sich von einem ersten Zeitpunkt bis zu einem zweiten Zeitpunkt erstreckt, werden ausschließlich die Speicherstellen des Massenspeichersystems identifiziert, die sich aufgrund der Abspeicherung neuer Daten in diesen Speicherstellen während des ersten Zeitintervalls verändert haben; – während eines zweiten Zeitintervalls, das sich von dem zweiten Zeitpunkt bis zu einem dritten Zeitpunkt erstreckt, wenn ein Datenblock verändert werden soll, der zu dem zweiten Zeitpunkt in einer beliebigen identifizierten Speicherstelle gespeichert wurde, wird im Aufbewahrungsspeichermittel eine Momentaufnahme des unveränderten Datenblocks aufbewahrt, bevor dieser Datenblock verändert wird, so dass die im Aufbewahrungsspeichermittel gespeicherten unveränderten Datenblocks abgerufen werden können, obwohl nach dem zweiten Zeitpunkt neue Daten in das Massenspeichersystem geschrieben werden; – während des zweiten Zeitintervalls werden die im Aufbewahrungsspeichermittel gespeicherten unveränderten Datenblocks abgerufen und die abgerufenen Datenblocks werden in die Backup-Speicherstelle des Backup-Systems transferiert; – die transferierten Datenblocks werden vom Backup-System (14) in einem temporären Speichermittel (26) gespeichert bis alle zu transferierenden Datenblocks empfangen wurden; und – nachdem alle zu transferierenden Datenblocks empfangen wurden, führt das Backup-System die transferierten Datenblocks einem Backup-Speichermittel (24) zu, welches alle vor dem ersten Zeitpunkt vorgenommenen Veränderungen einschließt, um das Backup-Speichermittel auf den Stand des zweiten Zeitpunkts zu bringen.
  2. Verfahren nach Anspruch 1, bei dem die Momentaufnahme der unveränderten Daten aufbewahrt wird, ohne dass der Zugriff der Benutzer auf das Massenspeichersystem (20) unterbrochen wird.
  3. Verfahren nach einem der vorangehenden Ansprüche, bei dem das Backup-System (14) sich an einer entfernten Stelle befindet.
  4. Verfahren nach einem der vorangehenden Ansprüche, bei dem das Backup-System (14) das Verfahren zur Sicherung von Datenblocks auslöst.
  5. Verfahren nach einem der vorangehenden Ansprüche, bei dem das Computersystem (10) das Verfahren zur Sicherung von Datenblocks auslöst.
  6. Verfahren nach einem der vorangehenden Ansprüche, bei dem, nachdem alle zu transferierenden Datenblocks empfangen wurden, das Backup-System die transferierten Datenblocks in einem Backup-Speichermittel (24) speichert.
  7. Verfahren nach einem der vorangehenden Ansprüche, bei dem der Schritt zur Aufbewahrung der Momentaufnahme der Daten die folgenden Schritte umfasst: – zunächst wird geprüft, ob ein Datenblock, der zum zweiten Zeitpunkt in mindestens einer der identifizierten Speicherstellen gespeichert wurde, in einem Aufbewahrungsspeichermittel (50, 52, 22) aufbewahrt wurde; – wenn der Datenblock, der zum zweiten Zeitpunkt in mindestens einer der identifizierten Speicherstellen gespeichert wurde, im Aufbewahrungsspeichermittel aufbewahrt wurde, wird der neue Datenblock in mindestens eine der identifizierten Speicherstellen geschrieben; und – wenn der Datenblock, der zum zweiten Zeitpunkt in mindestens einer der identifizierten Speicherstellen gespeichert wurde, nicht im Aufbewahrungsspeichermittel aufbewahrt wurde, wird der Datenblock, der zum zweiten Zeitpunkt in mindestens einer der identifizierten Speicherstellen gespeichert wurde, zunächst in das Aufbewahrungsspeichermittel geschrieben und dann wird der neue Datenblock in diese mindestens eine der identifizierten Speicherstellen geschrieben.
  8. Verfahren nach Anspruch 7, bei dem das Backup-System (14) sich an einer entfernten Stelle befindet.
  9. Computerprogrammcode zur Verwendung in einem Computersystem (10), umfassend ein Massenspeichermittel (20), welches eine Mehrzahl von Datenblocks in einer Mehrzahl von Speicherstellen speichert, die jeweils eine eindeutige Adresse haben, und ein Backup-System mit einem Backup-Speichermittel, wobei der Computerprogrammcode vom Computer ausführbare Befehle aufweist, umfassend: – Mittel, durch das identifiziert wird, in welchen der Speicherstellen neue Datenblocks während eines Zeitintervalls gespeichert wurden, das sich von einem ersten Zeitpunkt bis zu einem zweiten Zeitpunkt erstreckt; – Mittel, durch das zu besagtem zweiten Zeitpunkt eine statische Momentaufnahme der Speicherstellen, in denen neue Datenblocks zwischen dem ersten Zeitpunkt und dem zweiten Zeitpunkt gespeichert wurden, aufbewahrt wird (50, 52, 22), wobei die statische Momentaufnahme mindestens einen unveränderten Datenblock einschließt, der nach dem zweiten Zeitpunkt von einer der identifizierten Speicherstellen in das Mittel zur Aufbewahrung einer statischen Momentaufnahme transferiert wurde, bevor die genannte eine der identifizierten Speicherstellen verändert wird, indem ein neuer Datenblock hinein geschrieben wird, wobei die statische Momentaufnahme aufbewahrt wird, ohne dass der Zugriff der Benutzer auf den Massenspeicher beendet wird; – Mittel, durch das die Datenblocks, die durch die statische Momentaufnahme aufbewahrt wurden, in ein Backup-System (14) transferiert werden (16); – Mittel, durch das das Backup-System (14) veranlasst wird, die transferierten Datenblocks in einem temporären Speichermittel (26) zu speichern bis alle zu transferierenden Datenblocks empfangen wurden; und – Mittel, durch das das Backup-System veranlasst wird, nachdem alle zu transferierenden Datenblocks empfangen wurden, die transferierten Datenblocks einem Backup-Speichermittel (24) zuzuführen, welches alle vor dem ersten Zeitpunkt vorgenommenen Veränderungen einschließt, um das Backup-Speichermittel auf den Stand des zweiten Zeitpunkts zu bringen.
  10. Computerprogrammcode nach Anspruch 9, wobei die statische Momentaufnahme zum zweiten Zeitpunkt aufbewahrt wird, indem ein Block Daten, der zum zweiten Zeitpunkt in einer identifizierten Speicherstelle gespeichert wurde, jedes Mal wenn dieser Datenblock durch einen neuen Datenblock überschrieben werden soll, in ein Aufbewahrungsspeichermittel (50, 52, 22) kopiert wird.
  11. Computerprogrammcode nach Anspruch 9 oder 10, wobei die vom Computer ausführbaren Befehle außerdem Mittel umfassen, durch die bestimmt wird, wann das Massenspeichermittel (20) einen logisch konsistenten Zustand erreicht hat, so dass die statische Momentaufnahme diesen logisch konsistenten Zustand bewahrt.
  12. Computerprogrammcode nach einem der Ansprüche 9 bis 11, wobei die vom Computer ausführbaren Befehle außerdem Mittel umfassen, durch die Unterschiede identifiziert werden zwischen Datenblocks, die in der Mehrzahl von Speicherstellen des Massenspeichermittels (20) gespeichert sind, und Datenblocks, die in einem Backup-Speichermittel (24) im Backup-System (14) gespeichert sind, wobei die Unterschiede nach besagtem Zeitintervall identifiziert werden.
  13. Computerprogrammcode nach Anspruch 12, wobei das Unterschiede identifizierende Mittel Unterschiede identifiziert, indem ein Auszug für den jeweiligen Datenblock berechnet wird, der in den Speicherstellen auf dem Massenspeichermittel gespeichert ist, und dieser Auszug verglichen wird mit einem Auszug, der für den Datenblock berech net wird, der in einer entsprechenden Speicherstelle auf dem Backup-Speichermittel gespeichert ist.
  14. Computerprogrammcode nach einem der Ansprüche 9 bis 13, wobei die vom Computer ausführbaren Befehle außerdem ein Mittel umfassen, durch das Speicherstellen des Massenspeichermittels (20) identifiziert werden, in denen nach dem zweiten Zeitpunkt neue Daten gespeichert wurden.
  15. Medium, das vom Computer gelesen werden kann, welches einen Computerprogrammcode nach einem der Ansprüche 9 bis 14 trägt.
DE69729011T 1996-11-08 1997-11-07 System und verfahren zum unterhalten eines logisch konsistenten backups unter verwednung von minimalen daten-transfer Expired - Fee Related DE69729011T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US747151 1996-11-08
US08/747,151 US5835953A (en) 1994-10-13 1996-11-08 Backup system that takes a snapshot of the locations in a mass storage device that has been identified for updating prior to updating
PCT/US1997/020406 WO1998020419A1 (en) 1996-11-08 1997-11-07 System and method for maintaining a logically consistent backup using minimal data transfer

Publications (2)

Publication Number Publication Date
DE69729011D1 DE69729011D1 (de) 2004-06-09
DE69729011T2 true DE69729011T2 (de) 2005-07-14

Family

ID=25003859

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69729011T Expired - Fee Related DE69729011T2 (de) 1996-11-08 1997-11-07 System und verfahren zum unterhalten eines logisch konsistenten backups unter verwednung von minimalen daten-transfer

Country Status (7)

Country Link
US (3) US5835953A (de)
EP (1) EP1012716B1 (de)
AT (1) ATE266228T1 (de)
AU (1) AU726915B2 (de)
CA (1) CA2268929A1 (de)
DE (1) DE69729011T2 (de)
WO (1) WO1998020419A1 (de)

Families Citing this family (436)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6138126A (en) 1995-05-31 2000-10-24 Network Appliance, Inc. Method for allocating files in a file system integrated with a raid disk sub-system
US7174352B2 (en) * 1993-06-03 2007-02-06 Network Appliance, Inc. File system image transfer
US5835953A (en) * 1994-10-13 1998-11-10 Vinca Corporation Backup system that takes a snapshot of the locations in a mass storage device that has been identified for updating prior to updating
WO1997011426A1 (en) 1995-09-18 1997-03-27 Cyberstorage Systems, Inc. Universal storage management system
GB9601585D0 (en) * 1996-01-26 1996-03-27 Hewlett Packard Co Fault-tolerant processing method
US6023584A (en) * 1997-01-03 2000-02-08 Ncr Corporation Installation of computer programs using disk mirroring
US7114049B2 (en) 1997-01-08 2006-09-26 Hitachi, Ltd. Adaptive remote copy in a heterogeneous environment
US7389312B2 (en) * 1997-04-28 2008-06-17 Emc Corporation Mirroring network data to establish virtual storage area network
US6578120B1 (en) * 1997-06-24 2003-06-10 International Business Machines Corporation Synchronization and resynchronization of loosely-coupled copy operations between a primary and a remote secondary DASD volume under concurrent updating
US6016553A (en) 1997-09-05 2000-01-18 Wild File, Inc. Method, software and apparatus for saving, using and recovering data
US7647460B1 (en) * 1997-09-23 2010-01-12 Emc Corporation Method and apparatus for implementing a remote mirroring data facility without employing a dedicated leased line to form the link between two remotely disposed storage devices
US6341333B1 (en) * 1997-10-06 2002-01-22 Emc Corporation Method for transparent exchange of logical volumes in a disk array storage device
US6101585A (en) * 1997-11-04 2000-08-08 Adaptec, Inc. Mechanism for incremental backup of on-line files
US6516351B2 (en) 1997-12-05 2003-02-04 Network Appliance, Inc. Enforcing uniform file-locking for diverse file-locking protocols
US6317815B1 (en) 1997-12-30 2001-11-13 Emc Corporation Method and apparatus for formatting data in a storage device
US6073221A (en) * 1998-01-05 2000-06-06 International Business Machines Corporation Synchronization of shared data stores through use of non-empty track copy procedure
US6131148A (en) * 1998-01-26 2000-10-10 International Business Machines Corporation Snapshot copy of a secondary volume of a PPRC pair
US6457130B2 (en) 1998-03-03 2002-09-24 Network Appliance, Inc. File access control in a multi-protocol file server
US6732293B1 (en) 1998-03-16 2004-05-04 Symantec Corporation Method, software and apparatus for recovering and recycling data in conjunction with an operating system
US6360330B1 (en) * 1998-03-31 2002-03-19 Emc Corporation System and method for backing up data stored in multiple mirrors on a mass storage subsystem under control of a backup server
US6202124B1 (en) * 1998-05-05 2001-03-13 International Business Machines Corporation Data storage system with outboard physical data transfer operation utilizing data path distinct from host
AU4547099A (en) * 1998-06-05 1999-12-20 Mylex Corporation Snapshot backup strategy
US6279011B1 (en) 1998-06-19 2001-08-21 Network Appliance, Inc. Backup and restore for heterogeneous file server environment
US6237008B1 (en) * 1998-07-20 2001-05-22 International Business Machines Corporation System and method for enabling pair-pair remote copy storage volumes to mirror data in another storage volume
US6269431B1 (en) 1998-08-13 2001-07-31 Emc Corporation Virtual storage and block level direct access of secondary storage for recovery of backup data
US6366987B1 (en) * 1998-08-13 2002-04-02 Emc Corporation Computer data storage physical backup and logical restore
US6301643B1 (en) * 1998-09-03 2001-10-09 International Business Machines Corporation Multi-environment data consistency
JP4689137B2 (ja) 2001-08-08 2011-05-25 株式会社日立製作所 リモートコピー制御方法、及びストレージシステム
US6738388B1 (en) * 1998-09-10 2004-05-18 Fisher-Rosemount Systems, Inc. Shadow function block interface for use in a process control network
US6209088B1 (en) * 1998-09-21 2001-03-27 Microsoft Corporation Computer hibernation implemented by a computer operating system
US6301670B1 (en) * 1998-10-06 2001-10-09 Ricoh Corporation Method and apparatus for erasing data when a problem is identified
US7325052B1 (en) 1998-10-06 2008-01-29 Ricoh Company, Ltd. Method and system to erase data after expiration or other condition
JP2000137638A (ja) 1998-10-29 2000-05-16 Hitachi Ltd 情報記憶システム
US6343984B1 (en) 1998-11-30 2002-02-05 Network Appliance, Inc. Laminar flow duct cooling system
US6243385B1 (en) * 1999-01-22 2001-06-05 Sercomm Corp. Simultaneous multi-user/single connection internet access method and system
US6209002B1 (en) * 1999-02-17 2001-03-27 Emc Corporation Method and apparatus for cascading data through redundant data storage units
US6397307B2 (en) * 1999-02-23 2002-05-28 Legato Systems, Inc. Method and system for mirroring and archiving mass storage
US6345346B1 (en) * 1999-02-26 2002-02-05 Voom Technologies Substantially instantaneous storage restoration for non-computer forensics applications
US6424999B1 (en) * 1999-03-11 2002-07-23 Emc Corporation System and method for restoring previously backed-up data in a mass storage subsystem
US7055055B1 (en) 1999-04-23 2006-05-30 Symantec Corporation Write cache flushing method for reducing data corruption
JP2000305856A (ja) 1999-04-26 2000-11-02 Hitachi Ltd ディスクサブシステム及びこれらの統合システム
US6529995B1 (en) 1999-06-18 2003-03-04 Storage Technology Corporation Method and apparatus for maintaining and restoring mapping table entries and data in a raid system
US6631478B1 (en) * 1999-06-18 2003-10-07 Cisco Technology, Inc. Technique for implementing high performance stable storage hierarchy in a computer network
US6662197B1 (en) * 1999-06-25 2003-12-09 Emc Corporation Method and apparatus for monitoring update activity in a data storage facility
US7051055B1 (en) 1999-07-09 2006-05-23 Symantec Corporation Optimized disk storage defragmentation with swapping capabilities
AU6081200A (en) * 1999-07-09 2001-01-30 Eric D. Schneider Optimized disk storage defragmentation with swapping capabilities
US7035880B1 (en) 1999-07-14 2006-04-25 Commvault Systems, Inc. Modular backup and retrieval system used in conjunction with a storage area network
US7395282B1 (en) * 1999-07-15 2008-07-01 Commvault Systems, Inc. Hierarchical backup and retrieval system
US7389311B1 (en) 1999-07-15 2008-06-17 Commvault Systems, Inc. Modular backup and retrieval system
US7734591B1 (en) 1999-08-16 2010-06-08 Netapp, Inc. Coherent device to device data replication
US6671705B1 (en) * 1999-08-17 2003-12-30 Emc Corporation Remote mirroring system, device, and method
US7167962B2 (en) 1999-08-19 2007-01-23 Hitachi, Ltd. Remote copy for a storage controller with reduced data size
US6961749B1 (en) 1999-08-25 2005-11-01 Network Appliance, Inc. Scalable file server with highly available pairs
EP1912124B8 (de) 1999-10-14 2013-01-09 Bluearc UK Limited Vorrichtung und System zur Ausführung von Betriebsfunktionen
TW454120B (en) 1999-11-11 2001-09-11 Miralink Corp Flexible remote data mirroring
US7203732B2 (en) * 1999-11-11 2007-04-10 Miralink Corporation Flexible remote data mirroring
US6883120B1 (en) 1999-12-03 2005-04-19 Network Appliance, Inc. Computer assisted automatic error detection and diagnosis of file servers
US6338126B1 (en) 1999-12-06 2002-01-08 Legato Systems, Inc. Crash recovery without complete remirror
US6674447B1 (en) * 1999-12-06 2004-01-06 Oridus, Inc. Method and apparatus for automatically recording snapshots of a computer screen during a computer session for later playback
US6931523B1 (en) * 1999-12-09 2005-08-16 Gateway Inc. System and method for re-storing stored known-good computer configuration via a non-interactive user input device without re-booting the system
US6341341B1 (en) 1999-12-16 2002-01-22 Adaptec, Inc. System and method for disk control with snapshot feature including read-write snapshot half
US6510491B1 (en) 1999-12-16 2003-01-21 Adaptec, Inc. System and method for accomplishing data storage migration between raid levels
US7003641B2 (en) 2000-01-31 2006-02-21 Commvault Systems, Inc. Logical view with granular access to exchange data managed by a modular data and storage management system
US6658436B2 (en) 2000-01-31 2003-12-02 Commvault Systems, Inc. Logical view and access to data managed by a modular data and storage management system
US7155481B2 (en) 2000-01-31 2006-12-26 Commvault Systems, Inc. Email attachment management in a computer system
US6718446B1 (en) * 2000-02-11 2004-04-06 Iomega Corporation Storage media with benchmark representative of data originally stored thereon
US7062648B2 (en) * 2000-02-18 2006-06-13 Avamar Technologies, Inc. System and method for redundant array network storage
US7194504B2 (en) * 2000-02-18 2007-03-20 Avamar Technologies, Inc. System and method for representing and maintaining redundant data sets utilizing DNA transmission and transcription techniques
US6826711B2 (en) 2000-02-18 2004-11-30 Avamar Technologies, Inc. System and method for data protection with multidimensional parity
US6704730B2 (en) 2000-02-18 2004-03-09 Avamar Technologies, Inc. Hash file system and method for use in a commonality factoring system
US8249975B1 (en) 2000-04-10 2012-08-21 Stikine Technology, Llc Automated first look at market events
JP3868708B2 (ja) * 2000-04-19 2007-01-17 株式会社日立製作所 スナップショット管理方法及び計算機システム
US6708227B1 (en) * 2000-04-24 2004-03-16 Microsoft Corporation Method and system for providing common coordination and administration of multiple snapshot providers
US6892221B2 (en) * 2000-05-19 2005-05-10 Centerbeam Data backup
US6636954B2 (en) * 2000-06-02 2003-10-21 Fujitsu Limited Method and apparatus for inter-disk copy processing, and a computer product
US6675180B2 (en) * 2000-06-06 2004-01-06 Matsushita Electric Industrial Co., Ltd. Data updating apparatus that performs quick restoration processing
US6665815B1 (en) * 2000-06-22 2003-12-16 Hewlett-Packard Development Company, L.P. Physical incremental backup using snapshots
US6950871B1 (en) * 2000-06-29 2005-09-27 Hitachi, Ltd. Computer system having a storage area network and method of handling data in the computer system
US6938039B1 (en) 2000-06-30 2005-08-30 Emc Corporation Concurrent file across at a target file server during migration of file systems between file servers using a network file system access protocol
AU8642501A (en) * 2000-08-10 2002-02-25 Miralink Corp Data/presence insurance tools and techniques
US6728922B1 (en) 2000-08-18 2004-04-27 Network Appliance, Inc. Dynamic data space
US7072916B1 (en) 2000-08-18 2006-07-04 Network Appliance, Inc. Instant snapshot
US6636879B1 (en) * 2000-08-18 2003-10-21 Network Appliance, Inc. Space allocation in a write anywhere file system
US7296073B1 (en) 2000-09-13 2007-11-13 Network Appliance, Inc. Mechanism to survive server failures when using the CIFS protocol
US6571259B1 (en) 2000-09-26 2003-05-27 Emc Corporation Preallocation of file system cache blocks in a data storage system
US6823336B1 (en) 2000-09-26 2004-11-23 Emc Corporation Data storage system and method for uninterrupted read-only access to a consistent dataset by one host processor concurrent with read-write access by another host processor
US7334006B1 (en) * 2000-09-27 2008-02-19 Microsoft Corporation Off-line support for cumulative backups
US6625591B1 (en) 2000-09-29 2003-09-23 Emc Corporation Very efficient in-memory representation of large file system directories
US6654912B1 (en) * 2000-10-04 2003-11-25 Network Appliance, Inc. Recovery of file system data in file servers mirrored file system volumes
US7143249B2 (en) * 2000-10-04 2006-11-28 Network Appliance, Inc. Resynchronization of mirrored storage devices
US6691245B1 (en) * 2000-10-10 2004-02-10 Lsi Logic Corporation Data storage with host-initiated synchronization and fail-over of remote mirror
EP1202148A1 (de) * 2000-10-31 2002-05-02 Hewlett-Packard Company, A Delaware Corporation Virusüberprüfung auf geänderte Daten
US6810398B2 (en) * 2000-11-06 2004-10-26 Avamar Technologies, Inc. System and method for unorchestrated determination of data sequences using sticky byte factoring to determine breakpoints in digital sequences
US7346928B1 (en) 2000-12-01 2008-03-18 Network Appliance, Inc. Decentralized appliance virus scanning
US7778981B2 (en) 2000-12-01 2010-08-17 Netapp, Inc. Policy engine to control the servicing of requests received by a storage server
US7260590B1 (en) * 2000-12-06 2007-08-21 Cisco Technology, Inc. Streamed database archival process with background synchronization
US6745305B2 (en) 2000-12-13 2004-06-01 Ncr Corporation Zeroed block optimization in disk mirroring applications
US6871271B2 (en) * 2000-12-21 2005-03-22 Emc Corporation Incrementally restoring a mass storage device to a prior state
US6941490B2 (en) * 2000-12-21 2005-09-06 Emc Corporation Dual channel restoration of data between primary and backup servers
US6606690B2 (en) 2001-02-20 2003-08-12 Hewlett-Packard Development Company, L.P. System and method for accessing a storage area network as network attached storage
EP1255198B1 (de) * 2001-02-28 2006-11-29 Hitachi, Ltd. Speichergerät und Verfahren zur Datensicherung
US7194590B2 (en) 2001-02-28 2007-03-20 Hitachi, Ltd. Three data center adaptive remote copy
US6728735B1 (en) 2001-03-12 2004-04-27 Network Appliance, Inc. Restartable dump that produces a consistent filesystem on tapes
US6728736B2 (en) * 2001-03-14 2004-04-27 Storage Technology Corporation System and method for synchronizing a data copy using an accumulation remote copy trio
US6668264B1 (en) 2001-04-03 2003-12-23 Network Appliance, Inc. Resynchronization of a target volume with a source volume
US7143252B2 (en) 2001-05-10 2006-11-28 Hitachi, Ltd. Storage apparatus system and method of data backup
US7213114B2 (en) 2001-05-10 2007-05-01 Hitachi, Ltd. Remote copy for a storage controller in a heterogeneous environment
US6697795B2 (en) * 2001-06-04 2004-02-24 Hewlett-Packard Development Company, L.P. Virtual file system for dynamically-generated web pages
US7149787B1 (en) * 2001-06-07 2006-12-12 Emc Corporation Apparatus and method for mirroring and restoring data
US7139817B1 (en) 2001-06-12 2006-11-21 Network Appliance, Inc. Managing configuration information for multiple devices
JP2005521113A (ja) 2001-07-06 2005-07-14 コンピュータ アソシエイツ シンク,インコーポレイテッド 情報バックアップシステム及び方法
US8032076B2 (en) * 2001-08-20 2011-10-04 Motorola Mobility, Inc. Cellular telephone and multimedia accessory audio system adaptor and methods therefor
US6662198B2 (en) 2001-08-30 2003-12-09 Zoteca Inc. Method and system for asynchronous transmission, backup, distribution of data and file sharing
US6877016B1 (en) * 2001-09-13 2005-04-05 Unisys Corporation Method of capturing a physically consistent mirrored snapshot of an online database
US7296125B2 (en) * 2001-11-29 2007-11-13 Emc Corporation Preserving a snapshot of selected data of a mass storage system
US7162596B2 (en) * 2002-01-11 2007-01-09 Hewlett-Packard Development Company, L.P. Remote mirrored disk pair resynchronization monitor
US6850945B2 (en) * 2002-02-28 2005-02-01 Veritas Operating Corporation Systems, methods and apparatus for creating stable disk images
US7043507B2 (en) 2002-02-28 2006-05-09 Veritas Operating Corporation System and method for validated indirect data backup using operating system I/O Operations
US7373364B1 (en) 2002-03-05 2008-05-13 Network Appliance, Inc. System and method for creating a point-in-time restoration of a database file
US7475098B2 (en) * 2002-03-19 2009-01-06 Network Appliance, Inc. System and method for managing a plurality of snapshots
US6993539B2 (en) 2002-03-19 2006-01-31 Network Appliance, Inc. System and method for determining changes in two snapshots and for transmitting changes to destination snapshot
US7043485B2 (en) * 2002-03-19 2006-05-09 Network Appliance, Inc. System and method for storage of snapshot metadata in a remote file
JP2003280964A (ja) * 2002-03-22 2003-10-03 Hitachi Ltd スナップショット取得方法、ストレージシステム及びディスク装置
US7185031B2 (en) * 2002-03-25 2007-02-27 Quantum Corporation Creating a backup volume using a data profile of a host volume
US7120827B2 (en) 2002-05-07 2006-10-10 Hitachi Ltd. System and method of volume health checking and recovery
US6785789B1 (en) 2002-05-10 2004-08-31 Veritas Operating Corporation Method and apparatus for creating a virtual data copy
US7370360B2 (en) * 2002-05-13 2008-05-06 International Business Machines Corporation Computer immune system and method for detecting unwanted code in a P-code or partially compiled native-code program executing within a virtual machine
US7546364B2 (en) * 2002-05-16 2009-06-09 Emc Corporation Replication of remote copy data for internet protocol (IP) transmission
US6857001B2 (en) * 2002-06-07 2005-02-15 Network Appliance, Inc. Multiple concurrent active file systems
US7694085B2 (en) * 2002-06-14 2010-04-06 Nokia Corporation Warming large dynamic data in redundant functional unit
US7024586B2 (en) * 2002-06-24 2006-04-04 Network Appliance, Inc. Using file system information in raid data reconstruction and migration
US7620666B1 (en) 2002-07-29 2009-11-17 Symantec Operating Company Maintaining persistent data change maps for fast data synchronization and restoration
US7096330B1 (en) 2002-07-29 2006-08-22 Veritas Operating Corporation Symmetrical data change tracking
US7103727B2 (en) 2002-07-30 2006-09-05 Hitachi, Ltd. Storage system for multi-site remote copy
US6957362B2 (en) * 2002-08-06 2005-10-18 Emc Corporation Instantaneous restoration of a production copy from a snapshot copy in a data storage system
US7389313B1 (en) * 2002-08-07 2008-06-17 Symantec Operating Corporation System and method for creating a snapshot copy of a database
JP2004086721A (ja) * 2002-08-28 2004-03-18 Nec Corp データ複製システム、中継装置、データ送受信方法およびストレージ内のデータを複製するためのプログラム
US7103796B1 (en) * 2002-09-03 2006-09-05 Veritas Operating Corporation Parallel data change tracking for maintaining mirrored data consistency
US7693881B2 (en) * 2002-09-09 2010-04-06 Sap Ag Methods and systems for moving data using locks
US7653667B2 (en) * 2002-09-09 2010-01-26 Sap Ag Methods and systems for data moving using locks
US7756813B2 (en) * 2002-09-09 2010-07-13 Sap Ag Electronic data structure for controlling access to data objects using locks
US20060149696A1 (en) * 2002-09-09 2006-07-06 Thorsten Pferdekaemper Method and systems for controlling access to a data object by means of locks
AU2003273824A1 (en) * 2002-09-09 2004-04-30 Sap Aktiengesellschaft Methods and systems for data moving using locks
US7069401B1 (en) 2002-09-18 2006-06-27 Veritas Operating Corporating Management of frozen images
US7076606B2 (en) * 2002-09-20 2006-07-11 Quantum Corporation Accelerated RAID with rewind capability
US6912631B1 (en) 2002-09-25 2005-06-28 Veritas Operating Corporation Method and apparatus for restoring a corrupted data volume
US6938135B1 (en) * 2002-10-04 2005-08-30 Veritas Operating Corporation Incremental backup of a data volume
US7707184B1 (en) * 2002-10-09 2010-04-27 Netapp, Inc. System and method for snapshot full backup and hard recovery of a database
US8041735B1 (en) 2002-11-01 2011-10-18 Bluearc Uk Limited Distributed file system and method
US7457822B1 (en) 2002-11-01 2008-11-25 Bluearc Uk Limited Apparatus and method for hardware-based file system
JP4199993B2 (ja) * 2002-11-27 2008-12-24 株式会社日立製作所 スナップショット取得方法
GB0227825D0 (en) * 2002-11-29 2003-01-08 Ibm High-performance lock management for flash copy in n-way shared storage systems
US6880053B2 (en) 2002-12-19 2005-04-12 Veritas Operating Corporation Instant refresh of a data volume copy
US6907507B1 (en) 2002-12-19 2005-06-14 Veritas Operating Corporation Tracking in-progress writes through use of multi-column bitmaps
US6996687B1 (en) 2002-12-20 2006-02-07 Veritas Operating Corporation Method of optimizing the space and improving the write performance of volumes with multiple virtual copies
US6978354B1 (en) 2002-12-20 2005-12-20 Veritas Operating Corporation Method for creating a virtual data copy of a volume being restored
US6910111B1 (en) 2002-12-20 2005-06-21 Veritas Operating Corporation Volume restoration using an accumulator map
US7089446B2 (en) * 2003-01-09 2006-08-08 International Business Machines Corporation Method, system, and article of manufacture for creating a consistent copy
US7055008B2 (en) * 2003-01-22 2006-05-30 Falconstor Software, Inc. System and method for backing up data
JP3974538B2 (ja) * 2003-02-20 2007-09-12 株式会社日立製作所 情報処理システム
JP4473513B2 (ja) * 2003-02-27 2010-06-02 富士通株式会社 原本性検証装置および原本性検証プログラム
US7155460B2 (en) * 2003-03-18 2006-12-26 Network Appliance, Inc. Write-once-read-many storage system and method for implementing the same
JP4165747B2 (ja) * 2003-03-20 2008-10-15 株式会社日立製作所 記憶システム、制御装置及び制御装置のプログラム
US7747586B2 (en) * 2003-04-23 2010-06-29 International Business Machines Corporation Apparatus and method to map and copy computer files
US7085909B2 (en) * 2003-04-29 2006-08-01 International Business Machines Corporation Method, system and computer program product for implementing copy-on-write of a file
JP2004348193A (ja) * 2003-05-20 2004-12-09 Hitachi Ltd 情報処理システムおよびそのバックアップ方法
US7069402B2 (en) * 2003-06-02 2006-06-27 International Business Machines Corporation Host-independent incremental backup method, apparatus, and system
FR2850182B1 (fr) * 2003-06-10 2006-02-24 Garnier Jean Procede de gestion d'une unite de stockage numerique
US7275177B2 (en) * 2003-06-25 2007-09-25 Emc Corporation Data recovery with internet protocol replication with or without full resync
US7567991B2 (en) * 2003-06-25 2009-07-28 Emc Corporation Replication of snapshot using a file system copy differential
US7454569B2 (en) 2003-06-25 2008-11-18 Commvault Systems, Inc. Hierarchical system and method for performing storage operations in a computer network
US7398422B2 (en) * 2003-06-26 2008-07-08 Hitachi, Ltd. Method and apparatus for data recovery system using storage based journaling
US7111136B2 (en) * 2003-06-26 2006-09-19 Hitachi, Ltd. Method and apparatus for backup and recovery system using storage based journaling
US20050022213A1 (en) * 2003-07-25 2005-01-27 Hitachi, Ltd. Method and apparatus for synchronizing applications for data recovery using storage based journaling
US20050015416A1 (en) 2003-07-16 2005-01-20 Hitachi, Ltd. Method and apparatus for data recovery using storage based journaling
JP2005309550A (ja) 2004-04-19 2005-11-04 Hitachi Ltd リモートコピー方法及びリモートコピーシステム
JP4374953B2 (ja) 2003-09-09 2009-12-02 株式会社日立製作所 データ処理システム
JP4124348B2 (ja) 2003-06-27 2008-07-23 株式会社日立製作所 記憶システム
US7130975B2 (en) * 2003-06-27 2006-10-31 Hitachi, Ltd. Data processing system
US7694086B1 (en) * 2003-06-30 2010-04-06 Symantec Operating Corporation Method and system for incremental backup of data volumes
US7103737B1 (en) 2003-07-01 2006-09-05 Veritas Operating Corporation Flexible hierarchy of relationships and operations in data volumes
US7664793B1 (en) 2003-07-01 2010-02-16 Symantec Operating Corporation Transforming unrelated data volumes into related data volumes
US7756844B2 (en) * 2003-07-08 2010-07-13 Pillar Data Systems, Inc. Methods of determining and searching for modified blocks in a file system
US7836029B2 (en) * 2003-07-08 2010-11-16 Pillar Data Systems, Inc. Systems and methods of searching for and determining modified blocks in a file system
US7379954B2 (en) * 2003-07-08 2008-05-27 Pillar Data Systems, Inc. Management of file system snapshots
US6959313B2 (en) * 2003-07-08 2005-10-25 Pillar Data Systems, Inc. Snapshots of file systems in data storage systems
US7603533B1 (en) 2003-07-22 2009-10-13 Acronis Inc. System and method for data protection on a storage medium
US8856927B1 (en) 2003-07-22 2014-10-07 Acronis International Gmbh System and method for using snapshots for rootkit detection
JP4321705B2 (ja) * 2003-07-29 2009-08-26 株式会社日立製作所 スナップショットの取得を制御するための装置及び記憶システム
US7155585B2 (en) 2003-08-01 2006-12-26 Falconstor Software, Inc. Method and system for synchronizing storage system data
US7467266B2 (en) * 2003-08-05 2008-12-16 International Business Machines Corporation Snapshot management method apparatus and system
CN101566931B (zh) 2003-08-14 2011-05-18 克姆佩棱特科技公司 虚拟磁盘驱动系统和方法
US9489150B2 (en) 2003-08-14 2016-11-08 Dell International L.L.C. System and method for transferring data between different raid data storage types for current data and replay data
JP4021823B2 (ja) * 2003-09-01 2007-12-12 株式会社日立製作所 リモートコピーシステム及びリモートコピーの方法
US7284105B2 (en) * 2003-09-10 2007-10-16 International Business Machines Corporation Fast and economical establishment of remote copy
US7219201B2 (en) 2003-09-17 2007-05-15 Hitachi, Ltd. Remote storage disk control device and method for controlling the same
US7991748B2 (en) 2003-09-23 2011-08-02 Symantec Corporation Virtual data store creation and use
US7035881B2 (en) * 2003-09-23 2006-04-25 Emc Corporation Organization of read-write snapshot copies in a data storage system
US7555504B2 (en) * 2003-09-23 2009-06-30 Emc Corporation Maintenance of a file version set including read-only and read-write snapshot copies of a production file
US7725760B2 (en) 2003-09-23 2010-05-25 Symantec Operating Corporation Data storage system
US7730222B2 (en) 2004-08-24 2010-06-01 Symantec Operating System Processing storage-related I/O requests using binary tree data structures
US7827362B2 (en) 2004-08-24 2010-11-02 Symantec Corporation Systems, apparatus, and methods for processing I/O requests
US7287133B2 (en) 2004-08-24 2007-10-23 Symantec Operating Corporation Systems and methods for providing a modification history for a location within a data store
US7904428B2 (en) 2003-09-23 2011-03-08 Symantec Corporation Methods and apparatus for recording write requests directed to a data store
US7577806B2 (en) 2003-09-23 2009-08-18 Symantec Operating Corporation Systems and methods for time dependent data storage and recovery
US7865485B2 (en) 2003-09-23 2011-01-04 Emc Corporation Multi-threaded write interface and methods for increasing the single file read and write throughput of a file server
US7143117B2 (en) * 2003-09-25 2006-11-28 International Business Machines Corporation Method, system, and program for data synchronization by determining whether a first identifier for a portion of data at a first source and a second identifier for a portion of corresponding data at a second source match
US7225208B2 (en) 2003-09-30 2007-05-29 Iron Mountain Incorporated Systems and methods for backing up data files
US7707374B2 (en) * 2003-10-22 2010-04-27 International Business Machines Corporation Incremental data storage method, apparatus, interface, and system
US7171538B2 (en) * 2003-10-22 2007-01-30 International Business Machines Corporation Incremental data storage method, apparatus, interface, and system
US7590807B2 (en) 2003-11-03 2009-09-15 Netapp, Inc. System and method for record retention date in a write once read many storage system
US7546324B2 (en) 2003-11-13 2009-06-09 Commvault Systems, Inc. Systems and methods for performing storage operations using network attached storage
WO2005048085A2 (en) * 2003-11-13 2005-05-26 Commvault Systems, Inc. System and method for performing an image level snapshot and for restoring partial volume data
US7152183B2 (en) * 2003-11-20 2006-12-19 Hitachi, Ltd. Method and apparatus for volume replication management at planned and unplanned link down
JP4412989B2 (ja) 2003-12-15 2010-02-10 株式会社日立製作所 複数の記憶システムを有するデータ処理システム
US7290101B1 (en) 2003-12-19 2007-10-30 Symantec Corporation Using data copies for redundancy
US8244903B2 (en) * 2003-12-22 2012-08-14 Emc Corporation Data streaming and backup systems having multiple concurrent read threads for improved small file performance
US7206795B2 (en) 2003-12-22 2007-04-17 Jean-Pierre Bono Prefetching and multithreading for improved file read performance
US7921110B1 (en) 2003-12-23 2011-04-05 Netapp, Inc. System and method for comparing data sets
US20050149548A1 (en) * 2003-12-29 2005-07-07 Chong Fay Jr. One-way data mirror using copy-on-write
US20050149554A1 (en) * 2003-12-29 2005-07-07 Chong Fay Jr. One-way data mirror using write logging
JP4477370B2 (ja) * 2004-01-30 2010-06-09 株式会社日立製作所 データ処理システム
US7657717B1 (en) 2004-02-02 2010-02-02 Symantec Operating Corporation Coherently sharing any form of instant snapshots separately from base volumes
US7426617B2 (en) * 2004-02-04 2008-09-16 Network Appliance, Inc. Method and system for synchronizing volumes in a continuous data protection system
US7904679B2 (en) 2004-02-04 2011-03-08 Netapp, Inc. Method and apparatus for managing backup data
US7383463B2 (en) * 2004-02-04 2008-06-03 Emc Corporation Internet protocol based disaster recovery of a server
US7783606B2 (en) * 2004-02-04 2010-08-24 Netapp, Inc. Method and system for remote data recovery
US7720817B2 (en) 2004-02-04 2010-05-18 Netapp, Inc. Method and system for browsing objects on a protected volume in a continuous data protection system
US7315965B2 (en) 2004-02-04 2008-01-01 Network Appliance, Inc. Method and system for storing data using a continuous data protection system
US7685384B2 (en) * 2004-02-06 2010-03-23 Globalscape, Inc. System and method for replicating files in a computer network
US20050177693A1 (en) * 2004-02-10 2005-08-11 Storeage Networking Technologies Asynchronous mirroring in a storage area network
JP4483342B2 (ja) * 2004-02-27 2010-06-16 株式会社日立製作所 システム復旧方法
US7343449B2 (en) * 2004-03-22 2008-03-11 Hitachi, Ltd. Storage subsystem and storage system
JP4439960B2 (ja) * 2004-03-22 2010-03-24 株式会社日立製作所 ストレージ装置
US7353241B2 (en) 2004-03-24 2008-04-01 Microsoft Corporation Method, medium and system for recovering data using a timeline-based computing environment
US8359491B1 (en) 2004-03-30 2013-01-22 Symantec Operating Corporation Disaster recovery rehearsal using copy on write
US7213103B2 (en) 2004-04-22 2007-05-01 Apple Inc. Accessing data storage systems without waiting for read errors
US20050256859A1 (en) * 2004-05-13 2005-11-17 Internation Business Machines Corporation System, application and method of providing application programs continued access to frozen file systems
JP2005332067A (ja) 2004-05-18 2005-12-02 Hitachi Ltd バックアップ取得方法及びディスクアレイ装置
US7814056B2 (en) * 2004-05-21 2010-10-12 Computer Associates Think, Inc. Method and apparatus for data backup using data blocks
US7797483B1 (en) * 2004-06-23 2010-09-14 Emc Corporation Write interceptor for tracking changes to disk image
US7620785B1 (en) * 2004-06-30 2009-11-17 Symantec Operating Corporation Using roll-forward and roll-backward logs to restore a data volume
US7266652B1 (en) * 2004-06-30 2007-09-04 Emc Corporation System and method for managing data consistency between different data volumes on one or more data storage systems in a data storage environment
US7739464B1 (en) * 2004-06-30 2010-06-15 Symantec Operating Corporation Consistent backups of data using a roll-back log
US7831782B1 (en) * 2004-06-30 2010-11-09 Symantec Operating Corporation Roll-back log to provide data consistency
US7461101B2 (en) * 2004-07-13 2008-12-02 International Business Machines Corporation Method for reducing data loss and unavailability by integrating multiple levels of a storage hierarchy
JP4519563B2 (ja) * 2004-08-04 2010-08-04 株式会社日立製作所 記憶システム及びデータ処理システム
US8028135B1 (en) 2004-09-01 2011-09-27 Netapp, Inc. Method and apparatus for maintaining compliant storage
US8959058B1 (en) * 2004-09-02 2015-02-17 Symantec Corporation Linking dynamic computer data protection to an external state
JP4189597B2 (ja) * 2004-09-30 2008-12-03 コニカミノルタビジネステクノロジーズ株式会社 データバックアップシステム、同バックアッププログラム、データ復元処理システム及び同復元処理プログラム
JP4437432B2 (ja) * 2004-09-30 2010-03-24 株式会社日立製作所 計算機システム
US7577804B2 (en) * 2004-10-06 2009-08-18 International Business Machines Corporation Detecting data integrity
JP2006113927A (ja) * 2004-10-18 2006-04-27 Hitachi Ltd ストレージ装置、ストレージシステム、スナップショット維持方法、およびコマンド
CA2486103A1 (en) * 2004-10-26 2006-04-26 Platespin Ltd. System and method for autonomic optimization of physical and virtual resource use in a data center
US7428658B2 (en) * 2004-10-26 2008-09-23 International Business Machines Corporation Checking storage reconfiguration
JP2006127028A (ja) 2004-10-27 2006-05-18 Hitachi Ltd 記憶システム及び記憶制御装置
US7305530B2 (en) * 2004-11-02 2007-12-04 Hewlett-Packard Development Company, L.P. Copy operations in storage networks
US7949665B1 (en) 2004-11-19 2011-05-24 Symantec Corporation Rapidly traversing disc volumes during file content examination
US20060123210A1 (en) * 2004-12-06 2006-06-08 St. Bernard Software, Inc. Method for logically consistent backup of open computer files
US7774610B2 (en) 2004-12-14 2010-08-10 Netapp, Inc. Method and apparatus for verifiably migrating WORM data
KR100604585B1 (ko) * 2004-12-15 2006-07-25 주식회사 팬택앤큐리텔 멀티 미디어 데이터 관리 방법과 그를 이용한 이동통신단말기
US7353355B1 (en) 2004-12-28 2008-04-01 Acronis Inc. System and method for rapid restoration of server from backup
US20060143412A1 (en) * 2004-12-28 2006-06-29 Philippe Armangau Snapshot copy facility maintaining read performance and write performance
US7475282B2 (en) * 2004-12-28 2009-01-06 Acronis Inc. System and method for rapid restoration of server from back up
US7721138B1 (en) 2004-12-28 2010-05-18 Acronis Inc. System and method for on-the-fly migration of server from backup
US7558928B1 (en) * 2004-12-31 2009-07-07 Symantec Operating Corporation Logical application data restore from a database backup
US20080052708A1 (en) * 2004-12-31 2008-02-28 Juhang Zhong Data Processing System With A Plurality Of Subsystems And Method Thereof
US20060156381A1 (en) * 2005-01-12 2006-07-13 Tetsuro Motoyama Approach for deleting electronic documents on network devices using document retention policies
US20060161808A1 (en) * 2005-01-18 2006-07-20 Burkey Todd R Method, apparatus and program storage device for providing intelligent copying for faster virtual disk mirroring
US20060190460A1 (en) * 2005-02-18 2006-08-24 Oracle International Corporation Method and mechanism of handling reporting transactions in database systems
US20060212439A1 (en) * 2005-03-21 2006-09-21 Microsoft Corporation System and method of efficient data backup in a networking environment
US7281104B1 (en) 2005-03-21 2007-10-09 Acronis Inc. System and method for online data migration
US7308543B2 (en) * 2005-03-22 2007-12-11 International Business Machines Corporation Method and system for shredding data within a data storage subsystem
US8745011B2 (en) 2005-03-22 2014-06-03 International Business Machines Corporation Method and system for scrubbing data within a data storage subsystem
US7440979B2 (en) * 2005-03-30 2008-10-21 Sap Ag Snapshots for instant backup in a database management system
JP2006302015A (ja) * 2005-04-21 2006-11-02 Hitachi Ltd ストレージシステム及びデータ管理方法
US7636814B1 (en) * 2005-04-28 2009-12-22 Symantec Operating Corporation System and method for asynchronous reads of old data blocks updated through a write-back cache
US7523146B2 (en) 2005-06-21 2009-04-21 Apple Inc. Apparatus and method for peer-to-peer N-way synchronization in a decentralized environment
US8495015B2 (en) 2005-06-21 2013-07-23 Apple Inc. Peer-to-peer syncing in a decentralized environment
US8346726B2 (en) * 2005-06-24 2013-01-01 Peter Chi-Hsiung Liu System and method for virtualizing backup images
US7506116B2 (en) * 2005-07-19 2009-03-17 International Business Machines Corporation Maintaining and using information on updates to a data group after a logical copy is made of the data group
US20070038884A1 (en) * 2005-08-10 2007-02-15 Spare Backup, Inc. System and method of remote storage of data using client software
US7734882B2 (en) * 2005-09-06 2010-06-08 Reldata, Inc. Generating digest for block range via iSCSI
US20070055835A1 (en) * 2005-09-06 2007-03-08 Reldata, Inc. Incremental replication using snapshots
JP2007087036A (ja) * 2005-09-21 2007-04-05 Hitachi Ltd スナップショット維持装置及び方法
US7536521B2 (en) * 2005-09-28 2009-05-19 Wisconsin Alumni Research Foundation Computer storage device providing implicit detection of block liveness
US7996679B2 (en) * 2005-10-05 2011-08-09 International Business Machines Corporation System and method for performing a trust-preserving migration of data objects from a source to a target
US7366859B2 (en) * 2005-10-06 2008-04-29 Acronis Inc. Fast incremental backup method and system
US7831789B1 (en) * 2005-10-06 2010-11-09 Acronis Inc. Method and system for fast incremental backup using comparison of descriptors
US9009114B1 (en) * 2005-10-31 2015-04-14 Symantec Operating Corporation Version mapped incremental backups
JP4755487B2 (ja) * 2005-11-24 2011-08-24 株式会社日立製作所 データ読出しシステム、データ読出し装置およびデータ読出し方法
JP4436316B2 (ja) * 2005-12-27 2010-03-24 富士通株式会社 ビットマップ処理方式
US7509467B2 (en) * 2006-01-13 2009-03-24 Hitachi, Ltd. Storage controller and data management method
JP4800056B2 (ja) * 2006-02-09 2011-10-26 株式会社日立製作所 ストレージシステム及びその制御方法
US7752401B2 (en) 2006-01-25 2010-07-06 Netapp, Inc. Method and apparatus to automatically commit files to WORM status
US7472242B1 (en) * 2006-02-14 2008-12-30 Network Appliance, Inc. Eliminating duplicate blocks during backup writes
US7788456B1 (en) 2006-02-16 2010-08-31 Network Appliance, Inc. Use of data images to allow release of unneeded data storage
US8095751B2 (en) 2006-02-28 2012-01-10 International Business Machines Corporation Managing set of target storage volumes for snapshot and tape backups
US7647525B2 (en) * 2006-03-31 2010-01-12 Emc Corporation Resumption of operations following failover in connection with triangular asynchronous replication
CN100437504C (zh) * 2006-04-06 2008-11-26 英业达股份有限公司 硬盘数据备份系统及方法
US7797670B2 (en) 2006-04-14 2010-09-14 Apple Inc. Mirrored file system
US7464238B1 (en) 2006-04-28 2008-12-09 Network Appliance, Inc. System and method for verifying the consistency of mirrored data sets
KR101381551B1 (ko) 2006-05-05 2014-04-11 하이버 인크 그룹 기반의 완료 및 증분 컴퓨터 파일 백업 시스템, 프로세스 및 장치
WO2007140260A2 (en) 2006-05-24 2007-12-06 Compellent Technologies System and method for raid management, reallocation, and restriping
US7953710B2 (en) * 2006-06-23 2011-05-31 Microsoft Corporation Multi-master database synchronization without loss of convergence
US7860826B2 (en) 2006-08-04 2010-12-28 Apple Inc. Method and system for using global equivalency sets to identify data during peer-to-peer synchronization
US7962499B2 (en) 2006-08-18 2011-06-14 Falconstor, Inc. System and method for identifying and mitigating redundancies in stored data
JP2008059443A (ja) * 2006-09-01 2008-03-13 Hitachi Ltd 記憶システムおよびバックアップ方法
US7587628B2 (en) * 2006-09-20 2009-09-08 International Business Machines Corporation System, method and computer program product for copying data
US8626557B2 (en) * 2006-09-26 2014-01-07 International Business Machines Corporation System and method of providing snapshot to support approval of workflow changes
US8151060B2 (en) 2006-11-28 2012-04-03 Hitachi, Ltd. Semiconductor memory system having a snapshot function
US7844787B2 (en) * 2006-12-18 2010-11-30 Novell, Inc. Techniques for data replication with snapshot capabilities
US7657769B2 (en) 2007-01-08 2010-02-02 Marcy M Scott N-way synchronization of data
US20080195676A1 (en) * 2007-02-14 2008-08-14 Microsoft Corporation Scanning of backup data for malicious software
US8510524B1 (en) * 2007-03-29 2013-08-13 Netapp, Inc. File system capable of generating snapshots and providing fast sequential read access
US8533410B1 (en) * 2007-03-29 2013-09-10 Netapp, Inc. Maintaining snapshot and active file system metadata in an on-disk structure of a file system
US7865473B2 (en) * 2007-04-02 2011-01-04 International Business Machines Corporation Generating and indicating incremental backup copies from virtual copies of a data set
US7644300B1 (en) * 2007-04-20 2010-01-05 3Par, Inc. Fast resynchronization of data from a remote copy
US8874841B2 (en) * 2007-04-30 2014-10-28 Hewlett-Packard Development Company, L.P. Method and system for distributing snapshots across arrays of an array cluster
US8130084B2 (en) * 2007-04-30 2012-03-06 International Business Machines Corporation Fault tolerant closed system control using power line communication
US8671076B2 (en) * 2007-05-08 2014-03-11 Bmc Software, Inc. Database recovery using logs applied to consistent copies
US7668880B1 (en) * 2007-05-15 2010-02-23 Jim Carroll Offsite computer file backup system providing rapid recovery and method thereof
US7941406B2 (en) * 2007-08-20 2011-05-10 Novell, Inc. Techniques for snapshotting
US7865475B1 (en) 2007-09-12 2011-01-04 Netapp, Inc. Mechanism for converting one type of mirror to another type of mirror on a storage system without transferring data
US8421614B2 (en) * 2007-09-19 2013-04-16 International Business Machines Corporation Reliable redundant data communication through alternating current power distribution system
US7783666B1 (en) 2007-09-26 2010-08-24 Netapp, Inc. Controlling access to storage resources by using access pattern based quotas
US7865472B1 (en) 2007-09-28 2011-01-04 Symantec Corporation Methods and systems for restoring file systems
US8028137B2 (en) * 2007-12-20 2011-09-27 Seagate Technology Llc System and method of selective data mirroring in a data storage device
US8200736B2 (en) * 2007-12-24 2012-06-12 Qualcomm Incorporated Virtual SIM card for mobile handsets
JP5111129B2 (ja) * 2008-01-22 2012-12-26 キヤノン株式会社 情報処理装置、情報処理システム、情報処理方法、及び、プログラム
US7900006B2 (en) * 2008-04-30 2011-03-01 Netapp, Inc. Maintaining checkpoints during backup of live system
US8065272B2 (en) * 2008-05-30 2011-11-22 Symantec Corporation Systems and methods for tracking changes to a volume
US8676809B1 (en) * 2008-06-30 2014-03-18 Symantec Corporation Method and apparatus for mapping virtual machine incremental images
US8272028B2 (en) 2008-10-15 2012-09-18 Ricoh Company, Ltd. Approach for managing access to electronic documents on network devices using document retention policies and document security policies
US8732417B1 (en) * 2008-10-15 2014-05-20 Symantec Corporation Techniques for creating snapshots of a target system
JP2010102492A (ja) * 2008-10-23 2010-05-06 Hitachi Ltd データアーカイブシステム
EP2192495A1 (de) * 2008-11-11 2010-06-02 Thomson Licensing Verfahren zur Bearbeitung von Daten mittels Dreifach-Pufferung
US8386438B2 (en) * 2009-03-19 2013-02-26 Symantec Corporation Method for restoring data from a monolithic backup
US8539179B1 (en) 2009-03-31 2013-09-17 Symantec Corporation Methods and systems for creating full backups
US8219528B1 (en) 2009-03-31 2012-07-10 Symantec Corporation Method and apparatus for simultaneous comparison of multiple backup sets maintained in a computer system
US8996826B2 (en) * 2009-04-28 2015-03-31 Symantec Corporation Techniques for system recovery using change tracking
US8918606B1 (en) * 2009-05-01 2014-12-23 Symantec Corporation Techniques for providing incremental backups
US8554735B1 (en) 2009-05-27 2013-10-08 MiMedia LLC Systems and methods for data upload and download
US8090690B2 (en) * 2009-05-27 2012-01-03 MiMedia LLC Systems and methods for data upload and download
US8200926B1 (en) * 2009-05-28 2012-06-12 Symantec Corporation Methods and systems for creating full backups
US8370681B2 (en) * 2009-06-03 2013-02-05 Hewlett-Packard Development Company, L.P. Remote backup storage
US8649789B2 (en) 2009-06-08 2014-02-11 Qualcomm Incorporated Method and apparatus for switching virtual SIM service contracts when roaming
US8634828B2 (en) 2009-06-08 2014-01-21 Qualcomm Incorporated Method and apparatus for switching virtual SIM service contracts based upon a user profile
US8811969B2 (en) 2009-06-08 2014-08-19 Qualcomm Incorporated Virtual SIM card for mobile handsets
US8639245B2 (en) 2009-06-08 2014-01-28 Qualcomm Incorporated Method and apparatus for updating rules governing the switching of virtual SIM service contracts
US8468292B2 (en) 2009-07-13 2013-06-18 Compellent Technologies Solid state drive data storage system and method
US8676180B2 (en) 2009-07-29 2014-03-18 Qualcomm Incorporated Virtual SIM monitoring mode for mobile handsets
CN101997902B (zh) * 2009-08-28 2015-07-22 云端容灾有限公司 基于驿站分段传输的远程在线备份系统和方法
US8214612B1 (en) * 2009-09-28 2012-07-03 Emc Corporation Ensuring consistency of replicated volumes
US8818961B1 (en) 2009-10-30 2014-08-26 Symantec Corporation User restoration of workflow objects and elements from an archived database
US8793288B2 (en) * 2009-12-16 2014-07-29 Sap Ag Online access to database snapshots
CA2783370C (en) 2009-12-31 2016-03-15 Commvault Systems, Inc. Systems and methods for performing data management operations using snapshots
US8190574B2 (en) * 2010-03-02 2012-05-29 Storagecraft Technology Corporation Systems, methods, and computer-readable media for backup and restoration of computer information
US8473463B1 (en) 2010-03-02 2013-06-25 Symantec Corporation Method of avoiding duplicate backups in a computing system
US8825602B1 (en) * 2010-03-15 2014-09-02 Symantec Corporation Systems and methods for providing data protection in object-based storage environments
US9442748B2 (en) 2010-03-17 2016-09-13 Zerto, Ltd. Multi-RPO data protection
US9389892B2 (en) 2010-03-17 2016-07-12 Zerto Ltd. Multiple points in time disk images for disaster recovery
US9710294B2 (en) 2010-03-17 2017-07-18 Zerto Ltd. Methods and apparatus for providing hypervisor level data services for server virtualization
US11256529B2 (en) 2010-03-17 2022-02-22 Zerto Ltd. Methods and apparatus for providing hypervisor level data services for server virtualization
US10649799B2 (en) 2010-03-17 2020-05-12 Zerto Ltd. Hypervisor virtual server system, and method for providing data services within a hypervisor virtual server system
US8527481B2 (en) 2010-03-29 2013-09-03 International Business Machines Corporation Methods and systems for obtaining and correcting an index record for a virtual storage access method keyed sequential data set
US8364640B1 (en) 2010-04-09 2013-01-29 Symantec Corporation System and method for restore of backup data
US8219769B1 (en) 2010-05-04 2012-07-10 Symantec Corporation Discovering cluster resources to efficiently perform cluster backups and restores
US8898518B2 (en) 2010-05-18 2014-11-25 Vmware, Inc. Method and system for enabling checkpointing fault tolerance across remote virtual machines
US8898509B2 (en) 2010-05-18 2014-11-25 Vmware, Inc. Policy-based checkpointing fault tolerance across remote virtual machines
US8898508B2 (en) 2010-05-18 2014-11-25 Vmware, Inc. Method and system for enabling checkpointing fault tolerance across remote virtual machines
US8171338B2 (en) * 2010-05-18 2012-05-01 Vmware, Inc. Method and system for enabling checkpointing fault tolerance across remote virtual machines
US8370315B1 (en) 2010-05-28 2013-02-05 Symantec Corporation System and method for high performance deduplication indexing
US8489676B1 (en) 2010-06-30 2013-07-16 Symantec Corporation Technique for implementing seamless shortcuts in sharepoint
US8566640B2 (en) 2010-07-19 2013-10-22 Veeam Software Ag Systems, methods, and computer program products for instant recovery of image level backups
US8983952B1 (en) 2010-07-29 2015-03-17 Symantec Corporation System and method for partitioning backup data streams in a deduplication based storage system
US8606752B1 (en) 2010-09-29 2013-12-10 Symantec Corporation Method and system of restoring items to a database while maintaining referential integrity
US8849750B2 (en) * 2010-10-13 2014-09-30 International Business Machines Corporation Synchronization for initialization of a remote mirror storage facility
US8825972B1 (en) 2010-11-19 2014-09-02 Symantec Corporation Method and system of producing a full backup image using an incremental backup method
US8688645B2 (en) * 2010-11-30 2014-04-01 Netapp, Inc. Incremental restore of data between storage systems having dissimilar storage operating systems associated therewith
US8635187B2 (en) 2011-01-07 2014-01-21 Symantec Corporation Method and system of performing incremental SQL server database backups
US9021198B1 (en) 2011-01-20 2015-04-28 Commvault Systems, Inc. System and method for sharing SAN storage
US9471578B2 (en) 2012-03-07 2016-10-18 Commvault Systems, Inc. Data storage system utilizing proxy device for storage operations
US9298715B2 (en) 2012-03-07 2016-03-29 Commvault Systems, Inc. Data storage system utilizing proxy device for storage operations
US9460009B1 (en) * 2012-03-26 2016-10-04 Emc Corporation Logical unit creation in data storage system
US9146851B2 (en) 2012-03-26 2015-09-29 Compellent Technologies Single-level cell and multi-level cell hybrid solid state drive
US9342537B2 (en) 2012-04-23 2016-05-17 Commvault Systems, Inc. Integrated snapshot interface for a data storage system
JP5991211B2 (ja) * 2012-05-25 2016-09-14 富士通株式会社 シミュレーション方法、およびシミュレーションプログラム
US11023329B1 (en) * 2012-09-05 2021-06-01 Acronis International Gmbh Systems and methods for the recovery of virtual machines
US9817834B1 (en) * 2012-10-01 2017-11-14 Veritas Technologies Llc Techniques for performing an incremental backup
US8782005B2 (en) * 2012-12-12 2014-07-15 Storagecraft Technology Corporation Pruning previously-allocated free blocks from a synthetic backup
US10379988B2 (en) * 2012-12-21 2019-08-13 Commvault Systems, Inc. Systems and methods for performance monitoring
US9886346B2 (en) 2013-01-11 2018-02-06 Commvault Systems, Inc. Single snapshot for multiple agents
US9880776B1 (en) 2013-02-22 2018-01-30 Veritas Technologies Llc Content-driven data protection method for multiple storage devices
US9465521B1 (en) 2013-03-13 2016-10-11 MiMedia, Inc. Event based media interface
US9298758B1 (en) 2013-03-13 2016-03-29 MiMedia, Inc. Systems and methods providing media-to-media connection
US10257301B1 (en) 2013-03-15 2019-04-09 MiMedia, Inc. Systems and methods providing a drive interface for content delivery
US9183232B1 (en) 2013-03-15 2015-11-10 MiMedia, Inc. Systems and methods for organizing content using content organization rules and robust content information
US9135293B1 (en) 2013-05-20 2015-09-15 Symantec Corporation Determining model information of devices based on network device identifiers
US9110847B2 (en) 2013-06-24 2015-08-18 Sap Se N to M host system copy
CN104281501B (zh) * 2013-07-08 2018-03-27 联想(北京)有限公司 一种Snapshot的实现方法、装置及电子设备
US9053216B1 (en) 2013-08-09 2015-06-09 Datto, Inc. CPU register assisted virtual machine screenshot capture timing apparatuses, methods and systems
US9753812B2 (en) 2014-01-24 2017-09-05 Commvault Systems, Inc. Generating mapping information for single snapshot for multiple applications
US9639426B2 (en) 2014-01-24 2017-05-02 Commvault Systems, Inc. Single snapshot for multiple applications
US9495251B2 (en) 2014-01-24 2016-11-15 Commvault Systems, Inc. Snapshot readiness checking and reporting
US9632874B2 (en) 2014-01-24 2017-04-25 Commvault Systems, Inc. Database application backup in single snapshot for multiple applications
US9594636B2 (en) 2014-05-30 2017-03-14 Datto, Inc. Management of data replication and storage apparatuses, methods and systems
EP3163447B1 (de) 2014-07-15 2019-11-06 Huawei Technologies Co. Ltd. Verfahren, vorrichtung und system zur datenreplikation
US9575680B1 (en) 2014-08-22 2017-02-21 Veritas Technologies Llc Deduplication rehydration
US9774672B2 (en) 2014-09-03 2017-09-26 Commvault Systems, Inc. Consolidated processing of storage-array commands by a snapshot-control media agent
US10042716B2 (en) 2014-09-03 2018-08-07 Commvault Systems, Inc. Consolidated processing of storage-array commands using a forwarder media agent in conjunction with a snapshot-control media agent
US9448731B2 (en) 2014-11-14 2016-09-20 Commvault Systems, Inc. Unified snapshot storage management
US9648105B2 (en) 2014-11-14 2017-05-09 Commvault Systems, Inc. Unified snapshot storage management, using an enhanced storage manager and enhanced media agents
US20160292055A1 (en) * 2015-04-02 2016-10-06 Infinidat Ltd. Failure recovery in an asynchronous remote mirroring process
CN106293999B (zh) * 2015-06-25 2019-04-30 深圳市中兴微电子技术有限公司 一种微引擎处理报文中间数据快照功能的实现方法及装置
US9977716B1 (en) 2015-06-29 2018-05-22 Veritas Technologies Llc Incremental backup system
US10503753B2 (en) 2016-03-10 2019-12-10 Commvault Systems, Inc. Snapshot replication operations based on incremental block change tracking
US10956270B2 (en) * 2016-03-30 2021-03-23 Acronis International Gmbh System and method for data protection during full data backup
US10083086B2 (en) * 2016-04-22 2018-09-25 Unisys Corporation Systems and methods for automatically resuming commissioning of a partition image after a halt in the commissioning process
US11223537B1 (en) 2016-08-17 2022-01-11 Veritas Technologies Llc Executing custom scripts from the host during disaster recovery
US11310137B2 (en) 2017-02-05 2022-04-19 Veritas Technologies Llc System and method to propagate information across a connected set of entities irrespective of the specific entity type
US10909097B2 (en) 2017-02-05 2021-02-02 Veritas Technologies Llc Method and system for dependency analysis of workloads for orchestration
US10505903B1 (en) 2017-07-14 2019-12-10 EMC IP Holding Company LLC System and method of obtaining data from private cloud behind enterprise firewall
US10116764B1 (en) * 2017-07-18 2018-10-30 EMC IP Holding Company LLC Method for state based snapshot difference with restart capability
US10732885B2 (en) 2018-02-14 2020-08-04 Commvault Systems, Inc. Block-level live browsing and private writable snapshots using an ISCSI server
US10452453B1 (en) * 2018-02-22 2019-10-22 Amazon Technologies, Inc. Snapshot lineage preservation for representation-based partitions
US10740156B1 (en) 2018-02-22 2020-08-11 Amazon Technologies, Inc. Reversible representation-based partitioning of distributed computing environments
US10693753B2 (en) * 2018-05-31 2020-06-23 Hewlett Packard Enterprise Development Lp Network device snapshots
US20200192572A1 (en) 2018-12-14 2020-06-18 Commvault Systems, Inc. Disk usage growth prediction system
US11108545B2 (en) * 2019-05-31 2021-08-31 Advanced New Technologies Co., Ltd. Creating a blockchain account and verifying blockchain transactions
US11853575B1 (en) 2019-06-08 2023-12-26 Veritas Technologies Llc Method and system for data consistency across failure and recovery of infrastructure
US11429640B2 (en) 2020-02-28 2022-08-30 Veritas Technologies Llc Methods and systems for data resynchronization in a replication environment
US11531604B2 (en) 2020-02-28 2022-12-20 Veritas Technologies Llc Methods and systems for data resynchronization in a replication environment
US11928030B2 (en) * 2020-03-31 2024-03-12 Veritas Technologies Llc Optimize backup from universal share
US11379319B2 (en) * 2020-06-24 2022-07-05 Hitachi, Ltd. LAN-free and application consistent backup method
US11531644B2 (en) * 2020-10-14 2022-12-20 EMC IP Holding Company LLC Fractional consistent global snapshots of a distributed namespace

Family Cites Families (167)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3054560A (en) * 1958-02-04 1962-09-18 Westinghouse Air Brake Co Computer test and change-over circuit
US3303474A (en) * 1963-01-17 1967-02-07 Rca Corp Duplexing system for controlling online and standby conditions of two computers
US3444528A (en) * 1966-11-17 1969-05-13 Martin Marietta Corp Redundant computer systems
NL153059B (nl) * 1967-01-23 1977-04-15 Bell Telephone Mfg Automatisch telecommunicatie-schakelstelsel.
DE1549397B2 (de) * 1967-06-16 1972-09-14 Chemische Werke Hüls AG, 4370 Mari Verfahren zur automatischen steuerung chemischer anlagen
US3544477A (en) * 1967-08-17 1970-12-01 Gen Telephone & Elect Inorganic liquid laser media and method of preparation thereof
US3533082A (en) * 1968-01-15 1970-10-06 Ibm Instruction retry apparatus including means for restoring the original contents of altered source operands
US3665173A (en) * 1968-09-03 1972-05-23 Ibm Triple modular redundancy/sparing
FR1587572A (de) * 1968-10-25 1970-03-20
US3623014A (en) * 1969-08-25 1971-11-23 Control Data Corp Computer communications system
GB1253309A (en) * 1969-11-21 1971-11-10 Marconi Co Ltd Improvements in or relating to data processing arrangements
GB1308497A (en) * 1970-09-25 1973-02-21 Marconi Co Ltd Data processing arrangements
US3864670A (en) * 1970-09-30 1975-02-04 Yokogawa Electric Works Ltd Dual computer system with signal exchange system
JPS5633915B1 (de) * 1970-11-06 1981-08-06
SE347826B (de) * 1970-11-20 1972-08-14 Ericsson Telefon Ab L M
US3810119A (en) * 1971-05-04 1974-05-07 Us Navy Processor synchronization scheme
US3771137A (en) * 1971-09-10 1973-11-06 Ibm Memory control in a multipurpose system utilizing a broadcast
US3725861A (en) * 1971-11-10 1973-04-03 Ibm Apparatus and method for establishing exact record reorientation after error condition in a data storage subsystem
US3754211A (en) * 1971-12-30 1973-08-21 Ibm Fast error recovery communication controller
NL7202501A (de) * 1972-02-25 1973-08-28
FR2182259A5 (de) * 1972-04-24 1973-12-07 Cii
US3812469A (en) * 1972-05-12 1974-05-21 Burroughs Corp Multiprocessing system having means for partitioning into independent processing subsystems
US3824547A (en) * 1972-11-29 1974-07-16 Sigma Syst Inc Communications system with error detection and retransmission
US3806887A (en) * 1973-01-02 1974-04-23 Fte Automatic Electric Labor I Access circuit for central processors of digital communication system
US3828321A (en) * 1973-03-15 1974-08-06 Gte Automatic Electric Lab Inc System for reconfiguring central processor and instruction storage combinations
US3803568A (en) * 1973-04-06 1974-04-09 Gte Automatic Electric Lab Inc System clock for electronic communication systems
US3820085A (en) * 1973-04-06 1974-06-25 Gte Automatic Electric Lab Inc Communication switching system having separate register subsystem and stored program processor each having its own memory,and data transfer by processor access to the register memory
US4099241A (en) * 1973-10-30 1978-07-04 Telefonaktiebolaget L M Ericsson Apparatus for facilitating a cooperation between an executive computer and a reserve computer
US3889237A (en) * 1973-11-16 1975-06-10 Sperry Rand Corp Common storage controller for dual processor system
US4073005A (en) * 1974-01-21 1978-02-07 Control Data Corporation Multi-processor computer system
DE2407241A1 (de) * 1974-02-15 1975-08-21 Ibm Deutschland Verfahren und anordnung zur erhoehung der verfuegbarkeit eines digitalrechners
GB1509193A (en) * 1974-04-17 1978-05-04 Nat Res Dev Computer systems
US4076961A (en) * 1974-09-23 1978-02-28 Intertel, Inc. Automatic switching unit for data communications network
US3991407A (en) * 1975-04-09 1976-11-09 E. I. Du Pont De Nemours And Company Computer redundancy interface
JPS51127626A (en) * 1975-04-30 1976-11-06 Hitachi Ltd Information processor
JPS51148339A (en) * 1975-06-16 1976-12-20 Toshiba Corp Computer control unit
GB1505603A (en) * 1976-07-07 1978-03-30 Ibm Data processing systems
US4228496A (en) * 1976-09-07 1980-10-14 Tandem Computers Incorporated Multiprocessor system
US4152764A (en) * 1977-03-16 1979-05-01 International Business Machines Corporation Floating-priority storage control for processors in a multi-processor system
US4358823A (en) * 1977-03-25 1982-11-09 Trw, Inc. Double redundant processor
JPS53121441A (en) * 1977-03-31 1978-10-23 Toshiba Corp Duplicated information processor
US4191996A (en) * 1977-07-22 1980-03-04 Chesley Gilman D Self-configurable computer and memory system
US4156901A (en) * 1977-09-01 1979-05-29 Gte Sylvania Incorporated Projection unit having removable retention member
US4141066A (en) * 1977-09-13 1979-02-20 Honeywell Inc. Process control system with backup process controller
US4270167A (en) * 1978-06-30 1981-05-26 Intel Corporation Apparatus and method for cooperative and concurrent coprocessing of digital information
US4228503A (en) * 1978-10-02 1980-10-14 Sperry Corporation Multiplexed directory for dedicated cache memory system
US4402046A (en) * 1978-12-21 1983-08-30 Intel Corporation Interprocessor communication system
US4282572A (en) * 1979-01-15 1981-08-04 Ncr Corporation Multiprocessor memory access system
US4257009A (en) * 1979-05-23 1981-03-17 Rca Corporation Inhibit circuit for a differential amplifier
FR2462066B1 (fr) * 1979-07-17 1988-01-15 Telecommunications Sa Dispositif de commutation de deux trains numeriques
US4428044A (en) * 1979-09-20 1984-01-24 Bell Telephone Laboratories, Incorporated Peripheral unit controller
US4471429A (en) * 1979-12-14 1984-09-11 Honeywell Information Systems, Inc. Apparatus for cache clearing
US4318173A (en) * 1980-02-05 1982-03-02 The Bendix Corporation Scheduler for a multiple computer system
FR2476349A1 (fr) * 1980-02-15 1981-08-21 Philips Ind Commerciale Systeme de traitement de donnees reparti
US4351023A (en) * 1980-04-11 1982-09-21 The Foxboro Company Process control system with improved system security features
US4477895A (en) * 1980-05-02 1984-10-16 Harris Corporation Synchronized protection switching arrangement
US4445214A (en) * 1980-05-30 1984-04-24 Harris Corporation Method of controlling message transmission sequence in multi station communication system
JPS5726955A (en) * 1980-07-25 1982-02-13 Hitachi Ltd Backup control system
EP0046831B1 (de) * 1980-08-26 1984-12-05 International Business Machines Corporation System für die wiederholte Übertragung fehlerhaft empfangener numerierter Rahmen in einem Datenübertragungssystem
US4480304A (en) * 1980-10-06 1984-10-30 International Business Machines Corporation Method and means for the retention of locks across system, subsystem, and communication failures in a multiprocessing, multiprogramming, shared data environment
US4371754A (en) * 1980-11-19 1983-02-01 Rockwell International Corporation Automatic fault recovery system for a multiple processor telecommunications switching control
US4380047A (en) * 1980-11-24 1983-04-12 Corvus Systems, Inc. Interface apparatus employing a video tape drive to back-up a disc drive and including error detecting and correcting circuitry
US4403286A (en) * 1981-03-06 1983-09-06 International Business Machines Corporation Balancing data-processing work loads
AU551032B2 (en) * 1981-03-31 1986-04-17 British Telecommunications Public Limited Company Safety arrangement in computer control system
US4380067A (en) * 1981-04-15 1983-04-12 International Business Machines Corporation Error control in a hierarchical system
US4403303A (en) * 1981-05-15 1983-09-06 Beehive International Terminal configuration manager
JPS57208746A (en) * 1981-06-18 1982-12-21 Toyota Motor Corp Transmission controlling system
US4423414A (en) * 1981-08-27 1983-12-27 Burroughs Corporation System and method for name-lookup in a local area network data communication system
US4486826A (en) * 1981-10-01 1984-12-04 Stratus Computer, Inc. Computer peripheral control apparatus
JPH0812621B2 (ja) 1981-10-01 1996-02-07 ストレイタス・コンピュータ・インコーポレイテッド 情報転送方法及び装置
US4332027A (en) * 1981-10-01 1982-05-25 Burroughs Corporation Local area contention network data communication system
US4434487A (en) * 1981-10-05 1984-02-28 Digital Equipment Corporation Disk format for secondary storage system
US4455601A (en) * 1981-12-31 1984-06-19 International Business Machines Corporation Cross checking among service processors in a multiprocessor system
US4477882A (en) * 1982-02-24 1984-10-16 Allen-Bradley Company Communications network for programmable controllers
US4459658A (en) * 1982-02-26 1984-07-10 Bell Telephone Laboratories Incorporated Technique for enabling operation of a computer system with a consistent state of a linked list data structure after a main memory failure
US4562535A (en) * 1982-04-05 1985-12-31 Texas Instruments Incorporated Self-configuring digital processor system with global system
DE3215177A1 (de) * 1982-04-23 1983-10-27 Hartmann & Braun Ag, 6000 Frankfurt Ueberwachungssystem fuer eine oder mehrere, gleichartig aufgebaute prozessstationen
US4479214A (en) * 1982-06-16 1984-10-23 International Business Machines Corporation System for updating error map of fault tolerant memory
US4483001A (en) * 1982-06-16 1984-11-13 International Business Machines Corporation Online realignment of memory faults
US4507751A (en) * 1982-06-21 1985-03-26 International Business Machines Corporation Method and apparatus for logging journal data using a log write ahead data set
US4648031A (en) * 1982-06-21 1987-03-03 International Business Machines Corporation Method and apparatus for restarting a computing system
US4498145A (en) * 1982-06-30 1985-02-05 International Business Machines Corporation Method for assuring atomicity of multi-row update operations in a database system
US4530051A (en) * 1982-09-10 1985-07-16 At&T Bell Laboratories Program process execution in a distributed multiprocessor system
US4521847A (en) * 1982-09-21 1985-06-04 Xerox Corporation Control system job recovery after a malfunction
US4589090A (en) * 1982-09-21 1986-05-13 Xerox Corporation Remote processor crash recovery
JPS5960667A (ja) 1982-09-30 1984-04-06 Hitachi Ltd 磁気テ−プジヤ−ナルの判別方法
US4530052A (en) * 1982-10-14 1985-07-16 Honeywell Information Systems Inc. Apparatus and method for a data processing unit sharing a plurality of operating systems
US4648061A (en) 1982-11-09 1987-03-03 Machines Corporation, A Corporation Of New York Electronic document distribution network with dynamic document interchange protocol generation
US4590554A (en) * 1982-11-23 1986-05-20 Parallel Computers Systems, Inc. Backup fault tolerant computer system
JPS59160899A (ja) 1982-12-09 1984-09-11 セコイア・システムス・インコ−ポレ−テツド メモリ−・バツク・アツプ・システム
JPH0670880B2 (ja) 1983-01-21 1994-09-07 株式会社日立マイコンシステム 半導体記憶装置
US4604690A (en) * 1983-02-22 1986-08-05 International Business Machines Corp. Dynamic configuration for added devices
US4583089A (en) * 1983-04-19 1986-04-15 Foster Wheeler Energy Corporation Distributed computer control system with variable monitor timers
US4639856A (en) * 1983-11-04 1987-01-27 International Business Machines Corporation Dual stream processor apparatus
US4610013A (en) * 1983-11-08 1986-09-02 Avco Corporation Remote multiplexer terminal with redundant central processor units
US4646300A (en) * 1983-11-14 1987-02-24 Tandem Computers Incorporated Communications method
US4607365A (en) * 1983-11-14 1986-08-19 Tandem Computers Incorporated Fault-tolerant communications controller system
JPH0754442B2 (ja) * 1983-11-24 1995-06-07 大倉電気株式会社 プロセス制御システム
US4654846A (en) 1983-12-20 1987-03-31 Rca Corporation Spacecraft autonomous redundancy control
US4608688A (en) * 1983-12-27 1986-08-26 At&T Bell Laboratories Processing system tolerant of loss of access to secondary storage
US4615001A (en) * 1984-03-29 1986-09-30 At&T Bell Laboratories Queuing arrangement for initiating execution of multistage transactions
US4630224A (en) * 1984-04-19 1986-12-16 The United States Of America As Represented By The Secretary Of The Navy Automation initialization of reconfigurable on-line automatic test system
US4823256A (en) 1984-06-22 1989-04-18 American Telephone And Telegraph Company, At&T Bell Laboratories Reconfigurable dual processor system
US4959774A (en) 1984-07-06 1990-09-25 Ampex Corporation Shadow memory system for storing variable backup blocks in consecutive time periods
US4644470A (en) * 1984-07-20 1987-02-17 International Business Machines Corp. Non-unique names for broadcast messages
US4656596A (en) 1984-07-23 1987-04-07 Texas Instruments Incorporated Video memory controller
US4623883A (en) * 1984-12-10 1986-11-18 Ncr Corporation Automatic communications switch
US4674038A (en) 1984-12-28 1987-06-16 International Business Machines Corporation Recovery of guest virtual machines after failure of a host real machine
US4754397A (en) 1985-02-15 1988-06-28 Tandem Computers Incorporated Fault tolerant modular subsystems for computers
US4680581A (en) 1985-03-28 1987-07-14 Honeywell Inc. Local area network special function frames
US4703481A (en) 1985-08-16 1987-10-27 Hewlett-Packard Company Method and apparatus for fault recovery within a computing system
US4691314A (en) 1985-10-30 1987-09-01 Microcom, Inc. Method and apparatus for transmitting data in adjustable-sized packets
US4713811A (en) 1985-11-07 1987-12-15 Tytronix Corporation Automatic mode switching unit for a serial communications data system
US4800488A (en) 1985-11-12 1989-01-24 American Telephone And Telegraph Company, At&T Bell Laboratories Method of propagating resource information in a computer network
US4736339A (en) 1985-12-16 1988-04-05 Gte Communication Systems Corporation Circuit for simplex I/O terminal control by duplex processors
US4979108A (en) 1985-12-20 1990-12-18 Ag Communication Systems Corporation Task synchronization arrangement and method for remote duplex processors
US4703421A (en) 1986-01-03 1987-10-27 Gte Communication Systems Corporation Ready line synchronization circuit for use in a duplicated computer system
US4727544A (en) 1986-06-05 1988-02-23 Bally Manufacturing Corporation Memory integrity checking system for a gaming device
US4740969A (en) 1986-06-27 1988-04-26 Hewlett-Packard Company Method and apparatus for recovering from hardware faults
US4878167A (en) 1986-06-30 1989-10-31 International Business Machines Corporation Method for managing reuse of hard log space by mapping log data during state changes and discarding the log data
SE454730B (sv) 1986-09-19 1988-05-24 Asea Ab Forfarande och datorutrustning for stotfri omkoppling av funktionen fran aktiva enheter till beredskapsenheter i en centralenhet
US4953122A (en) 1986-10-31 1990-08-28 Laserdrive Ltd. Pseudo-erasable and rewritable write-once optical disk memory system
US5079740A (en) 1987-01-12 1992-01-07 Ncr Corporation System and method of providing an automatic back-up primary terminal for a cluster of secondary terminals
GB8704882D0 (en) 1987-03-03 1987-04-08 Hewlett Packard Co Secure messaging systems
US4782486A (en) 1987-05-14 1988-11-01 Digital Equipment Corporation Self-testing memory
JP2514208B2 (ja) 1987-07-15 1996-07-10 富士通株式会社 ホットスタンドバイメモリ−コピ−方式
US5005122A (en) 1987-09-08 1991-04-02 Digital Equipment Corporation Arrangement with cooperating management server node and network service node
JP2924905B2 (ja) 1988-03-25 1999-07-26 エヌシーアール インターナショナル インコーポレイテッド フアイル・バツクアツプ・システム
US5038278A (en) 1988-04-01 1991-08-06 Digital Equipment Corporation Cache with at least two fill rates
US4959768A (en) 1989-01-23 1990-09-25 Honeywell Inc. Apparatus for tracking predetermined data for updating a secondary data base
US5089958A (en) 1989-01-23 1992-02-18 Vortex Systems, Inc. Fault tolerant computer backup system
GB8915875D0 (en) 1989-07-11 1989-08-31 Intelligence Quotient United K A method of operating a data processing system
DE69027491T2 (de) 1989-08-01 1997-02-06 Digital Equipment Corp Verfahren zur Softwarefehlerbehandlung
US5068851A (en) 1989-08-01 1991-11-26 Digital Equipment Corporation Apparatus and method for documenting faults in computing modules
US5048022A (en) 1989-08-01 1991-09-10 Digital Equipment Corporation Memory device with transfer of ECC signals on time division multiplexed bidirectional lines
US5163148A (en) 1989-08-11 1992-11-10 Digital Equipment Corporation File backup system for producing a backup copy of a file which may be updated during backup
US5276867A (en) 1989-12-19 1994-01-04 Epoch Systems, Inc. Digital data storage system with improved data migration
US5295258A (en) 1989-12-22 1994-03-15 Tandem Computers Incorporated Fault-tolerant computer system with online recovery and reintegration of redundant components
DE69021712T2 (de) 1990-02-08 1996-04-18 Ibm Wiederanlaufkennzeichnungsmechanismus für fehlertolerierende Systeme.
US5307481A (en) 1990-02-28 1994-04-26 Hitachi, Ltd. Highly reliable online system
US5088081A (en) 1990-03-28 1992-02-11 Prime Computer, Inc. Method and apparatus for improved disk access
US5177744A (en) 1990-09-04 1993-01-05 International Business Machines Corporation Method and apparatus for error recovery in arrays
JPH04126423A (ja) 1990-09-17 1992-04-27 Omron Corp データ処理システム
US5157663A (en) 1990-09-24 1992-10-20 Novell, Inc. Fault tolerant computer system
US5544347A (en) 1990-09-24 1996-08-06 Emc Corporation Data storage system controlled remote data mirroring with respectively maintained data indices
US5426747A (en) 1991-03-22 1995-06-20 Object Design, Inc. Method and apparatus for virtual memory mapping and transaction management in an object-oriented database system
US5408642A (en) * 1991-05-24 1995-04-18 Symantec Corporation Method for recovery of a computer program infected by a computer virus
AU653670B2 (en) 1992-03-10 1994-10-06 Data General Corporation Improvements for high availability disk arrays
US5410667A (en) 1992-04-17 1995-04-25 Storage Technology Corporation Data record copy system for a disk drive array data storage subsystem
US5241670A (en) 1992-04-20 1993-08-31 International Business Machines Corporation Method and system for automated backup copy ordering in a time zero backup copy session
JPH0827754B2 (ja) 1992-05-21 1996-03-21 インターナショナル・ビジネス・マシーンズ・コーポレイション コンピュータシステムにおけるファイル管理方法及びファイル管理システム
US5403639A (en) 1992-09-02 1995-04-04 Storage Technology Corporation File server having snapshot application data groups
US5530855A (en) 1992-10-13 1996-06-25 International Business Machines Corporation Replicating a database by the sequential application of hierarchically sorted log records
US5838894A (en) 1992-12-17 1998-11-17 Tandem Computers Incorporated Logical, fail-functional, dual central processor units formed from three processor units
US5414377A (en) * 1992-12-21 1995-05-09 Xilinx, Inc. Logic block with look-up table for configuration and memory
EP0706686B1 (de) 1993-07-01 1998-10-14 Legent Corporation Anordnung und verfahren zur verteilten datenverwaltung in vernetzten rechnersystemen
US5515502A (en) 1993-09-30 1996-05-07 Sybase, Inc. Data backup system with methods for stripe affinity backup to multiple archive devices
FR2711816B1 (fr) * 1993-10-21 1996-02-02 Ferrand Christian Dispositif et procédé de sauvegarde à distance de données numériques.
US5537585A (en) 1994-02-25 1996-07-16 Avail Systems Corporation Data storage management for network interconnected processors
US5435004A (en) 1994-07-21 1995-07-18 International Business Machines Corporation Computerized system and method for data backup
US5537533A (en) 1994-08-11 1996-07-16 Miralink Corporation System and method for remote mirroring of digital data from a primary network server to a remote network server
US5835953A (en) * 1994-10-13 1998-11-10 Vinca Corporation Backup system that takes a snapshot of the locations in a mass storage device that has been identified for updating prior to updating
US5649152A (en) * 1994-10-13 1997-07-15 Vinca Corporation Method and system for providing a static snapshot of data stored on a mass storage system
US5574906A (en) * 1994-10-24 1996-11-12 International Business Machines Corporation System and method for reducing storage requirement in backup subsystems utilizing segmented compression and differencing
US5513314A (en) 1995-01-27 1996-04-30 Auspex Systems, Inc. Fault tolerant NFS server system and mirroring protocol
US5819020A (en) * 1995-10-16 1998-10-06 Network Specialists, Inc. Real time backup system
US5719889A (en) * 1995-12-20 1998-02-17 International Business Machines Corporation Programmable parity checking and comparison circuit

Also Published As

Publication number Publication date
AU5174098A (en) 1998-05-29
WO1998020419A1 (en) 1998-05-14
EP1012716A1 (de) 2000-06-28
DE69729011D1 (de) 2004-06-09
ATE266228T1 (de) 2004-05-15
EP1012716B1 (de) 2004-05-06
US6085298A (en) 2000-07-04
US6073222A (en) 2000-06-06
CA2268929A1 (en) 1998-05-14
EP1012716A4 (de) 2001-08-16
AU726915B2 (en) 2000-11-23
US5835953A (en) 1998-11-10

Similar Documents

Publication Publication Date Title
DE69729011T2 (de) System und verfahren zum unterhalten eines logisch konsistenten backups unter verwednung von minimalen daten-transfer
DE60312746T2 (de) Wiederherstellung nach fehlern in datenverarbeitungsanlagen
US8712970B1 (en) Recovering a database to any point-in-time in the past with guaranteed data consistency
DE60317383T2 (de) Datenwiederherstellungsvorrichtung unter Verwendung von Journaldaten und Identifikationsinformation
DE19964475B4 (de) Verfahren und Vorrichtung zum Löschen von Daten nach Ablauf
TW522320B (en) Apparatus and method for recovering a failed database data set
DE602004006404T2 (de) Flashback-datenbank
US6993537B2 (en) Data recovery system
CN100380304C (zh) 虚拟存储装置
DE69533854T2 (de) Einrichtung und Verfahren zur fehlertoleranten Schlüsselverwaltung
DE60317815T2 (de) Verfahren und system zur bereitstellung einer dauerhaften speicherung von benutzerdaten
JP3050510B2 (ja) イメージデータ管理装置
DE602005002532T2 (de) Cluster-datenbank mit ferndatenspiegelung
DE102008015662A1 (de) Beseitigung
JPH11184744A (ja) メッセージキューイングシステム
DE112012004216T5 (de) Nachrichtenabgleich während einer Wiederherstellung nach einem Systemausfall
DE112017000190T5 (de) Durchgehende Verschlüsselung und Backup in Datenschutzumgebungen
US20030050930A1 (en) Method and apparatus for lockstep data replication
DE112005003668T5 (de) HSM-Steuerprogramm, HSM-Steuervorrichtung und HSM-Steuerverfahren
DE19827432A1 (de) Verfahren zur Speicherung von Rechner-Zustandsdaten bei einem Störfall, der ein anschließendes Wieder-Hochfahren des Rechners erfordert
US20180032555A1 (en) Object database system including an object-specific historical attribute-change information system
DE69837635T2 (de) Dateiensystem und Dateienverwaltungsverfahren, die eine verteilte Replikation in einem System mit gemeinsamen RAID verwirklichen
DE112010004185B4 (de) Synchronisieren einer Datenbank mit datenbankfremden Ressourcen
CA3155794A1 (en) System and method for blockchain based backup and recovery
DE102007005207A1 (de) Software-Duplikation

Legal Events

Date Code Title Description
8327 Change in the person/name/address of the patent owner

Owner name: EMC CORP., HOPKINTON, MASS., US

8328 Change in the person/name/address of the agent

Representative=s name: FLACCUS, R., DIPL.-CHEM. DR.RER.NAT., PAT.-ANW., 5

8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee