Timer Affinity in Session-Based Server Deployments

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current telecommunications infrastructure faces challenges in processing time-sensitive telephony protocols efficiently, leading to high latency and performance issues, especially in distributed and scalable deployments using Voice Over Internet Protocol (VoIP) networks.

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 timer affinity is established between timers and the engine node that processed the last message for a session, reducing the need for network bandwidth and improving performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If timers are distributed across multiple engine nodes in a cluster, then load balancing is improved, but timer firing accuracy deteriorates due to the need to poll all nodes

Engineering Contradiction:
Improveload balancingVSAvoidtimer firing accuracy
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent introduces a load manager as an intermediary component that coordinates timer distribution and polling across engine nodes. The load manager receives timer creation requests, distributes timers to appropriate engine nodes, and manages the polling process to ensure accurate timer firing while maintaining load balance across the cluster.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system performs preliminary actions by pre-distributing timers to engine nodes before they need to fire. The load manager proactively manages timer placement and polling schedules, ensuring that timers are already positioned on the correct engine nodes and that polling occurs at optimally timed intervals to maintain both load balance and timing accuracy.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If timers are processed by polling all engine nodes, then timer firing reliability is improved, but network bandwidth consumption increases

Engineering Contradiction:
Improvetimer firing reliabilityVSAvoidnetwork bandwidth consumption
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

Instead of polling all engine nodes continuously, the system applies partial action by polling only the necessary subset of nodes at appropriate intervals. The load manager determines which engine nodes have timers that need checking and polls only those nodes, reducing unnecessary network traffic while maintaining timer firing reliability.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The system implements periodic polling of engine nodes rather than continuous polling. The load manager schedules polling at specific time intervals that are sufficient to ensure timer firing reliability but spaced out enough to minimize network bandwidth consumption. This periodic approach balances reliability requirements with resource efficiency.

Inventive Principle:
Principle #19Periodic action

3Stability of the object's composition

If state information is stored centrally, then data consistency is improved, but access latency increases for distributed engines

Engineering Contradiction:
Improvedata consistencyVSAvoidaccess latency
Core Design Contradiction:
Stability of the object's compositionVSLoss of time

Solution Approach 1:

The patent segments state information management by allowing each engine node to maintain local copies of state data relevant to its assigned timers and sessions. The load manager coordinates these distributed state copies to ensure consistency across the cluster, enabling engines to access local state information quickly while maintaining overall data consistency through centralized coordination.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system applies local quality by enabling each engine node to store and access state information locally rather than requiring all engines to access a central repository. This local caching of state data significantly reduces access latency for distributed engines while the load manager ensures that state consistency is maintained across the cluster through coordinated updates and validations.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS8179912B2System and method for providing timer affinity through engine polling within a session-based server deployment
Publication Date: 2012.05.15 ORACLE INT CORP
  • US8179912B2 patent drawing
  • US8179912B2 patent drawing
  • US8179912B2 patent drawing

AI summary

The session-based server deployment is 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 includes a plurality of engine nodes that process incoming messages. The state nodes contain call state, including various timers. When processing a call, an engine sets various timers in the state tier. The engine then periodically polls the state tier for any timers that have expired. Upon expiration of a timer, the timer is assigned to the corresponding engine node which handled previous communications for the call. This affinity between the timer and its respective engine provides numerous benefits, including reduced latency and more localized data access.