Non-stop Routing via Internal Session Mirroring and Adaptive Rate Limiting
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In large computer networks, the switchover from a primary routing component to a secondary component can result in significant downtime and network instability due to the time required for the secondary component to process and respond to routing protocol messages, leading to potential network connectivity issues and packet loss.
Innovation Solution
Implementing state replication of TCP sockets from the primary to the secondary routing engine, along with real-time feedback mechanisms to adjust routing communication rates based on the secondary engine's processing capacity, allowing for a graceful switchover and maintaining network connectivity without reestablishing sessions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If state replication is implemented from primary to secondary routing engine, then routing continuity is improved during switchover, but device complexity increases
Solution Approach 1:
The patent implements preliminary replication of routing state data from the primary routing engine to the secondary routing engine before a failure occurs. This allows the secondary engine to have ready-to-use routing information, enabling seamless switchover without waiting for state reconstruction after failure. The replication process continuously synchronizes routing tables, socket states, and other critical data in advance.
Solution Approach 2:
The patent creates a copy of the routing state data structure in the secondary routing engine that mirrors the primary engine's state. This includes copying routing information base (RIB), forwarding information base (FIB), TCP socket states, and other routing-related data structures. The copy mechanism ensures that the secondary engine has an identical or near-identical state to the primary, enabling uninterrupted routing operations during failover.
2Reliability
If the secondary routing engine processes all routing protocol messages, then routing state accuracy is improved, but processing time increases causing network instability
Solution Approach 1:
The patent implements a selective processing approach where the secondary routing engine processes only a subset of routing protocol messages or processes them at a reduced level of detail during normal operation. This partial processing reduces the time burden while maintaining sufficient routing state accuracy. The secondary engine focuses on processing critical messages that affect routing decisions while skipping or deferring less critical updates.
Solution Approach 2:
The secondary routing engine preliminarily processes routing messages in advance to build and maintain its routing state, rather than processing all messages in real-time during a switchover event. This preliminary processing distributes the computational burden over time, preventing processing bottlenecks and reducing the time required to achieve accurate routing state when needed.
3Reliability
If the secondary routing engine reestablishes routing sessions after failure, then routing protocol correctness is improved, but network downtime increases
Solution Approach 1:
The patent maintains preliminary routing sessions or session state information in the secondary routing engine before a failure occurs. This includes preserving TCP socket states, session identifiers, and connection information. When a failure occurs, the secondary engine can immediately resume these pre-established sessions without going through the complete session establishment process, dramatically reducing downtime while maintaining protocol correctness.
Solution Approach 2:
The patent copies the routing session state data from the primary routing engine to the secondary engine, including TCP connection states, session parameters, and peer router information. This copied session state allows the secondary engine to reconstruct active routing sessions instantly upon failover, avoiding the time-consuming process of re-establishing sessions from scratch and ensuring protocol correctness is maintained.
4Speed
If routing updates are sent at full rate during switchover, then routing convergence speed is improved, but packet loss increases due to buffer overflow
Solution Approach 1:
The patent implements dynamic adjustment of the routing update transmission rate based on the processing capacity and buffer status of the secondary routing engine. During switchover, the update rate is initially reduced to prevent buffer overflow, then gradually increased as the secondary engine catches up on processing. This dynamic rate adjustment maintains routing convergence while preventing packet loss through buffer overflow.
Solution Approach 2:
The system implements feedback mechanisms that monitor the secondary routing engine's buffer occupancy and processing status, then adjust the routing update transmission rate accordingly. When buffers approach capacity, the transmission rate is automatically reduced; when buffers have available capacity, the rate is increased. This feedback-controlled approach balances convergence speed with packet loss prevention.
Data Source
AI summary
This application describes techniques for replicating data at a primary routing engine of a network device before processing the data at a transport layer of the primary routing engine, wherein the data is to be sent to a routing peer via a routing communication session, and sending the replicated data to a secondary routing engine of the network device to be processed at a transport layer of the secondary routing engine. The secondary routing engine, in response to detecting that a socket buffer for buffering the replicated data has reached a predefined high occupancy threshold, outputs a notification to the primary routing engine. In response to receiving the notification, an application-layer routing process of the primary routing engine refrains from sending at least some of a plurality of routing updates to the routing peer, and continues to send keepalive messages for the routing communication session to the routing peer.


