Distributed policy-based provisioning and enforcement for quality of service

US10855602B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10855602-B2
Application numberUS-201815889196-A
CountryUS
Kind codeB2
Filing dateFeb 5, 2018
Priority dateAug 26, 2013
Publication dateDec 1, 2020
Grant dateDec 1, 2020

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

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.

First claim

Opening claim text (preview).

We claim: 1. A computer-implemented method for handling a storage input/output (I/O) operation originating from a virtual machine (VM) and destined for a virtual disk, the VM running on virtualization software of a first host that is part of a cluster of host computers that includes the first host and a second host, each host having its own local physical storage resources, the virtualization software of the first host containing a first driver, the method comprising: receiving, by the first driver, the I/O operation; retrieving from the I/O operation an identifier for a virtual disk object representing the virtual disk, the virtual disk object being composed of virtual component objects, the virtual component objects being mappable to any available local physical storage resources throughout the cluster of host computers; determining, using the identifier, that a second host is a virtual disk coordinator host of the virtual disk object, by accessing a database of the first host, wherein the virtual disk coordinator host controls access to the virtual disk object; performing one of: (1) transmitting, by the first driver, the I/O operation to a second driver of the second virtualization software of the second host, or (2) updating the database to set the first host to be the virtual disk coordinator host of the virtual disk object; and executing the I/O operation by the virtual disk coordinator host by communicating with hosts that are the coordinators for the virtual component objects of the virtual disk object. 2. The method of claim 1 , wherein the first host implements a hypervisor, and the hypervisor comprises the first driver. 3. The method of claim 1 , wherein the performing comprises transmitting, by the first driver, the I/O operation to the second driver of the virtual disk coordinator host. 4. The method of claim 1 , wherein the performing comprises updating the database to set the first host to be the virtual disk coordinator host of the virtual disk object. 5. The method of claim 1 , wherein the executing of the I/O operation by communicating with hosts that are the coordinators for the virtual component objects of the virtual disk object comprises: identifying, by the virtual disk coordinator host, virtual component objects of the virtual disk that are subject to the I/O operation, wherein a virtual component object encompasses a data partition of the virtual disk; determining a component object coordinator host for each of the virtual component objects, wherein the component object coordinator host controls access to an associated virtual component object; transmitting, by the virtual disk coordinator host, the I/O operation to each of the component object coordinator hosts; and performing, by each of the component object coordinator hosts, the I/O operation in a local storage resource backing the virtual component object. 6. The method of claim 5 , wherein each host computer in the cluster contributes at least a portion of a corresponding local storage disk to form a pool of shared resources accessible as the virtual disk. 7. The method of claim 6 , wherein at least one section of the virtual disk is backed by a local storage disk housed in the first host, and at least one other section of the virtual disk is backed by a different local storage disk housed in a different host computer belonging to the cluster. 8. The method of claim 7 , wherein the virtual disk is organized as a RAID 0 stripe set, and wherein (1) the section of the virtual disk backed by the local storage disk housed in the first host, and (2) the at least one other section of the virtual disk backed by the different local storage disk represent different stripes in the stripe set. 9. A non-transitory computer readable medium comprising instructions to be executed in a processor of a computer system, and the instructions when executed in the processor cause the computer system to carry out a method of handling a storage input/output (I/O) operation originating from a virtual machine (VM) and destined for a virtual disk, the VM running on virtualization software of a first host that is part of a cluster of host computers that includes the first host and a second host, each host having its own local physical storage resources, the virtualization software of the first host containing a first driver, said method comprising: receiving, by the first driver, the I/O operation; retrieving from the I/O operation an identifier for a virtual disk object representing the virtual disk, the virtual disk object being composed of virtual component objects, the virtual component objects being mappable to any available local physical storage resources throughout the cluster of host computers; determining, using the identifier, that a second host is a virtual disk coordinator host of the virtual disk object by accessing a database of the first host, wherein the virtual disk coordinator host controls access to the virtual disk object; performing one of: (1) transmitting, by the first driver, the I/O operation to a second driver of the second virtualization software of the second host virtual disk coordinator host, or (2) updating the database to set the first host to be the virtual disk coordinator host of the virtual disk object; and executing the I/O operation by the virtual disk coordinator host by communicating with hosts that are the coordinators for the virtual component objects of the virtual disk object. 10. The non-transitory computer readable medium of claim 9 , wherein the first host implements a hypervisor, and the hypervisor comprises the first driver. 11. The non-transitory computer readable medium of claim 9 , wherein the performing comprises transmitting, by the first driver, the I/O operation to the second driver of the virtual disk coordinator host. 12. The non-transitory computer readable medium of claim 9 , wherein the performing comprises updating the database to set the first host to be the virtual disk coordinator host of the virtual disk object. 13. The non-transitory computer readable medium of claim 9 , wherein the executing of the I/O operation by communicating with hosts that are the coordinators for the virtual component objects of the virtual disk object comprises: identifying, by the virtual disk coordinator host, virtual component objects of the virtual disk that are subject to the I/O operation, wherein a virtual component object encompasses a data partition of the virtual disk; determining a component object coordinator host for each of the virtual component objects, wherein the component object coordinator host controls access to an associated virtual component object; transmitting, by the virtual disk coordinator host, the I/O operation to each of the component object coordinator hosts; and performing, by each of the component object coordinator hosts, the I/O operation in a local storage resource backing the virtual component object. 14. The non-transitory computer readable medium of claim 13 , wherein each host computer in the cluster contributes at least a portion of a corresponding local storage disk to form a pool of shared resources accessible as the virtual disk. 15. The non-transitory computer readable medium of claim 14 , wherein at least one section of the virtual disk is backed by a local storage disk housed in the first host, and at least one other section of the virtual disk is backed by a different local storage disk housed in a different host computer belonging to the cluster. 16. The non-transitory computer readable medium of claim 15 , wherein the virtu

Assignees

Inventors

Classifications

  • Hypervisor-specific management and integration aspects · CPC title

  • based on usage prediction · CPC title

  • Monitoring storage devices or systems · CPC title

  • by facilitating the interaction with a user or administrator · CPC title

  • Configuring for operating with peripheral devices; Loading of device drivers · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10855602B2 cover?
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 tra…
Who is the assignee on this patent?
Vmware Inc
What technology area does this patent fall under?
Primary CPC classification G06F9/45558. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Dec 01 2020 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).