Continuous data protection over intermittent connections, such as continuous data backup for laptops or wireless devices
First Claim
1. A portable device for replicating changes to data stored on the portable device to a data target, the portable device comprising:
- a communication component configured to communicatively couple the portable device to the data target;
a data store configured to store data;
a change detection component configured to, when the portable device is not communicatively coupled to the data target;
receive an indication from the communication component indicating that the portable device is not communicatively coupled to the data target; and
in response to the indication, detect changes to data stored in the data store;
a change log component configured to;
when the change detection component detects a change to data stored in the data store, receive an indication from the change detection component indicating the change to the data; and
in response to the indication, store information in a data structure that indicates the detected change to the data; and
a change replication component configured to, when the portable device is communicatively coupled to the data target;
receive an indication from the communication component indicating that the portable device is communicatively coupled to the data target;
in response to the indication, access the information stored in the data structure; and
copy the change to the data indicated by the information to the data target;
wherein the data store has blocks having sizes and the data structure is a bitmap, and wherein each bit of the bitmap is associated with a block of data stored in the data store, and the size of each block is determined based on a size limit of the bitmap.
3 Assignments
0 Petitions
Accused Products
Abstract
A portable data protection system is described for protecting, transferring or copying data using continuous data protection (CDP) over intermittent or occasional connections between a computer system or mobile device containing the data to be protected, transferred or copied, called a data source, and one or more computer systems that receive the data, called a data target. CDP can be broken down logically into two phases: 1) detecting changes to data on a data source and 2) replicating the changes to a data target. The portable data protection system uses a method that performs the first phase continuously or near continuously on the data source, and the second phase when a connection is available between the data source and the data target.
342 Citations
15 Claims
-
1. A portable device for replicating changes to data stored on the portable device to a data target, the portable device comprising:
-
a communication component configured to communicatively couple the portable device to the data target; a data store configured to store data; a change detection component configured to, when the portable device is not communicatively coupled to the data target; receive an indication from the communication component indicating that the portable device is not communicatively coupled to the data target; and in response to the indication, detect changes to data stored in the data store; a change log component configured to; when the change detection component detects a change to data stored in the data store, receive an indication from the change detection component indicating the change to the data; and in response to the indication, store information in a data structure that indicates the detected change to the data; and a change replication component configured to, when the portable device is communicatively coupled to the data target; receive an indication from the communication component indicating that the portable device is communicatively coupled to the data target; in response to the indication, access the information stored in the data structure; and copy the change to the data indicated by the information to the data target; wherein the data store has blocks having sizes and the data structure is a bitmap, and wherein each bit of the bitmap is associated with a block of data stored in the data store, and the size of each block is determined based on a size limit of the bitmap. - View Dependent Claims (2, 3, 4)
-
-
5. A computer-implemented method for tracking modifications made to data objects stored on a portable device, the method comprising:
-
determining when the portable device is connected to a data target, wherein the portable device stores data objects, and wherein the data target is configured to store copies of data objects from the portable device; and when it is determined that the portable device is not connected to the data target, at the portable device; receiving an indication of a modification made to a data object stored on the portable device; determining information associated with the modification made to the data object; and storing the associated information in a data structure, wherein the data structure is configured to enable retrieval of the associated information from the data structure and to enable determination of the modification made to the data object based on the associated information; wherein the portable device includes a file system and a continuous data protection filter configured to monitor modifications to the file system, and further wherein receiving an indication of a modification includes; monitoring a modification to a data object on the file system, wherein the monitoring is performed by the continuous data protection filter; and storing an indication of the modification monitored by the continuous data protection filter. - View Dependent Claims (6, 7, 8, 9, 10, 11, 12)
-
-
13. A computer-readable storage medium encoded with instructions for controlling a computer system to replicate changes from a portable computing system to a data storage system, by a method comprising:
-
receiving a data structure storing information identifying portions of data objects stored on a portable computing system to which modifications were made; retrieving the information from the data structure; based on the retrieved information, determining the portions of data objects to which modifications were made; and for each determined portion of a data object, copying the modification made to the portion of the data object from the portable computing system to the data storage system; wherein the portable computing system includes a data store having blocks, wherein the information identifying portions of data objects includes information identifying modified blocks, and further wherein; determining the portions of data objects to which modifications were made includes determining modified blocks, offsets within the modified blocks at which the modifications begin, and lengths of modified data within the modified blocks; and for each determined portion of a data object, copying the modification includes copying only the data within the modified block at the determined offset and length of modified data from the portable computing system to the data storage system. - View Dependent Claims (14, 15)
-
Specification