IP Library Granted Patent US 9,747,163
Granted Patent B2
US 9,747,163 · App. 14/682,089 · Granted Aug 29, 2017

Pre-population of data for replication of data backups

Inventors: Anand Apte (Pune, IN); Somesh Jain (Indore, IN); Milind Borate (Pune, IN); Shekhar S. Deshkar (Pune, IN)
Assignee: DRUVA TECHNOLOGIES PTE. LTD.
G06F11/1402G06F11/1448G06F11/1464G06F17/30212G06F17/30575G06F11/202
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,747,163
App. No.
14/682,089
Granted
Aug 29, 2017
Kind
B2
Abstract

A system and a method are disclosed for pre-seeding data to backup servers and determining servers for additional backups. Backup data is received from a client device through a first backup request and sent to a primary server for storage. Additional backup data from a second backup request is received. After the initial backup data is stored on the primary server and pre-seeded by the primary server on a secondary server, a status of backup servers associated with the client device is received. The backup servers include the primary server and can include the secondary server. Responsive to the status indicating availability of a server in the backup servers, a recipient server is identified from the backup servers and the additional backup data is sent to the identified recipient server.

Claims (117)

1. A method for backing up data on one or more servers, the method comprising:

receiving backup data from a client device through a first backup request;

transmitting the backup data to a primary server for storage;

receiving additional backup data from the client device through a second backup request from the client device;

receiving a status of one or more backup servers associated with the client device, the one or more backup servers including the primary server;

identifying, responsive to the status indicating availability of at least one server of the one or more backup servers, a recipient server from the one or more servers;

transmitting the additional backup data to the identified recipient server;

receiving a first time interval and a second time interval from the client device, wherein a first backup interval is associated with backup of data to the primary server and a second backup interval is associated with backup of data to a secondary server;

transmitting the additional backup data to the primary server at each first backup interval; and

transmitting the additional backup data to the secondary server at each second backup interval.

2. The method of claim 1 , wherein the additional backup data is metadata, modified portions of the backup data, or both metadata and modified portions of the backup data associated with the backup data.

3. The method of claim 1 , wherein the one or more backup servers further includes the secondary server.

4. The method of claim 1 , wherein the recipient server is the secondary server.

5. A method for backing up data on one or more servers, the method comprising:

receiving backup data from a client device through a first backup request;

transmitting the backup data to a primary server for storage;

receiving additional backup data from the client device through a second backup request from the client device;

receiving a status of a secondary server;

transmitting, responsive to the status indicating availability of the secondary server, the additional data to the secondary server; and

transmitting, responsive to the status indicating lack of availability of the secondary server, the additional data to the primary server.

6. The method of claim 5 , further comprising:

receiving a first time interval and a second time interval from the client device, a first backup interval associated with backup of data to the primary server and a second backup interval associated with backup of data to the secondary server;

transmitting additional backup data to the primary server at each first backup interval; and

transmitting additional backup data to the secondary server at each second backup interval.

7. The method of claim 5 , wherein the primary server sends the backup data to the secondary server for storage responsive to completely storing the backup data on the primary server.

8. The method of claim 5 , wherein the additional backup data is metadata, modified portions of the backup data, or both metadata and modified portions of the backup data associated with the backup data.

9. The method of claim 5 , wherein the status indicates availability of the secondary server to receive based on whether the primary server completely stored the backup data received through the first backup request.

10. The method of claim 5 , wherein the additional data is transmitted to the primary or secondary server responsive to the status of the primary or secondary server claiming complete storage of backup data locally, the additional backup data comprising metadata but not backup data.

11. A method for backing up data on one or more servers, the method comprising:

receiving backup data from a client device through a backup request;

accessing one or more backup servers associated with the client device;

receiving a status of the one or more backup servers;

identifying, responsive to the status indicating availability of at least one server of the one or more backup servers, a recipient server from the one or more backup servers;

transmitting the backup data to the identified recipient server;

receiving a first time interval and a second time interval from the client device, wherein a first backup interval is associated with backup of data to the primary server and a second backup interval is associated with backup of data to the secondary server;

receiving additional backup data from the client device through an additional backup request, the additional backup request comprising a time stamp;

transmitting the additional backup data to the primary server if the time stamp is associated with the first backup interval; and

transmitting the additional backup data to the secondary server if the time stamp is associated with the second backup interval.

12. The method of claim 11 , wherein the backup data is metadata, modified portions of previous backup data, or both metadata and modified portions of the previous backup data.

13. The method of claim 11 , wherein the status further comprises a claim of complete storage of an initial backup data locally.

14. The method of claim 11 , wherein the backup request further comprises a time stamp and the recipient server is identified based on the time stamp associated with the backup request.

15. A non-transitory computer readable storage medium comprising instructions to backup data on one or more servers, the instructions when executed by a processor causes the processor to:

receive backup data from a client device through a first backup request;

transmit the backup data to a primary server for storage;

receive additional backup data from the client device through a second backup request from the client device;

receive a status of one or more backup servers associated with the client device, the one or more backup servers including the primary server;

identify, responsive to the status indicating availability of at least one server of the one or more backup servers, a recipient server from the one or more servers; and

transmit the additional backup data to the identified recipient server;

receive a first time interval and a second time interval from the client device, wherein a first backup interval is associated with backup of data to the primary server and a second backup interval is associated with backup of data to a secondary server;

transmit additional backup data to the primary server at each first backup interval; and

transmit additional backup data to the secondary server at each second backup interval.

16. The non-transitory computer readable storage medium of claim 15 , wherein the additional backup data is metadata, modified portions of the backup data, or both metadata and modified portions of the backup data associated with the backup data.

17. The non-transitory computer readable storage medium of claim 15 , wherein the one or more backup servers further includes the secondary server.

18. A non-transitory computer readable storage medium comprising instruction to back up data on one or more servers, the instructions when executed by a processor causes the processor to:

receive backup data from a client device through a first backup request;

transmit the backup data to a primary server for storage;

receive additional backup data from the client device through a second backup request from the client device;

receive a status of a secondary server;

transmit, responsive to the status indicating availability of the secondary server, the additional data to the secondary server; and

transmit, responsive to the status indicating lack of availability of the secondary server, the additional data to the primary server.

19. The non-transitory computer readable storage medium of claim 18 , further comprising instructions that when executed by the processor causes the processor to, further comprising:

receive a first time interval and a second time interval from the client device, a first backup interval associated with backup of data to the primary server and a second backup interval associated with backup of data to the secondary server;

transmit additional backup data to the primary server at each first backup interval; and

transmit additional backup data to the secondary server at each second backup interval.

20. A non-transitory computer readable storage medium comprising instruction to back up data on one or more servers, the instructions when executed by a processor causes the processor to:

receive backup data from a client device through a backup request;

access one or more backup servers associated with the client device;

receive a status of the one or more backup servers;

identify, responsive to the status indicating availability of at least one server of the one or more backup servers, a recipient server from the one or more backup servers;

transmit the backup data to the identified recipient server;

receive a first time interval and a second time interval from the client device, wherein a first backup interval is associated with backup of data to the primary server and a second backup interval is associated with backup of data to the secondary server;

receive additional backup data from the client device through an additional backup request, the additional backup request comprising a time stamp;

transmit additional backup data to the primary server if the time stamp is associated with the first backup interval; and

transmit additional backup data to the secondary server if the time stamp is associated with the second backup interval.

21. A non-transitory computer readable storage medium storing program code comprising instructions for backing up data on one or more servers, the instructions when executed by a processor causing the processor to:

receive backup data from a client device through a first backup request;

transmit the backup data to a primary server for storage;

receive additional backup data from the client device through a second backup request from the client device;

receive a status of one or more backup servers associated with the client device, the one or more backup servers including the primary server;

identify, responsive to the status indicating availability of at least one server of the one or more backup servers, a recipient server from the one or more servers; and

transmit the additional backup data to the identified recipient server responsive to completely storing the backup data on the primary server.

22. The computer readable storage medium of claim 21 , wherein the additional backup data is metadata, modified portions of the backup data, or both metadata and modified portions of the backup data associated with the backup data.

23. The computer readable storage medium of claim 21 , wherein the one or more backup servers further includes the recipient server.

24. The computer readable storage medium of claim 21 , wherein the recipient server is a secondary server.

25. A non-transitory computer readable storage medium storing program code comprising instructions for backing up data on one or more servers, the method comprising:

receive backup data from a client device through a first backup request;

transmit the backup data to a primary server for storage;

receive additional backup data from the client device through a second backup request from the client device;

receive a status of one or more backup servers associated with the client device, the one or more backup servers including the primary server;

identify, responsive to the status indicating availability of at least one server of the one or more backup servers, a recipient server from the one or more servers, wherein the status indicates availability of the recipient server to receive based on whether the primary server completely stored the backup data received through the first backup request; and

transmit the additional backup data to the identified recipient server.

26. The non-transitory computer readable storage medium of claim 25 , wherein the additional backup data is metadata, modified portions of the backup data, or both metadata and modified portions of the backup data associated with the backup data.

27. The non-transitory computer readable storage medium of claim 26 , wherein the one or more backup servers further includes the recipient server.

28. The non-transitory computer readable storage medium of claim 27 , wherein the recipient server is a secondary server.

29. The non-transitory computer readable storage medium of claim 25 , further comprising instructions that when executed by the processor causes the processor to:

transmit, responsive to the status indicating lack of availability of the secondary server, the additional backup data to the recipient server for storage.

30. A method for backing up data on one or more servers, the method comprising:

receiving backup data from a client device through a first backup request;

transmitting the backup data to a primary server for storage;

receiving additional backup data from the client device through a second backup request from the client device;

receiving a status of one or more backup servers associated with the client device, the one or more backup servers including the primary server;

identifying, responsive to the status indicating availability of at least one server of the one or more backup servers, a recipient server from the one or more servers;

transmitting the additional backup data to the identified recipient server; and

transmitting, responsive to the status of the identified recipient server claiming complete storage of backup data locally, the additional backup data to the identified recipient server, the additional backup data comprising metadata but not backup data.

31. The method of claim 30 , wherein the additional backup data is metadata, modified portions of the backup data, or both metadata and modified portions of the backup data associated with the backup data.

32. The method of claim 30 , wherein the one or more backup servers further includes the recipient server.

33. The method of claim 30 , wherein the recipient server is a secondary server.

34. A non-transitory computer readable storage medium comprising instructions to backup data on one or more servers, the instructions when executed by a processor causes the processor to:

receive backup data from a client device through a first backup request;

transmit the backup data to a primary server for storage;

receive additional backup data from the client device through a second backup request from the client device;

receive a status of one or more backup servers associated with the client device, the one or more backup servers including the primary server;

identify, responsive to the status indicating availability of at least one server of the one or more backup servers, a recipient server from the one or more servers;

transmit the additional backup data to the identified recipient server; and

transmit, by the primary server, the backup data to the recipient server for storage in response to execution of instructions to store the backup data on the primary server.

35. The non-transitory computer readable storage medium of claim 34 , wherein the additional backup data is metadata, modified portions of the backup data, or both metadata and modified portions of the backup data associated with the backup data.

36. The non-transitory computer readable storage medium of claim 34 , wherein the one or more backup servers further includes the recipient server.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 23, 2019
From: DRUVA TECHNOLOGIES PTE LTD
To: DRUVA, INC.
Reel/Frame 050806/0622 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 2, 2016
From: DRUVA INC.
To: DRUVA TECHNOLOGIES PTE. LTD.
Reel/Frame 037650/0439 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 11, 2015
From: APTE, ANAND; JAIN, SOMESH; BORATE, MILIND; DESHKAR, SHEKHAR S.
To: DRUVA INC.
Reel/Frame 035826/0081 →
Priority Claims (1)
IN 1318/MUM/2014 · Apr 10, 2014 · national
Continuity (1)
Related Publication 20150302025A1 · Oct 22, 2015