IP Library Granted Patent US 9,430,546
Granted Patent B2
US 9,430,546 · App. 14/082,921 · Granted Aug 30, 2016

Systems and methods for managing delta version chains

Inventors: Jamey C. Poirier (Grafton, MA); William Joseph Sylva (Chelmsford, MA)
Assignee: Exagrid Systems, Inc.
G06F17/30575G06F17/30162
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 9,430,546
App. No.
14/082,921
Granted
Aug 30, 2016
Kind
B2
Abstract

A system, a method, and a computer program product for managing delta version chains are provided. A version chain having a plurality of versions of data is provided. A first delta-compressed version and a second delta-compressed version corresponding to a first version of data in the version chain and a second version of data in the version chain, respectively, are selected. A third delta-compressed version configured to be independent of at least one of the first delta-compressed version and the second delta-compressed version and further configured to contain at least one third instruction determined based on at least one of the following: the first insert instruction, the second insert instruction, the first copy instruction, and the second copy instruction, is generated.

Claims (40)

1. A computer implemented method, comprising:

generating an instruction for uncompressing at least one compressed version of data corresponding to an uncompressed version of data in a version chain containing a plurality of versions of data, the instruction containing a key representative of a location of a data segment to be copied in the uncompressed version of data and a value representative of a length of data segment to be copied in the uncompressed version of data, the data segment is present in at least another uncompressed version of data in the version chain; and

uncompressing, based on the generated instruction, the at least one compressed version of data;

wherein the compressed version of data depends on another compressed version of data corresponding to the another uncompressed version of data in the version chain;

wherein the at least one of the generating and the uncompressing is performed on at least one processor of at least one computing system.

2. The method according to claim 1 , wherein the instruction includes a predetermined combination of at least one of the following: at least one insert instruction and at least one copy instruction corresponding to at least one compressed version of data.

3. The method according to claim 1 , wherein the compressed version of data is a delta-compressed version of data.

4. The method according to claim 1 , wherein the generated instruction is used to uncompress any version of data in the version chain.

5. The method according to claim 1 , wherein the generated instruction includes an instruction that is modified based on the at least one insert instruction.

6. The method according to claim 1 , wherein the generated instruction includes a plurality of different copy instructions.

7. The method according to claim 6 , wherein the generated instruction includes an instruction modified based on at least one copy instruction in the plurality of different copy instructions.

8. The method according to claim 1 , wherein the uncompressing further comprises executing the generated instruction in a predetermined order.

9. The method according to claim 1 , further comprising purging any version of data in the version chain.

10. A system for storing data, comprising:

at least one processor; and

at least one machine-readable medium storing instructions that, when executed by the at least one processor, cause the at least one processor to perform operations comprising:

generating an instruction for uncompressing at least one compressed version of data corresponding to an uncompressed version of data in a version chain containing a plurality of versions of data, the instruction containing a key representative of a location of a data segment to be copied in the uncompressed version of data and a value representative of a length of data segment to be copied in the uncompressed version of data, the data segment is present in at least another uncompressed version of data in the version chain; and

uncompressing, based on the generated instruction, the at least one compressed version of data;

wherein the compressed version of data depends on another compressed version of data corresponding to the another uncompressed version of data in the version chain.

11. The system according to claim 10 , wherein the instruction includes a predetermined combination of at least one of the following: at least one insert instruction and at least one copy instruction corresponding to at least one compressed version of data.

12. The system according to claim 10 , wherein the compressed version of data is a delta-compressed version of data.

13. The system according to claim 10 , wherein the generated instruction is used to uncompress any version of data in the version chain.

14. The system according to claim 10 , wherein the generated instruction includes an instruction that is modified based on the at least one insert instruction.

15. The system according to claim 10 , wherein the generated instruction includes a plurality of different copy instructions.

16. The system according to claim 15 , wherein the generated instruction includes an instruction modified based on at least one copy instruction in the plurality of different copy instructions.

17. The system according to claim 10 , wherein the uncompressing further comprises executing the generated instruction in a predetermined order.

18. The system according to claim 10 , further comprising purging any version of data in the version chain.

19. A non-transitory computer program product comprising machine-readable medium storing instructions that, when executed by the at least one processor, cause the at least one processor to perform operations comprising:

generating an instruction for uncompressing at least one compressed version of data corresponding to an uncompressed version of data in a version chain containing a plurality of versions of data, the instruction containing a key representative of a location of a data segment to be copied in the uncompressed version of data and a value representative of a length of data segment to be copied in the uncompressed version of data, the data segment is present in at least another uncompressed version of data in the version chain;

uncompressing, based on the generated instruction, the at least one compressed version of data;

wherein the compressed version of data depends on another compressed version of data corresponding to the another uncompressed version of data in the version chain;

wherein the at least one of the generating and the uncompressing is performed on at least one processor of at least one computing system.

20. The computer program product according to claim 19 , wherein the instruction includes a predetermined combination of at least one of the following: at least one insert instruction and at least one copy instruction corresponding to at least one compressed version of data.

21. The computer program product according to claim 19 , wherein the compressed version of data is a delta-compressed version of data.

22. The computer program product according to claim 19 , wherein the generated instruction is used to uncompress any version of data in the version chain.

23. The computer program product according to claim 19 , wherein the generated instruction includes an instruction that is modified based on the at least one insert instruction.

24. The computer program product according to claim 19 , wherein the generated instruction includes a plurality of different copy instructions.

25. The computer program product according to claim 24 , wherein the generated instruction includes an instruction modified based on at least one copy instruction in the plurality of different copy instructions.

26. The computer program product according to claim 19 , wherein the uncompressing further comprises executing the generated instruction in a predetermined order.

27. The computer program product according to claim 19 , further comprising purging any version of data in the version chain.

Assignments (6)
RELEASE OF SECURITY INTEREST Recorded Jun 3, 2021
From: COMERICA BANK
To: EXAGRID SYSTEMS, INC.
Reel/Frame 056425/0108 →
SECURITY INTEREST Recorded May 27, 2021
From: EXAGRID SYSTEMS, INC.
To: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
Reel/Frame 056372/0929 →
CORRECTIVE ASSIGNMENT TO CORRECT THE APPL. NOS. 10303656, 10114831, 10073855 AND 10067946 BY REMOVING THEM FOR THE PATENT NOS. PREVIOUSLY RECORDED ON REEL 049619 FRAME 0342. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY INTERESTS. Recorded Feb 9, 2021
From: EXAGRID SYSTEMS, INC.
To: ORIX GROWTH CAPITAL, LLC
Reel/Frame 056399/0163 →
SECURITY INTEREST Recorded Jun 28, 2019
From: EXAGRID SYSTEMS, INC.
To: ORIX GROWTH CAPITAL, LLC
Reel/Frame 049619/0342 →
SECURITY INTEREST Recorded Oct 1, 2018
From: EXAGRID SYSTEMS, INC.
To: COMERICA BANK
Reel/Frame 047172/0685 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 18, 2013
From: POIRIER, JAMEY C., MR.; SYLVA, WILLIAM JOSEPH, MR.
To: EXAGRID SYSTEMS, INC.
Reel/Frame 031623/0772 →
Continuity (2)
Continuation 13434306 · Mar 29, 2012
Related Publication 20140122425A1 · May 1, 2014