IP Library Granted Patent US 7,421,617
Granted Patent B2
US 7,421,617 · App. 11/215,930 · Granted Sep 2, 2008

Systems and methods for optimizing restoration of stored data

Assignee: Symantec Corporation
View Patent ↗
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 7,421,617
App. No.
11/215,930
Filed
Aug 30, 2005
Granted
Sep 2, 2008
Kind
B2
Art Unit
2113
USPC
714/15
Abstract

A system and method is provided for optimizing restoration of stored data. A request for data to be restored to any point in time is received. A current state of the data is determined. One or more data blocks required to modify the data from the current state to the any point in time requested are identified. The data at the any point in time is restored within a storage medium using the identified one or more data blocks.

Claims (38)

1. A method for optimizing restoration of stored data comprising:

receiving a request for data to be restored to any point in time;

determining a current state of the data;

identifying one or more data blocks required to modify the data from the current state to the any point in time requested;

determining an optimal restoration based on the current state of the data determination and the identification of the one or more data blocks required to modify the data from the current state to the any point in time requested; and

restoring the data at the any point in time within a storage medium using the identified one or more data blocks based on the optimal restoration determination.

2. The method recited in claim 1 , further comprising utilizing the restored data as a basis for generating at least one additional data block.

3. The method recited in claim 2 , further comprising buffering the additional at least one additional data block while the data is restored to the any point in time within the storage medium.

4. The method recited in claim 1 , wherein the any point in time includes an event.

5. The method recited in claim 1 , further comprising generating a historical view of the restored data to present to a user in response to the request for the data to be restored to any point in time.

6. The method recited in claim 5 , further comprising allowing a user to generate at least one additional data block utilizing the historical view.

7. The method recited in claim 6 , further comprising buffering the at least one additional data block while the data is restored to the any point in time within the storage medium.

8. The method recited in claim 7 , further comprising mapping the at least one additional data block with a branching data structure.

9. The method recited in claim 1 , wherein the one or more data blocks may comprise various sizes of data.

10. A system for optimizing restoration of stored data comprising:

a recovery server configured to receive a request for data to be restored to any point in time, determine a current state of the data, identify one or more data blocks required to modify the data from the current state to the any point in time requested, determine an optimal restoration based on the current state of the data determination and the identification of the one or more data blocks required to modify the data from the current state to the any point in time requested; and

a storage medium configured to be restored with the data to the any point in time from the identified one or more data blocks based on the optimal restoration determination.

11. The system recited in claim 10 , further comprising a computing device associated with a user configured to utilize the restored data as a basis for generating at least one additional data block.

12. The system recited in claim 11 , wherein the computing device is further configured to buffer the additional at least one additional data block while the data is restored to the any point in time within the storage medium.

13. The system recited in claim 10 , wherein the any point in time includes an event.

14. The system recited in claim 10 , wherein the recovery server is further configured to generate a historical view of the restored data to present to a user in response to the request for the data to be restored to any point in time.

15. The system recited in claim 14 , wherein the recovery server is further configured to allow a user to generate at least one additional data block utilizing the historical view.

16. The system recited in claim 15 , wherein the recovery server is further configured to buffer the at least one additional data block while the data is restored to the any point in time within the storage medium.

17. The system recited in claim 16 , wherein the at least one additional data block is mapped with a branching data structure.

18. The system recited in claim 10 , wherein the one or more data blocks may comprise various sizes of data.

19. A computer program embodied on a computer readable medium having instructions for optimizing restoration of stored data comprising:

receiving a request for data to be restored to any point in time; determining a current state of the data;

identifying one or more data blocks required to modify the data from the current state to the any point in time requested;

determining an optimal restoration based on the current state of the data determination and the identification of the one or more data blocks required to modify the data from the current state to the any point in time requested; and

restoring the data at the any point in time within a storage medium using the identified one or more data blocks based on the optimal restoration determination.

20. The computer program recited in claim 19 , further comprising utilizing the restored data as a basis for generating at least one additional data block.

21. The computer program recited in claim 20 , further comprising buffering the additional at least one additional data block while the data is restored to the any point in time within the storage medium.

22. The computer program recited in claim 19 , wherein the any point in time includes an event.

23. The computer program recited in claim 19 , further comprising generating a historical view of the restored data to present to a user in response to the request for the data to be restored to any point in time.

24. The computer program recited in claim 23 , further comprising allowing a user to generate at least one additional data block utilizing the historical view.

25. The computer program recited in claim 24 , further comprising buffering the at least one additional data block while the data is restored to the any point in time within the storage medium.

26. The computer program recited in claim 25 , further comprising mapping the at least one additional data block with a branching data structure.

27. The computer program recited in claim 19 , wherein the one or more data blocks may comprise various sizes of data.

Assignments (16)
AMENDMENT NO. 1 TO PATENT SECURITY AGREEMENT Recorded Apr 8, 2025
From: VERITAS TECHNOLOGIES LLC; COHESITY, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 070779/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 26, 2025
From: VERITAS TECHNOLOGIES LLC
To: COHESITY, INC.
Reel/Frame 070335/0013 →
RELEASE OF SECURITY INTEREST Recorded Dec 16, 2024
From: ACQUIOM AGENCY SERVICES LLC, AS COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC (F/K/A VERITAS US IP HOLDINGS LLC)
Reel/Frame 069712/0090 →
RELEASE OF SECURITY INTEREST Recorded Dec 13, 2024
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 069634/0584 →
SECURITY INTEREST Recorded Dec 9, 2024
From: VERITAS TECHNOLOGIES LLC; COHESITY, INC.
To: JPMORGAN CHASE BANK. N.A.
Reel/Frame 069890/0001 →
ASSIGNMENT OF SECURITY INTEREST IN PATENT COLLATERAL Recorded Nov 25, 2024
From: BANK OF AMERICA, N.A., AS ASSIGNOR
To: ACQUIOM AGENCY SERVICES LLC, AS ASSIGNEE
Reel/Frame 069440/0084 →
TERMINATION AND RELEASE OF SECURITY IN PATENTS AT R/F 037891/0726 Recorded Nov 30, 2020
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: VERITAS US IP HOLDINGS, LLC
Reel/Frame 054535/0814 →
SECURITY INTEREST Recorded Aug 20, 2020
From: VERITAS TECHNOLOGIES LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 054370/0134 →
MERGER AND CHANGE OF NAME Recorded Apr 18, 2016
From: VERITAS US IP HOLDINGS LLC; VERITAS TECHNOLOGIES LLC
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 038455/0752 →
SECURITY INTEREST Recorded Feb 23, 2016
From: VERITAS US IP HOLDINGS LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 037891/0726 →
SECURITY INTEREST Recorded Feb 23, 2016
From: VERITAS US IP HOLDINGS LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037891/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 4, 2016
From: SYMANTEC CORPORATION
To: VERITAS US IP HOLDINGS LLC
Reel/Frame 037697/0412 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 17, 2008
From: MENDOCINO SOFTWARE, INC.
To: SYMANTEC CORPORATION
Reel/Frame 021096/0825 →
RELEASE Recorded Mar 7, 2008
From: TRIPLEPOINT CAPITAL LLC
To: MENDOCINO SORTWARE
Reel/Frame 020631/0818 →
SECURITY AGREEMENT Recorded Feb 8, 2008
From: MENDOCINO SOFTWARE, INC.
To: TRIPLEPOINT CAPITAL LLC
Reel/Frame 020486/0198 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 30, 2005
From: ANDERSON, CURTIS; WOYCHOWSKI, JOHN P.; WADHER, PRATIK
To: MENDOCINO SOFTWARE, INC.
Reel/Frame 016948/0184 →
Continuity (2)
Provisional Application 6060516800 · Aug 30, 2004
Related Publication 20060047996A1 · Mar 2, 2006