Hitless application upgrade for SIP server architecture
First Claim
1. A computer implemented method for upgrading an application, comprising:
- maintaining a session initiation protocol (SIP) server running on an engine node, wherein the SIP server includes a SIP servlet container adapted to host applications;
deploying a first application to the SIP server container having an application name, wherein the application name specifies a version string associated with the first application, and wherein the SIP server strips the version string of the first application when the first application is deployed;
processing incoming messages by the first application deployed on the SIP server;
deploying a second application to the SIP server container while maintaining processing by the first application, wherein the second application includes the application name and version string, and wherein the version string of the second application is stripped when the second application is deployed;
receiving incoming messages by the engine node, wherein when the incoming messages are received by the engine node, the engine nodedetects which application the incoming messages are directed based on the application name included in the incoming messages,determines whether the incoming messages are associated with a new call or an established call,directs the incoming messages for new calls to the second application; and
directs the incoming messages for previously established calls to the first application.
2 Assignments
0 Petitions
Accused Products
Abstract
The Session Initiation Protocol (SIP) server can be comprised of an engine tier and a state tier distributed on a cluster network environment. The engine tier can send, receive and process various messages. The state tier can maintain in-memory state data associated with various SIP sessions. Various applications can be running on the engine tier. A new version of an application can be deployed alongside the old version, simultaneously running on the SIP server. Incoming messages for new calls can be directed by the SIP server to the new version of the application. Incoming messages for previously established calls can be directed to the old version of the application. Once the old version is finished processing calls, it can be undeployed.
-
Citations
19 Claims
-
1. A computer implemented method for upgrading an application, comprising:
-
maintaining a session initiation protocol (SIP) server running on an engine node, wherein the SIP server includes a SIP servlet container adapted to host applications; deploying a first application to the SIP server container having an application name, wherein the application name specifies a version string associated with the first application, and wherein the SIP server strips the version string of the first application when the first application is deployed; processing incoming messages by the first application deployed on the SIP server; deploying a second application to the SIP server container while maintaining processing by the first application, wherein the second application includes the application name and version string, and wherein the version string of the second application is stripped when the second application is deployed; receiving incoming messages by the engine node, wherein when the incoming messages are received by the engine node, the engine node detects which application the incoming messages are directed based on the application name included in the incoming messages, determines whether the incoming messages are associated with a new call or an established call, directs the incoming messages for new calls to the second application; and directs the incoming messages for previously established calls to the first application. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A system for upgrading an application, said system comprising at least one central processing unit (CPU) that executes a set of instructions to implement:
-
a session initiation protocol (SIP) server running on an engine node, wherein the SIP server includes a SIP servlet container adapted to host applications; a first application deployed to the SIP server container for processing incoming messages, wherein the first application includes an application name that specifies a version string associated with the first application, and wherein the SIP server strips the version string of the first application when the first application is deployed; a second application deployed to the SIP server container, wherein the second application is deployed while maintaining processing by the first application, and wherein the second application includes the application name and version string, and wherein the version string of the second application is stripped when the second application is deployed; and wherein when incoming messages are received by the engine node, the engine node detects which application the incoming messages are directed based on the application name included in the incoming messages, determines whether the incoming messages are associated with a new call or an established call, directs the incoming messages for new calls to the second application; and directs the incoming messages for previously established calls to the first application. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18)
-
-
19. A non-transitory computer readable storage medium storing a set of instructions, said instructions when executed by one or more processors causing the one or more processors to:
-
maintain a session initiation protocol (SIP) server running on an engine node, wherein the SIP server includes a SIP servlet container adapted to host applications; deploy a first application to the SIP server container having an application name, wherein the application name specifies a version string associated with the first application, and wherein the SIP server strips the version string of the first application when the first application is deployed; process incoming messages by the first application deployed on the SIP server; deploy a second application to the SIP server container while maintaining processing by the first application, wherein the second application includes the application name and version string, and wherein the version string of the second application is stripped when the second application is deployed; receive incoming messages by the engine node, wherein when the incoming messages are received by the engine node, the engine node detects which application the incoming messages are directed based on the application name included in the incoming messages, determines whether the incoming messages are associated with a new call or an established call, directs the incoming messages for new calls to the second application; and directs the incoming messages for previously established calls to the first application.
-
Specification