×

Quality of service management

  • US 8,250,197 B2
  • Filed: 10/28/2008
  • Issued: 08/21/2012
  • Est. Priority Date: 10/28/2008
  • Status: Active Grant
First Claim
Patent Images

1. A method for providing quality of service to a plurality of hosts accessing a common resource, the common resource being a middle-tier or back-end server, the method comprising:

  • receiving from a client an IO request at one host of the plurality of hosts, the client being one client of a plurality of clients, the plurality of clients are virtual machines executing on the one host by way of virtualization software logically interposed and interfacing with the virtual machines and system hardware of the one host, each virtual machine having a guest operating system and at least an application;

    determining whether an issue queue maintained by the one host is full, the issue queue maintaining dispatch and completion information about IO requests from the clients that have already been dispatched to and are pending at the common resource, the issue queue being considered full when a number of the IO requests for which dispatch and completion information is being maintained by the issue queue reaches a specified limit, the specified limit being a window size;

    issuing the IO request to the common resource when the issue queue is not full the issue queue being individually used by the one host to determine when to issue the IO request from the one host;

    adding an entry for the IO request to the issue queue upon issuing the IO request to the common resource, wherein entries in the issue queue include IO requests that have been dispatched but not completed, wherein completed IO requests are removed from the issue queue;

    calculating a current average latency observed at the one host, the current average latency being an average of individual latencies observed in completing the IO requests; and

    calculating an adjusted window size, the adjusted window size being based at least in part on the current average latency; and

    setting the specified limit to correspond with the adjusted window size to control the number of IO requests that are added to the issue queue by the one host.

View all claims
  • 2 Assignments
Timeline View
Assignment View
    ×
    ×