IP Library Granted Patent US 9,087,069
Granted Patent B1
US 9,087,069 · App. 12/911,306 · Granted Jul 21, 2015

Systems and methods for duplicating backup images

Inventors: Alioune Thiam (Hugo, MN); Raman Sckhon (Blaine, MN)
Assignee: Symantec Corporation
G06F17/30153G06F17/30159
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,087,069
App. No.
12/911,306
Filed
Oct 25, 2010
Granted
Jul 21, 2015
Kind
B1
Art Unit
2161
USPC
707/640
Abstract

A computer-implemented method for duplicating backup images may include (1) identifying at least one storage device, (2) identifying a plurality of backup images to be duplicated to the storage device, (3) creating a composite image of the plurality of backup images, and then (4) storing the composite image on the storage device instead of duplicating the plurality of backup images to the storage device. Various other methods, systems, and computer-readable media are also disclosed.

Claims (51)

1. A computer-implemented method for duplicating backup images, at least a portion of the method being performed by a computing device comprising at least one processor, the method comprising:

identifying at least one storage device;

identifying a predetermined size threshold for backup images that are to be duplicated to the storage device, wherein backup images that fall below the predetermined size threshold create unacceptable overhead when individually duplicated to the storage device;

queuing a plurality of backup images to be duplicated to the storage device in a queue;

determining that at least one of the backup images within the queue falls below the predetermined size threshold;

in response to determining that at least one of the backup images within the queue falls below the predetermined size threshold, creating a composite image of the plurality of backup images, the composite image comprising a plurality of data blocks sufficient to reconstruct the plurality of backup images and metadata for reconstructing the plurality of backup images from the composite image, wherein:

creating the composite image comprises deduplicating the plurality of backup images by detecting and removing redundant copies of data blocks within the plurality of data blocks so that the composite image includes unique data blocks across the plurality of backup images;

the metadata comprises a block map that stores each backup image in the plurality of backup images being stored in the composite image as a series of references to data blocks within the plurality of data blocks;

storing the composite image on the storage device instead of duplicating the plurality of backup images to the storage device.

2. The computer-implemented method of claim 1 , wherein deduplicating the plurality of backup images comprises retrieving deduplication information from an intelligent storage device that stores the plurality of backup images.

3. The computer-implemented method of claim 1 , wherein storing the composite image on the storage device comprises storing the composite image to the storage device with a single write command.

4. The computer-implemented method of claim 1 , wherein storing the composite image on the storage device comprises

storing the composite image to the storage device with a continuous series of write commands.

5. The computer-implemented method of claim 1 , wherein the storage device comprises a tape-based storage device.

6. The computer-implemented method of claim 5 , wherein storing the composite image on the storage device comprises writing a single file mark at the end of the composite image to delimit the entire composite image.

7. The computer-implemented method of claim 1 , wherein the plurality of backup images are stored on an intelligent storage device.

8. The computer-implemented method of claim 1 , further comprising:

determining that the average size of the backup images within the queue falls below the predetermined size threshold, wherein the composite image of the plurality of backup images is only created in response to determining that the average size of the backup images within the queue falls below the predetermined size threshold.

9. A system for duplicating backup images, the system comprising:

an identification module programmed to:

identify at least one storage device;

identify a predetermined size threshold for backup images that are to be duplicated to the storage device, wherein backup images that fall below the predetermined size threshold create unacceptable overhead when individually duplicated to the storage device;

queue a plurality of backup images to be duplicated to the storage device in a queue;

determine that at least one of the backup images within the queue falls below the predetermined size threshold;

a creation module programmed to create, in response to the determination that at least one of the backup images within the queue falls below the predetermined size threshold, a composite image of the plurality of backup images, the composite image comprising a plurality of data blocks sufficient to reconstruct the plurality of backup images and metadata for reconstructing the plurality of backup images from the composite image, wherein:

creating the composite image comprises deduplicating the plurality of backup images by detecting and removing redundant copies of data blocks within the plurality of data blocks so that the composite image includes unique data blocks across the plurality of backup images;

the metadata comprises a block map that stores each backup image in the plurality of backup images being stored in the composite image as a series of references to data blocks within the plurality of data blocks;

a storage module programmed to store the composite image on the storage device instead of duplicating the plurality of backup images to the storage device;

at least one processor configured to execute the identification module, the creation module, and the storage module.

10. The system of claim 9 , wherein the creation module is programmed to deduplicate the plurality of backup images by retrieving deduplication information from an intelligent storage device that stores the plurality of backup images.

11. The system of claim 9 , wherein the storage module is programmed to store the composite image on the storage device by storing the composite image to the storage device with a single write command.

12. The system of claim 9 , wherein the storage module is programmed to store the composite image on the storage device by

storing the composite image to the storage device with a continuous series of write commands.

13. The system of claim 9 , wherein the storage device comprises a tape-based storage device.

14. The system of claim 13 , wherein the storage module is programmed to store the composite image on the storage device by writing a single file mark at the end of the composite image to delimit the entire composite image.

15. The system of claim 9 , wherein the plurality of backup images are stored on an intelligent storage device.

16. The system of claim 9 , wherein:

the identification module is further programmed to determine that the average size of the backup images within the plurality of backup images falls below the predetermined size threshold;

the creation module is further programmed to only create the composite image of the plurality of backup images in response to the determination that the average size of the backup images within the plurality of backup images falls below the predetermined size threshold.

17. A computer-readable-storage medium comprising one or more computer-executable instructions that, when executed by at least one processor of a computing device, cause the computing device to:

identify at least one storage device;

identify a predetermined size threshold for backup images that are to be duplicated to the storage device, wherein backup images that fall below the predetermined size threshold create unacceptable overhead when individually duplicated to the storage device;

queue a plurality of backup images to be duplicated to the storage device in a queue;

determine that at least one of the backup images within the queue falls below the predetermined size threshold;

in response to determining that at least one of the backup images within the queue falls below the predetermined size threshold, create a composite image of the plurality of backup images, the composite image comprising a plurality of data blocks sufficient to reconstruct the plurality of backup images and metadata for reconstructing the plurality of backup images from the composite image, wherein:

creating the composite image comprises deduplicating the plurality of backup images by detecting and removing redundant copies of data blocks within the plurality of data blocks so that the composite image includes unique data blocks across the plurality of backup images;

the metadata comprises a block map that stores each backup image in the plurality of backup images being stored in the composite image as a series of references to data blocks within the plurality of data blocks;

store the composite image on the storage device instead of duplicating the plurality of backup images to the storage device.

18. The computer-readable-storage medium of claim 17 , wherein the one or more computer-executable instructions further cause the computing device to store the composite image on the storage device by storing the composite image to the storage device with a single write command.

19. The computer-readable-storage medium of claim 17 , wherein the one or more computer-executable instructions cause the computing device to store the composite image on the storage device by storing the composite image to the storage device with a continuous series of write commands.

20. The computer-readable-storage medium of claim 17 , wherein the storage device comprises a tape-based storage device.

Assignments (14)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 7, 2026
From: VERITAS TECHNOLOGIES LLC
To: COHESITY, INC.
Reel/Frame 075728/0466 →
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 Recorded Apr 18, 2016
From: VERITAS US IP HOLDINGS LLC
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 038483/0203 →
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 037693/0158 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 25, 2010
From: THIAM, ALIOUNE; SEKHON, RAMAN
To: SYMANTEC CORPORATION
Reel/Frame 025189/0283 →