Patent ID: 8533713
Filing Date: 2013-09-10
Classification: G06F

Abstract:
1. A computing platform supporting virtualization, comprising: a plurality of virtual machines, wherein the plurality of virtual machines include a source virtual machine and a target virtual machine, wherein the source virtual machine includes a first virtual function driver; a hardware logic coupled to the plurality of virtual machines, wherein the hardware logic includes one or more devices, wherein the one or more devices include a physical function and one or more virtual functions, wherein the one or more virtual functions include visible states and invisible states, wherein the visible states and the invisible states are representative of device states of the one or more virtual functions, wherein a first virtual function is associated with the source virtual machine; a self-emulation layer coupled to the first virtual function driver, wherein the self-emulation layer is configured to associate the first virtual function with the first virtual function driver, and wherein the self-emulation layer is configured to create a shadow state to emulate the invisible states of the first virtual function, for migration of the first virtual function to the target virtual machine; and wherein the self-emulation layer is configured to, after migration of the first virtual function to the target virtual machine, determine whether there exists at least one difference between the invisible states and the shadow state; and, if there is at least one difference, to synchronize the shadow state with the invisible states so that the at least one difference between the invisible states in the virtual function and the shadow state converge to have the same content.