US12339746B2 - Systems and methods for performing data backups using a persistent cache - Google Patents
Systems and methods for performing data backups using a persistent cache Download PDFInfo
- Publication number
- US12339746B2 US12339746B2 US18/480,786 US202318480786A US12339746B2 US 12339746 B2 US12339746 B2 US 12339746B2 US 202318480786 A US202318480786 A US 202318480786A US 12339746 B2 US12339746 B2 US 12339746B2
- Authority
- US
- United States
- Prior art keywords
- archive
- metadata page
- persistent cache
- archive metadata
- page
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
- G06F11/1451—Management of the data involved in backup or backup restore by selection of backup contents
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
- G06F16/113—Details of archiving
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
- G06F16/164—File meta data generation
- G06F16/166—File name conversion
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/172—Caching, prefetching or hoarding of files
Definitions
- the present disclosure relates to the field of data storage, and, more specifically, to systems and methods for performing data backups using a persistent cache.
- aspects of the disclosure relate to the field of data storage.
- aspects of the disclosure describe methods and systems for performing data backups using a persistent cache.
- the techniques described herein relate to a method for performing data backups using a persistent cache, the method including: generating a persistent cache in a volume of a computing device; storing at least one archive metadata page of a plurality of archive metadata pages in the persistent cache, wherein the plurality of archive metadata pages are associated with a plurality of files backed up from a local storage volume of the computing device to an archive; detecting that a file of the plurality of files is modified on the local storage volume; performing an incremental backup of the modified file, by: determining whether an archive metadata page of the modified file is stored in the persistent cache; in response to determining that the archive metadata page of the modified file is included in the at least one archive metadata page, retrieving the archive metadata page from the persistent cache; and executing the incremental backup of the modified file using information in the archive metadata page.
- the techniques described herein relate to a method, wherein the plurality of archive metadata pages include information indicating a list of recovery points in the archive, a list of files in each recovery point, a list of parts in each file, and respective locations of the parts in the archive.
- the techniques described herein relate to a method, wherein the information in the archive metadata page indicates a recovery point in the archive including parts of an original version of the modified file and locations of the parts in the archive, further including: identifying the locations indicated in the archive metadata page; and uploading parts of the modified file to the locations.
- the techniques described herein relate to a method, further including: in response to determining that the archive metadata page of the modified file is not included in the at least one archive metadata page, retrieving the archive metadata page from the plurality of archive metadata pages stored in the archive; and writing the archive metadata page to the persistent cache.
- FIG. 6 illustrates a flow diagram of a method for performing data backups using a persistent cache.
- the present disclosure describes making the minimum necessary cache limited to contain frequently accessed data by a user.
- the cache may be stored locally, giving a backup agent (or another service) quick access to the cache.
- the backup agent may first look for data in the cache, and only if the data is not found, will the backup agent search in the archive.
- Using the cache to speed up incremental backups, to speed up access to data inside an archive, and to speed up searches inside an archive is a new approach and a milestone in the development of backup technologies.
- the disclosed systems and methods may significantly speed up cloud backups as well as the backup of physical machines.
- backup agent 102 performs a full backup of data on host 105 to archive 106 (particularly data not in persistent cache 108 ).
- archive 106 has a plurality of files that are stored in backup host 105 .
- a subset of the plurality of files are changed in backup host 105 .
- one or more documents in the plurality of files may be modified.
- an incremental backup is to be performed of backup host 105 to archive 106 . Because only the subset of the plurality of files is changed on backup host 105 , only the subset needs to be uploaded to archive 106 .
- identifying the subset of files is cumbersome as described previously (i.e., it is necessary to compare the data that is already in archive 106 with the latest data to be backed up).
- tape archive There are two archive types to consider: tape archive and cloud archive. Firstly, tape positioning is slow. It often requires switching to a particular cassette of the tape archive and rewinding it to find the corresponding data. When performing an incremental backup, metadata from previous backups is used to determine which data has not been changed. When a user browses backups and their files or application data (e.g., tables, etc.), several cassettes may need to be searched in random order-rewinding the tapes back and forth.
- application data e.g., tables, etc.
- cloud archives which are usually accessed through the Internet.
- the internet connection may be rather slow (results in high latency) and typically payable for traffic.
- third party clouds e.g., object storages
- Backup agent 102 may be configured to limit a total size of persistent cache 108 and a total amount of free space on a disk where persistent cache 108 is generated. This enables for storing an adequate amount of information on persistent cache 108 without running out of space and causing the same backup issues described when having to read directly from archive 106 .
- backup agent 102 may automatically resize persistent cache 108 .
- the size of persistent cache 108 may be set to a percentage (e.g., 10%) of a volume size. Accordingly, whether the volume size increases or decreases, the size of persistent cache 108 is automatically updated.
- the size of persistent cache 108 may depend on a size of archive 106 .
- the size of persistent cache 108 may be a percentage of a size of archive 106 .
- backup agent 102 may generate a unique persistent cache for each unique source storage/archive. Accordingly, multiple persistent caches each associated with a different archive may be stored on the same or different volume connected to a particular computer system.
- archive_IO 104 stores local copies of archive file pages in persistent cache 108 . Accordingly, when backup agent 102 needs to read metadata, backup agent 102 can access persistent cache 108 instead of archive 106 . This ultimately improves backup times.
- Method 200 is partitioned into three phases (write, read, and punch holes).
- system 100 When performing a full backup of data, system 100 is in the write phase. In this phase, backup data is uploaded to archive 106 by writing pages of the backup data to archive 106 . Upon a successful upload, archive 106 may transmit an indication to backup agent 102 of a successful upload. It should be noted that at the initiation of the full backup, persistent cache 108 remains empty. However, in some aspects, after a threshold amount of pages have been written to archive 106 (e.g., 500 GB of data or 70% of the full backup), backup agent 102 may also write pages to persistent cache 108 . In some aspects, pages are written to persistent cache 108 until the full backup is complete. In some aspects, pages may be written at random to persistent cache 108 when performing a full backup.
- a threshold amount of pages e.g. 500 GB of data or 70% of the full backup
- backup agent 102 may initiate an incremental backup.
- system 100 enters the read phase.
- a document may be modified on host 105 and may be a candidate for backup.
- Archive_IO 104 may attempt to read a page associated with the document from persistent cache 108 . If the page exists in persistent cache 108 , the page is successfully read by archive_IO 104 and reading from archive 106 is avoided. However, suppose that the page does not exist in persistent cache 108 .
- backup agent 102 supports appending archive bypassing the cache instance. More specifically, when persistent cache 108 does not contain a requested page, backup agent 104 a reads the page from archive 106 and saves it to persistent cache 108 .
- backup agent 102 needs to determine where the original document is stored in archive 106 . This information may be stored in a page comprising location metadata of the document. Reading the metadata from archive 106 directly is slower and expensive than reading from persistent cache 108 . If the metadata is found in persistent cache 108 , then backup agent 102 uploads the modified document to archive 106 using the information in the metadata. If the metadata is not found in persistent cache 108 , backup agent 102 may retrieve the metadata from archive 106 and store it to persistent cache 108 .
- system 100 enters a punch holes phase.
- backup agent 102 may transmit an instruction to punch holes (i.e., enter zeros into the archive data associated with the file).
- punch holes i.e., enter zeros into the archive data associated with the file.
- backup agent 102 applies the punch hole instruction to persistent cache 108 .
- persistent cache frees space that was occupied by cached pages inside punched range.
- system 100 supports append-only archives rather than re-writeable archives. Accordingly, whether archive 106 is a cloud archive or a tape archive, archive 106 is append-only. Furthermore, there is no need to support archive rewrite mode because typically these are rather fast storages, and rewriting data requires, in the case where archive 106 was written to directly while bypassing persistent cache 108 , invalidating the whole cache or performing a complicated analysis to determine which pages to invalidate, and re-reading directly from archive 106 .
- backup agent 102 offers no protection from copying or opening archive 106 in rewrite mode. There is no “copy in cloud” and “copy in tape” scenarios. While replication from cloud to local device is possible, the replication generates a new archive Universal Unique Identifier (UUID). If an append-only archive is opened in rewrite mode, it means that the archive was copied from a cloud to local disk (and in this case, a persistent cache is not used). The archive must not be opened later in append mode.
- UUID Universal Unique Identifier
- a user of backup host 105 may use initial seeding to generate archive 106 .
- initial seeding enables a user to save the first full backup locally and then send it to a cloud provider (e.g., Acronis) for upload. After uploading the initial seeding backup, only the incremental backups to that full backup are uploaded to the cloud.
- System 100 supports initial seeding. Initial seeding archives are open in rewrite mode, making it a “rewrite and append” scenario.
- Backup agent 102 does not create persistent cache 108 when writing initial seeding slice(s). After moving archive 106 to a cloud, backup agent 102 starts filling persistent cache 108 from archive 106 in the cloud.
- a backup agent 104 a may use a read ahead feature that enables reading of extra pages that may be not in persistent cache 108 .
- the read ahead feature should be off.
- FIG. 3 is a diagram 300 illustrating a structure of the persistent cache 108 .
- Each cylindrical object in FIG. 3 represents a directory.
- the cylinder labelled “/” refers to the root directory.
- Persistent cache 108 has various elements highlighted in FIG. 3 .
- Element 302 points to the root directory of persistent cache 108 .
- Element 304 a represents an archive UUID (which is used as a directory name) for a first archive.
- Element 304 b represents an archive UUID for a second archive. As shown, each archive cache is located in a separate directory.
- Element 306 points to a sub-directory (where high bits of start offset are in hex).
- Element 308 points to a single cache file (lower offset bits in hex).
- Cached archive pages are stored in archive cache files.
- the maximum file size is 8 MB+file header size.
- a sub-directory may include up to 64000 files.
- all persistent caches reside in the same cache directory.
- a cache directory is specified to libarchive3 library, before opening the archive.
- FIG. 4 is a diagram 400 illustrating a general structure of a cache file.
- each file may include up to 2048 pages and the size of each page may be 4 KB.
- the header of a cache file may be 16 KB (e.g., the length of four pages).
- the persistent cache file header includes information on what archive pages from the given region are present in cache, their checksum, and their offsets in persistent cache file.
- archive metadata is complex, and may not be attributed to a single document.
- a single archive metadata page may include pieces of information related to several documents. For example, one page may include names of several documents and their unique in-archive identifiers and what backup the documents belong to; another page may include several mappings between document data chunks and in-archive offsets, etc.
- a single metadata page may not be used without pages as the information for a particular document may be spread across multiple pages.
- FIG. 5 is a diagram 500 illustrating a header of a cache file.
- the header may include a smaller header and an array of 6-byte page infos in the archive.
- Each page info includes a 16-bit page offset and 32-bit page cyclic redundancy check (CRC).
- CRC page cyclic redundancy check
- Backup agent 102 may also perform, using an API function, cleanup of persistent cache 108 .
- cleanup is performed on cache level, which is useful especially when using tape archives.
- backup agent 102 establishes constraints defining the goal of a cleanup.
- a constraint may indicate when a cleanup should be performed (e.g., perform a cleanup when archive 106 is opened in rewrite mode, perform a cleanup to enforce a sizing policy such as limiting cache free space).
- a constraint may also indicate which pages of persistent cache 108 to clean. For example, a constraint may indicate cleaning pages unused (e.g., not read) for a certain period of time (e.g., 1 month) since being last accessed or written in persistent cache 108 . Another constraint may indicate to perform the cleanup when a user has requested a cleanup.
- Backup agent 102 does not use previous data from persistent cache 108 when an archive page is overwritten in rewrite mode because this breaks data integrity. To ensure data integrity, backup agent 102 will clean up persistent cache 108 after archive 106 is opened in rewrite mode. To ensure that a previous cache is not used, backup agent 102 includes an a cache sequence number in an archive header. When archive 106 is opened in rewrite mode, backup agent 102 increments the cache sequence number. When persistent cache 108 is initialized, the cache sequence number is stored in the cache header. When persistent cache 108 is opened, the cache sequence number from the cache header is compared to the cache sequence number from the archive header. If the cache sequence numbers are not the same, the cache is cleared and reinitialized.
- the use of the persistent cache reduces network traffic, speeds up backup speed by eliminating read latency, is safe because it works strictly inside a specified directory and guarantees no writes outside of the specified directory.
- the use makes backups fast and efficient as it involves storing direct copies of (already compressed) archive contents and there is no need for additional processing of cached data.
- the backup component ensures that the system is self-balancing by applying limits on memory and disk use using automatic cleanup by cache level, age, and disk use. In some aspects, a wide set of metrics may be collected for monitoring and alerting as well.
- FIG. 6 illustrates a flow diagram of a method 600 for performing data backups using a persistent cache.
- backup agent 102 generates a persistent cache 108 in a volume of a computing device (e.g., host 105 ).
- backup agent 102 sets a size of the persistent cache to a percentage of a size of the volume.
- Backup agent 102 may adjust the size of the persistent storage in response to detecting a change in the size of the volume. Such adjusting may be proportional to the change in the size of the volume.
- backup agent 102 stores at least one archive metadata page of a plurality of archive metadata pages in the persistent cache 108 , wherein the plurality of archive metadata pages are associated with a plurality of files backed up from a local storage volume of the computing device to an archive 106 .
- a full backup of the plurality of files may have been performed to archive 106 .
- some of the archive metadata pages associated with the backed up files may be written to the persistent cache.
- the plurality of archive metadata pages include information indicating a list of recovery points in the archive, a list of files in each recovery point, a list of parts in each file, and respective locations of the parts in the archive.
- backup agent 102 detects that a file of the plurality of files is modified on the local storage volume. In some aspects, backup agent 102 c makes this detection when initiating a periodic incremental backup after the full backup. At 608 , backup agent 102 determines whether an archive metadata page of the modified file is stored in the persistent cache 108 .
- backup agent 102 retrieves the archive metadata page from the persistent cache 108 . Otherwise, method 600 advances to 612 , where backup agent 102 retrieves the archive metadata page from the plurality of archive metadata pages stored in the archive 106 . At 614 , backup agent 102 writes the retrieved archive metadata page to the persistent cache 108 .
- method 600 proceeds to 616 , where backup agent 102 executes the incremental backup of the modified file using information in the archive metadata page.
- the information in the archive metadata page may indicate a recovery point in the archive comprising parts of an original version of the modified file and locations of the parts in the archive. Accordingly, backup agent 102 may identify the locations indicated in the archive metadata page, and upload parts of the modified file to the locations.
- backup agent 102 may set a maximum size of the persistent cache. Suppose that backup agent 102 detects that the maximum size is reached subsequent to storing the at least one archive metadata page. In response to detecting that the maximum size is reached, backup agent 102 may identify at least one different archive metadata page in the persistent cache that has not been accessed for at least a threshold period of time, and remove the at least one different archive metadata page from the persistent cache.
- FIG. 7 is a block diagram illustrating a computer system 20 on which aspects of systems and methods for performing data backups using a persistent cache may be implemented in accordance with an exemplary aspect.
- the computer system 20 can be in the form of multiple computing devices, or in the form of a single computing device, for example, a desktop computer, a notebook computer, a laptop computer, a mobile computing device, a smart phone, a tablet computer, a server, a mainframe, an embedded device, and other forms of computing devices.
- the computer system 20 includes a central processing unit (CPU) 21 , a system memory 22 , and a system bus 23 connecting the various system components, including the memory associated with the central processing unit 21 .
- the system bus 23 may comprise a bus memory or bus memory controller, a peripheral bus, and a local bus that is able to interact with any other bus architecture. Examples of the buses may include PCI, ISA, PCI-Express, HyperTransportTM, InfiniBandTM, Serial ATA, 12 C, and other suitable interconnects.
- the central processing unit 21 (also referred to as a processor) can include a single or multiple sets of processors having single or multiple cores.
- the processor 21 may execute one or more computer-executable code implementing the techniques of the present disclosure.
- the system memory 22 may be any memory for storing data used herein and/or computer programs that are executable by the processor 21 .
- the system memory 22 may include volatile memory such as a random access memory (RAM) 25 and non-volatile memory such as a read only memory (ROM) 24 , flash memory, etc., or any combination thereof.
- the basic input/output system (BIOS) 26 may store the basic procedures for transfer of information between elements of the computer system 20 , such as those at the time of loading the operating system with the use of the ROM 24 .
- the computer system 20 may include one or more storage devices such as one or more removable storage devices 27 , one or more non-removable storage devices 28 , or a combination thereof.
- persistent cache 108 is established in one or more storage devices 27 and/or 28 .
- the one or more removable storage devices 27 and non-removable storage devices 28 are connected to the system bus 23 via a storage interface 32 .
- the storage devices and the corresponding computer-readable storage media are power-independent modules for the storage of computer instructions, data structures, program modules, and other data of the computer system 20 .
- the system memory 22 , removable storage devices 27 , and non-removable storage devices 28 may use a variety of computer-readable storage media.
- Examples of computer-readable storage media include machine memory such as cache, SRAM, DRAM, zero capacitor RAM, twin transistor RAM, eDRAM, EDO RAM, DDR RAM, EEPROM, NRAM, RRAM, SONOS, PRAM; flash memory or other memory technology such as in solid state drives (SSDs) or flash drives; magnetic cassettes, magnetic tape, and magnetic disk storage such as in hard disk drives or floppy disks; optical storage such as in compact disks (CD-ROM) or digital versatile disks (DVDs); and any other medium which may be used to store the desired data and which can be accessed by the computer system 20 .
- machine memory such as cache, SRAM, DRAM, zero capacitor RAM, twin transistor RAM, eDRAM, EDO RAM, DDR RAM, EEPROM, NRAM, RRAM, SONOS, PRAM
- flash memory or other memory technology such as in solid state drives (SSDs) or flash drives
- magnetic cassettes, magnetic tape, and magnetic disk storage such as in hard disk drives or floppy disks
- optical storage
- the system memory 22 , removable storage devices 27 , and non-removable storage devices 28 of the computer system 20 may be used to store an operating system 35 , additional program applications 37 , other program modules 38 , and program data 39 .
- the computer system 20 may include a peripheral interface 46 for communicating data from input devices 40 , such as a keyboard, mouse, stylus, game controller, voice input device, touch input device, or other peripheral devices, such as a printer or scanner via one or more I/O ports, such as a serial port, a parallel port, a universal serial bus (USB), or other peripheral interface.
- a display device 47 such as one or more monitors, projectors, or integrated display, may also be connected to the system bus 23 across an output interface 48 , such as a video adapter.
- the computer system 20 may be equipped with other peripheral output devices (not shown), such as loudspeakers and other audiovisual devices.
- the computer readable storage medium can be a tangible device that can retain and store program code in the form of instructions or data structures that can be accessed by a processor of a computing device, such as the computing system 20 .
- the computer readable storage medium may be an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination thereof.
- such computer-readable storage medium can comprise a random access memory (RAM), a read-only memory (ROM), EEPROM, a portable compact disc read-only memory (CD-ROM), a digital versatile disk (DVD), flash memory, a hard disk, a portable computer diskette, a memory stick, a floppy disk, or even a mechanically encoded device such as punch-cards or raised structures in a groove having instructions recorded thereon.
- a computer readable storage medium is not to be construed as being transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or transmission media, or electrical signals transmitted through a wire.
- Computer readable program instructions described herein can be downloaded to respective computing devices from a computer readable storage medium or to an external computer or external storage device via a network, for example, the Internet, a local area network, a wide area network and/or a wireless network.
- the network may comprise copper transmission cables, optical transmission fibers, wireless transmission, routers, firewalls, switches, gateway computers and/or edge servers.
- a network interface in each computing device receives computer readable program instructions from the network and forwards the computer readable program instructions for storage in a computer readable storage medium within the respective computing device.
- Computer readable program instructions for carrying out operations of the present disclosure may be assembly instructions, instruction-set-architecture (ISA) instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, state-setting data, or either source code or object code written in any combination of one or more programming languages, including an object oriented programming language, and conventional procedural programming languages.
- the computer readable program instructions may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server.
- the remote computer may be connected to the user's computer through any type of network, including a LAN or WAN, or the connection may be made to an external computer (for example, through the Internet).
- electronic circuitry including, for example, programmable logic circuitry, field-programmable gate arrays (FPGA), or programmable logic arrays (PLA) may execute the computer readable program instructions by utilizing state information of the computer readable program instructions to personalize the electronic circuitry, in order to perform aspects of the present disclosure.
- FPGA field-programmable gate arrays
- PLA programmable logic arrays
- module refers to a real-world device, component, or arrangement of components implemented using hardware, such as by an application specific integrated circuit (ASIC) or FPGA, for example, or as a combination of hardware and software, such as by a microprocessor system and a set of instructions to implement the module's functionality, which (while being executed) transform the microprocessor system into a special-purpose device.
- a module may also be implemented as a combination of the two, with certain functions facilitated by hardware alone, and other functions facilitated by a combination of hardware and software.
- each module may be executed on the processor of a computer system. Accordingly, each module may be realized in a variety of suitable configurations, and should not be limited to any particular implementation exemplified herein.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Quality & Reliability (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
Claims (18)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US18/480,786 US12339746B2 (en) | 2023-10-04 | 2023-10-04 | Systems and methods for performing data backups using a persistent cache |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US18/480,786 US12339746B2 (en) | 2023-10-04 | 2023-10-04 | Systems and methods for performing data backups using a persistent cache |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| US20250117294A1 US20250117294A1 (en) | 2025-04-10 |
| US12339746B2 true US12339746B2 (en) | 2025-06-24 |
Family
ID=95253259
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US18/480,786 Active US12339746B2 (en) | 2023-10-04 | 2023-10-04 | Systems and methods for performing data backups using a persistent cache |
Country Status (1)
| Country | Link |
|---|---|
| US (1) | US12339746B2 (en) |
Citations (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9075819B1 (en) * | 2005-06-30 | 2015-07-07 | Symantec Operating Corporation | Method and apparatus for providing parallel backup set processing for creating a synthetic backup |
| US10146616B1 (en) * | 2015-03-31 | 2018-12-04 | EMC IP Holding Company LLC | Cache based recovery of corrupted or missing data |
| US20190188085A1 (en) * | 2017-12-14 | 2019-06-20 | Hewlett Packard Enterprise Development Lp | Persistently store cached data of a write to a block device presentation |
| US20200167236A1 (en) * | 2018-11-27 | 2020-05-28 | Sap Se | Systems and methods providing incremental backup for persistent services |
| US20210133046A1 (en) * | 2019-10-30 | 2021-05-06 | EMC IP Holding Company LLC | System and method for efficient backup generation |
| US20240028471A1 (en) * | 2022-07-25 | 2024-01-25 | Dell Products L.P. | System and method for optimizing incremental backups of network attached storage file data |
| US20240118977A1 (en) * | 2020-06-26 | 2024-04-11 | Netapp, Inc. | Incremental backup to object store |
| US12045199B1 (en) * | 2023-03-24 | 2024-07-23 | Amazon Technologies, Inc. | Lightweight filesystem for remote storage caching |
-
2023
- 2023-10-04 US US18/480,786 patent/US12339746B2/en active Active
Patent Citations (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9075819B1 (en) * | 2005-06-30 | 2015-07-07 | Symantec Operating Corporation | Method and apparatus for providing parallel backup set processing for creating a synthetic backup |
| US10146616B1 (en) * | 2015-03-31 | 2018-12-04 | EMC IP Holding Company LLC | Cache based recovery of corrupted or missing data |
| US20190188085A1 (en) * | 2017-12-14 | 2019-06-20 | Hewlett Packard Enterprise Development Lp | Persistently store cached data of a write to a block device presentation |
| US20200167236A1 (en) * | 2018-11-27 | 2020-05-28 | Sap Se | Systems and methods providing incremental backup for persistent services |
| US20210133046A1 (en) * | 2019-10-30 | 2021-05-06 | EMC IP Holding Company LLC | System and method for efficient backup generation |
| US20240118977A1 (en) * | 2020-06-26 | 2024-04-11 | Netapp, Inc. | Incremental backup to object store |
| US20240028471A1 (en) * | 2022-07-25 | 2024-01-25 | Dell Products L.P. | System and method for optimizing incremental backups of network attached storage file data |
| US12045199B1 (en) * | 2023-03-24 | 2024-07-23 | Amazon Technologies, Inc. | Lightweight filesystem for remote storage caching |
Also Published As
| Publication number | Publication date |
|---|---|
| US20250117294A1 (en) | 2025-04-10 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US10430286B2 (en) | Storage control device and storage system | |
| US10303363B2 (en) | System and method for data storage using log-structured merge trees | |
| US9690666B1 (en) | Incremental backup operations in a transactional file system | |
| US11263090B2 (en) | System and method for data packing into blobs for efficient storage | |
| US11789766B2 (en) | System and method of selectively restoring a computer system to an operational state | |
| US11562067B2 (en) | System and method of inspecting archive slices for malware using empty sparse files | |
| US11221989B2 (en) | Tape image reclaim in hierarchical storage systems | |
| US11550913B2 (en) | System and method for performing an antivirus scan using file level deduplication | |
| US8595454B1 (en) | System and method for caching mapping information for off-host backups | |
| US11003543B2 (en) | Generic metadata tags with namespace-specific semantics in a storage appliance | |
| US10303556B1 (en) | Modifiable volume snapshots | |
| US20180144019A1 (en) | Systems and methods for recovering lost clusters from a mounted volume | |
| US11416155B1 (en) | System and method for managing blocks of data and metadata utilizing virtual block devices | |
| US12013837B1 (en) | System and method for checking container block device metadata and file system metadata | |
| US20210248106A1 (en) | Systems and methods for updating select files in an image backup | |
| US12339746B2 (en) | Systems and methods for performing data backups using a persistent cache | |
| US10831624B2 (en) | Synchronizing data writes | |
| US11734246B2 (en) | Systems and methods for multiplexing data of an underlying index | |
| US8281096B1 (en) | Systems and methods for creating snapshots | |
| US11068194B2 (en) | Method and system for storing and managing states of a computer | |
| US10089032B1 (en) | Controlling write sizes to reduce flash wear | |
| EP4060535B1 (en) | System and method of inspecting archive slices for malware using empty sparse files | |
| US11625184B1 (en) | Recalling files from tape | |
| US10614044B2 (en) | Systems and methods for performing data object renaming operations |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| FEPP | Fee payment procedure |
Free format text: ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: BIG.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
| AS | Assignment |
Owner name: MIDCAP FINANCIAL TRUST, MARYLAND Free format text: SECURITY INTEREST;ASSIGNOR:ACRONIS INTERNATIONAL GMBH;REEL/FRAME:066797/0766 Effective date: 20240226 |
|
| AS | Assignment |
Owner name: MIDCAP FINANCIAL TRUST, MARYLAND Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE PATENTS LISTED BY DELETING PATENT APPLICATION NO. 18388907 FROM SECURITY INTEREST PREVIOUSLY RECORDED ON REEL 66797 FRAME 766. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY INTEREST;ASSIGNOR:ACRONIS INTERNATIONAL GMBH;REEL/FRAME:069594/0136 Effective date: 20240226 |
|
| AS | Assignment |
Owner name: ACRONIS INTERNATIONAL GMBH, SWITZERLAND Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:KULESHOV, ANDREY;PER, YURI;BELL, SERG;AND OTHERS;SIGNING DATES FROM 20250315 TO 20250416;REEL/FRAME:070858/0988 |
|
| AS | Assignment |
Owner name: ACRONIS INTERNATIONAL GMBH, SWITZERLAND Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE FOURTH INVENTOR'S LAST NAME PREVIOUSLY RECORDED ON REEL 70858 FRAME 988. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:KULESHOV, ANDREY;PER, YURI;BELL, SERG;AND OTHERS;SIGNING DATES FROM 20250315 TO 20250416;REEL/FRAME:071155/0715 |
|
| STCF | Information on status: patent grant |
Free format text: PATENTED CASE |