Peer-Agnostic TCP Socket Replication for Non-Stop Routing Failover
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Large computer networks face significant downtime and routing flaps due to the time required for a secondary routing engine to take over after a primary engine failure, leading to network connectivity issues and increased packet loss during the switchover process.
Innovation Solution
Implementing peer-agnostic socket replication from a primary routing engine to a secondary routing engine by replicating routing communication sessions, including TCP sockets, to maintain continuous network functionality without the need for reestablishing connections, ensuring seamless switchover and minimizing downtime.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a secondary routing engine is configured as backup to take over after primary engine failure, then network reliability is improved, but switchover time increases causing network downtime
Solution Approach 1:
The patent applies preliminary action by pre-establishing TCP socket connections on the secondary routing engine before failover occurs. The secondary engine proactively creates and maintains socket connections to peer routers, pre-loading routing information and establishing communication channels in advance. This eliminates the need to reestablish connections after failure, reducing switchover time while maintaining network reliability
Solution Approach 2:
The patent uses copying by replicating the primary routing engine's socket connections and routing state to the secondary routing engine. The secondary engine maintains copies of TCP socket states, routing tables, and connection information, allowing it to immediately assume the primary's role without reestablishing connections, thus resolving the contradiction between reliability and switchover time
2Reliability
If the secondary routing engine reestablishes routing communication sessions after primary failure, then routing information is updated, but network connectivity is interrupted causing routing flaps
Solution Approach 1:
The secondary routing engine maintains copies of all TCP socket connections and routing communication sessions that the primary engine has with peer routers. These copied connections remain active and synchronized, allowing the secondary to immediately continue routing communications without tearing down and reestablishing sessions, thereby eliminating routing flaps while keeping routing information current
Solution Approach 2:
The patent ensures continuity of useful action by maintaining active TCP socket connections on the secondary routing engine throughout the primary's operation. These connections continuously receive and process routing information from peer routers, ensuring that when failover occurs, the secondary can immediately continue the useful action of routing without interruption or reestablishment, preventing routing flaps
3Reliability
If TCP socket connections are maintained during switchover, then network connectivity is preserved, but system complexity increases
Solution Approach 1:
The patent uses copying to maintain TCP socket connections on both primary and secondary routing engines simultaneously. The secondary engine creates and maintains copies of the primary's socket connections, including connection states and buffers. This duplication enables seamless failover while preserving network connectivity, with the added complexity managed through systematic replication of connection states rather than complex coordination protocols
Data Source
AI summary
This application describes techniques for peer-agnostic socket replication to implement graceful failover. An exemplary method to enable non-stop routing includes receiving a packet with a first routing engine of a network device having the first routing engine and a second routing engine configured as a backup routing engine, replicating, before processing the packet at a transport layer, the packet to form a replicated packet, sending the replicated packet from the first routing engine to the second routing engine, receiving, at the first routing engine, an acknowledgement from the second routing engine acknowledging reception of the replicated packet, after receiving the acknowledgment, processing the packet at the transport layer of the first routing engine to extract application-layer data and assemble a routing message, and storing the application-layer data from the processed packet in a socket associated with a routing process of the first routing engine.


