IP Library Granted Patent US 7,831,788
Granted Patent B1
US 7,831,788 · App. 10/856,045 · Granted Nov 9, 2010

System and method using locks for providing safe movement of data using third party copy techniques

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,831,788
App. No.
10/856,045
Granted
Nov 9, 2010
Kind
B1
Abstract

Systems, methods, apparatus and software can utilize storage resource locks to prevent modification (including relocation) of data in the storage resource while a third-party copy operation directed at the storage resource is occurring. A data transport mechanism such as a data restore application requests that a relevant portion of the storage resource be locked. Once locked, the data transport mechanism requests a data mover to perform a third-party copy operation whereby data is moved from a data source to the locked portion of the storage resource. When the third party-copy operation is complete, the data transport mechanism requests release of the lock on the portion of the storage resource.

Claims (84)

1. A method comprising:

accessing an extent list describing data to be restored in response to a request to restore data to a storage resource from a second storage resource;

requesting a lock on an allocated portion of the storage resource, wherein

the allocated portion of the storage resource comprises a destination for the data described in the extent list, and

the lock is requested in response to the request to restore the data to the storage resource from the second storage resource;

determining whether the allocated portion of the storage resource has changed, prior to the lock being granted;

initiating a third-party copy operation in response to determining that the lock has been granted, wherein the third-party copy operation moves the data from the second storage resource to the allocated portion of the storage resource; and

indicating completion of the third-party copy operation when the third-party copy operation is complete.

2. The method of claim 1 wherein requesting a lock on an allocated portion of a storage resource further comprises:

sending a lock request indication to a manager of the storage resource; and

receiving a lock grant indication from the manager of the storage resource.

3. The method of claim 2 wherein the manager of the storage resource is at least one of an operating system, a file system, and a volume manager, the method further comprising:

locking the allocated portion of the storage resource by the manager of the storage resource, the locking allowing only the third-party copy operation to modify the allocated portion of the storage resource.

4. The method of claim 1 wherein the initiating a third-party copy operation further comprises:

sending the extent list a data mover; and

requesting the data mover to perform the third-party copy operation using the extent list.

5. The method of claim 1 further comprising:

receiving a lock override request; and

requesting termination of the third-party copy operation.

6. The method of claim 5 further comprising:

receiving an acknowledgement of termination of the third-party copy operation; and

requesting release of the lock on the allocated portion of the storage resource.

7. The method of claim 5 further comprising:

indicating that the third-party copy operation has failed when no acknowledgement of termination of the third-party copy operation has been received after a specified period of time.

8. The method of claim 1 further comprising:

receiving an indication that the third-party copy operation is complete; and

requesting release of the lock on the allocated portion of the storage resource.

9. The method of claim 1 further comprising:

requesting allocation of the allocated portion of the storage resource; and

receiving an extent list corresponding to the allocated portion of the storage resource, the extent list corresponding to the allocated portion of the storage resource including at least one extent.

10. The method of claim 1 further comprising:

locking the allocated portion of the storage resource, wherein the locking is applied to at least one of a block, a sector, a track, a file, a directory, and a volume; and wherein the locking allows only the third-party copy operation to modify the allocated portion of the storage resource.

11. The method of claim 1 further comprising:

determining, before the initiating and after receipt of a lock grant indication, whether a change to the allocated portion of the storage resource has occurred.

12. The method of claim 11 wherein the determining comprises:

comparing an extent list with information identifying the allocated portion of the storage resource.

13. The method of claim 1 wherein the allocated portion of the storage resource further comprises a configuration identifier, the method further comprising:

comparing the configuration identifier with a previous version of the configuration identifier to determine whether a change to the allocated portion of the storage resource has occurred.

14. The method of claim 1 wherein the storage resource and the second storage resource are coupled to each other through at least one of a local area network (LAN), a wide area network (WAN), and a storage area network (SAN).

15. The method of claim 1 wherein

a data mover performs the third-party copy operation, and

the data mover is coupled to the storage resource and the second storage resource by a network.

16. The method of claim 1 , wherein the requesting the lock comprises specifying a severity of the lock.

17. The method of claim 1 , further comprising:

detecting whether a race condition has occurred, wherein

the detecting comprises re-mapping a destination extent list, and

the destination extent list identifies at least one location of the allocated portion.

18. A computer readable medium comprising program instructions executable on a processor, the computer readable medium being at least one of an electronic storage medium, a magnetic storage medium, and an optical storage medium, wherein the program instructions are operable to implement each of:

accessing an extent list describing data to be restored in response to a request to restore data to a storage resource from a second storage resource;

requesting a lock on an allocated portion of the storage resource, wherein

the allocated portion of the storage resource comprises a destination for the data described in the extent list, and

the lock is requested in response to the request to restore the data to the storage resource from the second storage resource;

determining whether the allocated portion of the storage resource has changed, prior to the lock being granted;

initiating a third-party copy operation in response to determining that the lock has been granted, wherein the third-party copy operation moves the data from the second storage resource to the allocated portion of the storage resource; and

indicating completion of the third-party copy operation when the third-party copy operation is complete.

19. The computer readable medium of claim 18 wherein requesting a lock on an allocated portion of a storage resource further comprises program instructions operable to implement:

sending a lock request indication to a manager of the storage resource; and

receiving a lock grant indication from the manager of the storage resource.

20. The computer readable medium of claim 19 wherein the manager of the storage resource is at least one of an operating system, a file system, and a volume manager, the computer readable medium further comprising program instructions operable to implement:

locking the allocated portion of the storage resource by the manager of the storage resource, the locking allowing only the third-party copy operation to modify the allocated portion of the storage resource.

21. The computer readable medium of claim 18 wherein the initiating a third-party copy operation further comprises program instructions operable to implement:

sending the extent list to a data mover; and

requesting the data mover to perform the third-party copy operation using the extent list.

22. The computer readable medium of claim 18 further comprising program instructions operable to implement:

receiving a lock override request; and

requesting termination of the third-party copy operation.

23. The computer readable medium of claim 22 further comprising program instructions operable to implement:

receiving an acknowledgement of termination of the third-party copy operation; and

requesting release of the lock on the allocated portion of the storage resource.

24. The computer readable medium of claim 22 further comprising program instructions operable to implement:

indicating that the third-party copy operation has failed when no acknowledgement of termination of the third-party copy operation has been received after a specified period of time.

25. The computer readable medium of claim 18 further comprising program instructions operable to implement:

receiving an indication that the third-party copy operation is complete; and

requesting release of the lock on the allocated portion of the storage resource.

26. The computer readable medium of claim 18 further comprising program instructions operable to implement:

requesting allocation of the allocated portion of the storage resource; and

receiving an extent list corresponding to the allocated portion of the storage resource, the extent list corresponding to the allocated portion of the storage resource including at least one extent.

27. The computer readable medium of claim 18 further comprising program instructions operable to implement:

locking the allocated portion of the storage resource, wherein the locking is applied to at least one of a block, a sector, a track, a file, a directory, and a volume; and wherein the locking allows only the third-party copy operation to modify the allocated portion of the storage resource.

28. The computer readable medium of claim 18 further comprising program instructions operable to implement:

determining, before the initiating and after receipt of a lock grant indication, whether a change to the allocated portion of the storage resource has occurred.

29. The computer readable medium of claim 18 wherein the allocated portion of the storage resource further comprises a configuration identifier, the computer readable medium further comprising program instructions operable to implement:

comparing the configuration identifier with a previous version of the configuration identifier to determine whether a change to the allocated portion of the storage resource has occurred.

30. The computer readable medium of claim 18 wherein the storage resource and the second storage resource are coupled to each other through at least one of a local area network (LAN), a wide area network (WAN), and a storage area network (SAN).

Assignments (10)
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 →
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: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037891/0001 →
SECURITY INTEREST Recorded Feb 23, 2016
From: VERITAS US IP HOLDINGS LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 037891/0726 →
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 →