System and Method for Efficient Storage of Long-Lived Session State in a SIP Server
First Claim
1. A system for efficient storage of session state data, said system comprising:
- a cluster network of computer servers, said network including at least one engine node that processes transactions and at least one state replica that stores said session state data associated with said transactions in random access memory (RAM) thereon; and
a database connected to said cluster network, wherein said database stores a portion of said session state data; and
wherein said state replica determines that a transaction boundary has been reached such that said portion of the session state data is determined to be steady and replicates the portion of the session state data to the database upon reaching said transaction boundary.
2 Assignments
0 Petitions
Accused Products
Abstract
A SIP server can be deployed in a two-tier architecture, including an engine tier for processing of SIP communications and a state tier for maintaining the state associated with these communications. The state tier can include RAM-based replicas that provide data to the engines. Some of the SIP session state can be moved to the database in order to reduce the memory requirements of the state tier. Upon determining that a transaction boundary has been reached where the session state is steady, the state replica can save the data to the database. A hint can be received from the engine tier by the state replica indicating that the state data is ready to be saved. Subsequently, the data can be removed from the state tier by nulling out the bytes of actual data, while preserving the primary key, locking and timer information so as not to impact latency.
-
Citations
20 Claims
-
1. A system for efficient storage of session state data, said system comprising:
-
a cluster network of computer servers, said network including at least one engine node that processes transactions and at least one state replica that stores said session state data associated with said transactions in random access memory (RAM) thereon; and a database connected to said cluster network, wherein said database stores a portion of said session state data; and wherein said state replica determines that a transaction boundary has been reached such that said portion of the session state data is determined to be steady and replicates the portion of the session state data to the database upon reaching said transaction boundary. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 18)
-
-
11. A computer implemented method for efficiently storing session state data, said method comprising:
-
maintaining a computer network of server nodes, said network including at least one engine node that processes transactions and at least one state replica node that stores the session state data associated with said transactions; receiving an update to said session state from an engine node to a state replica node; storing said update to the session state data in the state replica node; determining, by said state replica node, whether a transaction boundary has been reached such that said session state data is determined to be steady; transmitting said session state data to a database by said state replica node upon determining that said transaction boundary has been reached; and removing said session state data from the state replica node. - View Dependent Claims (12, 13, 14, 15, 16, 17, 19)
-
-
20. A computer-readable medium having instructions stored thereon which when executed by one or more processors cause a system to:
-
maintain a computer network of server nodes, said network including at least one engine node that processes transactions and at least one state replica node that stores the session state data associated with said transactions; receive an update to said session state from an engine node to a state replica node; store said update to the session state data in the state replica node; determine, by said state replica node, whether a transaction boundary has been reached such that said session state data is determined to be steady; transmit said session state data to a database by said state replica node upon determining that said transaction boundary has been reached; and remove said session state data from the state replica node.
-
Specification