IP Library Granted Patent US 7,539,824
Granted Patent B2
US 7,539,824 · App. 11/286,168 · Granted May 26, 2009

Pooling and provisioning storage resources in a storage network

Assignee: EMC 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,539,824
App. No.
11/286,168
Filed
Nov 23, 2005
Granted
May 26, 2009
Kind
B2
Art Unit
2188
USPC
711/148
Abstract

A system in accordance with an embodiment of the invention provides Quality of Service (QoS) for Storage Access. Such QoS is partially enabled in one embodiment by the automatic pooling of storage devices and provisioning virtual targets from those pools. QoS is enforced in one embodiment by keeping the bandwidth for each connection within a specified range, and particularly, by controlling the number of allowed concurrent requests from an initiator. Load balancing is also provided in one embodiment, improving response times for requests, further easing the ability to provide QoS.

Claims (40)

1. A method for use by a storage switch in a storage area network, the method comprising:

automatically obtaining by the switch information about performance characteristics of a physical device in communication with the switch, the physical device including one or more logical units (LUs);

based on the performance characteristics, assigning by the switch the LUs for the physical device to one of a plurality of storage pools;

receiving at the switch a request from a user for a virtual target, the request including a requested characteristic of the virtual target and a requested storage pool from which to provision the virtual target, the requested storage pool being accessible only to selected ones of requesting users that are members of a predetermined group;

automatically determining by the switch if LUs of physical devices assigned to the requested storage pool are available that meet the characteristic requested; and

if the LUs of physical devices are available and said user is a member of said predetermined group permitted access to said requested storage pool, provisioning by the switch the virtual target from said physical devices.

2. The method of claim 1 further comprising provisioning by the switch said virtual target using the LUs in the requested storage pool in accordance with criteria selected by said user.

3. The method of claim 1 further comprising classifying by the switch the LUs according to a policy based on the performance characteristics, the requested storage pool being defined by the policy.

4. The method of claim 1 further comprising storing by the switch an LU object in the switch for each LU, the LU object comprising information about the LU.

5. The method of claim 1 further comprising automatically discovering by the switch the physical device upon the physical device being placed in communication with the switch.

6. The method of claim 1 , wherein said automatically obtaining performance characteristics comprises obtaining performance characteristics of a plurality of physical devices in communication with the switch, each physical device including one or more LUs; and the method further comprises classifying by the switch LUs based on the performance characteristics of each physical device according to a respective one of a plurality of policies, assigning the LUs for each physical device to said one of said plurality of storage pools, and provisioning said virtual target using LUs assigned to a selected storage pool.

7. The method of claim 6 , wherein each of the plurality of storage pools is defined by a respective policy, and wherein the respective policy encompasses the performance characteristics of the LUs assigned to the storage pool.

8. The method of claim 6 further comprising associating by the switch the virtual target with a user domain, and associating the user domain with a second virtual target provisioned by a second storage switch.

9. A method for use by a storage switch in a storage area network, the method comprising:

receiving at the switch a request from a user for a virtual target, the request including a requested characteristic of the virtual target and a requested storage pool from which to provision the virtual target, the storage pool being accessible only to selected ones of requesting users that are members of a predetermined group;

automatically determining by the switch if physical storage resources assigned to the storage pool are available that meet the characteristic requested; and

if the physical storage resources are available and said user is a member of said predetermined group permitted access to said requested storage pool, provisioning by the switch the virtual target from said physical resources.

10. The method of claim 9 , wherein the characteristic includes one or more of a size and a desired availability of the virtual target, and wherein said provisioning the virtual target further comprises provisioning a virtual target with said characteristic.

11. The method of claim 9 , wherein said provisioning the virtual target comprises using resources from said storage pool, the resources being classified by a policy, and the storage pool being accessible to a selected set of connections.

12. The method of claim 9 further comprising provisioning by the switch an initiator connection from an initiator to the virtual target.

13. The method of claim 12 , wherein said provisioning an initiator connection comprising receiving by the switch a request for a connection from the initiator to the virtual target, the request having a specified bandwidth characteristic.

14. The method of claim 12 further comprising creating a quality of service policy for storage access for the connection from the initiator to the virtual target, and wherein said provisioning of the virtual target comprises provisioning the virtual target in accordance with a first set of parameters; and provisioning the initiator connection comprises provisioning by the switch the initiator connection in accordance with a second set of parameters.

15. The method of claim 9 further comprising associating by the switch the virtual target with a user domain, and associating the user domain with a second virtual target provisioned by a second storage switch.

16. A storage switch for use in a storage area network, comprising a utility program controlling the switch to receive a request from a user for a virtual target, the request including a requested characteristic of the virtual target and a requested storage pool from which to provision the virtual target, the requested storage pool being accessible only to selected ones of requesting users that are members of a predetermined group; to automatically determine if physical devices assigned to the requested storage pool are available that meet the characteristic requested; and, if the physical devices are available and said user is a member of said predetermined group permitted access to said requested storage pool, to provision by the switch the virtual target from said physical devices.

17. The storage switch of claim 16 , wherein the utility program further controls

the switch to automatically obtain information about performance characteristics of a plurality of physical devices in communication with the switch, wherein each physical device includes one or more logical units (LUs), and to assign the LUs for each respective physical device to a respective one of a plurality of storage pools based on the performance characteristics of each physical device; and

a database in communication with the utility program storing a plurality of LU objects, each LU object including at least some of the information obtained by the utility program, and wherein the database further includes a storage pool object for each respective storage pool, the storage pool object including a listing of the LUs in the respective storage pool.

18. The switch of claim 17 , wherein the utility program further classifies the LUs of each physical device according to one of a plurality of policies.

19. The switch of claim 17 , wherein the utility program further automatically discovers performance characteristics of each physical device upon the physical device being placed in communication with the switch.

20. The switch of claim 17 , wherein the database further includes a plurality of virtual target objects, wherein each virtual target object includes a listing of extent objects that identifies the extents that form a particular virtual target.

21. The switch of claim 17 , wherein the database further includes a user domain object comprising a listing of virtual targets that belong to the user domain.

22. A machine readable media having instructions stored thereon for execution by a storage switch in a storage area network to control the switch, said instructions controlling the switch to receive a request from a user for a virtual target, the request including a requested characteristic of the virtual target and a requested storage pool from which to provision the virtual target, the requested storage pool being accessible only to selected ones of requesting users that are members of a predetermined group; to automatically determine if physical devices assigned to the requested storage pool are available that meet the characteristic requested; and if the physical devices are available and said user is a member of said predetermined group permitted access to said requested storage pool, to provision by the switch the virtual target from said physical devices.

23. The machine readable media of claim 22 , wherein said instructions further control the switch to automatically obtain information about one or more performance characteristics of a plurality of physical devices in communication with the switch, each physical device including one or more logical units (LUs); to classify, based on a performance characteristic of each physical device, the respective LUs according to a respective one of a plurality of policies, to assign the respective LUs for each respective physical device to a respective one of a plurality of storage pools based upon said policies; and to provision said virtual target using the LUs assigned to said requested storage pool.

24. The machine readable media of claim 23 , wherein the instruction to provision comprises provisioning the virtual target in accordance with user-selected criteria.

25. The machine readable media of claim 23 , wherein the instruction to provision comprises provisioning an initiator connection to another switch.

26. The machine readable media of claim 23 , further including instructions for storing an LU object in the switch for each LU, wherein the LU object includes information about the LU.

27. The machine readable media of claim 23 , wherein each respective storage pool is defined by a listing of the respective LUs assigned to it.

28. The machine readable media of claim 23 , wherein each respective storage pool is defined by a respective policy, and wherein the respective policy encompasses the performance characteristics of the LUs assigned to the respective storage pool.

29. The machine readable media of claim 23 further comprising instructions for automatically discovering each of the plurality of physical devices upon each physical device being placed in communication with the switch.

30. The machine readable media of claim 23 further comprising instructions for associating the virtual target with a user domain.

Assignments (10)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (045455/0001) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061753/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040136/0001) Recorded Apr 26, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061324/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 3, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL, L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058216/0001 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 29, 2016
From: EMC CORPORATION
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 040203/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040136/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040134/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 23, 2005
From: MARANTI NETWORKS, INC.
To: EMC CORPORATION
Reel/Frame 017276/0680 →
Continuity (3)
Continuation 1005097400 · Jan 18, 2002
Provisional Application 6032570400 · Sep 28, 2001
Related Publication 20060075191A1 · Apr 6, 2006