Load Balancing for SIP Services
Abstract
Methods of operating an SIP load balancer, one or more SIP server nodes and/or one or more SIP server instances are provided that efficiently manage a processing load. Configurations for an SIP load balancer, one or more SIP server nodes and/or one or more SIP server instances to enable efficient management of a processing load are also described. In certain ones of these, state data for a set of SIP processes may be sent from a SIP server instance and used by a SIP load balancer to remove inactive SIP processes from a data structure. The management of a processing load comprising a number of SIP processes following the failure of a SIP server node and/or a SIP server instance is also provided.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A method for balancing a processing load between a plurality of SIP server instances, a SIP server instance being mapped to a SIP process by a load balancer such that messages relating to the SIP process are passed between a communicating device and the SIP server instance, a SIP server instance actively processing, in use, a number of SIP processes, the method comprising:
maintaining, at the load balancer, a data structure mapping one or more SIP processes to a SIP server instance from the plurality of SIP server instances; receiving, at the load balancer, state data for a set of SIP processes from the SIP server instance, the state data indicating one or more states of said SIP processes on the SIP server instance; and updating, at the load balancer, the data structure based on the received state data, including using said state data to remove SIP processes from the data structure that have an inactive state.
2 . The method of claim 1 , wherein the step of receiving state data for a set of SIP processes comprises receiving, at the load balancer, a periodic notification of state data for a set of SIP processes from the SIP server instance, the state data for a set of SIP processes in a notification indicating SIP processes that the SIP server instance has completed since a previous notification.
3 . The method of claim 1 , further comprising:
requesting, by the load balancer, state data identifying active SIP processes from the SIP server instance; and receiving, at the load balancer, a response from said SIP server instance comprising said state data.
4 . The method of claim 1 , further comprising:
sending, from the load balancer, state data identifying a set of known active SIP processes for the SIP server instance from the data structure; and receiving, at the load balancer, a response from said SIP server instance comprising a subset of said set indicating SIP processes that are no longer active.
5 . The method of claim 4 , wherein the state data identifying a set of known active SIP processes comprises state data identifying a set of SIP processes for which the load balancer has not received a corresponding message for a configurable time period.
6 . The method of claim 1 , wherein SIP messages relating to the SIP process are passed between a communicating device and the SIP server instance without modification by the load balancer.
7 . The method of claim 1 , wherein the state data comprises one or more process identifiers for a set of SIP processes that have a common state.
8 . An apparatus for balancing a processing load between a plurality of SIP server instances, a SIP server instance actively processing a number of SIP processes, the apparatus comprising:
a data structure for mapping one or more SIP processes to at least one of the plurality of SIP server instances; an interface for receiving state data for a set of SIP processes from said at least one SIP server instance, the state data indicating one or more states of said SIP processes on said at least one SIP server instance; and an update manager for updating the data structure based on received state data, the update manager being arranged to use said state data to remove SIP processes from the data structure that have an inactive state.
9 . The apparatus of claim 8 , further comprising a query component arranged to send a query to a SIP server instance for SIP processes that match a particular state so as to return said list of SIP processes.
10 . The apparatus of claim 9 , wherein the query component is arranged to send one or more of:
a query for state data identifying active SIP processes; and a query as to the state of a number of known active SIP processes for a SIP server instance from the data structure.
11 . A method for communicating with a SIP load balancer, the method being performed by a SIP server instance that is arranged to receive one or more SIP messages from a communicating device, the one or more SIP messages forming part of a SIP process assigned to the SIP server instance by the SIP load balancer, the method comprising:
determining whether a SIP processing update is required; if a SIP processing update is required, generating state data for a set of SIP processes, the state data indicating one or more states of SIP processes being processed by the SIP server instance; and sending said state data to the SIP load balancer.
12 . The method of claim 11 , wherein the state data identifies at least one of SIP processes currently active at the SIP server instance, SIP processes that have been completed in a specified time period, and SIP processes identified by the SIP load balancer that have been completed.
13 . The method of claim 11 , wherein the step of determining whether a SIP processing update is required comprises at least one of:
determining whether a timer event has occurred; and receiving a request from the SIP load balancer.
14 . An apparatus for handling SIP messages comprising:
a first interface for receiving one or more SIP messages from a communicating device; a processing component arranged to handle said received messages as part of a SIP process; a second interface for sending state data for a set SIP processes to a load balancer, the state data indicating a state of said SIP processes on said apparatus.
15 . The apparatus of claim 14 , further comprising an update manager for removing records of completed SIP processes, said update manager arranged to prepare the state data to include identifiers of completed SIP processes for sending to the load balancer over the second interface.
16 . The apparatus of claim 14 , wherein the second interface is arranged to receive a request from the load balancer for identifiers of SIP processes that match a particular process state.Join the waitlist — get patent alerts
Track US2013297804A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.