IP Library Granted Patent US 10,185,631
Granted Patent B2
US 10,185,631 · App. 14/324,112 · Granted Jan 22, 2019

System and method of performing continuous backup of a data file on a computing device

Inventor: Timothy R. Jewell (Toronto, CA)
Assignee: DATA DEPOSIT BOX INC.
G06F11/1464G06F11/1456G06F11/1469G06F11/1471
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,185,631
App. No.
14/324,112
Granted
Jan 22, 2019
Kind
B2
Abstract

The described embodiments relate to devices for performing continuous backup of a data file on a computing device. The computing device transmits, to a backup server, a first network backup version of the data file, when the backup server is constantly available to the computing device through an uninterrupted network connection. The computing device monitors the data file to detect when a modification has been made to the data file, and when a modification to the data file has been detected, the computing device refrains from transmitting backup data associated with the modification until a network time interval expires. During the network time interval, a delta file corresponding to the modification made to the data file is stored locally on the computing device. Upon expiry of the network time interval, the computing device then transmits a second network backup version of the data file to the backup server.

Claims (58)

1. A method of performing continuous backup of a data file on a computing device, the method comprising:

transmitting, to the backup server, a first network backup version of the data file, the backup server being constantly available to the computing device through an uninterrupted network connection between the computing device and the backup server;

monitoring the data file to detect when a modification has been made to the data file;

when a modification to the data file has been detected, refraining from transmitting backup data associated with the modification until a network time interval expires;

storing, locally on the computing device, a delta file corresponding to the modification made to the data file; and

upon expiry of the network time interval, transmitting a second network backup version of the data file to the backup server, the second network backup version comprising the backup data associated with the modification to the data file.

2. The method of claim 1 , wherein a plurality of modifications are detected as being made to the data file, each at a different time before the expiry of the network time interval, and wherein the method further comprises repeating the refraining and the storing for each of the plurality of detected modifications.

3. The method of claim 1 , wherein the delta file tracks differences between the modified data file and the first network backup version of the data file.

4. The method of claim 1 , wherein the delta file comprises:

a file indicator identifying the data file that the delta file relates to, and

a parent network version indicator identifying the first network backup version of the data file transmitted to the backup server.

5. The method of claim 4 , wherein one or more of the file indicator or the parent network version indicator is provided in a file name of the delta file.

6. The method of claim 2 , further comprising:

for at least one of the plurality of modifications made to the data file, storing a control file locally on the computing device, wherein the control file includes:

a first timestamp indicating when the modification was made to the data file, and

a second timestamp indicating when the first network backup version of the data file was transmitted to the backup server.

7. The method of claim 6 , wherein the control file comprises a file name containing the first timestamp, and the control file comprises a file date that is set to the second timestamp.

8. The method of claim 6 , wherein the control file comprises:

a file indicator identifying the data file that the control file relates to, and

a parent network version indicator identifying the first network backup version of the data file transmitted to the backup server.

9. The method of claim 8 , wherein one or more of the file indicator or the parent network version indicator is provided in a file name of the control file.

10. The method of claim 6 , wherein prior to transmitting the second network backup version to the backup server, the method further comprises:

determining if there is a previously-stored control file that has a second timestamp indicating when the first network backup version of the data file was transmitted to the backup server; and

identifying the control file stored locally on the computing device as the previously-stored control file.

11. The method of claim 1 , wherein a current version of the data file, that is present on the computing device at the expiry of the network time interval, is transmitted as the second network backup version to the backup server.

12. The method of claim 1 , wherein a plurality of modifications are detected as being made to the data file, each at a different time before the expiry of the network time interval, and wherein the method further comprises:

repeating the refraining and the storing for each of the plurality of detected modifications,

wherein, the second network backup version includes the last delta file stored closest in time to the expiry of the network time interval.

13. The method of claim 1 , wherein the delta file is deleted after a cleanup time interval, and wherein the cleanup time interval indicates the duration of time that the delta file should remain stored on the computing device prior to being deleted.

14. The method of claim 13 , wherein the cleanup time interval is equal to the network time interval.

15. The method of claim 1 , wherein the data file comprises an archive indicator that indicates when the data file has been modified, and wherein the monitoring the data file comprises reading the archive indicator.

16. The method of claim 1 , further comprising:

receiving input indicating that a version of the data file corresponding to the detected modification is to be restored;

retrieving the first network backup version from the backup server;

reading the delta file; and

merging the retrieved first network backup version with the read delta file to restore the version of the data file.

17. A computing device for performing continuous backup of a data file, the computing device comprising a processor and a memory storing instructions which, when executed by the processor, cause the processor to:

transmit, to the backup server, a first network backup version of the data file, the backup server being constantly available to the computing device through an uninterrupted network connection between the computing device and the backup server;

monitor the data file to detect when a modification has been made to the data file;

when a modification to the data file has been detected, refrain from transmitting backup data associated with the modification until a network time interval expires;

store, locally on the computing device, a delta file corresponding to the modification made to the data file; and

upon expiry of the network time interval, transmit a second network backup version of the data file to the backup server, the second network backup version comprising the backup data associated with the modification to the data file.

18. The computing device of claim 17 , wherein the processor is further configured to:

receive input indicating that a version of the data file corresponding to the detected modification is to be restored;

retrieve the first network backup version from the backup server;

read the delta file; and

merge the retrieved first network backup version with the read delta file to restore the version of the data file.

19. A non-transitory computer readable medium storing instructions for performing continuous backup of a data file on a computing device, wherein the instructions, when executed by a processor of the computing device, cause the processor to:

transmit, to the backup server, a first network backup version of the data file, the backup server being constantly available to the computing device through an uninterrupted network connection between the computing device and the backup server;

monitor the data file to detect when a modification has been made to the data file;

when a modification to the data file has been detected, refrain from transmitting backup data associated with the modification until a network time interval expires;

store, locally on the computing device, a delta file corresponding to the modification made to the data file; and

upon expiry of the network time interval, transmit a second network backup version of the data file to the backup server, the second network backup version comprising the backup data associated with the modification to the data file.

20. The computer readable medium of claim 19 , wherein the processor is further configured to:

receive input indicating that a version of the data file corresponding to the detected modification is to be restored;

retrieve the first network backup version from the backup server;

read the delta file; and

merge the retrieved first network backup version with the read delta file to restore the version of the data file.

Assignments (9)
RELEASE OF SECURITY INTEREST Recorded Jun 30, 2025
From: THE TORONTO-DOMINION BANK
To: HOSTPAPA, INC.
Reel/Frame 071764/0150 →
SECURITY INTEREST Recorded Jun 2, 2025
From: HOSTPAPA USA, INC.; HOSTPAPA, INC.
To: BANK OF MONTREAL
Reel/Frame 071287/0305 →
SECURITY INTEREST Recorded Jul 19, 2023
From: HOSTPAPA, INC.
To: THE TORONTO-DOMINION BANK
Reel/Frame 064309/0148 →
CHANGE OF NAME Recorded Jul 17, 2023
From: 1246598 B.C. LTD.
To: 1000029250 ONTARIO LTD.
Reel/Frame 064292/0369 →
MERGER AND CHANGE OF NAME Recorded Jul 17, 2023
From: 1241017 B.C. LTD.; DATA DEPOSIT BOX INC.; 1246598 B.C. LTD.
To: 1246598 B.C. LTD.
Reel/Frame 064292/0270 →
MERGER Recorded Jul 17, 2023
From: 1000029250 ONTARIO LTD.; HOSTPAPA, INC.; 1932713 ONTARIO INC.
To: HOSTPAPA, INC.
Reel/Frame 064332/0085 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 11, 2018
From: 1932713 ONTARIO INC.
To: DATA DEPOSIT BOX INC.
Reel/Frame 046044/0585 →
MERGER AND CHANGE OF NAME Recorded Jun 7, 2018
From: ACPANA BUSINESS SYSTEMS INC.; 2441043 ONTARIO INC.; 1932713 ONTARIO INC.
To: 1932713 ONTARIO INC.
Reel/Frame 046012/0566 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 28, 2014
From: JEWELL, TIMOTHY R.
To: ACPANA BUSINESS SYSTEMS INC.
Reel/Frame 034051/0959 →
Continuity (2)
Provisional Application 61843005 · Jul 4, 2013
Related Publication 20150012494A1 · Jan 8, 2015