System and method for managing communications sessions in a network
First Claim
1. A system for managing communications sessions, the system comprising:
- a connection to a network that receives at least one incoming call;
a server deployed in two separate tiers, said two separate tiers further including;
a stateful tier including at least one stateful server node that stores and manages session state data associated with at least one communications session established for the at least one incoming call, wherein the at least one stateful server tier includes an inmemory database to store the session state data;
a stateless tier including one or more applications that provide services to the at least one incoming communication session, including at least one stateless server node that is separate with respect to the at least one stateful server node, said at least one stateless server node having one of the one or more applications that performs SIP signaling, wherein the at least one stateless server node writes session state data to the at least one stateful server node; and
a communications protocol enabling coordination of the one or more applications in the stateless tier with the at least one incoming communication session in the stateful tier;
whereupon when the at least one stateless server node receives a service request to access the at least one communication session during the at least one incoming call, the stateless server node interacts with the communication protocol toretrieve the session state data, in accordance with a protocol employed to coordinate locking and unlocking of the session state data, from a single stripe in the at least one stateful server node before control is passed to the one of the one or more applications, said single stripe being assigned to an identifier of the at least one incoming call for tracking the at least one incoming call,pass control to the one of the one or more applications, wherein the one of the one or more applications processes the service request by performing a read/lock operation on the stateful tier to use the session state data retrieved from the single stripe, and wherein the one of the one or more applications returns control to the at least one stateless node, andwherein after the one of the one or more applications returns control to the at least one stateless node, the at least one stateless node updates the session state data on the at least one stateful server node with by performing a write/unlock operation on the stateful tier to write changes to the in-memory database that were caused by one of the one or more applications processing; and
wherein the at least one stateless node then transmits the messages caused by the processing of the one of the one or more applications.
2 Assignments
0 Petitions
Accused Products
Abstract
In an embodiment, a system for managing communications sessions is provided. The system embodiment includes a connection to a packet network that receives incoming calls. A stateful tier manages communications sessions established for the at least one incoming call. A stateless tier comprising one or more applications provides service(s) to the communications sessions in the stateful tier. One or more servers allocate and/or manage resources corresponding to the communications sessions established for the incoming calls in the stateful tier. The servers maintain the applications in the stateless tier for providing services to the communications sessions in the stateful tier.
-
Citations
18 Claims
-
1. A system for managing communications sessions, the system comprising:
-
a connection to a network that receives at least one incoming call; a server deployed in two separate tiers, said two separate tiers further including; a stateful tier including at least one stateful server node that stores and manages session state data associated with at least one communications session established for the at least one incoming call, wherein the at least one stateful server tier includes an inmemory database to store the session state data; a stateless tier including one or more applications that provide services to the at least one incoming communication session, including at least one stateless server node that is separate with respect to the at least one stateful server node, said at least one stateless server node having one of the one or more applications that performs SIP signaling, wherein the at least one stateless server node writes session state data to the at least one stateful server node; and a communications protocol enabling coordination of the one or more applications in the stateless tier with the at least one incoming communication session in the stateful tier; whereupon when the at least one stateless server node receives a service request to access the at least one communication session during the at least one incoming call, the stateless server node interacts with the communication protocol to retrieve the session state data, in accordance with a protocol employed to coordinate locking and unlocking of the session state data, from a single stripe in the at least one stateful server node before control is passed to the one of the one or more applications, said single stripe being assigned to an identifier of the at least one incoming call for tracking the at least one incoming call, pass control to the one of the one or more applications, wherein the one of the one or more applications processes the service request by performing a read/lock operation on the stateful tier to use the session state data retrieved from the single stripe, and wherein the one of the one or more applications returns control to the at least one stateless node, and wherein after the one of the one or more applications returns control to the at least one stateless node, the at least one stateless node updates the session state data on the at least one stateful server node with by performing a write/unlock operation on the stateful tier to write changes to the in-memory database that were caused by one of the one or more applications processing; and wherein the at least one stateless node then transmits the messages caused by the processing of the one of the one or more applications. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method for managing communications sessions in a network, the method comprising:
-
providing a network that receives at least one incoming call; providing a server deployed in two separate tiers, said two separate tiers including a stateless tier and a stateful tier; maintaining the stateless tier including one or more applications that provide services to at least one incoming communication session, including at least one stateless server node that is separate with respect to a stateful server node, said at least one stateless server node having one of the one or more applications that performs SIP signaling, wherein the at least one stateless server node writes session state data to at least one stateful server node on the stateful tier; storing and managing session state data associated with the at least one communication session established for the at least one incoming call in the at least one stateful server node, wherein the stateful tier includes an in-memory database to store the session state data, and wherein the at least one stateless server node writes session state data to the at least one stateful server node; providing a communications protocol enabling coordination of the one or more applications in the stateless tier with the at least one incoming communication session in the stateful tier; receiving, by the at least one stateless server node, a service request associated with the at least one communications session during the at least one incoming call; retrieving, by the at least one stateless server node, in accordance with a protocol employed to coordinate locking and unlocking of the session state data, the session state data from a single stripe in the at least one stateful server node, before control is passed to the one of the one or more applications, said single stripe being assigned to an identifier of the incoming call for tracking the incoming call; processing the service request by performing a read/lock operation on the stateful tier to use the session state data retrieved from the single stripe, wherein the one of the one or more applications returns control to the at least one stateless node; updating the session state data on the at least one stateful server node by the stateless server node by performing a write/unlock operation on the stateful tier to write changes to the in-memory database that were caused by the one of the one or more applications processing; and transmitting, by the at least one stateless node the messages caused by the processing of the one of the one or more applications. - View Dependent Claims (9, 10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. A non-transitory computer-readable storage medium carrying one or more sequences of instructions for managing communications sessions, which instructions, when executed by one or more processors, cause the one or more processors to carry out the steps of:
-
providing a network that receives at least one incoming call; providing a server deployed in two separate tiers, said two separate tiers including a stateless tier and a stateful tier; maintaining the stateless tier including one or more applications that provide services to at least one incoming communication session, including at least one stateless server node that is separate with respect to a stateful server node, said at least one stateless server node having one of the one or more applications that performs SIP signaling, wherein the at least one stateless server node writes session state data to at least one stateful server node on the stateful tier; storing and managing session state data associated with the at least one communication session established for the at least one incoming call in the at least one stateful server node, wherein the stateful tier includes an in-memory database to store the session state data, and wherein the at least one stateless server node writes session state data to the at least one stateful server node; providing a communications protocol enabling coordination of the one or more applications in the stateless tier with the at least one incoming communication session in the stateful tier; receiving, by the at least one stateless server node, a service request associated with the at least one communications session during the at least one incoming call; retrieving, by the at least one stateless server node, in accordance with a protocol employed to coordinate locking and unlocking of the session state data, the session state data from a single stripe in the at least one stateful server node, before control is passed to the one of the one or more applications, said single stripe being assigned to an identifier of the incoming call for tracking the incoming call; processing the service request by performing a read/lock operation on the stateful tier to use the session state data retrieved from the single stripe, wherein the one of the one or more applications returns control to the at least one stateless node; updating the session state data on the at least one stateful server node by the stateless server node by performing a write/unlock operation on the stateful tier to write changes to the in-memory database that were caused by the one of the one or more applications processing; and transmitting, by the at least one stateless node the messages caused by the processing of the one of the one or more applications.
-
Specification