SIP Microservices Architecture for Session Affinity and Timer Recovery
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Microservice systems face challenges in scaling and affinity management, particularly in emergency call handling, where state information is local to each node, leading to complexity and limited capacity, and failure detection mechanisms struggle to recover timer information across nodes.
Innovation Solution
A microservice system comprising a state cluster network, a synchronization cluster network, and an engine cluster network, where an electronic processor receives messages, retrieves session initiation protocol data objects, initializes state machines, manages timers, and transmits messages to maintain session affinity and recover timer information across nodes.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If state information is stored locally at each node, then node operation simplicity is improved, but scaling capability and affinity management deteriorate
Solution Approach 1:
The system segments state management into two parts: local node state (simple operations) and distributed cluster state (scaling capability). Each node maintains local state for immediate operations while the cluster collectively maintains affinity information and timer data across nodes, enabling both simplicity and scalability.
Solution Approach 2:
The patent introduces an intermediary mechanism (message passing system with affinity information) that mediates between local node operations and global cluster state. This intermediary enables nodes to operate independently while maintaining coordination through message passing, resolving the contradiction between local simplicity and global scalability.
2Productivity
If load balancing cluster network is used to handle more calls, then call handling capacity is improved, but timer information recovery capability deteriorates
Solution Approach 1:
The patent merges timer management with message processing by integrating timer data into the message passing mechanism. Timers are not isolated but are combined with call processing operations, allowing timer information to be recovered through the same load balancing and message routing mechanisms that handle calls.
Solution Approach 2:
The system implements feedback mechanisms where timer status is communicated back through message passing. When nodes fail or messages are lost, the feedback loop enables detection and recovery of timer information, maintaining reliability while scaling capacity through load balancing.
3Reliability
If multiple servers are used to ensure network availability, then system reliability is improved, but information loss during failure deteriorates
Solution Approach 1:
The patent applies preliminary action by pre-establishing message queues and affinity information routing before failures occur. When server failures happen, the system already has in place the message passing infrastructure and affinity data needed to redirect calls and recover information, preventing information loss.
Solution Approach 2:
The system implements prior cushioning by maintaining redundant message queues and affinity information across multiple nodes. This redundancy acts as a cushion that absorbs the impact of server failures, ensuring call information is preserved and can be recovered through the pre-configured message passing system.
Data Source
AI summary
Systems and methods for message processing. In one example, a system includes a state cluster network, a synchronization cluster network, and an engine cluster network. The engine cluster network includes an electronic processor configured to receive a first message corresponding to either a session initiation protocol message or a timeout message, retrieve, from the state cluster network, a session initiation protocol data object, initialize a state machine using the session initiation protocol data object and process the first message, transmit a timer request to the synchronization cluster network for managing a timer, transmit a second session initiation protocol message to a target entity based on the received first message, and transmit a second session initiation protocol message to the state cluster network.


