IP Library Granted Patent US 7,549,037
Granted Patent B1
US 7,549,037 · App. 11/218,129 · Granted Jun 16, 2009

Efficient off-host backup of a file set clone

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 7,549,037
App. No.
11/218,129
Granted
Jun 16, 2009
Kind
B1
Abstract

A method, system, computer system, and computer-readable medium that enable a secondary host that is not the file system host to create a backup of a clone file set that shares at least one data block on a storage device with an active file set. Start and end locations are identified for a set of contiguous storage locations (referred to as a “chunk”) on the storage device. Physical location information is obtained for each portion of a file contained in the chunk. The start and end locations and physical location information for portions of files contained in the chunk are provided to the secondary host, which sequentially reads data from the set of contiguous storage locations and constructs a copy of the file(s) making up the clone file set. The file(s) are written by the secondary host to a storage device to create a backup of the clone file set.

Claims (72)

1. A method comprising:

identifying a start location and an end location for a set of contiguous storage locations of a storage device, wherein

the set of contiguous storage locations stores portions of a plurality of files;

obtaining physical location information for the portions of the plurality of files stored in the set of contiguous storage locations on the storage device; and

providing the start location and the end location for the set of contiguous storage locations and the physical location information for the portions of the plurality of files to a reader of the storage device;

sequentially reading data from the set of contiguous storage locations for subsequent storage in a backup storage device in response to the reader receiving the start location, the end location and the physical location information.

2. The method of claim 1 , wherein

the reader constructs a copy of each respective portion of the portions of the plurality of files from the sequentially read data.

3. The method of claim 1 , wherein

the plurality of files includes at least one file that shares at least one data block on the storage device with an active file set.

4. The method of claim 1 , wherein

the obtaining the physical location information comprises obtaining the physical location information maintained by a file system hosting the plurality of files.

5. The method of claim 1 , wherein

the physical location information for each respective portion of the portions of the plurality of files comprises a file identifier and an associated set of tuples,

each tuple in the associated set of tuples comprises a start location of a set of data blocks for a respective portion, and

each tuple contains information to determine an end location of the set of data blocks for the respective portion.

6. The method of claim 5 , wherein

the reader uses the file identifier and the associated set of tuples to construct a copy of the respective portion from the data.

7. The method of claim 1 , wherein

the reader comprises a secondary host, and

the secondary host is not a host of a file system managing the plurality of files.

8. The method of claim 1 further comprising:

identifying a start location and an end location for a second set of contiguous storage locations of the storage device;

obtaining physical location information for second portions of a plurality of files stored in the second set of contiguous storage locations on the storage device;

providing the start location and the end location for the second set of contiguous storage locations and the physical location information for the second portions of the plurality of files to the reader of the storage device.

9. The method of claim 8 wherein

the reader constructs a copy of a complete file from a copy of a first portion of the complete file and a copy of a second portion of the complete file, wherein

the first portion is one of the portions stored in the set of contiguous storage locations and

the second portion is one of the second portions stored in the second set of contiguous storage locations.

10. The method of claim 9 wherein

the reader stores the copy of the first portion in memory while sequentially reading the second set of contiguous storage locations.

11. A computer system comprising:

a processor to execute instructions, and

a memory to store the instructions, wherein

the instructions are configured to perform the method of claim 1 .

12. A system comprising:

a processor;

a memory coupled to the processor, the memory storing instructions executable to:

receive a start location and an end location for a set of contiguous storage locations of a storage device, wherein

the set of contiguous storage locations stores portions of a plurality of files;

receive physical location information for the portions of the plurality of files stored in the set of contiguous storage locations on the storage device; and

sequentially read data from the set of contiguous storage locations for subsequent storage in a backup storage device in response to receiving the start location, the end location and the physical location information.

13. The system of claim 12 ,

wherein the memory further comprises instructions executable to construct a copy of each respective portion of the portions of the plurality of files from the sequentially read data.

14. The system of claim 12 , wherein

the plurality of files includes at least one file that shares at least one data block on the storage device with an active file set.

15. A computer-readable medium comprising:

instructions to receive a start location and an end location for a set of contiguous storage locations of a storage device, wherein

the set of contiguous storage locations stores portions of a plurality of files;

instructions to receive physical location information for the portions of the plurality of files stored in the set of contiguous storage locations on the storage device; and

instructions to sequentially read data from the set of contiguous storage locations for subsequent storage in a backup storage device in response to receiving the start location, the end location and the physical location information.

16. The computer-readable medium of claim 15 ,

further comprising instructions to construct a copy of each respective portion of the portions of the plurality of files from the data.

17. The computer-readable medium of claim 15 , wherein

the plurality of files includes at least one file that shares at least one data block on the storage device with an active file set.

18. A method comprising:

generating information about a first node, wherein

the first node comprises a storage device, and

the information identifies:

a start location and an end location for a set of contiguous storage locations of the storage device, wherein the set of contiguous storage locations stores a portion of a clone file set of an active file set;

a plurality of files having data stored in the set of contiguous storage locations; and

for at least one location of the set of contiguous storage locations, which file owns data stored therein; and

sending the information to a second node, wherein the second node comprises a reader that sequentially copies data from the contiguous storage locations of the storage device in response to the reader receiving the start location, the end location.

19. The method of claim 18 , wherein

the active file set comprises a plurality of storage locations of a storage device, and

the clone file set comprises:

a corresponding storage location for each of the plurality of locations of the active file set;

and a pointer pointing from each storage location of the clone file set to the corresponding location of the active file set.

20. The method of claim 18 , further comprising:

processing a request to modify a first storage location of the active file set, wherein the processing comprises:

copying data from the first storage location of the active file set to a corresponding first storage location of the clone file set; and

deleting the pointer pointing from the corresponding first storage location of the clone file set to the first storage location of the active file set.

Assignments (14)
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 →
CHANGE OF NAME Recorded Oct 1, 2007
From: VERITAS OPERATING CORPORATION
To: SYMANTEC OPERATING CORPORATION
Reel/Frame 019899/0213 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 1, 2005
From: KALE, SANJAY RAMCHANDRA; NAGARKAR, KULDEEP SURESHRAO; DESHMUKH, DULIPSINH H.; ASGAONKAR, SHISHIR S.; CHAUDHARI, SHAILESH WAMAN
To: VERITAS OPERATING CORPORATION
Reel/Frame 016951/0822 →