SCTP High Availability Server State Synchronization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current high availability (HA) systems based on Stream Control Transmission Protocol (SCTP) face challenges in seamlessly transitioning client services from an active server to a standby server during failures, particularly in maintaining synchronization of SCTP stack and application states without disrupting service.
Innovation Solution
The HA server system employs primary and secondary redundancy modules to form a control channel between active and standby servers, synchronously mirror SCTP stack and application states, and automatically switch client associations to the standby server upon active server failure, utilizing SCTP multi-homing for transparent migration.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If SCTP multi-homing is used to provide redundancy, then reliability is improved, but device complexity increases due to the need to manage multiple IP addresses and state synchronization between active and standby servers
Solution Approach 1:
The standby server creates a copy of the active server's SCTP stack state and application state through synchronous mirroring. This copy includes all connection information, buffer states, and processing context, enabling the standby server to seamlessly take over without disrupting ongoing communications.
Solution Approach 2:
The system performs preliminary state synchronization by continuously mirroring the active server's SCTP stack state and application state to the standby server before any failure occurs. This ensures the standby server is fully prepared and can immediately assume the active role when needed.
2Loss of time
If automatic failover is implemented, then response time is improved, but device complexity increases due to the need for monitoring and control channel management
Solution Approach 1:
The system implements feedback mechanisms where the standby server monitors the active server's health status and receives notifications about connection states. This feedback enables automatic detection of failures and triggers failover procedures without manual intervention.
Solution Approach 2:
A control channel is established as an intermediary communication path between the active and standby servers. This dedicated channel facilitates state synchronization, health monitoring, and coordination during failover, simplifying the management of the redundancy system.
3Reliability
If state synchronization is performed continuously, then reliability is improved, but use of energy increases due to the overhead of mirroring SCTP stack and application states
Solution Approach 1:
The system maintains continuous state synchronization by constantly mirroring the active server's SCTP stack state and application state to the standby server. This continuous action ensures the standby server remains fully synchronized and ready for immediate failover.
Solution Approach 2:
The system dynamically adjusts synchronization parameters based on operational conditions. During normal operation, state mirroring occurs at optimized intervals that balance reliability requirements with energy consumption, rather than performing continuous synchronous copying at maximum intensity.
Data Source
AI summary
A method and system for providing high availability services to SCTP applications is disclosed. In one embodiment, a high availability (HA) server system includes an active server and a standby server with a primary redundancy module and a secondary redundancy module, respectively, which are operable for performing a method including forming a control channel between the active server and the standby server, forwarding IP addresses of the active server and the standby server to a client device when an association between the client device and the active server is established, synchronously mirroring a state of a SCTP stack and a state of an application of the active server to the standby server using the control channel, and servicing the client device using the standby server based on the state of the SCTP stack and the state of the application if a failure of the active server is detected.


