IP Library Granted Patent US 10,303,553
Granted Patent B2
US 10,303,553 · App. 15/319,322 · Granted May 28, 2019

Providing data backup

Inventors: Orasio Spieler (Yehud, IL); Adi Kopelevich (Yehud, IL); Tom Gur (Yehud, IL); Yoni Roit (Yehud, IL)
Assignee: ENTIT SOFTWARE LLC
G06F11/1451G06F11/1453G06F11/1469G06F2201/80
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,303,553
App. No.
15/319,322
Granted
May 28, 2019
Kind
B2
Abstract

Examples relate to providing data backup for a multi-tenant application. One example enables determination that a first data set for a first tenant from the application should be backed up and determination, independently from determining the first data set should be backed up, that a second data set for a second tenant from the application should be backed up. Responsive to determining the first data set should be backed up, a first portion of the first data set stored at a first data resource of a first type may be accessed via a first adaptor for the first type of data resource, and a second portion of the first data set stored at a second data resource of a second type may be accessed via a second adaptor for the second type of data resource. The accessed portions of the first data set may be stored.

Claims (67)

1. A non-transitory machine-readable storage medium comprising instructions for providing data backup, the instructions executable by a processor of a computing device to:

determine that a first data set for a first tenant from a multi-tenant application running on a server should be backed up;

determine, independently from determining that the first data set for the first tenant should be backed up, that a second data set for a second tenant from the application should be backed up;

responsive to determining that the first data set should be backed up, perform data back up for the first tenant by:

accessing, via a first adaptor for a first type of data resource, a first portion of the first data set stored at a first data resource of the first type;

accessing, via a second adaptor for a second type of data resource, a second portion of the first data set stored at a second data resource of the second type; and

causing storing of the accessed portions of first data set; and

responsive to determining that the second data set should be backed up, perform data back up for the second tenant by:

accessing, via the first adaptor, a first portion of the second data set stored at the first data resource of the first type;

accessing, via the second adaptor, a second portion of the second data set stored at the second data resource of the second type; and

causing storing of the accessed portions of the second data set.

2. The storage medium of claim 1 , wherein the instructions to determine to back up data for the second tenant independently of the determination to backup data for the first tenant comprises instructions to:

perform data back up only for the second data set of the second tenant, without performing data back up for a data set associated with another tenant from the application.

3. The storage medium of claim 2 , wherein the instructions to store the accessed portions of the first data set comprise instructions to:

store, as a first tenant file for the first tenant, the accessed portions of the first data set, wherein the accessed portions were accessed at a first time; and

store, as a second tenant file for the first tenant, portions of the first data set accessed at a second time different from the first time.

4. The storage medium of claim 3 , further comprising instructions executable by the processor to:

restore data for the first tenant based on the first tenant file.

5. The storage medium of claim 4 , wherein the instructions to restore data for the first tenant comprise instructions to:

restore, via the first adaptor, a first set of data from the first tenant file at the first data resource; and

restore, via the second adaptor, a second set of data from the first tenant file at the second data resource.

6. The storage medium of claim 1 , wherein the instructions to access the first portion of the first data set from the first data resource comprise instructions to:

communicate, via the first adaptor, with the first data resource using a first communication protocol of the first adaptor, wherein the first communication protocol comprises a communication protocol specific to the first type of data resource.

7. The storage medium of claim 6 , wherein the instructions to access the first portion of the first data set from the first data resource comprise instructions to:

communicate, via the first adaptor, with the first data resource using a first predetermined set of queries associated with the first adaptor.

8. A system for providing data backup, the system comprising:

a backup determination engine to:

determine that a first data set for a first tenant from a multi-tenant application executing on an individual server should be backed up;

determine, independently from determining that the first data set should be backed up, that a second data set for a second tenant from the application should be backed up; and

a tenant specific backup engine to:

responsive to determining that the first data set should be backed up:

access, via a first adaptor comprising a first communication protocol for a first type of data resource, a first portion of the first data set stored at a first data resource of the first type, wherein the first data resource is communicably coupled to the individual server;

access, via a second adaptor comprising a second communication protocol for a second type of data resource, a second portion of the first data set stored at a second data resource of the second type, wherein the second data resource is communicably coupled to the individual server and wherein the second communication protocol is different from the first communication protocol; and

cause storage of the accessed portions of the first data set; and

responsive to determining that the second data set should be backed up:

access, via the first adaptor, a first portion of the second data set stored at the first data resource of the first type;

access, via the second adaptor, a second portion of the second data set stored at the second data resource of the second type; and

cause storage of the accessed portions of the second data set.

9. The system of claim 8 , wherein the tenant specific backup engine:

determines that the first data set for the first tenant should be backed up from the application without determining whether a data set for another tenant should be backed up from the application.

10. The system of claim 8 , wherein the tenant specific backup engine:

stores, as a first tenant file for the first tenant, the accessed portions of the first data set, wherein the accessed portions were accessed at a first time; and

stores, as a second tenant file for the first tenant, accessed portions of the first data set accessed at a second time different from the first time.

11. The system of claim 10 , further comprising a tenant specific restore engine to:

restore data for the first tenant based on the first tenant file by:

restoring, via the first adaptor, a first set of data from the first tenant file at the first data resource; and

restoring, via the second adaptor, a second set of data from the first tenant file at the second data resource.

12. A method for providing data backup, the method comprising:

independently determining that a first data set for a first tenant from a multi-tenant application executing on a server should be backed up;

independently determining that a second data set for a second tenant from the application should be backed up;

responsive to determining that the first data set should be backed up:

accessing, via a first adaptor comprising a first communication protocol for a first type of data resource, a first portion of the first data set from a first data resource of the first type;

accessing, via a second adaptor comprising a second communication protocol for a second type of data resource, a second portion of the first data set from a second data resource of the second type; and

causing storage, as a first tenant file, of the accessed portions of the first data set; and

responsive to determining that data from the application for the second tenant should be backed up:

accessing, via the first adaptor, a first portion of the second data set from the first data resource of the first type;

accessing, via the second adaptor, a second portion of the second data set from the second data resource of the second type; and

causing storage, as a second tenant file, of the accessed portions of the second data set.

13. The method of claim 12 , wherein independently determining that the first data set for the first tenant should be backed up comprises:

determining that the first data set should be backed up from the application without determining whether a data set for another tenant should be backed up from the application.

14. The method of claim 12 , further comprising:

causing storage, as the first tenant file for the first tenant, the accessed portions of the first data set, wherein the accessed portions were accessed at a first time; and

causing storage, as a second tenant file for the first tenant, portions of the first data set accessed at a second time later from the first time, wherein the second tenant file comprises data from the first data resource and the second data resource that has changed from the first tenant file.

15. The method of claim 12 , further comprising:

restoring data for the first tenant based on the first tenant file by:

restoring, via the first adaptor, a first set of data from the first file for the first tenant at the first data resource; and

restoring, via the second adaptor, a second set of data from the first file for the first tenant at the second data resource.

Assignments (9)
RELEASE OF SECURITY INTEREST REEL/FRAME 044183/0577 Recorded Feb 2, 2023
From: JPMORGAN CHASE BANK, N.A.
To: MICRO FOCUS LLC (F/K/A ENTIT SOFTWARE LLC)
Reel/Frame 063560/0001 →
RELEASE OF SECURITY INTEREST REEL/FRAME 044183/0718 Recorded Feb 2, 2023
From: JPMORGAN CHASE BANK, N.A.
To: MICRO FOCUS LLC (F/K/A ENTIT SOFTWARE LLC); BORLAND SOFTWARE CORPORATION; MICRO FOCUS (US), INC.; SERENA SOFTWARE, INC; ATTACHMATE CORPORATION; MICRO FOCUS SOFTWARE INC. (F/K/A NOVELL, INC.); NETIQ CORPORATION
Reel/Frame 062746/0399 →
CHANGE OF NAME Recorded Aug 8, 2019
From: ENTIT SOFTWARE LLC
To: MICRO FOCUS LLC
Reel/Frame 050004/0001 →
SECURITY INTEREST Recorded Oct 11, 2017
From: ATTACHMATE CORPORATION; BORLAND SOFTWARE CORPORATION; NETIQ CORPORATION; MICRO FOCUS (US), INC.; MICRO FOCUS SOFTWARE, INC.; ENTIT SOFTWARE LLC; ARCSIGHT, LLC; SERENA SOFTWARE, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 044183/0718 →
SECURITY INTEREST Recorded Oct 11, 2017
From: ENTIT SOFTWARE LLC; ARCSIGHT, LLC
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 044183/0577 →
CORRECTIVE ASSIGNMENT TO CORRECT THE CONVEYING PARTY NAME PREVIOUSLY RECORDED AT REEL: 041763 FRAME: 0315. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jul 14, 2017
From: SPIELER, ORASIO; KOPELEVICH, ADI; GUR, TOM; ROIT, YONI
To: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
Reel/Frame 043194/0626 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 9, 2017
From: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
To: ENTIT SOFTWARE LLC
Reel/Frame 042746/0130 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 21, 2017
From: SPEILER, ORASIO; KOPELEVICH, ADI; GUR, TOM; ROIT, YONI
To: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
Reel/Frame 041763/0315 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 21, 2017
From: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 041764/0001 →
Continuity (1)
Related Publication 20170147443A1 · May 25, 2017