Abstract:
A method reduces the number of queries generated to a number portability database. The number portable communication system includes a local cache associated with the switching office or facility responsible for identifying and controlling the routing of calls to portable numbers. By including the cache and only generating a request to the number portability database when the cache either does not contain LRN response information or if a call attempted based on LRN response information in the cache fails, the total number of queries to the number portability database are reduced. This reduces query traffic as well as speeds up the processing of calls able to use cached information.

Description:
BACKGROUND OF THE INVENTION 
     The present invention relates to a method for improving call processing in a number portability environment. Specifically, the present invention relates to a method for reducing queries to a database used to provide routing information in a number portability context. 
     The U.S. telecommunications network is in a state of transition. In the not too distant future it is expected that the monopoly held by local exchange carriers will be substantially altered and that Competitive Access Providers (CAPs) will begin to provide competitive local exchange service. To accomplish this without creating an excessive burden on customers who wish to receive service from a CAP, the customers will be able to change to a CAP without requiring the change of a telephone number. This type of flexibility is referred to as service provider number portability. It enables the subscriber to change his or her service provider while maintaining the same directory number. The public policy goal is to ensure that there is no performance degradation between carriers. 
     It is also expected that subscribers will be able to move between geographic locations within some reasonably defined region, for example, within the same LATA, while retaining the same telephone number. This is referred to as geographic portability. In this case the subscriber may or may not change service providers. 
     An additional type of portability relates to a customer&#39;s desire to change the type of service in use. For instance, a customer may change from Plain Old Telephone Service (POTS) to IDSN service and wish to maintain the same directory number. This is referred to as service portability. 
     AT&amp;T has already proposed a system for providing both service provider and geographic number portability. This system uses a mechanism referred to as the Location Routing Number (LRN) mechanism. In the Location Routing Number mechanism, during call processing a local switch analyzes the dialed number to determine both whether that number is from a portable NPA-NXX, that is, whether at least one NPA-NXX-XXXX has ported to another local switch, and whether the call is interswitch, that is, whether or not a different local switch serves the destination number. If the number&#39;s NPA-NXX is determined to be portable and if the call is interswitch then the network switch launches a query to a number portability (NP) database. If the number has been ported, the database then returns a location routing number (LRN) of the recipient switch to which the dialed number has been ported. The querying switch receives the LRN and uses it to route the call to its correct destination. If the number has not been ported then the NP database returns the dialed number DN rather than a LRN. 
     Examples of the call flow in the LRN mechanism are illustrated in prior art FIGS. 1 and 2. 
     FIG. 1 illustrates call processing in an LRN mechanism when a call from a calling party A to a called party B is a local interswitch call. In the example, in step  1  party A (having number 212-949-3001) dials 212984-3001, the number assigned to party B. The end office (EO)  10  of local service provider (LSP)  1  receives the dialed number and determines that the number&#39;s NPA-NXX is portable. EO  10  then launches a query via Signaling Transfer Point (STP)  20  to a number portability (NP) database  30 . The query includes the dialed number received by EO  10 . The NP database  30  then returns the location routing number to the EO  10 . The first six digits of the LRN are indicative of a particular LSP EO. The LRN is populated in the Called Party Number ISUP (ISDN user part) parameter of the Initial Address Message (IAM) of the Signaling System  7  (SS 7 ) protocol. The dialed number is placed in the generic address parameter (GAP). Furthermore, an indicator is set to represent the fact that the routing information is based on a query to the database. When the EO  10  receives this information it then routes the call to the tandem switch  40  based on the first six digits of the LRN. The tandem switch then routes the call to the end office of the LSP3,  50 , to which called party B is presently ported rather than the end office of LSP 2,  60 , to which the called party B was previously ported. Finally, in a fifth step the EO  50  presently serving the ported subscriber recognizes its own LRN and obtains the dialed number from the generic address parameter and uses that information to complete the call to station B. In summary, for interswitch calls to portable NPA-NXXs, the end office switch  10  launches a query to a database to obtain routing information for the end office which is servicing the ported customer. 
     FIG. 2 illustrates a similar situation in the context of an interLATA call where the call must be serviced by an Inter-Exchange Carrier (IXC). Like elements in FIGS. 1 and 2 bear identical reference numerals. In this instance the EO  10  determines that the call is an interLATA call and therefore sends the dialed number information to the IXC originating switch  15 . The IXC recognizes the dialed number as pertaining to a portable NPA-NXX and generates a query using the dialed number (212-984-3001 in the illustrated example). The query goes to the Signaling Transfer Point (STP)  25  and is forwarded to a number portability (NP) database  35 . The NP database  35  could be a national universal database. The distinctions between the database  35  of FIG.  2  and the database  30  of FIG. 1 could correspond to the differences between the national and local databases described in co-pending application serial no. —, the entire disclosure of which is incorporated by reference hereto. As in the case of the query response in FIG. 1, if the number has been ported, the NP database  35  provides the LRN information associated with the dialed number. The originating IXC switch formats an ISUP IAM and places the LRN information (here 212-484-9999) in the called party number parameter. The dialed number is stored in the generic address parameter and the M-bit of the Forward Call indicator (FCI) is set to indicate that the NP database  35  was queried. The originating IXC  15  then routes the call to terminating IXC switch  45  based on the first six digits of the LRN. The terminating IXC switch determines a routing path to the EO  55  of LSP 3,  50 , based on the first six digits of the LRN. The end office  55  recognizes its own LRN and then obtains the dialed number from the GAP and completes the call to station B. 
     In the two examples described, a query is launched to the database, either local database  30  or national database  35  each time an interswitch call to a portable NPA-NXX is detected. As a result, the system generates a large number of queries. In fact, for a frequently dialed number a query related to that dialed number may have been processed only a few minutes or even perhaps just a few seconds, earlier. These queries come at a cost. First, there is the load on the system in query traffic. Then there is the processing to be done at the NP database to respond to all queries. Finally, there is a built-in delay for processing all interswitch calls to portable NPA-NXXs since a query must be launched and processed before the call is routed. It would be beneficial if the number of queries could be reduced, thereby reducing both the overall query traffic and the associated call processing time. 
     SUMMARY OF THE INVENTION 
     The present invention is directed to a method for enhancing call processing in a number portability environment. In particular, the invention reduces the number of queries to an external database, thereby lessening query traffic and enabling faster attempts at routing calls to frequently dialed numbers. 
     In accordance with the present invention a cache memory is associated with the local exchange or inter-exchange carrier switch responsible for processing the call to the portable NPA-NXX. The cache memory stores, for a limited period of time, the response information received from the number portability database in response to queries launched regarding dialed numbers associated with portable NPA-NXXs. Once the cache memory stores the LRN response information, the Local Exchange or IXC first checks the cache upon receipt of a portable NPA-NXX to determine if the cache contains the response information for that dialed number. If the cache contains such response information, then the local exchange or IXC attempts to route the call based on the cached LRN response information. If the cache does not contain information relating to the dialed number, or if the attempt to route the call based on LRN response information in the cache is unsuccessful, then a query is launched to the database to obtain valid LRN response information for routing. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIGS. 1 and 2 illustrate call flows for known number portability systems. 
     FIGS. 3 to  5  illustrate call flows in accordance with an embodiment of the present invention. 
     FIG. 6 illustrates the format of parameter information useable in connection with an embodiment of the present invention. 
     FIG. 7 illustrates call flow in a modification of an embodiment of the present invention. 
    
    
     DETAILED DESCRIPTION 
     Overview 
     In accordance with an embodiment of the present invention, a cache is associated with the switching office which is responsible for launching queries to a number portability database. The switching office then first checks the cache to determine whether location routing number response information for a received dialed number is available in the cache. This checking operation is performed before any queries are launched to the number portability database. Thus, if the LRN response information is found in the cache, the switch will attempt to complete the call without need of generating a query to the number portability database. Caching will reduce the number of queries to the database that are actually generated. Furthermore, caching will increase the speed with which calls are processed since it is quicker to access LRN response information from a cache associated with the switch than it is to launch a query and receive data back from the number portability database. Before describing the call flows for implementation of the present invention it is helpful to understand the terminology typically used in the field of number portability. The following glossary is useful in that regard. 
     Local Service Provider (LSP): A local service provider refers to the provider of local access functionality to an end customer. LSPs are synonymous with local exchange carriers (LECs), alternate local exchange carriers, competitive access providers, and other terms that may be used to refer to providers of local access. 
     Numbering Plan Area (NPA): The initial group of three digits of a North American numbering plan (NANP) number. The format of NPA is NXX where N is any digit from 2 to 9 and X is any digit from 0 to 9. 
     Number Portability: Gives the subscriber the ability to move from one end office (i.e., switch) to another and keep its original directory number (DN). There are three types of number portability as described in the background section of the application. FCC and state regulatory activities primarily deal with the implementation of service provider number portability. 
     Default LSP: In today&#39;s environment, the local exchange routing guide (LERG) identifies which NPA-NXXs are assigned to which LSP end offices. The LSP appearing in the LERG is the default LSP for an NPA-NXX and the default LSP for the line numbers is that NPA-NXX. 
     Default Routing: Refers to routing a call to the default LSP based on the first 6 digits (NPA-NXX) of a NANP number. 
     Ported Number: A ported number is an end customer&#39;s number which is no longer served by the default local service provider as defined in the local exchange routing guide. 
     Location Routing Number: A location routing number is an identifier of an LSP end office. The LRN of an LSP end office is defined as a 10 digit number of the format NPA-NXX-XXXX such that the first 6 digits is an NPA-NXX assigned (in the local exchange routing guide) to the LSP end office. Also, a 6 digit translation on the NPA-NXX of the LRN will result in routing calls to the LSP end office. 
     Number Portability (NP) Database: An NP database is a database which stores number portability data, such as the LRNs for ported numbers. Switches will query a number portability database with a dialed number to obtain number portability information for the dialed number. 
     Destination Number: For routing a call the number used to query the number portability database will be referred to as the destination number. The destination number can be the number received from the incoming called party number (CdPN) parameter (e.g., dialed number) or the number derived after service processing (e.g., the translated number after 800 service processing has been applied). 
     Calling Party Number (CPN) Parameter: An existing SS 7  ISUP (ISDN user part) initial address message (IAM) parameter which currently carries the calling party number. 
     Called Party Number (CdPN) Parameter: An existing SS 7  ISUP initial address message parameter which currently carries the destination number. Switches use the number populated in this parameter to determine how to route the call. 
     Generic Address Parameter (GAP): The GAP is an existing optional SS 7  ISUP initial address message parameter. Multiple GAPs can be defined for a call. Within the LRN approach, the dialed number is populated in the GAP when the LRN is populated in the Called Party Number parameter instead of the called party number. 
     Bits M and N of a forward call indicator: Bits M and N have been defined as associated with number portability in the current invention. 
     Portable NPA-NXX: An NPA-NXX is defined as portable if it has one or more ported numbers. That is, destination numbers with a portable NPA-NXX are no longer associated with a unique LSP. 
     Number Portability (NP) Capable/Non NP Capable Switch: An NP capable switch is a switch which has the capability to support the LRN solution for number portability. A non-NP capable switch is a switch which does not have the capability to support the LRN solution for number portability. A non-NP capable switch can have numbers ported to and from it and have an LRN assigned to it. However, it does not have the capability to query a number portability database nor to recognize its own LRN and retrieve a ported destination number from the generic address parameter. 
     Description of the Proposed Call Flows 
     For purposes of the following discussion the assumption will be that at some time prior to the call being processed a called party B was served by end office  160  of local service provider  2  and has been ported to the end office  150  of local service provider  3 . The shift between service providers could constitute either restricted geographic portability of the calling party B, or service provider portability, that is a change to a different local service provider or both. In either portability circumstance the ported called party B is served by a different end office and hence a different “service provider”. 
     FIG. 3 illustrates the circumstance where the calling party A, being serviced by its local service provider can call the (ported) called party B without need of generating a query to a number portability database. More specifically, calling party A dials the ported number, here 212-984-3001. The end office  110  receives the number and detects that 212-984 is a portable NPA-NXX and that the call is interswitch, i.e., end office  110  does not “serve” called party B. The end office then checks cache  100  to determine whether it contains location routing number response information corresponding to the dialed number. In this call processing sequence, the cache does include the LRN response information, including the LRN of 212-484-9999. Thus, the end office places the LRN in the called party IAM parameter and places the dialed number in the generic address parameter. A query bit indicator, bit N of the FCI, is also set in the IAM message to indicate that the LRN response information has not come from the number portability database. The end office then routes the call via tandem switch  120  to the end office  150  of LSP 3 identified by the LRN from the cache. The LSP 3 end office then recognizes its own LRN in the CdPN parameter, obtains the dialed number from the generic address parameter, and completes the call to station B. In this configuration then, in comparison to the known LRN mechanism described above, a cache memory is provided in association with the end office  100  and is checked before any query for a portable NPA-NXX is launched to the number portability database. If the cache contains LRN response information it will avoid the necessity of having to generate queries to the database. 
     The call flow illustrated in FIG. 4 relates to that circumstance where the cache memory does not contain LRN response information for the dialed number. Here again the calling party dials 212-984-3001. End office  110  detects that the NPA-NXX is portable and checks cache  100  to determine if it contains any LRN response information relating to the dialed number. In this instance the end office does not detect any valid information in the cache relating to the dialed number. The term “valid information” is used to indicate that information within the cache may be deemed to be unreliable after some specified period of time. Therefore, even if response information exists in the cache for a particular called number, those entries may have been in the cache for such a period of time that statistically they are no longer reliable and are therefore treated as invalid pieces of information. More information regarding the consideration given to LRN response information within the cache will be provided below. Continuing with the call flow of FIG.  4 , since the cache does not contain any valid information regarding the dialed number, end office  110  launches a query via STP  130  to number portability database  140 . That database returns LRN information 212-484-9999. As with the call flow of FIG. 3, the called party number parameter is populated with the LRN while the generic address parameter is populated with the dialed number. In this instance however, the query indicator is adjusted to reflect the fact that the number portability database has been queried in this attempt to complete the call. The LRN response information is then used by end office  110  to route the call to the end office to which station B is ported as indicated by the LRN, that is LSP 3 end office  150 . That LSP then recognizes its own LRN and obtains the dialed number information from the generic address parameter and completes the call to station B. 
     In addition to routing the call using the LRN response information from the database, the LRN response information is also provided to the cache  100  in association with the dialed number. This cache entry is designated as a valid entry and is considered as such for some set period of time. For instance, when the results of a query to the number portability database are stored in the local cache, a timer could be set that defines the maximum time interval for which that cached information may be considered as current or valid. At the expiration of this time the entry from the local cache should be flushed. In the event that the cache is full at the time LRN response information is provided for a query and a new entry needs to be stored, the oldest cache entry (that is, the entry whose local cache timer is closest to expiration) must be flushed. It would be beneficial if the timer is refreshed/reset to the maximum timer value every time there is a successful hit in the local cache for this dialed number. This will tend to ensure that the information for the numbers that are dialed frequently will be readily available in the local cache, further greatly reducing the number of queries for such numbers. 
     The situation may arise where the LRN information in the cache may be still considered timely within the criteria described above but, in fact, inaccurately reflects the end office which serves the called party B. FIG. 5 of the present application provides a call flow diagram for number portability processing in that instance. In this instance it will be assumed that the cache  100  stores LRN response information indicating that a called party B is ported to LSP 2 of end office  170  and that LRN response information is still considered timely in the cache. Nonetheless, calling party B has been ported to end office  150  for LSP 3. In this circumstance then, the end office  110 , upon detecting the NPA-NXX to be portable, and the call to be interswitched, examines the cache and determines that LRN response information is present in the cache. In this instance the LRN response information is the LRN for end office  170 , 212-984-9999. This information is placed in the called party number field and the dialed number is placed in the generic address parameter field. The end office  110  then attempts to route the call to the end office corresponding to or identified by the called party number, in this instance end office  170  corresponding to LSP 2. The called party B is no longer served by end office  170 . The call to that end office is cleared and a code is sent back to indicate that the end office  170  does not serve the dialed number. Upon receipt of this message because bit N was set in the FCI, end office  110  then knows the cached information was incorrect and generates a query to number portability database  140  via STP  130 . The database returns more authoritative LRN response information, in this example 212-490-9999. This LRN response information is now populated in the called party number parameter and the generic address parameter continues to reflect the dialed number, 212-984-3001. In this instance the number portability query indicator is changed to reflect that the number portability database has been queried and that the LRN response information comes from a more authoritative than the local cache. 
     FIG. 6 illustrates the format of the FCI parameter of the IAM. Of particular significance in this format are bits M and N. Bit M is used by the conventional LRN approach to indicate whether an NP database query has been performed. Of more significance to the current invention is the status of bit N which indicates the relative authority to be ascribed to the CdPN, namely that the information in the IAM has been obtained from the local cache rather than from the number portability database. 
     The call flows described in connection with FIGS. 3 to  5  all relate to providing a cache in the end office of the local service provider  1  associated with the calling party A. Thus, there were improvements over the system illustrated in FIG.  1 . It is also presumed that one of ordinary skill in the art would be able to recognize employing the cache memory at the switching office of the inter-exchange carrier which is determined to be responsible for call processing as in the example of FIG.  2 . Here the cache would then be associated with the IXC originating switch, for example,  15  in FIG.  2 . The decision making tree however, would be very similar to the present invention and would provide that the first place one looks for any location routing number response information is the local cache and then if either the cache does not contain LRN response information or in a worst case scenario, if an IAM clearing message indicates that the LRN response information retrieved from the cache is incorrect, the number portability database is accessed to obtain the most authoritative LRN information available at that time. 
     FIG. 7 illustrates a modification of the present invention illustrated in FIGS. 3 to  5  wherein the calling party is associated with a local service provider  1  which hands off the call to a homogeneous sub-network of LRN capable switches via MF signaling. In that instance, it is the LSP2 end office which would contain the cache. Then after first checking that cache for LRN response information that end office would launch a query to the number portability database if the cache does not contain valid LRN response information. The NP database would in turn provide LRN response information capable of routing the call to LSP 4. Subsequent call processing would be the same as described above. 
     In all of the above examples the called party B is ported. Where the called party is not ported, then any query to the NP database will operate as in the prior art, namely that the dialed number (DN) will be returned to the switch rather than a LRN. 
     The present invention can be implemented on switches such as 4ESS and 5ESS switches from Lucent Technologies with modifications to call processing software that reflect the call flows described herein. 
     The present invention provides a unique call processing scheme which reduces the overall number of queries generated and launched to a number portability database by introducing a local cache at the facility which is responsible for routing the call. Thus, portable numbers, regardless of whether the change in service provider relates to limited geographic portability or simply selecting a different access provider, are processed more quickly with fewer required queries to a number portability database.