Patent ID: 9720712
Date: 2017-08-01
CPC Classifications: G06F

Claim:
1. A method, comprising: identifying, by a processor executing a hypervisor running on a source computer system, an assigned device assigned to a guest operating system of a virtual machine running on the source computer system; detecting that the virtual machine does not include an emulated device; instructing the virtual machine to add the emulated device; notifying the guest operating system that the emulated device is available as a failover for the assigned device; transmitting, by the processor executing the hypervisor to the guest operating system, a request indicating a failover event, the failover event involving a switch from the assigned device to the emulated device, wherein the assigned device and the emulated device share a backend physical device; receiving an access request for the emulated device before the switch from the assigned device to the emulated device is completed; holding, by the processor executing the hypervisor, the access request until the switch from the assigned device to the emulated device is completed; receiving, by the processor executing the hypervisor, an acknowledgement message from the guest operating system that the guest operating system is ready to initiate a failover and switch from the assigned device to the emulated device; preventing access to the assigned device by the guest operating system; transmitting the access request held by the processor executing the hypervisor to the emulated device in response to determining that the switch is completed and that the guest operating system is ready to use the emulated device; associating a device driver of the hypervisor with the backend physical device associated with the emulated device; and providing, by the processor executing the hypervisor, a notification to the guest operating system that the emulated device is available for use.