Claims
- 1. A computer implemented process for managing bandwidth access of a storage resource, comprising:
determining a total bandwidth capability for the storage resource; defining a set of storage virtual channels, each of the set of storage virtual channels being assigned a portion of the total bandwidth capability; and assigning storage virtual channels of the set of storage virtual channels to clients requesting access to the storage resource.
- 2. A computer implemented process for managing bandwidth access of a storage resource as recited in claim 1, wherein the total bandwidth capability is defined by a throughput capability and a response time capability, the throughput capability including a data rate capability and an input/output rate capability.
- 3. A computer implemented process for managing bandwidth access of a storage resource as recited in claim 1, wherein each of the clients is an entity having an associated input/output workload.
- 4. A computer implemented process for managing bandwidth access of a storage resource as recited in claim 1, wherein each of the set of storage virtual channels is defined based on a client bandwidth need and a client privilege level.
- 5. A computer implemented process for managing bandwidth access of a storage resource as recited in claim 4, wherein the client privilege level is defined by an allowable minimum throughput and an allowable maximum response time.
- 6. A computer implemented process for managing bandwidth access of a storage resource as recited in claim 1, further comprising:
ensuring that the storage virtual channels continuously provide the respective assigned portion of the total bandwidth capability to the clients to which the storage virtual channels are assigned.
- 7. A computer implemented process for managing bandwidth access of a storage resource as recited in claim 6, wherein the ensuring includes limiting a throughput capability of each of the storage virtual channels.
- 8. A computer implemented process for managing bandwidth access of a storage resource as recited in claim 1, wherein each storage virtual channel is assigned to a single client.
- 9. A computer implemented process for managing bandwidth access of a storage resource as recited in claim 1, wherein the assigning of storage virtual channels to clients is based on a predefined policy, the predefined policy considering a privilege level of each of the clients.
- 10. A computer implemented process for managing bandwidth access of a storage resource as recited in claim 1, further comprising:
assigning one or more of the storage virtual channels to a logical unit number of the storage resource.
- 11. A computer implemented process for managing bandwidth access of a storage resource as recited in claim 1, wherein the storage resource contains queues for temporarily holding data to be transmitted through or received from the storage virtual channels.
- 12. A computer implemented process for managing bandwidth access of a storage resource as recited in claim 11, further comprising:
assigning storage virtual channels to the queues for temporarily holding data.
- 13. A computer implemented process for managing bandwidth access of a storage resource as recited in claim 11, wherein the queues are defined within a cache of the storage resource.
- 14. A computer implemented process for managing bandwidth access of a storage resource as recited in claim 11, wherein the queues are created and managed by firmware and software in the storage resource.
- 15. A computer implemented process for managing bandwidth access of a storage resource as recited in claim 1, further comprising:
assigning one or more of the storage virtual channels to a communication port of the storage resource.
- 16. A computer implemented process for managing bandwidth access of a storage resource as recited in claim 1, further comprising:
eliminating a storage virtual channel when the storage virtual channel is not assigned to a client.
- 17. A computer implemented process for managing bandwidth access of a storage resource as recited in claim 16, further comprising:
reconstituting the portion of the total bandwidth capability assigned to the eliminated storage virtual channel, wherein the reconstituted portion of the total bandwidth capability is reassigned to one of a remaining set of storage virtual channels and a new set of storage virtual channels.
- 18. A computer implemented process for managing bandwidth access of a storage resource as recited in claim 1, wherein the storage resource and the clients are part of a storage area network.
- 19. A computer implemented process for dynamic bandwidth access management of a storage resource, comprising:
determining a total bandwidth capability for the storage resource; detecting requests to access the storage resource, the requests being received from clients desiring access to the storage resource; determining a privilege level for each of the clients desiring access; defining storage virtual channels for each of the clients desiring access, each storage virtual channel having a portion of the total bandwidth capability that is associated with the privilege level of the particular client; and assigning the defined storage virtual channels to the clients so that each client is provided with the portion of the total bandwidth capability during access to the storage resource.
- 20. A computer implemented process for dynamic bandwidth access management of a storage resource as recited in claim 19, wherein the total bandwidth capability is defined by a throughput capability and a response time capability, the throughput capability including a data rate capability and an input/output rate capability.
- 21. A computer implemented process for dynamic bandwidth access management of a storage resource as recited in claim 19, wherein each of the clients is an entity having an associated input/output workload.
- 22. A computer implemented process for dynamic bandwidth access management of a storage resource as recited in claim 19, wherein the privilege level for each of the clients is defined by an allowable minimum throughput and an allowable maximum response time, the allowable minimum throughput including an allowable minimum data rate and an allowable minimum input/output rate.
- 23. A computer implemented process for dynamic bandwidth access management of a storage resource as recited in claim 19, further comprising:
monitoring the portion of the total bandwidth capability available to each storage virtual channel to ensure that the portion of the total bandwidth capability provided to each of the clients is in accordance with the privilege level of the particular client.
- 24. A computer implemented process for dynamic bandwidth access management of a storage resource as recited in claim 19, further comprising:
eliminating a storage virtual channel when the clients to which the storage virtual channel is assigned are not present.
- 25. A computer implemented process for dynamic bandwidth access management of a storage resource as recited in claim 24, further comprising:
reconstituting the portion of the total bandwidth capability associated with the eliminated storage virtual channel, wherein the reconstituted portion of the total bandwidth capability is reassigned to one of a remaining set of storage virtual channels and a new set of storage virtual channels.
- 26. A method for defining a storage virtual channel, comprising:
determining a total bandwidth of a storage resource of a storage area network; dividing the total bandwidth into a number of smaller bandwidths, each of the number of smaller bandwidths being assigned to a storage virtual channel; and assigning control specifications to each storage virtual channel, the control specifications including throughput and response time control specifications, wherein the throughput control specification includes a data rate control specification and an input/output rate control specification.
- 27. A method for defining a storage virtual channel as recited in claim 26, wherein the storage area network includes one or more clients in communication with the storage resource.
- 28. A method for defining a storage virtual channel as recited in claim 27, wherein each of the clients is an entity having an associated input/output workload.
- 29. A method for defining a storage virtual channel as recited in claim 27, further comprising:
assigning a storage virtual channel to one or more clients, each of the one or more clients having a client bandwidth need and a client privilege level that can be accommodated by the control specifications assigned to the storage virtual channel.
- 30. A method for defining a storage virtual channel as recited in claim 26, wherein the total bandwidth is defined by a throughput capability and a response time capability, the throughput capability being defined by a data rate capability and an input/output rate capability.
- 31. A method for using a storage virtual channel, comprising:
assigning a storage virtual channel to a client of a storage area network, the storage virtual channel being a dedicated and protected communication link between the client and a storage resource of the storage area network; sending an input/output request from the client to the storage resource, the sending being performed using the storage virtual channel; receiving the input/output request from the client at the storage resource; and providing the client with access to the storage resource in accordance with specifications of the storage virtual channel.
- 32. A method for using a storage virtual channel as recited in claim 31, wherein the specifications of the storage virtual channel include a minimum throughput and a maximum response time.
- 33. A method for using a storage virtual channel as recited in claim 32, wherein the specifications of the storage virtual channel include a maximum throughput.
- 34. A method for using a storage virtual channel as recited in claim 31, wherein the storage virtual channel is assigned to a client having a privilege level that complies with specifications of the storage virtual channel, the privilege level being defined by an allowable minimum throughput and an allowable maximum response time, the allowable minimum throughput including an allowable minimum data rate and an allowable minimum input/output rate.
- 35. A method for using a storage virtual channel as recited in claim 31, further comprising:
ensuring that the client to which the storage virtual channel is assigned is continuously provided with access to the storage resource in accordance with the specifications of the storage virtual channel.
- 36. A method for using a storage virtual channel as recited in claim 35, wherein the ensuring includes limiting a throughput capability of other storage virtual channels, the throughput capability including a data rate capability and an input/output capability.
- 37. A method for using a storage virtual channel as recited in claim 31, further comprising:
eliminating the storage virtual channel when the client is removed from the storage area network.
CROSS REFERENCE TO RELATED APPLICATIONS
[0001] This application is related to U.S. patent application Ser. No. ______ (Attorney Docket No. SUNMP237), filed on even date herewith, and entitled “Methods for Assigning Performance Specifications to a Storage Virtual Channel.” The disclosure of this related application is incorporated herein by reference.