WO2009031156A2 - Procédé et appareil pour protection de données au moyen de grilles - Google Patents

Procédé et appareil pour protection de données au moyen de grilles Download PDF

Info

Publication number
WO2009031156A2
WO2009031156A2 PCT/IL2008/001206 IL2008001206W WO2009031156A2 WO 2009031156 A2 WO2009031156 A2 WO 2009031156A2 IL 2008001206 W IL2008001206 W IL 2008001206W WO 2009031156 A2 WO2009031156 A2 WO 2009031156A2
Authority
WO
WIPO (PCT)
Prior art keywords
computerized
data block
nodes
backup
data
Prior art date
Application number
PCT/IL2008/001206
Other languages
English (en)
Other versions
WO2009031156A3 (fr
Inventor
Leonid Remennik
Henry Broodney
Eli Bernstein
Original Assignee
Ingrid Networks Ltd
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
Application filed by Ingrid Networks Ltd filed Critical Ingrid Networks Ltd
Publication of WO2009031156A2 publication Critical patent/WO2009031156A2/fr
Publication of WO2009031156A3 publication Critical patent/WO2009031156A3/fr

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1464Management of the backup or restore process for networked environments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • G06F11/1453Management of the data involved in backup or backup restore using de-duplication of the data
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • G06F11/1451Management of the data involved in backup or backup restore by selection of backup contents

Definitions

  • the present disclosure relates to data protection systems in general, and to peer- to-peer grid based data protection systems, in particular.
  • data stored in computing devices becomes more and more vital to our everyday life, and the need to protect that data becomes ever more crucial.
  • One aspect of such protection relates to creating a backup of the data should there be a need to restore it.
  • Data may be lost due to machine or hardware failure, such as hard disk failure or other catastrophes.
  • Other causes for loss of data may be malicious actions, such as theft or attacks by hackers and viruses, or through a user mistake, such as inadvertent deletion of a file, and even through intentional actions, such as modifying data or files and deleting the same.
  • a file level backup method allows a user to minimize a storage space required to contain data to be backed up by filtering out files that need not be backed up. Such methods are limited to restoring files on to an existing file system, and are unable to restore the entire file system itself.
  • a volume level backup method is able to restore an entire volume and bring a computer back to its original state, from the software perspective.
  • volume level backup methods store backup copies of all the data stored on a volume that is being backed up. Such methods read data from the volume and store a backup of every data block, a representation of the lowest level data unit stored on the volume.
  • One of the main difficulties in performing volume level backup is a risk of creating an inconsistent backup volume. That risk exists since a live file system modifies disk content during the backup procedure, thus preventing backup from representing consistent disk state in a particular point in time.
  • One solution to this problem is to lock the storage device and prevent overwriting of data before such data is backed up.
  • Another solution utilizes a method known as Copy-On- Write (COW). Instead of locking the storage device, every write command is intercepted and checked.
  • COW Copy-On- Write
  • the original data is copied to a different location before the write command is allowed to execute.
  • the copy of the original data is saved and used for the backup process, thus enabling to store a backup of a consistent disk state.
  • Some recent backup systems offer a different solution that utilizes free storage space on other computers on a peer-to-peer computerized network, also referred to as a grid.
  • a grid instead of storing the data related to the backup, referred to henceforth as backup data, on a dedicated storage device, some general purpose storage devices located on other networked computers are used to store backup data.
  • a recovery point which may also be referred to as snapshot, is a point in time in which a backup copy of at least a portion of a storage volume, also referred to simply as volume, is created.
  • the recovery point objective deals with a closest point in time for which exists a recovery point backup represents a consistent state of all backed up data.
  • data protection systems rely on timed backup, i.e. the backup is performed at certain predefined points in time.
  • the drawbacks of this approach are twofold; the first being the loss of any data created between the last backup point and the time the data is restored. The second being vast resource consumption during the backup process, especially CPU and network bandwidth, thus interfering with other activities or tasks.
  • a continuous data protection system is a data protection system capable of backing up data on every write to a storage device, creating a backup copy of data virtually as soon as it is created and also enabling the user of the continuous data protection system to restore a view of the backed up data for any requested point in time.
  • An aspect of an embodiment of the disclosed subject matter relates to a system and method for backing up data in a network of peer-to-peer computerized nodes.
  • the system and method backup data in a volume level but consider associated files of each data block being stored. Said association is further utilized in determining a quality of service to provide for each data block backed up. Furthermore, a continuous backup system and method are presented and each modified data block is stored.
  • a portion of said at least two computerized nodes further comprising a writing detection module for monitoring modification of said another at least one data block.
  • a portion of said computerized agents installed on each of said at least two computerized nodes comprising a module for determining backup quality of service level.
  • a portion of said at least two computerized nodes further comprising a writing detection module for triggering said computerized agent installed on said one of said at least two computerized nodes to backup the at least one data block.
  • a portion of said computerized agents installed on each of said at least two computerized nodes comprising a file aware module for associating a data block with a relevant file; said computerized agent installed on said one of said at least two computerized nodes determining to backup a portion of the at least one data block based on the relevant file.
  • a portion of said computerized nodes further comprising a writing detection module for triggering said computerized agent installed on said one of said at least two computerized nodes to backup the at least one data block.
  • a portion of said computerized agents installed on each of said at least two computerized nodes comprising a file aware module for associating a data block with a relevant file; said computerized agent installed on said one of said at least two computerized nodes determining to backup a portion of the at least one data block based on the relevant file.
  • a portion of said computerized nodes further comprising a writing detection module for triggering said computerized agent installed on said one of said at least two computerized nodes to backup the at least one data block.
  • a portion of said computerized nodes further comprising a writing detection module for triggering said computerized agent installed on said one of said at least two computerized nodes to backup the at least one data block.
  • a portion of said computerized agents installed on each of said at least two computerized nodes comprising a file aware module for associating a data block with a relevant file; said computerized agent installed on said one of said at least two computerized nodes determining to backup a portion of the at least one data block based on the relevant file.
  • a portion of said computerized nodes further comprising a writing detection module for triggering said computerized agent installed on said one of said at least two computerized nodes to backup the at least one data block.
  • a portion of said computerized agents installed on each of said at least two computerized nodes comprising a file aware module for associating a data block with a relevant file; said computerized agent installed on said one of said at least two computerized nodes determining to backup a portion of the at least one data block based on the relevant file.
  • a portion of said computerized nodes further comprising a writing detection module for triggering said computerized agent installed on said one of said at least two computerized nodes to backup the at least one data block.
  • said computerized agent installed on said one of said at least two computerized nodes is further comprising a recovery point creator for determining when to start communicating with said computerized agent installed on said another at least one of said at least two computerized nodes.
  • said one of said at least two computerized nodes is further comprising a detection module to provide said computerized agent installed on said one of said at least two computerized nodes a static view of the at least one data block.
  • said detection module is a reading detection module.
  • said detection module is a writing detection module.
  • the method further comprising the step of monitoring modifications of said data previously stored in said local repository of said at least one computerized node.
  • the method further comprising the step of providing a static view of said data previously stored in said local repository of said at least one computerized node. It is an object of the disclosed subject matter to provide a method for backing up data in a network of at least two computerized nodes, the method comprising: determining to backup at least one data block stored on one of said at least two computerized nodes; associating one or more data blocks of said at least one data block with at least one relevant file; determining to backup a portion of said at least one data block based on said at least one relevant file.
  • An additional object of the disclosed subject matter is to provide a method for backing up data in a network of at least two computerized nodes, the method comprising: monitoring modification of data blocks in a storage device; and determining to backup at least one modified data block according to said monitoring.
  • said method further comprises the step of determining when to start the backup of data blocks.
  • Yet additional object of the disclosed subject matter is to provide a method for backing up data in a network of at least two computerized nodes, the method comprising: determining to backup at least one data block; determining backup quality of service level for each of said at least one data block; providing a backup with said quality of service level for each of said at least one data block.
  • An exemplary embodiment of the subject matter provides a computer program product embodied on one or more computer-usable medium for improving a computer process comprising: first computer-readable program code for determining whether at least one data block to be backed up is stored in a local repository of a computerized node; and second computer-readable program code for storing said at least one data block in a backup repository of said computerized node if said data block was not previously stored in said local repository.
  • a computer program product embodied on one or more computer-usable medium for improving a computer process comprising: first computer-readable program code for determining to backup at least one data block stored on one of at least two computerized nodes; second computer-readable program code for associating one or more data blocks of said at least one data block with at least one relevant file; and third computer-readable program code for determining to backup a portion of said at least one data block based on said at least one relevant file.
  • Yet another exemplary embodiment of the subject matter provides a computer program product embodied on one or more computer-usable medium for improving a computer process comprising: first computer-readable program code for monitoring modification of data blocks in a storage device of a computerized node; and second computer-readable program code for determining to backup at least one modified data block according to said monitoring.
  • exemplary embodiments of the subject matter provide a computer program product embodied on one or more computer-usable medium for improving a computer process comprising: first computer-readable program code for determining to backup at least one data block; second computer-readable program code for determining backup quality of service level for each of said at least one data block; and third computer- readable program code for providing a backup with said quality of service level for each of said at least one data block.
  • Fig. 1 is a block diagram of the main components in a typical computerized environment in which the disclosed methods and apparatus are used, in accordance with some exemplary embodiments of the subject matter
  • Fig. 2 is a block diagram of a computerized node connected to a computerized network, in accordance with some exemplary embodiments of the subject matter
  • Fig. 3 is a block diagram of a computerized agent of a computerized node of a computerized network, in accordance with some exemplary embodiments of the subject matter;
  • Fig. 4 is a flow diagram of a method of handling a received data block to be backed up after received at a receiving node, in accordance with some exemplary embodiments of the subject matter;
  • Fig. 5 is a flow diagram of a method of handling a write request to a local repository issued by a processing unit in a node, in accordance with some exemplary embodiments of the subject matter.
  • Fig. 6 shows a flow diagram of a method of accumulating modifications in a local repository and creating a recovery point, in accordance with some exemplary embodiments of the subject matter.
  • One technical problem dealt with in the subject matter is to provide continuous backup of data over a computerized network. Another technical problem is to provide volume level backup of data over a computerized network. Yet another technical problem is to provide a differential Quality of Service (QoS) when backing up data, for example storing variable amounts of duplicates for the backed up data, in accordance with a designated QoS level. An additional technical problem is to minimize the storage space required for the backup data over a computerized network.
  • QoS Quality of Service
  • a computerized node of the peer-to-peer computerized network comprises a computerized agent managing a backup operation, a distributed hash function, a writing detection module and a reading detection module.
  • Said computerized agent determines the data to be backed up and a QoS level of the backup.
  • Said computerized agent utilizes the distributed hash function in order to determine to which computerized node to send the data to be backed up.
  • Said computerized node is not the same computerized node where the data to be backed up is residing at the time the backup takes place.
  • Said writing detection module and said reading detection module provide a consistent backup of the volume.
  • Said writing detection module triggers backup requests after the data is stored in the storage device of the computerized node selected to receive the backed up data, thus providing continuous data protection.
  • Said computerized agent minimizes the storage space required for the backup data by avoiding storing duplicate copies of data in a single computerized node.
  • Retrieval of the backed up data is triggered by predefined rules, parameters, commands or other such triggers.
  • one or more computerized nodes that store the backup data send the data blocks comprising the backup data to be retrieved to a computerized node.
  • On said computerized node resides a computerized recovery service that requests that said backup data be retrieved.
  • Fig. 1 shows a block diagram of the main components in a typical computerized environment 100 in which the disclosed methods and apparatus can be implemented and used.
  • Several computerized nodes 110, 120, 130 are connected to each other via a computerized network 140.
  • the computerized network 140 is preferably operating in a peer-to-peer grid network constellation, or in a likewise decentralized computerized network in which every computerized node of the computerized nodes 110, 120, 130 is able to communicate with another computerized node of the computerized nodes 110, 120, 130 without requiring a centralized computerized node to supervise the communication. Communication however, may be channeled via one or more computerized nodes before reaching their destination computerized node.
  • any computerized node of the computerized nodes 110, 120, 130 may be a personal computer (PC), a laptop, a personal digital assistant (PDA), a wireless device such as a cellular phone and any other similar machinery.
  • the computerized nodes 110, 120, 130 communicate using protocols such as L2TP, PPTP, PPP, TCP/IP, token ring, NDP or frame relay, over either a wired or a wireless infrastructure.
  • the computerized nodes 110, 120, 130 may be informed in advance of computerized nodes connected to the computerized network 140, or alternatively may have to initiate a predetermined protocol to discover computerized nodes connected to the computerized network 140.
  • any computerized node of the computerized nodes 110, 120, 130 is reachable from any other computerized node of the computerized nodes 110, 120, 130, directly or indirectly, a condition may exist when some of the computerized nodes of computerized nodes 110, 120, 130 are, individually or as a group, temporarily disconnected from the bulk of the network 140. This does not interfere with the application of any part of the disclosed subject matter. While the present figures shows a limited number of computerized nodes, it will be appreciated that any additional number of computerized nodes can be present within the computerized network 140 and used in conjunction with the present subject matter.
  • Each computerized node of the computerized nodes 110, 120, 130 functions as a provider of backup services as well as a consumer of such services.
  • a computerized agent residing on a computerized node such as computerized node 110
  • determines that certain data is required to be backed up the data to be backed up is sent over the computerized network 140 to other computerized nodes, such as the computerized nodes 120, 130, that store a duplicate of the data.
  • the computerized nodes 110, 120, 130 may function only as consumers of the backup services and another subset of the computerized nodes 110, 120, 130 may function only as providers of the backup services.
  • the computerized agents residing within computerized nodes 110, 120, 130 perform a volume level backup.
  • the computerized agent residing in computerized node 120 may send a data block to another computerized agent residing in a different computerized node such as computerized node 130 to be backed up.
  • all backed up data should be stored redundantly on several computerized nodes.
  • a person skilled in the art will appreciate that a failure of a computerized node may be caused from varied reasons, such as disconnection from the computerized network 140, hardware malfunction of storage devices residing in the computerized node and the like. Such forward error correction codes can be utilized to achieve different levels of redundancy.
  • any data block are backed up.
  • said embodiment backs up data regarding the user data, for example files saved by the user, as well as data related to the system, for example file system tables.
  • certain data blocks are not backed up.
  • Data blocks may further be determined not to be backed up according to predefined parameters, rules or commands.
  • utilizing a grid as a backup system presents an inexpensive and efficient backup solution, solving technical problems currently know in the art.
  • the grid of the present subject matter utilizes multiple inexpensive storage devices used by general purpose computing devices.
  • Most organizations own and maintain various such general purpose computing devices to allow their personnel to work and interact.
  • Most organizations have a great deal of redundant storage space. That redundant storage space is utilized by the grid of the present subject matter for storing backup data.
  • Another technical advantage of the grid of the present subject matter is that the backup data may be distributed over different computerized nodes that may be located in different geographical locations. By distributing the backup data the risk of losing the entire backup data is reduced substantially. Fig.
  • the computerized node 200 (such as computerized node 110 of figure 1) comprises a processing unit 210, a network interface 215 and a storage device 220.
  • the storage device 220 stores data of the computerized node 200 and backup data of other computerized nodes.
  • the storage device 220 may be any computer readable and/or computer writeable medium.
  • the computerized node 200 does not provide backup services and it may or may not be comprised of the storage device 220.
  • the storage device 220 contains at least one volume and it may comprise several different elements that provide storage capabilities such as a several hard disks, a Redundant Array of Independent Disks (RAID), a remote storage server, a flash drive and any other similar storage solutions.
  • the storage device 220 may also represent the entire physical disk including master boot record.
  • the computerized node 200 may also comprise a computerized agent 205, a recovery service 208, a Distributed Hash Module (DHM) 230, a reading detection module 240 and a writing detection module 250.
  • the recovery service 208 retrieves data blocks stored on other computerized nodes of the computerized network 201 in accordance to user predefined parameters or preferences and presents the retrieved data blocks to the user (not shown) of the computerized node 200.
  • Retrieved data blocks presentation to the user may be performed either by mounting a recovered volume as an additional system drive, or a straightforward replacement of corrupted files by the recovered ones.
  • a recovered volume is mounted even when only a portion of a volume has been retrieved.
  • the mounted volume is used to issue retrieval requests from the recovery service 208 when a content of a data block that has not been retrieved is requested.
  • the preferred manner of presentation may be determined by the user of the computerized node 200, or automatically determined according to data or system preferences.
  • the computerized agent 205 determines which data blocks from the storage device 220 are to be backed up, according to predefined parameters, rules or commands as further described herein below.
  • Other data blocks to be backed up are determined by the writing detection module 250 that monitors modifications of the content of the storage device 220.
  • the writing detection module 250 monitors modification of the content of the storage device 220 by monitoring a file system (not shown) of the computerized node 200, by implementing a device driver (not shown) for the storage device 220 that performs the monitoring operations before performing the modification on the storage device 220, by monitoring write commands issued by an operating system (not shown), and the like.
  • file modification data is detected using a file system filter driver, a concept well known in the art.
  • the file system filter driver provides notice of file level events and enables the computerized agent 205 to only backup data blocks containing a portion of a content of files that have been modified.
  • the file system filter driver also enables to initiate a recovery point creation, as is detailed below, when specific files are modified.
  • Other exemplary methods of obtaining file change information utilize built-in notifications issued by some file systems and/or compare complete, separate in time, scans of file system structure to find differences in files' metadata, especially modification date.
  • the description below refers only to monitoring of write commands.
  • this method may be replaced by another method, a combination of the several methods such as utilizing a file system filter driver, monitoring a file system and the like.
  • the writing detection module 250 When the writing detection module 250 detects that a content of a data block is modified, it triggers a backup request to the computerized agent 205 requesting to backup the modified content of the data block. In doing so, the computerized agent 205 provides a continuous data protection system that is able to restore the data stored in the storage device 220 at any point in time, hi other exemplary embodiments of the subject matter, the writing detection module 250 accumulates several data blocks that were modified before triggering a backup request. The writing detection module may utilize a bitmap to mark the data blocks to be backed up in the next recovery point. Said bitmap may efficiently represent a volume by assigning one bit per data block.
  • Said bitmap may be mathematically applied with another bitmap representing data blocks that need not be stored such as temporary files, backup data and the like.
  • the computerized agent 205 ignores backup requests for some data blocks.
  • the computerized agent 205 associates a data block with a file, in case the data block represents at least a portion of the content of the file.
  • the description hereinafter refers to this operation as associating the data block with a relevant file.
  • the computerized agent 205 may determine not to backup certain data blocks with respect to their relevant files.
  • the computerized agent 205 determines which data blocks are not to be backed up according to the user's preference, file types, modification times, file sizes and other similar criteria which can be user or administrator selected.
  • an exemplary embodiment does not backup data blocks associated with a backup data or other data created and managed by the backup system.
  • the list of data blocks to be ignored may be updated dynamically as the location of ignored content on the storage device 220 is modified.
  • a notification is sent from the computerized agent 205 to the writing detection module 250.
  • the writing detection module 250 monitors write commands to the storage device 220. If a write command is addressed to a data block previously determined to be backed up, the writing detection module 250 operates in a Copy-On-Write (COW) method.
  • COW Copy-On-Write
  • the writing detection module 250 may utilize a bitmap in which the computerized agent 205 sets bits corresponding to each block determined to be backed up.
  • the entire volume may be designated as COW protected by setting all the bits of the bitmap.
  • the writing detection module 250 receives all write requests, except those not relevant for backup such as page files and backup repository which may not be monitored to increase efficiency.
  • the writing detection module 250 checks for each data block whether its bit is set in the bitmap, and if the bit is so setthe writing detection module 250 copies the content of the data block from the local repository to a temporary repository and only then grants the write request.
  • the reading detection module 240 monitors all read commands from the storage device 220, similarly to the monitoring done by the writing detection module 250. When the reading detection module 240 detects a read command from the specific data block, it interrupts that read command.
  • An exemplary embodiment of the reading detection module 240 is able to interrupt the read command by implementing a file system filter driver. Such a driver may perform tasks before granting the read command.
  • the reading detection module 240 then grants the read command and allows for the retrieval of the modified content from the data block if the read was requested by the processing unit 210. In other cases, when the read command was requested by the agent 205 for backup purposes, the reading detection module 240 intercepts the read command and returns the original content stored in the different location. The reading detection module 240 returns a data block from the temporary repository if the requested data block exists there, otherwise the reading detection module 240 satisfies the request from the local repository. After the data is retrieved from the different location, the reading detection module 240 terminates monitoring of read commands from the different location.
  • a data block to be backed up may be sent over the computerized network 201 via the network interface 215 immediately as the computerized agent 205 selects it.
  • the data blocks may be sent by the network interface 215 after undergoing certain processing and transformations including but not limited to compression, encryption, addition of forward error correction codes and addition of flags and indicators.
  • the computerized agent 205 may also send several data blocks to be backed up in a batch operation. For example, if an entire volume is to be backed up, all the data blocks in the volume are selected.
  • the computerized agent 205 may collect data blocks to be backed up in a temporary buffer and determine to send the data blocks to the computerized network 201 via the network interface 215 after a predetermined number of data blocks were determined to be backed up. Such a batch operation optimizes the use of the resources of a system such as system 100 of figure. The computerized agent 205 may further determine to send the data blocks after a predetermined time has passed, even if the predetermined number of data blocks were not determined to be backed up. This enables the system to backup data blocks in a continuous data protection scheme while optimizing the use of the system's resources. By defining a time slot to collect a batch of data blocks to be backed up, the system controls the loss of possible restore points.
  • timing slot may vary according to the nature of the data being backed up. For example, if the data consists of word processing documents and emails, a time slot of one day may be adequate! In case the data is vital much shorter timing slot, such as one minute, should be determined.
  • a continuous data protection is provided by triggering a backup in relation with every or substantially every write.
  • Several data blocks may be accumulated before being sent over the computerized network 201.
  • the data blocks are enumerated and accumulated in a temporary buffer.
  • the computerized agent 205 determines to send the data blocks over the computerized network 201, according to some predefined parameters such as reaching a predefined buffer limit. This approach enables subsequent recovery of data blocks for any arbitrary point in time by deciphering the data blocks that were modified by the designated point in time.
  • the computerized agent 205 may associate a data block to be backed up with a relevant file.
  • the computerized agent 205 may determine to suspend the backing up of the data block. If a consistent snapshot is required, the backing up of other data blocks that were modified after said data block may also be suspended. In case a partial inconsistent snapshot, i.e. a snapshot that is only partially consistent, is adequate that other data blocks may be backed up before said data block be backed up.
  • the computerized agent 205 may determine that after a predetermined time slot has passed, the data block is to be backed up even if the file has not been closed.
  • the computerized agent 205 determines the QoS level for the data block, as will be detailed below with relation to Fig. 3.
  • the computerized agent 205 For every data block to be backed up, the computerized agent 205 utilizes the DHM 230 in order to determine a computerized node in the computerized network 210 that will be responsible for storing it before initiating the network interface 215 and sending the data block to the computerized node.
  • the DHM 230 provides several computerized nodes to store the data block to be backed up redundantly.
  • the DHM 230 is a distributed hash table such as CAN, Chord, Pastry, Tapestry, and the like.
  • the DHM 230 implements a content addressable storage device by generating a key for a data block based upon its content, and determining which one or more computerized nodes will store the backup of said data block according to a distribution function that receives as an input a key and outputs a subset of computerized nodes.
  • the DHM 230 may utilize a hash function to generate a key for a data block based on the content of the data block.
  • a hash function that provides an output of enough bits, for example 160 bits, the range of the keys is sufficiently large. If the hashing function provides also for a uniform distribution of said range of the keys then the possibility that two distinct data blocks will be assigned the same key is very low. Given such a low possibility two data blocks are compared to see if they are equal by comparing their two keys, as is well known in the art.
  • An exemplary hash function that provides the above characteristics is SHA-I .
  • the DHM 230 may utilize a quasi-static distribution function that changes slowly over time.
  • the quasi- static distribution function enables the computerized nodes to cope with the computerized network's 201 changing topology, by altering a desired computerized node to store a data block, in case a node that was previously determined to store it has departed from the computerized network, or in case a new computerized node has joined.
  • a quasi-static distribution function may also be utilized to divert data blocks to computerized nodes with more free storage space in their storage devices 220.
  • the DHM 230 may further be utilized when the recovery service 208 retrieves data blocks that were backed up to provide a set of computerized nodes that store the data blocks.
  • the set of computerized nodes is contacted and a retrieval request is issued to at least some of the computerized nodes in the set of computerized nodes.
  • a second computerized node 200 such as computerized node 120 of Fig. 1, receiving a data block to be backed up via the network interface 215, the computerized agent 205 utilizes the DHM 230 to determine if the second computerized node 200 is designated to store the backup of the data block. In case the backup is not to be stored in the second computerized node 200, the computerized agent 205 sends the data to a different computerized node on the computerized network 201 via the network interface 215, according to the DHM 230.
  • Such a scenario in which a second computerized node 200 receives a data block that it is not designated to store may occur as part of the communication protocol, because of an error due to the quasi-static distribution function or because of other similar causes that will be apparent for a person skilled in the art.
  • the computerized agent 205 may determine that the data block is not to be stored in the computerized node's 200 storage device 220 and drop the data block.
  • the computerized agent of the computerized node that determined that the data block is to be backed up will handle the error by verifying which computerized node is designated to store the backup of the data block, hi case the data block is to be backed up on the second computerized node 200, the computerized agent 205 stores a duplicate of the data block in the storage device 220.
  • the computerized agent 205 first determines the QoS level and performs a backup operation appropriate to the QoS level.
  • the QoS level may differ from the one determined by the computerized agent of the computerized node that sent the data block. Also, it will be apparent that computerized node sending the data block may also send the designated QoS level for the data block.
  • a computerized agent 205 of a computerized node 200 receiving a data block to be backed up first determines if the content of that data block is already stored in the storage device 220.
  • the computerized agent 205 of the computerized node 200 stores only a single copy of the data block in the storage device 220, and if the content of the data block to be backed up is already stored in a second data block, another duplicate of the data block is not stored.
  • the second data block may be stored in a backup repository (not shown).
  • the backup repository is a portion of the storage device 220 that is used for storing the backup data.
  • Any data block in the storage device 220 that is not part of the backup repository is considered part of a local repository (not shown). It should be apparent to any person skilled in the art that the local repository and the backup repository may be separated either physically or logically.
  • the method of using a copy of the data block that already exists in the backup repository for backing up instead of creating a duplicate copy is referred to henceforth as single-instance backup.
  • Said second data block may also be stored in the local repository of the computerized node 200. For example, if both the computerized node that requested the data block be backed up and the computerized node that stores the backup data block use the same operating system, they most probably share some files.
  • the data blocks representing the content of these files are backed up without requiring additional storage space as they are already stored on both storage devices 220.
  • the method of using the local repository for backing up instead of creating a duplicate copy in the backup repository is referred to henceforth as zero-instance backup.
  • An exemplary embodiment of the subject matter utilizes a COW method to verify that a backup of the data block is always stored.
  • the writing detection module 250 continuously monitors all write commands to ensure that the second data block, stored in the local repository, is not modified. If a write command addresses the second data block, the writing detection module 250 suspends the execution of the write command until the content of the second data block is copied to a different data block in the backup repository. After said copy operation completes, the writing detection module 250 grants the write command and the content of the second data block is allowed to be modified.
  • Fig. 3 shows a block diagram of a computerized agent 300, such as computerized agent 205, of a computerized node 200 of a computerized network, such as computerized network 140 of figure 1.
  • the computerized agent 300 comprises a QoS module 310, a file-aware module 320, a single-instance module 330, a zero-instance module 340, a recovery point creator 345, a recovery point plan module 350 and a configuration interface 360.
  • the file-aware module 320 associates a data block with a relevant file. By providing this association, the computerized agent 300 may ignore data blocks associated with relevant files that need not be backed up, according to predefined parameters as is aforementioned disclosed.
  • the file-aware module 320 may associate a data block and a relevant file in several different methods as is disclosed above.
  • the file- aware module 320 may associate a data block and a relevant file by correlating a time of a data block change and a time of a file change made by the file system.
  • Another exemplary method of associating a file and a block is comprised of mapping the data blocks representing each file and utilized said map.
  • the QoS module 310 determines a QoS level of a data block with accordance to predetermined parameters, such as but not limited to, file types, file modification frequency and times, file sizes, system and network constraints or specifications, user or administrator preferences and other similar parameters.
  • the QoS module 310 may utilize the file-aware module 320 to associate a data block with a relevant file.
  • Different QoS levels may determine how many redundant copies of the data block are stored in all the computerized nodes of the computerized network, or which error correction code should be used with regard to the data block.
  • one QoS level determines not to create a backup of the data block at all. This level may be used for every data block that is associated with temporary files.
  • Another exemplary QoS level may determine the redundancy level of the data block, for example insuring about fifty percent redundancy level to video files, and only about twenty percent for spreadsheet files.
  • the term redundancy level should be construed as a mathematical guarantee that as long as a predetermined percentage of the computerized nodes of the grid are functioning, every data block backed up can be restored. In the aforementioned examples, it should be construed as a guarantee that as long as about fifty or about twenty percent of the nodes are functioning, the data blocks associated with the video or spreadsheet files can be restored.
  • the QoS level may determine for how long the backed up data block will be stored. For example, a relatively low QoS level may determine that the data block be stored for only one week, while a relatively high QoS level may determine that the data block be stored for one year.
  • the computerized node comprises several storage devices (not shown), with different reliability characteristics.
  • the computerized agent 300 determines on which storage device the backed up data block is stored according to the QoS level, allocating storage space in the more reliable storage devices for data blocks with relatively higher QoS level.
  • the different storage devices may differ in other parameters such as security level, storage capacity, access time and so on, and that such differences may be utilizes to provide for variable QoS levels.
  • the computerized nodes of the computerized network may also vary in their reliability, for example a storage server is more reliable than a personal laptop that might be easily lost or stolen.
  • the QoS level may determine which computerized nodes should store the backup of the data block in accordance with their respective reliability.
  • Different QoS levels may be assigned to data blocks that serve different roles the distribution logic of the computerized network. For example, data block containing retrieval information such as lookup tables, may be assigned lower QoS levels than the QoS levels assigned for the actual backed up data. In other exemplary embodiments, such data blocks may be assigned higher QoS levels if the retrieval information is considered important.
  • the single-instance module 330 is utilized to determine whether a content of a data block to be backed up by the computerized agent 300 is already stored in the backup repository. In some exemplary embodiments of the subject matter two data blocks are compared to determine if their content is identical. In other exemplary embodiments, the key of the data blocks, as calculated by the DHM (such as 230 of figure 2), are compared. In case an identical copy of the data block exists in the backup repository, the backup operation is terminated and an additional copy is not stored.
  • the zero-instance module 340 is utilized to determine whether a content of a data block to be backed up by the computerized agent 300 is already stored in a data block on the local repository.
  • the backup is achieved without requiring any additional storage space in addition to the data that was already stored on the computerized node.
  • the single-instance module 330 comparison of two data blocks can be made based on their content, their hash-based key or any other similar technique. In case such a copy exists, the backup operation is terminated and a duplicate copy is not stored.
  • the zero-instance module 340 searches for an identical copy of the data block in the local repository and not in the backup repository.
  • the local repository is a portion of the storage device 220 that a processing unit (such as 210 of figure 2) writes to and reads from, with no relation to the backup process.
  • a processing unit such as 210 of figure 2
  • writes to and reads from with no relation to the backup process.
  • the data in the local repository is not guaranteed to remain unchanged, as opposed to the data in the backup repository.
  • a writing detection module such as 250 of figure 2.
  • the computerized agent 300 notifies the writing detection module which starts monitoring the local data block.
  • the writing detection module operates in a COW method providing that the content of said local data block will be stored on the computerized node.
  • a recovery point is a point in time in which a backup copy of at least a portion of a storage volume, also referred to simply as volume, is created.
  • the recovery point creator 345 determines at what time to create a new recovery point.
  • a new recovery point may be created on a timed basis or as a result of an event in the computerized node, for example a specific file change, defragmentation, buffer overload, a system power shutdown command, a user command or any other event in a computerized system.
  • the recovery point plan module 350 manages information regarding data blocks to be backed up in an upcoming recovery point. As is disclosed above, said information is gathered by a writing detection module (such as 250 of figure 2) with each block that is being modified.
  • the recovery point plan module 350 may comprise additional information utilized in order to minimize number of data blocks that needs to be backed up for every recovery point, thus bringing the system backup effort to minimum.
  • the recovery point plan module 350 may comprise a bitmap representing the data blocks of the storage device. Said bitmap may be used to denote data blocks that need not be backed up, such as data blocks in the backup repository and data blocks associated with page files and with files that the user or administrator determined not to backup.
  • the configuration interface 360 determines the parameters used in decisions made by the computerized agent 300, whether defined by a user, an administrator, another person authorized to configure the system of the present invention, or other external entity, predefined parameters and logic, default settings and the like.
  • the configuration interface 360 may also determine a preferred configuration for the QoS module 310.
  • the configuration interface 360 may use multiple input parameters, including but not limited to, distributed network status, computer system load and user settings, to set the threshold QoS level for a planned recovery point.
  • the configuration interface 360 may be any type of control interface including but not limited to user interface, Application Programming Interface (API) or the Simple Network Management Protocol (SNMP) interface.
  • API Application Programming Interface
  • SNMP Simple Network Management Protocol
  • Fig. 4 shows a flow diagram of a method of handling a received data block to be backed up after the data block was received at a computerized receiving node, according to an exemplary embodiment of the subject matter.
  • one or more data blocks to be backed up are received by the computerized receiving node, and the computerized receiving node performs the method described herein for each of the one or more data blocks.
  • the received data block is received at a computerized receiving node (such as computerized node 130 of figure 1).
  • a computerized agent (such as computerized agent 205 of figure 2) of the computerized receiving node utilizes a DHM (such as DHM 230 of figure 2) on step 405 to determine whether the received data block should be backed up by the computerized receiving node.
  • the computerized agent forwards, on step 408, the received data block to a second computerized node that should store the received data block backup according to the DHM. Forwarding the received data block is required mostly in case the computerized receiving node is not the computerized node that should back up the received data block.
  • a zero-instance module (such as 340 of figure 3) is utilized on step 410 to determine if the local repository of the computerized receiving node contains a second data block with the same content of the received data block. The determination may be done by searching through the entire local repository as the received data block is received. An alternative search may be conducted in a partly offline manner, by scanning the local repository in advance and collecting the data blocks that may be used for this purpose, or in an online manner, wherein the scanning as performed when required. Such data blocks may be characterized in that the DHM determines that their backup copies should also be stored in the computerized node that stores the original data blocks.
  • the computerized agent flags the second data block as being protected from writing. In some exemplary embodiments, the protection is achieved by utilizing a COW method as disclosed above. After the second data block is protected from writing, the data block is considered backed up. In case the second data block is not located in the local repository of the computerized receiving node, the computerized agent then, on step 430, utilizes a one-instance module (such as 330 of figure 3) to determine if the backup repository of the computerized receiving node contains a third data block with the same content of the received data block. The computerized agent stores the data block in the backup repository on step 440, only in case the third data block is not located.
  • a one-instance module such as 330 of figure 3
  • the computerized agent may utilize the QoS module (such as 310 of figure 3) to determine the QoS level of the received data block and store it accordingly.
  • a message may be issued to the computerized node that sent the received data block, indicating that the data block was backed up successfully by the computerized received node.
  • Fig. 5 shows a flow diagram of a method of handling a write request to a local repository issued by a processing unit (such as 210 of figure 2) in a computerized node (such as 200 of figure 2), according to an exemplary embodiment of the subject matter. Note that the write request is issued by the processing unit and not by a computerized agent, thus is not related to the backup operation.
  • the write request addressed to modify a first data block in a local repository, is received and intercepted by a writing detection module (such as 250 of figure 2).
  • the writing detection module determines whether the first data block has been flagged as being backed up. If a data block is flagged as being backed up, the original content of the data block will soon be sent to at least one other computerized node for backing up purposes. In that case, on step 508, before granting the write request, a duplicate of the first data block is stored and a reading detection module (such as 240 of figure 2) is notified to intercept read request from the first data block as was described above.
  • the writing detection module determines whether the first data block has been flagged as being protected from writing.
  • steps 520, 530, 540, 550 which are substantially equivalent to step 410, 420, 430, 440 of figure 4, are performed in order to ensure that a backup of the first data block is stored either in a local repository or in a backup repository.
  • the local repository is scanned for a second data block which content is equal to that of the first data block.
  • the scanning procedure on step 520 does not scan the entire local repository but rather skips one data block that is stored in the local repository - the first data block. The scanning procedure skips the first data block since when the write request will be granted, its content will be modified.
  • a computerized agent (such as 205 of figure 2) flags the first data block no longer being protected from writing.
  • the write request is granted and the content of the first data block is modified as requested.
  • the first data block is flagged as being backed up.
  • the computerized agent sends the first data block to other computerized nodes so that the other computerized nodes will store a backup of the modified content of the first data block.
  • the reading detection module will intercept the read request and provide the correct content, i.e. the content of the first data block as it was before the another write request was granted.
  • the first data block is being read by a processing unit the content of the modified content is provided.
  • the other computerized nodes may be determined by the DHM (such as 230 of figure 2).
  • the computerized agent may utilize a file-aware module (such as 320 of figure 3) in order to determine if the first data block is not to be backed up according to predefined parameters.
  • the computerized agent may further utilize a QoS module (such as 310 of figure 3) in order to determine the QoS level of the first data block before sending it to the other computerized nodes.
  • the QoS level may also determine the number of other computerized nodes that should store a backup of the first data block.
  • the first data block is flagged as no longer being backed up.
  • Fig. 6 shows a flow diagram of a method of accumulating modifications in a local repository and creating a recovery point, according to an exemplary embodiment of the subject matter.
  • a writing detection module (such as 250 of figure 2) of a computerized node (such as 200 of figure 2) monitors write commands to a local repository of the computerized node on step 605 and accumulates information regarding said write commands. As disclosed above, the writing detection module may detect changes in data blocks or in files. On step 610, if a recovery point is determined to be created the execution flow continues to step 620. Otherwise, the execution flow loops back to step 605 to continue accumulating said information regarding said write commands.
  • a recovery point may be created on a timed basis or as a result of an event in the computerized node, for example a specific file change, defragmentation, buffer overload, a system power shutdown command, a user command or any other event in a computerized system.
  • the writing detection module continues to monitor write commands. During that time, the write commands are granted only after the data is being copied to a temporary location, thus providing a consistent snapshot. This operation is referred to as freezing the local repository view and it is performed on step 620. A person skilled in the art will appreciate that freezing the local repository may be achieved in other similar manners.
  • a freezed view, also referred to as a static view, of a repository may be mounted to the file system as a file system volume or by utilizing a service of the operating system, such as Microsoft Corporation Volume Shadow Service (VSS) or Linux's LVM.
  • VSS Microsoft Corporation Volume Shadow Service
  • the file system such as Windows NTFS
  • the file system may be queried to verify that a relevant file of a data block being copied is closed and to ensure it remains closed until the recovery point creation process is completed.
  • a user may also opt to close each file he wants to query.
  • data blocks containing information regarding file system metadata may be required.
  • Relevant file system metadata may range from all file system metadata to metadata specific to files being backed up in a particular recovery point.
  • One possible method to locate the metadata data blocks is to query the file system for data blocks of all files and free space. All data blocks that are not assigned to either a file or free space are metadata data blocks. Thus by inversely masking those data blocks from the entire volume the metadata data blocks are located.
  • An alternative method may exclude from all metadata data blocks data blocks that are allocated by directory structure of directories not needed in recovery of files to be backed up. Location of directory structure blocks can be detected using methods similar to those used for files. Alternatively, one may implement the static view by reading and decoding the specific file system structure to obtain both files and metadata block location information.
  • the writing detection module and a reading detection module operate in a COW method, as was disclosed above.
  • a QoS module (such as 310 of figure 3) may be utilized to determine which data blocks are to be backed up. In an exemplary embodiment of the subject matter, only data blocks which are assigned a QoS level that is higher than a predefined threshold QoS level to be backed up.
  • a recovery point plan a list of data blocks to be stored for the recovery point.
  • the recovery point plan is generated from the accumulated information regarding the write commands.
  • An exemplary embodiment of the subject matter may first generate a list which consists of the files to be included in the current recovery point in accordance with the files that were modified by the write commands.
  • a first bitmap representing a bit for every data block in the local repository is utilized to flag data blocks associated with files included in the recovery point.
  • the first bitmap may be managed by a recovery point plan module such as 350 of figure 3.
  • a second similar bitmap may be utilized to flag the data blocks that were modified in the local repository and should be backed up. The first bitmap and the second bitmap are masked to create the recovery point plan.
  • a computerized agent of the computerized node sequentially reads all data blocks included in the recovery point plan and sends them via a network interface to the computerized network to be backed up.
  • some data blocks may be sent to be backed up before the recovery point is generated. In that case unnecessary data blocks may be backed up.
  • An exemplary embodiment of the subject matter assigns low QoS value to data blocks that are sent before the recovery point plan is created. The QoS value is revised once the recovery point plan has been generated or after the recovery point plan has been executed.
  • the computerized agent may also build indices lookup tables to provide for a fast data block retrieval procedure.
  • the indices lookup tables may be also stored on some computerized nodes of the network to provide for a fast data block retrieval procedure to every computerized node of the computerized network.
  • step 650 all temporary data is deleted, such data is data temporary stored to achieve the static local repository view. If the temporary data contains modification that need to be made to the local repository, as in some exemplary embodiments of the subject matter, the modifications are done before the temporary data is discarded.
  • the execution flow returns to step 605 and the writing monitoring module continues to accumulate changes in the local repository.
  • Lists mentioned above may be implemented using persistent tree like data structures like B+Tree or hash tables, which are well known in art. Different lists may be joined in unified data structure.

Abstract

Cette invention concerne un procédé et un système permettant de sauvegarder des données dans un réseau informatique. Chaque noeud informatique du réseau détermine les blocs de données devant être sauvegardés, d'après leurs fichiers appropriés associés. Les noeuds permettent une protection des données en continu grâce car ils stockent essentiellement tous les blocs de données modifiés. En outre, les noeuds permettent d'obtenir une qualité de services variable pour chaque bloc de données en fonction de paramètres prédéfinis. Les blocs de données sauvegardés sont stockés de manière redondante sur plusieurs noeuds. Les données déjà stockées sur le noeud sont utilisées pour réduire l'espace de stockage requis sur ce même noeud.
PCT/IL2008/001206 2007-09-09 2008-09-07 Procédé et appareil pour protection de données au moyen de grilles WO2009031156A2 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US97095707P 2007-09-09 2007-09-09
US60/970,957 2007-09-09

Publications (2)

Publication Number Publication Date
WO2009031156A2 true WO2009031156A2 (fr) 2009-03-12
WO2009031156A3 WO2009031156A3 (fr) 2010-03-04

Family

ID=40429502

Family Applications (3)

Application Number Title Priority Date Filing Date
PCT/IL2008/001206 WO2009031156A2 (fr) 2007-09-09 2008-09-07 Procédé et appareil pour protection de données au moyen de grilles
PCT/IL2008/001210 WO2009031157A2 (fr) 2007-09-09 2008-09-09 Procédé et appareil de récupération de données fondée sur des grilles
PCT/IL2008/001211 WO2009031158A2 (fr) 2007-09-09 2008-09-09 Procédé et appareil pour extraction de données sur un réseau

Family Applications After (2)

Application Number Title Priority Date Filing Date
PCT/IL2008/001210 WO2009031157A2 (fr) 2007-09-09 2008-09-09 Procédé et appareil de récupération de données fondée sur des grilles
PCT/IL2008/001211 WO2009031158A2 (fr) 2007-09-09 2008-09-09 Procédé et appareil pour extraction de données sur un réseau

Country Status (1)

Country Link
WO (3) WO2009031156A2 (fr)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7716179B1 (en) 2009-10-29 2010-05-11 Wowd, Inc. DHT-based distributed file system for simultaneous use by millions of frequently disconnected, world-wide users
EP2575045A1 (fr) * 2011-09-30 2013-04-03 Accenture Global Services Limited Système informatique distribué de sauvegarde et de récupération

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2499415B (en) * 2012-02-15 2014-09-24 Tivarri Ltd A method of backing-up, and making available by alternative means, electronic data and software initially stored on a client server
US9087012B1 (en) * 2014-06-04 2015-07-21 Pure Storage, Inc. Disaster recovery at high reliability in a storage cluster
US9442803B2 (en) 2014-06-24 2016-09-13 International Business Machines Corporation Method and system of distributed backup for computer devices in a network
CN110018878B (zh) * 2018-01-09 2022-08-30 阿里巴巴集团控股有限公司 一种分布式系统数据加载方法以及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5212772A (en) * 1991-02-11 1993-05-18 Gigatrend Incorporated System for storing data in backup tape device
US20020107877A1 (en) * 1995-10-23 2002-08-08 Douglas L. Whiting System for backing up files from disk volumes on multiple nodes of a computer network

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6912645B2 (en) * 2001-07-19 2005-06-28 Lucent Technologies Inc. Method and apparatus for archival data storage
US7296125B2 (en) * 2001-11-29 2007-11-13 Emc Corporation Preserving a snapshot of selected data of a mass storage system
JP2007502470A (ja) * 2003-08-14 2007-02-08 コンペレント・テクノロジーズ 仮想ディスク・ドライブのシステムおよび方法
US7814056B2 (en) * 2004-05-21 2010-10-12 Computer Associates Think, Inc. Method and apparatus for data backup using data blocks
US7284019B2 (en) * 2004-08-18 2007-10-16 International Business Machines Corporation Apparatus, system, and method for differential backup using snapshot on-write data
US7346799B2 (en) * 2004-09-07 2008-03-18 Emc Corporation Systems and methods for recovering and backing up data
US8918366B2 (en) * 2005-02-07 2014-12-23 Mimosa Systems, Inc. Synthetic full copies of data and dynamic bulk-to-brick transformation

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5212772A (en) * 1991-02-11 1993-05-18 Gigatrend Incorporated System for storing data in backup tape device
US20020107877A1 (en) * 1995-10-23 2002-08-08 Douglas L. Whiting System for backing up files from disk volumes on multiple nodes of a computer network

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7716179B1 (en) 2009-10-29 2010-05-11 Wowd, Inc. DHT-based distributed file system for simultaneous use by millions of frequently disconnected, world-wide users
US8296283B2 (en) 2009-10-29 2012-10-23 Google Inc. DHT-based distributed file system for simultaneous use by millions of frequently disconnected, world-wide users
EP2575045A1 (fr) * 2011-09-30 2013-04-03 Accenture Global Services Limited Système informatique distribué de sauvegarde et de récupération
US8930320B2 (en) 2011-09-30 2015-01-06 Accenture Global Services Limited Distributed computing backup and recovery system
US10102264B2 (en) 2011-09-30 2018-10-16 Accenture Global Services Limited Distributed computing backup and recovery system

Also Published As

Publication number Publication date
WO2009031157A2 (fr) 2009-03-12
WO2009031156A3 (fr) 2010-03-04
WO2009031158A2 (fr) 2009-03-12
WO2009031157A3 (fr) 2010-03-04
WO2009031158A3 (fr) 2010-03-04

Similar Documents

Publication Publication Date Title
US11288236B2 (en) Data synchronization management
US11500751B2 (en) Log monitoring
US11042663B2 (en) Automatic file encryption
US20210349856A1 (en) Systems and methods for using metadata to enhance data identification operations
US10496321B2 (en) Filtered reference copy of secondary storage data in a data storage system
US9183205B1 (en) User-based backup
US20160006669A1 (en) Methods and systems for managing bandwidth usage among a plurality of client devices
WO2009031156A2 (fr) Procédé et appareil pour protection de données au moyen de grilles
US20240070031A1 (en) Method and system for data recovery by a hardware-independent approach involving prioritization and data recovery selectivity

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 08789872

Country of ref document: EP

Kind code of ref document: A2

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS EPO FORM 1205A DATED 15.09.2010.

122 Ep: pct application non-entry in european phase

Ref document number: 08789872

Country of ref document: EP

Kind code of ref document: A2