IP Library Granted Patent US 7,287,133
Granted Patent B2
US 7,287,133 · App. 10/924,669 · Granted Oct 23, 2007

Systems and methods for providing a modification history for a location within a data store

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,287,133
App. No.
10/924,669
Granted
Oct 23, 2007
Kind
B2
Abstract

A storage management device can receive a request for a modification history for a location within a data store, determine one or more times at which at least a portion of data stored at the location was modified, and transmit the one or more determined times.

Claims (51)

1. A method for providing a modification history for a location within a data store, the method comprising:

intercepting all write requests directed to a data store on a continuous basis without scheduling any volume-level snapshot, wherein a copy-on-write operation is performed in response to each write request, thereby generating a historical index of copy-on-write operations;

receiving-a request for a modification history for a specified location within the data store;

determining at least one time at which at least a portion of data stored at the specified location was modified, the determination being based on the historical index of copy-on-write operations; and

transmitting, in response to the received request, the at least one determined time.

2. The method of claim 1 wherein the specified location comprises an address range within the data store.

3. The method of claim 2 wherein the address range comprises a logical block address and a length.

4. The method of claim 3 wherein the logical block address specifies a beginning of the address range.

5. The method of claim 1 wherein the request for the modification history is received in a packet.

6. The method of claim 5 wherein the packet comprises at least a portion of an input/output command.

7. The method of claim 6 wherein the input/output command is in a standard input/output command format.

8. The method of claim 7 wherein the input/output command is a Small Computer Systems Interf ace (SCSI) command.

9. The method of claim 1 wherein the determining step comprises determining at least one time at which a subset of the data stored at the specified location was modified.

10. The method of claim 1 wherein the determining step comprises determining at least one time at which all of the data stored at the specified location was modified.

11. The method of claim 1 wherein the determining step comprises determining at least one time at which a superset of the data stored at the specified location was modified.

12. The method of claim 1 wherein the at least one time comprises at least two times.

13. The method of claim 1 wherein the at least one time comprises one time.

14. The method of claim 1 further comprising identifying for each determined time, an address range within the data store at which data was modified at that determined time.

15. The method of claim 14 wherein the at least one identified address range comprises at least a portion of the specified location.

16. The method of claim 14 wherein the at least one identified address range comprises a superset of the specified location.

17. The method of claim 14 further comprising transmitting in response to the received request, the at least one identified address range.

18. The method of claim 17 wherein the at least one determined time and the at least one identified address range are transmitted in a single packet.

19. The method of claim 18 wherein the transmitted packet comprises at least one tuple, each tuple comprising one determined time and the address range identified for that determined time.

20. The method of claim 19 wherein the transmitted packet indicates the number of tuples comprised within the packet.

21. The method of claim 18 wherein the single packet is transmitted to a host.

22. The method of claim 14 wherein the at least one address range comprises a logical block address and a length.

23. The method of claim 22 wherein the logical block address specifies a beginning of the at least one address range.

24. The method of claim 1 wherein the determined time is an absolute time.

25. The method of claim 1 wherein the determined time is a time relative to a present time.

26. A storage management device for providing a modification history for a location within a data store, the storage management device comprising:

a data backup module to intercept all write requests directed to a data store on a continuous basis without scheduling any volume-level snapshot, wherein a copy-on-write operation is performed in response to each write request, thereby generating a historical index of copy-on-write operations;

a receiver to receive a request for a modification history for a specified location within the data store;

a determination module to determine at least one time at which at least a portion of data stored at the specified location was modified, the determination being based on the historical index of copy-on-write operations; and

a transmitter to transmit, in response to the received request, the at least one determined time.

27. An article of manufacture for providing a modification history for a location within a data store, the article of manufacture comprising:

at least one processor readable medium; and

instructions carried on the at least one medium;

wherein the instructions are configured to be readable from the at least one medium by at least one processor and thereby cause the at least one processor to operate so as to:

intercept all write requests directed to a data store on a continuous basis without scheduling any volume-level snapshot, wherein a copy-on-write operation is performed in response to each write request, thereby generating a historical index of copy-on-write operations;

receive a request for a modification history for a specified location within & the data store;

determine at least one time at which at least a portion of data stored at the specified location was modified, the determination being based on the historical index of copy-on-write operations; and

transmit, in response to the received request, the at least one determined time.

28. A method for responding to a request for a modification history for a location within a data store, the method comprising:

intercepting all write requests directed to a data store on a continuous basis without scheduling any volume-level snapshot, wherein a copy-on-write operation is performed in response to each write request, thereby generating a historical index of copy-on-write operations;

generating, in response to a request for a modification history for a specified location within the data store, a data packet containing at least one tuple, the tuple comprising:

an address range identifying the location of one or more units of storage within a the data store at which data was modified at a determined time; and

the determined time; and

transmitting the data packet.

29. The method of claim 28 , wherein the data packet further comprises an indicator indicating the number of tuples comprised within the data packet.

30. The method of claim 28 wherein the determined time is an absolute time.

31. The method of claim 28 wherein the determined time is a time relative to a present time.

Assignments (14)
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 Mar 20, 2007
From: REVIVIO, INC.
To: SYMANTEC OPERATING CORPORATION
Reel/Frame 019032/0953 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 1, 2004
From: ROWAN, MICHAEL; RODGERS, KEVIN
To: REVIVIO, INC.
Reel/Frame 015936/0552 →