System and method for providing timer affinity through notifications within a session-based server deployment
First Claim
1. A telecommunication system that provides timer affinity through notifications, said telecommunication system comprising:
- an engine tier comprising a plurality of computing devices and a plurality of engine nodes executing on said plurality of computer devices that process a plurality of communications associated with a plurality of sessions;
a state tier comprising a plurality of state nodes that store a plurality of session states associated with said plurality of sessions;
a plurality of timer objects associated with the plurality of sessions, wherein the plurality of timer objects are initiated by the plurality of engine nodes upon having processed said plurality of communications, and stored on said state tier; and
a notification thread deployed and running on each state node of said plurality of state nodes, whereinthe notification thread periodically looks for expired timer objects from among said plurality of timer objects stored on the state node,the notification thread upon detecting an expired timer object transmits a notification, independent of engine tier polling, to a particular engine node of said plurality of engine nodes that is determined to have initiated the expired timer object; and
the notification thread thereby creates affinity between the expired timer object and the particular engine node.
1 Assignment
0 Petitions
Accused Products
Abstract
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.
-
Citations
20 Claims
-
1. A telecommunication system that provides timer affinity through notifications, said telecommunication system comprising:
-
an engine tier comprising a plurality of computing devices and a plurality of engine nodes executing on said plurality of computer devices that process a plurality of communications associated with a plurality of sessions; a state tier comprising a plurality of state nodes that store a plurality of session states associated with said plurality of sessions; a plurality of timer objects associated with the plurality of sessions, wherein the plurality of timer objects are initiated by the plurality of engine nodes upon having processed said plurality of communications, and stored on said state tier; and a notification thread deployed and running on each state node of said plurality of state nodes, wherein the notification thread periodically looks for expired timer objects from among said plurality of timer objects stored on the state node, the notification thread upon detecting an expired timer object transmits a notification, independent of engine tier polling, to a particular engine node of said plurality of engine nodes that is determined to have initiated the expired timer object; and the notification thread thereby creates affinity between the expired timer object and the particular engine node. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method for providing timer affinity within a session-based server deployment operating on an engine tier comprising a plurality of engine nodes executing on a plurality of computing devices and a state tier comprising a plurality of state nodes, said method comprising:
-
processing a plurality of communications associated with a plurality of sessions using the plurality of engine nodes; storing a plurality of session states associated with the plurality of sessions on the state tier; initiating a plurality of timer objects associated with the plurality of sessions, wherein said plurality of timer objects is initiated by the plurality of engine nodes upon having processed said plurality of communications, wherein the plurality of timer objects are stored on said state tier; running a notification thread on each state node of said plurality of state nodes; periodically looking using the notification thread for expired timer objects from among said plurality of timer objects stored on said each state node; transmitting a notification from the notification thread to a particular engine node of said plurality of engine nodes, independently of state tier polling by the particular engine node, that is determined to have initiated an expired timer object upon detecting the expired timer object; and thereby using the notification thread to create affinity between the expired timer object and the particular engine node. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A non-transitory computer-readable medium storing instructions for providing timer affinity in a session-based server deployment operating on an engine tier comprising a plurality of engine nodes executing on a plurality of computing devices and a state tier comprising a plurality of state nodes, the instructions, when executed by one or more processors, cause the one or more processors to carry out steps comprising:
-
processing a plurality of communications associated with a plurality of sessions using the plurality of engine nodes; storing a plurality of session states associated with the plurality of sessions on the state tier; initiating a plurality of timer objects associated with the plurality of sessions, wherein said plurality of timer objects is initiated by the plurality of engine nodes upon having processed said plurality of communications, wherein the plurality of timer objects are stored on said state tier; running a notification thread on each state node of said plurality of state nodes; periodically looking using the notification thread for expired timer objects from among said plurality of timer objects stored on said each state node; transmitting a notification from the notification thread to a particular engine node of said plurality of engine nodes, independently from the particular engine node polling the state tier, determined to have initiated an expired timer object upon detecting the expired timer object; and thereby using the notification thread to create affinity between the expired timer object and the particular engine node. - View Dependent Claims (20)
-
Specification