DE112021000935T5 - USING BUSINESS CONTINUITY AND DISASTER RECOVERY FOR ANY POINT-IN-TIME BACKUPS - Google Patents

USING BUSINESS CONTINUITY AND DISASTER RECOVERY FOR ANY POINT-IN-TIME BACKUPS Download PDF

Info

Publication number
DE112021000935T5
DE112021000935T5 DE112021000935.4T DE112021000935T DE112021000935T5 DE 112021000935 T5 DE112021000935 T5 DE 112021000935T5 DE 112021000935 T DE112021000935 T DE 112021000935T DE 112021000935 T5 DE112021000935 T5 DE 112021000935T5
Authority
DE
Germany
Prior art keywords
journal
data
stream
backups
backup
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE112021000935.4T
Other languages
German (de)
Inventor
Jehuda Shemer
Valerie Lotosh
Saar Cohen
Erez Sharvit
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
EMC Corp
Original Assignee
EMC IP Holding Co LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US16/785,288 external-priority patent/US11435933B2/en
Priority claimed from US16/785,230 external-priority patent/US11175997B2/en
Application filed by EMC IP Holding Co LLC filed Critical EMC IP Holding Co LLC
Publication of DE112021000935T5 publication Critical patent/DE112021000935T5/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1466Management of the backup or restore process to make the backup process non-disruptive
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1471Saving, restoring, recovering or retrying involving logging of persistent data for recovery
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring

Abstract

Erzeugen von Backups zu einem beliebigen Zeitpunkt (Any-Point-in-Time-Backups) ohne Erzeugung nativer Snapshots. Produktionsdaten werden so gesplittet, dass ein Journalstrom an ein Datenschutzsystem gesendet wird, das lokal oder entfernt sein kann. Der Journalstrom umfasst einen Datenstrom und einen Metadatenstrom. Backups werden im Datenschutzsystem synthetisiert, indem mindestens ein Teil des Journals gerollt wird. Es kann ein Backup für jeden im Journal dargestellten Zeitpunkt synthetisiert werden.Create any-point-in-time backups without creating native snapshots. Production data is split so that a journal stream is sent to a data protection system, which can be local or remote. The journal stream includes a data stream and a metadata stream. Backups are synthesized in the data protection system by rolling at least part of the journal. A backup can be synthesized for each time point represented in the journal.

Description

VERWANDTE ANMELDUNGENRELATED APPLICATIONS

Diese Anmeldung bezieht sich auf die US-Patentanmeldung Nr. 16/785,288 mit dem Titel „USING ANY-PIT BACKUPS FOR RETROACTIVE BACKUP COMPLIANCE AND HARDENING“, die am 7. Februar 2020 eingereicht wurde und deren gesamte Offenbarung durch diesen Verweis hierin aufgenommen wird.This application relates to U.S. Patent Application No. 16/785,288 entitled "USING ANY-PIT BACKUPS FOR RETROACTIVE BACKUP COMPLIANCE AND HARDENING," filed February 7, 2020, the entire disclosure of which is incorporated herein by this reference.

BEREICH DER ERFINDUNGFIELD OF THE INVENTION

Ausführungsformen der vorliegenden Erfindung betreffen allgemein Datenschutz und Datenschutzoperationen. Insbesondere betreffen zumindest einige Ausführungsformen der Erfindung Systeme, Hardware, Software, computerlesbare Medien und Verfahren für Datenschutzoperationen, einschließlich Datensicherungen zu einem beliebigen Zeitpunkt (Any-Point-in-Time-Backups).Embodiments of the present invention relate generally to data protection and data protection operations. More particularly, at least some embodiments of the invention relate to systems, hardware, software, computer-readable media, and methods for data protection operations, including any-point-in-time backups.

HINTERGRUNDBACKGROUND

Computersysteme speichern oft Daten, die einen erheblichen Wert haben. Jedes Unternehmen, das ein Problem mit seinen Daten hat, kann wirtschaftliche Probleme, Kundenprobleme, Vertrauensprobleme und dergleichen erleben. Daher ist die Fähigkeit, Daten zu schützen, ein wichtiger Aspekt vieler Computersysteme. Die Fähigkeit, Daten so schnell und mit so wenig Verlust wie möglich wiederherzustellen, verringert den Umfang und das Ausmaß der durch problematische Daten verursachten Probleme.Computer systems often store data that has significant value. Any business that has a problem with its data can experience economic problems, customer problems, trust problems and the like. Therefore, the ability to protect data is an important aspect of many computer systems. The ability to recover data as quickly and with as little loss as possible reduces the scope and scale of problems caused by problematic data.

Computersysteme verwenden häufig virtuelle Maschinen, um Anwendungen auszuführen. Der Schutz virtueller Maschinen kann jedoch schwierig sein. Konventionell werden Snapshots verwendet, um Sicherungen bzw. Backups bei den virtuellen Maschinen durchzuführen. Zur Durchführung von Snapshots müssen die virtuellen Maschinen jedoch in den Ruhezustand versetzt und stillgelegt werden. Dies kann zu einer Unterbrechung der auf den virtuellen Maschinen laufenden Anwendungen führen.Computer systems often use virtual machines to run applications. However, protecting virtual machines can be difficult. Conventionally, snapshots are used to take backups of the virtual machines. However, in order to perform snapshots, the virtual machines must be hibernated and quiesced. This can disrupt the applications running on the virtual machines.

Darüber hinaus ist es aus praktischer Sicht schwierig, häufige Snapshots zu erstellen. Es gibt viele systemweite Beschränkungen, die sich auf die Anzahl der Snapshots auswirken, die erstellt werden können. Tatsächlich sind die meisten Systeme darauf beschränkt, Snapshots im Bereich von Minuten bis Stunden zu erstellen. Zwar können Spiegelungssysteme eingesetzt werden, um die Häufigkeit der Snapshots zu kompensieren, doch erfordern diese Lösungen erhebliche Speicherressourcen und sind mit einem erheblichen Verwaltungsaufwand verbunden.In addition, from a practical point of view, it is difficult to take frequent snapshots. There are many system-wide limitations that affect the number of snapshots that can be created. In fact, most systems are limited to taking snapshots in the range of minutes to hours. While mirroring systems can be used to compensate for the frequency of snapshots, these solutions require significant storage resources and are associated with significant management overhead.

All diese Faktoren wirken sich auf das Wiederherstellungsziel („Recovery Point Objective“ (RPO)) eines Unternehmens aus. Das RPO drückt eine Beziehung zwischen der Zeit zwischen den Backups und der Datenmenge, die zwischen den Backups verloren gehen könnte, aus. Wenn das RPO eines Unternehmens niedrig gehalten wird, ist das Unternehmen in einer besseren Lage, wenn Daten beschädigt werden oder verloren gehen, als in einer Situation mit einem höheren RPO. Daher besteht die Notwendigkeit, die Art und Weise, wie Daten geschützt werden, zu verbessern.All of these factors affect an organization's recovery point objective (RPO). RPO expresses a relationship between the time between backups and the amount of data that could be lost between backups. When a company's RPO is kept low, the company is in a better position when data is corrupted or lost than it is in a higher RPO situation. Therefore, there is a need to improve the way data is protected.

Figurenlistecharacter list

Um die Art und Weise zu beschreiben, in der zumindest einige der Vorteile und Merkmale der Erfindung erreicht werden können, wird eine genauere Beschreibung der Ausführungsformen der Erfindung durch Bezugnahme auf spezifische Ausführungsformen davon, die in den beigefügten Zeichnungen dargestellt sind, gegeben. In dem Bewusstsein, dass diese Zeichnungen nur typische Ausführungsformen der Erfindung darstellen und daher nicht als Einschränkung ihres Umfangs anzusehen sind, werden Ausführungsformen der Erfindung anhand der beigefügten Zeichnungen mit zusätzlicher Spezifität und Detailgenauigkeit beschrieben und erläutert, wobei:

  • 1 ein Beispiel für ein Datenschutzsystem zeigt, das so konfiguriert ist, dass es Datenschutzoperationen durchführt und Point-in-Time-Backups ohne die Verwendung nativer Snaphots erstellt;
  • 2 ein Beispiel für ein Journal zeigt, das bei der Erstellung von Point-in-Time-Backups verwendet wird;
  • 3 ein Beispiel für Backups zeigt, die von einem Journal in einem Datenschutzsystem erzeugt werden; und
  • 4 ein Beispiel für ein Verfahren zur Erzeugung von Any-Point-in-Time-Backups zeigt.
In order to describe the manner in which at least some of the advantages and features of the invention may be achieved, a more detailed description of embodiments of the invention will be given by reference to specific embodiments thereof that are illustrated in the accompanying drawings. Realizing that these drawings represent only typical embodiments of the invention and are therefore not to be considered as limiting its scope, embodiments of the invention will be described and explained with additional specificity and detail with reference to the accompanying drawings, wherein:
  • 1 shows an example of a data protection system configured to perform data protection operations and create point-in-time backups without using native snapshots;
  • 2 shows an example of a journal used when creating point-in-time backups;
  • 3 shows an example of backups created by a journal in a data protection system; and
  • 4 shows an example of a method for creating any-point-in-time backups.

DETAILLIERTE BESCHREIBUNG EINIGER BEISPIELHAFTER AUSFÜHRUNGSFORMENDETAILED DESCRIPTION OF SOME EXEMPLARY EMBODIMENTS

Ausführungsformen der vorliegenden Erfindung betreffen allgemein Datenschutzoperationen. Insbesondere betreffen zumindest einige Ausführungsformen der Erfindung Systeme, Hardware, Software, computerlesbare Medien und Verfahren für Datenschutzoperationen, einschließlich Datensicherungsoperationen (Backup-Operationen), Wiederherstellungsoperationen, Bilderzeugungsoperationen, Replikationsoperationen, Point-in-Time (PiT)-Operationen, Deduplizierungsoperationen oder dergleichen oder Kombinationen davon.Embodiments of the present invention relate generally to data protection operations. In particular, at least some embodiments of the invention relate to systems, hardware, software, computer-readable media, and methods for data protection operations, including data protection (backup) operations, restore operations, imaging operations, replication operations, point-in-time (PiT) operations, deduplication operations, or the like, or combinations from that.

Ausführungsformen der Erfindung betreffen Systeme und Verfahren zur Durchführung von Backup-Operationen einschließlich PiT-Operationen. Dazu gehört das Erzeugen, Synthetisieren und/oder Speichern von Bildern oder Snapshots oder anderen Backups auf einem Sekundärspeicher (z. B. DELL EMC Data Domain). Ausführungsformen der Erfindung replizieren kontinuierlich einen IO-Strom. Der replizierte IO-Strom kann als Journal formatiert werden, das die Daten und die Metadaten in getrennten Strömen hält. Das Journal wird auf der Sekundärspeichervorrichtung gespeichert, und Backups können aus dem Journal generiert oder synthetisiert werden. Dies wird erreicht, ohne dass Snaphots der Quelldaten durchgeführt werden müssen (daher sind keine nativen Snaphots erforderlich). Ausführungsformen der Erfindung sind im Vergleich zu nativen Snapshots (die oftmals stillgelegte und/oder ruhende Anwendungen erfordern) mit deutlich weniger Overhead verbunden und ermöglichen außerdem eine Backup-Funktionalität zu jedem beliebigen Zeitpunkt (Any-Point-in-Time-Backup). Backups können auch auf einer zweiten Speicherebene gespeichert werden.Embodiments of the invention relate to systems and methods for performing backup operations including PiT operations. This includes creating, synthesizing and/or storing images or snapshots or other backups on secondary storage (e.g. DELL EMC Data Domain). Embodiments of the invention continuously replicate an IO stream. The replicated IO stream can be formatted as a journal that keeps the data and metadata in separate streams. The journal is stored on the secondary storage device and backups can be generated or synthesized from the journal. This is achieved without having to take snapshots of the source data (therefore native snapshots are not required). Embodiments of the invention involve significantly less overhead compared to native snapshots (which often require shut down and/or dormant applications) and also enable any-point-in-time backup functionality. Backups can also be stored on a second storage tier.

1 zeigt ein Beispiel für eine Computerumgebung, in der Ausführungsformen der Erfindung implementiert werden können. 1 zeigt ein Beispiel für ein Datenschutzsystem, das so konfiguriert ist, dass es PiT-Backups erzeugt. Die PiT-Backups können aus einem Journal synthetisiert werden, und die PiT-Backups können generiert werden, ohne dass Snapshots von einem Produktionsort oder -system oder einer Anwendung erforderlich sind. 1 Figure 1 shows an example of a computing environment in which embodiments of the invention may be implemented. 1 shows an example of a data protection system configured to produce PiT backups. The PiT backups can be synthesized from a journal and the PiT backups can be generated without requiring snapshots from a production site or system or application.

In 1 ist ein Host 102 dargestellt. Der Host 102 kann eine Host-Maschine, eine virtuelle Maschine oder eine andere Konfiguration sein. In diesem Beispiel kann der Host 102 eine virtuelle Maschine sein, die mit oder auf einer Virtualisierungsplattform 104 operiert. Die Virtualisierungsplattform 104 kann mit mehreren virtuellen Maschinen verbunden sein und die Hardware für diese virtuellen Maschinen virtualisieren. Hypervisoren und VMware ESX und ESXI sind Beispiele für die Virtualisierungsplattform 104. Die Virtualisierungsplattform 104 ermöglicht die Ausführung von Anwendungen in virtuellen Maschinen auf dem Host 102 oder anderer Hardware.In 1 a host 102 is shown. The host 102 can be a host machine, a virtual machine, or other configuration. In this example, the host 102 may be a virtual machine operating with or on a virtualization platform 104 . The virtualization platform 104 can connect to multiple virtual machines and virtualize the hardware for those virtual machines. Hypervisors and VMware ESX and ESXI are examples of the virtualization platform 104. The virtualization platform 104 allows applications to run in virtual machines on the host 102 or other hardware.

In diesem Beispiel kann die Virtualisierungsplattform 104 mit einem Splitter 106 verbunden sein. Der Splitter 106 kann in die Virtualisierungsplattform 104 eingebettet sein oder innerhalb der Virtualisierungsplattform 104 oder als separate Schicht operieren. Der Splitter 106 ist für die Replikation von Daten konfiguriert und kann beispielsweise Daten seriell oder parallel replizieren. Tatsächlich fängt der Splitter 106 IOs, wie z. B. Schreibvorgänge, ab. Der Schreibvorgang wird an den Produktionsspeicher 108 weitergeleitet oder durchläuft diesen. Eine Kopie der Daten wird an das Datenschutzsystem gesendet.In this example, the virtualization platform 104 can be connected to a splitter 106 . The splitter 106 may be embedded in the virtualization platform 104 or operate within the virtualization platform 104 or as a separate layer. The splitter 106 is configured for replication of data and can, for example, replicate data serially or in parallel. In fact, the splitter 106 catches IOs such as B. writes, from. The write is forwarded to or traverses production memory 108 . A copy of the data is sent to the data protection system.

Insbesondere kann der Splitter 106 Schreibvorgänge auf dem Produktionsspeicher 108 abfangen und die Schreibvorgänge an eine RPA (z. B. Recover Point Appliance) 120 replizieren. Die RPA 120 kann physisch oder virtuell sein. Der Splitter 106 (der eine Anordnung vom Spiegeltyp sein kann) kann die Daten parallel replizieren. Bei der parallelen Replikation oder dem Splitting wird eine Kopie der Daten parallel oder nahezu parallel zu den Daten, die an den Produktionsspeicher 108 gesendet werden, an die RPA 120 gesendet. Bei dem parallelen Splitting muss der Splitter 106 nicht auf eine Bestätigung hinsichtlich der Übergabe des Schreibvorgangs an den Produktionsspeicher 108 warten, bevor er die Daten oder eine Kopie der Daten an die RPA 120 überträgt.In particular, the splitter 106 may intercept writes to the production storage 108 and replicate the writes to an RPA (e.g., Recover Point Appliance) 120 . The RPA 120 can be physical or virtual. The splitter 106 (which may be a mirror-type device) can replicate the data in parallel. In parallel replication or splitting, a copy of the data is sent to the RPA 120 in parallel or nearly parallel to the data being sent to production storage 108 . With parallel splitting, the splitter 106 does not have to wait for an acknowledgment to commit the write to the production storage 108 before transmitting the data or a copy of the data to the RPA 120 .

Bei serieller Übertragung oder seriellem Splitting kann der Splitter in einer Ausführungsform den Schreibvorgang an den Produktionsspeicher 108 senden. Nach Erhalt einer Bestätigung kann der Splitter 106 dann die Daten oder eine Kopie der Daten an die RPA 120 übertragen. Wie unten erläutert, kann die Bestätigung in einigen Fällen vom Aggregator 110 gesendet werden.With serial transfer or serial splitting, in one embodiment, the splitter may send the write to production storage 108 . After receiving an acknowledgment, the splitter 106 can then transmit the data or a copy of the data to the RPA 120. As explained below, the confirmation may be sent by the aggregator 110 in some cases.

Die RPA 120 kann den Aggregator 110 und einen Sekundärspeicher 112 umfassen, der beispielsweise ein Beispiel für einen Speicher der zweiten Ebene ist. Der Sekundärspeicher kann auch andere Komponenten, wie zum Beispiel einen Prozessor und/oder Controller enthalten, der die Verarbeitung der Daten für die Speicherung und/oder die Erstellung von Backups ermöglicht. So können die Schreibvorgänge oder der Datenstrom, die vom Splitter 106 kommen, in ein Journal 116 übertragen und im Sekundärspeicher 112 gespeichert werden. Die Daten 114 können Bilder oder Backups enthalten, die aus dem Journal 116 synthetisiert oder generiert werden. DELL Datadomain ist ein Beispiel für die RPA 120. Der Aggregator 110 kann in die RPA 120 integriert oder nicht in diese integriert sein. Der Aggregator 110 kann jedoch Teil der RPA 120 sein und in dem Datenschutzsystem enthalten sein.The RPA 120 may include the aggregator 110 and a secondary storage 112, which is an example of a second level storage, for example. The secondary storage may also include other components, such as a processor and/or controller, that enable processing of the data for storage and/or backup creation. Thus, the writes or stream of data coming from the splitter 106 can be committed to a journal 116 and stored in secondary storage 112 . Data 114 may include images or backups synthesized or generated from journal 116 . DELL Datadomain is an example of the RPA 120. The aggregator 110 may or may not be integrated with the RPA 120. However, the aggregator 110 may be part of the RPA 120 and included in the data protection system.

Beispielsweise wird der Sekundärspeicher 112 dedupliziert. Zum Beispiel können die Daten 114 (die das Journal 116 enthalten können) in einem Pool mit Signaturen (z. B. Hashes) gespeichert werden, die für jeden Block oder jedes Datum berechnet werden. Mit anderen Worten: die im Sekundärspeicher 112 gespeicherten Daten 114 umfassen, nur als Beispiel, die Datenblöcke oder -pakete (Chunks), Signaturen für jeden der Blöcke, ein Journal und Backups oder Bilder. Ein Volume im Speicher kann eine Folge von Datensignaturen sein - ähnlich einer Liste von Zeigern (Pointer) auf die Daten. Auf diese Weise kann jedes Datenelement einmal gespeichert und mehrfach darauf verwiesen werden, was zu einer Deduplizierung der Daten auf dem Sekundärspeicher 112 führt. In der Regel sind die Signaturen in einer Baumstruktur angeordnet. Das Journal kann unter Verwendung der Signaturen gespeichert werden und wird ebenfalls dedupliziert und nimmt nicht so viel Platz wie die Daten selbst ein.For example, secondary storage 112 is deduplicated. For example, data 114 (which journal 116 may include) may be stored in a pool with signatures (e.g., hashes) computed for each block or datum. In other words, the data 114 stored in secondary storage 112 includes, by way of example only, the blocks or packets (chunks) of data, signatures for each of the blocks, a journal, and backups or images. A volume in storage can be a sequence of data signatures - similar to a list of pointers to the data. In this way, each piece of data can be stored once and referenced multiple times, resulting in data deduplication on secondary storage 112 . The signatures are usually arranged in a tree structure. The journal can be stored using the signatures and is also deduplicated and doesn't take up as much space as the data itself.

Datenkopiervorgänge auf Speichersystemen, wie zum Beispiel dem Sekundärspeicher 112, können sehr effizient sein, da die Daten selbst nicht kopiert werden müssen. Nur die Signaturen müssen kopiert werden. Dies ist ein Beispiel für eine schnelle Kopie. Vorteilhaft ist, dass ganze Datenträger/Volumes in einem Bruchteil der Zeit, die eine Vollkopie erfordern würde, kopiert werden können.Data copy operations on storage systems such as secondary storage 112 can be very efficient because the data itself does not need to be copied. Only the signatures need to be copied. This is an example of a quick copy. The advantage is that entire disks/volumes can be copied in a fraction of the time that a full copy would require.

In deduplizierten Systemen, wie zum Beispiel dem Sekundärspeicher 112 oder allgemeiner der RPA 120, kann die Deduplizierung mit einer festen Chunkgröße erfolgen (z. B. 4K oder 8k Chunks oder Blöcke). Darüber hinaus ist die Deduplizierung auf ein Vielfaches der Chunkgröße ausgerichtet. Folglich sollten IOs oder Schreibvorgänge an diesen Grenzen ausgerichtet sein. Bei einer Chunkgröße von 4K sollten die IOs an 0-, 4K-, 8k-, 12k- usw. Grenzen oder -Adressen ausgerichtet werden. Wenn ein IO nicht ausgerichtet ist (z. B. zielt ein 4K-IO auf die Adresse 2k ab), werden die IOs abgelehnt oder entlang der Ausrichtungsgrenzen unterbrochen.In deduplicated systems, such as secondary storage 112 or, more generally, RPA 120, deduplication can be done with a fixed chunk size (e.g., 4K or 8k chunks or blocks). Additionally, deduplication targets multiples of the chunk size. Consequently, IOs or writes should be aligned with these boundaries. With a chunk size of 4K, the IOs should be aligned on 0, 4K, 8k, 12k, etc. boundaries or addresses. If an IO is not aligned (e.g. a 4K IO targets address 2k), the IOs will be rejected or broken along the alignment boundaries.

Dies kann zumindest am Zielort zu Problemen führen, da der Zielort (die RPA 120 oder der Sekundärspeicher 112) möglicherweise nicht über die Daten verfügt, die zur vollständigen Abdeckung des gesamten Chunks erforderlich sind, oder keinen Zugriff darauf hat. Infolgedessen müssen einige IOs möglicherweise auf bestimmte Weise behandelt werden. Nicht ausgerichtete Chunks, IOs, die kein Vielfaches der Chunkgröße sind, und IOs, die kleiner als die Chunkgröße sind, werden vor oder während des Prozesses der Aufnahme der Chunks in die RPA 120 oder in den Sekundärspeicher 112 verarbeitet. Die Verarbeitung kann zum Beispiel am Splitter 106 oder am Aggregator 110 erfolgen. Diese Chunks können so verarbeitet werden, dass sie ausgerichtet sind und die richtige Größe haben.This can cause problems, at least at the destination, since the destination (the RPA 120 or the secondary storage 112) may not have, or not have access to, the data needed to fully cover the entire chunk. As a result, some IOs may need to be handled in a specific way. Unaligned chunks, IOs that are not a multiple of the chunk size, and IOs that are smaller than the chunk size are processed prior to or during the process of ingesting the chunks into the RPA 120 or secondary storage 112 . Processing may occur at splitter 106 or aggregator 110, for example. These chunks can be processed to align and be the right size.

Beispielsweise kann der Host 102 (oder eine Anwendung oder eine virtuelle Maschine) mit einem IO-Muster verbunden sein, und die Daten im IO-Strom entsprechen möglicherweise nicht den Anforderungen der RPA 120. Ausführungsformen der Erfindung sind in der Lage, verschiedene IO-Muster zu verarbeiten.For example, the host 102 (or an application or virtual machine) may be connected to an IO pattern and the data in the IO stream may not conform to the RPA 120 requirements. Embodiments of the invention are capable of different IO patterns to process.

Ausführungsformen der Erfindung stellen ein Schema oder System zur Durchführung von Datenschutzoperationen einschließlich Datensicherungs- (Backup-) oder Replikationsoperationen ohne die Verwendung nativer Snapshots bereit. Somit ist ein Snapshot des Hosts 102 oder einer virtuellen Maschine oder Anwendung auf dem Host nicht erforderlich. Eine Streaming-IO-Quelle, bei der es sich um den Splitter 106 handeln kann, erfasst oder fängt den IO-Strom ab, der an den Produktionsspeicher 108 gesendet wird. Eine Kopie des IO-Stroms wird an die RPA 120 gesendet. Die Kopie kann jedoch ein anderes Format haben als der abgefangene IO-Strom.Embodiments of the invention provide a scheme or system for performing data protection operations including data protection (backup) or replication operations without using native snapshots. Thus, a snapshot of the host 102 or a virtual machine or application on the host is not required. A streaming IO source, which may be the splitter 106, captures or intercepts the IO stream that is sent to the production storage 108. A copy of the IO stream is sent to the RPA 120. However, the copy may have a different format than the intercepted IO stream.

Die auf diese Weise gespeicherten replizierten Daten ermöglichen Backups mit einem RPO von nahezu Null, Backups zu jedem beliebigen Zeitpunkt (Any-Point-of-Time-Backups) und erfordern auf der Quellseite keine Betäubungs- (Stunning-) oder Stilllegungs- (Quiescing) Operationen.Replicated data stored in this way enables near-zero RPO backups, any-point-of-time backups, and requires no source-side stunning or quiescing operations.

Wie in 1 dargestellt, können beispielhafte Komponenten des Datenschutzsystems eine Streaming-IO-Quelle, wie zum Beispiel den Splitter 106, einen Aggregator 110 und ein Journal 116 umfassen. Das Journal 116 kann verarbeitet werden, um Backups zu erstellen und zu verwalten, die in den Daten 114 auf dem Sekundärspeicher 112 gespeichert sind.As in 1 As illustrated, example components of the data protection system may include a streaming IO source such as the splitter 106, an aggregator 110, and a journal 116. Journal 116 may be processed to create and manage backups stored in data 114 on secondary storage 112 .

In einigen Beispielen werden IOs, die von virtuellen Maschinen oder Hosts gesendet werden, an mindestens zwei Stellen gesendet. Spiegelungsvorrichtungen und Splitter, wie zum Beispiel der Splitter 106, erreichen dieses Ergebnis auf ähnliche Weise. In beiden Fällen gelangen die ursprünglichen IOs auf den Datenträger, z. B. den Produktionsspeicher 108, und eine zweite Kopie wird in das Datenschutzsystem, z. B. die RPA 120, eingeführt.In some examples, IOs sent from virtual machines or hosts are sent to at least two places. Mirroring devices and splitters, such as splitter 106, accomplish this result in a similar manner. In both cases, the original IOs end up on the data medium, e.g. the production storage 108, and a second copy is uploaded to the data protection system, e.g. B. the RPA 120 introduced.

Bei der Verarbeitung von nicht ausgerichteten IOs kann es einige Unterschiede geben, wenn die IOs parallel an die beiden Speicherorte oder seriell an einen Speicherort und dann an den anderen gesendet werden. Im Folgenden wird ein Splitter 106 zur Replikation für virtuelle Maschinen erörtert, bei dem die IOs seriell verarbeitet werden können.There may be some differences in processing unaligned IOs if the IOs are sent in parallel to the two locations or serially to one location and then to the other. A splitter 106 for replication for virtual machines, where the IOs can be processed serially, is discussed below.

Beispielsweise ist die RPA 120 so konfiguriert, dass sie eingehende Datenströme, wie z. B. eingehende Sicherungsdatenströme, verarbeitet. Diese Datenströme sind in der Regel große Datenpakete (Chunks). IOs, die vom Splitter 106 kommen oder von ihm empfangen werden, sind jedoch von einem IO-Muster abhängig, das mit einer Anwendung auf dem Host oder einer virtuellen Maschine verbunden ist, die die IOs erzeugt. Diese IOs können unterschiedliche Größen haben und sind möglicherweise für den Verbrauch durch die RPA 120 nicht optimal konfiguriert. Daher können IOs zwar aufgeteilt und direkt an den Sekundärspeicher 112 übertragen werden, doch umfassen Ausführungsformen der Erfindung einen Aggregator 110, der so konfiguriert ist, dass er einen Puffer bereitstellt. Insbesondere kann der Aggregator 110 die IOs vor dem Senden an den Sekundärspeicher 112 aggregieren oder stapeln. Somit bietet der RPA 120 eine Aggregationsfunktionalität.For example, the RPA 120 is configured to accept incoming data streams, such as B. incoming backup data streams processed. These data streams are usually large data packets (chunks). However, IOs coming from or being received by splitter 106 depend on an IO pattern associated with an application on the host or a virtual machine that generates the IOs. These IOs can be of different sizes and may not be optimally configured for consumption by the RPA 120. Therefore, although IOs can be divided and transmitted directly to the secondary storage 112 , but embodiments of the invention include an aggregator 110 configured to provide a buffer. In particular, the aggregator 110 may aggregate or stack the IOs before sending them to the secondary storage 112 . Thus, the RPA 120 provides aggregation functionality.

Vom Splitter 106 empfangene IOs werden in einem Speicher der RPA 120 oder in einem temporären Speicher, der die Last bewältigen kann (z. B. VM VMDK, Blockspeicher, VSAN usw.), gesammelt oder gepuffert. Sobald sich genügend IOs in dem vom Aggregator 110 verwendeten Speicher oder temporärer Speicher angesammelt haben, werden die angesammelten IOs (z. B. in Stapeln/Batches) als Journal oder Journalstrom an den Sekundärspeicher gesendet. Dadurch wird der Sekundärspeicher 112 von hohen IOPs/kleinen IO-Mustern isoliert und die Übertragung an den Sekundärspeicher 112 optimiert. Die aggregierten IOs entsprechen auch dem mit dem Journal 116 assoziierten Format oder werden so verarbeitet, dass sie diesem entsprechen. Der Aggregator 110 richtet die IOs auch so aus, dass sie vom Sekundärspeicher 112 am besten genutzt werden können.IOs received by the splitter 106 are collected or buffered in a memory of the RPA 120 or in a temporary memory that can handle the load (e.g. VM VMDK, block storage, VSAN, etc.). Once enough IOs have accumulated in the memory or temporary storage used by the aggregator 110, the accumulated IOs are sent (e.g., in batches) to secondary storage as a journal or journal stream. This isolates the secondary storage 112 from high IOPs/low IO patterns and optimizes transfers to the secondary storage 112. The aggregated IOs also conform to, or are processed to conform to, the format associated with the journal 116 . The aggregator 110 also aligns the IOs for the secondary storage 112 to best utilize.

Insbesondere speichert der Aggregator 110 den eingehenden IO-Strom so, dass die IO-Daten an den Deduplizierungsgrenzen ausgerichtet sind. Dies trägt dazu bei, eine optimale Deduplizierung zu gewährleisten, sobald die akkumulierten IOs an den Sekundärspeicher 112 weitergeleitet werden. Das Ausrichten des IO-Stroms kann, wie unten beschrieben, die Aufteilung des IO-Stroms in einen Datenstrom und einen Metadatenstrom beinhalten.In particular, the aggregator 110 stores the incoming IO stream such that the IO data is aligned at the deduplication boundaries. This helps ensure optimal deduplication once the accumulated IOs are forwarded to the secondary storage 112. Alignment of the IO stream may include splitting the IO stream into a data stream and a metadata stream, as described below.

Wie bereits erwähnt, können bestimmte IOs eine weitere Verarbeitung erfordern. Wenn beispielsweise bei einer Chunk-Größe von 4K ein IO von 1K ankommt, kann der Splitter 106 3K aus dem Produktionsspeicher 108 lesen, so dass der IO eine Größe von 4K hat. Der resultierende Chunk kann dann an den Aggregator 110 gesendet werden. Die aus dem Produktionsspeicher 108 gelesenen Daten entsprechen in der Regel den Daten neben den 1K-Daten. So sind beispielsweise der 1K-IO und der 4K-Chunk mit derselben Adresse im Produktionsspeicher 108 verbunden.As already mentioned, certain IOs may require further processing. For example, with a chunk size of 4K, if an IO of 1K arrives, the splitter 106 can read 3K from the production memory 108, so the IO is 4K in size. The resulting chunk can then be sent to the aggregator 110. The data read from production memory 108 typically corresponds to the data adjacent to the 1K data. For example, the 1K IO and the 4K chunk are connected to the same address in production memory 108.

Wenn der Splitter 106 kleine IOs nicht kompensiert, kann der Aggregator 110 kleine IOs durch Lesen aus dem Produktionsspeicher 108 kompensieren. Wenn der 1K-IO beim Aggregator 110 eintrifft, kann der Aggregator 110: den IO nicht bestätigen, aus dem Produktionsspeicher 108 lesen und dann den ursprünglichen IO bestätigen. Dies wird typischerweise durchgeführt, wenn der Splitter 106 seriell splittet.If the splitter 106 does not compensate for small IOs, the aggregator 110 can compensate for small IOs by reading from the production memory 108 . When the 1K-IO arrives at the aggregator 110, the aggregator 110 can: fail to acknowledge the IO, read from the production memory 108, and then acknowledge the original IO. This is typically done when the splitter 106 is serially splitting.

Beim seriellen Splitten wartet der Splitter 106 oder die Streaming-Quelle auf die Bestätigung der Produktionsdaten, bevor er die Daten an den Aggregator 110 sendet. Der Aggregator kann separat bestätigen. Das Komplementieren oder Kompensieren kleiner IOs kann zu Latenzzeiten führen. Nicht ausgerichtete IOs sind jedoch typischerweise selten.With serial splitting, the splitter 106 or streaming source waits for confirmation of the production data before sending the data to the aggregator 110. The aggregator can confirm separately. Complementing or compensating for small IOs can introduce latency. However, unaligned IOs are typically rare.

Daher wird die Ausrichtung der IOs oder Schreibdaten vom Splitter 106 oder dem Aggregator 110 durchgeführt. Genauer gesagt, werden die zu replizierenden oder zu sichernden Daten für die Speicherung im Sekundärspeicher 112 vorbereitet.Therefore, the alignment of the IOs or write data is performed by the splitter 106 or the aggregator 110. More specifically, the data to be replicated or backed up is prepared for storage in secondary storage 112 .

Wie bereits erwähnt, kann das Journal einen Datenstrom und einen Metadatenstrom enthalten. So kann der IO-Strom verarbeitet werden, um dieses Format zu erzeugen. Beispielsweise kann das vom Splitter 106 gesendete oder vom Aggregator 110 ausgegebene Journal zwei Ströme enthalten: einen Datenstrom und einen Metadatenstrom.As mentioned earlier, the journal can contain a data stream and a metadata stream. This is how the IO stream can be processed to produce this format. For example, the journal sent by splitter 106 or output by aggregator 110 may contain two streams: a data stream and a metadata stream.

2 zeigt ein Beispiel für einen Datenstrom und einen Metadatenstrom, die ein beispielhaftes Journal bilden. In 2 ist dargestellt, dass das Journal 200 in einen Datenstrom 202 und einen Metadatenstrom 204 aufgeteilt wird. In diesem Beispiel sind sowohl der Datenstrom 202 als auch der Metadatenstrom 204 als zeitlich inkrementelle Listen von Elementen organisiert. Der Datenstrom 202 enthält die IOs. Die IOs im Datenstrom 202 sind an den Deduplizierungsgrenzen ausgerichtet. Wenn die Chunk-Größe 4K beträgt, enthält jeder Eintrag im Datenstrom 202 Daten, deren Größe ein Vielfaches von 4K ist. Der Metadatenstrom 204 speichert IO-Metadaten, zu denen unter anderem IO-Volumen, Ort, Länge, Zeitstempel, Tags, vom Benutzer bereitgestellte Daten und/oder beschreibende Daten gehören können. Wie in 2 dargestellt, hat jeder Eintrag im Metadatenstrom 204 einen entsprechenden Eintrag im Datenstrom 202. 2 Figure 12 shows an example of a data stream and a metadata stream that make up an example journal. In 2 shows that the journal 200 is divided into a data stream 202 and a metadata stream 204 . In this example, both data stream 202 and metadata stream 204 are organized as time-incremental lists of items. The data stream 202 contains the IOs. The IOs in data stream 202 are aligned at the deduplication boundaries. If the chunk size is 4K, each entry in data stream 202 contains data that is a multiple of 4K in size. Metadata stream 204 stores IO metadata, which may include, but is not limited to, IO volume, location, length, timestamp, tags, user-provided data, and/or descriptive data. As in 2 shown, each entry in metadata stream 204 has a corresponding entry in data stream 202.

Durch die Trennung des Journals 200 in einen Datenstrom 202 und einen Metadatenstrom 204 wird sichergestellt, dass die IO-Ausrichtung nicht durch die Metadaten beeinträchtigt oder beeinflusst wird.Separating the journal 200 into a data stream 202 and a metadata stream 204 ensures that the IO alignment is not compromised or affected by the metadata.

Beispielsweise kann das Journal 200 in einer oder mehreren Dateien gespeichert werden. Beispielsweise kann das Journal 202 auf der Grundlage von Zeitintervallen in Abschnitte unterteilt werden. Die Zeitintervalle können einheitlich sein, müssen es aber nicht. Der Datenstrom 202 und der Metadatenstrom 204 können jedoch in denselben Intervallen unterteilt sein. Jeder Journalabschnitt (als Journaldatei bezeichnet) enthält einen Teil des Datenstroms 202 und einen entsprechenden Teil des Metadatenstroms 204.For example, the journal 200 can be stored in one or more files. For example, the journal 202 can be divided into sections based on time intervals. The time intervals can be uniform, but do not have to be. However, data stream 202 and metadata stream 204 may be divided at the same intervals. Each journal section (referred to as a journal file) contains a portion of data stream 202 and a corresponding portion of metadata stream 204.

Ausführungsformen der Erfindung erzeugen, wie bereits erwähnt, Backups ohne native Snaphots. Vielmehr können die Bilder oder Backups aus dem Journal generiert oder synthetisiert werden. Insbesondere kann bei einer Vollsicherung zum Zeitpunkt T und einer Journaldatei, die zum Zeitpunkt T beginnt und zum Zeitpunkt T + t endet, ein Backup für einen beliebigen Zeitpunkt im Intervall T + t synthetisiert werden. Da die Daten wie zuvor beschrieben dedupliziert werden, können die Kopieroperationen zur Erstellung des neuen Backups schnelle Kopieroperationen sein und sind daher effizient.As previously mentioned, embodiments of the invention create backups without native snapshots. Rather, the images or backups can be generated or synthesized from the journal. In particular, given a full backup at time T and a journal file starting at time T and ending at time T + t, a backup can be synthesized for any time in the interval T + t. Since the data is deduplicated as previously described, the copy operations to create the new backup can be fast copy operations and are therefore efficient.

Um zum Beispiel ein Backup zum Zeitpunkt T1 zu erstellen, kann eine Kopie einer Vollsicherung (Voll-Backup) vom Zeitpunkt T verwendet werden. Die Einträge im Journal, die zum Zeitpunkt T beginnen und zum Zeitpunkt T1 enden, werden dann auf die Vollsicherung angewendet - dies ist ein Beispiel für das Rollen des Journals oder der Journaldatei. Dadurch wird eine Vollsicherung zum Zeitpunkt T1 synthetisiert. Beim Kopieren der Journaleinträge werden die IOs aus dem Journal an den im Metadatenstrom spezifizierten Ort kopiert.For example, to create a backup at time T1, a copy of a full backup from time T can be used. The entries in the journal starting at time T and ending at time T1 are then applied to the full backup - this is an example of journal or journal file scrolling. This synthesizes a full backup at time T1. When copying the journal entries, the IOs are copied from the journal to the location specified in the metadata stream.

Da die IOs im Journal in der Reihenfolge ihres Eintreffens gespeichert werden, wird durch das Rollen oder Anwenden der Einträge im Journal in der Reihenfolge eine korrekte Darstellung der Daten zum Zeitpunkt T1 erzeugt. Da die Einträge im Journal in der richtigen Reihenfolge angeordnet werden, ist das Kopieren in das neue Backup eine schnelle Kopie, die keinen zusätzlichen Speicherplatz beansprucht. Auch wenn es sich bei den Kopieroperationen um schnelle Kopieroperationen handelt (bei denen Fingerabdrücke oder Signaturen und nicht die eigentlichen Daten kopiert werden), benötigen diese Vorgänge dennoch Zeit. Die Zeit hängt von der Menge des Journals ab, das verarbeitet oder gerollt wird. Auf diese Weise synthetisierte Bilder (Images) oder Backups können in einer bestimmten Kadenz, ad hoc (z. B. als Reaktion auf eine Kundenanfrage), für interne Zwecke, Disaster-Recovery-Zwecke, Business-Recovery-Zwecke oder dergleichen erstellt werden.Since the IOs are stored in the journal in the order in which they arrive, scrolling or applying the entries in the journal in order produces a correct representation of the data at time T1. Since the entries in the journal are arranged in the correct order, copying to the new backup is a fast copy that does not take up additional disk space. Even though the copy operations are fast copy operations (where fingerprints or signatures are copied rather than the actual data), these operations still take time. The time depends on the amount of journal being processed or rolled. Images synthesized in this way or backups can be created in a certain cadence, ad hoc (e.g. in response to a customer request), for internal purposes, disaster recovery purposes, business recovery purposes or the like.

Beispielsweise kann der Sekundärspeicher für sequentielle IOs optimiert sein. Das Journal kann so verarbeitet werden, dass es mit der Konfiguration des Sekundärspeichers in Einklang gebracht wird. Beispielsweise werden die Schreibvorgänge im Journal in einer Reihenfolge sortiert, die die Schreibvorgänge sequentieller macht, wobei gleichzeitig die Schreibreihenfolge beibehalten wird. Beispielsweise können die IOs in aufsteigender Reihenfolge auf der Grundlage der IO-Position oder -Adresse sortiert werden. Wenn sich zwei Schreibvorgänge (ganz oder teilweise) überschneiden, sollte der (zeitlich) spätere IO in der Sortierung weiter hinten stehen. Wenn ein IO vollständig von einem oder mehreren späteren IOs abgedeckt wird, kann zumindest der IO, der überschrieben wird, übersprungen werden, da er überschrieben wird.For example, the secondary storage can be optimized for sequential IOs. The journal can be processed to match the secondary storage configuration. For example, the writes in the journal are sorted in an order that makes the writes more sequential while preserving the write order. For example, the IOs can be sorted in ascending order based on IO position or address. If two write processes (completely or partially) overlap, the (chronologically) later IO should be further back in the sorting. If an IO is completely covered by one or more later IOs, at least the IO being overwritten can be skipped since it will be overwritten.

3 zeigt eine detailliertere Ansicht des Datenschutzsystems und veranschaulicht die Art und Weise, in der Backups und das Journal gespeichert werden. In 3 ist ein Splitter 302 dargestellt, der Daten an einen Aggregator 304 sendet. Der Aggregator 304 kann Datenströme senden, die zusammen ein Journal bilden. 3 shows a more detailed view of the data protection system and illustrates the way in which backups and the journal are stored. In 3 a splitter 302 is shown sending data to an aggregator 304 . The aggregator 304 can send streams of data that together form a journal.

Der Aggregator 304 kann einige Verarbeitungen durchführen, wie z. B. die zuvor beschriebene Randausrichtung (Boundary Alignment) und das Stapeln (Batching) der Daten für große IO-Übertragungen an den Sekundärspeicher 330. Der Aggregator 304 kann für diese Zwecke einen temporären Speicher 306 verwenden.The aggregator 304 may perform some processing such as B. the previously described boundary alignment (boundary alignment) and batching (batching) of the data for large IO transfers to the secondary storage 330. The aggregator 304 can use a temporary storage 306 for these purposes.

Der Aggregator kann einen Datenstrom erzeugen, der für ein Journal repräsentativ ist. Das Journal 320 kann einen Metadatenstrom 306 und einen Datenstrom 308 enthalten. Das Journal 320 kann zum Erstellen oder Synthetisieren von Backups verwendet werden. 3 zeigt Backups, die in einer bestimmten Kadenz synthetisiert werden können. Die Daten oder Backups können ein Backup 310 enthalten, das einem Zeitpunkt T0 entsprechen kann. Unter Verwendung der Journaldatei 312, die einem Zeitintervall des Journals 320 entspricht, kann das Backup 314 aus dem Backup 310 und der Journaldatei 312 erstellt werden. Somit kann das Backup 314 einem Zeitpunkt T1 entsprechen. Mit Hilfe des Backups 314 und der Journaldatei 316 kann ein Backup erstellt werden, das dem Zeitpunkt T2 entspricht. Das Journal oder Teile davon können also dazu verwendet werden, Backups zu synthetisieren. Wie bereits erwähnt, können diese Backups Signaturen enthalten, wodurch eine schnelle Kopie durchgeführt werden kann. Die eigentlichen Chunks 318 können ebenfalls im Sekundärspeicher oder in einem anderen Speicher gespeichert werden.The aggregator can generate a stream of data that is representative of a journal. Journal 320 may include metadata stream 306 and data stream 308 . The journal 320 can be used to create or synthesize backups. 3 shows backups that can be synthesized at a specific cadence. The data or backups may include a backup 310, which may correspond to a time T0. Using the journal file 312 corresponding to a time interval of the journal 320, the backup 314 can be created from the backup 310 and the journal file 312. Thus, the backup 314 may correspond to a time T1. With the help of the backup 314 and the journal file 316, a backup can be created which corresponds to the time T2. So the journal or parts of it can be used to synthesize backups. As mentioned, these backups can include signatures, which allows for a quick copy to be performed. The actual chunks 318 may also be stored in secondary storage or other storage.

In diesem Beispiel kann die Kadenz, mit der die Backups erstellt werden, mit der Anzahl der Voll-Backups und dem gewünschten RPO abgestimmt werden. Eine längere Kadenz kann zu einem höheren RPO führen, während eine kürzere Kadenz das RPO senken kann, aber auch Auswirkungen auf die Kapazität des Sekundärspeichers 330 haben kann.In this example, the cadence at which the backups are taken can be balanced with the number of full backups and the desired RPO. A longer cadence may result in a higher RPO, while a shorter cadence may lower the RPO, but may also impact secondary storage 330 capacity.

Anders ausgedrückt ist es schwierig, ein einziges Vollbild und das Journal aufzubewahren, da die Zeit, die benötigt wird, um das Journal auf einen bestimmten Zeitpunkt zu rollen, beträchtlich sein kann. Die Erstellung eines Voll-Backups für jeden Zeitpunkt würde es ermöglichen, ältere Bilder zu löschen. Dieser Ansatz kann jedoch erheblichen Speicherplatz erfordern. Durch die Wahl der Kadenz können diese konkurrierenden Belange der Anzahl der Vollsicherungen und der Rollzeit (Rolling-Time) des Journals ausgeglichen werden.In other words, it is difficult to keep a single frame and the journal because the time it takes to scroll the journal to any given point in time can be significant. Creating a full backup for each point in time would allow older images to be deleted. However, this approach can require significant storage space. By choosing the cadence these competing concerns of the number of full backups and the rolling time of the journal can be balanced.

Der Sekundärspeicher 330 kann auch (z. B. über einen Controller oder einen anderen Manager) die Möglichkeit bieten, Speicherplatz freizugeben. Je älter die Backups werden, desto geringer ist der Bedarf an einer vollen Auflösung. Beispielsweise können ältere Voll-Backups aufbewahrt und zumindest die entsprechenden Journaldateien gelöscht werden, da diese Journale in den Voll-Backups enthalten sind. Alternativ dazu können ältere Backups selektiv gelöscht werden. Statt einer Sicherung pro Stunde kann die Anzahl der Sicherungen auf eine pro Tag oder eine pro Woche ausgedünnt werden.Secondary storage 330 may also provide the ability (e.g., via a controller or other manager) to free up disk space. The older the backups become, the less the need for a full resolution. For example, older full backups can be kept and at least the corresponding journal files can be deleted, since these journals are included in the full backups. Alternatively, older backups can be selectively deleted. Instead of one backup per hour, the number of backups can be reduced to one per day or one per week.

Neuere Bilder können in voller Auflösung gespeichert werden. Folglich bieten die neueren Bilder eine Funktionalität zu einem beliebigen Zeitpunkt (Any-Point-in-Time-Funktionalität). Diese Funktionalität wird mit zunehmendem Alter der Bilder reduziert. Beispielsweise und wenn alle Journalinformationen bestehen bleiben, können Vollbilder ohne Datenverlust gelöscht werden (mit Ausnahme des ersten Backups). Die Wiederherstellung eines bestimmten Zeitpunkts kann jedoch beträchtliche Zeit in Anspruch nehmen, um das Journal zu rollen.Newer images can be saved in full resolution. Consequently, the newer images offer any-point-in-time functionality. This functionality is reduced as the images age. For example, and if all journal information remains, full images can be deleted without data loss (except for the first backup). However, restoring to a specific point in time can take considerable time to scroll the journal.

Ausführungsformen der Erfindung sind in der Lage, Vollsicherungen (Voll-Backups) in einer bestimmten Kadenz zu erstellen. Die Entscheidung, wann ein Backup erstellt werden soll, muss jedoch nicht durch eine zeitliche Kadenz bestimmt sein. So kann beispielsweise ein neues Backup auf der Grundlage der Anzahl der IOs oder der Datenmenge im Journal erstellt werden. So kann beispielsweise alle 100 MB ein neues Backup erstellt werden. Alternativ können Backups auf der Grundlage der Prozessor-/Speicherressourcen für das Rollen oder auf der Grundlage der erwarteten Rollzeit erstellt werden. In einem anderen Beispiel können Backups aus Compliance-Gründen oder auf der Grundlage von Benutzeranforderungen erstellt werden.Embodiments of the invention are able to create full backups in a certain cadence. However, the decision as to when to create a backup does not have to be determined by a chronological cadence. For example, a new backup can be created based on the number of IOs or the amount of data in the journal. For example, a new backup can be created every 100 MB. Alternatively, backups can be created based on processor/memory resources for rolling or based on expected rolling time. In another example, backups can be created for compliance reasons or based on user requirements.

Wenn die Parallelität der Aktualisierung des Bildes während des Rollens begrenzt ist (z. B. aufgrund der Anzahl der Schreibhandles, die eine Datei öffnen können), kann das Voll-Backup beim schnellen Kopieren in mehrere Slabs aufgeteilt werden (z. B. 16-GB-Slabs) und jeder Slab kann parallel verarbeitet werden. Nachdem die IOs gerollt wurden, werden die Slabs zusammengefügt, um das Voll-Backup zu bilden. Dies ist eine Optimierung für die Rollgeschwindigkeit.If the parallelism of updating the image during scrolling is limited (e.g. due to the number of write handles that can open a file), when copying quickly the full backup can be divided into several slabs (e.g. 16- GB slabs) and each slab can be processed in parallel. After the IOs are rolled, the slabs are merged to form the full backup. This is an optimization for scroll speed.

Beim Rollen des Bildes können die Metadaten analysiert werden, um nach IOs zu suchen, die in dem zu verarbeitenden Intervall mehrfach geschrieben wurden. Es muss nur die letzte kopiert werden.When scrolling the image, the metadata can be analyzed to look for IOs that have been written multiple times in the interval to be processed. Only the last one needs to be copied.

4 zeigt ein Beispiel für ein Verfahren zur Erstellung von Backups. Das Verfahren 400 kann mit der Aufteilung/dem Splitten 402 eines Quell-IO-Stroms beginnen. Der IO-Strom kann auf einem Host auftreten und mit einer oder mehreren Anwendungen verbunden sein. Der IO-Strom kann mit einem bestimmten Volume oder einer Reihe von Volumes verbunden sein. Der IO-Strom kann beispielsweise Schreibvorgänge einer Anwendung auf einem Produktionsspeicher enthalten, und der IO-Strom kann von einem Splitter empfangen werden, der den IO-Strom aufteilt. Der Splitter kann den ursprünglichen IO-Strom an den Produktionsspeicher senden, und eine Kopie des IO-Stroms wird an ein Datenschutzsystem oder einen Aggregator übertragen. Der IO-Strom kann in Übereinstimmung mit einem IO-Muster der Quelle übertragen werden. 4 shows an example of a procedure for creating backups. Method 400 may begin with partitioning/splitting 402 a source IO stream. The IO stream can occur on a host and be associated with one or more applications. The IO stream can be associated with a specific volume or a range of volumes. For example, the IO stream may include writes by an application to production storage, and the IO stream may be received by a splitter that splits the IO stream. The splitter can send the original IO stream to production storage, and a copy of the IO stream is sent to a data protection system or aggregator. The IO stream can be transmitted in accordance with an IO pattern of the source.

Der IO-Strom wird von dem Datenschutzsystem oder einem Aggregator aggregiert 404. Das Aggregieren 404 des IO-Stroms kann die Aufteilung des IO-Stroms in einen Datenstrom und einen Metadatenstrom umfassen (falls erforderlich oder falls nicht bereits durch den Splitter durchgeführt). Der Aggregator kann auch die Ausrichtung und andere Funktionen, wie zuvor beschrieben, durchführen. Der Datenstrom und der Metadatenstrom bilden zusammen das Journal. Das Journal kann an den Sekundärspeicher übertragen werden. Das Journal wird dann im Sekundärspeicher gespeichert 406. Bei der Speicherung des Journals können der Datenstrom und der Metadatenstrom getrennt gehalten werden. Darüber hinaus kann das Journal in Journaldateien unterteilt werden, wobei jede Journaldatei einem Intervall entspricht, das auf verschiedenen Faktoren, wie zum Beispiel Zeit, Datenmenge, RPO-Erwartungen oder dergleichen, oder einer Kombination davon basieren kann.The IO stream is aggregated 404 by the data protection system or an aggregator. Aggregating 404 the IO stream may include splitting the IO stream into a data stream and a metadata stream (if necessary or if not already done by the splitter). The aggregator can also perform targeting and other functions as previously described. The data stream and the metadata stream together form the journal. The journal can be transferred to secondary storage. The journal is then stored 406 in secondary storage. When storing the journal, the data stream and metadata stream may be kept separate. Additionally, the journal may be divided into journal files, with each journal file corresponding to an interval that may be based on various factors such as time, amount of data, RPO expectations, or the like, or a combination thereof.

Sobald das Journal gespeichert ist (oder während das Journal gespeichert wird, zumindest weil das Journal als Stream empfangen wird und nicht notwendigerweise anhält), können Backups aus dem Journal generiert werden 408.Once the journal is saved (or while the journal is being saved, at least because the journal is received as a stream and not necessarily stopping), backups can be generated from the journal 408.

Beispielsweise wird das Datenschutzsystem mit einer Vollsicherung vor dem Start des Journals gestartet. Dann kann durch Rollen des Journals relativ zum Backup ein neues Backup erzeugt werden. Dieser Prozess kann fortgesetzt werden, so dass die Backups auf der Grundlage vorheriger Backups und des Journals erstellt werden können. Mit der Zeit können Teile des Journals und/oder vorhandene Backups/Bilder gelöscht werden.For example, the data protection system is started with a full backup before the start of the journal. A new backup can then be created by scrolling the journal relative to the backup. This process can be continued so that the backups can be created based on previous backups and the journal. Over time, parts of the journal and/or existing backups/images may be erased.

Ausführungsformen der Erfindung, wie die hierin offenbarten Beispiele, können in vielerlei Hinsicht von Vorteil sein. Zum Beispiel, und wie aus der vorliegenden Offenbarung ersichtlich ist, können eine oder mehrere Ausführungsformen der Erfindung eine oder mehrere vorteilhafte und unerwartete Wirkungen in beliebiger Kombination liefern, von denen einige Beispiele im Folgenden aufgeführt sind. Es sei darauf hingewiesen, dass solche Effekte weder beabsichtigt sind, noch so ausgelegt werden sollten, dass sie den Umfang der beanspruchten Erfindung in irgendeiner Weise einschränken. Es sei ferner darauf hingewiesen, dass nichts hierin als ein wesentliches oder unverzichtbares Element einer Erfindung oder Ausführungsform ausgelegt werden sollte. Vielmehr können verschiedene Aspekte der offenbarten Ausführungsformen in vielfältiger Weise kombiniert werden, um weitere Ausführungsformen zu definieren. Solche weiteren Ausführungsformen werden als im Rahmen dieser Offenbarung liegend betrachtet. Ebenso sollte keine der Ausführungsformen, die in den Anwendungsbereich dieser Offenbarung fallen, so ausgelegt werden, dass sie eine bestimmte Aufgabe löst oder auf die Lösung einer bestimmten Aufgabe bzw. bestimmter Aufgaben beschränkt ist. Auch sollte keine dieser Ausführungsformen so ausgelegt werden, dass sie (eine) bestimmte(n) technische(n) Wirkung(en) oder (eine) bestimmte(n) Lösung(en) implementiert oder auf deren Implementierung beschränkt ist. Schließlich ist es nicht erforderlich, dass jede Ausführungsform jede der hierin offenbarten vorteilhaften und unerwarteten Wirkungen implementiert.Embodiments of the invention, such as the examples disclosed herein, can be advantageous in a number of ways. For example, and as will be apparent from the present disclosure, one or more embodiments of the invention provide one or more beneficial and unexpected effects in any combination, some examples of which are listed below. It should be noted that such effects are not intended nor should they be construed as limiting the scope of the claimed invention in any way. It is further noted that nothing herein should be construed as an essential or indispensable element of any invention or embodiment. Rather, various aspects of the disclosed embodiments can be combined in a variety of ways to define further embodiments. Such other embodiments are considered to be within the scope of this disclosure. Likewise, none of the embodiments that fall within the scope of this disclosure should be construed as solving any particular problem or limited to solving any particular problem or problems. Also, none of these embodiments should be construed as implementing or limited to implementing any particular technical effect(s) or solution(s). Finally, it is not necessary for every embodiment to implement every advantageous and unexpected effect disclosed herein.

Im Folgenden werden Aspekte von beispielhaften Betriebsumgebungen für verschiedene Ausführungsformen der Erfindung erörtert. Diese Diskussion ist nicht dazu gedacht, den Umfang der Erfindung oder die Anwendbarkeit der Ausführungsformen in irgendeiner Weise einzuschränken.Aspects of exemplary operating environments for various embodiments of the invention are discussed below. This discussion is not intended to limit the scope of the invention or the applicability of the embodiments in any way.

Im Allgemeinen können Ausführungsformen der Erfindung in Verbindung mit Systemen, Software und Komponenten implementiert werden, die einzeln und/oder gemeinsam PiT-Backup-Erzeugungsoperationen implementieren und/oder deren Implementierung bewirken. Solche Operationen können Datenlese-/schreib-/lösch-Operationen, Datendeduplizierungsoperationen, Datensicherungsoperationen, Datenwiederherstellungsoperationen, Datencloningperationen, Datenarchivierungsoperationen, PiT-Operationen, Syntheseoperationen und Disaster-Recovery-Operationen umfassen, sind jedoch nicht darauf beschränkt. Allgemeiner ausgedrückt, umfasst der Schutzumfang der Erfindung jede Betriebsumgebung, in der die offenbarten Konzepte nützlich sein können.In general, embodiments of the invention may be implemented in connection with systems, software, and components that individually and/or collectively implement and/or cause implementation of PiT backup creation operations. Such operations may include, but are not limited to, data read/write/erase operations, data deduplication operations, data backup operations, data restore operations, data cloning operations, data archiving operations, PiT operations, synthesis operations, and disaster recovery operations. More generally, the scope of the invention includes any operating environment in which the disclosed concepts may be useful.

Zumindest einige Ausführungsformen der Erfindung ermöglichen die Implementierung der offenbarten Funktionalität in bestehende Datensicherungsplattformen, wie z. B. die Dell-EMC NetWorker- und Avamar-Plattformen und die zugehörige Sicherungssoftware, sowie Speicherumgebungen, wie zum Beispiel die Dell-EMC Datadomain-Speicherumgebung. Im Allgemeinen ist der Schutzumfang der Erfindung jedoch nicht auf eine bestimmte Datensicherungsplattform oder Datenspeicherumgebung beschränkt.At least some embodiments of the invention enable the disclosed functionality to be implemented in existing data protection platforms, such as e.g. B. the Dell-EMC NetWorker and Avamar platforms and associated backup software, as well as storage environments such as the Dell-EMC Datadomain storage environment. In general, however, the scope of the invention is not limited to any particular backup platform or data storage environment.

Neue und/oder modifizierte Daten, die in Verbindung mit einigen Ausführungsformen gesammelt und/oder erzeugt werden, können in einer Datensicherungsumgebung gespeichert werden, die die Form einer öffentlichen oder privaten Cloud-Speicherumgebung, einer lokalen (On-Premise-) Speicherumgebung und von hybriden Speicherumgebungen annehmen kann, die öffentliche und private Elemente enthalten. Jede dieser Beispielspeicherumgebungen kann teilweise oder vollständig virtualisiert sein. Die Speicherumgebung kann ein Rechenzentrum umfassen oder aus einem solchen bestehen, das in der Lage ist, Lese-, Schreib-, Lösch-, Sicherungs-, Wiederherstellungs- und/oder Cloning-Operationen durchzuführen, die von einem oder mehreren Clients oder anderen Elementen der Betriebsumgebung initiiert werden. Wenn eine Datensicherung Gruppen von Daten mit jeweils unterschiedlichen Merkmalen umfasst, können diese Daten verschiedenen jeweiligen Zielen in der Speicherumgebung zugeordnet und gespeichert werden, wobei die Ziele jeweils einer Datengruppe mit einem oder mehreren bestimmten Merkmalen entsprechen.New and/or modified data collected and/or generated in connection with some embodiments may be stored in a backup environment, which may take the form of a public or private cloud storage environment, a local (on-premise) storage environment, and hybrid Can accept storage environments that contain public and private elements. Each of these example storage environments may be partially or fully virtualized. The storage environment may include or consist of a data center capable of performing read, write, delete, backup, restore and/or cloning operations requested by one or more clients or other elements of the operating environment are initiated. When a backup includes groups of data, each with different characteristics, that data can be associated and stored with different respective targets in the storage environment, each target corresponding to a group of data with one or more particular characteristics.

Beispiele für öffentliche Cloud-Speicherumgebungen, die in Verbindung mit den Ausführungsformen der Erfindung verwendet werden können, sind unter anderem Microsoft Azure, Amazon AWS und Google Cloud. Im Allgemeinen ist der Schutzumfang der Erfindung jedoch nicht auf die Verwendung eines bestimmten Typs oder einer bestimmten Implementierung von Cloud-Speicherung beschränkt.Examples of public cloud storage environments that may be used in connection with embodiments of the invention include Microsoft Azure, Amazon AWS, and Google Cloud. In general, however, the scope of the invention is not limited to the use of any particular type or implementation of cloud storage.

Zusätzlich zur Speicherumgebung kann die Betriebsumgebung auch einen oder mehrere Clients umfassen, die in der Lage sind, Daten zu sammeln, zu modifizieren und zu erstellen. Als solcher kann ein bestimmter Client eine oder mehrere Instanzen einer oder mehrerer Anwendungen, die solche Operationen in Bezug auf Daten durchführen, verwenden oder anderweitig damit verbunden sein.In addition to the storage environment, the operating environment may also include one or more clients capable of collecting, modifying, and creating data. As such, a particular client may use or otherwise be associated with one or more instances of one or more applications that perform such operations on data.

Vorrichtungen in der Betriebsumgebung können die Form von Software, physischen Maschinen oder virtuellen Maschinen (VM) oder einer beliebigen Kombination davon haben, wobei jedoch keine bestimmte Geräteimplementierung oder - konfiguration für irgendeine Ausführungsform erforderlich ist. Auch die Komponenten des Datenschutzsystems, wie zum Beispiel Datenbanken, Speicherserver, Speichervolumes (LUNs), Speicherplatten, Replikationsdienste, Sicherungsserver, Wiederherstellungsserver, Backup-Clients und Wiederherstellungs-Clients können ebenfalls die Form von Software, physischen Maschinen oder virtuellen Maschinen (VM) annehmen, wobei für keine Ausführungsform eine bestimmte Komponentenimplementierung erforderlich ist. Bei Verwendung von VMs kann ein Hypervisor oder ein anderer VMM (Virtual Machine Monitor) zur Erstellung und Steuerung der VMs eingesetzt werden. Der Begriff VM umfasst, ist aber nicht beschränkt auf, jede Virtualisierung, Emulation oder andere Darstellung eines oder mehrerer Computersystemelemente, wie z. B. Computersystemhardware. Eine VM kann auf einer oder mehreren Computerarchitekturen beruhen und bietet die Funktionalität eines physischen Computers. Eine VM-implementierung kann Hardware und/oder Software umfassen oder zumindest die Verwendung von Hardware und/oder Software beinhalten. Eine Abbildung einer VM kann verschiedene Formen annehmen, wie z. B. eine .VMDK-Datei.Devices in the operating environment may take the form of software, physical machines, or virtual machines (VM), or any combination thereof, but no particular device implementation or configuration is required for any embodiment. Also, the components of the data protection system, such as databases, storage servers, storage volumes (LUNs), storage disks, replication services, backup servers, recovery servers, backup clients, and recovery clients can also take the form of software, physical machines or virtual machines (VM), with no embodiment requiring a specific component implementation. When using VMs, a hypervisor or other VMM (Virtual Machine Monitor) can be used to create and control the VMs. The term VM includes, but is not limited to, any virtualization, emulation, or other representation of one or more computer system elements, such as B. Computer system hardware. A VM can be based on one or more computer architectures and provides the functionality of a physical computer. A VM implementation may involve hardware and/or software, or at least involve the use of hardware and/or software. A mapping of a VM can take various forms, such as: B. a .VMDK file.

Wie hierin verwendet, ist der Begriff „Daten“ weit gefasst. Daher umfasst dieser Begriff beispielsweise und ohne darauf beschränkt zu sein Datensegmente, wie sie zum Beispiel durch Datenstromsegmentierungsprozesse erzeugt werden können, Datenblöcke (Chunks), atomare Daten, E-Mails, Objekte jeder Art, Dateien jeder Art, einschließlich Mediendateien, Textverarbeitungsdateien, Tabellenkalkulationsdateien und Datenbankdateien, sowie Kontakte, Verzeichnisse, Unterverzeichnisse, Volumes und jede Gruppe von einem oder mehreren der vorgenannten.As used herein, the term "data" is broad. Thus, for example and not limited to, this term includes data segments such as may be produced by data stream segmentation processes, data blocks (chunks), atomic data, emails, objects of any kind, files of any kind including media files, word processing files, spreadsheet files, and Database files, as well as contacts, directories, subdirectories, volumes, and any group of one or more of the foregoing.

Beispielhafte Ausführungsformen der Erfindung sind auf jedes System anwendbar, das in der Lage ist, verschiedene Arten von Objekten in analoger, digitaler oder anderer Form zu speichern und zu verarbeiten. Obwohl Begriffe wie Dokument, Datei, Segment, Block oder Objekt beispielhaft verwendet werden können, sind die Grundsätze der Offenbarung nicht auf eine bestimmte Form der Darstellung und Speicherung von Daten oder anderen Informationen beschränkt. Vielmehr sind diese Grundsätze gleichermaßen auf jedes Objekt anwendbar, das in der Lage ist, Informationen darzustellen.Exemplary embodiments of the invention are applicable to any system capable of storing and processing various types of objects in analog, digital, or other form. Although terms such as document, file, segment, block, or object may be used as examples, the principles of the disclosure are not limited to any particular form of representing and storing data or other information. Rather, these principles are equally applicable to any object capable of representing information.

Wie hierin verwendet, ist der Begriff „Sicherung“ oder „Backup“ weit zu verstehen. Als solche umfassen Beispiele für Backups, die in Verbindung mit den Ausführungsformen der Erfindung verwendet werden können, unter anderem Voll-Backups, Teil-Backups, Klone, Snaphots und inkrementelle oder differenzielle Backups.As used herein, the term "backup" or "backup" is to be interpreted broadly. As such, examples of backups that may be used in connection with embodiments of the invention include, but are not limited to, full backups, partial backups, clones, snapshots, and incremental or differential backups.

Es folgen einige weitere beispielhafte Ausführungsformen der Erfindung. Diese sind nur beispielhaft dargestellt und sollen den Schutzumfang der Erfindung in keiner Weise einschränken.Some other exemplary embodiments of the invention follow. These are presented by way of example only and are not intended to limit the scope of the invention in any way.

Ausführungsform 1. Verfahren, umfassend das Splitten eines von einer Quelle empfangenen IO-Stroms, das Aggregieren des IO-Stroms und das Erzeugen eines Journals aus dem IO-Strom, wobei das Journal einen Datenstrom und einen Metadatenstrom umfasst, das Speichern des Journals in einem Sekundärspeicher und das Synthetisieren von Backups aus dem Journal.Embodiment 1. A method comprising splitting an IO stream received from a source, aggregating the IO stream and generating a journal from the IO stream, the journal comprising a data stream and a metadata stream, storing the journal in one Secondary storage and synthesizing backups from the journal.

Ausführungsform 2. Das Verfahren der Ausführungsform 1, das ferner das Erzeugen der Backups gemäß einer Kadenz umfasst, wobei die Kadenz auf mindestens einem der folgenden Faktoren basiert: Zeit, Journalgröße, erwartete Journalrollzeit, erwartetes RPO.Embodiment 2. The method of embodiment 1, further comprising creating the backups according to a cadence, the cadence being based on at least one of the following factors: time, journal size, expected journal roll time, expected RPO.

Ausführungsform 3. Das Verfahren der Ausführungsform 1 und/oder 2, das ferner das Aufteilen des Journals in Journaldateien umfasst, wobei jede Journaldatei einen Teil des Datenstroms und einen entsprechenden Teil des Metadatenstroms enthält.Embodiment 3. The method of embodiment 1 and/or 2, further comprising dividing the journal into journal files, each journal file containing a portion of the data stream and a corresponding portion of the metadata stream.

Ausführungsform 4. Das Verfahren der Ausführungsform 1, 2 und/oder 3, das ferner das Erzeugen eines neuen Backups aus einem vorherigen Backup und einer der Journaldateien umfasst.Embodiment 4. The method of embodiment 1, 2 and/or 3, further comprising creating a new backup from a previous backup and one of the journal files.

Ausführungsform 5. Das Verfahren der Ausführungsform 1, 2, 3 und/oder 4, das ferner das Ausrichten des Metadatenstroms umfasst.Embodiment 5. The method of embodiment 1, 2, 3 and/or 4, further comprising aligning the metadata stream.

Ausführungsform 6. Das Verfahren der Ausführungsform 1, 2, 3, 4 und/oder 5, das ferner die Durchführung einer schnellen Kopie umfasst, um jedes der Backups zu synthetisieren.Embodiment 6. The method of embodiment 1, 2, 3, 4 and/or 5, further comprising performing a fast copy to synthesize each of the backups.

Ausführungsform 7. Das Verfahren der Ausführungsform 1, 2, 3, 4, 5 und/oder 6, das ferner das Speichern der Backups als Backups und Journal-Dateien umfasst.Embodiment 7. The method of embodiment 1, 2, 3, 4, 5 and/or 6, further comprising storing the backups as backup and journal files.

Ausführungsform 8. Das Verfahren der Ausführungsform 1, 2, 3, 4, 5, 6 und/oder 7, das ferner das Festlegen einer Kadenz zum Synthetisieren der Backups umfasst, um ein RPO mit Speicherplatz auszugleichen.Embodiment 8. The method of embodiment 1, 2, 3, 4, 5, 6 and/or 7, further comprising setting a cadence for synthesizing the backups to balance an RPO with storage space.

Ausführungsform 9. Das Verfahren der Ausführungsform 1, 2, 3, 4, 5, 6, 7 und/oder 8, das ferner das Abrufen zusätzlicher Daten aus Produktionsdaten umfasst, wenn ein IO kleiner als eine Blockgröße ist.Embodiment 9. The method of embodiment 1, 2, 3, 4, 5, 6, 7 and/or 8, further comprising retrieving additional data from production data when an IO is less than a block size.

Ausführungsform 10. Das Verfahren der Ausführungsform 1, 2, 3, 4, 5, 6, 7, 8 und/oder 9, wobei der Metadatenstrom eines oder mehrere der folgenden Elemente enthält: IO-Volumen, Ortslänge, Zeitstempel, Kennzeichnung (Tagging), Benutzerinformationen, beschreibende Daten, wobei jeder Eintrag in dem Metadatenstrom einen entsprechenden Eintrag in dem Datenstrom aufweist.Embodiment 10. The method of embodiment 1, 2, 3, 4, 5, 6, 7, 8 and/or 9, wherein the metadata stream includes one or more of the following: IO volume, location length, timestamp, tagging , user information, descriptive data, each entry in the metadata stream having a corresponding entry in the data stream.

Ausführungsform 11. Das Verfahren, wie in irgendeiner Kombination der Ausführungsformen 1 bis 10 beschrieben, wobei das Verfahren von einem Datenschutzsystem, einem Splitter, einem Aggregator, einem Prozessor und/oder Sekundärspeichersystemen durchgeführt wird.Embodiment 11. The method as described in any combination of embodiments 1 to 10, wherein the method is performed by a data protection system, a splitter, an aggregator, a processor, and/or secondary storage systems.

Ausführungsform 12. Das Verfahren, wie in irgendeiner der Ausführungsformen 1 bis 11 beschrieben, wobei der Sekundärspeicher ein Deduplizierungsspeicher ist und ein anderer der Speichermedientypen ein Objektspeicher ist.Embodiment 12. The method as described in any one of embodiments 1 to 11, wherein the secondary storage is deduplication storage and another of the storage media types is object storage.

Ausführungsform 13. Verfahren zur Durchführung irgendeiner der hierin offenbarten Operationen, Verfahren oder Prozesse oder irgendeines Teils davon.Embodiment 13. Methods for performing any of the operations, methods, or processes disclosed herein, or any portion thereof.

Ausführungsform 14. Ein nicht-transitorisches Speichermedium, in dem Befehle gespeichert sind, die von einem oder mehreren Hardware-Prozessoren ausgeführt werden können, um die Operationen irgendeiner oder mehrerer der Ausführungsformen 1 von 13 oder Teile davon auszuführen.Embodiment 14. A non-transitory storage medium storing instructions executable by one or more hardware processors to perform the operations of any one or more of Embodiments 1 of 13 or portions thereof.

Die hierin offenbarten Ausführungsformen können die Verwendung eines Spezial- oder Allzweckcomputers mit verschiedenen Computerhardware- oder - softwaremodulen umfassen, wie nachstehend ausführlicher erörtert. Ein Computer kann einen Prozessor und Computerspeichermedien enthalten, die Befehle tragen, die bei Ausführung durch den Prozessor und/oder bei Veranlassung der Ausführung durch den Prozessor eines oder mehrere der hierin offenbarten Verfahren oder einen oder mehrere Teile eines der offenbarten Verfahren ausführen.The embodiments disclosed herein may involve the use of a special purpose or general purpose computer with various computer hardware or software modules, as discussed in more detail below. A computer may include a processor and computer storage media carrying instructions that, when executed by the processor and/or caused to be executed by the processor, perform one or more of the methods disclosed herein, or one or more parts of any of the methods disclosed.

Wie oben erwähnt, umfassen Ausführungsformen im Rahmen der vorliegenden Erfindung auch Computerspeichermedien, bei denen es sich um physische Medien handelt, die computerausführbare Befehle oder Datenstrukturen tragen oder darauf gespeichert haben. Solche Computerspeichermedien können alle verfügbaren physischen Medien sein, auf die ein Universal- oder Spezialcomputer zugreifen kann.As mentioned above, embodiments within the scope of the present invention also encompass computer storage media that are tangible media that carry or have computer-executable instructions or data structures stored thereon. Such computer storage media can be any available physical media that can be accessed by a general purpose or special purpose computer.

Beispielsweise und ohne darauf beschränkt zu sein können solche Computerspeichermedien Hardwarespeicher, wie zum Beispiel SSD (Solid State Disk/Device), RAM, ROM, EEPROM, CD-ROM, Flash-Speicher, PCM (Phase-Change-Memory) oder andere optische Plattenspeicher, Magnetplattenspeicher oder andere magnetische Speichervorrichtungen oder irgendwelche anderen Hardwarespeichervorrichtungen umfassen, die zum Speichern von Programmcode in Form von computerausführbaren Befehlen oder Datenstrukturen verwendet werden können, auf die ein Allzweck- oder Spezialcomputersystem zugreifen und sie ausführen kann, um die offenbarte Funktionalität der Erfindung zu implementieren. Kombinationen der oben genannten Medien sollten ebenfalls in den Bereich der Computerspeichermedien einbezogen werden. Solche Medien sind auch Beispiele für nicht-transitorische Speichermedien, und nicht-transitorische Speichermedien umfassen auch Cloud-basierte Speichersysteme und -strukturen, obwohl der Anwendungsbereich der Erfindung nicht auf diese Beispiele für nicht-transitorische Speichermedien beschränkt ist.By way of example and not limitation, such computer storage media may include hardware memory such as solid state disk/device (SSD), RAM, ROM, EEPROM, CD-ROM, flash memory, phase change memory (PCM), or other optical disk storage , magnetic disk drives or other magnetic storage devices or any other hardware storage devices that can be used to store program code in the form of computer-executable instructions or data structures that can be accessed and executed by a general purpose or special purpose computer system to implement the disclosed functionality of the invention. Combinations of the above media should also be included within the scope of computer storage media. Such media are also examples of non-transitory storage media, and non-transitory storage media also include cloud-based storage systems and structures, although the scope of the invention is not limited to these examples of non-transitory storage media.

Computerausführbare Befehle umfassen beispielsweise Befehle und Daten, die einen Allzweckcomputer, einen Spezialcomputer oder eine Spezialverarbeitungsvorrichtung veranlassen, eine bestimmte Funktion oder eine Gruppe von Funktionen auszuführen. Obwohl der Gegenstand in einer Sprache beschrieben wurde, die für strukturelle Merkmale und/oder methodische Handlungen spezifisch ist, ist der in den beigefügten Ansprüchen definierte Gegenstand nicht notwendigerweise auf die oben beschriebenen spezifischen Merkmale oder Handlungen beschränkt. Vielmehr sind die hier offenbarten spezifischen Merkmale und Handlungen als beispielhafte Formen der Implementierung der Ansprüche offenbart.Computer-executable instructions include, for example, instructions and data that cause a general purpose computer, special purpose computer, or special purpose processing device to perform a particular function or group of functions. Although the subject matter has been described in language specific to structural features and/or methodical acts, the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts disclosed herein are disclosed as example forms of implementing the claims.

Der hier verwendete Begriff „Modul“ oder „Komponente“ kann sich auf Softwareobjekte oder Routinen beziehen, die auf dem Computersystem ausgeführt werden. Die verschiedenen hier beschriebenen Komponenten, Module, Engines und Dienste können als Objekte oder Prozesse implementiert werden, die auf dem Computersystem ausgeführt werden, zum Beispiel als separate Threads. Das hier beschriebene System und die Verfahren können zwar in Software implementiert werden, doch sind auch Implementierungen in Hardware oder eine Kombination aus Software und Hardware möglich und in Betracht zu ziehen. Im Rahmen der vorliegenden Offenbarung kann eine „Recheneinheit“ oder „Rechenentität“ ein beliebiges Computersystem, wie zuvor definiert, oder ein beliebiges Modul oder eine beliebige Kombination von Modulen sein, die auf einem Computersystem laufen.As used herein, the term "module" or "component" may refer to software objects or routines that execute on the computer system. The various components, modules, engines, and services described herein may be implemented as objects or processes executing on the computer system, such as separate threads. While the system and methods described herein can be implemented in software, implementations in hardware or a combination of software and hardware are also possible and contemplated. As used herein, a “computing unit” or “computing entity” can be any computing system as defined above, or any module or combination of modules running on a computing system.

Zumindest in einigen Fällen wird ein Hardware-Prozessor bereitgestellt, der ausführbare Befehle zur Durchführung eines Verfahrens oder Prozesses, wie zum Beispiel die hier offenbarten Verfahren und Prozesse, ausführen kann. Der Hardware-Prozessor kann ein Element anderer Hardware umfassen oder auch nicht, wie z. B. die hier offenbarten Rechenvorrichtungen und -systeme.In at least some cases, a hardware processor is provided that is capable of executing executable instructions for performing a method or process, such as the methods and processes disclosed herein. The hardware processor may or may not include an element of other hardware, such as a B. the computing devices and systems disclosed herein.

Was die Computerumgebungen anbelangt, so können Ausführungsformen der Erfindung in Client-Server-Umgebungen, d. h. in Netzwerk- oder lokalen Umgebungen, oder in jeder anderen geeigneten Umgebung ausgeführt werden. Geeignete Betriebsumgebungen für zumindest einige Ausführungsformen der Erfindung umfassen Cloud-Computing-Umgebungen, in denen ein oder mehrere Clients, Server oder andere Maschinen in einer Cloud-Umgebung untergebracht sein und arbeiten können.With regard to computing environments, embodiments of the invention may be used in client-server environments, ie network or local environments, or any other suitable net environment. Suitable operating environments for at least some embodiments of the invention include cloud computing environments in which one or more clients, servers, or other machines may reside and operate in a cloud environment.

Eine oder mehrere der in den Figuren und/oder an anderer Stelle der vorliegenden Erfindung offenbarten oder implizierten Einheiten (Entitäten) können die Form einer physischen Rechenvorrichtung annehmen oder diese einschließen oder auf einer physischen Rechenvorrichtung implementiert oder von dieser gehostet werden. Wenn eines der vorgenannten Elemente eine virtuelle Maschine (VM) umfasst oder aus ihr besteht, kann diese VM eine Virtualisierung einer beliebigen Kombination der physischen Komponenten darstellen.One or more entities disclosed or implied in the figures and/or elsewhere in the present invention may take the form of or include a physical computing device, or be implemented on or hosted by a physical computing device. When any of the foregoing includes or consists of a virtual machine (VM), that VM may represent a virtualization of any combination of the physical components.

Die physische Rechenvorrichtung kann einen Speicher enthalten, der einen, einige oder alle der folgenden Elemente umfassen kann: Direktzugriffsspeicher (RAM), nichtflüchtiger Direktzugriffsspeicher (NVRAM), Festwertspeicher (ROM) und permanenter Speicher, einen oder mehrere Hardwareprozessoren, nichttransitorische Speichermedien, UI-Vorrichtung und Datenspeicher. Eine oder mehrere der Speicherkomponenten der physischen Rechenvorrichtung können die Form eines SSD-Speichers (Solid State Device) annehmen. Außerdem können eine oder mehrere Anwendungen bereitgestellt werden, die Befehle enthalten, die von einem oder mehreren Hardware-Prozessoren ausgeführt werden können, um eine der hier offenbarten Operationen oder Teile davon durchzuführen.The physical computing device may include memory, which may include one, some, or all of the following: random access memory (RAM), non-volatile random access memory (NVRAM), read-only memory (ROM) and persistent storage, one or more hardware processors, non-transitory storage media, UI device and data storage. One or more of the storage components of the physical computing device may take the form of solid state device (SSD) storage. Additionally, one or more applications may be provided that include instructions executable by one or more hardware processors to perform any of the operations disclosed herein, or portions thereof.

Solche ausführbaren Befehle können verschiedene Formen annehmen, beispielsweise Befehle, die ausgeführt werden können, um ein beliebiges hier offenbartes Verfahren oder einen Teil davon auszuführen, und/oder die von/an einem Speicherort ausgeführt werden können, sei es vor Ort (on-premise) in einem Unternehmen oder an einem Cloud-Speicherort, Client, Rechenzentrum oder Backup-Server, um irgendeine der hier offenbarten Funktionen auszuführen. Ebenso können solche Befehle ausführbar sein, um alle anderen hierin offenbarten Operationen und Verfahren und beliebige Teile davon auszuführen, einschließlich - aber nicht beschränkt auf - Datenschutzoperationen.Such executable instructions may take various forms, including, for example, instructions that are executable to perform any method disclosed herein, or part thereof, and/or that are executable from/at a location, whether on-premises at an enterprise or cloud storage location, client, data center, or backup server to perform any of the functions disclosed herein. Likewise, such instructions may be executable to perform all other operations and methods disclosed herein, and any portion thereof, including but not limited to data protection operations.

Die vorliegende Erfindung kann in anderen spezifischen Formen ausgeführt werden, ohne von ihrem Geist oder ihren wesentlichen Merkmalen abzuweichen. Die beschriebenen Ausführungsformen sind in jeder Hinsicht nur als illustrativ und nicht einschränkend zu betrachten. Der Umfang der Erfindung ergibt sich daher eher aus den beigefügten Ansprüchen als aus der vorangehenden Beschreibung. Alle Änderungen, die in den Bedeutungs- und Äquivalenzbereich der Ansprüche fallen, sind in deren Schutzbereich einzubeziehen.The present invention may be embodied in other specific forms without departing from the spirit or essential characteristics thereof. The described embodiments are to be considered in all respects only as illustrative and not restrictive. The scope of the invention is, therefore, indicated by the appended claims rather than by the foregoing description. All changes which come within the meaning and range of equivalency of the claims are to be embraced within their scope.

ZITATE ENTHALTEN IN DER BESCHREIBUNGQUOTES INCLUDED IN DESCRIPTION

Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.This list of documents cited by the applicant was generated automatically and is included solely for the better information of the reader. The list is not part of the German patent or utility model application. The DPMA assumes no liability for any errors or omissions.

Zitierte PatentliteraturPatent Literature Cited

  • US 16785288 [0001]US16785288 [0001]

Claims (20)

Verfahren, umfassend: Splitten eines von einer Quelle empfangenen IO-Stroms; Aggregieren des IO-Stroms und Erzeugen eines Journals aus dem IO-Strom, wobei das Journal einen Datenstrom und einen Metadatenstrom umfasst; Speichern des Journals in einem Sekundärspeicher; und Synthetisieren von Backups aus dem Journal.Method comprising: splitting an IO stream received from a source; aggregating the IO stream and generating a journal from the IO stream, the journal comprising a data stream and a metadata stream; storing the journal in secondary storage; and Synthesizing backups from the journal. Verfahren gemäß Anspruch 1, das ferner das Erzeugen der Backups gemäß einer Kadenz umfasst, wobei die Kadenz auf mindestens einem der folgenden Faktoren basiert: Zeit, Journalgröße, erwartete Journal-Rollzeit, erwartetes RPO.procedure according to claim 1 , further comprising generating the backups according to a cadence, the cadence being based on at least one of: time, journal size, expected journal roll time, expected RPO. Verfahren gemäß Anspruch 1, das ferner das Aufteilen des Journals in Journaldateien umfasst, wobei jede Journaldatei einen Teil des Datenstroms und einen entsprechenden Teil des Metadatenstroms enthält.procedure according to claim 1 , further comprising dividing the journal into journal files, each journal file containing a portion of the data stream and a corresponding portion of the metadata stream. Verfahren gemäß Anspruch 3, das ferner das Erzeugen eines neuen Backups aus einem vorherigen Backup und einer der Journaldateien umfasst.procedure according to claim 3 , further comprising creating a new backup from a previous backup and one of the journal files. Verfahren gemäß Anspruch 1, das ferner das Ausrichten des Metadatenstroms und die Deduplizierung der Daten umfasst.procedure according to claim 1 , which further includes aligning the metadata stream and deduplication of the data. Verfahren gemäß Anspruch 1, das ferner die Durchführung einer schnellen Kopie umfasst, um jedes der Backups zu synthetisieren.procedure according to claim 1 , further comprising performing a quick copy to synthesize each of the backups. Verfahren gemäß Anspruch 1, das ferner das Speichern der Backups als Backups und Journaldateien umfasst.procedure according to claim 1 , further comprising storing the backups as backup and journal files. Verfahren gemäß Anspruch 1, das ferner das Festlegen einer Kadenz für die Synthese der Backups umfasst, um ein RPO mit Speicherplatz auszugleichen.procedure according to claim 1 , which further includes setting a cadence for the synthesis of the backups to balance an RPO with disk space. Verfahren gemäß Anspruch 1, das ferner das Abrufen zusätzlicher Daten aus Produktionsdaten umfasst, wenn ein IO kleiner als eine Blockgröße ist.procedure according to claim 1 , further comprising retrieving additional data from production data when an IO is less than a block size. Verfahren gemäß Anspruch 1, wobei der Metadatenstrom eines oder mehrere der folgenden Elemente enthält: IO-Volumen, Ortslänge, Zeitstempel, Kennzeichnung, Benutzerinformationen, beschreibende Daten, wobei jeder Eintrag in dem Metadatenstrom einen entsprechenden Eintrag in dem Datenstrom aufweist.procedure according to claim 1 , wherein the metadata stream contains one or more of the following elements: IO volume, location length, timestamp, identifier, user information, descriptive data, each entry in the metadata stream having a corresponding entry in the data stream. Nicht-transitorisches Speichermedium, in dem Befehle gespeichert sind, die von einem oder mehreren Hardware-Prozessoren ausgeführt werden können, um Operationen durchzuführen, die Folgendes umfassen: Splitten eines von einer Quelle empfangenen IO-Stroms; Aggregieren des IO-Stroms und Erzeugen eines Journals aus dem IO-Strom, wobei das Journal einen Datenstrom und einen Metadatenstrom umfasst; Speichern des Journals in einem Sekundärspeicher; und Synthetisieren von Backups aus dem Journal.Non-transitory storage medium that stores instructions executable by one or more hardware processors to perform operations, including: splitting an IO stream received from a source; aggregating the IO stream and generating a journal from the IO stream, the journal comprising a data stream and a metadata stream; storing the journal in secondary storage; and Synthesizing backups from the journal. Nicht-transitorisches Speichermedium gemäß Anspruch 11, wobei die Operationen ferner das Erzeugen der Backups gemäß einer Kadenz umfassen, wobei die Kadenz auf mindestens einem der folgenden Faktoren basiert: Zeit, Journalgröße, erwartete Journal-Rollzeit, erwartetes RPO.Non-transitory storage medium according to claim 11 , the operations further comprising creating the backups according to a cadence, the cadence being based on at least one of: time, journal size, expected journal roll time, expected RPO. Nicht-transitorisches Speichermedium gemäß Anspruch 11, wobei die Operationen ferner das Aufteilen des Journals in Journaldateien umfassen, wobei jede Journaldatei einen Teil des Datenstroms und einen entsprechenden Teil des Metadatenstroms enthält.Non-transitory storage medium according to claim 11 , the operations further comprising dividing the journal into journal files, each journal file containing a portion of the data stream and a corresponding portion of the metadata stream. Nicht-transitorisches Speichermedium gemäß Anspruch 13, wobei die Operationen ferner das Erzeugen eines neuen Backups aus einem vorherigen Backup und einer der Journaldateien umfassen.Non-transitory storage medium according to Claim 13 , the operations further comprising creating a new backup from a previous backup and one of the journal files. Nicht-transitorisches Speichermedium gemäß Anspruch 11, wobei die Operationen ferner das Ausrichten des Metadatenstroms und das Deduplizieren der Daten umfassen.Non-transitory storage medium according to claim 11 , the operations further comprising aligning the metadata stream and deduplication of the data. Nicht-transitorisches Speichermedium gemäß Anspruch 11, wobei die Operationen ferner die Durchführung einer schnellen Kopie umfassen, um jedes der Backups zu synthetisieren.Non-transitory storage medium according to claim 11 , the operations further comprising performing a fast copy to synthesize each of the backups. Nicht-transitorisches Speichermedium gemäß Anspruch 11, wobei die Operationen ferner das Speichern der Backups als Backups und Journal-Dateien umfassen.Non-transitory storage medium according to claim 11 , the operations further comprising storing the backups as backup and journal files. Nicht-transitorisches Speichermedium gemäß Anspruch 11, wobei die Operationen ferner das Einstellen einer Kadenz für die Synthese der Backups umfassen, um ein RPO mit Speicherplatz auszugleichen.Non-transitory storage medium according to claim 11 , the operations further comprising setting a cadence for the synthesis of the backups to balance an RPO with storage space. Nicht-transitorisches Speichermedium gemäß Anspruch 11, wobei die Operationen ferner das Abrufen zusätzlicher Daten von Produktionsdaten umfassen, wenn ein IO kleiner als eine Blockgröße ist.Non-transitory storage medium according to claim 11 , the operations further comprising retrieving additional data from production data when an IO is less than a block size. Nicht-transitorisches Speichermedium gemäß Anspruch 11, wobei der Metadatenstrom eines oder mehrere der folgenden Elemente enthält: IO-Volumen, Ortslänge, Zeitstempel, Kennzeichnung, Benutzerinformationen, beschreibende Daten, wobei jeder Eintrag in dem Metadatenstrom einen entsprechenden Eintrag in dem Datenstrom aufweist.Non-transitory storage medium according to claim 11 , wherein the metadata stream contains one or more of the following elements: IO volume, location length, timestamp, identifier, user information, descriptive data, each entry in the metadata stream having a corresponding entry in the data stream.
DE112021000935.4T 2020-02-07 2021-02-03 USING BUSINESS CONTINUITY AND DISASTER RECOVERY FOR ANY POINT-IN-TIME BACKUPS Pending DE112021000935T5 (en)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US16/785,288 US11435933B2 (en) 2020-02-07 2020-02-07 Using any-pit backups for retroactive backup compliance and hardening
US16/785,230 2020-02-07
US16/785,288 2020-02-07
US16/785,230 US11175997B2 (en) 2020-02-07 2020-02-07 Using business continuity and disaster recovery for any point in time backup
PCT/US2021/016395 WO2021158650A1 (en) 2020-02-07 2021-02-03 Using business continuity and disaster recovery for any point in time backup

Publications (1)

Publication Number Publication Date
DE112021000935T5 true DE112021000935T5 (en) 2022-12-08

Family

ID=74798067

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112021000935.4T Pending DE112021000935T5 (en) 2020-02-07 2021-02-03 USING BUSINESS CONTINUITY AND DISASTER RECOVERY FOR ANY POINT-IN-TIME BACKUPS

Country Status (3)

Country Link
DE (1) DE112021000935T5 (en)
GB (1) GB2607471A (en)
WO (1) WO2021158650A1 (en)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7685378B2 (en) * 2007-02-15 2010-03-23 Hitachi, Ltd. Methods and apparatus for adjusting a journal area for continuous data protection
US8321688B2 (en) * 2009-06-12 2012-11-27 Microsoft Corporation Secure and private backup storage and processing for trusted computing and data services
US10437783B1 (en) * 2014-09-25 2019-10-08 EMC IP Holding Company LLC Recover storage array using remote deduplication device

Also Published As

Publication number Publication date
GB202211083D0 (en) 2022-09-14
WO2021158650A1 (en) 2021-08-12
GB2607471A (en) 2022-12-07

Similar Documents

Publication Publication Date Title
EP3646195B1 (en) Systems and methods of restoring a dataset of a database for a point in time
DE102013215535B4 (en) BACKUP OR RECOVERY OF DATA USING MAIN MEMORY AND NON-VOLATILE STORAGE MEDIA
US11809286B2 (en) Scaling single file snapshot performance across clustered system
DE112014003152T5 (en) Systems and methods for atomic storage operations
DE102020120553A1 (en) VIRTUALLY PERSISTENT VOLUMES FOR CONTAINERIZED APPLICATIONS
DE112014001873T5 (en) Replication for hot standby online database
DE112021002894T5 (en) ON-THE- FLY- PIT SELECTION FOR DISARTER RECOVERY IN THE CLOUD
DE112012003695T5 (en) Maintain multiple destination copies
DE112013003340T5 (en) Freeze instant virtual copies on multiple disks
DE112005003668T5 (en) HSM control program, HSM control device and HSM control method
US11630597B2 (en) Any point in time backups and tier one storage replication
DE112015000222T5 (en) Merging multiple point-in-time copies into a merged point-in-time copy
US11580015B2 (en) Garbage collection for a deduplicated cloud tier using functions
DE102022108863A1 (en) BACKUP OF DATA FOR A NAMESPACE ASSIGNED TO A TENANT
DE112019005311T5 (en) SERVERLESS SOLUTION FOR OPTIMIZING OBJECT VERSIONING
US11620056B2 (en) Snapshots for any point in time replication
DE112019005351T5 (en) ANY TIME REPLICATION INTO THE CLOUD
DE112021000935T5 (en) USING BUSINESS CONTINUITY AND DISASTER RECOVERY FOR ANY POINT-IN-TIME BACKUPS
DE112010004185T5 (en) Synchronize a database with non-database resources
US11175997B2 (en) Using business continuity and disaster recovery for any point in time backup
US11921589B2 (en) Any point in time backup on secondary storage for distributed consistency groups
DE102022113314A1 (en) CONTINUOUS PRIVACY IN CLOUD-USED STREAM
DE102022113373A1 (en) Continuous data protection in cloud-consuming streams
DE112021001730T5 (en) TRUE ZERO RTO: PLANNED FAILOVER
DE102023116678A1 (en) RECOVERY-FRIENDLY DATA MIGRATION IN DISTRIBUTED SYSTEMS

Legal Events

Date Code Title Description
R012 Request for examination validly filed