Abstract:
A method and arrangement in a User Data Repository, UDR, ( 30 ) for selecting an Application Front End ( 34   a - 34   e ) in a communication network to receive an event notification. An associated Application Type and Group Identifier, identifying an accessible portion of the network, are stored in a database ( 88 ) for each of a plurality of Application Front Ends. The Group Identifiers may be updated in the database if predefined conditions ( 87 ) are met, for example when a UDR operation requests modifying user data. When a subsequent event notification procedure is initiated, the UDR ( 30 ) selects an Application FE to receive the event notification based on the Application Type and Group Identifier of the selected Application FE. Load-distribution weights may also be assigned to each of the Application FEs, and may be considered in the selection process.

Description:
RELATED APPLICATIONS 
       [0001]    This application claims the benefit of U.S. Provisional Application No. 61/186,240 filed Jun. 11, 2009. 
     
    
     TECHNICAL FIELD 
       [0002]    The present invention relates generally to communication networks, and in particular, to a system and method for managing User Data Convergence (UDC) notifications between a User Data Repository (UDR) and a plurality of Application Front Ends (Application FEs) in a communication network. 
       BACKGROUND 
       [0003]    User Data Convergence (UDC) is currently is being developed by the Third Generation Partnership Project (3GPP). The technical specification 3GPP TS 23.335 describes the technical realization of UDC, which separates the user data from the application logic of different network elements. A User Data Repository (UDR) provides a centralized database, which is accessed by different Application FEs. 
         [0004]      FIG. 1  is a simplified block diagram of a generic UDC architecture  10 . The user data is stored in the UDR  11 . Application Front Ends (FEs)  12   a - 12   c  are data-less functional entities. The Application FEs retain the application logic of functional network entities such as a Home Location Register (HLR), Home Subscriber Server (HSS), Authentication Center (AUC), Application Server (AS), Provisioning system, and the like, but do not locally store user data permanently. The Application FEs may handle one or several applications simultaneously. The UDC architecture interfaces with a Core Network, Service Layer, and Operation and Support System (OSS)  13  via protocols  14  such as Diameter, Mobile Application Protocol (MAP), Session Initiation Protocol (SIP), or other suitable protocols. A requirement of the UDC implementation is to minimize the impact on the existing network. 
         [0005]      FIG. 2  is a simplified block diagram of a UDC architecture in which the UDR  11  provides user data for a plurality of Application FEs implemented as HLR-FEs  21   a - 21   c.  The HRL-FEs, in turn, support a plurality of MSC/VLRs  22   a - 22   e.  As it is apparent, each Application FE is configured with an individual identifier usually known as “FrontEnd Identifier”, which is used to establish communications with other entities of the architecture. The interface  23  between the UDR and the HLR-FEs supports notifications functionality which allows the UDR to notify a relevant HLR-FE about specific events which may occur to specific user data in the UDR. The events may be changes to existing user data, addition of user data, and so on. The core network and service layer applications may explicitly subscribe to these notifications. For example, an AS (as an example of Application FE) may subscribe to receive changes to specific user data. Alternatively, the core network and service layer applications may implicitly subscribe to notifications according to the UDC concept. For example, a notification that a user is located and his location may be administratively cancelled. 
         [0006]    It is assumed that any Application FE of a specific application type such as “HLR” is suitable for handling notifications towards any of the elements in the Core Network/Service Layer/OSS associated with that application type. Thus, in  FIG. 2  it is assumed that the UDR  11  can notify any HLR-FE  21   a - 21   c  of a user data change, and the notified HLR-FE can notify any of the MSC/VLRs  22   a - 22   e  regardless of the conditions (e.g., the user&#39;s geographical location). Therefore, the UDR is not concerned about sending the notification to a specific HLR-FE. 
         [0007]    Some operators with large networks, however, may utilize a routing hierarchy in which their overall network is divided into a number of area networks connected, for example, by Signaling Transfer Points (STPs). In this network configuration, an HLR-FE in a first area network might not have a “direct” signaling connection to an MSC/VLR in a second area network, but an “indirect” connection wherein the signaling is routed through one or more STPs. Also, given that meshing all-with-all the nodes in a communications network usually requires complex and expensive developments, it might happen than an HLR-FE might not have signaling connections with e.g. all the MSC/VLRs in other geographical location areas. Thus, for a data change affecting a particular MSC/VLR, the UDR must manage its HLR-FE selection so that the UDR does not select an HLR-FE that is not capable of reaching the affected MSC/VLR. 
       SUMMARY 
       [0008]    Currently there is no mechanism specified in 3GPP to solve this problem, since it is assumed that all Application FEs will reach all defined area networks. In the current specification, the UDR selects any Application FE to send notifications on data changes (e.g., provisioning), regardless of the user and regardless of the “location” of the user. Therefore, the UDR may send notifications to an Application FE that cannot provide it to the network element where the notification is needed. The present invention provides a method and arrangement for managing UDC notifications between the UDR and a plurality of Application FEs, which solves this problem. 
         [0009]    In one embodiment, the present invention is directed to a method in a UDR for selecting an Application FE from a plurality of Application FEs in a communication network to receive an event notification. The method includes the step of populating a database with an Application Type and Group Identifier associated with each of the plurality of Application FEs, wherein each Group Identifier identifies a different portion of the communication network accessible through the associated Application FE. The method also includes subsequently initiating an event notification procedure to report a change of user data for an identified user; and selecting an Application FE to receive the event notification based on the Application Type and Group Identifier of the selected Application FE. The database may be populated by storing the Application Type and Group Identifier for each of the Application FEs when a UDR operation request is received from one of the Application FEs. The Group Identifier for a given Application FE may be updated in the database if predefined conditions are met. 
         [0010]    Optionally, the method may include assigning a load-distribution weight to each of the plurality of Application FEs, and also basing the selection of the Application FE on the assigned load-distribution weights. 
         [0011]    In another embodiment, the present invention is directed to an arrangement in a UDR for selecting an Application FE from a plurality of Application FEs in a communication network to receive an event notification. The arrangement includes means for populating a database with an Application Type and Group Identifier associated with each of the plurality of Application FEs, wherein each Group Identifier identifies a different portion of the communication network accessible through the associated Application FE; means for subsequently initiating an event notification procedure to report a change of user data for an identified user; and means for selecting an Application FE to receive the event notification based on the Application Type and Group Identifier of the selected Application FE. The means for populating the database may be adapted to store the Application Type and Group Identifier for each of the Application FEs when a UDR operation request is received from one of the Application FEs. The Group Identifier for a given Application FE may be updated in the database if predefined conditions are met. 
         [0012]    Optionally, the means for selecting an Application FE to receive the event notification may be adapted to also select the Application FE based on load-distribution weights assigned to each of the plurality of Application FEs, wherein a given Application FE is assigned a high load-distribution weight if the given Application FE has a direct connection to a service node serving the identified user, and is assigned a low load-distribution weight if the given Application FE has only an indirect connection to the service node serving the identified user. 
         [0013]    The present invention advantageously takes into account network topology considerations for UDR notification-related purposes. The invention covers deployments in which not all core network elements are connected to all involved Application FE(s). The invention provides flexibility for UDR notification-related load distribution mechanisms by using the GroupId and the load-distribution weight. As a result, the notification-related load can be distributed accordingly. The invention also provides a scalable solution for UDR notification-related purposes because only a modification in the UDR configuration of the involved GroupId is required in order to add more Application FEs. Finally, the invention provides a fault tolerance solution for UDR notification-related purposes because the UDR can select among all Application FEs sharing a specific GroupId value to issue a notification. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0014]      FIG. 1  is a simplified block diagram of a generic UDC architecture; 
           [0015]      FIG. 2  is a simplified block diagram of a UDC architecture in which the UDR provides user data for a plurality of FEs implemented as HLR-FEs; 
           [0016]      FIG. 3  is a simplified block diagram of a UDC architecture suitable for implementing the present invention; 
           [0017]      FIG. 4  is a flow chart illustrating the steps of an embodiment of a method of determining whether to update the GroupId attribute when a UDR operation is requested; 
           [0018]      FIG. 5  is a simplified block diagram of a UDC architecture in which an operator has different S-CSCF vendors; 
           [0019]      FIG. 6  is a signal flow diagram illustrating a method of registering and de-registering a user in an embodiment of the present invention; 
           [0020]      FIG. 7  is a simplified block diagram of a User Data Repository (UDR) modified in accordance with the teachings of the present invention; and 
           [0021]      FIG. 8  is a flow chart illustrating the steps of an exemplary embodiment of the method of the present invention. 
       
    
    
     DETAILED DESCRIPTION 
       [0022]      FIG. 3  is a simplified block diagram of a UDC architecture suitable for implementing the present invention. An operator&#39;s overall network is divided into a first area network (Area Network  1 )  31  and a second area network (Area Network  2 )  32  connected by a Signaling Transfer Point (STP 1 )  33 . In this network configuration, a modified UDR  30  provides user data for a plurality of Application FEs implemented as HLR-FEs  34   a - 34   e.  The HRL-FEs, in turn, support a plurality of MSC/VLRs  35   a - 35   e.  However, not all of the HLR-FEs are able to reach all of the MSC/VLRs. For example, HLR-FE 5  located in Area Network  2  is unable to reach MSC/VLR 1  or MSC/VLR 2  located in Area Network  1 . In some other cases, some HLR-FEs are able to reach MSC/VLRs indirectly only through STP 1 . For example, HLR-FE 3  located in Area Network  2  is able to reach MSC/VLR 1  located in Area Network  1  only through STP 1 . In these cases, even though access is possible, the operator may desire to use the shortest path to reach MSC/VLR 1 . For example, HLR-FE 3  might not be the best choice to reach MSC/VLR 1 , since the “direct” paths from HLR-FE 1  or HLR-FE 2  are more optimal, as they do not require routing signaling through any STP. 
         [0023]    To ensure that notifications reach the applicable MSC/VLR and to ensure that optimal paths are utilized, the UDR must make a routing determination when deciding where to send an issued notification. For example, when the Core Network decides a circuit-switched/packet-switched (CS/PS) user is going to be managed by a MSC/VLR located in Area Network  1 , a “MAP Location Update” operation is sent from MSC/VLR 1  or MSC/VLR 2  towards HLR-FE 1  or HLR-FE 2  (normal case). Later, the UDR may need to send an HLR-related notification for this user. For example, a CS/PS-related attribute for this user has been changed in the UDR by the provisioning entity and this new data needs to be updated in the MSC/VLR element currently “hosting” this user. In this case, the optimal choice would be for the UDR to select HLR-FE 1  or HLR-FE 2  to deliver the notification to MSC/VLR 1  or MSC/VLR 2 . HLR-FE 3  or HLR-FE 4  would not be the best choice since the final MAP operation triggered by this UDR notification would have to go through STP 1  to reach MSC/VLR 1  or MSC/VLR 2 , which may not be desired due to latency reasons. Note that the UDR should never send the notification related to this CS/PS user to HLR-FE 5 , since HLR-FE 5  has no connection to STP 1  and thus no way to reach any MSC/VLR located in Area Network  1 . 
         [0024]    The present invention introduces new parameters for configuring Application FEs in an operator&#39;s network. Additional information is stored in the UDR  30  that enables the UDR to select the proper Application FE(s) to which to send an issued notification, for example, when data of a certain user is/are modified. 
         [0025]    According to 3GPP TS 23.335, each Application FE in an operator&#39;s network is configured defining its Application Type (e.g., AppType=HLR-FE, AppType=HSS-FE, and the like). The present invention also configures the Application FEs with a new parameter in the UDR: a “Group Identifier” (GroupId), which is associated with the “Area Network(s)” the Application FEs serve. If a particular Application FE serves more than one Area Network, the particular Application FE is configured in the UDR with a GroupId for each Area Network served. For example, HLR-FE 3  in  FIG. 3  is configured to belong to Area Network  2 , but may also be configured to belong to Area Network  1  since HLR-FE 3  can connect indirectly with MSC/VLRs in Area Network  1  through STP 1   33 . 
         [0026]    As an example, all HLR-FEs may be configured with “AppType=HLR-FE” (the same AppType value for all), and they may be grouped in “Area Networks”. Thus, all HLR-FEs deployed in the same Area Network share the same GroupId value, which is assigned to that Area Network. This information may be stored in the UDR or in a database accessible by the UDR. When an HLR-FE sends a retrieve/update request towards the UDR (commonly referred herein as “UDR operation request”), the UDR may obtain from the request, the AppType and GroupId values associated with the requesting HLR-FE. Preferably, the Application Type (AppType) of a certain Application FE is derivable from its Frontend Identifier, or from its corresponding Group Identifier (GroupId). 
         [0027]    It should be noted that if LDAP is the UDR data-access interface, this may be accomplished by defining different “directory access credentials” entries, each having a specific AppType value and a specific GroupId value. All HLR-FEs establishing an LDAP session using the same “directory access credentials” entry share the same AppType and the same GroupId. 
         [0028]    When an MSC/VLR requests to retrieve/update CS/PS user data through a selected HLR-FE, or when an S-CSCF requests to retrieve/update IMS user data through a selected HSS-FE, the selected HLR-FE or HSS-FE accesses the UDR to retrieve/update the CS/PS user related data by means of a —so called— UDR operation request (e.g., a LDAP operation). The UDR checks this requested operation and determines whether or not to store at the user level (i.e., as a part of the data held by the UDR in relationship with a user), the GroupId value(s) associated with the selected HLR-FE or HSS-FE for the involved AppType. For example, each time an HLR-FE requests an operation towards the UDR to update the “CS Location Data” for a specific user (i.e., to update the user attribute storing the MSC/VLR entity currently managing that user), the UDR updates for that involved user the GroupId value associated with AppType=HLR-FE with the GroupId value(s) assigned to the specific HLR-FE issuing this update request. 
         [0029]    Thereafter, the stored [AppType,GroupId value(s)] pair identifies for each stored/managed user in the UDR, the group of Application FEs of a specific Application Type that are available for reporting an issued notification related to this AppType for a particular user. The UDR may then utilize a pre-configured deterministic algorithm to load-distribute the notifications among the identified Application FEs. If all Application FEs for the specific AppType are equally valid for a certain area, the UDR does not need to be configured with the list of possible Application FEs since any Application FE may be used. 
         [0030]    It should be noted that the stored [AppType,GroupId value(s)] pair applies to any notification to be issued for this user from the UDR to an Application FE (or group of Application FEs) belonging to this AppType. Thus, the [AppType, GroupId value(s)] pair is tied to the “user” and to a specific AppType, but not to any specific group of user-related attributes. 
         [0031]      FIG. 4  is a flow chart illustrating the steps of an embodiment of a method of determining whether to update the GroupId attribute when a UDR operation is requested at step  41 . The UDR operations, as requested from any of the FEs (e.g. HLR-FEs  34   a - 34   e ) to the UDR, include an identifier usable for addressing data of the concerned user(s) in the UDR. For each AppType known by the UDR, a set of criteria/conditions is specified for determining whether or not the UDR is to store/update the GroupId value(s) of the last Application FE requesting to retrieve/update data of a specific user (referred herein as “user application data”, or “user data”). The conditions illustrated in  FIG. 4  are exemplary only, and additional conditions may also be considered when determining whether or not the UDR is to store/update the GroupId value(s) of the last Application FE requesting to retrieve/update user data for a specific user. 
         [0032]    At step  42 , it is determined whether the Application Type (AppType) associated with the Application FE sending the request is associated with a particular Area Network. For example, an AppType=HLR or AppType=HSS may require updating since HLRs and HSSs are associated with particular Area Networks. If the AppType is not associated with a particular Area Network, the method moves to step  43 , and the GroupId value is not updated. If the AppType is associated with a particular Area Network, the method moves to step  44 , where it is determined whether the database operation being requested by the Application FE is an originating request such as an update or create request, or a terminating request such as a retrieve or delete request. Typically, when the requested operation is an update, the UDR stores the GroupId value(s) since this information is relevant for knowing which Application FE is handling the user for originating requests (for example, IMS registration). For terminating requests, the operation performed is a data retrieve, which typically does not result in updating the GroupId in the UDR. Therefore, if the database operation being requested by the Application FE is a terminating request, the method moves to step  43 , and the GroupId value is not updated. 
         [0033]    If the database operation being requested by the Application FE is an originating request, the method moves to step  45 , where it is determined whether the user application data being modified is relevant to the GroupId. This (relevant/not-relevant) factor may depend on the type of data being modified, and can be an attribute associated in the UDR to certain data types, such as user location related data (e.g., assigned MSC/VLR name, or assigned S-CSCF name, user data related to certain services, etc). For example, if the S-CSCF name where a user is registered changes, the UDR stores the GroupId value because the user may have moved to another area (i.e., having a different GroupId value). Alternatively, if user data such as the user&#39;s forwarded-to number changes as a result of the operation, the UDR does not need to store/overwrite the GroupId value. Therefore, if the user application data being modified is not relevant to the GroupId, the method moves to step  43 , and the GroupId value is not updated. 
         [0034]    If the user application data being modified is relevant to the GroupId, the method moves to step  46 , where it is determined whether the requested operation was successful in the UDR. If not, the method moves to step  43 , and the GroupId value is not updated. If the requested operation was successful in the UDR, the method moves to step  47  where the GroupId value is updated. 
         [0035]    Applicable conditions may be configured in the UDR associated with each AppType. For example, a set of conditions can be configured for AppType=HLR-FE; a set of conditions can be configured for AppType=HSS-FE; and so on. 
         [0036]    It should be noted that in 3GPP TS 23.335, the UDR is currently required to authenticate Application FEs connecting to it and thus already stores authentication data for each Application FE. The new GroupId value is an additional attribute associated with each Application FE to be managed in the UDR. 
         [0037]    Referring again to  FIG. 3 , an example of configuration parameters describing the deployed HLR-FEs  34   a - 34   e  configured in the UDR  30  is as follows:
       HLR-FE 1  -&gt;[AppType=HLR-FE, GroupId=AN 1 ]   HLR-FE 2  -&gt;[AppType=HLR-FE, GroupId=AN 1 ]   HLR-FE 3  -&gt;[AppType=HLR-FE, GroupId=AN 2 ]   HLR-FE 4  -&gt;[AppType=HLR-FE, GroupId=AN 2 ]   HLR-FE 5  -&gt;[AppType=HLR-FE, GroupId=AN 2 ]       
 
         [0043]    Load distribution weights may also be stored for each Application FE. The weights may indicate the desirability of selecting a particular Application FE to send a notification to a particular user. According to the pre-configured GroupId values above, and with load-distribution weights also included, the UDR configuration for notification distribution purposes may be as follows: 
         [0044]    (1) AppType=HLR-FE, GroupId=AN 1 
       HLR-FE 1  (load-distribution weight: 100)   HLR-FE 2  (load-distribution weight: 100)   HLR-FE 3  (load-distribution weight: 1)   HLR-FE 4  (load-distribution weight: 1)       
 
         [0049]    (2) AppType=HLR-FE, GroupId=AN 2 
       HLR-FE 1  (load-distribution weight: 1)   HLR-FE 2  (load-distribution weight: 1)   HLR-FE 3  (load-distribution weight: 100)   HLR-FE 4  (load-distribution weight: 100)   HLR-FE 5  (load-distribution weight: 100)       
 
         [0055]    Note that HLR-FE 5  is not included in the list for GroupId=AN1 because HLR-FE 5  is not capable of connecting to any MSC/VLR in Area Network  1 . Note also that HLR-FEs that must connect to MSC/VLRs in the associated Area Network through STP 1  are assigned a low load-distribution weight, while HLR-FEs that connect directly to the MSC/VLRs in the associated Area Network are assigned a high load-distribution weight. Of course, other load-distribution weights are possible in order to consider additional factors when selecting an FE. 
         [0056]    Finally, the conditions in this example to update the GroupId attribute (managed at the user level) for AppType=HLR-FE may be as follows: 
         [0057]    “Set of conditions” to update GroupId value for AppType=HLR-FE
       Operation requested: Update   AND   User data: CS/PS location data   AND   Operation result: success.       
 
         [0063]    It should be noted that this set of conditions assures that when a MAP Location Update operation is issued for a specific user from an MSC/VLR towards a selected HLR-FE, the UDR  30  stores the GroupId value for the selected HLR-FE and associates it with the specific user. 
         [0064]    When the UDR is configured as shown above, and a user is being managed by an MSC/VLR located in Area Network  1 , and a notification associated with AppType=HLR-FE needs to be sent by the UDR towards an HLR-FE, the deterministic notification distribution algorithm configured in the UDR will distribute approximately 50 percent of notifications to HLR-FE 1  and approximately 50 percent to HLR-FE 2 . In only a very few cases (for example when HLR-FE 1  and HLR-FE 2  are not reachable), the UDR will send the notification to HLR-FE 3  or HLR-FE 4 , which forwards the notification through the STP 1  to MSC/VLR 1  or MSC/VLR 2 , as appropriate. In a similar manner, when a user is being managed by an MSC/VLR located in Area Network  2 , notifications will normally be sent to HLR-FE 3 , HLR-FE 4 , or HLR-FE 5  applying load sharing among them. In only a very few cases (for example when HLR-FE 3 , HLR-FE 4 , and HLR-FE 5  are not reachable), the UDR will send the notification to HLR-FE 1  or HLR-FE 2 , which forwards the notification through the STP 1  to MSC/VLR 3 , MSC/VLR 4 , or MSC/VLR 5 , as appropriate. 
         [0065]      FIG. 5  is a simplified block diagram of a UDC architecture in which an operator has different S-CSCF vendors. S-CSCF 1  and S-CSCF 2   51   a  and  51   b  are provided by Vendor 1   52 . S-CSCF 3 , S-CSCF 4 , and S-CSCF 5   51   c - 51   e  are provided by Vendor 2   53 . The S-CSCFs may be provided by different vendors, for example, because S-CSCF 1  and S-CSCF 2  are intended to serve specific users who can make use of presence service and priority service, only supported by Vendor 1 . The operator has a private and distributed network to provide these services. 
         [0066]    The UDR  30  in this example connects to the various S-CSCFs through a plurality of HSS-FEs  54   a - 54   e  and through Diameter Proxy 1  and Diameter Proxy  2   55   a  and  55   b.  A method of utilizing this architecture is described below referring to  FIG. 6 . 
         [0067]      FIG. 6  is a signal flow diagram illustrating a method of registering and de-registering a user in an embodiment of the present invention. With reference to  FIGS. 5 and 6 , a user who subscribes to priority service through Vendor 1   52  (for example, a user who can request prioritization for certain calls in case the network is handling a high traffic load) performs IMS registration at step  61 . Since only S-CSCF 1   51   a  and S-CSCF 2   51   b  are capable of serving this user, an Interrogating CSCF (I-CSCF)  62 , which receives the Register message from the user, selects either S-CSCF 1  or S-CSCF 2  (in a load balancing configuration) during the registration procedure shown in steps  63 - 66  according to capabilities needed for the user. In this example, S-CSCF 1  is selected and the Register message is forwarded to S-CSCF 1  in steps  67 - 68 . 
         [0068]    When HSS-FE 1   54   a  receives the diameter request from S-CSCF 1  at step  68 , HSS-FE 1  sends an update command at step  69  to the UDR  30  to set the S-CSCF name where the user is served. The registration status is also changed. Note that since HSS-FE 1  belongs to a new GroupId (i.e., Vendor 1 ), the operator may configure different access rules than for S-CSCF 3  (belonging to Vendor 2 ). This may be needed to ensure priority service for the user. Upon receiving the update command, the UDR checks the conditions to store/not store the GroupId at step  70 . Since the user was not previously registered, the condition is that the S-CSCF name is being updated. The UDR then stores the GroupId (Vendor 1 ) and the AppType=HSS. 
         [0069]    At a later time, the operator may decide to remove the priority service from the user. In this case, the user now may be served by any of the S-CSCFs of Vendor 2 . If the operator decides to move the user to an S-CSCF of Vendor 2 , the capability needed for this user is changed to do so. Since the capability of the user has changed, the operator administratively de-registers the user at step  71  so that a new S-CSCF is assigned. The conditions configured in the UDR (registration status is changed by application type=provisioning) trigger a notification towards an HSS-FE with the new status (not registered) and the S-CSCF name (S-CSCF 1 ). By using the GroupId stored for the user for AppType=HSS, the UDR has the list of suitable HSS-FEs to send the notification (HSS-FE 1  and HSS-FE 2 ). The priority/weight configured for both of them is the same, so the UDR selects HSS-FE 2   54   b  and sends the notification at step  72 . Following an acknowledgment at step  73 , HSS-FE 2  sends a de-registration command towards S-CSCF 1  at step  74 . 
         [0070]    The user is informed about this de-registration, so the User Equipment (UE) performs a new registration using procedures similar to those above. In such procedures (not shown), the I-CSCF selects a suitable S-CSCF for the user based on the new capability. For example, S-CSCF 4  may be selected, which sends a diameter request to an HSS-FE such as HSS-FE 5   54   e.  Upon receiving the subsequent update command from HSS-FE 5 , the UDR  30  checks the conditions to store/not store the GroupId. The condition is that the data updated is S-CSCF name (since the user was not registered, the S-CSCF name was empty). The UDR therefore stores the GroupId (Vendor 2 ) and the AppType=HSS. 
         [0071]      FIG. 7  is a simplified block diagram of the UDR  30  modified in accordance with the teachings of the present invention. Operation of the UDR may be controlled by a processor  81  running computer program software stored on a program memory  82 . The UDR may utilize an Application FE Interface Unit  83  to communicate with Application FEs such as HLR-FE 1  through HLR-FE 5   34   a - e,  as described above in connection with  FIG. 3 . When a UDR operation request is received from an Application FE, an Authentication Unit  84  may utilize stored authentication data  85  to authenticate the requesting Application FE. If the UDR operation request is the first request received from this Application FE, a Storage Determining Unit  86  stores an FE AppType and GroupId for the requesting Application FE in an FE AppType/GroupId Table  87 . If this is not the first UDR operation request from this Application FE, the Storage Determining Unit may utilize predefined storage conditions  88  to determine whether to store updated GroupId information for this requesting Application FE, as shown and described above in connection with  FIG. 4 . Upon a positive determination, the Storage Determining Unit updates the GroupId information in the FE AppType/GroupId Table. Subsequently, when a UDC event notification regarding specific user data needs to be sent to a relevant Application FE, an Application FE Selector  89  then accesses the information in the FE AppType/GroupId Table to select an appropriate Application FE to receive the event notification. 
         [0072]      FIG. 8  is a flow chart illustrating the steps of an exemplary embodiment of the method of the present invention. At step  91 , each Application FE is assigned an AppType, GroupId, and load-distribution weight as described above. At step  92 , the UDR receives a UDR request from an Application FE. At step  93 , the UDR authenticates the Application FE. At step  94 , it is determined whether this request is the first UDR operation request received from this Application FE. If the UDR operation request is the first request received from this Application FE, the method moves to step  95  where the UDR stores an FE AppType and GroupId for the requesting Application FE. If this is not the first UDR operation request from this Application FE, the method moves to step  96  where the UDR may utilize predefined storage conditions to determine whether to store updated GroupId information for this requesting Application FE. If the request meets the predefined storage conditions, the UDR updates the GroupId information in the FE AppType/GroupId Table at  95 . Subsequently, when a UDC event notification regarding specific user data needs to be sent to a relevant Application FE at  97 , the UDR accesses the stored FE AppType/GroupId information and optionally uses it together with load-distribution weights to select an appropriate Application FE to receive the event notification at  98 . 
         [0073]    The present invention may of course, be carried out in other specific ways than those herein set forth without departing from the essential characteristics of the invention. The present embodiments are, therefore, to be considered in all respects as illustrative and not restrictive and all changes coming within the meaning and equivalency range of the appended claims are intended to be embraced therein.