Abstract:
A method and system for facilitating HLR access includes receiving a query request from a query entity, processing the query request to yield an SS7 request message, dispatching the SS7 request message to a HLR, receiving an SS7 response message from the HLR, constructing a query response, and returning the query response to the query entity.

Description:
[0001]     This application claims the benefit of U.S. Provisional Patent Application No. 60/623,861, filed on Nov. 2, 2004, which is herein incorporated by reference in its entirety. 
     
    
     BACKGROUND  
       [0002]     1. Field of the Invention  
         [0003]     The present invention relates generally to telecommunications services. More particularly, the present invention facilitates the issuance of inquiries to, along with the appropriate processing of responses that are received from, Home Location Register (HLR) facilities and other similarly-situated facilities.  
         [0004]     2. Background of the Invention  
         [0005]     A wireless telecommunications environment contains a number of different elements. While the precise nature, makeup, organization, etc. of the elements within a particular environment may vary depending upon the technology at play—e.g., Global System for Mobile communications (GSM), Code Division Multiple Access (CDMA), Time Division Multiple Access (TDMA), etc.—the portions of a wireless telecommunications environment that are of interest and importance to the present discussion may be illustrated through the high-level ‘generalized’ diagram (of a portion of a hypothetical Wireless Carrier&#39;s [WC&#39;s] environment) that is presented in  FIG. 1 .  
         [0006]     As appropriate and as required, additional more detailed information may be obtained from any number of sources including, inter alia, references such as “Wireless and Mobile Network Architectures” by Lin and Chlamtac (John Wiley &amp; Sons, Inc., 2001) and on-line treatises.  
         [0007]     For purposes of completeness the following elements are noted in the high-level diagram that is presented in  FIG. 1 :  
         [0008]     A) Mobile Subscriber (MS)  102 . For example, a user of a cellular telephone.  
         [0009]     B) Base Station (BS). A logical aggregation of, for example, controller (e.g., Base Station Controller [BSC]) functionality and transmitter/receiver (e.g., Base Transceiver Station [BTS]) functionality that realizes a ‘cell’ which services one or more MSs. Four BSs are depicted in  FIG. 1 —BSa  112  (along with its cell  104 ), BSb  114  (along with its cell  106 ), BSc  118  (along with its cell  110 ), and BSd  116  (along with its cell  108 ).  
         [0010]     C) Mobile Switching Center (MSC)  128 . A specialized switching system that, in the instant depiction, supports or services the four BSs BSa  112 , BSb  114 , BSc  118 , and BSd  116  (through the connections  120 ,  122 ,  126 , and  124  respectively).  
         [0011]     D) Visitor Location Register (VLR)  130 . A repository containing selected temporary or transient information for those specific MSs that are currently being serviced by the VLR&#39;s associated MSC  128 .  
         [0012]     E) HLR  132 . A permanent repository containing identifying, profile, subscription, etc. information for all of the MSs within the instant WC&#39;s environment.  
         [0013]     F) Signaling System Number 7 (SS7) Cloud  134 . Access to the various interconnected SS7 networks.  
         [0014]     G) Public Switched Telephone Network (PSTN) Cloud  136 . Access to the various interconnected public (land-line, etc.) telecommunications networks.  
         [0015]     H) Land Subscriber (LS)  138 . For example, a user of a fixed- or land-line telephone.  
         [0016]     Central amongst the elements that are depicted in the hypothetical WC&#39;s environment in  FIG. 1  is the HLR facility  132 . A WC&#39;s HLR serves as something of a ‘magic decoder ring’ of sorts from which key MS information may be retrieved and through which critical activities may be completed. Illustrative uses include, inter alia:  
         [0017]     A) Confirming that a WC does in fact currently own or service a MS. This is of critical importance given, for example, the increasing presence of Number Portability (NP) regimes.  
         [0018]     B) Confirming the specific services, options, etc. that a MS has elected and for which (e.g., based on things such as current account balances, etc.) a MS is presently eligible.  
         [0019]     C) Ascertaining the current physical location of a MS (e.g., what MSC currently services the MS) and, as a consequence, identifying the viable routing and call/message delivery options that are available at that moment in time.  
         [0020]     D) Ascertaining whether a MS is currently roaming outside of, or away from, her home WC.  
         [0021]     E) Supporting the proper routing and delivering of telephone calls.  
         [0022]     F) Supporting the proper routing and delivering of (e.g., Short Message Service [SMS] and Multimedia Message Service [MMS] and other) messages.  
         [0023]     An HLR is typically accessed via SS7. As a result, the various activities that were described in A--&gt;F above are commonly accomplished through an exchange of Mobile Application Part (MAP) and other request and response SS7 messages. One specific MAP message that is of interest is the SendRoutingInformation (SRI) message, which is: 
        1) Realized as LocationRequest or LOCREQ (and defined in the Telecommunications Industry Association [TIA]/Electronic Industries Alliance [EIA]−41-D specification) for an American National Standards Institute (ANSI) flavor of SS7 (as used domestically).        
 
         [0025]     2) Realized as MAP_SEND_ROUTING_INFO (and defined in the International Telecommunication Union [ITU] Q.771-Q.775 specifications) for an ITU flavor of SS7 (as used internationally).  
         [0026]     Access to a WC&#39;s HLR is typically very tightly controlled by the WC. This is due partly to the critical importance of an HLR (as described above), partly to the mechanism that is used to access an HLR (typically involving the execution of reciprocal business agreements and the explicit granting of permissions and access rights via a trusted SS7 network), and partly to the sensitive MS-specific information and other proprietary business information that is housed in an HLR.  
         [0027]     Thus the conundrum . . . How does an interested entity (e.g., a third-party message delivery service) efficiently and seamlessly gain access to a range of WC&#39;s HLRs? The present invention provides a solution.  
       BRIEF SUMMARY OF THE INVENTION  
       [0028]     According to one exemplary aspect, the present invention relates to a method for facilitating HLR access, comprising receiving a query request from a query entity, performing one or more processing steps on the query request yielding an SS7 request message, dispatching the SS7 request message to a HLR, receiving an SS7 response message from the HLR, performing one or more processing steps on the SS7 response message yielding a query response, and returning the query response to the query entity.  
         [0029]     According to another exemplary aspect of the present invention, a system is disclosed for facilitating HLR access. The system includes a query entity, a query request, a query response, and an administration and management interface. The system is operable to accept a query request from a query entity, generate an SS7 request message, dispatch the SS7 request message to a HLR, receive an SS7 response message from the HLR, generate a query response, and dispatch the query response to the query entity, all under the control of operating rules that are dynamically configurable through an administration and management interface.  
         [0030]     These and other features of embodiments of the present invention will be more fully explained below in conjunction with the drawings. 
     
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0031]      FIG. 1  presents a high-level generalized diagram of a portion of a hypothetical WC&#39;s environment.  
         [0032]      FIG. 2  presents a high-level framework through which aspects of the instant invention may be illustrated.  
         [0033]      FIG. 3  presents a high-level illustration of one embodiment of the instant invention.  
         [0034]      FIG. 4  presents a high-level illustration of another embodiment of the instant invention. 
     
    
     DETAILED DESCRIPTION OF THE INVENTION  
       [0035]     To better understand the particulars of the present invention consider for a moment the following hypothetical example. In this example, which is illustrated at a high-level by the diagram that is presented in  FIG. 2 , the present invention serves as a key portion of a comprehensive ‘routing engine.’ A complete description of the features, capabilities, etc. of aspects of an illustrative ‘routing engine’ facility, a Message Routing Subsystem (MRS), may be found in pending U.S. patent application Ser. No. 10/831,329 (entitled “ AN INTERMEDIARY NETWORK SYSTEM AND METHOD FOR FACILITATING MESSAGE EXCHANGE BETWEEM WIRELESS NETWORKS ” filed with the U.S. Patent and Trademark Office [USPTO] on 26 Apr. 2004), and which is herein incorporated by reference in its entirety.  
         [0036]     Our hypothetical routing engine, which in the instant example is offered under an Application Service Provider (ASP)-like model, provides authoritative, real-time answers to queries such as ‘At this precise moment in time what WC owns or services the MS that resides at 1-703-555-1212?’ 
         [0037]     Referring to the diagram that is presented in  FIG. 2 , entities that are external to the ASP (E 1   202 --&gt;En  204 ), including for example third-party message processing services, and entities that are within the ASP (I 1   206 --&gt;In  210 ), including for example elements of the ASP&#39;s own message delivery service(s), connect with and submit inquiries to a consolidated Electronic Numbering (ENUM) facade  212 . The ENUM facade  212  abstracts away and otherwise isolates a range of behind-the-scenes complexities, including:  
         [0038]     A) A (e.g., Web-based) user interface  232  that provides comprehensive administration and management capabilities.  
         [0039]     B) A repository  224  containing (a) dynamically-updatable configuration and control information and (b) real-time usage and tracking information to support, inter alia, the possible billing of the external and/or internal entities (i.e., E 1   202 --&gt;En  204  and I 1   206 --&gt;In  210  respectively).  
         [0040]     C) A local cache  214 , wherein retrieved results may be optionally preserved for subsequent re-use. Additionally, configurable rules for the use of the cache and configurable logic controlling the aging and expiration of cache entries.  
         [0041]     D) An Internal LookUp Engine (ILUE)  216  through which the contents of the environment&#39;s Composite Routing Data (CRD) repository  230  may be accessed via one or more intermediate backing stores (Backing Store 1   226 --&gt;Backing Storen  228 ).  
         [0042]     E) An External LookUp Engine (ELUE)  218  through which external lookup, Telephone Number (TN) translation, etc. facilities (including, inter alia, foreign NP databases) may be accessed.  
         [0043]     The various external (E 1   202 --&gt;En  204 ) and internal (I 1   206 --&gt;In  210 ) entities may communicate with the ENUM facade using any number of mechanisms including, inter alia, a simple text-based request/response protocol, or a more robust (e.g., Extensible Markup Language [XML]-based) request/response protocol, riding atop a secured or an unsecured Internet Protocol (IP)-based or other channel. As one illustrative example, an external entity might communicate with the ENUM facade through an XML-based Application Programming Interface (API) over a secure HyperText Transfer Protocol (HTTP) connection while an internal entity (by benefit of it being internal) might communicate with the ENUM facade through an XML-based API over a regular HTTP connection. It will be readily apparent to one of ordinary skill in the relevant art that numerous other arrangements are easily possible.  
         [0044]     It is important to note that while two specific communications approaches are illustrated for the ELUE—IP-based  220  and SS7-based  222 —it will be readily apparent to one of ordinary skill in the relevant art that the addition of other communications approaches is easily possible.  
         [0045]     It is important to note that the indicated repositories or stores (Configuration  224 , Local Cache  214 , Backing Store 1   226 --&gt;Backing Storen  228 , CRD  230 , etc.) may be physically realized through any combination of, inter alia, traditional Relational DataBase Management System (RDBMS) solutions, in-memory database solutions, proprietary solutions, etc.  
         [0046]     Amongst other things, the ILUE  216  and ELUE  218  facilities encapsulate all of the data (through, for example, the CRD  230 ), application logic, etc. that is necessary to support, inter alia, all of the different TN numbering plans/schemes that are found around the world and all of the different NP regimes that are active around the world. These are, without risk of overstatement, not-insignificant matters.  
         [0047]     Using the service framework that was presented above, it is through the ELUE  218  facility that the present invention may be found. Focusing just on an SS7-based  222  communications model (but recognizing that other, for example IP-based  220 , communication models are easily possible) we turn to the high-level diagram that is presented in  FIG. 3 .  
         [0048]     As depicted in the diagram that is presented in  FIG. 3 , an array of Connection Manager (CM) processes (CM 1   308 --&gt;CMn  310 ) support connections (C 1   304 --&gt;Cn  306 ) with query entities; for example, an ELUE. Through an intermediate set of queues (Q 1   312 --&gt;Qn  314 ), which help to balance any fluctuations/etc. in the flow of incoming queries and outgoing responses, an array of Gateway Interface (GI) processes (GI 1   320 --&gt;GIn  324 ) communicate with mated SS7 Gateway (GW) instances (SS7 GW 1   326 --&gt;SS7 GWn  330 ) to:  
         [0049]     A) Retrieve a request for a query (e.g., ‘What WC owns or services the MS that resides at 1-703-555-1212?’) from a queue (Q 1   312 --&gt;Qn  314 ).  
         [0050]     B) Construct an outgoing SRI request SS7 message containing, possibly amongst other data elements or values, the TN (e.g., Mobile Directory Number [MDN] or Mobile Station International ISDN Number [MSISDN]) of the instant MS.  
         [0051]     C) Dispatch the outgoing SRI request message to an SS7 GW instance (GI 1   320 --&gt;GIn  324 ) for subsequent routing and delivery to the destination WC&#39;s (Carrier 1   338 --&gt;Carriern  344 ) HLR facility (HLR  342 --&gt;HLR  348 ) via the SS7 cloud  336 .  
         [0052]     D) Receive an incoming SRI response SS7 message from the SS7 GW (GI 1   320 --&gt;GIn  324 ).  
         [0053]     E) Extract key data elements, including possibly amongst other data elements the (e.g., E.164) address of the MSC that is currently servicing the instant MS, from the received SRI response SS7 message.  
         [0054]     F) Create a query response construct and populate it with the data elements that were extracted from the received SRI response SS7 message.  
         [0055]     G) Deposit the completed query response construct on a queue (Q 1   312 --&gt;Qn  314 ) for retrieval and subsequent return to the query initiator.  
         [0056]     A (e.g., Web-based) user interface  332  provides comprehensive administration and management capabilities. Additionally, a dynamically-updatable repository  318  of configuration and control information is available.  
         [0057]      FIG. 3  depicted an environment operating within the confines of a service provider (ASP)  302  for example potentially as one of several facilities supporting an ELUE. An alternative embodiment, supporting external query entities, may be illustrated by the diagram that is presented in  FIG. 4 . As depicted in the diagram that is presented in  FIG. 4 , an array of CM processes (CM 1   414 --&gt;CMn  416 ) support connections (C 1   404 --&gt;Cn  406 ) with external query entities; for example, various message routing/delivery components within a third-party&#39;s messaging service. The balance of the diagram that is presented in  FIG. 4  is the same as corresponding portions of the diagram that is presented in  FIG. 3  and therefore explanation (for the balance of the diagram that is presented in  FIG. 4 ) may be found in the  FIG. 3  narrative that was presented above.  
         [0058]     Thus the present invention provides something of a ‘screen’ behind which individual WCs may reside. Consider the simple case of numerous WCs and a single ASP that has implemented the present invention:  
         [0059]     A) A WC may establish a business relationship with, and subsequently execute all of the necessary (non-trivial) reciprocal agreements with, a single trusted entity (i.e., the ASP).  
         [0060]     B) A WC may grant, and subsequently manage, access rights, privileges, permissions, etc. to their HLR to a single trusted entity (i.e., the ASP).  
         [0061]     C) The ASP may optionally redact (based on dynamically updatable configuration or control information) portions of the data that is returned from a WC&#39;s HLR before populating a query response construct (thus protecting HLR information that a WC may deem to be confidential or otherwise sensitive).  
         [0062]     D) The ASP may track each and every query request/response exchange and subsequently bill each initiating query entity. One or more of the WCs that reside behind the ASP&#39;s ‘screen’ may optionally share in the revenue (through various dynamically configurable fund distribution schemes including, inter alia, flat-rate, simple percentage, complex percentage, etc.) that the ASP realizes.  
         [0063]     E) The ASP may absorb changes by WCs in HLR access models or paradigms (e.g., as WCs implement new protocols, etc. such as IP, SS7-over-IP, Signaling Transport [SigTran], etc.).  
         [0064]     In the facilities that were described above ( FIG. 3  and  FIG. 4 ) a query entity, either internal ( FIG. 3 ) or external ( FIG. 4 ), may communicate with a CM (CM 1   308 --&gt;CMn  310  in  FIG. 3  and CM 1   414 --&gt;CMn  416  in  FIG. 4 ) process through any number of mechanisms. For example, communication may take place through an XML-based API over an HTTP connection (possibly regular HTTP for internal entities, secure HTTP for external entities). It will be readily apparent to one of ordinary skill in the relevant art that numerous other mechanisms, along with alternative arrangements/etc. within a particular mechanism, are easily possible.  
         [0065]     In the facilities that were described above ( FIG. 3  and  FIG. 4 ) the intermediate queues (Q 1   312 --&gt;Qn  314  in  FIG. 3  and Q 1   418 --&gt;Qn  420  in  FIG. 4 ) may be configured to operate under any number of models or paradigms including, inter alia, First In First Out (FIFO), Last In First Out (LIFO), custom, etc. Additionally, individual queue entries may optionally be assigned a priority number or level to facilitate different queue entry retrieval orders (in support of, for example, free and/or fee-based value-add Quality of Service [QoS] offerings).  
         [0066]     In the facilities that were described above ( FIG. 3  and  FIG. 4 ) a local cache ( 316  in  FIGS. 3 and 422  in  FIG. 4 ) may optionally be employed. Such a cache may be used to hold or preserve retrieved results for subsequent re-use and would include, possibly amongst other items, the cache repository itself, configurable rules for the use of the cache, and configurable logic controlling the aging and expiration of cache entries.  
         [0067]     In the facilities that were described above ( FIG. 3  and  FIG. 4 ) it is important to note that the indicated repositories or stores (Configuration [ 318  in  FIGS. 3 and 424  in  FIG. 4 ], Local Cache [ 316  in  FIGS. 3 and 422  in  FIG. 4 ], etc.) may be physically realized through any combination of, inter alia, traditional RDBMS solutions, in-memory database solutions, proprietary solutions, etc.  
         [0068]     In the facilities that were described above ( FIG. 3  and  FIG. 4 ) a GI process (GI 1   320 --&gt;Gin  324  in  FIG. 3  and GI 1   426 --&gt;Gin  430  in  FIG. 4 ) was mated to an SS7 GW instance (SS7 GW 1   326 --&gt;SS7 GWn  330  in  FIG. 3  and SS7 GW 1   432 --&gt;SS7 GWn  436  in  FIG. 4 ). Under an alternative embodiment, since the underlying SS7 messaging is in fact idempotent, each GI process (GI 1   320 --&gt;Gin  324  in  FIG. 3  and GI 1   426 --&gt;GIn  430  in  FIG. 4 ) could be disassociated from a SS7 GW instance (SS7 GW 1   326 --&gt;SS7 GWn  330  in  FIG. 3  and SS7 GW 1   432 --&gt;SS7 GWn  436  in  FIG. 4 ) and a GI process (GI 1   320 --&gt;GIn  324  in  FIG. 3  and GI 1   426 --&gt;Gin  430  in  FIG. 4 ) could employ a select-a-GW instance (SS7 GW 1   326 --&gt;SS7 GWn  330  in  FIG. 3  and SS7 GW 1   432 --&gt;SS7 GWn  436  in  FIG. 4 ) as needed model (under which a GI process [GI 1   320 --&gt;Gin  324  in  FIG. 3  and GI 1   426 --&gt;GIn  430  in  FIG. 4 ] would momentarily ‘attach’ itself to an available SS7 GW instance [SS7 GW 1   326 --&gt;SS7 GWn  330  in  FIG. 3  and SS7 GW 1   432 --&gt;SS7 GWn  436  in  FIG. 4 ] when it needs to dispatch an outgoing SS7 message and a SS7 GW instance [SS7 GW 1   326 --&gt;SS7 GWn  330  in  FIG. 3  and SS7 GW 1   432 --&gt;SS7 GWn  436  in  FIG. 4 ] would momentarily ‘attach’ itself to a GI process [GI 1   320 --&gt;GIn  324  in  FIG. 3  and GI 1   426 --&gt;GIn  430  in  FIG. 4 ] when it needs to hand-off an incoming SS7 message). Under such an alternative model techniques such as, for example, unique GI process ID values and unique SS7 GW ID values and a dynamically-updatable ID mapping facility would be used to ‘tie together’ SS7 request messages and their associated responses.  
         [0069]     In the facilities that were described above ( FIG. 3  and  FIG. 4 ) ANSI, ITU, and/or a mixture of ANSI and ITU SS7 GWs (SS7 GW 1   326 --&gt;SS7 GWn  330  in  FIG. 3  and SS7 GW 1   432 --&gt;SS7 GWn  436  in  FIG. 4 ) may be employed. The SS7-facing side of each SS7 GW preferably isolates and thus abstracts away all of the SS7 complexities—including, inter alia, SS7 Point Code (PC) format, structure, and assignment; the specific SS7 cloud that is to be used (should multiple clouds be available); adjacent SS7 Signaling Point (SP) addresses; etc.—thereby facilitating the operation of a mixed (ANSI and ITU) environment.  
         [0070]     Under one possible embodiment of the present invention the outbound SS7 messages that are generated may optionally benefit from the type or sort of dynamic message addressing capabilities that are described in pending U.S. patent application Ser. No. 11/137,351 (entitled “ SYSTEM AND METHOD FOR INTELLIGENT DYNAMIC MESSAGE ADDRESSING ” and filed with the USPTO on 26 May 2005) which is herein incorporated by reference in its entirety.  
         [0071]     It is important to note that the hypothetical example that was presented above, which was described in the narrative and which was illustrated in the accompanying figures, is exemplary only. It will be readily apparent to one of ordinary skill in the relevant art that numerous alternatives to the presented example are easily possible and, indeed, are fully within the scope of the present invention.  
         [0072]     The following list defines the acronyms as used in this disclosure.  
                                                   Acronym   Meaning                           ANSI   American National Standards Institute           API   Application Programming Interface           ASP   Application Service Provider           BS   Base Station           BSC   Base Station Controller           BTS   Base Transceiver Station           CDMA   Code Division Multiple Access           CM   Connection Manager           CRD   Composite Routing Data           E.164   International telecommunication numbering plan           EIA   Electronic Industries Alliance           ELUE   External LookUp Engine           ENUM   Electronic Numbering           FIFO   First In First Out           GI   Gateway Interface           GSM   Global System for Mobile communications           GW   GateWay           HLR   Home Location Register           HTTP   HyperText Transfer Protocol           IP   Internet Protocol           ILUE   Internal LookUp Engine           ITU   International Telecommunication Union           LIFO   Last In First Out           LS   Land Subscriber           MAP   Mobile Application Part           MDN   Mobile Directory Number           MRS   Message Routing Subsystem           MS   Mobile Subscriber           MSC   Mobile Switching Center           MSISDN   Mobile Station International ISDN Number           NP   Number Portability           PC   Point Code           PSTN   Public Switched Telephone Network           QoS   Quality of Service           RDBMS   Relational Database Management System           SigTran   Signaling Transport           SRI   Send Routing Information           SMS   Short Message Service           SP   Signaling Point           SS7   Signaling System Number 7           TDMA   Time Division Multiple Access           TIA   Telecommunications Industry Association           TN   Telephone Number           USPTO   U.S. Patent and Trademark Office           VLR   Visitor Location Register           WC   Wireless Carrier           XML   Extensible Markup Language                      
 
         [0073]     The foregoing disclosure of the preferred embodiments of the present invention has been presented for purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise forms disclosed. Many variations and modifications of the embodiments described herein will be apparent to one of ordinary skill in the art in light of the above disclosure. The scope of the invention is to be defined only by the claims appended hereto, and by their equivalents.  
         [0074]     Further, in describing representative embodiments of the present invention, the specification may have presented the method and/or process of the present invention as a particular sequence of steps. However, to the extent that the method or process does not rely on the particular order of steps set forth herein, the method or process should not be limited to the particular sequence of steps described. As one of ordinary skill in the art would appreciate, other sequences of steps may be possible. Therefore, the particular order of the steps set forth in the specification should not be construed as limitations on the claims. In addition, the claims directed to the method and/or process of the present invention should not be limited to the performance of their steps in the order written, and one skilled in the art can readily appreciate that the sequences may be varied and still remain within the spirit and scope of the present invention.