Time-preserved transmissions in asynchronous virtual machine replication
AssigneeAlcatel Lucent
InventorsThanos Stathopoulos, Pramod Koppol, Kedar Namjoshi, Gordon Wilfong
Life of this patent
Estimating the term…
Abstract
The method includes determining a timestamp corresponding to a received data packet associated with the virtual machine and releasing the data packet from a buffer based on the timestamp and a time another data packet is released from the buffer.
Claims12
A method for time-preserving transmission of data packets associated with replicating a first virtual machine to maintain second virtual machines, the data packets including at least a first data packet and a second data packet, the method comprising:
- receiving, by a network element, the first data packet from the first virtual machine, the first data packet not having an associated timestamp upon receipt;
- receiving, by the network element, the second data packet from the first virtual machine, the second data packet not having an associated timestamp upon receipt;
- and
- delaying, by the network element, a forwarding of the first data packet and the second data packet to the second virtual machines by,
- determining, by the network element, timestamps for respective ones of the first data packet and the second data packet that indicate when the respective ones of the first data packet and the second data packet were received by the network element;
- first releasing, by the network element the first data packet from a buffer to the second virtual machines;
- and
- second releasing, by the network element, the second data packet from the buffer to the second virtual machines after the first releasing based on the timestamps such that a time difference between the first releasing and the second releasing is greater than or equal to a time difference between the timestamps.
A control module associated with a host of a first virtual machine, the control module configured to delay forwarding of data packets from the first virtual machine to second virtual machines that replicate the first virtual machine, the data packets including at least a first data packet and a second data packet, the control module comprising:
- a virtual machine interface configured to,
- receive the first data packet from the first virtual machine, the first data packet not having an associated timestamp upon receipt, and
- receive the second data packet from the first virtual machine, the second data packet not having an associated timestamp upon receipt;
- a memory configured to buffer the first data packet and the second data packet;
- a first module configured to determine timestamps for respective ones of the first data packet and the second data packet that indicate when the respective ones of the first data packet and the second data packet were received by the control module;
- and
- a second module configured to,
- first release the first data packet from the memory to the second virtual machines, and
- second release the second data packet from the memory to the second virtual machines after the first releasing based on the timestamps such that a difference in time between the first releasing and the second releasing is greater than or equal to a difference in time between the timestamps.
A network switch configured to delay forwarding of data packets from a first virtual machine to second virtual machines that replicate the first virtual machine, the data packets including at least a first data packet and a second data packet, the network switch comprising:
- a control module interface configured to,
- receive the first data packet from the first virtual machine, the first data packet not having an associated timestamp upon receipt, and
- receive the second data packet from the first virtual machine, the second data packet not having an associated timestamp upon receipt;
- a memory configured to buffer the first data packet and the second data packet;
- a first module configured to determine timestamps for respective ones of the first data packet and the second data packet that indicate when the respective ones of the first data packet and the second data packet were received by the control module;
- and
- a second module configured to,
- first release the first data packet from the memory to the second virtual machines, and
- second release the second data packet from the memory to the second virtual machines after the first releasing based on the timestamps such that a difference in time between the first releasing and the second releasing is greater than or equal to a difference in time between the timestamps.
Dependencies are inferred from the claim text.