The present invention relates to a method and apparatus for dynamically allocating Application Servers to users in an IP Multimedia Subsystem network in order to achieve improved load balancing across the Application Servers.
IP Multimedia services provide a dynamic combination of voice, video, messaging, data, etc. within the same session. By growing the number of basic applications and the media which it is possible to combine, the number of services offered to the end users (e.g. subscribers) will grow, and the inter-personal communication experience will be enriched. This will lead to a new generation of personalised, rich multimedia communication services, including so-called “combinational IP Multimedia” services.
IP Multimedia Subsystem (IMS) is the technology defined by the Third Generation Partnership Project (3GPP) to provide IP Multimedia services over mobile communication networks (3GPP TS 22.228, TS 23.228, TS 24.229, TS 29.228, TS 29.229, TS 29.328 and TS 29.329 Releases 5 to 7). IMS provides key features to enrich the end-subscriber person-to-person communication experience through the use of standardised IMS Service Enablers, which facilitate new rich person-to-person (client-to-client) communication services as well as person-to-content (client-to-server) services over IP-based networks. The IMS makes use of the Session Initiation Protocol (SIP) to set up and control calls or sessions between subscriber terminals (or subscriber terminals and application servers). The Session Description Protocol (SDP), carried by SIP signalling, is used to describe and negotiate the media components of the session. Whilst SIP was created as a subscriber-to-subscriber protocol, IMS allows operators and service providers to control subscriber access to services and to charge subscribers accordingly.
By way of example,
A subscriber registers with the IMS using the specified SIP REGISTER method. This is a mechanism for attaching to the IMS and announcing to the IMS the address (“contact”) at which a SIP subscriber identity can be reached. In 3GPP, when a SIP terminal performs a registration, the IMS authenticates the subscriber, and allocates an S-CSCF to that subscriber from the set of available S-CSCFs. Whilst the criteria for allocating S-CSCFs is not specified by 3GPP, these may include load sharing and service requirements. It is noted that the allocation of an S-CSCF is key to controlling (and charging for) subscriber access to IMS-based services. Operators may provide a mechanism for preventing direct subscriber-to-subscriber SIP sessions which would otherwise bypass the S-CSCF.
During the registration process, it is the responsibility of the I-CSCF to select an S-CSCF if an S-CSCF is not already selected. The I-CSCF receives the required S-CSCF capabilities from the home network's Home Subscriber Server (HSS), and selects an appropriate S-CSCF based on the received capabilities. [It is noted that S-CSCF allocation is also carried out for a subscriber by the I-CSCF in the case where the subscriber is called by another party, and the subscriber is not currently allocated an S-CSCF.] In the case where multiple HSSs are deployed in a network, a Subscription Locator Function (SLF) is used by the I-CSCF to identify the correct HSS for a subscriber. When a registered subscriber subsequently sends a session request to the IMS, the P-CSCF is able to forward the request to the selected S-CSCF based on information received from the S-CSCF during the registration process.
Within the IMS service network, Application Servers (ASs) are provided for implementing IMS service functionality. Application Servers provide services to end-subscribers in an IMS system, and may be connected either as end-points over the 3GPP defined Mr interface, or “linked in” by an S-CSCF over the 3GPP defined ISC interface. In the latter case, Initial Filter Criteria (IFC) are used by an S-CSCF to determine which Applications Servers should be “linked in” during a SIP Session establishment (or indeed for the purpose of any SIP method, session or non-session related). The IFCs are received by the S-CSCF from an HSS over the Cx interface during the IMS registration procedure as part of a subscriber's Subscriber Profile. The interface between the S-CSCF and the AS is defined as the ISC interface.
In order to ensure sufficient capacity and robustness within an IMS network, for any given service a pool of ASs may be provisioned. Thus, a given S-CSCF has multiple ISC interfaces to respective ASs, whilst a given AS may have multiple ISC interfaces to respective S-CSCFs. IMS TS23.228 (Annex J) specifies a mechanism for the dynamic allocation of users to ASs at IMS registration. Allocation is performed by the S-CSCF, typically on a round-robin basis, to ensure that users are evenly spread across the ASs available to the S-CSCF. As the HSS is already responsible for the load sharing of users across S-CSCFs in the network it can be expected that this approach will result in an even spread of users across all ASs within the network.
This round-robin based mechanism assumes however that users use the service (provisioned by the AS pool) equally. If, as will normally be the case, this assumption is not valid, an uneven load will likely arise across the ASs as one AS could be allocated a large number of highly active users and another AS could be allocated users that rarely use the service. An overload situation can occur in one AS despite the fact that spare capacity is available in another
AS.
It is an object of the present invention to employ a knowledge of the service use history of users when allocating users to Application Servers within the IMS.
According to a first aspect of the present invention there is provided a method of dynamically allocating a user to one of a pool of Application Servers within an IP Multimedia Subsystem network. The pool of Application Servers is configured to provision an IP Multimedia Subsystem service. The method comprises determining a level of historical use of said service by said user. The user is then allocated to an Application Server based upon said use and the current load distribution across the Application Servers.
For each user of the IP Multimedia Subsystem network, a user counter may be maintained to record a use frequency of said service, said step of determining a level of historical use making use of the counter associated with the user being allocated to an Application Server. The user counters may be maintained at a Home Subscriber Server or at another central database.
Said step of determining a level of historical use may comprise deriving from the associated counter value a relevance value. The step of allocating the user to an Application Server then comprises inspecting the current relevance values of Application Servers already allocated to the Application Servers, and selecting an Application Server which tends to achieve a balanced load.
Alternatively, for each Application Server an Application Server counter may be maintained and, following allocation of a user to an Application Server, the user counter value for the allocated user added to the Application Server counter. In this case, the step of allocating the user to an Application Server may comprise identifying the Application Server having the lowest counter value, and allocating the user to that Application Server.
In one embodiment of the invention, said step of determining a level of historical use is carried out at a Call Session Control Function of the IP Multimedia Subsystem. The step of allocating the user to an Application Server may also be carried out at the Call Session Control Function.
In an alternative approach, the step of allocating the user to an Application Server is carried out at a Front End distributor of the IP Multimedia Subsystem, the Front End distributor being located logically between a plurality of Call Session Control Functions and said Application Servers.
According to a second aspect of the invention there is provided apparatus configured for use within an IP Multimedia Subsystem and comprising a first processing unit for monitoring a user load distribution across a pool of Application Servers used to provision an IP Multimedia Subsystem service. A second processing unit identifies a level of historical use for a user being registered for said service, and a third processing unit allocates said user to an Application Server in dependence upon both said user load distribution and said level of historical use.
The level of historical use may be one of a set of predefined levels having respective use thresholds. Alternatively, this level may be a count accumulated over a fixed period.
In a particular embodiment, the apparatus is further configured to operate as a Call Session Control Function. In an alternative embodiment, the apparatus is further configured to operate as a Front End distributor for a plurality of Call Session Control Functions.
WO2008016320 describes a mechanism for collecting user activity information in a telecommunications system and more particularly with an IP Multimedia Subsystem. According to one example, an S-CSCF is provided with an activity template comprising data useable for identifying a signalling message related to a service. In the event that a message relating to a service is identified by the S-CSCF, the S-CSCF reports this fact to the Home Subscriber Server (HSS). This approach provides a means for collecting statistical data regarding the use of a given service by individual users. The information that can be collected using the approach described in WO2008016320 is applied here to dynamically allocate users to Application Servers (AS) based upon the use history of users, thereby potentially improving the load sharing across a pool of ASs.
A first approach to applying use history to aid user allocation is illustrated schematically in
The HSS 3 returns the requested counter value for the specified user and service to the query unit 2 of the CSCF 1. The result is passed to a user rating and allocation unit 4, which firstly allocates a rating to the user by comparing the counter value against a number of thresholds. Typically ratings may be low, medium, and high. The thresholds defining these ratings can be set by the network operator by analysing use patterns across a sample of users, and can be adapted further by analysing the loads placed on the ASs.
The CSCF maintains a record of the number of users in each category allocated to each AS, i.e. a count of low, medium, and high rated users allocated to each AS. Assuming that all ASs have the same capacity, the user rating and allocation unit 4 of the CSCF will try to ensure that each AS is allocated the same number of users within each category. Users are allocated accordingly.
The approach described above is relatively coarse in that employs only three relevance values, namely low, medium, and high. A finer level of allocation can of course be achieved by defining more relevance values. However, a potentially better approach is to maintain for each AS within a service pool an AS counter, and to add the user activity counter value to the AS counter each time a user is allocated to an AS. Each time a new user is to be allocated, the user is allocated to that AS which currently has the lowest AS counter value.
Upon receipt of a fourth registration request, AS2 is at the top of the order, so the new user is allocated to that AS. The counter for AS2 is incremented by the user activity counter value for the new user, 47 in the illustrated example. AS1 now moves to the top of the order.
When a user-to-server allocation ceases, e.g. when a user de-registers from the IMS system, the appropriate AS counter value in the CSCF is decreased with the user value. The AS order is adjusted as required. So, for example, considering the scenario of
It will be appreciated that the approaches described above may be implemented using computer servers and/or processors configured to perform the described functionality. A CSCF for use with these approaches may in particular be implemented using a set of processor cards with associated RAM and optionally, DSPs. Other embodiments may make use of so-called “blade” servers.
A still further approach to user allocation is illustrated schematically in
It will be further appreciated by the person of skill in the art that various modifications may be made to the above described embodiments without departing from the scope of the present invention. For example, whilst the embodiment above concerns a single service scenario, the invention is also applicable to the multi-service scenario, where a user may be allocated a number of different ASs, one per service.
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/EP08/58113 | 6/25/2008 | WO | 00 | 11/10/2010 |