Timer Affinity in Session-Based Server Deployment
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current telecommunications infrastructure faces challenges in optimizing the processing of time-sensitive telephony protocols, leading to high latency and performance issues, especially in distributed and scalable VoIP deployments, due to the rigidity of existing IT and network infrastructures.
Innovation Solution
Implementing a SIP server with a two-tier architecture, where the engine tier processes communications with minimal latency and maintains a near-cache for state information, and the state tier handles state management, while providing timer affinity to ensure that timers are processed on the engine node that last handled a session, reducing the need for network bandwidth and improving performance.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If traditional circuit-switched PSTN infrastructure is used, then telephony services are provided with established reliability, but the system is rigid and cannot support next-generation converged voice, data and video services
Solution Approach 1:
The system segments telephony functionality into specialized application servers that can be independently deployed and managed. These servers handle specific telephony protocols and functions, allowing the infrastructure to be composed of modular, adaptable components rather than a monolithic rigid system.
Solution Approach 2:
The system transitions from static circuit-switched infrastructure to dynamic packet-switched networks with session-based servers that can dynamically allocate resources, manage sessions, and adapt to varying service requirements for voice, data, and video convergence.
2Adaptability or versatility
If session-based servers are deployed to enable flexible telephony services, then adaptability improves, but latency increases due to network bandwidth constraints and distributed architecture
Solution Approach 1:
The system pre-allocates and pre-configures session state information in distributed servers before telephony sessions are established. Timer affinity mechanisms pre-associate timer operations with specific engine nodes, so when sessions are initiated, the infrastructure is already prepared to process time-sensitive protocols without additional network bandwidth constraints or delays.
3Productivity
If distributed cluster network deployment is used, then scalability and service availability improve, but performance decreases due to network bandwidth requirements and complexity of managing state information across nodes
Solution Approach 1:
The system introduces a specialized state management layer that acts as an intermediary between distributed engine nodes and storage resources. This state tier manages timer affinity by maintaining associations between timers and engine nodes, handling state information distribution and retrieval, thereby reducing the complexity burden on individual nodes while preserving scalability and availability.
4Productivity
If timers are distributed across multiple engine nodes, then load balancing improves, but performance deteriorates because state information must be retrieved from network storage for each timer event
Solution Approach 1:
The system pre-associates timers with specific engine nodes using timer affinity mechanisms before timer events occur. When timers are distributed across engine nodes, each node maintains local state information for its affiliated timers, eliminating the need for real-time network storage retrieval and reducing latency while preserving load balancing benefits.
Solution Approach 2:
The system implements local state information caching at each engine node for timers with affinity to that node. This creates local quality in the distributed system where each node has immediate access to its own timer state without requiring network bandwidth, while the overall system maintains distributed load balancing across multiple nodes.
Data Source
AI summary
The session-based server deployment can be comprised of an engine tier that is designed for high throughput processing of communications and a state tier that maintains state information for access by the engine tier. The engine tier can include a plurality of engine nodes that process incoming messages. The state nodes can contain call state, including various timers. When processing a call, an engine can set various timers in the state tier. Upon expiration of a timer, the state node can transmit a notification assigning the timer to the corresponding engine node which handled previous communications for the call. This affinity between the timer and its respective engine can provide numerous benefits, such as reduced latency and more localized data access.


