Patent ID: 8321862

Claim:
A method for migrating at least one of a plurality of virtual machines executing on a host, comprising: monitoring, by a monitoring agent operatively connected to a device driver, a plurality of potential target hosts in a network, wherein the device driver is executing on the host and is operatively connected to a network interface card and wherein the monitoring agent is executing on the host; determining, by the host, a virtual machine of the plurality of virtual machines to be migrated based on a virtual machine policy, wherein the virtual machine is operatively connected to the device driver; sending, by the host, a request to migrate the virtual machine to the plurality of target hosts in the network, wherein the request is sent to the plurality of potential target hosts using at least one selected from a group consisting of multicast messages and broadcast messages; receiving an acceptance to the request to migrate the virtual machine from at least two of the plurality of potential target hosts; determining, by the monitoring agent, a chosen target host to receive the virtual machine based on a migration policy, wherein the chosen target host is one of the at least two of the plurality of potential target hosts from which the acceptance was received; sending, by the host, a confirmation message to the chosen target host; sending, by the host, resource usage data for the virtual machine to the chosen target host, wherein the resource usage data for the virtual machine comprises at least one selected from a group consisting of a number of packets sent by the virtual machine over a period of time when the virtual machine was executing on the host and a number of packets received by the virtual machine over the period of time when the virtual machine was executing on the host wherein the chosen target host confirms readiness for migration upon receiving the resource usage data; and migrating the virtual machine to the chosen target host.