IP Library Granted Patent US 11,977,451
Granted Patent B2
US 11,977,451 · App. 17/374,604 · Granted May 7, 2024

Application-based packing for storing backup data to an object storage

Inventors: Sunil Yadav (Bangalore, IN); Shelesh Chopra (Bangalore, IN); Ravi Vijayakumar Chitloor (Bengaluru, IN)
Assignee: EMC IP Holding Company LLC
G06F11/1451G06F11/1461G06F11/1469G06F16/122G06F16/23G06F16/289G06F2201/80G06F2201/82
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 11,977,451
App. No.
17/374,604
Granted
May 7, 2024
Kind
B2
Abstract

Described is a system (and method) for application-based packing for storing backup data within an object storage. More particularly, the system may efficiently pack backup files into objects having a specialized size by accounting for the source and size of the backup file. For example, the system may determine whether backup files associated with a particular application may be stored within individual objects or packed together within a shared object. Accordingly, by accounting for such criteria the system may perform an intelligent allocation of backup data within a cloud-based object storage. The system may be implemented as part of an incremental backup infrastructure. Accordingly, when allocating the backup files amongst objects, the system may also store specialized metadata to preserve the ability to perform a reconstruction of data (e.g. synthetically) as if a full backup was performed.

Claims (62)

1. A system comprising:

one or more processors; and

a non-transitory computer-readable medium storing a plurality of instructions, which when executed, cause the one or more processors to:

receive a request to back up files stored on a client device to an object storage;

identify, amongst the files stored on the client device, a first set of files that are each associated with a first application, and a second set of files that are each associated with a second application;

determine a backup of each file of the first set of files associated with the first application are to be stored within their own objects;

identify one or more combination of files from at least some of the second set of files that when grouped together are within a range of a predetermined object size; and

perform a backup of the files stored on the client device by storing the backup of each file of the first set of files as an individual object on the object storage, in response to determining that the first set of files are associated with the first application for which backups of files are to be stored within their own objects, and a backup of each of the combinations of files from the second set of files, associated with the second application, together as a shared object on the object storage.

2. The system of claim 1 , wherein the plurality of instructions, when executed, further cause the one or more processors to:

identify, amongst the second set of files, a third set of files that are each larger than or equal to the predetermined object size, and a fourth set of files that are each smaller than the predetermined object size, wherein

the one or more combination of files from at least some of the second set of files are identified from the fourth set of files, and

performing the backup further includes storing the backup of each file of the third set of files as an individual object.

3. The system of claim 1 , wherein the plurality of instructions, when executed, further cause the one or more processors to:

determine the backup of at least some of the files from the second set of files associated with the second application can be stored within shared objects.

4. The system of claim 1 , wherein the plurality of instructions, when executed, further cause the one or more processors to:

determine the first set of files are associated with a first attribute from information retrieved from the client device, wherein

the first set of files are identified based on the determination the first set of files are associated with the first attribute.

5. The system of claim 4 , wherein the plurality of instructions, when executed, further cause the one or more processors to:

determine the second set of files are associated with a second attribute from the information retrieved from the client device, wherein

the second set of files are identified based on the determination the second set of files are associated with the second attribute.

6. The system of claim 5 , wherein the information retrieved from the client device includes at least one of a file location, a file name, and a file type.

7. The system of claim 6 , wherein determining the backup of each file of the first set of files associated with the first application are to be stored within their own objects includes:

retrieving a backup configuration setting indicating backup files associated with the first application are to be stored within their own objects.

8. The system of claim 1 , wherein the predetermined object size is approximately 4 MB.

9. A method comprising:

receiving a request to back up files stored on a client device to an object storage;

identifying, amongst the files stored on the client device, a first set of files that are each associated with a first application, and a second set of files that are each associated with a second application;

determining a backup of each file of the first set of files associated with the first application are to be stored within their own objects;

identifying one or more combination of files from at least some of the second set of files that when grouped together are within a range of a predetermined object size; and

performing a backup of the files stored on the client device by storing the backup of each file of the first set of files as an individual object on the object storage, in response to determining that the first set of files are associated with the first application for which backups of files are to be stored within their own objects, and a backup of each of the combinations of files from the second set of files, associated with the second application, together as a shared object on the object storage.

10. The method of claim 9 , further comprising:

identifying, amongst the second set of files, a third set of files that are each larger than or equal to the predetermined object size, and a fourth set of files that are each smaller than the predetermined object size, wherein

the one or more combination of files from at least some of the second set of files are identified from the fourth set of files, and

performing the backup further includes storing the backup of each file of the third set of files as an individual object.

11. The method of claim 9 , further comprising:

determining the backup of at least some of the files from the second set of files associated with the second application can be stored within shared objects.

12. The method of claim 9 , further comprising:

determining the first set of files are associated with a first attribute from information retrieved from the client device, wherein

the first set of files are identified based on the determination the first set of files are associated with the first attribute.

13. The method of claim 12 , further comprising:

determining the second set of files are associated with a second attribute from the information retrieved from the client device, wherein

the second set of files are identified based on the determination the second set of files are associated with the second attribute.

14. The method of claim 13 , wherein the information retrieved from the client device includes at least one of a file location, a file name, and a file type.

15. A computer program product comprising a non-transitory computer-readable medium having a computer-readable program code embodied therein to be executed by one or more processors, the program code including instructions to:

receive a request to back up files stored on a client device to an object storage;

identify, amongst the files stored on the client device, a first set of files that are each associated with a first application, and a second set of files that are each associated with a second application;

determine a backup of each file of the first set of files associated with the first application are to be stored within their own objects;

identify one or more combination of files from at least some of the second set of files that when grouped together are within a range of a predetermined object size; and

perform a backup of the files stored on the client device by storing the backup of each file of the first set of files as an individual object on the object storage, in response to determining that the first set of files are associated with the first application for which backups of files are to be stored within their own objects, and a backup of each of the combinations of files from the second set of files, associated with the second application, together as a shared object on the object storage.

16. The computer program product of claim 15 , wherein the program code includes further instructions to:

identify, amongst the second set of files, a third set of files that are each larger than or equal to the predetermined object size, and a fourth set of files that are each smaller than the predetermined object size, wherein

the one or more combination of files from at least some of the second set of files are identified from the fourth set of files, and

performing the backup further includes storing the backup of each file of the third set of files as an individual object.

17. The computer program product of claim 15 , wherein the program code includes further instructions to:

determine the backup of at least some of the files from the second set of files associated with the second application can be stored within shared objects.

18. The computer program product of claim 15 , wherein the program code includes further instructions to:

determine the first set of files are associated with a first attribute from information retrieved from the client device, wherein

the first set of files are identified based on the determination the first set of files are associated with the first attribute.

19. The computer program product of claim 18 , wherein the program code includes further instructions to:

determine the second set of files are associated with a second attribute from the information retrieved from the client device, wherein

the second set of files are identified based on the determination the second set of files are associated with the second attribute.

20. The computer program product of claim 19 , wherein the information retrieved from the client device includes at least one of a file location, a file name, and a file type.

Assignments (8)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (058014/0560) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 062022/0473 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (057931/0392) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 062022/0382 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (057758/0286) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 061654/0064 →
SECURITY INTEREST Recorded Oct 6, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 058014/0560 →
SECURITY INTEREST Recorded Oct 6, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 057758/0286 →
SECURITY INTEREST Recorded Oct 6, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 057931/0392 →
SECURITY AGREEMENT Recorded Oct 1, 2021
From: DELL PRODUCTS, L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 057682/0830 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 13, 2021
From: YADAV, SUNIL; CHOPRA, SHELESH; CHITLOOR, RAVI VIJAYAKUMAR
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 056841/0613 →
Priority Claims (1)
IN 202141023822 · May 28, 2021 · national
Continuity (1)
Related Publication 20220382646A1 · Dec 1, 2022