IP Library Granted Patent US 8,402,216
Granted Patent B1
US 8,402,216 · App. 12/764,933 · Granted Mar 19, 2013

Systems and methods for off-host backups

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,402,216
App. No.
12/764,933
Granted
Mar 19, 2013
Kind
B1
Abstract

A computer-implemented method for off-host backups may include identifying a striped volume of data on which to perform an off-host backup. The computer-implemented method may also include generating stripe-aware extent metadata for the off-host backup operation. The computer-implemented method may further include performing the off-host backup operation using the stripe-aware extent metadata. Various other methods, systems, and computer-readable media are also disclosed.

Claims (58)

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

identifying a striped volume of data on which to perform an off-host backup operation, the striped volume of data comprising a volume of data written to by a host system;

generating, at the host system, stripe-aware extent metadata for the off-host backup operation, the stripe-aware extent metadata comprising stripe location information for one or more data stripes within the striped volume of data;

providing the stripe-aware extent metadata to an off-host backup system that is remote from the host system to enable the off-host backup system to read the striped volume of data directly;

at the off-host backup system, for each storage device underlying the striped volume of data, identifying a storage device offset within the stripe-aware extent metadata;

at the off-host backup system, identifying, within the stripe-aware extent metadata, a stripe size and a number of times to loop to read a striped extent of data;

performing the off-host backup operation at the off-host backup system, wherein:

the off-host backup system is remote from the host system and uses the stripe-aware extent metadata to read at least a portion of the striped volume of data directly from the host system by reading directly from each storage device underlying the striped volume of data;

for each storage device underlying the striped volume of data the off-host backup system reads from the storage device at the offset for the storage device identified in the stripe-aware extent metadata and, for each time in the number of times, the off-host backup system increases the storage device offset by the stripe size and reads from the storage device at the increased offset.

2. The computer-implemented method of claim 1 , wherein the stripe-aware extent metadata comprises a parameter identifying how many storage devices underlie the striped volume of data.

3. The computer-implemented method of claim 1 , wherein the stripe-aware extent metadata comprises a parameter indicating whether a parity of a RAID configuration of the storage devices underlying the striped volume of data is left rotating or right rotating.

4. The computer-implemented method of claim 1 , wherein the stripe-aware extent metadata comprises a total length of the striped extent of data.

5. The computer-implemented method of claim 1 , wherein generating the stripe-aware extent metadata comprises:

transmitting file-system level extent metadata to a backup device;

generating stripe-aware extent metadata on the backup device based on the file-system level extent metadata.

6. The computer-implemented method of claim 1 , wherein the off-host backup operation comprises a server-free backup in which the off-host backup system reads the entire volume of data directly from the storage device to back up data rather than requiring the host system to send data for backup.

7. The computer-implemented method of claim 6 , wherein the off-host backup operation is performed with a backup device connected to a Storage Area Network (SAN).

8. The computer-implemented method of claim 1 , wherein generating the stripe-aware extent metadata comprises generating metadata comprising:

a storage device identifier that identifies the storage device.

9. The computer-implemented method of claim 1 , wherein the off-host backup operation comprises at least one of:

backing up a file of the striped volume of data;

backing up the striped volume of data.

10. A system for off-host backups, the system comprising:

an identification module programmed to identify a striped volume of data on which to perform an off-host backup operation, the striped volume of data comprising a volume of data written to by a host system;

a generation module programmed to generate, at the host system, stripe-aware extent metadata for the off-host backup operation and provide the stripe-aware extent metadata to an off-host backup system that is remote from the host system to enable the off-host backup system to read the striped volume of data directly, the stripe-aware extent metadata comprising stripe location information for one or more data stripes within the striped volume of data;

a backup module programmed to perform the off-host backup operation at the off-host backup system, wherein the off-host backup system is remote from the host system and is programmed to:

for each storage device underlying the striped volume of data, identify a storage device offset within the stripe-aware extent metadata;

identify, within the stripe-aware extent metadata, a stripe length and a number of times to loop to read a striped extent of data;

use the stripe-aware extent metadata to read at least a portion of the striped volume of data directly from the host system by reading directly from each storage device underlying the striped volume of data;

for each storage device underlying the striped volume of data, read from the storage device at the offset for the storage device identified in the stripe-aware extent metadata;

for each time in the number of times, the off-host backup system increases the storage device offset by the stripe length and reads from the storage device at the increased offset;

at least one hardware processor configured to execute the identification module, the generation module, and the backup module.

11. The system of claim 10 , wherein the stripe-aware extent metadata comprises a parameter identifying how many storage devices underlie the striped volume of data.

12. The system of claim 10 , wherein the stripe-aware extent metadata comprises a parameter indicating whether a parity of a RAID configuration of the storage devices underlying the striped volume of data is left rotating or right rotating.

13. The system of claim 10 , wherein the stripe-aware extent metadata comprises a parameter identifying a total length of the striped extent of data.

14. The system of claim 10 , wherein the generation module is programmed to generate the stripe-aware extent metadata by:

transmitting file-system level extent metadata to a backup device;

generating stripe-aware extent metadata on the backup device based on the file-system level extent metadata.

15. The system of claim 10 , wherein the striped volume of data is stored on a Storage Area Network (SAN).

16. The system of claim 15 , wherein the off-host backup operation is performed with a backup device connected to the SAN.

17. The system of claim 10 , wherein the generation module is programmed to generate the stripe-aware extent metadata by generating metadata comprising:

the stripe size;

a number of devices under the striped volume of data;

the storage device offset;

a total length of the striped extent of data;

the number of times to loop to read the striped extent of data.

18. The system of claim 10 , wherein the stripe-aware extent metadata comprises:

parity information for a RAID configuration.

19. A non-transitory 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 a striped volume of data on which to perform an off-host backup operation, the striped volume of data comprising a volume of data written to by a host system;

generate, at the host system, stripe-aware extent metadata for the off-host backup operation, the stripe-aware extent metadata comprising stripe location information for one or more data stripes within the striped volume of data;

provide the stripe-aware extent metadata to an off-host backup system that is remote from the host system to enable the off-host backup system to read the striped volume of data directly;

at the off-host backup system, for each storage device underlying the striped volume of data, identify a storage device offset within the stripe-aware extent metadata;

at the off-host backup system, identify, within the stripe-aware extent metadata, a stripe length and a number of times to loop to read a striped extent of data;

perform the off-host backup operation at the off-host backup system, wherein:

the off-host backup system is remote from the host system and uses the stripe-aware extent metadata to read at least a portion of the striped volume of data directly from the host system by reading directly from each storage device underlying the striped volume of data;

for each storage device underlying the striped volume of data, the off-host backup system reads from the storage device at the offset for the storage device identified in the stripe-aware extent metadata and, for each time in the number of times, the off-host backup system increases the storage device offset by the stripe length and reads from the storage device at the increased offset.

20. The non-transitory computer-readable-storage medium of claim 19 , wherein the stripe-aware extent metadata comprises a parameter identifying how many storage devices underlie the striped volume of data.

Assignments (13)
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 Apr 21, 2010
From: NAGARKAR, KULDEEP; KHURANGE, ASHISH GOVIND
To: SYMANTEC CORPORATION
Reel/Frame 024268/0309 →