Patent ID: 8489699
Filing Date: 2013-07-16
Classification: G06F,H04L

Abstract:
1. In a system of computing machines that includes a source computing machine and a destination computing machine, wherein the source computing machine is configured to implement a source virtual machine (VM) and a virtualization intermediary, and wherein the source computing machine includes a physical storage adapter that is configured to implement a physical function (PF) and a virtual function (VF) to support IO operations between the source VM and physical storage accessible by the source VM, a method to migrate the source VM from the source machine to the destination machine comprising: inserting one or more requests into a request queue within a first memory region of the source computing machine that is associated with the source VM; providing within a memory region of the VF first state information that is indicative of locations of the requests inserted to the request queue; de-queuing one or more of the requests from one or more of the locations in the request queue indicated by the first state information to the VF; transmitting the one or more requests from the VF to the physical storage; receiving by the VF from the physical storage corresponding responses to the transmitted requests; suspending the de-queuing of requests from the request queue to the VF; while suspending the de-queuing of requests, determining when no more outstanding responses to previous requests remain to be received; in response to a determination that no more outstanding responses to previous requests remain to be received, transferring the first state information from the VF to the PF and from the PF to a second memory region associated with the virtualization intermediary within the source computing machine; after transferring the first state information to the second memory region, utilizing the virtualization intermediary to transmit the first state information from the second memory region within the source computing machine to the destination machine.