System and method for protecting against failure through geo-redundancy in a SIP server
First Claim
1. A computer implemented method for protecting against failure through geographical redundancy, said method comprising:
- maintaining a primary site and a secondary site of network server nodes, each of said primary site and secondary site including an engine tier that processes transactions and a state tier that maintains call state data associated with said transactions;
processing at least one transaction by the engine tier of said primary site;
determining, by said engine tier of the primary site, that a transaction boundary of said transaction has been reached; and
replicating, by said state tier of the primary site, the call state data associated with said transaction from the primary site to the secondary site upon determining that said transaction boundary has been reached;
wherein replicating, by said state tier of the primary site, the call state data associated with said transaction from the primary site to the secondary site further includes;
placing a message on a Java Messaging Service (JMS) queue by a single replica node in a partition on said state tier on the primary site, said message containing said call state data to be replicated;
reading said message from the JMS queue by at least one engine in said engine tier on the secondary site;
persisting said call state data contained in the message by said engine on the secondary site to at least one of;
a database and a state node in said state tier on the secondary site; and
marking said call state data as being local to the primary site in order to distinguish from call state data being actively managed in said secondary site.
1 Assignment
0 Petitions
Accused Products
Abstract
The SIP server deployment can be comprised of an engine tier that provides high throughput processing and a state tier that maintains SIP state data in a set of partitions and replicas. Two sites of SIP server deployments can be configured, each being remotely located with respect to the other. A primary site can process various SIP transactions and communications and upon determining a transaction boundary, replicate the state data associated with the transaction being processed, to a secondary site. Engines in the primary site can generate hints for the state replicas which can be in turn responsible for replicating the SIP session state. The replicas can choose to follow or disregard the generated hints. Upon failure of the primary site, calls can be routed from the failed primary site to the secondary site for processing. Similarly, upon recovery, the calls can be re-routed back to the primary site.
45 Citations
16 Claims
-
1. A computer implemented method for protecting against failure through geographical redundancy, said method comprising:
-
maintaining a primary site and a secondary site of network server nodes, each of said primary site and secondary site including an engine tier that processes transactions and a state tier that maintains call state data associated with said transactions; processing at least one transaction by the engine tier of said primary site; determining, by said engine tier of the primary site, that a transaction boundary of said transaction has been reached; and replicating, by said state tier of the primary site, the call state data associated with said transaction from the primary site to the secondary site upon determining that said transaction boundary has been reached; wherein replicating, by said state tier of the primary site, the call state data associated with said transaction from the primary site to the secondary site further includes; placing a message on a Java Messaging Service (JMS) queue by a single replica node in a partition on said state tier on the primary site, said message containing said call state data to be replicated; reading said message from the JMS queue by at least one engine in said engine tier on the secondary site; persisting said call state data contained in the message by said engine on the secondary site to at least one of;
a database and a state node in said state tier on the secondary site; andmarking said call state data as being local to the primary site in order to distinguish from call state data being actively managed in said secondary site. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A computer readable storage medium encoded with a set of instructions for protecting against failure through geographical redundancy, wherein said instructions, when executed by one or more processors, cause the one or more processors to carry out the steps of:
-
maintaining a primary site and a secondary site of network server nodes, each of said primary site and secondary site including an engine tier that processes transactions and a state tier that maintains call state data associated with said transactions; processing at least one transaction by the engine tier of said primary site; determining, by said engine tier of the primary site, that a transaction boundary of said transaction has been reached; and replicating, by said state tier of the primary site, the call state data associated with said transaction from the primary site to the secondary site upon determining that said transaction boundary has been reached; wherein replicating, by said state tier of the primary site, the call state data associated with said transaction from the primary site to the secondary site further includes; placing a message on a Java Messaging Service (JMS) queue by a single replica node in a partition on said state tier on the primary site, said message containing said call state data to be replicated; reading said message from the JMS queue by at least one engine in said engine tier on the secondary site; persisting said call state data contained in the message by said engine on the secondary site to at least one of;
a database and a state node in said state tier on the secondary site; andmarking said call state data as being local to the primary site in order to distinguish from call state data being actively managed in said secondary site. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
Specification