Distributed policy-based provisioning and enforcement for quality of service
First Claim
1. A computer-implemented method for providing resource usage feedback to a plurality of clients having access to a shared storage resource, the method comprising:
- monitoring a rate of usage of the shared storage resource by at least a portion of the clients, wherein a minimum usage rate for the shared storage resource is reserved for each client;
upon detecting that the rate of usage of the shared storage resource as monitored has exceeded a maximum rate supported by the shared storage resource, determining a congestion metric for each of the clients that are currently attempting to access the shared storage resource, wherein the congestion metric for each client is based on usage by each client of the shared storage resource; and
transmitting the corresponding determined congestion metric to each of the clients that are currently attempting to access the shared storage resource for each of the clients to introduce no delay or non-zero delay based on the corresponding determined congestion metric prior to attempting another access of the shared storage resource, wherein all clients that have exceeded their reserved minimum usage rate for the shared storage resource are transmitted a congestion metric having a non-zero value that results in a delay period being calculated by the client and all clients that have not exceeded their reserved minimum usage rate for the shared storage resource are transmitted a congestion metric having a zero value that results in no delay period being calculated by the client.
2 Assignments
0 Petitions
Accused Products
Abstract
Embodiments of the disclosure provide techniques for measuring congestion and controlling quality of service to a shared resource. A module that interfaces with the shared resource monitors the usage of the shared resource by accessing clients. Upon detecting that the rate of usage of the shared resource has exceeded a maximum rate supported by the shared resource, the module determines and transmits a congestion metric to clients that are currently attempting to access the shared resource. Clients, in turn determine a delay period based on the congestion metric prior to attempting another access of the shared resource.
53 Citations
17 Claims
-
1. A computer-implemented method for providing resource usage feedback to a plurality of clients having access to a shared storage resource, the method comprising:
-
monitoring a rate of usage of the shared storage resource by at least a portion of the clients, wherein a minimum usage rate for the shared storage resource is reserved for each client; upon detecting that the rate of usage of the shared storage resource as monitored has exceeded a maximum rate supported by the shared storage resource, determining a congestion metric for each of the clients that are currently attempting to access the shared storage resource, wherein the congestion metric for each client is based on usage by each client of the shared storage resource; and transmitting the corresponding determined congestion metric to each of the clients that are currently attempting to access the shared storage resource for each of the clients to introduce no delay or non-zero delay based on the corresponding determined congestion metric prior to attempting another access of the shared storage resource, wherein all clients that have exceeded their reserved minimum usage rate for the shared storage resource are transmitted a congestion metric having a non-zero value that results in a delay period being calculated by the client and all clients that have not exceeded their reserved minimum usage rate for the shared storage resource are transmitted a congestion metric having a zero value that results in no delay period being calculated by the client. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A non-transitory computer readable storage medium storing instructions, which, when executed on a processor, performs an operation for providing resource usage feedback to a plurality of clients having access to a shared storage resource, the operation comprising:
-
monitoring a rate of usage of the shared storage resource by at least a portion of the clients, wherein a minimum usage rate for the shared storage resource is reserved for each client; upon detecting that the rate of usage of the shared storage resource as monitored has exceeded a maximum rate supported by the shared storage resource, determining a congestion metric for at least a portion each of the clients that are currently attempting to access the shared storage resource, wherein the congestion metric for each client is based on usage by each client of the shared storage resource; and transmitting the corresponding determined congestion metric to each of the clients that are currently attempting to access the shared storage resource for each of the clients to introduce no delay or non-zero delay based on the corresponding determined congestion metric prior to attempting another access of the shared storage resource, wherein all clients that have exceeded their reserved minimum usage rate for the shared storage resource are transmitted a congestion metric having a non-zero value that results in a delay period being calculated by the client and all clients that have not exceeded their reserved minimum usage rate for the shared storage resource are transmitted a congestion metric having a zero value that results in no delay period being calculated by the client. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A computer system, comprising:
-
a processor and a memory hosting a module, which, when executed on the processor, performs an operation for providing resource usage feedback to a plurality of clients having access to a shared storage resource, the operation comprising; monitoring a rate of usage of the shared storage resource by at least a portion of the clients, wherein a minimum usage rate for the shared storage resource is reserved for each client; upon detecting that the rate of usage of the shared storage resource as monitored has exceeded a maximum rate supported by the shared storage resource, determining a congestion metric for each of the clients that are currently attempting to access the shared storage resource, wherein the congestion metric for each client is based on usage by each client of the shared storage resource; and transmitting the corresponding determined congestion metric to each of the clients that are currently attempting to access the shared storage resource for each of the clients to introduce no delay or non-zero delay based on the corresponding determined congestion metric prior to attempting another access of the shared storage resource, wherein all clients that have exceeded their reserved minimum usage rate for the shared storage resource are transmitted a congestion metric having a non-zero value that results in a delay period being calculated by the client and all clients that have not exceeded their reserved minimum usage rate for the shared storage resource are transmitted a congestion metric having a zero value that results in no delay period being calculated by the client. - View Dependent Claims (14, 15, 16, 17)
-
Specification