Network Replication Device for Virtualized Failover Packet Loss
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing high availability (HA) software environments using virtual machine (VM) replication suffer from packet loss at the standby server during failover, leading to outdated state information and performance penalties due to delayed packet transmission.
Innovation Solution
A Network Replication Device (NRD) continuously monitors and forks inbound data packets to a standby server, enabling real-time delivery and buffering to minimize packet loss, ensuring zero downtime and reduced performance degradation during failover by using 'bump-in-the-wire' devices for simultaneous replication.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If packet buffering is implemented at the standby server during failover, then packet loss is reduced, but performance degradation increases due to delayed packet transmission
Solution Approach 1:
The patent applies preliminary action by buffering packets at the standby server before failover occurs, so that packets are ready for immediate transmission when the primary server fails. This eliminates packet loss during the failover interval without requiring performance sacrifice, as the packets are pre-positioned in the standby buffer.
Solution Approach 2:
The patent introduces an intermediary mechanism where the standby server acts as a buffer mediator between the primary server and the network. The standby server receives and buffers packets during failover, then releases them to the network when appropriate, mediating the transition without causing performance degradation.
2Device complexity
If discrete time interval synchronization is used for backup images, then system complexity is reduced, but state information becomes outdated during failover
Solution Approach 1:
The patent applies continuity of useful action by maintaining continuous packet replication from the primary server to the standby server, rather than discrete interval synchronization. This ensures the standby server always has the most current state information ready for failover, eliminating outdated state information without significantly increasing complexity.
Solution Approach 2:
The standby server performs preliminary buffering of packets continuously, so that when failover is needed, the most recent state information is already available. This preliminary accumulation of data ensures state freshness without requiring complex real-time synchronization mechanisms.
3Reliability
If link bouncing is used to prevent packet loss, then packet loss is reduced, but performance penalty increases due to delayed packet transmission
Solution Approach 1:
The patent applies preliminary action by buffering packets at the standby server before failover, so packets are ready for immediate transmission. This eliminates the need for link bouncing and its associated performance penalties, as packets are pre-positioned rather than delayed until the next checkpoint.
Solution Approach 2:
The patent uses copying by creating a buffer copy of packets at the standby server. Instead of relying on link bouncing to prevent loss, the standby server creates a copy of incoming packets and stores them, allowing immediate continuation without the performance delay inherent in link bouncing approaches.
Data Source
AI summary
Packet loss at a standby server during failover results when the primary fails. There is currently always some amount of packet traffic that is inbound to the primary that is lost during the failover interval. With existing solutions, this packet loss during failover is inevitable. The problem is that when this information is lost, the standby has the state of the last commit, so the standby will have the state information that is old and representative of system state accurately only to the system state at the time of the last commit. One solution is a method in which all inbound data packets targeted to be delivered to a primary software application, such as a virtualized software application, running in a primary virtual machine, are continuously monitored and copied by a Network Replication Device for simultaneous delivery to a backup image of the software application running on a standby system.


