IP Library Granted Patent US 7,363,316
Granted Patent B2
US 7,363,316 · App. 11/166,690 · Granted Apr 22, 2008

Systems and methods for organizing and mapping data

Assignee: Mendocino Software, Inc.
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,363,316
App. No.
11/166,690
Filed
Jun 23, 2005
Granted
Apr 22, 2008
Kind
B2
Art Unit
2162
USPC
707/102
Abstract

A system and method is provided for organizing and mapping data. In exemplary embodiments, a copy of at least one first data block created from a first computing device is generated. A copy of one or more second data blocks created from one or more second computing devices utilizing the copy of the at least one first data block is also generated. The copy of the at least one first data block is related to the copy of the one or more second data blocks in a branching data structure. The copy of the at least one first data block and the copy of the one or more second data blocks is mapped to a storage medium via an index associated with the branching data structure.

Claims (43)

1. A method for organizing and mapping data for data recovery, the method comprising:

generating a copy of at least one first data block created from a first computing device;

generating a copy of one or more second data blocks created from one or more second computing devices utilizing the copy of the at least one first data block;

relating the copy of the at least one first data block to the copy of the one or more second data blocks in a branching data structure configured to track the copy of the at least one first data block in relation to the one or more second data blocks;

mapping the copy of the at least one first data block and the copy of the one or more second data blocks to a storage medium for data recovery via an index of a recovery storage, the index associated with the branching data structure;

selecting the copy of the at least one first data block for a historical view for a user to view data of a point in time; and

associating at least one event with the copy of the at least one first data blocks or the copy of the one or more second data blocks, comprising: using the historical view to create the one or more second data blocks based on the at least one event.

2. The method recited in claim 1 , wherein the first computing device and the one or more second computing devices comprise a single computing device providing one or more user sessions.

3. The method recited in claim 1 , wherein the historical view of data comprises the copy of the at least one first data block at a point in time which is utilized to create the one or more second data blocks.

4. The method recited in claim 1 , further comprising associating at least one event with a point in time district from one or more points in time associated with the copy of the at least one first data blocks and the copy of the one or more second data blocks.

5. The method recited in claim 1 , wherein the branching data structure includes the index.

6. The method recited in claim 1 , wherein the storage medium comprises a data block storage medium.

7. The method recited in claim 1 , wherein the first computing device comprises a set of computing devices.

8. The method recited in claim 1 , wherein the branching data structure, the index, the copy of the at least one first data block, and the copy of the one or more second data blocks comprise a single structure.

9. The method recited in claim 1 , wherein the copy of the at least one first data block and the copy of the one or more second data blocks comprise data of various sizes.

10. The method recited in claim 1 , further comprising tracking changes to at least one data block in a temporary storage medium.

11. A Computer readable medium having embodied thereon a program, the program being executable by a processor for performing a method for organizing and mapping data for data recovery, the method comprising:

generating a copy of at least one first data block created from a first computing device;

generating a copy of one or more second data blocks created from one or more second computing devices utilizing the copy of the at least one first data block;

relating the copy of the at least one first data block to the copy of the one or more second data blocks in a branching data structure configured to track the copy of the at least one first data block in relation to the one or more second data blocks;

mapping the copy of the at least one first data block and the copy of the one or more second data blocks to a storage medium for data recovery via an index of a recovery storage, the index associated with the branching data structure; and

selecting the copy of the at least one first data block for a historical view for a user to view data of a point in time, wherein the method further comprises associating at least one event with the copy of the at least one first data blocks or the copy of the one or more second data blocks and wherein the method further comprises using the historical view to create the one or more second data blocks based on the at least one event.

12. The computer readable medium having embodied thereon a program, the program being executable by a processor for performing a method for organizing and mapping data for data recovery as recited in claim 11 , wherein the first computing device and the one or more second computing devices comprise a single computing device providing one or more user sessions.

13. The computer readable medium having embodied thereon a program, the program being executable by a processor for performing a method for organizing and mapping data for data recovery as recited in claim 11 , wherein the historical view of data comprises the copy of the at least one first data block at a point in time which is utilized to create the one or more second data blocks.

14. The computer readable medium having embodied thereon a program, the program being executable by a processor for performing a method for organizing and mapping data for data recovery as recited in claim 11 , wherein the method further comprises associating at least one event with an area of the storage medium not associated with the copy of the at least one first data blocks or the copy of the one or more second data blocks.

15. The computer readable medium having embodied thereon a program, the program being executable by a processor for performing a method for organizing and mapping data for data recovery as recited in claim 11 , wherein the branching data structure includes the index.

16. The computer readable medium having embodied thereon a program, the program being executable by a processor for performing a method for organizing and mapping data for data recovery as recited in claim 11 , wherein the storage medium comprises a data block storage medium.

17. The computer readable medium having embodied thereon a program, the program being executable by a processor for performing a method for organizing and mapping data for data recovery as recited in claim 11 , wherein the first computing device comprises a cluster of computing devices.

18. The computer readable medium having embodied thereon a program, the program being executable by a processor for performing a method for organizing and mapping data for data recovery as recited in claim 11 , wherein the branching data structure,the index, the copy of the at least one first data block, and the copy of the one or more second data blocks comprise a single structure.

19. The computer readable medium having embodied thereon a program, the program being executable by a processor for performing a method for organizing and mapping data for data recovery as recited in claim 11 , wherein the copy of the at least one first data block and the copy of the one or more second data blocks comprise data of various sizes.

20. The computer readable medium having embodied thereon a program, the program being executable by a processor for performing a method for organizing and mapping data or data recovery as recited in claim 11 , wherein the method further comprises tracking changes to at least one data block in a temporary storage medium.

21. A system for organizing and mapping data for data recovery, the system comprising:

a data tap for generating a copy of at least one first data block created from a first computing device and for generating a copy of one or more second data blocks created from one or more second computing devices utilizing the copy of the at least one first data block; and

a recovery storage configured to receive a selection of a copy of the at least one first data block for a historical view for a user to view data of a point in time, the recovery storage coupled to the data tap configured to store a branching data structure for relating the copy of the at least one first data block to the copy of the one or more second data blocks, the branching tree structure configured to track the copy of the at least one first data block in relation to the one or more second data blocks, and an index of a recovery storage, the index associated with the branching data structure for mapping the copy of the at least one first data block and the copy of the one or more second data blocks to the storage medium for data recovery, wherein the recovery storage further configured to store an association of at least one event with the copy of the at least one first data blocks or the copy of the one or more second data blocks and wherein the storage is further configured to store a selection of the copy of the at least one first data blocks as a historical view for a user to view data of a point in time and to create the one or more second data blocks based on the at least one event.

22. The system recited in claim 21 , wherein the first computing device and the one or more second computing devices comprise a single computing device providing one or more user sessions.

23. The system recited in claim 21 , wherein a historical view of data comprising the copy of the at least one first data block at a point in time is utilized to create the one or more second data blocks.

24. The system recited in claim 21 , wherein the recovery storage is further configured to store an association of at least one event with an area of the recovery storage not associated with the copy of the at least one first data blocks or the copy of the one or more second data blocks.

25. The system recited in claim 21 , wherein the branching data structure includes the index.

26. The system recited in claim 21 , wherein the recovery storage comprises a data block storage medium.

27. The system recited in claim 21 , wherein the first computing device comprises a cluster of computing devices.

28. The system recited in claim 21 , wherein the branching data structure, the index, the copy of the at least one first data block, and the copy of the one or more second data blocks comprise a single structure.

29. The system recited in claim 21 , wherein the copy of the at least one first data block and the copy of the one or more second data blocks comprise data of various sizes.

30. The system recited in claim 21 , wherein the recovery storage is further configured to track changes to at least one data block in a temporary storage medium.

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 SOFTWARE
Reel/Frame 020632/0839 →
SECURITY AGREEMENT Recorded Feb 8, 2008
From: MENDOCINO SOFTWARE, INC.
To: TRIPLEPOINT CAPITAL LLC
Reel/Frame 020486/0198 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 23, 2005
From: ANDERSON, CURTIS; WOYCHOWSKI, JOHN P.
To: MENDOCINO SOFTWARE, INC.
Reel/Frame 016736/0778 →
Continuity (2)
Provisional Application 6060516800 · Aug 30, 2004
Related Publication 20060047694A1 · Mar 2, 2006