Methods and apparatus for multi-phase multi-source backup
First Claim
Patent Images
1. A non-transitory computer-readable medium configured to store instructions that, when executed by a processor included in a server, cause the server to carry out steps that include:
- storing, by the server, sequential snapshots that represent a file system of a device over time, the sequential snapshots including at least a first snapshot that is a complete backup of the file system and a second snapshot that is a partial backup of the file system that identifies files in the file system that have changed with respect to the first snapshot;
identifying, by the server, a change in at least one resource stored in the file system of the device, wherein communication between the server and the device is based at least in part on metadata associated with the at least one resource that represents a first level of abstraction of the at least one resource;
transmitting, from the server to the device, a token configured to authorize the device to backup, to one or more remote storage locations, a collection of data chunks that represent the at least one resource, wherein communication between the one or more remote storage locations and the device is based at least in part on the collection of data chunks, and the collection of data chunks represents a second layer of abstraction of the at least one resource that is distinct from the first level of abstraction; and
committing the change in the at least one resource to the server upon receiving a confirmation that the backup is complete, wherein committing the change includes;
merging the second snapshot with the first snapshot as an atomic operation, andsubsequent to identifying that merging the second snapshot with the first snapshot is successful, and upon determining that a number of the sequential snapshots satisfies a threshold;
generating a third snapshot that accounts for the change in the at least one resource such that a fixed number of snapshots is maintained for the device as the file system changes over time.
1 Assignment
0 Petitions
Accused Products
Abstract
Methods and apparatus that identify a change of resources in a device to a first backup source are described. In response to receiving a token from the first backup source for authorization to a second backup source, the change of resources can be backed up to the second backup source with the token. The change of resources can be committed to the first backup source if the back up of the change to the second backup source is successful.
-
Citations
19 Claims
-
1. A non-transitory computer-readable medium configured to store instructions that, when executed by a processor included in a server, cause the server to carry out steps that include:
-
storing, by the server, sequential snapshots that represent a file system of a device over time, the sequential snapshots including at least a first snapshot that is a complete backup of the file system and a second snapshot that is a partial backup of the file system that identifies files in the file system that have changed with respect to the first snapshot; identifying, by the server, a change in at least one resource stored in the file system of the device, wherein communication between the server and the device is based at least in part on metadata associated with the at least one resource that represents a first level of abstraction of the at least one resource; transmitting, from the server to the device, a token configured to authorize the device to backup, to one or more remote storage locations, a collection of data chunks that represent the at least one resource, wherein communication between the one or more remote storage locations and the device is based at least in part on the collection of data chunks, and the collection of data chunks represents a second layer of abstraction of the at least one resource that is distinct from the first level of abstraction; and committing the change in the at least one resource to the server upon receiving a confirmation that the backup is complete, wherein committing the change includes; merging the second snapshot with the first snapshot as an atomic operation, and subsequent to identifying that merging the second snapshot with the first snapshot is successful, and upon determining that a number of the sequential snapshots satisfies a threshold; generating a third snapshot that accounts for the change in the at least one resource such that a fixed number of snapshots is maintained for the device as the file system changes over time. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A computer implemented method, comprising:
at a server; storing, by the server, sequential snapshots that represent a file system of a device over time, the sequential snapshots including at least a first snapshot that is a complete backup of the file system and a second snapshot that is a partial backup of the file system that identifies files in the file system that have changed with respect to the first snapshot; identifying, by the server, a change in at least one resource stored in the file system of the device, wherein communication between the server and the device is based at least in part on metadata associated with the at least one resource that represents a first level of abstraction of the at least one resource; transmitting, from the server to the device, a token configured to authorize the device to backup, to one or more remote storage locations, a collection of data chunks that represent the at least one resource, wherein communication between the one or more remote storage locations and the device is based at least in part on the collection of data chunks, and the collection of data chunks represents a second layer of abstraction of the at least one resource that is distinct from the first level of abstraction; and committing the change in the at least one resource to the server upon receiving a confirmation that the backup is complete, wherein committing the change includes; merging the second snapshot with the first snapshot as an atomic operation, and subsequent to identifying that merging the second snapshot with the first snapshot is successful, and upon determining that a number of the sequential snapshots satisfies a threshold; generating a third snapshot that accounts for the change in the at least one resource such that a fixed number of snapshots is maintained for the device as the file system changes over time. - View Dependent Claims (17)
-
18. A server, comprising:
-
one or more processors; and a memory storing instructions that, when executed by the one or more processors, the one or more processors to carry out steps that include; storing, by the server, sequential snapshots that represent a file system of a device over time, the sequential snapshots including at least a first snapshot that is a complete backup of the file system and a second snapshot that is a partial backup of the file system that identifies files in the file system that have changed with respect to the first snapshot; identifying, by the server, a change in at least one resource stored in the file system of the device, wherein communication between the server and the device is based at least in part on metadata associated with the at least one resource that represents a first level of abstraction of the at least one resource; transmitting, from the server to the device, a token configured to authorize the device to backup, to one or more remote storage locations, a collection of data chunks that represent the at least one resource, wherein communication between the one or more remote storage locations and the device is based at least in part on the collection of data chunks, and the collection of data chunks represents a second layer of abstraction of the at least one resource that is distinct from the first level of abstraction; and committing the change in the at least one resource to the server upon receiving a confirmation that the backup is complete, wherein committing the change includes; merging the second snapshot with the first snapshot as an atomic operation, and subsequent to identifying that merging the second snapshot with the first snapshot is successful, and upon determining that a number of the sequential snapshots satisfies a threshold; generating a third snapshot that accounts for the change in the at least one resource such that a fixed number of snapshots is maintained for the device as the file system changes over time. - View Dependent Claims (19)
-
Specification