Method, system, and program for personal data management using content-based replication
First Claim
Patent Images
1. A system for managing data, said system comprising:
- a processor, said processor configured to perform;
a) receiving data from a data source;
b) generating a data block from the data;
c) generating a data block checksum of the data block;
d) comparing the data block checksum to a collection of stored data block checksums of a collection of stored data blocks, wherein the data source comprises a plurality of files and a stored data block is shared by more than one file of the plurality of files;
e) determining if the data block checksum is the same as a stored data block checksum of the collection of stored data block checksums;
f) if the data block checksum is the same as the stored data block checksum, generating a data block message digest;
g) comparing the data block message digest to a collection of stored data block message digests of the collection of stored data blocks;
h) determining if the data block message digest is the same as a stored data block message digest of the collection of stored data block message digests;
i) if the data block message digest is the same as the stored data block message digest, storing in a backup file a pointer to a stored data block of the collection of stored data blocks without adding the data block to the collection of stored data blocks; and
j) if the data block checksum is not the same as any stored data block checksum or if the data block message digest is not the same as any stored data block message digest, storing the data block in the collection of stored data blocks and storing in a backup file a pointer to the data block and a data block fingerprint of the data block,wherein the collection of stored data blocks comprises a data block that was not generated from a previous version of the data received in step a.
8 Assignments
0 Petitions
Accused Products
Abstract
Provided herein are data management systems and methods for storing, cataloging, and protecting data on a computer using software and a portable data storage device. The technology can back up, manage, and protect data for any operating or file system by checking files for block-level or byte-level changes and storing only new data. By storing only new data and cataloging information within a comprehensive backup archive composed of these blocks, the size of each backup is minimized.
89 Citations
21 Claims
-
1. A system for managing data, said system comprising:
-
a processor, said processor configured to perform; a) receiving data from a data source; b) generating a data block from the data; c) generating a data block checksum of the data block; d) comparing the data block checksum to a collection of stored data block checksums of a collection of stored data blocks, wherein the data source comprises a plurality of files and a stored data block is shared by more than one file of the plurality of files; e) determining if the data block checksum is the same as a stored data block checksum of the collection of stored data block checksums; f) if the data block checksum is the same as the stored data block checksum, generating a data block message digest; g) comparing the data block message digest to a collection of stored data block message digests of the collection of stored data blocks; h) determining if the data block message digest is the same as a stored data block message digest of the collection of stored data block message digests; i) if the data block message digest is the same as the stored data block message digest, storing in a backup file a pointer to a stored data block of the collection of stored data blocks without adding the data block to the collection of stored data blocks; and j) if the data block checksum is not the same as any stored data block checksum or if the data block message digest is not the same as any stored data block message digest, storing the data block in the collection of stored data blocks and storing in a backup file a pointer to the data block and a data block fingerprint of the data block, wherein the collection of stored data blocks comprises a data block that was not generated from a previous version of the data received in step a. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method for managing data comprising the steps of:
-
a) receiving data from a data source; b) generating a data block from the data; c) generating a data block checksum of the data block; d) comparing the data block checksum to a collection of stored data block checksums of a collection of stored data blocks, wherein the data source comprises a plurality of files and a stored data block is shared by more than one file of the plurality of files; e) determining if the data block checksum is the same as a stored data block checksum of the collection of stored data block checksums; f) if the data block checksum is the same as the stored data block checksum, generating a data block message digest; g) comparing the data block message digest to a collection of stored data block message digests of the collection of stored data blocks; h) determining if the data block message digest is the same as a stored data block message digest of the collection of stored data block message digests; i) if the data block message digest is the same as the stored data block message digest, storing in a backup file a pointer to a stored data block of the collection of stored data blocks without adding the data block to the collection of stored data blocks; and j) if the data block checksum is not the same as any stored data block checksum or if the data block message digest is not the same as any stored data block message digest, storing the data block in the collection of stored data blocks and storing in a backup file a pointer to the data block and a data block fingerprint of the data block, wherein the collection of stored data blocks comprises a data block that was not generated from a previous version of the data received in step a; and wherein the method is performed by a processor. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20, 21)
-
Specification