Patent ID: 7996484

Claim:
A method for non-disruptive and reliable transfer of a virtual machine (VM) from a source machine to a target machine while the VM is continuously powered up, wherein the source machine places network data directly into memory resources shared between a network interface card (NIC) of the source machine and the VM, comprising: receiving, by a source hardware NIC driver, an indication to delete a source virtual machine queue (VMQ) associated with the VM, the VMQ comprising a receive descriptor of the NIC; stopping, by the source hardware NIC driver, a source hardware NIC from placing directly into the memory of a source NIC buffer associated with the VMQ any more network communications received across a communications network; notifying, by the source hardware NIC driver, a source virtual service provider (VSP) that no further communications are being direct memory accessed (DMAed); sending, by the source VSP, to the source hardware NIC driver an indication that the source hardware NIC driver has ownership of any network communications in the source VMQ; and storing, by the source VSP, any shared memory resources freed by the NIC to the VM; transferring the VM to the target machine; processing, by the VM on the target machine, unprocessed network packets that were in the shared memory resources on the source machine; and preventing the VM from freeing resources corresponding to the unprocessed network packets that were in the shared memory resources on the source machine on the target machine.