IP Library Granted Patent US 8,874,522
Granted Patent B2
US 8,874,522 · App. 13/285,331 · Granted Oct 28, 2014

Managing backups of data objects in containers

Inventors: Fanglu Guo (Los Angeles, CA); Petros Efstathopoulos (Los Angeles, CA); Xianbo Zhang (Madison, WI); Sanjay Sawhney (Cupertino, CA); Weibao Wu (Vadnais Heights, MN)
Assignee: Symantec Corporation
G06F11/1448G06F11/1451G06F2201/81G06F11/1469
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 8,874,522
App. No.
13/285,331
Filed
Oct 31, 2011
Granted
Oct 28, 2014
Kind
B2
Examiner
LU, KUEN S
Art Unit
2156
USPC
707/649
Abstract

Containers that store data objects that were written to those containers during a particular backup are accessed. Then, a subset of the containers is identified; the containers in the subset have less than a threshold number of data objects associated with the particular backup. Data objects that are in containers in that subset and that are associated with the backup are copied to one or more other containers. Those other containers are subsequently used to restore data objects associated with the backup.

Claims (56)

1. A non-transitory computer-readable storage medium having computer-executable instructions that, when executed, cause a computer system to perform a method of managing backup information, said method comprising:

accessing a plurality of containers comprising data objects that were written to said plurality of containers during a first backup;

subsequent to said first backup, identifying a subset of said plurality of containers, said subset comprising a first container having less than a threshold number of data objects that are referenced by metadata associated with a second backup;

copying data objects that are in said first container and that are referenced by said metadata to a second container;

modifying said metadata to reference the copies of the data objects in said second container rather than the data objects in said first container; and

reclaiming said first container for subsequent use during one or more subsequent backups.

2. The computer-readable storage medium of claim 1 wherein said method further comprises accessing said second container to restore data objects.

3. The computer-readable storage medium of claim 1 wherein said method further comprises copying data objects that are in said subset and that are unreferenced by said metadata to a third container.

4. The computer-readable storage medium of claim 1 wherein said method further comprises performing a restore subsequent to said first backup, said restore comprising:

identifying a plurality of said data objects to be included in said restore;

determining an order for reading said plurality of data objects, wherein said order for reading is based on positions of said plurality of data objects on memory disks from which said plurality of data objects are to be read during said restore; and

determining an order for writing said plurality of data objects, wherein said order for writing is based on positions on memory disks to which said plurality of data objects are to be written during said restore.

5. The computer-readable storage medium of claim 4 wherein said determining said order for reading comprises:

compiling a list of data objects to be read; and

sorting said list into a first queue according to said positions on said memory disks from which said plurality of data objects are to be read, said first queue comprising said order for reading;

and wherein said determining said order for writing comprises:

sorting said list into a second queue according to said positions on said memory disks to which said plurality of data objects are to be written, said second order comprising said order for writing.

6. The computer-readable storage medium of claim 1 wherein said second backup comprises deduplication, wherein said deduplication comprises referencing a data object created during a backup performed prior to said second backup, wherein said referencing is used in lieu of storing multiple copies of said data object.

7. The computer-readable storage medium of claim 1 wherein said first container and said second container each comprise contiguous memory space and wherein data objects are stored in said first container by said first backup only.

8. A system comprising:

a processor;

a communication interface coupled to said processor; and

memory coupled to said processor and having stored therein instructions that, if executed by said system, cause said system to perform operations comprising:

storing data objects in a plurality of containers in response to a first backup;

subsequent to said first backup, identifying a first subset of said plurality of containers, said first subset comprising one or more containers having less than a threshold number of data objects that are referenced by metadata associated with a second backup;

copying data objects that are in said first subset of containers and that are referenced by said metadata to a second subset of containers comprising one or more containers;

modifying said metadata to reference the copies of the data objects in said second subset of containers rather than the data objects in said first subset of containers; and

reclaiming said first subset of containers for use during one or more subsequent backups.

9. The system of claim 8 wherein said operations further comprise, subsequent to said copying, accessing a container in said second subset to restore data objects.

10. The system of claim 8 wherein said operations further comprise copying data objects that are in said first subset and that are unreferenced by said metadata to a third subset of containers comprising one or more containers.

11. The system of claim 8 wherein said operations further comprise performing a restore subsequent to said first backup, said restore comprising:

identifying a plurality of said data objects to be included in said restore;

determining an order for reading said plurality of data objects, wherein said order for reading is based on positions of said plurality of data objects on memory disks from which said plurality of data objects are to be read during said restore; and

determining an order for writing said plurality of data objects, wherein said order for writing is based on positions on memory disks to which said plurality of data objects are to be written during said restore.

12. The system of claim 11 wherein said operations further comprise:

compiling a list of data objects to be read; and

sorting said list into a first queue according to said positions on said memory disks from which said plurality of data objects are to be read, said first queue comprising said order for reading;

and wherein said determining said order for writing comprises:

sorting said list into a second queue according to said positions on said memory disks to which said plurality of data objects are to be written, said second order comprising said order for writing.

13. A computer-implemented method of restoring data, said method comprising:

accessing a plurality of containers comprising data objects that were written to said plurality of containers during a first backup;

subsequent to said first backup, identifying a subset of said plurality of containers, said subset comprising a first container having less than a threshold number of data objects that are referenced by metadata associated with a second backup;

copying data objects that are in said first container and that are referenced by said metadata to a second container;

reclaiming said first container for use during one or more subsequent backups; and

accessing said second container to restore data objects.

14. The method of claim 12 further comprising copying data objects that are in said subset and that are unreferenced by said metadata to a third container.

15. The method of claim 12 further comprising updating said metadata to include a reference to said second container.

16. The method of claim 12 further comprising performing a restore subsequent to said first backup, said restore comprising:

identifying a plurality of said data objects to be included in said restore;

determining an order for reading said plurality of data objects, wherein said order for reading is based on positions of said plurality of data objects on memory disks from which said plurality of data objects are to be read during said restore; and

determining an order for writing said plurality of data objects, wherein said order for writing is based on positions on memory disks to which said plurality of data objects are to be written during said restore.

17. The method of claim 12 further comprising:

compiling a list of data objects to be read; and

sorting said list into a first queue according to said positions on said memory disks from which said plurality of data objects are to be read, said first queue comprising said order for reading;

and wherein said determining said order for writing comprises:

sorting said list into a second queue according to said positions on said memory disks to which said plurality of data objects are to be written, said second order comprising said order for writing.

Assignments (14)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 7, 2026
From: VERITAS TECHNOLOGIES LLC
To: COHESITY, INC.
Reel/Frame 075763/0001 →
AMENDMENT NO. 1 TO PATENT SECURITY AGREEMENT Recorded Apr 8, 2025
From: VERITAS TECHNOLOGIES LLC; COHESITY, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 070779/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 26, 2025
From: VERITAS TECHNOLOGIES LLC
To: COHESITY, INC.
Reel/Frame 070335/0013 →
RELEASE OF SECURITY INTEREST Recorded Dec 16, 2024
From: ACQUIOM AGENCY SERVICES LLC, AS COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC (F/K/A VERITAS US IP HOLDINGS LLC)
Reel/Frame 069712/0090 →
RELEASE OF SECURITY INTEREST Recorded Dec 13, 2024
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 069634/0584 →
SECURITY INTEREST Recorded Dec 9, 2024
From: VERITAS TECHNOLOGIES LLC; COHESITY, INC.
To: JPMORGAN CHASE BANK. N.A.
Reel/Frame 069890/0001 →
ASSIGNMENT OF SECURITY INTEREST IN PATENT COLLATERAL Recorded Nov 25, 2024
From: BANK OF AMERICA, N.A., AS ASSIGNOR
To: ACQUIOM AGENCY SERVICES LLC, AS ASSIGNEE
Reel/Frame 069440/0084 →
TERMINATION AND RELEASE OF SECURITY IN PATENTS AT R/F 037891/0726 Recorded Nov 30, 2020
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: VERITAS US IP HOLDINGS, LLC
Reel/Frame 054535/0814 →
SECURITY INTEREST Recorded Aug 20, 2020
From: VERITAS TECHNOLOGIES LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 054370/0134 →
MERGER AND CHANGE OF NAME Recorded Apr 18, 2016
From: VERITAS US IP HOLDINGS LLC; VERITAS TECHNOLOGIES LLC
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 038455/0752 →
SECURITY INTEREST Recorded Feb 23, 2016
From: VERITAS US IP HOLDINGS LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 037891/0726 →
SECURITY INTEREST Recorded Feb 23, 2016
From: VERITAS US IP HOLDINGS LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037891/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 4, 2016
From: SYMANTEC CORPORATION
To: VERITAS US IP HOLDINGS LLC
Reel/Frame 037697/0412 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 29, 2014
From: EFSTATHOPOULOS, PETROS; GUO, FANGLU; ZHANG, XIANBO; SAWHNEY, SANJAY; WU, WEIBAO
To: SYMANTEC CORPORATION
Reel/Frame 034059/0201 →
Continuity (1)
Related Publication 20130110784A1 · May 2, 2013