IP Library Patent Application 11404294
Patent Application
App. No. 11/404,294

Method and apparatus for efficiently storing and managing historical versions and replicas of computer data files

Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US None
App. No.
11/404,294
Abstract

The present invention is associated with a system and a method for providing comprehensive data protection for data, which includes receiving a file and storing a first modified version of the file along with a first difference file, wherein the first difference file contains differences between the first modified version of the file and the received file.

Claims (96)

1 . A method for protecting data from loss comprising

receiving a file;

storing a modified version of said file and a difference file, wherein said difference file contains differences between said modified version of said file and said received file;

replacing said modified version of said file with another modified version of said file; and

storing another difference file in addition to said difference file, wherein said another difference file contains differences between said another modified version of said file and said first modified version of said file.

2 . The method according to claim 1 , wherein said file is received by a file storage server.

3 . The method according to claim 2 , wherein said storing said modified version, said replacing said modified version, and said storing said another difference file are performed using a protection server coupled to said file storage server.

4 . The method according to claim 1 , wherein said difference file and said another difference file form a history of said file.

5 . The method according to claim 1 , further comprising

restoring said another modified version of said file using said file, said difference file and said another difference file.

6 . The method according to claim 1 , further comprising

storing a duplicate of said another modified version of said file, said difference file, and said another difference file in a location which is different from a location of storage of said received file;

wherein said storing further comprises

storing said a duplicate of said modified version of said file and said difference file in said different storage location;

transferring a copy of said another difference file from said storage location of said received file to said different storage location;

storing said a duplicate of said another modified version of said file in said different storage location; and

replacing said modified version of said file with said copy of said another difference file and said another modified version of said file in said different storage location.

7 . The method according to claim 6 , wherein said storing at least one duplicate copy is performed using at least one protection server.

8 . The method according to claim 6 , wherein at least one of said storage location and said different storage location is a magnetic tape.

9 . The method according to claim 6 , wherein at least one of said storage location and said different storage location is a digital storage device.

10 . The method according to claim 6 , wherein at least one of said storage location and said different storage location is a disk storage device.

11 . The method according to claim 6 , wherein said storage location and said different storage location are connected to each other using a network.

12 . The method according to claim 11 , wherein said network is selected from a group consisting of wide area network (“WAN”), local area network (“LAN”), metropolitan area network (“MAN”), and wireless network.

13 . A method of organizing and managing data contained in files, wherein files are contained in folders organized into directories, comprising

receiving and storing an original file on a file storage server;

storing a copy of said original file in a protection repository;

detecting a modification of said original file on said file storage server;

replacing said copy of said original file in said repository with a copy of said modified version of said original file and a byte-level difference between said modified version of said original file and said original file;

detecting another modification of said original file on said file storage server, wherein said another modification is a modification of said modified version of said original file;

replacing said modified version with said another modification of said original file, and said byte-level difference, and storing an another byte-level difference in addition to said byte-level difference, wherein said another byte-level difference contains differences between said another modification of said original file and said modified version; and

storing a duplicate of said another modification of said original file in another protection repository other than said protection repository, wherein said storing further comprises

storing said another modification of said original file in said another protection repository; and

transferring copies of said byte-level difference and said another byte-level difference to said another protection repository.

14 . The method according to claim 13 , wherein said file storage server is in communication with said protection repository.

15 . The method according to claim 14 , wherein

said storing, said replacing, said replacing and storing are performed using at least one protection server contained within said protection repository; and

said storing said duplicate is performed using at least one protection server contained within said another protection repository.

16 . The method according to claim 13 , further comprising:

retrieving said another modification of said original file using said original file, said byte-level difference, and said another byte-level difference.

17 . The method according to claim 13 , further comprising

retrieving said modified version of said original file using said another modification of said original file and said another byte-level difference.

18 . The method according to claim 13 , further comprising

retrieving said modified version of said original file using said another modification of said original file and said another byte-level difference.

19 . The method according to claim 16 , wherein said retrieving step is performed in said protection repository.

20 . The method according to claim 17 , wherein said retrieving step is performed in said protection repository.

21 . The method according to claim 18 , wherein said retrieving step is performed in said protection repository.

22 . The method according to claim 16 , wherein said retrieving step is performed in said another protection repository.

23 . The method according to claim 17 , wherein said retrieving step is performed in said another protection repository.

24 . The method according to claim 18 , wherein said retrieving step is performed in said another protection repository.

25 . The method according to claim 13 , wherein each of said protection repositories further comprises at least one protection server; and

said protection server includes a power supply, a central processing unit, a main memory, at least one network port, and at least one magnetic disk drive.

26 . The method according to claim 25 , wherein said byte-level difference and said another byte-level difference are sequentially stored in each said protection server.

27 . A system for protecting data from loss, comprising:

a storage facility including

a file storage server configured to receive a file; and

a protection repository in communication with said file storage server, wherein said protection repository is configured to store a modified version of said file along with a difference file and to replace said modified version of said file with another modified version of said file and store another difference file in addition to said difference file;

wherein said difference file contains differences between said modified version of said file and said file;

wherein said another difference file contains differences between said another modified version of said file and said modified version of said file.

28 . The system according to claim 27 , wherein said protection repository is further configured to restore said another modified version of said file using said file, said difference file and said another difference file.

29 . The system according to claim 27 , further comprising

another protection repository in communication with said protection repository and located in a different location than said protection repository, wherein said another protection repository is configured to

receive copies of said difference file and said another difference file from said protection repository; and

store at least one duplicate of said another modified version of said file, said difference file, and said another difference file.

30 . The system according to claim 27 , wherein each of said protection repositories comprises at least one protection server for storing said file, said modified version of said file and said difference file.

31 . The system according to claim 30 , wherein each said protection server comprises a power supply, a central processing unit, a main memory, at least one network port, at least one magnetic disk drive.

32 . The system according to claim 29 , wherein said protection repository communicates with said another protection repository using at least one virtual private network.

33 . The system according to claim 32 , wherein said difference file is transferred from said protection repository to said another protection repository using said at least one virtual private network.

34 . The system according to claim 29 , wherein said file storage server is configured to

locate at least one file, which is used less often than another file; and,

replace said at least one file with a stub file containing information about at least one storage location within one of said protection repository and said another protection repository where a backup of said less often used file is stored.

35 . The system according to claim 34 , wherein said less often used file is a least actively used file.

36 . The system according to claim 34 , wherein said protection repositories are further configured to

retrieve said at least one least actively used file from at least one of said protection repositories using said stub file.

37 . The system according to claim 29 , wherein said protection repositories are configured to have at least one file retention policy configured to

retain said another modified version of said file, said difference file and said another difference file in at least one of said protection repositories.

38 . The system according to claim 29 , wherein said protection repositories are configured to have at least one file retention policy configured to

retain said another modified version of said file in at least one of said protection repositories; and

delete said difference file and said another difference file from at least one of said protection repositories.

39 . The system according to claim 29 , wherein said protection repositories are configured to have at least one file retention policy configured to

retain said another modified version of said file in at least one of said protection repositories; and

purge said modified version of said filed from said at least one of said protection repositories.

40 . The system according to claim 39 , wherein said retention policy is further configured to

perform said purging after a predetermined period of time.

41 . The system according to claim 40 , wherein said purging is selected from a group consisting of periodic purging, manual purging, and automatic purging.

42 . The system according to claim 40 , wherein said purging further comprises

purging said deleted file, said first difference file and said second difference file from all protection repositories.

43 . The system according to claim 29 , wherein each of said protection repositories is configured to have at least one file retention policy configured to

delete at least one of said file, said modified version of said file, and said another modified version of said file from at least one of said protection repositories; and

purge at least one replica of said at least of said file, said modified version of said file, and said another modified version of said file from at least one other one of said protection repositories.

44 . The system according to claim 43 , wherein said purging is selected from a group consisting of periodic purging, manual purging, and automatic purging.

45 . The system according to claim 43 , wherein said purging further comprises

purging said replicas from all said protection repositories.

46 . The system according to claim 29 , wherein said protection repositories are configured to balance a storage capacity of each said protection repository, wherein said balancing comprises

determining that at least one protection server has reached a limit of storage capacity;

transferring data from said at least one protection server to at least another protection server having available capacity to accept said transfer;

wherein said protection servers are located within at least one said protection repositories.

Assignments (3)
RELEASE OF SECURITY INTEREST Recorded Jun 3, 2021
From: COMERICA BANK
To: EXAGRID SYSTEMS, INC.
Reel/Frame 056425/0108 →
SECURITY INTEREST Recorded Oct 1, 2018
From: EXAGRID SYSTEMS, INC.
To: COMERICA BANK
Reel/Frame 047172/0685 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 14, 2006
From: THERRIN, DAVID G.; VANDERSPEK, ADRIAN; RAMU, ASHOK T.
To: EXAGRID SYSTEMS, INC.
Reel/Frame 017792/0535 →