SIP SERVER ARCHITECTURE FOR IMPROVING LATENCY DURING MESSAGE PROCESSING
First Claim
1. A system for improving latency during message processing in a network environment, said system comprising:
- an engine tier distributed on a cluster network, wherein the engine tier maintains short lived data objects that are local in thread scope, wherein the short lived data objects in the engine tier are garbage collected during thread processing on the engine tier; and
a state tier distributed on the cluster network, wherein the state tier maintains long lived data objects that are global in thread scope, wherein the long lived data objects in the state tier are garbage collected by halting all thread processing in the state tier for a period of time;
wherein the engine tier receives a message and processes the message by retrieving a subset of long lived objects from the state tier and employing the subset of long lived data objects as short lived data objects on the engine tier, and wherein once the message is finished processing in the engine tier, the short lived data objects are pushed back to the state tier; and
whereby the halting of all thread processing caused by garbage collecting the long lived objects in the state tier is separated from message processing in the engine tier.
1 Assignment
0 Petitions
Accused Products
Abstract
Systems and methods are provided for improving latency during message processing in a network environment via the use of SIP server architecture. The SIP server can be comprised of an engine tier and a state tier distributed on a cluster network. The engine tier can send and receive messages and execute various processes. The state tier can maintain in-memory state data associated with various SIP sessions. The state tier can store various long lived data objects and the engine tier can contain short lived data objects. The state data can be maintained in partitions comprised of state replicas. When processing messages, the engine can pull state data objects from the state tier, use the objects and push them back to the state tier after processing is complete. If one state replica is unavailable, such as during garbage collection, the engine can retrieve the objects from another replica in the partition.
76 Citations
20 Claims
-
1. A system for improving latency during message processing in a network environment, said system comprising:
-
an engine tier distributed on a cluster network, wherein the engine tier maintains short lived data objects that are local in thread scope, wherein the short lived data objects in the engine tier are garbage collected during thread processing on the engine tier; and a state tier distributed on the cluster network, wherein the state tier maintains long lived data objects that are global in thread scope, wherein the long lived data objects in the state tier are garbage collected by halting all thread processing in the state tier for a period of time; wherein the engine tier receives a message and processes the message by retrieving a subset of long lived objects from the state tier and employing the subset of long lived data objects as short lived data objects on the engine tier, and wherein once the message is finished processing in the engine tier, the short lived data objects are pushed back to the state tier; and
whereby the halting of all thread processing caused by garbage collecting the long lived objects in the state tier is separated from message processing in the engine tier. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method for improving latency during message processing in a network environment, said method comprising:
-
maintaining an engine tier on a network cluster, wherein the engine tier processes incoming messages and stores short lived objects that are local in thread scope, wherein the short lived objects in the engine tier are garbage collected during thread processing on the engine tier; maintaining a state tier on the network cluster wherein the state tier stores long lived objects that are used in processing the incoming messages, said long lived objects being global in thread scope, wherein the long lived objects in the state tier are garbage collected by halting all thread processing in the state tier for a period of time; receiving an incoming message; retrieving a subset of the long lived objects from the state tier into the engine tier and employing the subset of long lived objects as short lived objects in the engine tier; processing the incoming message by an engine in the engine tier; and pushing the one or more long lived objects from the engine tier back to the state tier once the message is finished processing in the engine tier, whereby the halting of all thread processing caused by garbage collecting the long lived objects in the state tier is separated from message processing in the engine tier. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. A computer-readable storage medium having a set of instructions stored thereon, said instructions when executed by one or more processors, causing the one or more processors to carry out the steps of:
-
maintaining an engine tier on a network cluster, wherein the engine tier processes incoming messages and stores short lived objects that are local in thread scope, wherein the short lived objects in the engine tier are garbage collected during thread processing on the engine tier; maintaining a state tier on the network cluster wherein the state tier stores long lived objects that are used in processing the incoming messages, said long lived objects being global in thread scope, wherein the long lived objects in the state tier are garbage collected by halting all thread processing in the state tier for a period of time; receiving an incoming message; retrieving a subset of the long lived objects from the state tier into the engine tier and employing the subset of long lived objects as short lived objects in the engine tier; processing the incoming message by an engine in the engine tier; and pushing the one or more long lived objects from the engine tier back to the state tier once the message is finished processing in the engine tier, whereby the halting of all thread processing caused by garbage collecting the long lived objects in the state tier is separated from message processing in the engine tier.
-
Specification