Patent ID: 8953453
Filing Date: 2015-02-10
Classification: H04L

Abstract:
1. A method, comprising: performing, by a computer system that provides storage services to clients: receiving a request to read or write data on behalf of a client; determining whether at least one token is present in a token bucket, wherein each token in the token bucket represents a unit of work for an input/output (I/0) operation in terms of a fixed amount of data transferred; in response to determining that at least one token is present in the token bucket: accepting the received request for servicing; deducting an initial number of tokens from the token bucket; servicing the received request, wherein said servicing comprises transferring a particular amount of data, and wherein the amount of data transferred in servicing different service requests is non-uniform; determining that the particular amount of data transferred is more or less than the transferred data amount represented by the initial number of tokens; and in response to determining that the particular amount of data transferred is more or less than the transferred data amount represented by the initial number of tokens, deducting an additional number of tokens from the token bucket or replacing a number of tokens in the token bucket, wherein the additional number of tokens deducted or the number of tokens replaced represents the difference between the particular amount of data transferred and the transferred data amount represented by the initial number of tokens; wherein said deducting an initial number of tokens from the token bucket, said determining that the particular amount of data transferred is more or less than the transferred data amount represented by the initial number of tokens, and said deducting an additional number of tokens from the token bucket or replacing a number of tokens in the token bucket are performed in response to selection of an admission control mechanism that includes a token bucket comprising tokens that represent a fixed amount of data transferred from among two or more admission control mechanisms supported in the system; wherein subsequent to said deducting an additional number of tokens from the token bucket: selecting a different one of the two or more admission control mechanisms; receiving one or more additional service requests; and managing the one or more additional service requests using the different admission control mechanism.