Abstract:
In an Internet Protocol Multimedia Subsystem (IMS) network in which multiple subscriber data servers are deployed with partitioned subscription data for users, a subscriber location function (SLF) is used to proxy queries to a subscriber data server (such as an HSS) in which subscription data for a user can be found. The SLF receives a query for the subscriber data server, looks up the address of appropriate subscriber data server and proxies the query to the appropriate subscriber data server. Preferably, the SLF is co-located with a subscriber data server.

Description:
FIELD OF THE INVENTION 
     The present invention relates to methods of, systems for, computer programs for and apparatus for routing subscriber data queries in a communications network using the Internet Protocol (IP) Multimedia Subsystem (IMS). More particularly, the present invention relates to methods of, systems for, computer programs for and apparatus for routing subscriber data queries in a communications network using the IMS in which a subscriber data (for example subscriber data stored in a Home Subscriber Server (HSS)) is partitioned over several different subscriber data servers or functions. 
     BACKGROUND TO THE INVENTION 
     The IMS is an architecture for enabling the provision of IP based multimedia services in 3G and subsequent mobile and converged fixed/mobile communications networks. Features of IMS are being standardized under the 3 rd  Generation Partnership Programme (3GPP) and 3GPP2. Various network elements in the IMS architecture will now be described by way of background information. 
     The Home Subscriber Server (HSS) is a database that stores subscriber data, performs authentication and authorization of subscribers, and can provide the location of a subscriber user terminal to enable mobility. In the description of IMS used by Verizon Wireless™ the HSS is called a Subscriber Data Manager (SDM) and the terms HSS and SDM are used interchangeably in this document. 
     Call Session Control Functions (CSCFs) are used to manage the establishment and disestablishment of calls or sessions in the network in accordance with the instructions of subscribers and ASs using the Session Initiation Protocol (SIP). In the home network of a subscriber, a network element called the Serving CSCFs (S-CSCF) provides the call and session handling functions for the subscriber. The S-CSCF does not maintain subscriber data locally but queries the HSS for such data using the Cx interface based on the DIAMETER protocol. The interrogating-CSCF (I-CSCF) is the contact point within an operator&#39;s network for all connections destined to a subscriber of that network operator, or for a roaming subscriber currently located within that network operator&#39;s service area. The Proxy CSCF (P-CSCF) is often the entry into the signaling network, The P-CSCF helps setup and manage sessions, and it forwards messages between IMS networks. It is the first point of contact for a client accessing the IMS network, whether that client is in its home network or roaming in a visited network. 
     Application Servers (ASs) are used to manage the provision of advanced services to subscribers. ASs may be provided by the network operator and resident in a home network of a subscriber or they may be provided by third parties and in a foreign network. ASs execute applications which provide the control logic for the provision of advanced services such as messaging, conference calling, voice mail, presence services, location based services and so on. Other elements such as media servers may be used to provide some of the required services themselves. ASs may also need to query the HSS for subscriber data and use the Sh interface (which is also based on DIAMETER) to do so. 
     In the description of IMS used by Verizon Wireless™, there are various network elements known as the Application Manager (AM), Bearer Manager (BM) and Security manager (SM) each of which may query the SDM for subscriber data as well as non-IMS applications. In general, the AMs correspond in 3GPP and 3GPP2 terminology to both CSCFs and ASs. 
     In some networks, particularly networks with many subscribers or geographically wide spread networks, multiple HSSs are implemented at different physical sites. This can improve capacity, reduce latency and provide redundancy. In one approach (replication), identical subscriber data is stored at all HSS sites and any HSS can service a request in respect of any subscriber. A typical requirement is for dual or triple site deployment. A network element can interact with any site but typically uses nearest for lower latency. In another approach (partitioning), each HSS site is responsible for a subset of the entire subscriber data for the network. Redundancy may still be employed, but deployment is partition specific. A network element must query an HSS site (partition) responsible for the associated subscriber. Accordingly, a routing function is needed to map the subscriber data requests of network elements to the correct FISS. In 3GPP and 3GPP2 IMS, this routing function is called the Subscriber Location Function (SLF). The SLF and HSS communicate using the DIAMETER protocol. 
       FIG. 1  shows an exemplary implementation of a partitioned SDM (ie HSS) in a large communications network. The network is divided into a number (in this case 5) geographic regions  10  (only two shown) each having an SDM  14 —ie SDMs A, B, C, D and E—forming a partitioned SDM service  12 . Each SDM acts as home SDM for subscriber&#39;s resident in it&#39;s geographic region. Multimedia and data (MMD) services are provided by AM, BM and other functional elements in each geographic region&#39;s cluster  16 . A subscriber will always register with their home SDM. The assumption is that vast bulk of subscriber activity will be in home region and so interaction will be with home region elements (AM, BM etc). However, network elements in any region will need to access the subscriber&#39;s SDM to terminate sessions to that subscriber and also to support subscriber registration due to roaming between regions, for example. Elements will need to have requests routed to the correct (home) SDM and so an SLF is used. 
     According to present IMS standards, the SLF receives SDM queries and redirects the querying network element to the appropriate SDM. For example, 3GPP (23.228, 29.228 and 29.329) identifies an SLF which operates as a Cx and Sh re-direct routing service. As shown in  FIG. 2  at step  1 , a network element AM  20  sends the intended Cx/Sh query to SLF  22 . The SLF uses an internal routing table to return a Diameter redirect reply providing the address of the appropriate SDM  24 —in this example SDM B—to handle the Cx query (step  2 ). At step  3 , the AM resends the Cx/Sh query to SDM B. SDM B then returns the Cx response to the AM (step  4 ). Note that the SLF is a distinct Diameter service requiring each AM to maintain separate SLF and SDM sessions. Typically, AMs make their first query to the SLF then cache the returned SDM address for use in subsequent queries. 
     The SLF approach used in present IMS standards suffers from certain drawbacks. 
     Network complexity can be a problem since the SLF must appear as a distinct service to the SDM and each network element must maintain separate Diameter sessions to the SLF and the SDM 
     Handling a change of the home SDM for a subscriber (as a result of a site failure through disaster or a matter of administrative reorganization) can also be a problem. This requires that each network element that might interact with the SDM on behalf of the subscriber be updated with new Diameter connection to the new SDM. This is a significant processing overhead for each subscriber that is “moved” from one SDM to another and for large subscriber moves a very high processing overhead with impact on latency as well. 
     Also, using the re-direct routing service forces network elements to be capable of handling Diameter re-direct replies which adds complexity to the network elements. Moreover, increased processing overhead is incurred at the network element as a result of redirection. 
     An object of the present invention is to provide an improved SLF approach. 
     SUMMARY OF THE INVENTION 
     According to a first aspect of the present invention, there is provided a method of handling queries for subscription data for a user of a communications network, comprising the steps of: a Subscriber Location Function (SLF) receiving a query for subscription data for a user from a network element of an Internet Protocol Multimedia Subsystem (IMS) network, the query comprising an identity of the user; the SLF looking up in a database the user identity to identify a subscriber data server in which the user&#39;s subscription data can be found; and the SLF proxying the query to the identified subscriber data server. 
     Advantageously, by proxying the query to the subscriber data server (eg HSS or SDM), the network element (eg CSCF, AS or AM) need not be capable of handling Diameter re-direct replies from the SLF and need not incur the processing overheads involved. The network element need not be aware of any partitioning of the subscriber data service at all. Also, network complexity is reduced since separate Diameter connections (and potentially security associations) need not be maintained between all network elements on the one hand and all subscriber data servers on the other hand. Thus, moving subscribers from one subscriber data server to another is simpler and involve less processing overheads and reduced latency. Thus network operator CAPEX and OPEX may be reduced. 
     In one embodiment, the method comprises the steps of: the SLF receiving a response to the query; and the SLF sending the response back to the network element. 
     In one embodiment, the IMS network comprises a plurality of subscriber data servers each holding a subset of the total subscriber data for the network. 
     In one embodiment, the SLF is co-located with one of the subscriber data servers. Advantageously, co-location provides a reduction in network complexity by reducing the number of discrete elements. Also, since a separate, discrete SLF requires a subset of the subscription data maintained across all partitions (eg a mapping from user identity to subscriber data server) it will require (geo) synchronization and redundancy mechanisms separate and in addition to those already operating in the subscriber data management service. Through co-location, the (geo) synchronization and redundancy mechanisms required for the subscriber data service may be re-used for the subscriber location functions. In another embodiment, the SLF is a stand alone mechanism to the plurality of subscriber data servers. 
     In one embodiment, the subscriber data server is a Home Subscriber Server (HSS). In one embodiment, the network element is a Call Session Control Function (CSCF). In one embodiment, the network element is an Application Server (AS). In one embodiment, the query is a Cx query. In one embodiment, the query is an Sh query. 
     Further aspects of the present invention are set out in the appended claims. Further advantages of the present invention will be apparent from the following description. 
     In order to show how the invention may be carried into effect, embodiments of the invention are now described below by way of example only and with reference to the accompanying figures in which: 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  shows an exemplary implementation of a partitioned SDM (ie HSS) in a large communications network according to the prior art; 
         FIG. 2  shows the functioning of re-direct SLF according to the prior art; 
         FIG. 3  shows the placement options for a proxy SLF  30  for each geographic region according to the present invention; 
         FIG. 4  shows the functioning of proxy SLF  30  according to the present invention; 
         FIG. 5  shows the functioning of a proxy SLF co-located with its regional SDM according to the present invention in contrast to the functioning of a re-direct SLF where queries are for “local” subscribers; 
         FIG. 6  shows the functioning of a proxy SLF co-located with its regional SDM according to the present invention in contrast to the functioning of a re-direct SLF where queries are for “remote” subscribers; and 
         FIG. 7  shows the functioning of an SLF co-located with its regional SDM according to the present invention where subscription data has been re-homed. 
     
    
    
     DETAILED DESCRIPTION OF INVENTION 
     Embodiments of the present invention are described below by way of example only. These examples represent the best ways of putting the invention into practice that are currently known to the Applicant although they are not the only ways in which this could be achieved. 
       FIG. 3  shows the placement options for a proxy SLF  30  for each geographic region according to the present invention. There are four options: 1) network level placement; 2) co-located with the SDM; 3) regional level placement and 4) co-located with each network element. 
     Placement needs to address two key issues. Network element query latency and data management complexity associated with keeping SLF data in sync with SDM data distribution. 
     The preferred option is to co-locate the SLF with the SDM (option 2) for the following reasons. Co-locating the SLF with the SDM enables the SLF to use the same data management infrastructure, sharing data, robustness and redundancy mechanisms used by other services at the SDM. Whereas, a separate SLF element means that explicit data synchronization, replication and administration infrastructure/processes are required. Options 1, 3 and 4 compound this functional complexity by increasing the number of SLF&#39;s in the network that have to be kept in sync with SDM data. The larger the number the harder it is to ensure all (SLFs and SDMs) are synchronized while avoiding time-based discrepancies. Element co-location (option 4) is the extreme case requiring for example 20 (regions)×4 (SDMs)×3 (element types)=240 relationships to manage over 60 SLFs, excluding any inter-SLF relationships and additional elements introduced at a later date. Furthermore, the bulk of interactions will be between the AM and SDM, and only the first query for a subscriber will involve the SLF. In placing the SLF outside the SDM the trade off is reducing the latency of that initial query against increased distributed data management complexity imposed on the SDMs. 
       FIG. 4  shows the functioning of proxy SLF  30  according to the present invention. Note that this figure, and subsequent figures, shows a Cx interaction between AM  20  and an SDM  24 . The present invention applies equally to Sh and other interfaces between a network element and subscriber data server in an IMS network. 
     At step  1 , AM  20  sends the Cx query to SLF  30 . The query includes as a parameter the identity of the user for whom subscription data is being queried. The SLF looks up the user identity in its database to identify an SDM (SDM B) at which subscription data for the user may be found and at step  2  proxies the Cx query to the identified SDM. At step  3 , the SDM returns the Cx response to the SLF which forwards the response to the AM at step  4 . Optionally, the SDM adds its address as a new “tag” attribute value pair (AVP) in the response message so that the AM can extract the AVP and cache the SDM address for subsequent queries. Alternatively, the AM can interpret the origin-host AVP and cache the SDM address for subsequent queries without the SDM adding it&#39;s address as a new “tag”. This enables the AM to send subsequent subscription data queries to the appropriate SDM directly. 
     As a result, the proxy SLF presents itself to network elements such as the AM as an SDM service, as opposed to the re-direct approach where the SLF presents itself as a separate service. Also, the network elements need not be aware that there is a partitioning of the SDM service. 
       FIG. 5  shows the functioning of proxy SLF  30  co-located with its regional SDM  24  according to the present invention in contrast to the functioning of re-direct SLF  22  where queries are for “local” subscribers. Where the subscriber is in the local SDM, the first query is more efficient in the proxy SLF approach of the present invention since the Cx query is not re-directed back to AM  20  but proxied by SLF  30  to SDM  24 —in this case SDM A. Since SDM A and SLF  30  are co-located, this is very efficient. Subsequent queries can be sent to correct SDM based on a “tag” AVP in the Cx response message providing the address of SDM A. 
     Network architecture is based on assumption that bulk of subscriber activity will be in “home” region and therefore with “home” SDM, so the proxy approach is expected to be more efficient than the re-direct approach in this respect. 
       FIG. 6  shows the functioning of proxy SLF  30  co-located with its regional SDM  24  according to the present invention in contrast to the functioning of re-direct SLF  22  where queries are for “remote” subscribers. Where the AM needs to establish a session to a subscriber in a “remote” SDM region, the first Cx query needs to be routed in either case. According to the present invention, SLF  30  proxies the Cx query to SDM B which returns a response to the AM via the SLF. Optionally, the SDM adds its address as a new “tag” attribute value pair (AVP) in the response message so that the AM can extract the AVP and cache the SDM address for subsequent queries. Alternatively, the AM can interpret the origin-host AVP and cache the SDM address for subsequent queries without the SDM adding its address as a new “tag”. It can be seen that both schemes are roughly equivalent in terms of efficiency. 
       FIG. 7  shows the functioning of an SLF co-located with its regional SDM according to the present invention where subscription data has been re-homed. When a subscription record for a user is moved from SDM A to SDM B, proxy SLF  30  provides a means to dynamically inform a network element such as AM  20  of the new SDM address. When AM  20  send its Cx query to proxy SLF  30  co-located with SDM A at step  1  (either because this is its first query or because it has received an error on attempting to direct a query to SDM A directly), SLF  30  proxies (step  2 ) the query to SLF  32  which forwards (step  3 ) the query to SDM B. The response is then returned (steps  4 - 6 ) to AM  20  via SLFs  32  and  30 . Alternatively, SLF  30  may proxy the response directly to SDM B and receive a response directly.