IP Library › Granted Patent US 7,162,575
Granted Patent B2
US 7,162,575 · App. 10/325,418 · Granted Jan 9, 2007

Adaptive implementation of requested capabilities for a logical volume

Assignee: Veritas Operating Corporation
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,162,575
App. No.
10/325,418
Filed
Dec 20, 2002
Granted
Jan 9, 2007
Kind
B2
Art Unit
2187
USPC
711/112
Abstract

A method, system, and computer program product for adaptively implementing capabilities of a logical volume. If a particular capability is an inherent attribute of an existing storage device, the existing storage device is chosen to implement the volume. If the particular capability is not an inherent attribute of an existing storage device, one or more storage devices are selected and configured to provide the capability. If a capacity is requested for the logical volume and a storage device provides only a portion of the capacity, multiple storage devices having the capability are combined to provide the requested capability and capacity.

Claims (85)

1. A method comprising:

determining that a first storage device of a plurality of storage devices does not inherently provide a capability for a logical volume;

configuring the first storage device to provide the capability;

selecting the first storage device as one of a selected set of storage devices of the plurality of storage devices, wherein each storage device in the selected set of storage devices has been selected to provide storage for the logical volume;

when the selected set of storage devices does not provide all of a capacity requested for the logical volume, selecting a set of remaining storage devices of the plurality of storage devices to provide the capability and a remaining portion of the capacity for the logical volume;

when at least one storage device of the set of remaining storage devices does not inherently provide the capability, configuring the at least one storage device of the set of remaining storage devices to provide the capability for the logical volume;

adding the set of remaining storage devices to the selected set of storage devices to implement the logical volume; and

executing at least one command to implement the logical volume using the selected set of storage devices.

2. The method of claim 1 wherein the selected set of storage devices further comprises:

a second storage device that inherently provides the capability to implement the logical volume.

3. The method of claim 1 wherein

the capability is selected to provide a requested characteristic of the logical volume.

4. The method of claim 1 , wherein

the capability is one of reliable, disk reliable, path reliable, high performance, and snapshot-capable.

5. The method of claim 1 , wherein

the configuring the first storage device comprises configuring software to emulate striping on the first storage device.

6. The method of claim 1 , wherein

the configuring the first storage device comprises mirroring data written to the first storage device on a second storage device.

7. The method of claim 1 , wherein the selected set of storage devices comprises at least one storage device that inherently provides the capability.

8. A system comprising:

determining means for determining that a first storage device of a plurality of storage devices does not inherently provide a capability;

configuring means for configuring the first storage device to provide the capability;

selecting means for selecting the first storage device as one of a selected set of storage devices of the plurality of storage devices, wherein each storage device in the selected set of storage devices has been selected to provide storage for the logical volume;

second selecting means for selecting a set of remaining storage devices of the plurality of storage devices to provide the capability and a remaining portion of a capacity requested for the logical volume when the selected set of storage devices does not provide all of the capacity requested for the logical volume;

second configuring means for configuring at least one storage device of the set of remaining storage devices to provide the capability for the logical volume when the at least one storage device of the set of remaining storage devices does not inherently provide the capability; and

executing means for executing at least one command to implement the logical volume using the selected set of storage devices.

9. The system of claim 8 further comprising:

capability-requiring means for requiring a capability to provide a requested characteristic of the logical volume.

10. The system of claim 8 , wherein

the capability is one of reliable, disk reliable, path reliable, high performance, and snapshot-capable.

11. The system of claim 8 , wherein

configuring the first storage device comprises using software to emulate striping on the first storage device.

12. The system of claim 8 , wherein

configuring the first storage device comprises mirroring data written to the first storage device on a second storage device.

13. The system of claim 8 , wherein

the selected set of storage devices comprises at least one storage device that inherently provides the capability.

14. A system comprising:

a determining module to determine that a first storage device of a plurality of storage devices does not inherently provide a capability for a logical volume;

a configuring module to configure the first storage device to provide the capability for the logical volume;

a selecting module to select the first storage device as one of a selected set of storage devices of the plurality of storage devices, wherein

each storage device in the selected set of storage devices has been selected to provide storage for the logical volume;

a second selecting module for selecting a set of remaining storage devices of the plurality of storage devices to provide the capability and a remaining portion of a capacity requested for the logical volume when the selected set of storage devices does not provide all of the capacity requested for the logical volume;

a second configuring module for configuring at least one storage device of the set of remaining storage devices to provide the capability for the logical volume when the at least one storage device of the set of remaining storage devices does not inherently provide the capability; and

an executing module to execute at least one command to implement the logical volume using the selected set of storage devices.

15. The system of claim 14 wherein

the determining module and the selecting module are included in an allocation engine; and

the configuring module and the executing module are included in a command processor.

16. The system of claim 14 wherein

the second selecting module is included in an allocation engine; and

the second configuring module is included in a command processor.

17. The system of claim 14 further comprising:

a capability-requiring module to require a capability to provide a requested characteristic of the logical volume.

18. The system of claim 17 wherein

the capability-requiring module is included in one of an allocation engine and a language processor.

19. The system of claim 14 , wherein

the capability is one of reliable, disk reliable, path reliable, high performance, and snapshot-capable.

20. The system of claim 14 , wherein

configuring the first storage device comprises using software to emulate striping on the first storage device.

21. The system of claim 14 , wherein

configuring the first storage device comprises mirroring data written to the first storage device on a second storage device.

22. The system of claim 14 , wherein

the selected set of storage devices comprises at least one storage device that inherently provides the capability.

23. A computer-readable medium comprising:

determining instructions to determine that a first storage device of a plurality of storage devices does not inherently provide a capability for a logical volume;

configuring instructions to configure the first storage device to provide the capability for the logical volume;

selecting instructions to select the first storage device as one of a selected set of storage devices of the plurality of storage devices, wherein each storage device in the selected set of storage devices has been selected to provide storage for the logical volume;

second selecting instructions to select a set of remaining storage devices of the plurality of storage devices to provide the capability and a remaining portion of a capacity requested for the logical volume when the selected set of storage devices does not provide all of the capacity requested for the logical volume; and

second configuring instructions to configure at least one storage device of the set of remaining storage devices to provide the capability for the logical volume when the at least one storage device of the set of remaining storage devices does not inherently provide the capability; and

executing instructions to execute at least one command to implement the logical volume using the selected set of storage devices.

24. The computer-readable medium product of claim 23 wherein

the determining instructions and the selecting instructions are included in an allocation engine; and

the configuring instructions and the executing instructions are included in a command processor.

25. The computer-readable medium of claim 23 wherein

the second selecting instructions are included in an allocation engine; and

the second configuring instructions are included in a command processor.

26. The computer-readable medium of claim 23 further comprising:

capability-requiring instructions for requiring a capability to provide a requested characteristic of the logical volume.

27. The computer-readable medium of claim 23 , wherein

the capability is one of reliable, disk reliable, path reliable, high performance, and snapshot-capable.

28. The computer-readable medium of claim 23 , wherein

configuring the first storage device comprises using software to emulate striping on the first storage device.

29. The computer-readable medium of claim 23 , wherein

configuring the first storage device comprises mirroring data written to the first storage device on a second storage device.

30. The computer-readable medium of claim 23 , wherein

the selected set of storage devices comprises at least one storage device that inherently provides the capability.

Assignments (20)
CORRECTIVE ASSIGNMENT TO CORRECT THE CONVEYING PARTY DATA AND CORRECT THE PATENT NUMBERS PREVIOUSLY RECORDED AT REEL: 69548 FRAME: 468. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Feb 4, 2026
From: VERITAS TECHNOLOGIES LLC
To: ARCTERA US LLC
Reel/Frame 074876/0584 →
TERMINATION AND RELEASE OF PATENT SECURITY AGREEMENT AT R/F 070530/0497 Recorded Dec 1, 2025
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: ARCTERA US LLC
Reel/Frame 073833/0730 →
TERMINATION AND RELEASE OF PATENT SECURITY AGREEMENT AT R/F 069585/0150 Recorded Dec 1, 2025
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: ARCTERA US LLC
Reel/Frame 073833/0848 →
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 10, 2024
From: ARCTERA US LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 069563/0243 →
PATENT SECURITY AGREEMENT Recorded Dec 10, 2024
From: ARCTERA US LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 069585/0150 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2024
From: VERITAS TECHNOLOGIES LLC
To: ARCTERA US LLC
Reel/Frame 069548/0468 →
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 9, 2006
From: VERITAS SOFTWARE CORPORATION
To: VERITAS OPERATING CORPORATION
Reel/Frame 017434/0983 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 24, 2005
From: DALAL, CHIRAG DEEPAK; BHARADWAJ, VAIJAYANTI RAKSHIT; KULKARNI, PRADIP MADHUKAR
To: VERITAS SOFTWARE CORPORATION
Reel/Frame 016915/0875 →
RECORD TO REMOVE THREE ASSIGNORS AND TO CORRECT ASSIGNEE'S ADDRESS. ASSIGNMENT WAS PREVIOULY RECORDED AT REEL 013937 FRAME 0875. A SEPARATE ASSIGNMENT IS BEING RECORDED FOR THE THREE ASSIGNORS. Recorded May 31, 2005
From: KARR, RONALD S.
To: VERITAS SOFTWARE CORPORATION
Reel/Frame 016615/0696 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 9, 2003
From: DALAL, CHIRAG DEEPAK; BHARADWAJ, VAIJAYANTI RAKSHIT; KULKARNI, PRADIP MADHUKAR; KARR, RONALD S.
To: VERITAS SOFTWARE CORPORATION
Reel/Frame 013937/0875 →
Continuity (1)
Related Publication 20040123030A1 · Jun 24, 2004