DE69920713T2 - Datei-system bild-übertragung - Google Patents
Datei-system bild-übertragung Download PDFInfo
- Publication number
- DE69920713T2 DE69920713T2 DE69920713T DE69920713T DE69920713T2 DE 69920713 T2 DE69920713 T2 DE 69920713T2 DE 69920713 T DE69920713 T DE 69920713T DE 69920713 T DE69920713 T DE 69920713T DE 69920713 T2 DE69920713 T2 DE 69920713T2
- Authority
- DE
- Germany
- Prior art keywords
- file system
- memory
- memory blocks
- image
- dump
- 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 - Lifetime
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1435—Saving, restoring, recovering or retrying at system level using file system or storage system metadata
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1456—Hardware arrangements for backup
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/84—Using snapshots, i.e. a logical point-in-time copy of the data
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99952—Coherency, e.g. same view to multiple users
- Y10S707/99953—Recoverability
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99952—Coherency, e.g. same view to multiple users
- Y10S707/99954—Version management
Description
- Hintergrund der Erfindung
- 1. Gebiet der Erfindung
- Diese Erfindung bezieht sich auf Speichersysteme.
- 2. Technisches Gebiet
- In Computer-Dateisystemen zum Speichern und Wiedererlangen von Information ist es manchmal vorteilhaft, das gesamte Dateisystem oder einen Teil davon zu duplizieren. Zum Beispiel erfüllt das Duplizieren eines Dateisystems den Zweck, eine Sicherungskopie des Dateisystems zu erhalten, um einen Schutz hinsichtlich verlorengegangener Information zu bieten. Das Duplizieren eines Dateisystems dient dem weiteren Zweck, Kopien der Daten in dem Dateisystem durch viele Server bereitzustellen, um die bei dem Zugriff der Daten auftretende Last zu teilen.
- Ein Problem der bekannten Verfahren ist es, dass bekannte Techniken zum Duplizieren von Daten in einem Dateisystem entweder relativ ungünstig und langsam (wie z.B. das Kopieren auf ein Band) oder relativ teuer sind (wie z.B. das Kopieren auf einen zusätzlichen Satz von Festplattenlaufwerken). Zum Beispiel beruhen bekannte Techniken zum Duplizieren auf ein Band auf logischen Operationen des Dateisystems und dem logischen Format des Dateisystems. Dadurch, dass diese Verfahren relativ mühsam und langsam sind, wird von einer häufigen Benutzung abgeschreckt, wodurch Sicherungskopien entstehen, die relativ alt sind. Wenn ein Datenverlust auftritt, kann in diesem Fall die letzte Sicherungskopie einen oder mehrere Tage alt sein, wodurch der Wert der Sicherungskopie stark reduziert wird.
- Ähnlich beruhen bekannte Techniken der Duplizierung auf einen zusätzlichen Satz von Festplatten auf dem physikalischen Format des Dateisystems, wie es auf dem ursprünglichen Satz von Festplatten gespeichert ist. Diese bekannten Techniken verwenden einen zusätzlichen Satz von Festplatten zur Duplizierung des gesamten Dateisystems. Dadurch, dass diese Techniken relativ teuer sind, wird von ihrer Benutzung abgeschreckt, insbesondere für große Dateisysteme. Ebenso wird durch das Vertrauen auf das physikalische Format des Dateisystems der Betrieb des Wiedererlangens von Sicherungsdaten und des Durchführens einer inkrementalen Sicherung erschwert.
- EP-A-0566967 offenbart ein Dateisystem, in dem getrennte „Primary" und „Alternate" „Session Bitmaps" für volle und inkrementale Sicherungen geführt werden.
- Demzufolge würde es erwünscht sein, ein Verfahren und ein System zum Duplizieren eines gesamten Dateisystems oder eines Teils davon anzugeben, welche mit einer beliebigen Art von Speichermedium arbeiten können, ohne entweder relativ komplex oder teuer zu sein, und welche alle bekannten Funktionen der Sicherung und Wiederherstellung ermöglichen können. Dieser Vorteil wird in einer Ausführungsform der Erfindung erhalten, in welcher konsistente Kopien des Dateisystems gepflegt werden, wodurch diese konsistenten Speicherauszüge unter Verwendung der eigenen Blockebenen-Operationen des Dateiservers in einer Speicherblock-Ebene übertragen werden können.
- Zusammenfassung der Erfindung
- Die Erfindung gibt ein Verfahren und ein Dateisystem an, wie in den beigefügten Patentansprüchen definiert, wodurch ein gesamtes Dateisystem oder ein Teil davon dupliziert werden kann, während konsistente Kopien des Dateisystems erhalten werden.
- Der Dateiserver erhält einen Satz von Speicherauszügen, die jeder einen Satz von Speicherblöcken anzeigen, welche eine konsistente Kopie des Dateisystems bilden, wie es zu einer bekannten Zeit bestand. Jeder Speicherauszug kann auch für einen anderen Zweck verwendet werden, als das Erhalten der Kohärenz des Dateisystems, wie z.B. für das Duplizieren oder Übertragen einer Sicherungskopie des Dateisystems auf ein Ziel-Speichermedium. In einer bevorzugten Ausführungsform können die Speicherauszüge manipuliert werden, um Sätze von Speicherblöcken in dem Dateisystem für eine inkrementale Sicherung oder Kopie zu identifizieren, oder um eine Sicherungskopie des Dateisystems zu ermöglichen, die sowohl vollständig als auch relativ günstig ist.
- Kurzbeschreibung der Zeichnungen
-
1 zeigt ein Blockschaltbild eines ersten Systems zur Übertragung von Dateisystemabbildern. -
2 zeigt ein Blockschaltbild eines Satzes von Speicherauszügen in einem System zur Übertragung von Dateisystemabbildern. -
3 zeigt ein Ablaufdiagramm eines Verfahrens zur Übertragung von Dateisystemabbildern. - Ausführliche Beschreibung der bevorzugten Ausführungsform
- In der folgenden Beschreibung wird eine bevorzugte Ausführungsform der Erfindung in Bezug auf bevorzugte Verfahrensschritte und Datenstrukturen beschrieben. Die Fachleute auf dem Gebiet können jedoch nach dem Studium dieser Anmeldung erkennen, dass Ausführungsformen der Erfindung unter Verwendung von einem oder mehreren für allgemeine Zwecke vorgesehene Prozessoren (oder für spezielle Zwecke vorgesehene Prozessoren, die an die bestimmten Verfahrensschritte und Datenstrukturen angepasst sind), die unter einer Programmsteuerung arbeiten, implementiert werden können, und dass die Implementierung der hier beschriebenen bevorzugten Verfahrensschritte und Datenstrukturen unter Verwendung von solchen Vorrichtungen kein übermäßiges Experimentieren und keine weitere Erfindung benötigt.
- Hier beschriebene Erfindungen können im Zusammenhang mit den in den folgenden Anmeldungen beschriebenen Erfindungen verwendet werden:
- – Anmeldung Nr. 08/471,218, angemeldet am 05. Juni 1995 im Namen der Erfinder David Hitz et al., mit dem Titel „A Method for Providing Parity in a Raid Sub-System Using Non-Volatile Memory", jetzt US-Patent Nr. 5,948,110 vom 07. September 1999;
- – Anmeldung Nr. 08/454,921, angemeldet am 31. Mai 1995 im Namen der Erfinder David Hitz et al., mit dem Titel „Method For Maintaining Consistent States of a File System and for Creating User-Accessible Read-Only Copies of a File System", jetzt US-Patent Nr. 5,819,292 vom 06. Oktober 1998.
- – Anmeldung Nr. 08/464,591, angemeldet am 31. Mai 1995 im Namen der Erfinder David Hitz et al., mit dem Titel „Method for Allocating Files in a File System Integrated with a Raid Disk Sub-System", jetzt US-Patent Nr. 6,038,570 vom 14. März 2000.
- Diese Anmeldungen werden gemeinsam als die „WAFL-Offenbarungen" bezeichnet.
- Dateiserver und Übertragung des Dateisystemabbilds
-
1 zeigt ein Blockschaltbild eines Systems zur Übertragung von Dateisystemabbildern. - Ein System
100 zur Übertragung von Dateisystemabbildern umfasst einen Dateiserver110 und ein Ziel-Dateisystem120 . - Der Dateiserver
110 umfasst einen Prozessor111 , einen Satz von Programm- und Datenspeichern112 und einen Massenspeicher113 und ist vorzugsweise ein Dateiserver, wie in den WAFL-Offenbarungen beschrieben ist. In einer bevorzugten Ausführungsform umfasst der Massenspeicher113 ein RAID-Speicher-Untersystem und speichert Daten für das Dateisystem114 . - Das Ziel-Dateisystem
120 umfasst einen Massenspeicher, wie z.B. einen Flash-Speicher, ein Laufwerk für magnetische oder optische Platten, ein Bandlaufwerk oder eine andere Speichervorrichtung. In einer bevorzugten Ausführungsform umfasst das Ziel-Dateisystem120 ein RAID-Speicher-Untersystem. Das Ziel-Dateisystem120 kann unter Verwendung einer Kommunikationsverbindung130 direkt oder indirekt mit dem Dateiserver110 verbunden sein. - In einer ersten bevorzugten Ausführungsform ist das Ziel-Dateisystem
120 mit dem Dateiserver110 verbunden und wird von dem Prozessor111 ähnlich zu dem Massenspeicher113 gesteuert. In dieser ersten bevorzugten Ausführungsform umfasst die Kommunikationsverbindung130 einen internen Bus für den Dateiserver110 , wie z.B. einen I/O-Bus, einen Zwischenbus oder einen anderen Systembus. - In einer zweiten bevorzugten Ausführungsform ist das Ziel-Dateisystem
120 in einem zweiten Dateiserver140 enthalten. Der zweite Dateiserver140 umfasst, ähnlich zu dem ersten Dateiserver110 , einen Prozessor, einen Satz von Programm- und Datenspeichern und einen Massenspeicher, der in Bezug auf den ersten Dateiserver110 als das Ziel-Dateisystem120 dient. Der zweite Dateiserver140 ist vorzugsweise ein Dateiserver, wie er in den WAFL-Offenbarungen beschrieben ist. In dieser zweiten bevorzugten Ausführungsform umfasst die Kommunikationsverbindung130 eine Netzwerkverbindung zwischen dem ersten Dateiserver110 und dem zweiten Dateiserver140 , wie z.B. eine direkte Kommunikationsverbindung, ein LAN (Local Area Network), ein WAN (Wide Area Network), ein NUMA-Netzwerk oder eine andere Verbindung. - In einer dritten bevorzugten Ausführungsform umfasst die Kommunikationsverbindung
130 ein zwischengeschaltetes Speichermedium, wie z.B. ein Band, und das Ziel-Dateisystem120 kann entweder der erste Dateiserver110 selbst oder ein zweiter Dateiserver140 sein. Wählt der erste Dateiserver110 einen Satz von Speicherblöcken zur Übertragung in das Ziel-Dateisystem120 , so kann dieser Satz von Speicherblöcken übertragen werden, indem diese auf das zwischengeschaltete Speichermedium gespeichert werden, wie es nachfolgend gezeigt ist. Das Wiedererlangen dieses Satzes von Speicherblöcken von dem zwischengeschalteten Speichermedium zu einer späteren Zeit vervollständigt die Übertragung. - Es ist ein Gesichtspunkt der Erfindung, dass keine besonderen Beschränkungen hinsichtlich der Kommunikationsverbindung
130 bestehen. Zum Beispiel kann ein ersten Teil der Kommunikationsverbindung130 eine Übertragungsverbindung mit relativ hoher Geschwindigkeit umfassen, wohingegen ein zweiter Teil der Kommunikationsverbindung130 ein zwischengeschaltetes Speichermedium umfassen kann. - Es ist ein weiterer Gesichtspunkt der Erfindung, dass das Ziel-Dateisystem
120 in dem ersten Dateiserver110 , in einem zweiten Dateiserver140 oder auf eine Mehrzahl von Dateiservern aufgeteilt vorhanden sein kann. Die Übertragung von Speicherblöcken von dem ersten Dateiserver110 an das Ziel-Dateisystem120 ist deshalb vollständig allgemein und umfasst die Möglichkeit einer großen Anzahl von unterschiedlichen Dateisystem-Operationen: - – Speicherblöcke von
dem ersten Dateiserver
110 können auf einem zwischengeschalteten Speichermedium, wie z.B. einem Band oder einem zweiten Plattenlaufwerk, abgelegt werden, dort für einen Zeitabschnitt aufbewahrt werden und anschließend auf dem ersten Dateiserver110 wiederhergestellt werden. Auf diese Weise kann der erste Dateiserver110 selbst das Ziel-Dateisystem sein. - – Speicherblöcke des
ersten Dateiservers
110 können auf einen zweiten Dateiserver140 übertragen werden und in dem zweiten Dateiserver140 verwendet werden. Auf diese Weise können Speicherblöcke en masse von dem ersten Dateiserver110 auf den zweiten Dateiserver140 kopiert werden. - – Speicherblöcke von
dem ersten Dateiserver
110 können unter Verwendung einer Mehrzahl von unterschiedlichen Kommunikationsverbindungen130 verteilt werden, so dass auf einige der Speicherblöcke unmittelbar zugegriffen werden kann, wohingegen andere auf einem relativ langsamen zwischengeschalteten Speichermedium, wie z.B. einem Band, aufgezeichnet sind. - – Speicherblöcke des
ersten Dateiservers
110 können aus einem vollständigen Dateisystem ausgewählt werden, unter Verwendung der Kommunikationsverbindung130 übertragen werden und anschließend bearbeitet werden, um ein vollständiges Dateisystem an dem Ziel-Dateisystem120 zu bilden. - In hier beschriebenen alternativen Ausführungsformen kann der zweite Dateiserver
140 ein zweites Ziel-Dateisystem aufweisen. Das zweite Ziel-Dateisystem kann in dem zweiten Dateiserver140 enthalten sein oder in einem dritten Dateiserver enthalten sein, der ähnlich zu dem ersten Dateiserver110 oder dem zweiten Dateiserver140 ist. - Weiter verallgemeinert kann jeder n-te Dateiserver ein Ziel-Dateisystem aufweisen, das entweder innerhalb des n-ten Dateiservers oder innerhalb eines (n+1)-ten Dateiservers enthalten ist. Der Satz von Dateiservern kann auf diese Weise einen gerichteten Graphen bilden, vorzugsweise einen Baum, wobei der erste Dateiserver
110 die Wurzel dieses Baums ist. - Dateisystem-Speicherblöcke
- Wie in den WAFL-Offenbarungen beschrieben umfasst ein Dateisystem
114 auf dem Dateiserver110 (und im Allgemeinen auf dem n-ten Dateiserver) einen Satz von Speicherblöcken115 , von denen jeder entweder in dem Speicher112 oder in dem Massenspeicher113 gespeichert ist. Das Dateisystem114 umfasst eine- aktuelle Blockabbildung, welche aufzeichnet, welche Speicherblöcke115 Teil des Dateisystems114 sind und welche Speicherblöcke115 frei sind. - Wie in den WAFL-Offenbarungen beschrieben, ist das Dateisystem in dem Massenspeicher
113 zu allen Zeiten konsistent. Deshalb umfassen die in dem Dateisystem enthaltenen Speicherblöcke115 immer ein konsistentes Dateisystem114 . - Wie hier verwendet, bedeutet der Ausdruck „konsistent" in Bezug auf ein Dateisystem (oder auf Speicherblöcke in einem Dateisystem) ein Satz von Speicherblöcken für dieses Dateisystem, der alle für die Daten und Dateistruktur dieses Dateisystems benötigten Blöcke umfasst. Deshalb ist ein konsistentes Dateisystem selbständig und kann verwendet werden, um einen Zustand des Dateisystems zu einem Zeitpunkt zu identifizieren, der sowohl vollständig als auch eigenständig ist.
- Wie in den WAFL-Offenbarungen beschrieben, wird bei Änderungen des Dateisystems
114 in dem Massenspeicher113 die Blockabbildung geändert, um diejenigen Speicherblöcke115 zu zeigen, die ein Teil des überlassenen Dateisystems114 sind. In einer bevorzugten Ausführungsform aktualisiert der Dateiserver110 das Dateisystem oft, wie z.B. etwa einmal alle 10 Sekunden. - Speicherauszüge
-
2 zeigt ein Blockdiagramm eines Satzes von Speicherauszügen in einem System zur Übertragung von Dateisystemabbildern. - Wie hier verwendet, ist ein „Speicherauszug" ein Satz von Speicherblöcken, wobei die dazugehörigen Speicherblöcke ein konsistentes Dateisystem bilden, welche unter Verwendung einer Datenstruktur abgelegt sind, die eine effiziente Verwaltung des Satzes erlaubt. Die effiziente Verwaltung des Satzes kann eine Zeiteffizienz für Operationen des Satzes umfassen (wie z.B. logische Summe, logische Differenz, Zugehörigkeit, Zufügen eines Elements, Entfernen eines Elements). Zum Beispiel kann die Zeiteffizienz die 0(n)-Zeit oder weniger für n Speicherblöcke umfassen. Die effiziente Verwaltung des Satzes kann auch eine Speicherplatzeffizienz für die Aufzählung des Satzes umfassen (wie z.B. eine Zuordnung mit der physikalischen Position im Massenspeicher oder die Invertierung der Zugehörigkeitsfunktion). Die Speicherplatzeffizienz kann etwa 4 Byte Plattenplatz oder weniger pro 4K-Speicherblock belegen, ein Verhältnis von etwa 1000:1 besser, als die Duplizierung des Speicherplatzes.
- Wie hier beschrieben, ist die Datenstruktur für den Speicherauszug in dem Dateisystem gespeichert, so dass kein Bedürfnis besteht, das Dateisystem zu durchlaufen, um es wiederherzustellen. In einer bevorzugten Ausführungsform ist jeder Spei cherauszug als ein Objekt des Dateisystems gespeichert, wie z.B. als eine Blockabbildung. Die Blockabbildung umfasst eine Bit-Ebene mit 1 Bit für jeden Speicherblock, unterschiedlich zu Bits, die verwendet werden, um zu identifizieren, ob der Speicherblock in dem aktiven Dateisystem vorhanden ist.
- Wird das Dateisystem sicherungskopiert, wiederhergestellt oder anders kopiert oder übertragen, so wird die Blockabbildung innerhalb des Dateisystems darüber hinaus als ein Teil derselben Operation selbst ebenfalls sicherungskopiert, wiederhergestellt oder anders kopiert oder übertragen. Auf diese Weise umfassen Operationen mit dem Dateisystem inhärent die Sicherung von Speicherauszügen.
- Jeder beliebige Speicherauszug kann durch jede beliebige Kommunikationstechnik übertragen werden, umfassend
- – die Übertragung unter Verwendung der Speicherung in einem zwischengeschalteten Speichermedium (wie z.B. ein nichtflüchtiger Speicher, Band, Platte in demselben Dateisystem, Platte in einem unterschiedlichen Dateisystem oder über einige Dateisysteme verteilte Platte);
- – die Übertragung unter Verwendung von einer oder mehrerer Netzwerknachrichten,
- – die Übertragung unter Verwendung einer Kommunikation innerhalb eines einzigen Dateiservers oder eines Satzes von Dateiservern (wie z.B. für die Speicherung auf Platte in demselben Dateisystem, auf Platte in einem unterschiedlichen Dateisystem oder auf über einige Dateisysteme verteilte. Platten).
- Eine Sammlung
200 von Speicherauszügen210 umfasst eine Bitebene für jeden Speicherauszug210 . Jede Bitebene zeigt einen Satz von ausgewählten Speicherblöcken115 an. In der Figur zeigt jede Spalte eine Bitebene an (d.h. einen Speicherauszug210 ) und jede Zeile zeigt einen Speicherblock115 an (d.h., die Historie des Einschlusses oder Ausschlusses dieses Speicherblocks115 in aufeinander folgenden Speicherauszügen210 ). An dem Schnittpunkt jeder Spalte mit jeder Zeile besteht ein Bit211 , das anzeigt, ob der bestimmte Speicherblock115 in dem bestimmten Speicherauszug210 enthalten ist. - Jeder Speicherauszug
210 umfasst eine Sammlung ausgewählter Speicherblöcke115 des Dateisystems114 , das das gesamte oder ein Teil des (konsistenten) Dateisystems114 zu einem bestimmten Zeitpunkt bildet. Ein Speicherauszug210 kann auf Grundlage der Blockzuordnung zu jeder Zeit erzeugt werden, indem die Bits von der Blockzuordnung, die anzeigt, welche Speicherblöcke115 Teil des Dateisystems114 sind, in die korrespondierenden Bites211 für den Speicherauszug210 kopiert werden. - Die Unterschiede zwischen den Speicherauszügen
210 und dem (aktiven) Dateisystem114 umfassen die folgenden: - – Das Dateisystem
114 ist ein konsistentes Dateisystem114 , das verwendet und vielleicht modifiziert wird, wohingegen die Speicherauszüge210 Kopien des Dateisystems114 darstellen, die nur gelesen werden können. - – Das
Dateisystem
114 wird oft aktualisiert, wohingegen die Speicherauszüge210 Kopien des Dateisystems114 darstellen, die in einer relativ entfernten Vergangenheit erstellt wurden. - – Es
besteht nur ein aktives Dateisystem
114 , wohingegen viele Speicherauszüge210 existieren können (und typischerweise existieren). - Zu ausgewählten Zeitpunkten erzeugt der Dateiserver
110 eine neue Bitebene auf Grundlage der Blockabbildung, um einen neuen Speicherauszug210 zu erzeugen. Wie hier beschrieben, werden Speicherauszüge210 verwendet, um das Dateisystem114 zu sichern und zu spiegeln, so dass in bevorzugten Ausführungsformen in periodischen Zeitabschnitten neue Speicherauszüge210 erzeugt werden, wie z.B. einmal pro Stunde, Tag, Woche, Monat, oder wie ansonsten durch einen Bediener des Dateiservers110 angeordnet. - Speicherabbilder und Abbildströme
- Wie hier verwendet, umfasst ein „Speicherabbild" einen Indikator für einen Satz von Speicherblöcken, die abhängig von einem oder mehreren Speicherauszügen ausgewählt wurden. Die Technik zur Auswahl kann logische Operationen an Sätzen (wie z.B. Paaren) von Speicherauszügen umfassen. In einer bevorzugten Ausführungsform können diese logischen Operationen die logische Summe und die logische Differenz umfassen.
- Wie hier verwendet, umfasst ein „Abbildstrom" eine Sequenz von Speicherblöcken eines Speicherabbilds. Ein Satz zugehöriger Blockpositionen für diese Speicherblöcke von dem Speicherabbild kann entweder explizit oder implizit in dem Abbildstrom angegeben sein. Als ein erstes Beispiel kann der Satz zugehöriger Blockpositionen explizit angegeben sein, indem Inhalts-Blocknummern innerhalb des Abbildstroms enthalten sind. Als zweites Beispiel kann der Satz zugehöriger Blockpositionen implizit durch die Ordnung angegeben sein, in der die Speicherblöcke von dem Speicherabbild innerhalb des Abbildstroms angeordnet sind oder von diesem übertragen werden.
- Die Abfolge von Speicherblöcken innerhalb des Abbildstroms kann für eine Dateisystemoperation optimiert werden. Zum Beispiel kann die Abfolge von Speicherblöcken innerhalb des Ab bildstroms für die Operation einer Sicherungskopie oder einer Wiederherstellung des Dateisystems optimiert werden.
- In einer bevorzugten Ausführungsform ist die Abfolge von Speicherblöcken so optimiert, dass das Kopieren eines Abbildstroms und die Übertragung dieses Abbildstroms von einem Dateiserver zu einem anderen optimiert sind. Insbesondere ist die Abfolge von Speicherblöcken so ausgewählt, dass in dem Abbildstrom vorhandene Speicherblöcke so viel wie möglich von einer Mehrzahl von Platten in einem RAID-Dateispeichersystem parallel kopiert werden können, um die Übertragungsbandbreite von dem ersten Dateiserver zu maximieren.
- Ein Speicherabbild
220 umfasst einen Satz von Speicherblöcken115 , der von dem Dateisystem114 in das Ziel-Dateisystem120 kopiert werden soll. - Die Speicherblöcke
115 in dem Speicherabbild220 sind so ausgewählt, dass sie bei der Kopie kombiniert werden können, um ein neues konsistentes Dateisystem114 in dem Ziel-Dateisystem120 zu bilden. In verschiedenen bevorzugten Ausführungsformen kann das kopierte Speicherabbild220 mit Speicherblöcken115 aus anderen Speicherabbildern220 kombiniert werden (welche zuvor übertragen wurden). - Wie hier gezeigt, erzeugt der Dateiserver
110 jedes Speicherabbild220 abhängig von einem oder mehreren Speicherauszügen210 . - Ein Abbildstrom
230 umfasst eine Abfolge von Speicherblöcken115 von einem Speicherabbild220 . Wenn das Speicherabbild220 aus dem Dateisystem114 kopiert wird, werden die Speicherblöcke115 in den Abbildstrom230 eingeordnet und mit Blockpositionsinformation markiert. Wird der Abbildstrom230 in dem Ziel-Dateisystem120 empfangen, so werden die Speicherblöcke115 in dem Abbildstrom230 abhängig von der Blockpositionsinformation in das Ziel-Dateisystem120 kopiert. - Abbildaddition und -subtraktion
- Das System
100 manipuliert die Bits211 in einem ausgewählten Satz von Speicherabbildern220 , um Sätze von Speicherblöcken115 auszuwählen und so ein neues Speicherabbild220 zu bilden. - Zum Beispiel sind die folgenden unterschiedlichen Arten der Manipulation möglich:
- – Das
System
100 kann eine logische Summe von zwei Speicherabbildern220 A + B bilden, indem ein Satz von Bits211 gebildet wird, von denen jedes die logische Veroderung (A v B) der korrespondierenden Bits211 in den beiden Speicherabbildern220 ist. Die logische Summe von 2 Speicherabbildern220 A + B ist die Vereinigung dieser beiden Speicherabbilder220 . - – Das
System
100 kann eine logische Differenz von zwei Speicherabbildern220 A – B bilden, indem ein Satz von Bits211 gebildet wird, von denen jedes nur dann logisch „1" ist, wenn in den beiden Speicherabbildern220 das korrespondierende Bit211 A logisch „1" ist und das korrespondierende Bit211 B logisch „0" ist. - Die logische Summe von zwei Speicherabbildern
220 A + B umfasst ein Speicherabbild220 , das Speicherblöcke115 umfasst, die in einem beliebigen der beiden ursprünglichen Speicherabbilder220 enthalten sind. Durch die Verwendung der logischen Summe kann das System100 nicht nur einen einzigen vorherigen Zustand des Dateisystems114 bestimmen, sondern auch eine Historie der vorherigen Zustände des Dateisystems114 , die als Speicherauszüge210 aufgezeichnet wurden. - Die logische Differenz von zwei ausgewählten Speicherabbildern
220 A – B umfasst nur diejenigen Speicherblöcke, die in dem Speicherabbild220 A umfasst sind und nicht in dem Speicherabbild220 B umfasst sind. (Um die Integrität von inkrementalen Speicherabbildern zu sichern, ist das subtrahierte Speicherabbild220 B immer ein Speicherauszug210 .) Eine logische Differenz kann verwendet werden, um ein Speicherabbild220 zu bestimmen, das einen Satz von Speicherblöcken aufweist, die ein inkrementales Abbild bilden, welches in Kombination mit vollständigen Abbildern verwendet werden kann. - In alternativen Ausführungsformen können auch andere und weitere Arten der Manipulation sinnvoll sein. Zum Beispiel kann es sinnvoll sein, eine logische Schnittmenge von Speicherauszügen
210 zu bestimmen, um zu bestimmen, welche Speicherblöcke115 zwischen diesen Speicherauszügen210 nicht verändert wurden. - In weiteren alternativen Ausführungsformen kann das System
100 auch die Bits211 jedes Speicherauszugs210 für andere Zwecke verwenden, wie z.B., um andere Operationen mit den Speicherblöcken115 auszuführen, die durch diese Bits211 dargestellt werden. - Inkrementale Speicherabbilder
- Wie hier verwendet, ist ein „inkrementales Speicherabbild" eine logische Differenz zwischen einem ersten Speicherabbild und einem zweiten Speicherabbild.
- Wie hier verwendet, wird bei der logischem Differenz A – B das Speicherabbild
220 A als das „oberste" Speicherabbild220 bezeichnet und das Speicherabbild220 B wird als das „grundlegende" Speicherabbild220 bezeichnet. - Wenn das grundlegende Speicherabbild
220 B einen vollen Satz F von Speicherblöcken115 in einem konsistenten Dateisystem114 umfasst, so umfasst die logische Differenz A – B diejenigen inkrementalen Änderungen des Dateisystems114 , die zwischen dem grundlegenden Speicherabbild220 B und dem obersten Speicherabbild220 A liegen. - Jedes inkrementale Speicherabbild
220 weist ein oberstes Speicherabbild220 und ein grundlegendes Speicherabbild220 auf. Inkrementale Speicherabbilder220 können miteinander verlinkt werden, wenn eine Sequenz von Speicherabbildern220 Ci besteht, bei der ein grundlegendes Speicherabbild220 für jedes Ci ein oberstes Speicherabbild220 für ein nächstes Ci+1 ist. - Beispiele von inkrementalen Abbildern
- Für ein erstes Beispiel kann das System
100 jeden Tag einen Speicherauszug210 machen und abhängig von der logischen Summe von täglichen Speicherauszügen210 ein Ebene0-Speicherabbild220 bilden. - Juni3.Ebene0 = Juni3 + Juni2 + Juni1
- (Juni3, Juni2 und Juni1 sind an diesen jeweiligen Daten genommene Speicherauszüge
220 ). - Das Juni3.Ebene0-Speicherabbild
220 umfasst alle Speicherblöcke115 der täglichen Speicherauszüge210 Juni3, Juni2 und Juni1. Demzufolge umfasst das Juni3.Ebene0-Speicherabbild220 alle Speicherblöcke115 in einem konsistenten Dateisystem114 (wie auch möglicherweise andere Speicherblöcke115 , die für das konsistente Dateisystem114 , das zur Zeit des Juni3-Speicherauszugs210 aktiv war, nicht benötigt werden). - In dem ersten Beispiel kann das System
100 abhängig von der logischen Summe von täglichen Speicherauszügen210 und der logischen Differenz mit einem einzigen Speicherauszug210 ein (inkrementales) Ebene1-Speicherabbild220 bilden. - Juni5.Ebene1 = Juni5 + Juni4 – Juni3
- (Juni5, Juni4 und Juni3 sind an diesen jeweiligen Daten genommene Speicherauszüge
220 .) - Es ist nicht erforderlich, die Juni2 und Juin1-Speicherauszüge
210 zu subtrahieren, wenn das Juni5.Ebene1-Speicherabbild220 gebildet wird. Alle Speicherblöcke115 , die der Juni5-Speicherauszug210 und der Juni4-Speicherauszug210 gemeinsam mit entweder dem Juni2-Speicherauszug210 oder dem Juni1-Speicherauszug210 haben, haben sie notwendigerweise auch gemeinsam mit dem Juni3-Speicherauszug210 . Dies ist der Fall, da ein beliebiger Speicherblock115 , der Teil des Dateisystems114 während Juni2 oder Juni1 war und immer noch Teil des Dateisystems114 während Juni5 oder Juni4 ist, auch Teil des Dateisystems114 während Juni3 gewesen sein muss. - In dem ersten Beispiel kann das System
100 abhängig von der logischen Summe von täglichen Speicherauszügen210 und der Differenz mit einem einzigen Speicherauszug210 zur Zeit des grundlegenden Speicherabbilds220 der Ebene1 ein (inkrementales) Ebene2 Speicherabbild220 bilden. - Juni7.Ebene2 = Juni7 + Juni6 – Juni5
- (Juni7, Juni6 und Juni5 sind an diesen jeweiligen Daten genommene Speicherauszüge
210 .) - In dem ersten Beispiel umfassen die Speicherabbilder
220 Juni3.Ebene0, Juni5.Ebene1 und Juni7.Ebene2 zusammen alle Spei cherblöcke115 , die benötigt werden, um einen vollen Satz F von Speicherblöcken115 in einem konsistenten Dateisystem114 aufzubauen. - Für ein zweites Beispiel kann das System
100 abhängig von der logischen Summe von täglichen Speicherauszügen210 und der logischen Differenz mit einem einzigen Speicherauszug210 zu der Zeit des Ebene0-Speicherabbilds220 ein unterschiedliches (inkrementales) Ebene1-Speicherabbild220 bilden. - Juni9.Ebene1 = Juni9 + Juni8 – Juni3
- (Juni9, Juni8 und Juni3 sind an diesen jeweiligen Daten genommene Speicherauszüge
210 .) - Ähnlich zu dem ersten Beispiel umfassen die Speicherabbilder
220 Juni3.Ebene0 und Juni9.Ebene1 zusammen alle Speicherblöcke115 , die benötigt werden, um einen vollen Satz F von Speicherblöcken115 in einem konsistenten Dateisystem114 aufzubauen. Es besteht kein bestimmtes Bedürfnis, dass das Juni9.Ebene1 Speicherabbild220 in beliebiger Art im Zusammenhang mit dem Juni7.Ebene2 Speicherabbild220 steht oder im Zusammenhang mit diesem benutzt wird. - Dateisystem-Abbildübertragungstechniken
- Um eine dieser Kopieroperationen auszuführen, umfasst der Dateiserver
110 ein Betriebssystem oder Anwendungssoftware zur Steuerung des Prozessors111 und Datenverbindungen zum Übertragen von Daten von dem Massenspeicher113 zu der Kommunikationsverbindung130 zu dem Ziel-Dateisystem120 . Die ausgewählten Speicherblöcke115 in dem Abbildstrom230 werden jedoch ohne logische Dateisystemverarbeitung von dem Dateisystem114 auf dem ersten Dateiserver110 von dem Dateisystem114 in das korrespondierende Ziel-Dateisystem120 kopiert. - In einer bevorzugten Ausführungsform ist das System
100 angeordnet, um eine von wenigstens vier solchen Kopieroperationen auszuführen: - – Kopieren
des Inhalts. Das System
100 kann angeordnet sein, um einen Abbildstrom230 zum Kopieren des Dateisystems114 in das Ziel-Dateisystem120 zu erzeugen. - Der Abbildstrom
230 umfasst eine Sequenz von Speicherblöcken115 von einem Speicherabbild220 . Wie in beinahe allen der hier beschriebenen Abbildübertragungstechniken kann das Speicherabbild220 ein volles Abbild oder ein inkrementales Abbild sein:
Volles Abbild: Die Speicherblöcke115 und das Speicherabbild220 stellen ein komplettes und konsistentes Dateisystem114 dar.
Inkrementales Abbild: Die Speicherblöcke115 und das Speicherabbild220 stellen einen inkrementalen Satz von Änderungen zu einem konsistenten Dateisystem114 dar, welche bei Kombination mit diesem Dateisystem114 ein neues konsistentes Dateisystem114 bilden. - Der Abbildstrom
230 kann unter Verwendung einer beliebigen Übertragungstechnik von dem Dateiserver110 zu dem Ziel-Dateisystem120 kopiert werden. Hierin enthalten ist eine direkte Kommunikationsverbindung, ein LAN (Local Area Network), ein WAN (Wide Area Network), die Übertragung mittels eines Bandes oder eine Kombination davon. Wird der Abbildstrom230 unter Verwendung eines Netzwerks übertragen, so werden die Speicherblöcke115 unter Verwendung eines Netzwerk-Kommunikationsprotokolls, das dem Dateiserver110 und dem Ziel-Dateisystem120 bekannt ist, in Nachrichten gekapselt. In einigen Netzwerk-Kommunikationsprotokollen können zwischen den Dateiserver110 und dem Ziel-Dateisystem120 zusätzliche Nachrichten auftreten, um den Empfang einer kompletten und richtigen Kopie des Abbildstroms230 zu sichern. - Das Ziel-Dateisystem
120 empfängt den Abbildstrom230 und identifiziert die Speicherblöcke115 aus dem Massenspeicher113 , die in dem Ziel-Dateisystem120 aufgezeichnet werden sollen. - Stellen die Speicherblöcke
115 ein komplettes und konsistentes Dateisystem114 dar, so zeichnet das Ziel-Dateisystem120 dieses Dateisystem114 ohne logische Änderungen auf. Das Ziel-Dateisystem120 kann dieses Dateisystem114 für Nurlesezugriffe durch lokale Prozesse zur Verfügung stellen. In alternativen Ausführungsformen kann das Ziel-Dateisystem120 dieses Dateisystem114 zum Zugriff durch lokale Prozesse zur Verfügung stellen, ohne dem Dateiserver110 , der die Quelle des Dateisystems114 war, Änderungen durch diese lokalen Prozesse zur Verfügung zu stellen. - Stellen die Speicherblöcke
115 einen inkrementalen Satz von Änderungen zu einem konsistenten Dateisystem114 dar, so kombiniert das Ziel-Dateisystem120 diese Änderungen mit dem Dateisystem114 , um ein neues konstantes Dateisystem114 zu bilden. Das Ziel-Dateisystem120 kann dieses neue Dateisystem114 für Nurlesezugriffe durch lokale Prozesse zur Verfügung stellen. - In Ausführungsformen, in denen das Ziel-Dateisystem
120 das übertragene Dateisystem114 für einen Zugriff durch lokale Prozesse zur Verfügung stellt, können Änderungen an dem Dateisystem114 in dem Ziel-Dateisystem120 geleert werden, wenn ein nachfolgender inkrementaler Satz von Änderungen an dem Ziel-Dateisystem120 empfangen wird. - Alle Aspekte des Dateisystems
114 sind in dem Abbildstrom230 enthalten, einschließlich der Dateidaten, der Hierarchie der Dateistruktur und der Dateiattribute. Die Dateiattribute umfassen vorzugsweise NFS-Attribute, CIFS-Attribute und diejenigen Speicherauszüge210 , die schon in dem Dateisystem114 erhalten werden. - Kopieren einer Platte. In einer ersten bevorzugten Ausführungsform des Kopierens des Inhalts (hier als „Kopieren einer Platte" bezeichnet) kann das Ziel-Dateisystem
120 ein Plattenlaufwerk oder eine andere ähnlich zugreifbare Speichervorrichtung umfassen. Das System100 kann die Speicherblöcke115 von dem Massenspeicher113 zu der zugreifbaren Speichervorrichtung kopieren, wodurch eine Kopie des Dateisystems114 erzeugt wird, die zur aktuellen Zeit betrachtet werden kann. - Bei dem Ausführen des Kopierens einer Platte erzeugt das System
100 einen Abbildstrom230 und kopiert die ausgewählten Speicherblöcke115 von dem Massenspeicher113 in dem Dateiserver110 an korrespondierende Positionen des Ziel-Dateisystems120 . Da der Massenspeicher113 in dem Dateiserver110 und das Ziel-Dateisystem120 beide Plattenlaufwerke sind, sollte das Kopieren an korrespondierende Positionen einfach und effektiv sein. - Es ist möglich, dass Positionen von Speicherblöcken
115 in dem Massenspeicher113 in dem Dateiserver110 und dem Ziel-Dateisystem120 nicht schon zusammenfallen, wie z.B., wenn der Massenspeicher113 und das Ziel-Dateisystem120 unterschiedliche Größen oder eine unterschiedliche Formatierung aufweisen. In diesen Fällen kann das Ziel-Dateisystem120 die Speicherblöcke115 in dem Abbildstrom230 ähnlich umordnen, wie die hier beschriebene „Bandsicherungs"-Ausführungsform. - Bandsicherung. In einer zweiten bevorzugten Ausführungsform des Kopierens des Inhalts (nachfolgend als „Bandsicherung" bezeichnet), kann das Ziel-Dateisystem
120 eine Bandvorrichtung oder eine andere ähnliche Speichervorrichtung zur Langzeitspeicherung umfassen. Das System100 kann Speicherblöcke115 von dem Massenspeicher113 zu der Langzeit-Speichervorrichtung kopieren, wodurch eine Sicherungskopie des Dateisystems114 erzeugt wird, die zu einer späteren Zeit wiederhergestellt werden kann. - Bei dem Ausführen einer Bandsicherung erzeugt das System
100 einen Abbildstrom230 und kopiert die ausgewählten Speicherblöcke115 von dem Massenspeicher113 in dem Dateiserver110 in eine Sequenz neuer Positionen in dem Ziel-Dateisystem120 . Da das Ziel-Dateisystem120 ein oder mehrere Bandlaufwerke umfasst, erzeugt und überträgt das System100 eine Tabelle, die anzeigt, welche Positionen in dem Massenspeicher113 zu welchen Positionen in dem Ziel-Dateisystem120 korrespondieren. - Ähnlich zur Übertragung eines Abbildstroms
230 unter Verwendung eines Netzwerk-Kommunikationsprotokolls kann das Ziel-Dateisystem120 zusätzliche Information zu dem Abbildstrom230 zur Aufzeichnung auf Band hinzufügen. Diese zusätzliche Information kann Band-Kopfteile und Bandlücken, das Zusammenfassen oder Clustern von Speicherblöcken115 zur Aufzeichnung auf Band und das Umformatieren von Speicherblöcken115 zur Aufzeichnung auf Band umfassen. - Dateisicherung. In einer dritten bevorzugten Ausführungsform des Kopierens von Inhalt (nachfolgend als „Dateisicherung" bezeichnet) kann der Abbildstrom
230 in eine neue Datei innerhalb eines Dateisystems114 entweder in dem Dateiserver110 oder in einem Dateisystem114 auf dem Ziel-Dateisystem120 kopiert werden. - Ähnlich zu der Bandsicherung kann das Ziel-Dateisystem
120 zusätzliche Informationen zu dem Abbildstrom230 zum Aufzeichnen in einer Datei hinzufügen. Diese zusätzliche Information kann Datei-Metadaten umfassen, die für das Dateisystem114 nützlich sind, um Speicherblöcke115 innerhalb der Datei zu lokalisieren. - – Spiegeln des Inhalts. Das
System
100 kann angeordnet sein, um Abbildströme230 zum Kopieren des Dateisystems114 in das an einen zweiten Dateiserver110 gekoppelte Ziel-Dateisystem120 häufig zu übertragen, wodurch eine Spiegelkopie des Dateisystems114 erreicht wird. - In einer bevorzugten Ausführungsform kann die Spiegelkopie des Dateisystems
114 zur Übernahme von einem zweiten Dateiserver110 von dem ersten Dateiserver110 verwendet werden, wie z.B. wenn der erste Dateiserver110 ausfällt. - Bei der Ausführung des Spiegelns von Inhalt überträgt das System
100 zunächst einen Abbildstrom230 , der ein vollständiges Dateisystem114 darstellt, von dem Dateiserver110 zu dem Ziel-Dateisystem120 . Das System100 überträgt dann periodisch Abbildströme230 , die inkrementale Änderungen zu diesem Dateisystem114 darstellen, von dem Dateiserver110 zu dem Ziel-Dateisystem120 . Das Ziel-Dateisystem120 kann eine aktuellste Form des konsistenten Dateisystems114 aus dem ursprünglichen vollen Abbildstrom230 und der Sequenz von inkrementalen Abbildströmen230 rekonstruieren. - Es ist möglich, das Spiegeln von Inhalt unter Verwendung des Kopierens von Inhalt von einem vollen Speicherabbild
230 und einer Sequenz von inkrementalen Speicherabbildern230 auszuführen. Jedoch kann das Bestimmen der Speicherblöcke115 , die in einem inkrementalen Speicherabbild230 enthalten sein sollen, für ein relativ großes Dateisystem114 eine beträchtliche Zeit in Anspruch nehmen, wenn dieses durch eine logische Subtraktion ausgeführt wird. - Wie hier verwendet ist ein „Markierung-bei-Zuweisung-Speicherabbild" ein Teilsatz eines Speicherauszugs, wobei die zugehörigen Speicherblöcke diejenigen sind, die zu einem Speicherauszug hinzugefügt wurden, der ursprünglich ein konsistentes Dateisystem gebildet hat.
- In einer bevorzugten Ausführungsform führt der Dateiserver
110 anstelle der Verwendung einer logischen Subtraktion, wie zuvor beschrieben, zu der Zeit, zu der die inkrementalen Speicherabbilder230 demnächst übertragen werden, ein separates „Markierung-bei-Zuweisung"-Speicherabbild230 . Das Markierung-bei-Zuweisung-Speicherabbild230 wird durch das Setzen eines Bits für jeden Speicherblock115 , wenn dieser zu dem konsistenten Dateisystem114 hinzugefügt wird, aufgebaut. Das Markierungbei-Zuweisung-Speicherabbild230 muss nicht in dem Massenspeicher113 gespeichert werden, in der Blockabbildung enthalten sein oder anders gesichert werden; es kann aus anderen Speicherabbildern230 , die schon in dem Dateiserver110 bestehen, rekonstruiert werden. - Wird ein inkrementales Speicherabbild
230 übertragen, so wird ein erstes Markierung-bei-Zuweisung-Speicherabbild230 verwendet, um zu bestimmen, welche Speicherblöcke115 in dem Speicherabbild230 zur Übertragung enthalten sein sollen. Ein zweites Markierung-bei-Zuweisung-Speicherabbild230 wird verwendet, um Änderungen an dem Dateisystem114 aufzuzeichnen, während die Übertragung ausgeführt wird. Nachdem die Übertragung ausgeführt ist, tauschen das erste und das zweite Markierung-bei-Zuweisung-Speicherabbild230 ihre Rollen. - Volle Spiegelung. In einer ersten bevorzugten Ausführungsform des Spiegelns von Inhalt (nachfolgend als „volle Spiegelung" bezeichnet) umfasst das Ziel-Dateisystem
120 ein Plattenlaufwerk oder eine andere ähnlich zugreifbare Speichervorrichtung. - Bei der initialen Übertragung des vollen Speicherabbilds
230 von dem Dateiserver110 erzeugt das Ziel-Dateisystem eine Kopie des konsistenten Dateisystems114 . Bei der sequentiellen Übertragung von jedem inkrementalen Speicherabbild230 von dem Dateiserver110 aktualisiert das Ziel-Dateisystem120 seine Kopie des konsistenten Dateisystems114 . Das Ziel-Dateisystem120 erhält auf diese Weise seine Kopie des Dateisystems114 nahezu aktuell und kann jederzeit beobachtet werden. - Bei dem Ausführen einer vollen Spiegelung erzeugt das System
100 ähnlich zu dem Kopieren einer Platte einen Abbildstrom230 und kopiert die ausgewählten Speicherblöcke115 von dem Massenspeicher113 in dem Dateiserver110 an korrespondierende Positionen in dem Ziel-Dateisystem120 . - Inkrementale Spiegelung. In einer zweiten bevorzugten Ausführungsform des Spiegelns von Inhalt (nachfolgend als „inkrementale Spiegelung" bezeichnet) kann das Ziel-Dateisystem
120 sowohl (1) eine Bandvorrichtung oder eine andere relativ langsame Speichervorrichtung als auch (2) ein Plattenlaufwerk oder eine andere relativ schnelle Speichervorrichtung umfassen. - Wie hier gebraucht, ist ein „inkrementaler Spiegel" eines ersten Dateisystems ein grundlegendes Speicherabbild von dem ersten Dateisystem und wenigstens ein inkrementales Speicherabbild von dem ersten Dateisystem auf zwei Speichermedien von wesentlich unterschiedlicher Art. Auf diese Weise kann eine vollständige Kopie des ersten Dateisystems aus den beiden oder mehreren Objekten rekonstruiert werden.
- Bei der initialen Übertragung des vollen Speicherabbilds
230 von dem Dateiserver110 kopiert das Ziel-Dateisystem120 einen kompletten Satz von Speicherblöcken115 von dem Massenspeicher113 auf die relativ langsame Speichervorrichtung. Bei der sequentiellen Übertragung von jedem inkrementalen Speicherabbild230 von dem Dateiserver110 kopiert das Ziel-Dateisystem120 inkrementale Sätze von Speicherblöcken115 von dem Massenspeicher113 auf die relativ schnelle Speichervorrichtung. Auf diese Weise stellen der volle Satz von Speicherblöcken115 zusammen mit dem inkrementalen Satz von Speicherblöcken115 kollektiv ein aktuelles Dateisystem114 dar, wobei kein vollständig dupliziertes Plattenlaufwerk benötigt wird. - Bei dem Ausführen des inkrementalen Spiegelns für das grundlegende Speicherabbild
230 erzeugt das System100 einen Abbildstrom230 und kopiert die ausgewählten Speicherblöcke115 von dem Massenspeicher113 in dem Dateiserver110 in einen Satz neuer Positionen auf der relativ langsamen Speichervorrichtung. Das System100 schreibt den Abbildstrom230 einschließlich von Speicherblock-Positionsinformation in das Ziel-Dateisystem120 . In einer bevorzugten Ausführungsform verwendet das System100 ein Band als ein Zwischenziel-Speichermedium, so dass das grundlegende Speicherabbild230 für einen wesentlichen Zeitabschnitt gespeichert werden kann, ohne dass Plattenplatz belegt werden muss. - Für jedes inkrementale Speicherabbild
230 erzeugt das System100 einen neuen Abbildstrom230 und kopiert die ausgewählten Speicherblöcke115 aus dem Massenspeicher113 in dem Dateiserver110 in einen Satz neuer Positionen auf der zugreifbaren Speichervorrichtung. Inkrementale Speicherabbilder230 werden kontinuierlich und automatisch zu periodischen Zeitpunkten erzeugt, die relativ nahe beieinander liegen. - Die inkrementalen Speicherabbilder
230 werden von dem Ziel-Dateisystem120 empfangen, welches diese auspackt und die kopierten Speicherblöcke115 in einer Inkrementalspiegel- Datenstruktur aufzeichnet. Da jedes neue inkrementale Speicherabbild230 kopiert wird, überschreiben die kopierten Speicherblöcke115 die äquivalenten Speicherblöcke115 von früheren inkrementalen Speicherabbildern230 . In einer bevorzugten Ausführungsform umfasst die Inkrementalspiegel-Datenstruktur eine zerstreute Dateistruktur, die nur diejenigen Speicherblöcke115 umfasst, die sich von dem grundlegenden Speicherabbild230 unterscheiden. - In einer bevorzugten Ausführungsform werden die inkrementalen Speicherabbilder
230 mit einer Datenstruktur in das Ziel-Dateisystem120 kopiert, die einen Satz von Speicherblöcken115 anzeigt, welche von dem Dateisystem auf dem Dateiserver110 freigegeben (d.h. entfernt) wurden. Auf diese Weise sind die Abbilder Markierung-bei-Freigabe-Abbilder der Speicherblöcke. Abhängig von dieser Datenstruktur entfernt das Ziel-Dateisystem120 diejenigen angezeigten Speicherblöcke115 aus seiner Inkrementalspiegel-Datenstruktur. Dies erlaubt es dem Ziel-Dateisystem120 , die Inkrementalspiegel-Datenstruktur in einer Größe zu erhalten, die nicht größer als ungefähr die tatsächlichen Unterschiede zwischen einem aktuellen Dateisystem in dem Dateiserver110 und in dem grundlegenden Speicherabbild230 von dem Dateiserver110 sind. - Konsistenzpunkte. Bei dem Ausführen von entweder dem vollen Spiegeln oder dem inkrementalen Spiegeln kann es passieren, dass die Übertragung eines Speicherabbilds
230 länger benötigt, als die von dem Dateiserver110 benötigte Zeit, um sein konsistentes Dateisystem114 von einem ersten Konsistenzpunkt zu einem zweiten Konsistenzpunkt zu aktualisieren. Konsistenzpunkte sind detaillierter in den WAFL-Offenbarungen beschrieben. - In einer bevorzugten Ausführungsform setzt der Dateiserver
110 nicht für jeden Konsistenzpunkt an, ein Speicherabbild230 zu erzeugen und Speicherblöcke115 zu übertragen. Anstelle dessen bestimmt der Dateiserver110 nach der Übertragung eines Speicherabbildes230 den aktuellsten Konsistenzpunkt (oder er bestimmt alternativ den nächsten Konsistenzpunkt) als den effektiven nächsten Konsistenzpunkt. Der Dateiserver110 verwendet den effektiven nächsten Konsistenzpunkt, um ein inkrementales Speicherabbild230 für eine nächste Übertragung zu bestimmen. - – Nachbildung von Inhalt. Das
Ziel-Dateisystem
120 kann ein Plattenlaufwerk oder eine andere zugreifbare Speichervorrichtung umfassen. Das System100 kann bei einem Signal von dem Ziel-Dateisystem120 Speicherblöcke von dem Massenspeicher113 zu der zugreifbaren Speichervorrichtung kopieren, um nachgebildete Kopien des Dateisystems114 für eine aktualisierte (Nur-Lese) Verwendung durch andere Dateiserver110 bereitzustellen. - Der Dateiserver
110 erhält einen Satz ausgewählter Master-Speicherauszüge210 . Ein Master-Speicherauszug210 ist ein Speicherauszug210 , dessen Existenz in dem Ziel-Dateisystem120 bekannt sein kann, so dass das Ziel-Dateisystem120 in Bezug auf das in den Dateiserver110 geführte Dateisystem114 aktualisiert werden kann. In einer bevorzugten Ausführungsform wird jeder Master-Speicherauszug210 von einem Bedienerbefehl in dem Dateiserver110 bestimmt und für eine relativ lange Zeit beibehalten, wie z.B. einige Monate oder ein Jahr. - In einer bevorzugten Ausführungsform wird jeder Master-Speicherauszug
210 zumindest solange beibehalten, bis alle bekannten Ziel-Dateisysteme120 über den Master-Speicherauszug210 hinaus aktualisiert sind. Ein Master-Speicherauszug210 kann als ein Spiegel-Speicherauszug210 benannt sein, aber in solchen Fällen werden Ziel-Dateisysteme120 während des Aktualisierens des Master-Spiegel-Speicherabbilds210 offline geschaltet. Das heißt, Ziel-Dateisysteme120 warten auf die Ver vollständigung der Aktualisierung dieses Master-Spiegel-Speicherabbilds210 , bevor ihnen erlaubt wird, eine Aktualisierung von diesem Master-Spiegel-Speicherabbild210 zu erfragen. - Das Ziel-Dateisystem
120 erzeugt eine Nachricht (wie z.B. bei dem Befehl eines Bedieners oder als Antwort auf eine Initialisierung oder einen Selbsttest), die es an den Dateiserver110 überträgt, worin nach einer Aktualisierung des Dateisystems114 gefragt wird. Die Nachricht umfasst einen neuesten Master-Speicherauszug210 , mit dem sich das Ziel-Dateisystem120 zuletzt synchronisiert hat. Die Nachricht kann ebenfalls anzeigen, dass kein solcher neuester Master-Speicherauszug210 existiert. - Der Dateiserver
110 bestimmt jegliche inkrementale Änderungen, die in dem Dateisystem114 nach dem neuesten Master-Speicherauszug210 in dem Ziel-Dateisystem120 bis zu dem neuesten Master-Speicherauszug210 an dem Dateiserver110 erfolgt sind. In Abhängigkeit von dieser Bestimmung bestimmt der Dateiserver110 ein Speicherabbild230 , das Speicherblöcke115 zur Übertragung in das Ziel-Dateisystem120 umfasst, um die Kopie des Dateisystems114 in dem Ziel-Dateisystem120 zu aktualisieren. - Existiert kein solcher neuester Master-Speicherauszug
210 , so führt das System100 das Kopieren des Inhalts für eine vollständige Kopie des Dateisystems114 durch, das durch den neuesten Master-Speicherauszug210 an dem Dateiserver110 dargestellt ist. Ähnlich führt das System100 das Kopieren des Inhalts für eine vollständige Kopie des Dateisystems114 durch, wenn der älteste Master-Speicherauszug210 in dem Dateiserver110 neuer ist, als der neueste Master-Speicherauszug210 in dem Ziel-Dateisystem120 . - Nach der Nachbildung des Inhalts aktualisiert das Ziel-Dateisystem
120 seinen aktuellsten Master-Speicherauszug210 auf den aktuellsten Master-Speicherauszug210 von dem Dateiserver110 . - Eine Nachbildung des Inhalts ist sehr geeignet, um Upgrades auf eine öffentlich zugängliche Datenbank, ein öffentlich zugängliches Dokument oder eine öffentlich zugängliche Website hochzuladen. Die Ziel-Dateisysteme
120 , wie z.B. Spiegelsites, können dann die hochgeladenen Upgrades periodisch erhalten, wenn sie initialisiert werden, oder nach einem Bedienerbefehl in dem Ziel-Dateisystem120 . Wenn die Ziel-Dateisysteme120 für einen wesentlichen Zeitabschnitt nicht mit dem Dateiserver110 kommunizieren, kann das Ziel-Dateisystem120 bei dem erneuten Eröffnen der Kommunikation eine Nachbildung des Inhalts mit dem Dateiserver110 ausführen, um eine im Wesentlichen aktuelle Kopie des Dateisystems114 zu erhalten. - In einer ersten bevorzugten Ausführungsform der Nachbildung des Inhalts (hier als „einfache Nachbildung" bezeichnet) kommuniziert das Ziel-Dateisystem
120 direkt (unter Verwendung einer direkten Kommunikationsverbindung, eines LANs, eines WANs oder einer Kombination davon) mit dem Dateiserver110 . - In einer zweiten bevorzugten Ausführungsform der Nachbildung von Inhalt (nachfolgend als „vielfältige Nachbildung" bezeichnet) kommuniziert ein erstes Ziel-Dateisystem direkt (unter Verwendung einer direkten Kommunikationsverbindung, eines LANs, eines WANs oder einer Kombination davon) mit einem zweiten Ziel-Dateisystem. Das zweite Ziel-Dateisystem verhält sich wie der Dateiserver
110 , Um eine einfache Nachbildung des ersten Ziel-Dateisystems auszuführen. - Eine Sequenz von solchen Ziel-Dateisystemen endet letztendlich in einem Ziel-Dateisystem, das direkt mit dem Dateiserver
110 kommuniziert und führt eine einfache Nachbildung aus. Die Sequenz von Ziel-Dateisystemen bildet demzufolge eine Nachbildungshierarchie, wie z.B. in einem gerichteten Graphen oder einem Baum von Dateiservern110 . - In alternativen Ausführungsformen kann das System
100 auch eine oder mehrere Kombinationen dieser Techniken ausführen. - In einer bevorzugten Ausführungsform kann der Dateiserver
110 einen Satz von Pointern auf Speicherauszüge210 führen, die diese Speicherauszüge210 benennen und die Eigenschaft aufweisen, dass Referenzen zu den Pointern funktional äquivalent zu Referenzen zu den Speicherauszügen210 selbst sind. Zum Beispiel kann einer der Pointer einen Namen wie z.B. „Master" haben, so dass der neueste Master-Speicherauszug210 in dem Dateiserver110 gleichzeitig für alle Ziel-Dateisysteme geändert werden kann. Auf diese Weise können sich alle Ziel-Dateisysteme mit demselben Master-Speicherauszug210 synchronisieren. - Spiegel-Speicherauszüge
- Das System
100 umfasst die Möglichkeit, ausgewählte Speicherauszüge210 als „Spiegel"-Speicherauszüge210 zu bezeichnen. - Wie hier verwendet ist ein „Spiegel"-Speicherauszug ein Teilsatz eines Speicherauszugs, wobei die zugehörigen Speicherblöcke nicht länger ein konsistentes Dateisystem bilden. Das heißt, zu einer Zeit haben die zugehörigen Speicherblöcke des Speicherauszugs ein konsistentes Dateisystem gebildet, aber wenigstens einige der zugehörigen Speicherblöcke wurden von dem Speicherauszug entfernt.
- Ein Spiegel-Speicherauszug
210 hat die Eigenschaft, dass der Dateiserver110 die Speicherblöcke115 in dem Speicherauszug210 wiederverwenden kann, wenn immer dies nötig ist. Ein Spiegel-Speicherauszug210 kann als die Grundlage eines inkrementalen Speicherabbilds230 verwendet werden. In solchen Fällen können aufgrund der Wiederverwendung durch das Dateisystem110 Speicherblöcke115 von dem Spiegel-Speicherauszug210 entfernt worden sein. Es kann demzufolge auftreten, dass das inkrementale Speicherabbild230 , das aus der logischen Subtraktion unter Verwendung des Spiel-Speicherabbilds210 entsteht, Speicherblöcke115 umfasst, die nicht unbedingt notwendig sind (durch das Entfernen von dem Spiegel-Speicherauszug210 wurden sie nicht wegsubtrahiert). Jedoch sind alle für das inkrementale Speicherabbild230 nötigen Speicherblöcke115 immer noch enthalten. - Bei regulären Speicherauszügen
210 führt der Dateiserver110 keine Wiederverwendung der Speicherblöcke115 in dem Speicherauszug210 durch, bis der Speicherauszug210 freigegeben ist. Auch wenn die Speicherblöcke115 in dem Speicherauszug210 nicht länger Teil des aktiven Dateisystems sind, werden sie von dem Dateiserver110 ohne Änderung bewahrt. Bis zur Freigabe wahrt jeder reguläre Speicherauszug210 ein konsistentes Dateisystem114 , auf das zu einer späteren Zeit zugegriffen werden kann. - Jedoch kann der Dateiserver
110 für Spiegel-Speicherauszüge210 die Speicherblöcke115 in dem Spiegel-Speicherauszug210 wiederverwenden. Wird einer dieser Speicherblöcke115 wiederverwendet, so löscht der Dateiserver110 das Bit in dem Spiegel-Speicherauszug210 für diesen Speicherblock115 . Auf diese Weise stellt jeder Spiegel-Speicherauszug210 einen Satz von Speicherblöcken115 eines konsistenten Dateisystems114 dar, die in dem aktiven Dateisystem114 nicht geändert wurden, seit der Spiegel-Speicherauszug210 angefertigt wurde. Da Speicherblöcke115 wiederverwendet werden können, bewahrt der Spiegel-Speicherauszug210 nicht die Eigenschaft, ein konsistentes Da teisystem114 darzustellen. Da der Dateiserver110 jedoch diejenigen Speicherblöcke115 wiederverwenden kann, bewirkt der Spiegel-Speicherauszug210 nicht, dass Speicherblöcke115 in dem Massenspeicher113 permanent belegt werden. - Betriebsverfahren
-
3 zeigt ein Ablaufdiagramm eines Verfahrens zum Übertragen von Dateisystemabbildern. - Von dem Dateiserver
110 und dem Ziel-Dateisystem120 wird ein Verfahren300 ausgeführt, das einen Satz von Flusspunkten und Verfahrensschritten umfasst, wie hier beschrieben. - Allgemeinheit des Betriebsverfahrens
- In jeder der Techniken zur Übertragung von Dateisystemabbildern umfasst das Verfahren
300 drei Operationen: - – Auswahl eines Speicherabbilds
220 , abhängig davon, dass eine Operation an einem ersten Dateisystem (oder einem Speicherauszug davon) erfolgt ist. - – Bilden
eines Abbildstroms
230 abhängig von dem Speicherabbild220 . Durchführen einer Operation mit dem Abbildstrom230 , wie z.B. Sichern oder Wiederherstellen innerhalb des ersten Dateisystems oder Kopieren oder Übertragen in ein zweites Dateisystem. - – Rekonstruieren
des ersten Dateisystems (oder von dessen Speicherauszug) in Abhängigkeit
von dem Abbildstrom
230 . - Wie hier gezeigt, ist jeder dieser Schritte in seiner Anwendung sehr allgemein.
- In dem ersten (Auswahl-)Schritt kann das ausgewählte Speicherabbild
220 ein komplettes Dateisystem oder ein Teilsatz davon sein. Der Teilsatz kann ein Inkrement des kompletten Dateisystems sein, wie z.B. diejenigen Speicherblöcke, die geändert wurden, oder kann eine andere Art von Teilsatz sein. Das Speicherabbild220 kann ein einziges Mal ausgewählt werden, wie z.B. für eine Sicherungsoperation, oder wiederholt, wie z.B. für eine Spiegeloperation. Das Speicherabbild220 kann abhängig von einem Prozess an einem sendenden Dateiserver oder an einem empfangenden Dateiserver ausgewählt werden. - Zum Beispiel kann das ausgewählte Speicherabbild
220 , wie hier gezeigt, für eine vollständige Sicherungskopie oder das Kopieren eines gesamten Dateisystems vorgesehen sein, oder für eine inkrementale Sicherungskopie oder ein inkrementales Spiegeln eines Dateisystems vorgesehen sein. Das ausgewählte Speicherabbild220 kann durch einen sendenden Dateiserver bestimmt sein oder kann abhängig von einer Anfrage durch einen empfangenden Dateiserver (oder einen Satz von empfangenden Dateiservern) bestimmt sein. - In dem zweiten (Betriebs-)Schritt kann der Abbildstrom
230 so ausgewählt werden, dass die Operation optimiert wird. Der Abbildstrom230 kann ausgewählt und angefordert werden, um die Übertragung zu unterschiedlichen Arten von Medien zu optimieren, die Übertragungsrate zu optimieren oder die Zuverlässigkeit zu optimieren. In einer bevorzugten Ausführungsform ist der Abbildstrom230 optimiert, um die Übertragungsrate von parallelen Platten in einem RAID-Plattensystem zu maximieren. - In dem dritten (Rekonstruktions-)Schritt kann der Abbildstrom
230 in ein vollständiges Dateisystem rekonstruiert werden oder in ein Inkrement eines Dateisystems rekonstruiert werden. Der Rekonstruktionsschritt kann unmittelbar oder nach einer Verzögerung ausgeführt werden, kann in Abhängigkeit von dem Prozess ausgeführt werden, der den Auswahlschritt initiiert hat, oder kann unabhängig davon von anderen Ereignissen ausgelöst ausgeführt werden. - Auswahl eines Speicherabbilds
- In jeder der Techniken zum Übertragen von Dateisystemabbildern wählt das Verfahren
300 ein zu übertragendes Speicherabbild220 . - An einem Flusspunkt
370 ist der Dateiserver110 bereit, ein Speicherabbild220 zur Übertragung auszuwählen. - In einem Schritt
371 bildet der Dateiserver110 eine logische Summe LS eines Satzes von Speicherabbildern220 A1 + A2, demzufolge ist LS = A1 + A2. Die logische Summe LS kann auch eine beliebige Mehrzahl von Speicherabbildern220 umfassen, wie z.B. A1 + A2 + A3 + A4, demzufolge ist z.B. LS = A1 + A2 + A3 + A4. - In einem Schritt
372 bestimmt der Dateiserver110 , ob die Übertragung eine vollständige Übertragung oder eine inkrementale Übertragung ist. Ist die Übertragung inkremental, so setzt sich das Verfahren300 mit dem nächsten Schritt fort. Ist die Übertragung eine vollständige Übertragung, so setzt sich das Verfahren300 mit dem Flusspunkt380 fort. - In einem Schritt
373 bildet der Dateiserver110 eine logische Differenz LD der logischen Summe LS und eines grundlegenden Speicherabbildes220 B, demzufolge ist LD = LS – B. Das grundlegende Speicherabbild220 B umfasst einen Speicherauszug210 . - An einem Flusspunkt
380 hat der Dateiserver110 ein Speicherabbild230 zur Übertragung auswählt. - Kopieren von Inhalt
- In einem Flusspunkt
310 ist der Dateiserver110 bereit, die Operation des Kopierens von Inhalt auszuführen. - In einem Schritt
311 wählt der Dateiserver111 ein Speicherabbild220 zur Übertragung, wie es in Bezug auf den Flusspunkt370 bis zum Flusspunkt380 beschrieben ist. Ist die Operation des Kopierens von Inhalt eine Kopie des vollständigen Inhalts, so ist das ausgewählte Speicherabbild220 für eine vollständige Übertragung. Ist die Operation des Kopierens von Inhalt eine inkrementale Kopie von Inhalt, so ist das ausgewählte Speicherabbild220 für eine inkrementale Übertragung. - Im Schritt
312 bestimmt der Dateiserver110 , ob der Inhalt auf Platte oder Band kopiert werden soll. - – Soll der
Inhalt auf Platte kopiert werden, so setzt sich das Verfahren
300 mit dem Schritt313 fort. - – Soll
der Inhalt auf Band kopiert werden, so setzt sich das Verfahren
mit dem Schritt
314 fort. - In einem Schritt
313 erzeugt der Dateiserver110 einen Abbildstrom230 für das ausgewählte Speicherabbild220 . In einer bevorzugten Ausführungsform sind die Speicherblöcke115 in dem Abbildstrom230 für die Übertragung auf eine Platte angeordnet. Jeder Speicherblock115 ist zur Identifikation mit einer VBN (Virtuellen Block Nummer) assoziiert. Das Verfahren300 setzt sich mit dem Schritt315 fort. - In einem Schritt
314 führt der Dateiserver110 dieselben Funktionen aus, wie im Schritt313 , mit der Ausnahme, dass die Speicherblöcke115 in dem Abbildstrom230 für die Übertragung auf Band angeordnet sind. - In einem Schritt
315 kopiert der Dateiserver110 den Abbildstrom230 auf das Ziel-Dateisystem120 (Platte oder Band). - – Wenn der Abbildstrom
230 auf Platte kopiert wird, so ordnet der Dateiserver110 vorzugsweise jeden Speicherblock115 in einer äquivalenten Position auf der Zielplatte (den Zielplatten) an, wie auf der Quellenplatte (den Quellenplatten), ähnlich zu den Ereignissen bei der Wiedererlangung von Band. - In einer bevorzugten Ausführungsform kopiert der Dateiserver
110 den Abbildstrom230 unter Verwendung eines sowohl dem Dateiserver110 als auch dem Ziel-Dateisystem120 bekannten Kommunikationsprotokolls, z.B. TCP, zu dem Ziel-Dateisystem120 . Wie hier festgestellt, ist der Abbildstrom230 , der mit dem Kommunikationsprotokoll verwendet wird, ähnlich zu dem Abbildstrom230 , der zur Sicherung auf Band verwendet wird, aber er kann zusätzliche Nachrichten oder Pakete zur Bestätigung oder erneuten Übertragung von Daten enthalten. - Das Ziel-Dateisystem
120 liefert den Abbildstrom230 direkt an ein Wiederherstellungselement, welches den Abbildstrom230 auf die Zielplatte(n) des Ziel-Dateisystems120 kopiert, als wenn diese auf der Quellenplatte (den Quellenplatten) wären. Da von dem Dateiserver110 ein konsistentes Dateisystem114 in das Ziel-Dateisystem120 kopiert wird, können die Speicherblöcke115 in dem Abbildstrom230 direkt als ein konsistentes Dateisystem114 verwendet werden, wenn sie an dem Ziel-Dateisystem120 ankommen. - Das Ziel-Dateisystem
120 muss eventuell abhängig von der VBN jedes Speicherblocks115 einige Zwischenblockpointer ändern, wenn einige oder alle der Ziel-Speicherblöcke115 hinsichtlich der Quellen-Speicherblöcke115 in unterschiedlichen physikalischen Positionen aufgezeichnet werden. - – Wenn
der Abbildstrom
230 auf Band kopiert wird, ordnet der Dateiserver110 vorzugsweise jeden Speicherblock115 in einer Position auf dem Zielband so an, dass er mittels seiner VBN wiederhergestellt werden kann. Wenn die Speicherblöcke115 eventuell vom Band auf einen Platten-Dateiserver110 wiederhergestellt werden, werden sie auf der Zielplatte (den Zielplatten) vorzugsweise in äquivalenten Positionen angeordnet, wie sie auf der Quellenplatte (den Quellenplatten) angeordnet waren. - Das Ziel-Dateisystem
120 zeichnet den Abbildstrom230 direkt zusammen mit einem Satz von Blocknummerninformation für jeden Speicherblock115 auf Band auf. Das Ziel-Dateisystem120 kann später ausgewählte Speicherblöcke115 vom Band wiederherstellen und auf einem Platten-Dateiserver110 anordnen. Da von dem Dateiserver110 ein konsistentes Dateisystem114 auf das Ziel-Dateisystem120 kopiert wurde, können die Speicherblöcke115 in dem Abbildstrom230 direkt auf die Platte wiederhergestellt werden, wenn sie später im Ziel-Dateisystem120 vom Band wiedererlangt werden. - Das Ziel-Dateisystem
120 muss eventuell abhängig von der VBN von jedem Speicherblock115 einige Zwischenblockpointer ändern, wenn einige oder alle der Zielspeicherblöcke115 vom Band wiederhergestellt werden und hinsichtlich der Quellenspeicherblöcke115 in unterschiedlichen physikalischen Positionen auf der Platte aufgezeichnet werden. Das Ziel-Dateisystem120 hat diese Information in Header-Daten aufgezeichnet, die es auf das Band aufzeichnet. - An einem Flusspunkt
320 hat der Dateiserver110 die Operation des Kopierens von Inhalt abgeschlossen. - Spiegeln von Inhalt
- An einem Flusspunkt
330 ist der Dateiserver110 bereit, die Operation des Spiegelns von Inhalt auszuführen. - In einem Schritt
331 führt der Dateiserver110 eine Operation des Kopierens des gesamten Inhalts aus, wie es in Bezug auf Flusspunkt310 bis Flusspunkt320 beschrieben ist. Die Operation des Kopierens von Inhalt wird für eine vollständige Kopie des Dateisystems114 ausgeführt. - – Wenn
die auszuführende
Funktion ein vollständiges
Spiegeln ist, so führt
der Dateiserver
110 die Operation des Kopierens des gesamten Inhalts auf Platte als das gewünschte Ziel-Dateisystem120 aus. - – Wenn
die auszuführende
Funktion ein inkrementales Spiegeln ist, so führt der Dateiserver
110 die Operation des Kopierens des gesamten Inhalts auf Band als das gewünschte Ziel-Dateisystem120 aus. - In einem Schritt
332 setzt der Dateiserver110 eine Spiegel-Zeitablaufsteuerung für das inkrementale Aktualisieren der Operation des Spiegelns von Inhalt. - In einem Schritt
333 ist die Spiegel-Zeitablaufsteuerung abgelaufen und der Dateiserver110 beginnt mit der inkrementalen Aktualisierung für den Betrieb des Spiegelns von Inhalt. - In einem Schritt
334 führt der Dateiserver110 die Operation eines inkrementalen Kopierens von Inhalt aus, wie es in Bezug auf Flusspunkt310 bis Flusspunkt320 beschrieben ist. Die Operation des Kopierens von Inhalt wird für ein inkrementales Upgrade des Dateisystems114 ausgeführt. - Die Operation des inkrementalen Kopierens von Inhalt wird mit einer Platte als das gewünschte Ziel-Dateisystem
120 ausgeführt. - – Wenn
die initiale Operation des Kopierens des gesamten Inhalts auf Platte
ausgeführt
wurde, so inkrementiert das Ziel-Dateisystem
120 seine Kopie des Dateisystems114 , um das inkrementale Speicherabbild220 zu umfassen. - – Wenn
die initiale Operation des Kopierens des gesamten Inhalts auf Band
ausgeführt
wurde, so zeichnet das Ziel-Dateisystem
120 das inkrementale Speicherabbild220 auf und integriert dieses in eine Inkrementalspiegel-Datenstruktur, wie zuvor beschrieben, um seine Kopie des Dateisystems114 möglicherweise später zu inkrementieren. - In einem Schritt
335 kopiert der Dateiserver110 den Abbildstrom230 auf das gewünschte Ziel-Dateisystem120 . Das Verfahren300 kehrt zu dem Schritt332 zurück, in welchem Schritt der Dateiserver110 die Spiegel-Zeitablaufsteuerung zurücksetzt, wonach das Verfahren300 fortgesetzt wird. - Empfängt das Ziel-Dateisystem
120 den Abbildstrom230 , so zeichnet es die Speicherblöcke115 in diesem Abbildstrom230 ähnlich zu dem Verfahren des Kopierens von Inhalt auf, wie es in Bezug auf den Schritt315 beschrieben wurde. - Wird das Verfahren
300 angehalten (durch einen Bedienerbefehl oder anders), so wird es am Flusspunkt340 abgeschlossen. - An einem Flusspunkt
340 hat der Dateiserver110 die Operation des Spiegelns von Inhalt abgeschlossen. - Wiederintegration von inkrementalem Spiegel
- An einem Flusspunkt
370 ist der Dateiserver110 bereit, ein Dateisystem von dem grundlegenden Speicherabbild220 und der Inkrementalspiegel-Datenstruktur wiederherzustellen. - In einem Schritt
371 liest der Dateiserver110 das grundlegende Speicherabbild220 in sein Dateisystem. - In einem Schritt
372 liest der Dateiserver110 die Inkrementalspiegel-Datenstruktur in sein Dateisystem und verwendet diese Datenstruktur, um das grundlegende Speicherabbild220 zu aktualisieren. - In einem Schritt
373 mountet der Dateiserver110 das unter Verwendung der Inkrementalspiegel-Datenstruktur aktualisierte Dateisystem erneut. - In einem Flusspunkt
380 ist der Dateiserver110 bereit, Operationen mit dem aus dem grundlegenden Speicherabbild220 und der Inkrementalspiegel-Datenstruktur wiedererlangten Dateisystem fortzusetzen. - Nachbildung von Inhalt
- In einem Flusspunkt
350 ist der Dateiserver110 bereit, eine Operation zur Nachbildung von Inhalt durchzuführen. - In einem Schritt
351 initiiert das Ziel-Dateisystem120 die Operation des Nachbildens von Inhalt. Das Ziel-Dateisystem120 schickt einen Indikator seines aktuellsten Master-Speicherauszugs210 an den Dateiserver110 und erbittet die Ausführung der Operation der Nachbildung von Inhalt von dem Dateiserver110 . - In einem Schritt
352 bestimmt der Dateiserver110 , ob er eine Operation der Nachbildung von Inhalt ausführen muss, um sich mit einem zweiten Dateiserver110 zu synchronisieren. In diesem Fall übernimmt der zweite Dateiserver110 die Rolle. des Ziel-Dateisystems120 und initiiert die Operation der Nachbildung von Inhalt in Bezug auf den ersten Dateiserver110 . - In einem Schritt
353 bestimmt der Dateiserver110 seinen aktuellsten Master-Speicherauszug210 und seinen zu dem von dem Ziel-Dateisystem120 angezeigten Master-Speicherauszug210 korrespondierenden Master-Speicherauszug210 . - – Wenn der
Dateiserver
110 wenigstens einen Master-Speicherauszug210 aufweist, der älter ist, als der von dem Ziel-Dateisystem120 angezeigte Master-Speicherauszug210 , so wählt er den korrespondierenden Master-Speicherauszug210 als den neuesten davon. In diesem Fall setzt sich das Verfahren mit dem Schritt354 fort. - – Wenn
der Dateiserver
110 nicht wenigstens einen Master-Speicherauszug210 aufweist, der älter ist, als der von dem Ziel-Dateisystem120 angezeigte Master-Speicherauszug210 (oder wenn das Ziel-Dateisystem120 keinen Master-Speicherauszug210 angezeigt hat), so wählt er keinen Master-Speicherauszug210 als einen korrespondierenden Master-Speicherauszug. In diesem Fall setzt sich das Verfahren mit dem Schritt355 fort. - In einem Schritt
354 führt der Dateiserver110 abhängig von der inkrementalen Differenz zwischen dem ausgewählten korrespondierenden Master-Speicherauszug210 und dem neuesten ihm zur Verfügung stehenden Master-Speicherauszug210 eine Operation des inkrementalen Kopierens von Inhalt aus. Das Verfahren300 setzt sieh in dem Flusspunkt360 fort. - In einem Schritt
355 führt der Dateiserver110 abhängig von dem neuesten ihm zur Verfügung stehenden Master-Speicherauszug210 die Operation des vollständigen Kopierens von Inhalt aus. Das Verfahren setzt sich in dem Flusspunkt360 fort. - An einem Flusspunkt
360 hat der Dateiserver110 die Operation der Nachbildung von Inhalt abgeschlossen. Das Ziel-Dateisystem120 aktualisiert seinen Master-Speicherauszug210 , so dass dieser zu dem Master-Speicherauszug210 korrespondiert, der verwendet wurde, um die Teilsystem-Übertragung von dem Dateiserver110 auszuführen. - Alternative Ausführungsformen
- Obwohl hier bevorzugte Ausführungsformen offenbart wurden, sind viele Variationen möglich, welche innerhalb des Umfangs der Erfindung liegen, wie sie in den beigefügten Patentansprüchen beansprucht ist, und diese Änderungen werden den Fachleuten auf diesem Gebiet nach dem Studium der Anmeldung deutlich.
Claims (49)
- Ein Dateisystem (
114 ), das eine Mehrzahl von Speicherblöcken (115 ) aufweist, umfassend eine Mehrzahl von Bits (211 ), die mit jedem einzelnen der Mehrzahl von Speicherblöcken assoziiert sind, wobei wenigstens ein erstes Bit der Mehrzahl von Bits anzeigt, ob die Speicherblöcke Teil eines ersten Abbilds des Dateisystems zu einer Zeit vor einer aktuellen konsistenten Version des Dateisystems sind, und dadurch gekennzeichnet, dass das Dateisystem umfasst: wenigstens ein zweites Bit der Mehrzahl von Bits, das anzeigt, ob die Speicherblöcke Teil eines zweiten zu der aktuellen konsistenten Version des Dateisystems unterschiedlichen Abbilds sind; und ein Element, das zur Auswahl von Speicherblöcken abhängig von einer Operation angeordnet ist, die mit wenigstens dem ersten Bit und dem zweiten Bit der Mehrzahl von Bits ausgeführt wurde. - Ein Dateisystem nach Anspruch 1, bei dem die Operation eine logische Summen- oder Differenzoperation ist.
- Ein Dateisystem nach Anspruch 1, das ein zum Kopierender ausgewählten Speicherblöcke an ein Ziel angeordnetes Element umfasst.
- Ein Dateisystem nach Anspruch 3, bei dem das Ziel ein Band, eine Platte, eine Datenstruktur in einem zweiten Dateisystem, einen Satz von Netzwerknachrichten oder ein über eine Mehrzahl von Dateisystemen verteiltes Ziel umfasst.
- Ein Dateisystem nach Anspruch 1, bei dem das erste Abbild des Dateisystems ein Speicherauszug ist, der als ein Objekt in dem Dateisystem angeordnet ist, und wobei das Dateisystem auf wenigstens eine Dateisystemanfrage in Bezug auf den Speicherauszug anspricht.
- Ein Dateisystem nach Anspruch 5, bei dem das zweite Abbild ein Markierung-bei-Zuweisung-Abbild eines Satzes von zugehörigen Speicherblöcken (
115 ) ist, die aus der Mehrzahl von Speicherblöcken (115 ) ausgewählt sind, wobei die zugehörigen Speicherblöcke zu dem Speicherauszug hinzugefügt wurden; und wobei die von dem Element ausgewählten Speicherblöcke (115 ) ein Speicherabbild (220 ) bilden, das auf Grundlage des Speicherauszugs und des Markierung-bei-Zuweisung-Abbilds definiert ist, wobei das Speicherabbild (220 ) einen Satz von zugehörigen Speicherblöcken anzeigt, die aus der Mehrzahl von Speicherblöcken ausgewählt sind. - Ein Dateisystem nach Anspruch 6, bei dem das Speicherabbild (
220 ) in Bezug auf eine logische Summenoperation des Speicherauszugs und des Markierung-bei-Zuweisung-Abbilds definiert ist. - Ein Dateisystem nach Anspruch 5, bei dem das zweite Abbild ein Markierung-bei-Freigabe-Abbild eines Satzes von zugehörigen Speicherblöcken (
115 ) ist, die aus der Mehrzahl von Speicherblöcken ausgewählt sind, wobei die zugehörigen Speicherblöcke von dem Speicherauszug entfernt wurden; und wobei die von dem Element ausgewählten Speicherblöcke (115 ) ein Speicherabbild bilden, das auf Grundlage des Speicherauszugs und des Markierung-bei-Freigabe-Abbilds definiert ist, wobei das Speicherabbild einen Satz von zugehörigen Speicherblöcken anzeigt, die aus der Mehrzahl von Speicherblöcken ausgewählt sind. - Ein Dateisystem nach Anspruch 5, bei dem das zweite Abbild ein Spiegel-Speicherauszug eines Satzes von zugehörigen Speicherblöcken ist, die aus der Mehrzahl von Speicherblöcken (
115 ) ausgewählt sind, wobei die zugehörigen Speicherblöcke ein zu einem aktiven Dateisystem unterschiedliches konsistentes Dateisystem gebildet haben, wobei ein Satz ausgewählter zugehöriger Speicherblöcke von dem konsistenten Dateisystem entfernt wurde; und wobei die von dem Element ausgewählten Speicherblöcke ein Speicherabbild bilden, das auf Grundlage des Speicherauszugs und des Spiegel-Speicherauszugs definiert ist, wobei das Speicherabbild einen Satz von zugehörigen Speicherblöcken anzeigt, die aus der Mehrzahl von Speicherblöcken ausgewählt sind. - Ein Dateisystem nach Anspruch 5, das einen Anzeiger umfasst, der anzeigt, welche der Speicherblöcke des Speicherauszugs kopiert wurden.
- Ein Dateisystem nach Anspruch 5, bei dem das erste Abbild und das zweite Abbild Speicherauszüge sind; und bei dem die Speicherauszüge mit einem Feld (
200 ) der Bits (211 ) assoziiert sind, wobei das Feld einen Satz der Bits für jeden Speicherblock der Mehrzahl von Speicherblöcken aufweist, wobei jeder Satz von den Bits wenigstens ein Bit für jeden der Speicherauszüge aufweist. - Ein Dateisystem nach Anspruch 5, wobei das Dateisystem den Speicherauszug manipulieren kann, ohne eine Hierarchie von Dateisystemobjekten innerhalb des Speicherauszugs durchlaufen zu müssen.
- Ein Dateisystem nach Anspruch 5, wobei der Speicherauszug eine Datenstruktur umfasst, die in einem Format angeordnet ist, das eine effizient Ausführung einer bestimmten Managementoperation erlaubt.
- Ein Dateisystem nach Anspruch 5, bei dem der Speicherauszug ein Feld (
200 ) der Bits umfasst, wobei das Feld eines der Bits für jeden Speicherblock (115 ) der Mehrzahl von Speicherblöcken aufweist. - Ein Dateisystem nach Anspruch 5, wobei das zweite Abbild ein zweiter Speicherauszug ist; und wobei die von dem Element ausgewählten Speicherblöcke (
115 ) ein Speicherabbild (220 ) bilden. - Ein Dateisystem nach Anspruch 15, das einen Anzeiger umfasst, der anzeigt, welche der Speicherblöcke des Speicherabbilds kopiert wurden.
- Ein Dateisystem nach Anspruch 15, bei dem das Speicherabbild ein Ergebnis einer logischen Summe oder Differenz des Speicherauszugs und des zweiten Speicherauszugs ist.
- Ein Dateisystem nach Anspruch 15, bei dem das Speicherabbild ein Ergebnis einer logischen Summe oder Differenz des Speicherauszugs und des zweiten Speicherabbilds ist.
- Ein Dateisystem nach Anspruch 15, bei dem das Speicherabbild ein Ergebnis einer auf den Speicherauszug angewandten bestimmten Managementoperation ist.
- Ein Dateisystem nach Anspruch 15, wobei der Speicherauszug eine Datenstruktur umfasst, die in einem Format angeordnet ist, das eine effizient Ausführung einer bestimmten Managementoperation in einer Zeit O(n) oder weniger erlaubt, wobei n eine Anzahl von Speicherblöcken in der Mehrzahl von Speicherblöcken (
115 ) ist, wobei jegliche Inhalte der Speicherblöcke in der Mehrzahl von Speicherblöcken (115 ) nicht gelesen werden. - Ein Dateisystem nach Anspruch 20, bei dem die bestimmte Managementoperation eine logische Summen- oder Differenzoperation ist.
- Ein Dateisystem nach Anspruch 15, bei dem der Speicherauszug eine Datenstruktur umfasst, die anzeigt, welche Speicherblöcke (
115 ) in der Mehrzahl zugehörige Speicherblöcke des Speicherauszugs sind. - Ein Dateisystem nach Anspruch 22, bei dem die Datenstruktur nicht mehr als 1/100 einer Speichermenge verwendet, die von den Speicherblöcken in der Mehrzahl von Speicherblöcken benötigt wird.
- Ein Dateisystem nach Anspruch 22, bei dem die Datenstruktur nicht mehr als vier Byte pro Speicherblock (
215 ) der Mehrzahl von Speicherblöcken verwendet. - Ein Verfahren, umfassend die Schritte Erhalten einer Mehrzahl von Bits (
211 ), die mit jedem einzelnen einer Mehrzahl von Speicherblöcken (115 ) in einem Dateisystem (114 ) assoziiert sind, wobei wenigstens ein erstes Bit der Mehrzahl von Bits anzeigt, ob die Speicherblöcke Teil eines ersten Abbilds des Dateisystems zu einer Zeit vor einer aktuellen konsistenten Version des Dateisystems sind, und dadurch gekennzeichnet, dass wenigstens ein zweites Bit der Mehrzahl von Bits anzeigt, ob die Speicherblöcke Teil eines zweiten zu der aktuellen konsistenten Version des Dateisystems unterschiedlichen Abbilds sind; und Auswahl von Speicherblöcken abhängig von einer Operation, die mit wenigstens dem ersten Bit und dem zweiten Bit der Mehrzahl von Bits ausgeführt wurde. - Ein Verfahren nach Anspruch 25, bei dem die Operation eine logische Summenoperation (
371 ) oder Differenzoperation (373 ) ist. - Ein Verfahren nach Anspruch 25, weiter mit dem Schritt des Kopierens (
315 ,335 ) der ausgewählten Speicherblöcke an ein Ziel. - Ein Verfahren nach Anspruch 27, bei dem das Ziel ein Band, eine Platte, eine Datenstruktur in einem zweiten Dateisystem, einen Satz von Netzwerknachrichten oder ein über eine Mehrzahl von Dateisystemen verteiltes Ziel umfasst.
- Ein Verfahren nach Anspruch 25, bei dem das erste Abbild des Dateisystems (
114 ) ein Speicherauszug ist, der als ein Objekt in dem Dateisystem angeordnet ist, und wobei das Dateisystem auf wenigstens eine Dateisystemanfrage in Bezug auf den Speicherauszug anspricht. - Ein Verfahren nach Anspruch 29, bei dem das zweite Abbild ein Markierung-bei-Zuweisung-Abbild eines Satzes von zugehörigen Speicherblöcken (
115 ) ist, die aus der Mehrzahl von Speicherblöcken ausgewählt sind, wobei die zugehörigen Speicherblöcke zu dem Speicherauszug hinzugefügt wurden; und wobei die in Abhängigkeit von der Operation ausgewählten Speicherblöcke (115 ) ein Speicherabbild (220 ) bilden, das auf Grundlage des Speicherauszugs und des Markierung-bei Zuweisung-Abbilds definiert ist, wobei das Speicherabbild einen Satz von zugehörigen Speicherblöcken anzeigt, die aus der Mehrzahl von Speicherblöcken ausgewählt sind. - Ein Verfahren nach Anspruch 30, bei dem das Speicherabbild (
220 ) in Bezug auf eine logische Summenoperation des Speicherauszugs und des Markierung-bei-Zuweisung-Abbilds definiert ist. - Ein Verfahren nach Anspruch 29, bei dem das zweite Abbild ein Markierung-bei-Freigabe-Abbild eines Satzes von zugehörigen Speicherblöcken ist, die aus der Mehrzahl von Speicherblöcken (
115 ) ausgewählt sind, wobei die zugehörigen Speicherblöcke von dem Speicherauszug entfernt wurden; und wobei die in Abhängigkeit von der Operation ausgewählten Speicherblöcke (115 ) ein Speicherabbild (220 ) bilden, das auf Grundlage des Speicherauszugs und des Markierung-bei-Freigabe-Abbilds definiert ist, wobei das Speicherabbild einen Satz von zugehörigen Speicherblöcken anzeigt, die aus der Mehrzahl von Speicherblöcken ausgewählt sind. - Ein Verfahren nach Anspruch 29, bei dem das zweite Abbild ein Spiegel-Speicherauszug eines Satzes von zugehörigen Speicherblöcken (
115 ) ist, die aus der Mehrzahl ausgewählt sind, wobei die zugehörigen Speicherblöcke ein zu einem aktiven. Dateisystem unterschiedliches konsistentes Dateisystem gebildet haben, wobei ein Satz ausgewählter zugehöriger Speicherblöcke von dem konsistenten Dateisystem entfernt wurde; und wobei die in Abhängigkeit von der Operation ausgewählten Speicherblöcke (115 ) ein Speicherabbild (220 ) bilden, das auf Grundlage des Speicherauszugs und des Spiegel-Speicherauszugs definiert ist, wobei das Speicherabbild einen Satz von zugehörigen Speicherblöcken anzeigt, die aus der Mehrzahl von Speicherblöcken ausgewählt sind. - Ein Verfahren nach Anspruch 29, weiter mit dem Schritt des Anzeigens, welche der Speicherblöcke (
115 ) des Speicherauszugs kopiert wurden. - Ein Verfahren nach Anspruch 29, bei dem das erste Abbild und das zweite Abbild Speicherauszüge sind; und bei dem die Speicherauszüge mit einem Feld (
200 ) der Bits (211 ) assoziiert sind, wobei das Feld einen Satz von Bits für jeden Speicherblock der Mehrzahl von Speicherblöcken aufweist, wobei jeder Satz von Bits wenigstens ein Bit für jeden der Speicherauszüge aufweist. - Ein Verfahren nach Anspruch 29, weiter mit dem Schritt des Manipulierens des Speicherauszugs, ohne eine Hierarchie von Dateisystemobjekten innerhalb des Speicherauszugs durchlaufen zu müssen.
- Ein Verfahren nach Anspruch 29, wobei der Speicherauszug eine Datenstruktur umfasst, die in einem Format angeordnet ist, das eine effizient Ausführung einer bestimmten Managementoperation erlaubt.
- Ein Verfahren nach Anspruch 29, bei dem der Speicherauszug ein Feld (
200 ) der Bits (211 ) umfasst, wobei das Feld ein Bit für jeden Speicherblock der Mehrzahl von Speicherblöcken (115 ) aufweist. - Ein Verfahren nach Anspruch 29, wobei das zweite Abbild ein zweiter Speicherauszug ist; und wobei die in Abhängigkeit von der Operation ausgewählten Speicherblöcke (
115 ) ein Speicherabbild bilden. - Ein Verfahren nach Anspruch 39, weiter mit dem Schritt des Anzeigens, welche der Speicherblöcke (
115 ) des Speicherabbilds kopiert wurden. - Ein Verfahren nach Anspruch 39, bei dem das Speicherabbild ein Ergebnis einer logischen Summe oder Differenz des Speicherauszugs und des zweiten Speicherauszugs ist.
- Ein Verfahren nach Anspruch 39, bei dem das Speicherabbild (
220 ) ein Ergebnis einer logischen Summe oder Differenz des Speicherauszugs und des zweiten Speicherabbilds ist. - Ein Verfahren nach Anspruch 39, bei dem das Speicherabbild (
220 ) ein Ergebnis einer auf den Speicherauszug angewandten bestimmten Managementoperation ist. - Ein Verfahren nach Anspruch 39, wobei der Speicherauszug eine Datenstruktur umfasst, die in einem Format angeordnet ist, das eine effizient Ausführung einer bestimmten Managementoperation in einer Zeit O(n) oder weniger erlaubt, wobei n eine Anzahl von Speicherblöcken in der Mehrzahl von Speicherblöcken ist, wobei jegliche Inhalte der Speicherblöcke in der Mehrzahl von Speicherblöcken nicht gelesen werden.
- Ein Verfahren nach Anspruch 44, bei dem die bestimmte Managementoperation eine logische Summen- oder Differenzoperation ist.
- Ein Verfahren nach Anspruch 39, bei dem der Speicherauszug eine Datenstruktur umfasst, die anzeigt, welche Speicherblöcke (
115 ) in der Mehrzahl zugehörige Speicherblöcke des Speicherauszugs sind. - Ein Verfahren nach Anspruch 46, bei dem die Datenstruktur nicht mehr als 1/100 einer Speichermenge verwendet, die von den Speicherblöcken (
115 ) in der Mehrzahl von Speicherblöcken benötigt wird. - Ein Verfahren nach Anspruch 46, bei dem die Datenstruktur nicht mehr als vier Byte pro Speicherblock (
115 ) der Mehrzahl von Speicherblöcken verwendet. - Ein Computerprogrammprodukt, umfassend Programmcodemittel, die ein Computersystem bei ihrer Ausführung auf dem Computersystem anweisen, die Verfahrensschritte eines der Ansprüche 25 bis 48 auszuführen.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US127497 | 1998-07-31 | ||
US09/127,497 US6604118B2 (en) | 1998-07-31 | 1998-07-31 | File system image transfer |
PCT/US1999/017148 WO2000007104A1 (en) | 1998-07-31 | 1999-07-28 | File system image transfer |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69920713D1 DE69920713D1 (de) | 2004-11-04 |
DE69920713T2 true DE69920713T2 (de) | 2005-11-17 |
Family
ID=22430453
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69920713T Expired - Lifetime DE69920713T2 (de) | 1998-07-31 | 1999-07-28 | Datei-system bild-übertragung |
Country Status (5)
Country | Link |
---|---|
US (1) | US6604118B2 (de) |
EP (1) | EP1099165B1 (de) |
AT (1) | ATE278216T1 (de) |
DE (1) | DE69920713T2 (de) |
WO (1) | WO2000007104A1 (de) |
Families Citing this family (286)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7174352B2 (en) * | 1993-06-03 | 2007-02-06 | Network Appliance, Inc. | File system image transfer |
EP1031928B1 (de) | 1993-06-04 | 2005-05-18 | Network Appliance, Inc. | Verfahren zur Paritätsdarstellung in einem Raid-Untersystem unter Verwendung eines nichtflüchtigen Speichers |
JPH11167510A (ja) * | 1997-12-04 | 1999-06-22 | Hitachi Ltd | レプリケーション方法、レプリケーションツール、および、レプリケーションサーバ |
US6654881B2 (en) * | 1998-06-12 | 2003-11-25 | Microsoft Corporation | Logical volume mount manager |
US6574591B1 (en) | 1998-07-31 | 2003-06-03 | Network Appliance, Inc. | File systems image transfer between dissimilar file systems |
US6119244A (en) | 1998-08-25 | 2000-09-12 | Network Appliance, Inc. | Coordinating persistent status information with multiple file servers |
US6466952B2 (en) * | 1999-04-08 | 2002-10-15 | Hewlett-Packard Company | Method for transferring and indexing data from old media to new media |
US7363359B1 (en) * | 1999-05-26 | 2008-04-22 | Fujitsu Limited | Element management system with automatic remote backup of network elements' local storage |
DE60038448T2 (de) | 1999-10-14 | 2009-04-02 | Bluearc Uk Ltd. | Vorrichtung und verfahren zur hardware-ausführung oder hardware-beschleunigung von betriebssystemfunktionen |
TW454120B (en) * | 1999-11-11 | 2001-09-11 | Miralink Corp | Flexible remote data mirroring |
US6684231B1 (en) * | 1999-11-29 | 2004-01-27 | Microsoft Corporation | Migration of friendly volumes |
US6553387B1 (en) | 1999-11-29 | 2003-04-22 | Microsoft Corporation | Logical volume configuration data management determines whether to expose the logical volume on-line, off-line request based on comparison of volume epoch numbers on each extents of the volume identifiers |
US6651075B1 (en) * | 2000-02-16 | 2003-11-18 | Microsoft Corporation | Support for multiple temporal snapshots of same volume |
US6647473B1 (en) * | 2000-02-16 | 2003-11-11 | Microsoft Corporation | Kernel-based crash-consistency coordinator |
US6741978B1 (en) * | 2000-04-12 | 2004-05-25 | Intel Corporation | Accessing file data stored in non-volatile re-programmable semiconductor memories |
US6711595B1 (en) * | 2000-05-09 | 2004-03-23 | Openwave Systems Inc. | Method and apparatus for sharing standard template library objects among processes |
US6732180B1 (en) * | 2000-08-08 | 2004-05-04 | The University Of Tulsa | Method to inhibit the identification and retrieval of proprietary media via automated search engines utilized in association with computer compatible communications network |
US6728922B1 (en) | 2000-08-18 | 2004-04-27 | Network Appliance, Inc. | Dynamic data space |
US6636879B1 (en) | 2000-08-18 | 2003-10-21 | Network Appliance, Inc. | Space allocation in a write anywhere file system |
US7072916B1 (en) | 2000-08-18 | 2006-07-04 | Network Appliance, Inc. | Instant snapshot |
US6654912B1 (en) | 2000-10-04 | 2003-11-25 | Network Appliance, Inc. | Recovery of file system data in file servers mirrored file system volumes |
US6728735B1 (en) | 2001-03-12 | 2004-04-27 | Network Appliance, Inc. | Restartable dump that produces a consistent filesystem on tapes |
US6889228B1 (en) | 2001-03-29 | 2005-05-03 | Network Appliance, Inc. | Cascading support for mirrored volumes |
US6668264B1 (en) | 2001-04-03 | 2003-12-23 | Network Appliance, Inc. | Resynchronization of a target volume with a source volume |
US7139817B1 (en) | 2001-06-12 | 2006-11-21 | Network Appliance, Inc. | Managing configuration information for multiple devices |
US7613806B2 (en) * | 2001-06-28 | 2009-11-03 | Emc Corporation | System and method for managing replication sets of data distributed over one or more computer systems |
US20030004920A1 (en) * | 2001-06-28 | 2003-01-02 | Sun Microsystems, Inc. | Method, system, and program for providing data to an application program from a file in a file system |
US20030018657A1 (en) * | 2001-07-18 | 2003-01-23 | Imation Corp. | Backup of data on a network |
JP2005505045A (ja) * | 2001-09-28 | 2005-02-17 | コムヴォールト・システムズ・インコーポレーテッド | クイックリカバリボリュームを作成及び管理する方法及び装置 |
US7036043B2 (en) | 2001-12-28 | 2006-04-25 | Storage Technology Corporation | Data management with virtual recovery mapping and backward moves |
US20030131253A1 (en) * | 2001-12-28 | 2003-07-10 | Martin Marcia Reid | Data management appliance |
US6839819B2 (en) * | 2001-12-28 | 2005-01-04 | Storage Technology Corporation | Data management appliance |
US7085785B2 (en) | 2002-02-15 | 2006-08-01 | International Business Machines Corporation | Writable file system snapshot with ditto address feature |
US6959310B2 (en) | 2002-02-15 | 2005-10-25 | International Business Machines Corporation | Generating data set of the first file system by determining a set of changes between data stored in first snapshot of the first file system, and data stored in second snapshot of the first file system |
US6829617B2 (en) * | 2002-02-15 | 2004-12-07 | International Business Machines Corporation | Providing a snapshot of a subset of a file system |
US6748504B2 (en) | 2002-02-15 | 2004-06-08 | International Business Machines Corporation | Deferred copy-on-write of a snapshot |
US7216135B2 (en) | 2002-02-15 | 2007-05-08 | International Business Machines Corporation | File system for providing access to a snapshot dataset where disk address in the inode is equal to a ditto address for indicating that the disk address is invalid disk address |
US7043503B2 (en) * | 2002-02-15 | 2006-05-09 | International Business Machines Corporation | Ditto address indicating true disk address for actual data blocks stored in one of an inode of the file system and subsequent snapshot |
US7349908B2 (en) * | 2002-02-21 | 2008-03-25 | International Business Machines Corporation | Method for specifying a dynamic construct in a storage management system |
JP2003248605A (ja) * | 2002-02-26 | 2003-09-05 | Hitachi Ltd | ストレージシステム、主記憶システム、副記憶システム、及びそのデータ複写方法 |
US7143307B1 (en) | 2002-03-15 | 2006-11-28 | Network Appliance, Inc. | Remote disaster recovery and data migration using virtual appliance migration |
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 |
US7039663B1 (en) * | 2002-04-19 | 2006-05-02 | Network Appliance, Inc. | System and method for checkpointing and restarting an asynchronous transfer of data between a source and destination snapshot |
JP4215542B2 (ja) * | 2002-03-19 | 2009-01-28 | ネットワーク アプライアンス, インコーポレイテッド | 2つのスナップショット間の変化を判定して宛先スナップショットに送信するシステム及び方法 |
US7043485B2 (en) * | 2002-03-19 | 2006-05-09 | Network Appliance, Inc. | System and method for storage of snapshot metadata in a remote file |
US7475098B2 (en) | 2002-03-19 | 2009-01-06 | Network Appliance, Inc. | System and method for managing a plurality of snapshots |
US7010553B2 (en) | 2002-03-19 | 2006-03-07 | Network Appliance, Inc. | System and method for redirecting access to a remote mirrored snapshot |
US6857001B2 (en) * | 2002-06-07 | 2005-02-15 | Network Appliance, Inc. | Multiple concurrent active file systems |
US6925541B2 (en) * | 2002-06-12 | 2005-08-02 | Hitachi, Ltd. | Method and apparatus for managing replication volumes |
US7024586B2 (en) * | 2002-06-24 | 2006-04-04 | Network Appliance, Inc. | Using file system information in raid data reconstruction and migration |
US7100089B1 (en) | 2002-09-06 | 2006-08-29 | 3Pardata, Inc. | Determining differences between snapshots |
US7191304B1 (en) | 2002-09-06 | 2007-03-13 | 3Pardata, Inc. | Efficient and reliable virtual volume mapping |
US7165156B1 (en) | 2002-09-06 | 2007-01-16 | 3Pardata, Inc. | Read-write snapshots |
US7743031B1 (en) | 2002-09-06 | 2010-06-22 | 3Par, Inc. | Time and space efficient technique for creating virtual volume copies |
US7103597B2 (en) * | 2002-10-03 | 2006-09-05 | Mcgoveran David O | Adaptive transaction manager for complex transactions and business process |
US7568080B2 (en) | 2002-10-07 | 2009-07-28 | Commvault Systems, Inc. | Snapshot storage and management system with indexing and user interface |
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 |
US20040181707A1 (en) * | 2003-03-11 | 2004-09-16 | Hitachi, Ltd. | Method and apparatus for seamless management for disaster recovery |
JP2004280283A (ja) | 2003-03-13 | 2004-10-07 | Hitachi Ltd | 分散ファイルシステム、分散ファイルシステムサーバ及び分散ファイルシステムへのアクセス方法 |
US7155460B2 (en) * | 2003-03-18 | 2006-12-26 | Network Appliance, Inc. | Write-once-read-many storage system and method for implementing the same |
JP4320195B2 (ja) | 2003-03-19 | 2009-08-26 | 株式会社日立製作所 | ファイルストレージサービスシステム、ファイル管理装置、ファイル管理方法、id指定型nasサーバ、および、ファイル読出方法 |
JP4301849B2 (ja) | 2003-03-31 | 2009-07-22 | 株式会社日立製作所 | 情報処理方法及びその実施システム並びにその処理プログラム並びにディザスタリカバリ方法およびシステム並びにその処理を実施する記憶装置およびその制御処理方法 |
US8095511B2 (en) * | 2003-06-30 | 2012-01-10 | Microsoft Corporation | Database data recovery system and method |
US7181480B1 (en) * | 2003-06-30 | 2007-02-20 | Microsoft Corporation | System and method for managing internet storage |
JP4278452B2 (ja) | 2003-08-04 | 2009-06-17 | 株式会社日立製作所 | 計算機システム |
US7467266B2 (en) | 2003-08-05 | 2008-12-16 | International Business Machines Corporation | Snapshot management method apparatus 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 |
GB2425198B (en) | 2003-11-13 | 2008-04-09 | Commvault Systems Inc | System and method for performing a snapshot |
US7734578B2 (en) | 2003-11-13 | 2010-06-08 | Comm Vault Systems, Inc. | System and method for performing integrated storage operations |
US7133884B1 (en) * | 2003-11-26 | 2006-11-07 | Bmc Software, Inc. | Unobtrusive point-in-time consistent copies |
US20070297349A1 (en) * | 2003-11-28 | 2007-12-27 | Ofir Arkin | Method and System for Collecting Information Relating to a Communication Network |
EP1695220B1 (de) | 2003-12-19 | 2013-02-20 | Network Appliance, Inc. | System und verfahren zur unterstützung der asynchronen dataduplikation mit sehr kurzen aktualisierungsintervallen |
US7478101B1 (en) | 2003-12-23 | 2009-01-13 | Networks Appliance, Inc. | System-independent data format in a mirrored storage system environment and method for using the same |
US7921110B1 (en) | 2003-12-23 | 2011-04-05 | Netapp, Inc. | System and method for comparing data sets |
US7562365B2 (en) * | 2004-01-12 | 2009-07-14 | International Business Machines Corporation | Random access for processing messages in a message queue |
JP2005235058A (ja) | 2004-02-23 | 2005-09-02 | Hitachi Ltd | スナップショット取得方法、スナップショット取得装置及びスナップショット取得機能を備えたコンピュータシステム |
US7966293B1 (en) | 2004-03-09 | 2011-06-21 | Netapp, Inc. | System and method for indexing a backup using persistent consistency point images |
JP4452533B2 (ja) * | 2004-03-19 | 2010-04-21 | 株式会社日立製作所 | システムおよび記憶装置システム |
US8086572B2 (en) | 2004-03-30 | 2011-12-27 | International Business Machines Corporation | Method, system, and program for restoring data to a file |
US8266406B2 (en) * | 2004-04-30 | 2012-09-11 | Commvault Systems, Inc. | System and method for allocation of organizational resources |
EP1763755A4 (de) | 2004-04-30 | 2010-04-14 | Commvault Systems Inc | Hierarchische systeme und verfahren zur bereitstellung einer vereinigten sicht von speicherinformationen |
US7818444B2 (en) | 2004-04-30 | 2010-10-19 | Move Networks, Inc. | Apparatus, system, and method for multi-bitrate content streaming |
US8868772B2 (en) | 2004-04-30 | 2014-10-21 | Echostar Technologies L.L.C. | Apparatus, system, and method for adaptive-rate shifting of streaming content |
US7882066B1 (en) * | 2004-05-25 | 2011-02-01 | Symantec Operating Corporation | Probabilistic data locating in sparse data images |
US20080140959A1 (en) * | 2004-10-12 | 2008-06-12 | Oqo, Inc. | One-touch backup system |
US7243207B1 (en) | 2004-09-27 | 2007-07-10 | Network Appliance, Inc. | Technique for translating a pure virtual file system data stream into a hybrid virtual volume |
US7194595B1 (en) | 2004-09-27 | 2007-03-20 | Network Appliance, Inc. | Technique for translating a hybrid virtual volume file system into a pure virtual file system data stream |
JP4325524B2 (ja) * | 2004-09-29 | 2009-09-02 | 日本電気株式会社 | スイッチ装置とシステム並びにバックアップ及びリストア方法とプログラム |
US7555679B2 (en) * | 2004-10-13 | 2009-06-30 | Lenovo (Singapore) Pte Ltd | System and method for computer system rejuvenation |
US20060085686A1 (en) * | 2004-10-13 | 2006-04-20 | International Business Machines Corporation | System and method for institutional computer restoration |
US7730277B1 (en) | 2004-10-25 | 2010-06-01 | Netapp, Inc. | System and method for using pvbn placeholders in a flexible volume of a storage system |
US7979395B1 (en) * | 2004-10-25 | 2011-07-12 | Network Appliance, Inc. | Method and system for determining reclaimable space occupied by a set of snapshots |
US8959299B2 (en) | 2004-11-15 | 2015-02-17 | Commvault Systems, Inc. | Using a snapshot as a data source |
JP4583150B2 (ja) * | 2004-12-06 | 2010-11-17 | 株式会社日立製作所 | ストレージシステム、及びストレージシステムにおけるスナップショットデータ作成方法 |
US7831639B1 (en) * | 2004-12-22 | 2010-11-09 | Symantec Operating Corporation | System and method for providing data protection by using sparse files to represent images of data stored in block devices |
US7928591B2 (en) * | 2005-02-11 | 2011-04-19 | Wintec Industries, Inc. | Apparatus and method for predetermined component placement to a target platform |
US7757056B1 (en) | 2005-03-16 | 2010-07-13 | Netapp, Inc. | System and method for efficiently calculating storage required to split a clone volume |
US8683066B2 (en) | 2007-08-06 | 2014-03-25 | DISH Digital L.L.C. | Apparatus, system, and method for multi-bitrate content streaming |
US20080263180A1 (en) * | 2007-04-19 | 2008-10-23 | Hurst Mark B | Apparatus, system, and method for resilient content acquisition |
US8370514B2 (en) | 2005-04-28 | 2013-02-05 | DISH Digital L.L.C. | System and method of minimizing network bandwidth retrieved from an external network |
US8112605B2 (en) * | 2005-05-02 | 2012-02-07 | Commvault Systems, Inc. | System and method for allocation of organizational resources |
US7613743B1 (en) * | 2005-06-10 | 2009-11-03 | Apple Inc. | Methods and apparatuses for data protection |
EP1915682A4 (de) * | 2005-06-29 | 2014-10-01 | Emc Corp | Erzeugung eines einzelclient-schnappschusses unter verwendung einer client-hilfseinrichtung |
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 |
US7904425B2 (en) * | 2005-12-13 | 2011-03-08 | International Business Machines Corporation | Generating backup sets to a specific point in time |
CA2632935C (en) | 2005-12-19 | 2014-02-04 | Commvault Systems, Inc. | Systems and methods for performing data replication |
US7636743B2 (en) | 2005-12-19 | 2009-12-22 | Commvault Systems, Inc. | Pathname translation in a data replication system |
US7617262B2 (en) | 2005-12-19 | 2009-11-10 | Commvault Systems, Inc. | Systems and methods for monitoring application data in a data replication system |
US7651593B2 (en) | 2005-12-19 | 2010-01-26 | Commvault Systems, Inc. | Systems and methods for performing data replication |
US7962709B2 (en) | 2005-12-19 | 2011-06-14 | Commvault Systems, Inc. | Network redirector systems and methods for performing data replication |
US8655850B2 (en) | 2005-12-19 | 2014-02-18 | Commvault Systems, Inc. | Systems and methods for resynchronizing information |
US7606844B2 (en) | 2005-12-19 | 2009-10-20 | Commvault Systems, Inc. | System and method for performing replication copy storage operations |
US20110010518A1 (en) | 2005-12-19 | 2011-01-13 | Srinivas Kavuri | Systems and Methods for Migrating Components in a Hierarchical Storage Network |
US7725436B1 (en) * | 2006-01-12 | 2010-05-25 | Network Appliance, Inc, | Method and system for reducing the number of read-only, persistent point-in-time images on a storage server |
JP4884041B2 (ja) * | 2006-03-15 | 2012-02-22 | 株式会社日立製作所 | 自動拡張可能なボリュームに対して最適なi/oコマンドを発行するストレージシステム及びその制御方法 |
US7734951B1 (en) | 2006-03-20 | 2010-06-08 | Netapp, Inc. | System and method for data protection management in a logical namespace of a storage system environment |
US7836020B1 (en) * | 2006-04-03 | 2010-11-16 | Network Appliance, Inc. | Method and apparatus to improve server performance associated with takeover and giveback procedures |
US7464238B1 (en) | 2006-04-28 | 2008-12-09 | Network Appliance, Inc. | System and method for verifying the consistency of mirrored data sets |
US7613750B2 (en) * | 2006-05-29 | 2009-11-03 | Microsoft Corporation | Creating frequent application-consistent backups efficiently |
US8726242B2 (en) | 2006-07-27 | 2014-05-13 | Commvault Systems, Inc. | Systems and methods for continuous data replication |
US20080034019A1 (en) * | 2006-08-04 | 2008-02-07 | Pavel Cisler | System for multi-device electronic backup |
US9009115B2 (en) | 2006-08-04 | 2015-04-14 | Apple Inc. | Restoring electronic information |
US8166415B2 (en) | 2006-08-04 | 2012-04-24 | Apple Inc. | User interface for backup management |
US7860839B2 (en) | 2006-08-04 | 2010-12-28 | Apple Inc. | Application-based backup-restore of electronic information |
US8311988B2 (en) | 2006-08-04 | 2012-11-13 | Apple Inc. | Consistent back up of electronic information |
US20080126442A1 (en) * | 2006-08-04 | 2008-05-29 | Pavel Cisler | Architecture for back up and/or recovery of electronic data |
US8370853B2 (en) | 2006-08-04 | 2013-02-05 | Apple Inc. | Event notification management |
US7853566B2 (en) | 2006-08-04 | 2010-12-14 | Apple Inc. | Navigation of electronic backups |
US7856424B2 (en) | 2006-08-04 | 2010-12-21 | Apple Inc. | User interface for backup management |
US7693886B1 (en) | 2006-12-15 | 2010-04-06 | Netapp, Inc. | Delta query technique |
US8868495B2 (en) * | 2007-02-21 | 2014-10-21 | Netapp, Inc. | System and method for indexing user data on storage systems |
US9690790B2 (en) * | 2007-03-05 | 2017-06-27 | Dell Software Inc. | Method and apparatus for efficiently merging, storing and retrieving incremental data |
US8290808B2 (en) | 2007-03-09 | 2012-10-16 | Commvault Systems, Inc. | System and method for automating customer-validated statement of work for a data storage environment |
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 |
US7925749B1 (en) | 2007-04-24 | 2011-04-12 | Netapp, Inc. | System and method for transparent data replication over migrating virtual servers |
US8671076B2 (en) | 2007-05-08 | 2014-03-11 | Bmc Software, Inc. | Database recovery using logs applied to consistent copies |
US8745523B2 (en) | 2007-06-08 | 2014-06-03 | Apple Inc. | Deletion in electronic backups |
US20080307017A1 (en) * | 2007-06-08 | 2008-12-11 | Apple Inc. | Searching and Restoring of Backups |
US8099392B2 (en) | 2007-06-08 | 2012-01-17 | Apple Inc. | Electronic backup of applications |
US8307004B2 (en) | 2007-06-08 | 2012-11-06 | Apple Inc. | Manipulating electronic backups |
US8468136B2 (en) | 2007-06-08 | 2013-06-18 | Apple Inc. | Efficient data backup |
US8429425B2 (en) * | 2007-06-08 | 2013-04-23 | Apple Inc. | Electronic backup and restoration of encrypted data |
US8010900B2 (en) | 2007-06-08 | 2011-08-30 | Apple Inc. | User interface for electronic backup |
US8725965B2 (en) * | 2007-06-08 | 2014-05-13 | Apple Inc. | System setup for electronic backup |
US8195702B2 (en) * | 2007-07-30 | 2012-06-05 | Oracle International Corporation | Online index builds and rebuilds without blocking locks |
US8326814B2 (en) | 2007-12-05 | 2012-12-04 | Box, Inc. | Web-based file management system and service |
US8190760B2 (en) * | 2008-01-15 | 2012-05-29 | Echostar Advanced Technologies L.L.C. | System and method of managing multiple video players |
US9832442B2 (en) * | 2008-01-15 | 2017-11-28 | Echostar Technologies Llc | System and method of managing multiple video players executing on multiple devices |
US8060479B1 (en) | 2008-03-28 | 2011-11-15 | Symantec Corporation | Systems and methods for transparently restoring data using file streaming |
US7882342B1 (en) | 2008-03-31 | 2011-02-01 | Symantec Corporation | Systems and methods for imaging a computer system |
US20090319772A1 (en) * | 2008-04-25 | 2009-12-24 | Netapp, Inc. | In-line content based security for data at rest in a network storage system |
US9395929B2 (en) * | 2008-04-25 | 2016-07-19 | Netapp, Inc. | Network storage server with integrated encryption, compression and deduplication capability |
US8589697B2 (en) | 2008-04-30 | 2013-11-19 | Netapp, Inc. | Discarding sensitive data from persistent point-in-time image |
US8117464B1 (en) | 2008-04-30 | 2012-02-14 | Netapp, Inc. | Sub-volume level security for deduplicated data |
GB2463329B (en) | 2008-09-10 | 2013-02-20 | Echostar Advanced Technologies L L C | Set-top box emulation system |
US8321401B2 (en) | 2008-10-17 | 2012-11-27 | Echostar Advanced Technologies L.L.C. | User interface with available multimedia content from multiple multimedia websites |
JP4886918B1 (ja) | 2008-10-30 | 2012-02-29 | インターナショナル・ビジネス・マシーンズ・コーポレーション | フラッシュコピー・プロセスを処理する方法、ならびにそのためのシステム、およびコンピュータ・プログラム |
US9495382B2 (en) | 2008-12-10 | 2016-11-15 | Commvault Systems, Inc. | Systems and methods for performing discrete data replication |
US8204859B2 (en) | 2008-12-10 | 2012-06-19 | Commvault Systems, Inc. | Systems and methods for managing replicated database data |
US9009066B2 (en) * | 2009-02-12 | 2015-04-14 | Echostar Technologies L.L.C. | Advertisement management for live internet multimedia content |
US8954390B1 (en) * | 2009-04-29 | 2015-02-10 | Netapp, Inc. | Method and system for replication in storage systems |
US10410222B2 (en) * | 2009-07-23 | 2019-09-10 | DISH Technologies L.L.C. | Messaging service for providing updates for multimedia content of a live event delivered over the internet |
US8719767B2 (en) | 2011-03-31 | 2014-05-06 | Commvault Systems, Inc. | Utilizing snapshots to provide builds to developer computing devices |
US9203816B2 (en) * | 2009-09-04 | 2015-12-01 | Echostar Technologies L.L.C. | Controlling access to copies of media content by a client device |
US8595191B2 (en) | 2009-12-31 | 2013-11-26 | Commvault Systems, Inc. | Systems and methods for performing data management operations using snapshots |
US9338523B2 (en) * | 2009-12-21 | 2016-05-10 | Echostar Technologies L.L.C. | Audio splitting with codec-enforced frame sizes |
WO2011082132A1 (en) | 2009-12-31 | 2011-07-07 | Commvault Systems, Inc. | Systems and methods for analyzing snapshots |
US9510029B2 (en) | 2010-02-11 | 2016-11-29 | Echostar Advanced Technologies L.L.C. | Systems and methods to provide trick play during streaming playback |
US8504517B2 (en) | 2010-03-29 | 2013-08-06 | Commvault Systems, Inc. | Systems and methods for selective data replication |
US8725698B2 (en) | 2010-03-30 | 2014-05-13 | Commvault Systems, Inc. | Stub file prioritization in a data replication system |
US8352422B2 (en) | 2010-03-30 | 2013-01-08 | Commvault Systems, Inc. | Data restore systems and methods in a replication environment |
US8504515B2 (en) | 2010-03-30 | 2013-08-06 | Commvault Systems, Inc. | Stubbing systems and methods in a data replication environment |
US8589347B2 (en) | 2010-05-28 | 2013-11-19 | Commvault Systems, Inc. | Systems and methods for performing data replication |
US8566640B2 (en) | 2010-07-19 | 2013-10-22 | Veeam Software Ag | Systems, methods, and computer program products for instant recovery of image level backups |
US8943026B2 (en) | 2011-01-14 | 2015-01-27 | Apple Inc. | Visual representation of a local backup |
US8984029B2 (en) | 2011-01-14 | 2015-03-17 | Apple Inc. | File system management |
WO2012099617A1 (en) | 2011-01-20 | 2012-07-26 | Box.Net, Inc. | Real time notification of activities that occur in a web-based collaboration environment |
US8577842B1 (en) | 2011-09-19 | 2013-11-05 | Amazon Technologies, Inc. | Distributed computer system snapshots and instantiation thereof |
US8880475B2 (en) * | 2011-04-08 | 2014-11-04 | International Business Machines Corporation | Reusing snapshots in a network data management protocol backup operation |
US9578354B2 (en) | 2011-04-18 | 2017-02-21 | Verizon Patent And Licensing Inc. | Decoupled slicing and encoding of media content |
US9063912B2 (en) | 2011-06-22 | 2015-06-23 | Box, Inc. | Multimedia content preview rendering in a cloud content management system |
WO2013009328A2 (en) | 2011-07-08 | 2013-01-17 | Box.Net, Inc. | Collaboration sessions in a workspace on cloud-based content management system |
US9652741B2 (en) | 2011-07-08 | 2017-05-16 | Box, Inc. | Desktop application for access and interaction with workspaces in a cloud-based content management system and synchronization mechanisms thereof |
US9197718B2 (en) | 2011-09-23 | 2015-11-24 | Box, Inc. | Central management and control of user-contributed content in a web-based collaboration environment and management console thereof |
US8515902B2 (en) | 2011-10-14 | 2013-08-20 | Box, Inc. | Automatic and semi-automatic tagging features of work items in a shared workspace for metadata tracking in a cloud-based content management system with selective or optional user contribution |
US9098474B2 (en) | 2011-10-26 | 2015-08-04 | Box, Inc. | Preview pre-generation based on heuristics and algorithmic prediction/assessment of predicted user behavior for enhancement of user experience |
US8990307B2 (en) | 2011-11-16 | 2015-03-24 | Box, Inc. | Resource effective incremental updating of a remote client with events which occurred via a cloud-enabled platform |
US8965850B2 (en) | 2011-11-18 | 2015-02-24 | Dell Software Inc. | Method of and system for merging, storing and retrieving incremental backup data |
GB2500152A (en) | 2011-11-29 | 2013-09-11 | Box Inc | Mobile platform file and folder selection functionalities for offline access and synchronization |
US9019123B2 (en) | 2011-12-22 | 2015-04-28 | Box, Inc. | Health check services for web-based collaboration environments |
US9609340B2 (en) | 2011-12-28 | 2017-03-28 | Verizon Patent And Licensing Inc. | Just-in-time (JIT) encoding for streaming media content |
US9904435B2 (en) | 2012-01-06 | 2018-02-27 | Box, Inc. | System and method for actionable event generation for task delegation and management via a discussion forum in a web-based collaboration environment |
US11232481B2 (en) | 2012-01-30 | 2022-01-25 | Box, Inc. | Extended applications of multimedia content previews in the cloud-based content management system |
US8789090B1 (en) | 2012-02-14 | 2014-07-22 | Uplynk, LLC | Advertisement insertion into media content for streaming |
US9965745B2 (en) | 2012-02-24 | 2018-05-08 | Box, Inc. | System and method for promoting enterprise adoption of a web-based collaboration environment |
US9195636B2 (en) | 2012-03-07 | 2015-11-24 | Box, Inc. | Universal file type preview for mobile devices |
US9298715B2 (en) | 2012-03-07 | 2016-03-29 | Commvault Systems, Inc. | Data storage system utilizing proxy device for storage operations |
US9471578B2 (en) | 2012-03-07 | 2016-10-18 | Commvault Systems, Inc. | Data storage system utilizing proxy device for storage operations |
US9054919B2 (en) | 2012-04-05 | 2015-06-09 | Box, Inc. | Device pinning capability for enterprise cloud service and storage accounts |
US9575981B2 (en) | 2012-04-11 | 2017-02-21 | Box, Inc. | Cloud service enabled to handle a set of files depicted to a user as a single file in a native operating system |
US9342537B2 (en) | 2012-04-23 | 2016-05-17 | Commvault Systems, Inc. | Integrated snapshot interface for a data storage system |
US9396216B2 (en) | 2012-05-04 | 2016-07-19 | Box, Inc. | Repository redundancy implementation of a system which incrementally updates clients with events that occurred via a cloud-enabled platform |
US9691051B2 (en) | 2012-05-21 | 2017-06-27 | Box, Inc. | Security enhancement through application access control |
US8914900B2 (en) | 2012-05-23 | 2014-12-16 | Box, Inc. | Methods, architectures and security mechanisms for a third-party application to access content in a cloud-based platform |
US9027108B2 (en) | 2012-05-23 | 2015-05-05 | Box, Inc. | Systems and methods for secure file portability between mobile applications on a mobile device |
US9021099B2 (en) | 2012-07-03 | 2015-04-28 | Box, Inc. | Load balancing secure FTP connections among multiple FTP servers |
GB2505072A (en) | 2012-07-06 | 2014-02-19 | Box Inc | Identifying users and collaborators as search results in a cloud-based system |
US9792320B2 (en) | 2012-07-06 | 2017-10-17 | Box, Inc. | System and method for performing shard migration to support functions of a cloud-based service |
US9712510B2 (en) | 2012-07-06 | 2017-07-18 | Box, Inc. | Systems and methods for securely submitting comments among users via external messaging applications in a cloud-based platform |
US9473532B2 (en) | 2012-07-19 | 2016-10-18 | Box, Inc. | Data loss prevention (DLP) methods by a cloud service including third party integration architectures |
US9794256B2 (en) | 2012-07-30 | 2017-10-17 | Box, Inc. | System and method for advanced control tools for administrators in a cloud-based service |
US9369520B2 (en) | 2012-08-19 | 2016-06-14 | Box, Inc. | Enhancement of upload and/or download performance based on client and/or server feedback information |
US8745267B2 (en) | 2012-08-19 | 2014-06-03 | Box, Inc. | Enhancement of upload and/or download performance based on client and/or server feedback information |
US9558202B2 (en) | 2012-08-27 | 2017-01-31 | Box, Inc. | Server side techniques for reducing database workload in implementing selective subfolder synchronization in a cloud-based environment |
US9135462B2 (en) | 2012-08-29 | 2015-09-15 | Box, Inc. | Upload and download streaming encryption to/from a cloud-based platform |
US9195519B2 (en) | 2012-09-06 | 2015-11-24 | Box, Inc. | Disabling the self-referential appearance of a mobile application in an intent via a background registration |
US9117087B2 (en) | 2012-09-06 | 2015-08-25 | Box, Inc. | System and method for creating a secure channel for inter-application communication based on intents |
US9311071B2 (en) | 2012-09-06 | 2016-04-12 | Box, Inc. | Force upgrade of a mobile application via a server side configuration file |
US9292833B2 (en) | 2012-09-14 | 2016-03-22 | Box, Inc. | Batching notifications of activities that occur in a web-based collaboration environment |
US10200256B2 (en) | 2012-09-17 | 2019-02-05 | Box, Inc. | System and method of a manipulative handle in an interactive mobile user interface |
US9553758B2 (en) | 2012-09-18 | 2017-01-24 | Box, Inc. | Sandboxing individual applications to specific user folders in a cloud-based service |
US10915492B2 (en) | 2012-09-19 | 2021-02-09 | Box, Inc. | Cloud-based platform enabled with media content indexed for text-based searches and/or metadata extraction |
US9959420B2 (en) | 2012-10-02 | 2018-05-01 | Box, Inc. | System and method for enhanced security and management mechanisms for enterprise administrators in a cloud-based environment |
US9495364B2 (en) | 2012-10-04 | 2016-11-15 | Box, Inc. | Enhanced quick search features, low-barrier commenting/interactive features in a collaboration platform |
US9705967B2 (en) | 2012-10-04 | 2017-07-11 | Box, Inc. | Corporate user discovery and identification of recommended collaborators in a cloud platform |
US9665349B2 (en) | 2012-10-05 | 2017-05-30 | Box, Inc. | System and method for generating embeddable widgets which enable access to a cloud-based collaboration platform |
US20140297869A1 (en) | 2012-10-11 | 2014-10-02 | Uplynk, LLC | Adaptive streaming cost management |
JP5982343B2 (ja) | 2012-10-17 | 2016-08-31 | ボックス インコーポレイテッドBox, Inc. | クラウドベース環境におけるリモートキー管理 |
US9756022B2 (en) | 2014-08-29 | 2017-09-05 | Box, Inc. | Enhanced remote key management for an enterprise in a cloud-based environment |
US10235383B2 (en) | 2012-12-19 | 2019-03-19 | Box, Inc. | Method and apparatus for synchronization of items with read-only permissions in a cloud-based environment |
US10379988B2 (en) | 2012-12-21 | 2019-08-13 | Commvault Systems, Inc. | Systems and methods for performance monitoring |
US9396245B2 (en) | 2013-01-02 | 2016-07-19 | Box, Inc. | Race condition handling in a system which incrementally updates clients with events that occurred in a cloud-based collaboration platform |
US9953036B2 (en) | 2013-01-09 | 2018-04-24 | Box, Inc. | File system monitoring in a system which incrementally updates clients with events that occurred in a cloud-based collaboration platform |
US9886346B2 (en) | 2013-01-11 | 2018-02-06 | Commvault Systems, Inc. | Single snapshot for multiple agents |
US20140201140A1 (en) | 2013-01-11 | 2014-07-17 | Commvault Systems, Inc. | Data synchronization management |
EP2755151A3 (de) | 2013-01-11 | 2014-09-24 | Box, Inc. | Funktionalitäten, Merkmale und der Benutzeroberfläche eines Synchronisationsclient zu einer Cloud-basierten Umgebung |
EP2757491A1 (de) | 2013-01-17 | 2014-07-23 | Box, Inc. | Konfliktlösung, Wiederversuchbedingungsverwaltung und Handhabung von Problemdateien für den Synchronisations-Client zu einer Plattform auf Cloud-Basis |
US10229170B2 (en) | 2013-03-13 | 2019-03-12 | Dreamworks Animation L.L.C. | File system manager for customized resource allocation |
US10725968B2 (en) | 2013-05-10 | 2020-07-28 | Box, Inc. | Top down delete or unsynchronization on delete of and depiction of item synchronization with a synchronization client to a cloud-based platform |
US10846074B2 (en) | 2013-05-10 | 2020-11-24 | Box, Inc. | Identification and handling of items to be ignored for synchronization with a cloud-based platform by a synchronization client |
US9633037B2 (en) | 2013-06-13 | 2017-04-25 | Box, Inc | Systems and methods for synchronization event building and/or collapsing by a synchronization component of a cloud-based platform |
US9805050B2 (en) | 2013-06-21 | 2017-10-31 | Box, Inc. | Maintaining and updating file system shadows on a local device by a synchronization client of a cloud-based platform |
US10110656B2 (en) | 2013-06-25 | 2018-10-23 | Box, Inc. | Systems and methods for providing shell communication in a cloud-based platform |
US10229134B2 (en) | 2013-06-25 | 2019-03-12 | Box, Inc. | Systems and methods for managing upgrades, migration of user data and improving performance of a cloud-based platform |
US9535924B2 (en) | 2013-07-30 | 2017-01-03 | Box, Inc. | Scalability improvement in a system which incrementally updates clients with events that occurred in a cloud-based collaboration platform |
US10509527B2 (en) | 2013-09-13 | 2019-12-17 | Box, Inc. | Systems and methods for configuring event-based automation in cloud-based collaboration platforms |
US9535909B2 (en) | 2013-09-13 | 2017-01-03 | Box, Inc. | Configurable event-based automation architecture for cloud-based collaboration platforms |
GB2518298A (en) | 2013-09-13 | 2015-03-18 | Box Inc | High-availability architecture for a cloud-based concurrent-access collaboration platform |
US8892679B1 (en) | 2013-09-13 | 2014-11-18 | Box, Inc. | Mobile device, methods and user interfaces thereof in a mobile device platform featuring multifunctional access and engagement in a collaborative environment provided by a cloud-based platform |
US9213684B2 (en) | 2013-09-13 | 2015-12-15 | Box, Inc. | System and method for rendering document in web browser or mobile device regardless of third-party plug-in software |
US9704137B2 (en) | 2013-09-13 | 2017-07-11 | Box, Inc. | Simultaneous editing/accessing of content by collaborator invitation through a web-based or mobile application to a cloud-based collaboration platform |
US10866931B2 (en) | 2013-10-22 | 2020-12-15 | Box, Inc. | Desktop application for accessing a cloud collaboration platform |
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 |
US9632874B2 (en) | 2014-01-24 | 2017-04-25 | Commvault Systems, Inc. | Database application backup in single snapshot for multiple applications |
US9495251B2 (en) | 2014-01-24 | 2016-11-15 | Commvault Systems, Inc. | Snapshot readiness checking and reporting |
US9411821B1 (en) * | 2014-03-27 | 2016-08-09 | Emc Corporation | Block-based backups for sub-file modifications |
US9348827B1 (en) * | 2014-03-27 | 2016-05-24 | Emc Corporation | File-based snapshots for block-based backups |
US10536523B2 (en) | 2014-05-11 | 2020-01-14 | Microsoft Technology Licensing, Llc | File service using a shared file access-rest interface |
US10530854B2 (en) | 2014-05-30 | 2020-01-07 | Box, Inc. | Synchronization of permissioned content in cloud-based environments |
US9602514B2 (en) | 2014-06-16 | 2017-03-21 | Box, Inc. | Enterprise mobility management and verification of a managed application by a content provider |
US10574442B2 (en) | 2014-08-29 | 2020-02-25 | Box, Inc. | Enhanced remote key management for an enterprise in a cloud-based environment |
US9894119B2 (en) | 2014-08-29 | 2018-02-13 | Box, Inc. | Configurable metadata-based automation and content classification architecture for cloud-based collaboration platforms |
US10038731B2 (en) | 2014-08-29 | 2018-07-31 | Box, Inc. | Managing flow-based interactions with cloud-based shared content |
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 |
US9940378B1 (en) * | 2014-09-30 | 2018-04-10 | EMC IP Holding Company LLC | Optimizing replication of similar backup datasets |
US9558078B2 (en) | 2014-10-28 | 2017-01-31 | Microsoft Technology Licensing, Llc | Point in time database restore from storage snapshots |
US10133495B2 (en) | 2014-11-04 | 2018-11-20 | Rubrik, Inc. | Converged search and archival system |
US9648105B2 (en) | 2014-11-14 | 2017-05-09 | Commvault Systems, Inc. | Unified snapshot storage management, using an enhanced storage manager and enhanced media agents |
US9448731B2 (en) | 2014-11-14 | 2016-09-20 | Commvault Systems, Inc. | Unified snapshot storage management |
US10083196B2 (en) * | 2015-02-04 | 2018-09-25 | Delphix Corporation | Creating secure virtual databases storing masked data |
US10311150B2 (en) | 2015-04-10 | 2019-06-04 | Commvault Systems, Inc. | Using a Unix-based file system to manage and serve clones to windows-based computing clients |
US10275320B2 (en) | 2015-06-26 | 2019-04-30 | Commvault Systems, Inc. | Incrementally accumulating in-process performance data and hierarchical reporting thereof for a data stream in a secondary copy operation |
US10248494B2 (en) | 2015-10-29 | 2019-04-02 | Commvault Systems, Inc. | Monitoring, diagnosing, and repairing a management database in a data storage management system |
US10368109B2 (en) | 2015-12-29 | 2019-07-30 | DISH Technologies L.L.C. | Dynamic content delivery routing and related methods and systems |
US10503753B2 (en) | 2016-03-10 | 2019-12-10 | Commvault Systems, Inc. | Snapshot replication operations based on incremental block change tracking |
CN107438110A (zh) * | 2017-09-15 | 2017-12-05 | 湖南新云网科技有限公司 | 一种基于透明计算的终端数据迁移方法及系统 |
US11334438B2 (en) | 2017-10-10 | 2022-05-17 | Rubrik, Inc. | Incremental file system backup using a pseudo-virtual disk |
US11372729B2 (en) | 2017-11-29 | 2022-06-28 | Rubrik, Inc. | In-place cloud instance restore |
US10831591B2 (en) | 2018-01-11 | 2020-11-10 | Commvault Systems, Inc. | Remedial action based on maintaining process awareness in data storage management |
US10732885B2 (en) | 2018-02-14 | 2020-08-04 | Commvault Systems, Inc. | Block-level live browsing and private writable snapshots using an ISCSI server |
US20200192572A1 (en) | 2018-12-14 | 2020-06-18 | Commvault Systems, Inc. | Disk usage growth prediction system |
US11042318B2 (en) | 2019-07-29 | 2021-06-22 | Commvault Systems, Inc. | Block-level data replication |
US11809285B2 (en) | 2022-02-09 | 2023-11-07 | Commvault Systems, Inc. | Protecting a management database of a data storage management system to meet a recovery point objective (RPO) |
Family Cites Families (181)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3813529A (en) | 1972-10-25 | 1974-05-28 | Singer Co | Digital high order interpolator |
US3893024A (en) | 1973-11-15 | 1975-07-01 | Itt | Method and apparatus for fault testing multiple stage networks |
US4075691A (en) | 1975-11-06 | 1978-02-21 | Bunker Ramo Corporation | Communication control unit |
US4075704A (en) | 1976-07-02 | 1978-02-21 | Floating Point Systems, Inc. | Floating point data processor for high speech operation |
US4156907A (en) | 1977-03-02 | 1979-05-29 | Burroughs Corporation | Data communications subsystem |
US4399503A (en) | 1978-06-30 | 1983-08-16 | Bunker Ramo Corporation | Dynamic disk buffer control unit |
US4377843A (en) | 1979-04-19 | 1983-03-22 | Wescom Switching, Inc. | Data distribution interface |
US4333144A (en) | 1980-02-05 | 1982-06-01 | The Bendix Corporation | Task communicator for multiple computer system |
US4351023A (en) | 1980-04-11 | 1982-09-21 | The Foxboro Company | Process control system with improved system security features |
US4488231A (en) | 1980-09-29 | 1984-12-11 | Honeywell Information Systems Inc. | Communication multiplexer having dual microprocessors |
JPS5776634A (en) | 1980-10-31 | 1982-05-13 | Hitachi Ltd | Digital signal processor |
FR2500659B1 (fr) | 1981-02-25 | 1986-02-28 | Philips Ind Commerciale | Dispositif pour l'allocation dynamique des taches d'un ordinateur multiprocesseur |
JPS57164340A (en) | 1981-04-03 | 1982-10-08 | Hitachi Ltd | Information processing method |
US4456957A (en) | 1981-09-28 | 1984-06-26 | Ncr Corporation | Apparatus using a decision table for routing data among terminals and a host system |
US4685125A (en) | 1982-06-28 | 1987-08-04 | American Telephone And Telegraph Company | Computer system with tasking |
US4550368A (en) | 1982-07-02 | 1985-10-29 | Sun Microsystems, Inc. | High-speed memory and memory management system |
US4527232A (en) | 1982-07-02 | 1985-07-02 | Sun Microsystems, Inc. | High-speed memory and memory management system |
US4589067A (en) | 1983-05-27 | 1986-05-13 | Analogic Corporation | Full floating point vector processor with dynamically configurable multifunction pipelined ALU |
US4710868A (en) | 1984-06-29 | 1987-12-01 | International Business Machines Corporation | Interconnect scheme for shared memory local networks |
US4814971A (en) | 1985-09-11 | 1989-03-21 | Texas Instruments Incorporated | Virtual memory recovery system using persistent roots for selective garbage collection and sibling page timestamping for defining checkpoint state |
US4719569A (en) | 1985-10-11 | 1988-01-12 | Sun Microsystems, Inc. | Arbitrator for allocating access to data processing resources |
US4825354A (en) | 1985-11-12 | 1989-04-25 | American Telephone And Telegraph Company, At&T Bell Laboratories | Method of file access in a distributed processing computer network |
US4742450A (en) | 1986-01-16 | 1988-05-03 | International Business Machines Corporation | Method to share copy on write segment for mapped files |
US4742447A (en) | 1986-01-16 | 1988-05-03 | International Business Machines Corporation | Method to control I/O accesses in a multi-tasking virtual memory virtual machine type data processing system |
US4761737A (en) | 1986-01-16 | 1988-08-02 | International Business Machines Corporation | Method to automatically increase the segment size of unix files in a page segmented virtual memory data processing system |
US5043871A (en) | 1986-03-26 | 1991-08-27 | Hitachi, Ltd. | Method and apparatus for database update/recovery |
US4761785B1 (en) | 1986-06-12 | 1996-03-12 | Ibm | Parity spreading to enhance storage access |
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 |
US4803621A (en) | 1986-07-24 | 1989-02-07 | Sun Microsystems, Inc. | Memory access system |
US4845609A (en) | 1986-07-25 | 1989-07-04 | Systech Corporation | Computer communications subsystem using an embedded token-passing network |
US4780821A (en) | 1986-07-29 | 1988-10-25 | International Business Machines Corp. | Method for multiple programs management within a network having a server computer and a plurality of remote computers |
JPS6344688A (ja) | 1986-08-13 | 1988-02-25 | フアナツク株式会社 | 画像処理装置 |
US4819159A (en) | 1986-08-29 | 1989-04-04 | Tolerant Systems, Inc. | Distributed multiprocess transaction processing system and method |
US4783730A (en) | 1986-09-19 | 1988-11-08 | Datapoint Corporation | Input/output control technique utilizing multilevel memory structure for processor and I/O communication |
US4766534A (en) | 1986-10-16 | 1988-08-23 | American Telephone And Telegraph Company, At&T Bell Laboratories | Parallel processing network and method |
US4887204A (en) | 1987-02-13 | 1989-12-12 | International Business Machines Corporation | System and method for accessing remote files in a distributed networking environment |
US4897781A (en) | 1987-02-13 | 1990-01-30 | International Business Machines Corporation | System and method for using cached data at a local node after re-opening a file at a remote node in a distributed networking environment |
US5001628A (en) | 1987-02-13 | 1991-03-19 | International Business Machines Corporation | Single system image uniquely defining an environment for each user in a data processing system |
US4827411A (en) | 1987-06-15 | 1989-05-02 | International Business Machines Corporation | Method of maintaining a topology database |
US4965772A (en) | 1987-06-15 | 1990-10-23 | International Business Machines Corporation | Method and apparatus for communication network alert message construction |
US5319780A (en) | 1987-10-19 | 1994-06-07 | International Business Machines Corporation | System that implicitly locks a subtree or explicitly locks a node based upon whether or not an explicit lock request is issued |
NZ226733A (en) | 1987-12-21 | 1990-05-28 | Honeywell Bull | Coupling incompatible cpu to data processing system |
US5055999A (en) | 1987-12-22 | 1991-10-08 | Kendall Square Research Corporation | Multiprocessor digital data processing system |
US4875159A (en) | 1987-12-22 | 1989-10-17 | Amdahl Corporation | Version management system using plural control fields for synchronizing two versions of files in a multiprocessor system |
US5251308A (en) | 1987-12-22 | 1993-10-05 | Kendall Square Research Corporation | Shared memory multiprocessor with data hiding and post-store |
US5049873A (en) | 1988-01-29 | 1991-09-17 | Network Equipment Technologies, Inc. | Communications network state and topology monitor |
US4914583A (en) | 1988-04-13 | 1990-04-03 | Motorola, Inc. | Method of indicating processes resident within a cell of a data processing system |
JP2547069B2 (ja) | 1988-04-20 | 1996-10-23 | 富士通株式会社 | 故障診断方式 |
US5043876A (en) | 1988-05-27 | 1991-08-27 | International Business Machines Corporation | N-level file shadowing and recovery in a shared file system |
US4937763A (en) | 1988-09-06 | 1990-06-26 | E I International, Inc. | Method of system state analysis |
US5065354A (en) | 1988-09-16 | 1991-11-12 | Compaq Computer Corporation | Queued posted-write disk write method with improved error handling |
US5001712A (en) | 1988-10-17 | 1991-03-19 | Unisys Corporation | Diagnostic error injection for a synchronous bus system |
US5067099A (en) | 1988-11-03 | 1991-11-19 | Allied-Signal Inc. | Methods and apparatus for monitoring system performance |
US4984272A (en) | 1988-11-30 | 1991-01-08 | At&T Bell Laboratories | Secure file handling in a computer operating system |
JPH02165241A (ja) | 1988-12-19 | 1990-06-26 | Toshiba Corp | ファイルアクセス方式 |
US4969118A (en) | 1989-01-13 | 1990-11-06 | International Business Machines Corporation | Floating point unit for calculating A=XY+Z having simultaneous multiply and add |
US5222217A (en) | 1989-01-18 | 1993-06-22 | International Business Machines Corporation | System and method for implementing operating system message queues with recoverable shared virtual storage |
CA1323448C (en) | 1989-02-24 | 1993-10-19 | Terrence C. Miller | Method and apparatus for translucent file system |
US5113442A (en) | 1989-03-06 | 1992-05-12 | Lachman Associates, Inc. | Method and apparatus for providing access control in a secure operating system |
US5144659A (en) | 1989-04-19 | 1992-09-01 | Richard P. Jones | Computer file protection system |
US5018144A (en) | 1989-04-28 | 1991-05-21 | International Business Machines Corporation | Logic performance verification and transition fault detection |
US5182805A (en) | 1989-07-14 | 1993-01-26 | Ncr Corporation | Method and system for determining copy-on-write condition |
US5218696A (en) | 1989-07-24 | 1993-06-08 | International Business Machines Corporation | Method for dynamically expanding and rapidly accessing file directories |
US5454099A (en) | 1989-07-25 | 1995-09-26 | International Business Machines Corporation | CPU implemented method for backing up modified data sets in non-volatile store for recovery in the event of CPU failure |
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 |
US5163131A (en) | 1989-09-08 | 1992-11-10 | Auspex Systems, Inc. | Parallel i/o network file server architecture |
US5276867A (en) | 1989-12-19 | 1994-01-04 | Epoch Systems, Inc. | Digital data storage system with improved data migration |
US5218695A (en) | 1990-02-05 | 1993-06-08 | Epoch Systems, Inc. | File server system having high-speed write execution |
EP0444376B1 (de) | 1990-02-27 | 1996-11-06 | International Business Machines Corporation | Nachrichtenführungseinrichtung durch mehrere Rechner, die mittels eines geteilten intelligenten Speichers gekoppelt sind |
US5134619A (en) | 1990-04-06 | 1992-07-28 | Sf2 Corporation | Failure-tolerant mass storage system |
US5195100A (en) | 1990-03-02 | 1993-03-16 | Micro Technology, Inc. | Non-volatile memory storage of write operation identifier in data sotrage device |
US5088081A (en) | 1990-03-28 | 1992-02-11 | Prime Computer, Inc. | Method and apparatus for improved disk access |
US5230047A (en) | 1990-04-16 | 1993-07-20 | International Business Machines Corporation | Method for balancing of distributed tree file structures in parallel computing systems to enable recovery after a failure |
JPH0731582B2 (ja) | 1990-06-21 | 1995-04-10 | インターナショナル・ビジネス・マシーンズ・コーポレイション | パリティ保護データを回復するための方法および装置 |
JP2875598B2 (ja) | 1990-06-27 | 1999-03-31 | 富士通株式会社 | ノードにおけるネットワーク経路設定方式 |
DE4021510A1 (de) | 1990-07-05 | 1992-01-09 | Bosch Gmbh Robert | Spannvorrichtung zum festspannen einer schutzhaube am spannhals einer handwerkzeugmaschine |
US5261044A (en) | 1990-09-17 | 1993-11-09 | Cabletron Systems, Inc. | Network management system using multifunction icons for information display |
JPH04130950A (ja) | 1990-09-21 | 1992-05-01 | Toshiba Corp | ネットワークシステム |
US5208813A (en) | 1990-10-23 | 1993-05-04 | Array Technology Corporation | On-line reconstruction of a failed redundant array system |
US5274807A (en) | 1990-11-01 | 1993-12-28 | At&T Bell Laboratories | Method for reducing magnetic storage volume for computer disk image backup |
US5255270A (en) | 1990-11-07 | 1993-10-19 | Emc Corporation | Method of assuring data write integrity on a data storage device |
AU8683991A (en) | 1990-11-09 | 1992-05-14 | Array Technology Corporation | Logical partitioning of a redundant array storage system |
US5155835A (en) | 1990-11-19 | 1992-10-13 | Storage Technology Corporation | Multilevel, hierarchical, dynamically mapped data storage subsystem |
JP2603757B2 (ja) | 1990-11-30 | 1997-04-23 | 富士通株式会社 | アレ−ディスク装置の制御方法 |
US5235601A (en) | 1990-12-21 | 1993-08-10 | Array Technology Corporation | On-line restoration of redundancy information in a redundant array system |
US5274799A (en) | 1991-01-04 | 1993-12-28 | Array Technology Corporation | Storage device array architecture with copyback cache |
DE4129809C2 (de) | 1991-01-28 | 2000-08-17 | Bosch Gmbh Robert | Mehrrechnersystem |
US5239640A (en) | 1991-02-01 | 1993-08-24 | International Business Machines Corporation | Data storage system and method including data and checksum write staging storage |
US5317731A (en) | 1991-02-25 | 1994-05-31 | International Business Machines Corporation | Intelligent page store for concurrent and consistent access to a database by a transaction processor and a query processor |
DE69225822T2 (de) | 1991-03-12 | 1998-10-08 | Hewlett Packard Co | Auf Hypothesen und Schlussfolgerungen basiertes Diagnoseverfahren von Datenkommunikationsnetzwerken |
US5276840A (en) | 1991-03-22 | 1994-01-04 | Acer Incorporated | Disk caching method for writing data from computer memory including a step of writing a plurality of physically adjacent blocks in a single I/O operation |
JP2923702B2 (ja) | 1991-04-01 | 1999-07-26 | 株式会社日立製作所 | 記憶装置及びそのデータ修復方法 |
US5574843A (en) | 1991-04-26 | 1996-11-12 | Escom Ag | Methods and apparatus providing for a presentation system for multimedia applications |
US5278838A (en) | 1991-06-18 | 1994-01-11 | Ibm Corp. | Recovery from errors in a redundant array of disk drives |
US5369757A (en) | 1991-06-18 | 1994-11-29 | Digital Equipment Corporation | Recovery logging in the presence of snapshot files by ordering of buffer pool flushing |
SE470031B (sv) | 1991-06-20 | 1993-10-25 | Icl Systems Ab | System och metod för övervakning och förändring av driften av ett datorsystem |
US5313647A (en) | 1991-09-20 | 1994-05-17 | Kendall Square Research Corporation | Digital data processor with improved checkpointing and forking |
US5321837A (en) | 1991-10-11 | 1994-06-14 | International Business Machines Corporation | Event handling mechanism having a process and an action association process |
US5502836A (en) | 1991-11-21 | 1996-03-26 | Ast Research, Inc. | Method for disk restriping during system operation |
US5379417A (en) | 1991-11-25 | 1995-01-03 | Tandem Computers Incorporated | System and method for ensuring write data integrity in a redundant array data storage system |
GB9126779D0 (en) | 1991-12-17 | 1992-02-12 | Int Computers Ltd | Security mechanism for a computer system |
US5313626A (en) | 1991-12-17 | 1994-05-17 | Jones Craig S | Disk drive array with efficient background rebuilding |
US5333305A (en) | 1991-12-27 | 1994-07-26 | Compaq Computer Corporation | Method for improving partial stripe write performance in disk array subsystems |
US5442752A (en) | 1992-01-24 | 1995-08-15 | International Business Machines Corporation | Data storage method for DASD arrays using striping based on file length |
US5305326A (en) | 1992-03-06 | 1994-04-19 | Data General Corporation | High availability disk arrays |
EP0559488B1 (de) | 1992-03-06 | 1998-08-19 | Data General Corporation | Datenbehandlung in einem System mit einem Prozessor zur Steuerung des Zugangs zu einer Mehrzahl von Datenspeicherplatten |
AU653670B2 (en) | 1992-03-10 | 1994-10-06 | Data General Corporation | Improvements for high availability disk arrays |
WO1993021636A1 (en) | 1992-04-10 | 1993-10-28 | Avid Technology, Inc. | A method and apparatus for representing and editing multimedia compositions |
US5448718A (en) | 1992-04-20 | 1995-09-05 | International Business Machines Corporation | Method and system for time zero backup session security |
JPH0619771A (ja) | 1992-04-20 | 1994-01-28 | Internatl Business Mach Corp <Ibm> | 異種のクライアントによる共用ファイルのファイル管理機構 |
US5708668A (en) | 1992-05-06 | 1998-01-13 | International Business Machines Corporation | Method and apparatus for operating an array of storage devices |
US5315602A (en) | 1992-08-12 | 1994-05-24 | Digital Equipment Corporation | Optimized stripe detection for redundant arrays of disk drives |
JPH06319005A (ja) | 1993-01-13 | 1994-11-15 | Canon Inf Syst Inc | メッセージ配信方法及び装置 |
US5627842A (en) | 1993-01-21 | 1997-05-06 | Digital Equipment Corporation | Architecture for system-wide standardized intra-module and inter-module fault testing |
EP0612015A1 (de) | 1993-02-16 | 1994-08-24 | International Business Machines Corporation | Verbesserte Speicherplattenanordnung mit besonderen Paritätsgruppen für Datenblöcke mit hoher Aktualisierungsfrequenz |
US5870764A (en) | 1993-05-12 | 1999-02-09 | Apple Computer, Inc. | Method of managing a data structure for concurrent serial and parallel revision of a work |
US5963962A (en) | 1995-05-31 | 1999-10-05 | Network Appliance, Inc. | Write anywhere file-system layout |
JP3751018B2 (ja) | 1993-06-03 | 2006-03-01 | ネットワーク・アプライアンス・インコーポレイテッド | ライトエニウエアファイルシステムレイアウト |
US7174352B2 (en) | 1993-06-03 | 2007-02-06 | Network Appliance, Inc. | File system image transfer |
EP1031928B1 (de) | 1993-06-04 | 2005-05-18 | Network Appliance, Inc. | Verfahren zur Paritätsdarstellung in einem Raid-Untersystem unter Verwendung eines nichtflüchtigen Speichers |
US5463642A (en) | 1993-06-29 | 1995-10-31 | Mitsubishi Semiconductor America, Inc. | Method and apparatus for determining error location |
AU682523B2 (en) | 1993-07-01 | 1997-10-09 | Legent Corporation | System and method for distributed storage management on networked computer systems |
US5497343A (en) | 1993-08-05 | 1996-03-05 | Hyundai Electronics America | Reducing the number of carry-look-ahead adder stages in high-speed arithmetic units, structure and method |
US5572711A (en) | 1993-09-28 | 1996-11-05 | Bull Hn Information Systems Inc. | Mechanism for linking together the files of emulated and host system for access by emulated system users |
US5689641A (en) | 1993-10-01 | 1997-11-18 | Vicor, Inc. | Multimedia collaboration system arrangement for routing compressed AV signal through a participant site without decompressing the AV signal |
US5485455A (en) | 1994-01-28 | 1996-01-16 | Cabletron Systems, Inc. | Network having secure fast packet switching and guaranteed quality of service |
US5430729A (en) | 1994-04-04 | 1995-07-04 | Motorola, Inc. | Method and apparatus for adaptive directed route randomization and distribution in a richly connected communication network |
US5555244A (en) | 1994-05-19 | 1996-09-10 | Integrated Network Corporation | Scalable multimedia network |
US5642501A (en) | 1994-07-26 | 1997-06-24 | Novell, Inc. | Computer method and apparatus for asynchronous ordered operations |
GB2308406B (en) | 1994-09-26 | 1998-06-24 | James Hayden Bradley | Re-usable breakaway safety joint |
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 |
US5634010A (en) | 1994-10-21 | 1997-05-27 | Modulus Technologies, Inc. | Managing and distributing data objects of different types between computers connected to a network |
US5644718A (en) | 1994-11-10 | 1997-07-01 | At&T Corporation | Apparatus using circuit manager to associate a single circuit with each host application where the circuit is shared by a plurality of client applications |
EP0713183A3 (de) | 1994-11-18 | 1996-10-02 | Microsoft Corp | Netzwerkunabhängige Schattendateien |
US5678007A (en) | 1994-11-22 | 1997-10-14 | Microsoft Corporation | Method and apparatus for supporting multiple outstanding network requests on a single connection |
US6085234A (en) | 1994-11-28 | 2000-07-04 | Inca Technology, Inc. | Remote file services network-infrastructure cache |
US5689701A (en) | 1994-12-14 | 1997-11-18 | International Business Machines Corporation | System and method for providing compatibility between distributed file system namespaces and operating system pathname syntax |
US5617568A (en) | 1994-12-14 | 1997-04-01 | International Business Machines Corporation | System and method for supporting file attributes on a distributed file system without native support therefor |
US5826102A (en) | 1994-12-22 | 1998-10-20 | Bell Atlantic Network Services, Inc. | Network arrangement for development delivery and presentation of multimedia applications using timelines to integrate multimedia objects and program objects |
US5666353A (en) | 1995-03-21 | 1997-09-09 | Cisco Systems, Inc. | Frame based traffic policing for a digital switch |
US5696486A (en) | 1995-03-29 | 1997-12-09 | Cabletron Systems, Inc. | Method and apparatus for policy-based alarm notification in a distributed network management environment |
US5678006A (en) | 1995-04-27 | 1997-10-14 | Cisco Systems, Inc. | Network switch having network management agent functions distributed among multiple trunk and service modules |
US5761669A (en) | 1995-06-06 | 1998-06-02 | Microsoft Corporation | Controlling access to objects on multiple operating systems |
US5675782A (en) | 1995-06-06 | 1997-10-07 | Microsoft Corporation | Controlling access to objects on multiple operating systems |
US5768582A (en) | 1995-06-07 | 1998-06-16 | International Business Machines Corporation | Computer program product for domained incremental changes storage and retrieval |
US5628005A (en) | 1995-06-07 | 1997-05-06 | Microsoft Corporation | System and method for providing opportunistic file access in a network environment |
US5956712A (en) | 1995-06-07 | 1999-09-21 | International Business Machines Corporation | Byte range locking in a distributed environment |
US5668958A (en) | 1995-09-12 | 1997-09-16 | International Business Machines Corporation | Heterogeneous filing system with common API and reconciled file management rules |
US5694163A (en) | 1995-09-28 | 1997-12-02 | Intel Corporation | Method and apparatus for viewing of on-line information service chat data incorporated in a broadcast television program |
US5907672A (en) | 1995-10-04 | 1999-05-25 | Stac, Inc. | System for backing up computer disk volumes with error remapping of flawed memory addresses |
US5740367A (en) | 1995-11-03 | 1998-04-14 | Spilo; Michael L. | Method and apparatus for improving the throughput of a local area network |
US5854903A (en) | 1995-11-07 | 1998-12-29 | Lucent Technologies Inc. | Optimization method for routing and logical network design in multi-service networks |
US5737523A (en) | 1996-03-04 | 1998-04-07 | Sun Microsystems, Inc. | Methods and apparatus for providing dynamic network file system client authentication |
US5956491A (en) | 1996-04-01 | 1999-09-21 | Marks; Daniel L. | Group communications multiplexing system |
US5825877A (en) | 1996-06-11 | 1998-10-20 | International Business Machines Corporation | Support for portable trusted software |
US5828876A (en) | 1996-07-31 | 1998-10-27 | Ncr Corporation | File system for a clustered processing system |
US5828839A (en) | 1996-11-14 | 1998-10-27 | Interactive Broadcaster Services Corp. | Computer network chat room based on channel broadcast in real time |
US5875444A (en) | 1996-12-10 | 1999-02-23 | International Business Machines Corporation | Computer file system check and repair utility |
US5915087A (en) | 1996-12-12 | 1999-06-22 | Secure Computing Corporation | Transparent security proxy for unreliable message exchange protocols |
US5996106A (en) | 1997-02-04 | 1999-11-30 | Micron Technology, Inc. | Multi bank test mode for memory devices |
WO1998035306A1 (en) * | 1997-02-11 | 1998-08-13 | Connected Corporation | File comparison for data backup and file synchronization |
US5950225A (en) | 1997-02-28 | 1999-09-07 | Network Appliance, Inc. | Fly-by XOR for generating parity for data gleaned from a bus |
JP3088331B2 (ja) | 1997-04-10 | 2000-09-18 | 北陸日本電気ソフトウェア株式会社 | 故障シミュレーション方法 |
US5931935A (en) | 1997-04-15 | 1999-08-03 | Microsoft Corporation | File system primitive allowing reprocessing of I/O requests by multiple drivers in a layered driver I/O system |
US5983364A (en) | 1997-05-12 | 1999-11-09 | System Soft Corporation | System and method for diagnosing computer faults |
US5856981A (en) | 1997-05-15 | 1999-01-05 | Lucent Technologies Inc. | Reliable connection oriented networks |
US5876278A (en) | 1997-05-29 | 1999-03-02 | Cheng; Henry | Cooling device |
US6067541A (en) | 1997-09-17 | 2000-05-23 | Microsoft Corporation | Monitoring document changes in a file system of documents with the document change information stored in a persistent log |
USH1860H (en) | 1997-09-26 | 2000-09-05 | Dsc/Celcore, Inc. | Fault testing in a telecommunications switching platform |
US5996086A (en) | 1997-10-14 | 1999-11-30 | Lsi Logic Corporation | Context-based failover architecture for redundant servers |
US6073089A (en) | 1997-10-22 | 2000-06-06 | Baker; Michelle | Systems and methods for adaptive profiling, fault detection, and alert generation in a changing environment which is measurable by at least two different measures of state |
JP4363676B2 (ja) | 1997-10-31 | 2009-11-11 | 株式会社東芝 | コンピュータシステム |
US6101585A (en) | 1997-11-04 | 2000-08-08 | Adaptec, Inc. | Mechanism for incremental backup of on-line files |
US6076148A (en) | 1997-12-26 | 2000-06-13 | Emc Corporation | Mass storage subsystem and backup arrangement for digital data processing system which permits information to be backed up while host computer(s) continue(s) operating in connection with information stored on mass storage subsystem |
US6026402A (en) | 1998-01-07 | 2000-02-15 | Hewlett-Packard Company | Process restriction within file system hierarchies |
US6078932A (en) | 1998-01-13 | 2000-06-20 | International Business Machines Corporation | Point-in-time backup utilizing multiple copy technologies |
US6223306B1 (en) * | 1998-02-27 | 2001-04-24 | Hewlett-Packard Company | Method and apparatus for testing X servers |
US6088694A (en) | 1998-03-31 | 2000-07-11 | International Business Machines Corporation | Continuous availability and efficient backup for externally referenced objects |
US5890959A (en) | 1998-03-31 | 1999-04-06 | Digital Equipment Corporation | High efficiency blower system with integral backflow preventor |
US6279011B1 (en) | 1998-06-19 | 2001-08-21 | Network Appliance, Inc. | Backup and restore for heterogeneous file server environment |
US6119244A (en) | 1998-08-25 | 2000-09-12 | Network Appliance, Inc. | Coordinating persistent status information with multiple file servers |
-
1998
- 1998-07-31 US US09/127,497 patent/US6604118B2/en not_active Expired - Lifetime
-
1999
- 1999-07-28 WO PCT/US1999/017148 patent/WO2000007104A1/en active IP Right Grant
- 1999-07-28 AT AT99937603T patent/ATE278216T1/de not_active IP Right Cessation
- 1999-07-28 EP EP99937603A patent/EP1099165B1/de not_active Expired - Lifetime
- 1999-07-28 DE DE69920713T patent/DE69920713T2/de not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
EP1099165A1 (de) | 2001-05-16 |
ATE278216T1 (de) | 2004-10-15 |
DE69920713D1 (de) | 2004-11-04 |
EP1099165B1 (de) | 2004-09-29 |
US6604118B2 (en) | 2003-08-05 |
US20010044807A1 (en) | 2001-11-22 |
WO2000007104A1 (en) | 2000-02-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69920713T2 (de) | Datei-system bild-übertragung | |
DE60025749T2 (de) | Dateisystemabbildübertragung zwischen ungleichen dateisystemen | |
DE60213867T2 (de) | Vorrichtung zur verwaltung von datenreplikation | |
DE60318687T2 (de) | Herstellen einer gespiegelten kopie unter verwendung inkrementeller divergenz | |
DE602004002216T2 (de) | Verfahren, system und programm für eine inkrementelle virtuelle kopie | |
DE112011100112B4 (de) | Pufferspeicher-platte in blitzkopie-kaskade | |
DE112011100534B4 (de) | Mehrstufiger Sicherungsprozess | |
DE112010004947B4 (de) | Wiederherstellung einer vollständigen Systemsicherung und inkrementeller Sicherungen unter Verwendung von mehreren gleichzeitigen Datenströmen von Einheiten | |
DE60019173T2 (de) | Verfahren und system zum hochparallelen protokollierungs- und wiederherstellungsbetrieb in hauptspeicher-transaktionsverarbeitungssystemen | |
DE69911930T2 (de) | Hochverfügbare dateiprozessoren | |
DE69724846T2 (de) | Mehrweg-Ein/Ausgabespeichersysteme mit Mehrweg-Ein/Ausgabeanforderungsmechanismus | |
DE10112941B4 (de) | System und Verfahren für das parallele Lesen von primären und sekundären Sicherungen zur Wiederherstellung mehrerer gemeinsam benutzter Datenbankdateien | |
DE60317815T2 (de) | Verfahren und system zur bereitstellung einer dauerhaften speicherung von benutzerdaten | |
DE602005000819T2 (de) | Aufrechterhaltung der konsistenz einer fernkopie unter verwendung von virtualisierung | |
DE69833815T2 (de) | Verbesserter Disk-Log mit verteiltem Schreibsystem | |
DE102005012358B4 (de) | Datenschutz unter Verwendung von Daten, die in Schnappschüsse verteilt sind | |
DE60313468T2 (de) | Speicherdienste und -systeme | |
DE4220198A1 (de) | Wiederherstellungsprotokollieren bei vorliegen von schnappschuss-dateien durch ordnen des pufferspeicherladens | |
DE102008015662A1 (de) | Beseitigung | |
DE102009019271A1 (de) | Übertragen von Sequenzzahlen für das Wiederherstellen nach Stromausfall bei einem nichtflüchtigen Speicher | |
DE102004056216A1 (de) | Fernkopiersystem und Speichersystem | |
DE102012201154B4 (de) | Transaktionsspeicher | |
DE10128883A1 (de) | Verfahren und System für die Verteilung von Anwendungsdaten auf verteilte Datenbanken mit verschiedenen Formaten | |
DE112009004772T5 (de) | System für eine steuerung der version von virtuellen platten | |
DE112021002894T5 (de) | On-the- fly- pit-auswahl bei disarter-recovery in der cloud |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition |