IP Library Granted Patent US 9,959,175
Granted Patent B1
US 9,959,175 · App. 14/788,533 · Granted May 1, 2018

Restoring deleted objects in a web application

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,959,175
App. No.
14/788,533
Granted
May 1, 2018
Kind
B1
Abstract

Systems and methods for a backing up and/or restoring data in a cloud based application are provided. Objects that are deleted in bulk are restored in bulk. The relationships between the objects that were deleted are determined at the time of backup and used during the restore process. The restored objects have the same relationships as the original objects even when the objects are not identical. The restore process accounts for data or information in the objects that cannot be restored or that is assigned by the web application to which the objects are restored.

Claims (29)

1. A method for restoring objects in a web application, the method comprising:

loading a scratch table in a first memory with identifiers of objects to be restored from a storage device, wherein the storage device is associated with a data protection application;

restoring a first object referenced in the scratch table for a client in a second memory associated with the web application;

receiving a new identifier of the first object from the web application as the first object is restored, wherein the new identifier is different from a backed up identifier of the first object;

updating fields in at least one other object in the scratch table based on the new identifier of the first object; and

restoring remaining objects referenced in the scratch table in the second memory associated with the web application,

wherein updating fields comprises updating a field in one of the other objects that originally included an original identifier of the first object with the new identifier of the first object.

2. The method of claim 1 , wherein loading a scratch table includes loading the scratch table in a hierarchical manner.

3. The method of claim 1 , wherein restoring a first object includes issuing a create request to the web application to create a new object.

4. The method of claim 3 , further comprising populating the new object with data from a backup of the first object.

5. The method of claim 1 , further comprising issuing create requests for each of the remaining objects.

6. The method of claim 5 , further comprising receiving identifiers for each of the new objects.

7. The method of claim 6 , further comprising populating the new objects with data from the backups of the corresponding objects.

8. The method of claim 7 , wherein one object is restored at a time.

9. The method of claim 1 , wherein loading the scratch table in the first memory comprises loading the scratch table in a persistent location or in a relational database.

10. A method for restoring objects in a web based application, the method comprising:

loading a scratch table in a persistent location in a first memory, wherein the scratch table is loaded with identifiers of objects to be restored from a storage device;

restoring the objects identified in the scratch table in a second memory associated with the web application, wherein each object is restored with a create object request to the web based application, wherein each created object receives a new identifier assigned by the web based application during the create object request, wherein some of the objects are restored before other objects; and

as the new objects are created, updating fields for objects that have not been restored based on the new identifiers such that the objects that are children of other objects reference the appropriate parent object; and

populating the new objects restored in the memory associated with the web application with data from the backups of the objects identified in the scratch table.

11. The method of claim 10 , further comprising updating the scratch table with the new identifiers.

12. The method of claim 10 , further comprising determining relationships between the objects to be restored when the objects are backed up.

13. The method of claim 12 , further comprising determining which fields of the objects reference other objects.

14. The method of claim 10 , further comprising updating the fields prior to populating the new records stored by the web application.

15. The method of claim 10 , further comprising restoring child objects that are associated with a parent object not present in the scratch table, wherein the relationship is restored from the backup data.

16. The method of claim 10 , wherein the objects are restored by level such that each hierarchical level is restored in order.

17. The method of claim 16 , wherein the at least one of the objects restored from the bin are identical to the original object, the method further comprising updating the fields of other objects being restored based on the identifiers of the restored objects such that all relationships among the restored objects correspond to the relationships existing in the original objects.

18. The method of claim 10 , further comprising restoring at least one of the objects from a bin maintained by the web application if the object is present in, and has not yet been expunged from the bin.

19. The method of claim 18 , wherein the bin comprises a staged deletion area.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (045455/0001) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061753/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040136/0001) Recorded Apr 26, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061324/0001 →
RELEASE OF SECURITY INTEREST IN SPECIFIED PATENTS Recorded Apr 18, 2017
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: SPANNING CLOUD APPS LLC
Reel/Frame 042272/0552 →
RELEASE OF SECURITY INTEREST Recorded Apr 18, 2017
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: SPANNING CLOUD APPS, INC.
Reel/Frame 042038/0856 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE PREVIOUSLY RECORDED ON REEL 037418 FRAME 0478. ASSIGNOR(S) HEREBY CONFIRMS THE ENTIRE RIGHT TITLE AND INTEREST. Recorded Jan 12, 2017
From: MAYES, BRANDON; ROSINBUM, JOEL; CIFRA, PATRICIA; ALEXANDER, GREGORY L.
To: SPANNING CLOUD APPS LLC
Reel/Frame 041396/0019 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 29, 2016
From: EMC CORPORATION
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 040203/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040136/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040134/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 6, 2016
From: MAYES, BRANDON; ROSINBUM, JOEL; CIFRA, PATRICIA; ALEXANDER, GREGORY L.
To: EMC CORPORATION
Reel/Frame 037418/0478 →