Virtual machine management among networked servers

US9342373B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9342373-B2
Application numberUS-78365810-A
CountryUS
Kind codeB2
Filing dateMay 20, 2010
Priority dateMay 20, 2010
Publication dateMay 17, 2016
Grant dateMay 17, 2016

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.

Virtual machine management among networked servers coupled for data communications with a data communications network that includes a network device and a Virtual Machine Management Module (‘VMMM’), where VM management includes: monitoring, by the network device, network traffic of applications executing in virtual machines of the servers; determining, in dependence upon the monitored network traffic, whether a particular application's network traffic exceeds a predetermined threshold, the particular application executing in a particular virtual machine of a particular server; if the particular application's network traffic exceeds the predetermined threshold, allocating, by the VMMM, an additional virtual machine in a different server; and instantiating, by the VMMM, in the additional virtual machine at least one application.

First claim

Opening claim text (preview).

What is claimed is: 1. An apparatus for virtual machine management among networked servers, the servers coupled for data communications with a data communications network that includes a network switch and a Virtual Machine Management Module (‘VMMM’), the apparatus comprising a computer processor, a computer memory operatively coupled to the computer processor, the computer memory having disposed within it computer program instructions capable of: monitoring, by the network switch, network traffic of a first user-level application including monitoring bandwidth used by the first user-level application, wherein the first user-level application is one of a plurality of user-level applications executing in virtual machines of the servers, wherein the network switch is separate from the servers and coupled to the servers via the data communications network, and wherein the network traffic is monitored by the network switch at an application layer; determining, by the network switch, in dependence upon the monitored network traffic, whether the first user-level application's network traffic exceeds a predetermined threshold, the first user-level application executing in a particular virtual machine of a particular server, wherein the first user-level application exceeding the predetermined threshold indicates that a second user-level application on the particular server has insufficient bandwidth; if the first user-level application's network traffic exceeds the predetermined threshold, allocating, by the VMMM, an additional virtual machine in a different server including allocating the additional virtual machine only after receiving, by the VMMM via the data communications network, a notification from the network switch that the first user-level application's network traffic exceeds the predetermined threshold; and instantiating, by the VMMM, in the additional virtual machine at least one user-level application, wherein instantiating at least one user-level application comprises: moving the first user-level application from the particular virtual machine of the particular server to the additional virtual machine of the different server; and providing the second user-level application with sufficient bandwidth in response to moving the first user-level application. 2. The apparatus of claim 1 wherein, instantiating at least one user-level application further comprises executing a second instance of the first user-level application in the additional virtual machine of the different server without halting execution of a first instance of the first user-level application executing on the particular server. 3. The apparatus of claim 1 wherein, instantiating at least one user-level application further comprises moving another user-level application executing on a virtual machine of the particular server to the additional virtual machine of the different server. 4. The apparatus of claim 1 wherein, instantiating at least one user-level application further comprises executing a second instance of another user-level application executing on a virtual machine of the particular server in the additional virtual machine of the different server without halting execution of a first instance of the another user-level application on the particular server. 5. The apparatus of claim 1 wherein determining whether a first user-level application's network traffic exceeds a predetermined threshold further comprises: querying the network switch by the VMMM for information describing the monitored network traffic; and determining, by the VMMM in dependence upon the retrieved information, whether the first user-level application's network traffic exceeds a predetermined threshold. 6. A computer program product for virtual machine management among networked servers, the servers coupled for data communications with a data communications network that includes a network switch and a Virtual Machine Management Module (‘VMMM’), the computer program product disposed upon a computer readable storage medium, wherein the medium is not a signal, the computer program product comprising computer program instructions capable, when executed, of causing a computer to carry out the steps of: monitoring, by the network switch, network traffic of a first user-level application including monitoring bandwidth used by the first user-level application, wherein the first user-level application is one of a plurality of user-level applications executing in virtual machines of the servers, wherein the network switch is separate from the servers and coupled to the servers via the data communications network, and wherein the network traffic is monitored by the network switch at an application layer; determining, by the network switch, in dependence upon the monitored network traffic, whether the first user-level application's network traffic exceeds a predetermined threshold, the first user-level application executing in a particular virtual machine of a particular server, wherein the first user-level application exceeding the predetermined threshold indicates that a second user-level application on the particular server has insufficient bandwidth; if the first user-level application's network traffic exceeds the predetermined threshold, allocating, by the VMMM, an additional virtual machine in a different server including allocating the additional virtual machine only after receiving, by the VMMM via the data communications network, a notification from the network switch that the first user-level application's network traffic exceeds the predetermined threshold; and instantiating, by the VMMM, in the additional virtual machine at least one user-level application, instantiating, by the VMMM, in the additional virtual machine at least one user-level application, wherein instantiating at least one user-level application comprises: moving the first user-level application from the particular virtual machine of the particular server to the additional virtual machine of the different server; and providing the second user-level application with sufficient bandwidth in response to moving the first user-level application. 7. The computer program product of claim 6 wherein, instantiating at least one user-level application further comprises executing a second instance of the first user-level application in the additional virtual machine of the different server without halting execution of a first instance of the first user-level application executing on the particular server. 8. The computer program product of claim 6 wherein, instantiating at least one user-level application further comprises moving another user-level application executing on a virtual machine of the particular server to the additional virtual machine of the different server. 9. The computer program product of claim 6 wherein, instantiating at least one user-level application further comprises executing a second instance of another user-level application executing on a virtual machine of the particular server in the additional virtual machine of the different server without halting execution of a first instance of the another user-level application on the particular server. 10. The computer program product of claim 6 wherein determining whether a first user-level application's network traffic exceeds a predetermined threshold further comprises: querying the network switch by the VMMM for information describing the monitored network traffic; and determining, by the VMMM in dependence upon the retrieved information, whether the first user-level application's network traffic exceeds a predetermined threshold. 11. An apparatus for virtual machine management among networked servers, the ser

Assignees

Inventors

Classifications

  • Logical partitioning of resources; Management or configuration of virtualized resources (specific details on emulation or internal functioning of virtual machines G06F9/455) · CPC title

  • G06F9/5088Primary

    involving task migration · CPC title

  • based on parameters of servers, e.g. available memory or workload (monitoring of computer activity G06F11/30) · CPC title

  • involving the movement of software or configuration parameters  (network booting or remote initial program loading [RIPL] G06F9/4416) · 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 US9342373B2 cover?
Virtual machine management among networked servers coupled for data communications with a data communications network that includes a network device and a Virtual Machine Management Module (‘VMMM’), where VM management includes: monitoring, by the network device, network traffic of applications executing in virtual machines of the servers; determining, in dependence upon the monitored network t…
Who is the assignee on this patent?
Hansson Nils P, Smith Bruce A, Suffern Edward S, and 2 more
What technology area does this patent fall under?
Primary CPC classification G06F9/5088. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue May 17 2016 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 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).