IP Library Granted Patent US 10,452,484
Granted Patent B2
US 10,452,484 · App. 14/278,273 · Granted Oct 22, 2019

Systems and methods for time-based folder restore

Inventor: Robert Morgan (Boston, MA)
Assignee: Carbonite, Inc.
G06F11/1451G06F11/1435G06F11/1469G06F16/2255G06F11/3034G06F2201/80G06F2201/83G06F2201/86
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 10,452,484
App. No.
14/278,273
Granted
Oct 22, 2019
Kind
B2
Abstract

The present disclosure describes systems and methods for hierarchical, iterative backup and restoration of files in a hierarchy. Upon backup of a new or modified file, an identification file is created with entries identifying the new or modified file and current versions of all other files in the same directory. The identification file may be stored on the local system and marked for backup. This triggers standard backup routines, such that the identification file is then backed up as if it were a new file in the parent directory. Accordingly, a second identification file is created with entries identifying the first identification file (and thus the child directory) as well as any other current versions of files in the parent directory and identification files for other child directories. This process is iteratively repeated, climbing through the directory structure, until reaching a top-most or root folder.

Claims (40)

1. A method for tree-based remote incremental backup tracking, comprising:

(a) detecting, by a backup manager executed by a local device, a detected file comprising a new or modified file in a first folder of the local device;

(b) transmitting, to a remote device by the backup manager, the detected file for backup by the remote device, responsive to the detecting;

(c) generating, by the backup manager, a first identification file associated with a first parent folder of the first folder by including in the first identification file a record of files, including the detected file, in the first folder at a particular point in time;

(d) transmitting, to the remote device by the backup manager, the first identification file for backup by the remote device; and

(e) iteratively repeating steps (a)-(d) for each successive parent folder up to a designated folder of the local device, wherein repeating the (c) generating further comprises generating an identification file associated with each successive parent folder, and wherein repeating the (c) generating further comprises producing a succession of identification files associated with descendent subfolders through to the first parent folder.

2. The method of claim 1 , wherein the designated folder of the local device is a root folder.

3. The method of claim 1 , wherein step (c) further comprises calculating a hash value of the detected file, and storing the hash value in the first identification file.

4. The method of claim 1 , wherein the detecting the modified file comprises an identification of a current version of the modified file.

5. The method of claim 1 , wherein the first identification file is associated with the first parent folder of the first folder as external metadata of the first parent folder.

6. The method of claim 1 , wherein the first identification file is stored in the first parent folder of the first folder.

7. A method for restoring from a tree-based remote incremental backup comprising:

retrieving, by a backup manager executed by a local device, responsive to a selection of a first folder of the local device for restoration to an indicated time, a first identification file associated with the first folder, the first identification file identifying a version of a first file stored in the first folder at the indicated time, the first identification file comprising a record of files, including the first file, in the first folder at the indicated time, and the first identification file being associated with a parent folder of the first folder;

reading, by the backup manager from the first identification file, an identification of the version of the first file, the first file comprising a second identification file associated with a child folder of the first folder;

retrieving, by the backup manager, based on the identification of the version of the first file, the second identification file;

reading, by the backup manager from the second identification file, an identification of the version of the second identification file; and

iteratively repeating retrieving and reading a succession of identification files associated with descendent subfolders of the first folder through to a retrieved file that is other than an identification file.

8. The method of claim 7 , wherein the first file comprises a user data file.

9. A method for maintaining a tree-based remote incremental backup tracking system, comprising:

(a) receiving, by a backup manager executed by a local device, an identification of deletion of a version of a backed up file having a first modification time from a first folder of the local device;

(b) retrieving, by the backup manager, identification files associated with versions of a parent folder of corresponding versions of the first folder, each said identification files identifying contents of a corresponding version of the first folder at times in a range from the first modification time to a current time, each of the identification files comprising a record of files, including versions of the backed up file, in the first folder at said times in said range;

(c) identifying, by the backup manager, a subset of the identification files including an identification of the version of the backed up file having the first modification time;

(d) deleting, by the backup manager, the subset of the identification files; and

(e) iterating steps (a)-(d) for each deleted identification file for successive parent folders up to a designated folder, wherein iterating the (d) deleting further comprises deleting a succession of identification files associated with the successive parent folders through to the designated folder.

10. The method of claim 9 , wherein each of the identification files is stored in a folder corresponding to a version of a parent folder of the first folder.

11. The method of claim 9 , wherein identifying a subset of the identification files including an identification of the version of the backed up file having the first modification time further comprises:

calculating a hash result of contents of the version of the backed up file having the first modification time; and

identifying at least one of the identification files including the hash result.

12. A system for tree-based remote incremental backup tracking, comprising:

a local device comprising a processor and a memory storing a file system, the processor executing a backup manager configured to:

(a) detect a detected file comprising a new or modified file in a first folder of the file system of the local device;

(b) transmit, to a remote device, the detected file for backup by the remote device, responsive to detection of the detected file;

(c) generate a first identification file associated with a first parent folder of the first folder in the file system of the local device by including in the first identification file a record of files, including the detected file, in the first folder at a particular point in time;

(d) transmit, to the remote device, the first identification file for backup by the remote device; and

(e) iteratively repeat steps (a)-(d) for each successive parent folder up to a designated folder of the local device, wherein repeating the (c) generate further comprises generating an identification file associated with each successive parent folder, and wherein repeating the (c) generate further comprises producing a succession of identification files associated with descendent subfolders through to the first parent folder.

13. The system of claim 12 , wherein the designated folder of the local device is a root folder.

14. The system of claim 12 , wherein the backup manager is configured to calculate a hash value of the detected file, and store the hash value in the first identification file.

15. The system of claim 12 , wherein detecting the modified file comprises an identification of a current version of the modified file.

16. The system of claim 12 , wherein the first identification file is associated with the first parent folder of the first folder as external metadata of the first parent folder.

17. The system of claim 12 , wherein the first identification file is stored in the first parent folder of the first folder.

Assignments (9)
ASSIGNMENT AND ASSUMPTION AGREEMENT Recorded Oct 12, 2023
From: CARBONITE, LLC
To: OPEN TEXT INC.
Reel/Frame 065222/0310 →
CERTIFICATE OF CONVERSION Recorded Oct 12, 2023
From: CARBONITE, INC.
To: CARBONITE, LLC
Reel/Frame 065222/0303 →
RELEASE OF SECURITY INTEREST IN PATENT RIGHTS RECORDED AT R/F 048723/0374 Recorded Dec 26, 2019
From: BARCLAYS BANK PLC, AS COLLATERAL AGENT
To: CARBONITE, INC.
Reel/Frame 051418/0807 →
SECURITY INTEREST Recorded Mar 28, 2019
From: CARBONITE, INC.
To: BARCLAYS BANK PLC, AS COLLATERAL AGENT
Reel/Frame 048723/0374 →
TERMINATION OF PATENT SECURITY AGREEMENT FILED AT R/F 045640/0335 Recorded Mar 26, 2019
From: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
To: CARBONITE, INC.
Reel/Frame 048702/0929 →
SECURITY INTEREST Recorded Mar 19, 2018
From: CARBONITE, INC.
To: SILICON VALLEY BANK
Reel/Frame 045640/0335 →
RELEASE OF SECURITY INTEREST Recorded Apr 5, 2017
From: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
To: CARBONITE, INC.
Reel/Frame 041855/0459 →
SECURITY AGREEMENT Recorded May 6, 2015
From: CARBONITE, INC.
To: SILICON VALLEY BANK
Reel/Frame 035602/0605 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 19, 2014
From: MORGAN, ROBERT
To: CARBONITE, INC.
Reel/Frame 032925/0121 →
Continuity (1)
Related Publication 20150331755A1 · Nov 19, 2015