Connection management

US9952889B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9952889-B2
Application numberUS-201514938726-A
CountryUS
Kind codeB2
Filing dateNov 11, 2015
Priority dateNov 11, 2015
Publication dateApr 24, 2018
Grant dateApr 24, 2018

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.

In one embodiment, a system for managing communication connections in a virtualization environment, comprises a plurality of host machines implementing a virtualization environment, wherein each of the host machines comprises a hypervisor, at least one user virtual machine (UVM), a connection agent, and an I/O controller; and a virtual disk comprising a plurality of storage devices, the virtual disk being accessible by all of the I/O controllers, wherein the I/O controllers conduct I/O transactions with the virtual disk based on I/O requests received from the UVMs, and wherein, for each of the host machines: each of the UVMs on the host machine sends its respective I/O requests to a selected one of the I/O controllers, and for each of the UVMs on the host machine, the connection agent on the host machine selected one of the I/O controllers for the UVM based on a list of the available I/O controllers.

First claim

Opening claim text (preview).

What is claimed is: 1. A system for managing communication connections in a virtualization environment, comprising: a plurality of host machines implementing a virtualization environment, wherein each of the plurality of host machines comprises a hypervisor, at least one user virtual machine (UVM), a connection agent, and an I/O controller; and a virtual disk comprising a plurality of storage devices, the virtual disk being accessible by the I/O controllers of each of the plurality of host machines to conduct I/O transactions with the virtual disk, wherein: the connection agent of each of the plurality of host machines is configured to maintain a list of all of the I/O controllers that are available from the plurality of host machines; and the connection agent is configured to select one of the I/O controllers on the list in response to receiving an I/O request from the at least one UVM and direct the I/O request to the selected one of the I/O controllers. 2. The system of claim 1 , wherein the connection agent of each of the plurality of host machines monitors and tracks a status of the I/O controllers and updates the list as availability of each of the I/O controllers changes. 3. The system of claim 2 , wherein the connection agent monitors the status of the I/O controllers by periodically sending an echo-request to each of the I/O controllers, and wherein the connection agent tracks the status of the I/O controllers based on whether each of the I/O controllers sends back an echo-response within a maximum threshold duration of time. 4. The system of claim 1 , wherein, in response to receiving an indication that the selected one of the I/O controllers is unavailable from the at least one UVM sending the I/O request to the selected one of the I/O controllers, the connection agent updates the list to indicate that the selected one of the I/O controllers is unavailable. 5. The system of claim 4 , wherein, prior to updating the list, the connection agent verifies unavailability of the selected one of the I/O controllers by pinging the selected one of the I/O controllers. 6. The system of claim 4 , wherein the connection agent selects a different one of the I/O controllers from the list and directs the I/O request to the different one of the I/O controllers. 7. The system of claim 1 , wherein the connection agent is configured to select a designated default I/O controller whenever the designated default I/O controller is indicated as available on the list. 8. The system of claim 7 , wherein the designated default I/O controller is the I/O controller running on a host machine on which the connection agent and the at least one UVM sending the I/O request are also running. 9. The system of claim 7 , wherein, if the selected one of the I/O controllers is not the designated default I/O controller, upon determining that the designated default I/O controller is available, the connection agent terminates any connections to the selected one of the I/O controllers and establishes a connection with the designated default I/O controller. 10. One or more computer-readable non-transitory storage media embodying software for managing communication connections in a virtualization environment, the media comprising instructions operable when executed to: provide a virtualization environment for a plurality of host machines, wherein each of the plurality of host machines comprises a hypervisor, at least one user virtual machine (UVM), a connection agent, and an I/O controller; provide a virtual disk comprising a plurality of storage devices, the virtual disk being accessible by the I/O controllers of each of the plurality of host machines to conduct I/O transactions with the virtual disk, maintain a list by the connection agent of all of the I/O controllers that are available from the plurality of host machines; and select one of the I/O controllers on the list in response to receiving an I/O request from the at least one UVM and direct the I/O request to the selected one of the I/O controllers. 11. The media of claim 10 , further comprising instructions operable when executed to: by the connection agent, monitor and track a status of the I/O controllers across all of the plurality of host machines and update the list as availability of each of the I/O controllers changes. 12. The media of claim 11 , wherein the connection agent monitors the status of the I/O controllers by periodically sending an echo-request to each of the I/O controllers, and wherein the connection agent tracks the status of the I/O controllers based on whether each of the I/O controllers sends back an echo-response within a maximum threshold duration of time. 13. The media of claim 10 , wherein, in response to receiving an indication that the selected one of the I/O controllers is unavailable from the at least one UVM sending the I/O request to the selected one of the I/O controllers, further comprising instructions operable when executed to: by the connection agent, update the list to indicate that the selected one of the I/O controllers is unavailable. 14. The media of claim 13 , further comprising instructions operable when executed to: by the connection agent, prior to updating the list, verify unavailability of the selected one of the I/O controllers by pinging the selected one of the I/O controllers. 15. The media of claim 13 , further comprising instructions operable when executed to: by the connection agent, select a different one of the I/O controllers from the list and direct the I/O request to the different one of the I/O controllers. 16. The media of claim 10 , wherein the connection agent is biased to selecting a designated default I/O controller whenever that designated default I/O controller is indicated as available on the list. 17. The media of claim 16 , wherein the designated default I/O controller is the I/O controller running on a host machine on which the connection agent and the at least one UVM sending the I/O request are also running. 18. The media of claim 16 , wherein, if the selected one of the I/O controllers is not the designated default I/O controller, further comprising instructions operable when executed to: by the connection agent, terminate any connections to the selected one of the I/O controllers and establish a connection with the designated default I/O controller. 19. A method comprising: compiling, by a connection agent, a list of all available I/O controllers from a plurality of host machines, wherein the connection agent resides on a host machine of the plurality of host machines implemented in a virtualization environment, and wherein each of the plurality of plurality of host machines comprises a hypervisor, at least one user virtual machine (UVM), the connection agent, and an I/O controller; receiving, by the connection agent, an I/O request from one of the at least one UVM that resides on the host machine with the connection agent; selecting, by the connection agent, a selected I/O controller from the list of available I/O controllers for directing the I/O request to the selected I/O controller; and updating, by the connection agent, the list of available I/O controllers as availability of each of the I/O controller on each of the plurality of host machines changes. 20. The method of claim 19 , further comprising selecting a designated default I/O controller as the selected I/O controller, wherein the designated default I/O controller is the I/O controller on the host machine on which the connection agent resid

Assignees

Inventors

Classifications

  • Memory management, e.g. access or allocation · CPC title

  • I/O management, e.g. providing access to device drivers or storage · CPC title

  • Network integration; Enabling network access in virtual machine instances · CPC title

  • with decentralised access control · CPC title

  • Hypervisor-specific management and integration aspects · 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 US9952889B2 cover?
In one embodiment, a system for managing communication connections in a virtualization environment, comprises a plurality of host machines implementing a virtualization environment, wherein each of the host machines comprises a hypervisor, at least one user virtual machine (UVM), a connection agent, and an I/O controller; and a virtual disk comprising a plurality of storage devices, the virtual…
Who is the assignee on this patent?
Nutanix 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 Apr 24 2018 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 3 related publications on this page (citations in our corpus or others sharing the same primary CPC).