Patent ID: 7849167
Filing Date: 2010-12-07
Classification: G06F,H04L

Abstract:
1. A system for optimizing a number of I/O requests directed to a shared storage resource that can be issued by each of a plurality of host devices, said shared storage resource accepting service requests from said host devices and performing services for said plurality of host devices, said plurality of host devices capable of communicating over a network, said system comprising: a queue associated with said shared storage resource for storing said accepted service requests; and a first host device, among said plurality of host devices, for receiving a communication signal via a network from another of said plurality of host devices, to indicate a permission to said first host device for increasing said first host device's currently available maximum number of concurrent service requests, during said first host device's turn, when a no queue full condition exists in said shared storage resource as informed by said shared storage resource, said first host device dynamically adjusting said currently available maximum number of concurrent service requests of said first host device in accordance with the number of currently outstanding service requests issued from said first host device; wherein each host device in said plurality of host devices provides a parameter M whose value indicates a currently available maximum number of concurrent service requests, and a parameter M_old whose value indicates a previously available maximum number of concurrent service requests, wherein the first host device, among said plurality of host devices, decreases said first host device's currently available maximum number of service requests, every time said first host device is informed of a queue full condition in said shared storage resource, wherein during said first host device's turn, if said first host device is informed of the queue full condition in said shared storage resource at least twice and if said currently available maximum number of concurrent service requests (M) of said first host device is larger than said previously available maximum number of concurrent service requests (Mold) of said first host device, setting said currently available maximum number of concurrent service requests (M) of said first host device to said previously available maximum number of concurrent service requests (M_old) of said first host device.