IP Library Patent Application 14512299
Patent Application
App. No. 14/512,299

HIERARCHICAL DATA ARCHIVING

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.
14/512,299
Abstract

Disclosed is a file versioning system and corresponding methods for its operation. The file versioning system allows making snapshots of the file system every time there is a modification to the file system or its items. The snapshots may be linked to their immediate predecessors. Some older snapshots may be discarded according to a “thinning out” process based on multiple criteria. The snapshots may be displayed to a user in a manner making it easy to select a desired version.

Claims (46)

1 . A method for maintaining a file versioning system, the method comprising:

determining, by one or more processors, a modification of the file system;

based on the determination, making, by the one or more processors, a snapshot of the file system;

linking, by the one or more processors, the snapshot to at least one of a plurality of predecessor snapshots; and

dynamically discarding, by the one or more processors, one or more snapshots of the plurality of predecessor snapshots based on one or more predetermined criteria.

2 . The method of claim 1 , wherein the modification of the file system includes one of the following: creating a new file, modification of a content of an existing file, deleting an existing file, changing one or more properties of an existing file, creating a new folder, modification of a content of an existing folder, deletion of an existing folder, and changing one or more properties of an existing folder.

3 . The method of claim 1 , wherein the snapshot includes one or more of the following: a modified file, a created file, a modified folder, and a created folder.

4 . The method of claim 1 , wherein the snapshot includes an identifier of the snapshot, date and time associated with the modification, information regarding the modification, information regarding a state of the file system at a point of time associated the modification, and at least one link to at least one of predecessor snapshot from the plurality of predecessor snapshots.

5 . The method of claim 1 , further comprising, storing in a database, information describing the snapshot, the plurality of predecessor snapshots, and a link between the snapshot and at least one of the plurality of predecessor snapshots.

6 . The method of claim 5 , further comprising accessing the snapshot through a virtual folder added to a root of the file system, wherein the virtual folder provides access to the plurality of predecessor snapshots.

7 . The method of claim 6 , wherein the plurality of predecessor snapshots in the virtual folder is split into trees of subfolders labeled by date or by date and time, where the date and the time are date and time of making the snapshot.

8 . The method of claim 1 , further comprising, while dynamically discarding the one or more snapshots, linking a successor of a deleted snapshot to an immediate predecessor of the deleted snapshot.

9 . The method of claim 1 , wherein the one or more predetermined criteria is based on points of time of making the one or more snapshots.

10 . The method of claim 1 further comprising:

dividing time passed from a pre-determined point of time to a point of time of a last modification in file system into two or more time periods; and

assigning each particular time period from the two or more time periods a number of snapshots made in the particular time period to be kept in the file system.

11 . The method of claim 10 , wherein a time period from the two and more time periods located closer to the point of time of the last modification contains more snapshots kept in the file system.

12 . The method of claim 1 , wherein the one or more predetermined criteria is based on content associated with one or more snapshots.

13 . The method of claim 1 , wherein the one or more predetermined criteria is based on a type of a modification associated with one or more snapshots.

14 . A system for maintaining a file versioning system, the system comprising:

one or more processors; and

a memory communicatively coupled with the one or more processors, the memory storing instructions which when executed by the one or more processors performs a method comprising:

determining, by one or more processors, a modification of the file system;

based on the determination, making, by the one or more processors, a snapshot of the file system;

linking, by the one or more processors, the snapshot to at least one of a plurality of predecessor snapshots; and

dynamically discarding, by the one or more processors, one or more snapshots of the plurality of predecessor snapshots based on one or more predetermined criteria.

15 . The system of claim 14 , wherein the modification of file system includes one of the following: creating a new file, modification a content of an existing file, deleting an existing file, changing one or more properties of an existing file, creating a new folder, modification a content of an existing folder, deletion of an existing folder, and changing one or more properties of an existing folder.

16 . The system of claim 14 , wherein the snapshot includes one or more of the following: a modified file, a created file, a modified folder, and a created folder.

17 . The system of claim 14 , wherein the snapshot includes an identifier of the snapshot, date and time associated with the modification, information regarding the modification, information regarding a state of the file system at a point of time associated the modification, and at least one link to at least one of predecessor snapshot from the plurality of predecessor snapshots.

18 . The system of claim 14 , further comprising storing, in a database, information describing the snapshot, the plurality of predecessor snapshots, and a link between the snapshot and at least one of the plurality of predecessor snapshots.

19 . The system of claim 18 , further comprising accessing the snapshot through a virtual folder added to a root of the file system, wherein the virtual folder provides access to the plurality of predecessor snapshots.

20 . The system of claim 19 , wherein the plurality of predecessor snapshots in the virtual folder is split into trees of subfolders labeled by date or by date and time, where the date and the time is date and time of making the snapshot.

21 . The system of claim 14 further comprising, while dynamically discarding one or more snapshots:

linking a successor of a deleted snapshot to an immediate predecessor of the deleted snapshot.

22 . The system of claim 14 , wherein the one or more predetermined criteria is based on points of time of making the one or more snapshots.

23 . The system of claim 14 further comprising:

dividing a time passed from a pre-determined point of time to a point of time of a last modification of the file system into two and more time periods; and

assigning each particular time period from the two and more time periods a number of snapshots made in the particular time period to be kept in the file system.

24 . The system of claim 23 , wherein a time period from the two and more time periods located closer to the point of time of the last modification contains more snapshots kept in the file system.

25 . The system of claim 14 , wherein the one or more predetermined criteria is based on content associated with one or more snapshots.

26 . The method of claim 14 , wherein the one or more predetermined criteria is based on a type of a modification associated with one or more snapshots.

27 . A non-transitory processor-readable medium having instructions stored thereon, which when executed by one or more processors, cause the one or more processors to perform the following steps of a method for maintaining a file versioning system, the method comprising:

determining, by one or more processors, a modification of the file system;

based on the determination, making, by the one or more processors, a snapshot of the file system;

linking, by the one or more processors, the snapshot to at least one of a plurality of predecessor snapshots; and

dynamically discarding, by the one or more processors, one or more snapshots of the plurality of predecessor snapshots based on one or more predetermined criteria.

Assignments (3)
TERMINATION AND RELEASE OF PATENT SECURITY AGREEMENT Recorded Mar 16, 2021
From: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
To: EXABLOX CORPORATION; STORAGECRAFT TECHNOLOGY CORPORATION; STORAGECRAFT INTERMEDIATE HOLDINGS, INC.; STORAGECRAFT ACQUISITION CORPORATION
Reel/Frame 055614/0852 →
SECURITY INTEREST Recorded Mar 27, 2017
From: EXABLOX CORPORATION; STORAGECRAFT INTERMEDIATE HOLDINGS, INC.; STORAGECRAFT ACQUISITION CORPORATION; STORAGECRAFT TECHNOLOGY CORPORATION
To: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
Reel/Frame 041748/0849 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 15, 2015
From: HUNT, TAD; BARRUS, FRANK E.
To: EXABLOX CORPORATION
Reel/Frame 035419/0366 →