Patent ID: 9256464
Filing Date: 2016-02-09
CPC Classification: G06F,H04L

Claim Text:
1. A computer program product, comprising: a non-transitory computer readable storage medium having computer readable program code embodied therewith, the computer readable program code comprising: computer readable program code configured to replicate a first virtual machine (VM) found in a first cloud computing environment and put the replicated VM in a second cloud computing environment; wherein the first cloud computing environment comprises: a first hypervisor coupled to the first VM; a first flip engine included with the first hypervisor; and a first buffer included with the first hypervisor for buffering traffic of VMs within the first cloud computing environment destined for the first VM; wherein the second cloud computing environment comprises: a second hypervisor coupled to the replicated VM; a second flip engine included with the second hypervisor; and a second buffer included with the second hypervisor for buffering traffic of VMs within the second cloud computing environment destined for the replicated VM; computer readable program code configured to activate the first VM and pause the replicated VM; computer readable program code configured to first process, at the first VM, traffic from the VMs in the first cloud computing environment, wherein the first processing occurs when the first VM is activated and the replicated VM is paused; computer readable program code configured to first buffer, at the second buffer of the second hypervisor corresponding to the replicated VM, traffic destined for the replicated VM from VMs in the second cloud computing environment, wherein the first buffering occurs when the first VM is activated and the replicated VM is paused; computer readable program code configured to determine, with the first flip engine, state information for sending a state delta signal to the replicated VM for activation, wherein the state information represents a number of packets received at the first VM or a number of packets stored in the second buffer of the replicated VM; computer readable program code configured to automatically send the state delta signal from the first flip engine to the second flip engine, wherein the state delta signal includes virtual memory and central processing unit states that have been updated since the first VM became active; computer readable program code configured, in response to the state delta signal, to use memory pages modified by the first VM to overwrite state memory pages in the replicated VM before the replicated VM becomes active so that the replicated VM processes the buffered traffic in the second buffer at the last state of the first VM; computer readable program code configured to activate the replicated VM in response to overwriting state memory pages and pause the first VM; and computer readable program code configured to second process, at the replicated VM, the buffered traffic in the second buffer according to the state information of the first VM, wherein the second processing occurs when the replicated VM is activated and the first VM is paused.