Abstract:
This invention provides a means and method for updating two-tiered databases in a telecommunications system which support local number portability through call connection information sets stored on the databases. Pro-active updating is accomplished by tracking location, time and frequency of each switch querying the first tier centralized database for each stored call connection information set. At the time an update is made to a call connection information set at the first tier database, the set is offered to all second tier databases supporting individual switches which have queried the centralized database for that set. Second tier databases accept the set as an update, a new set or reject. Acceptance of a new set or rejection is dependent upon the set achieving a ranking based on recency and frequency of query above the threshold for storage. The second tier databases provide confirmation of set acceptance and rejection to the first tier database.

Description:
This application is a continuation of application Ser. No. 08/330,413 filed Oct. 28, 1994, now abandoned. 
    
    
     FIELD OF THE INVENTION 
     This invention relates to a means and method to update a tiered database system, characterized by a centralized database and switch-dedicated databases, in a telecommunications system to support phone number portability. 
     BACKGROUND OF THE INVENTION 
     Today, each telephone service subscriber&#39;s telephone number is associated with a specific geographic local telecommunications service provider and that provider&#39;s local switch. Each subscriber&#39;s unique telephone number consists of a three digit area code, called an &#34;NPA&#34; number; a three digit local switch prefix, called the &#34;NXX&#34; number, and the subscriber&#39;s own four digit number, called the &#34;XXXX&#34; number. The &#34;NXX&#34; number is associated with the particular local switch that maintains the number. With conventional telephone systems, the three digit &#34;NXX&#34; number identifies a specific, unique local switch managed by a single local telephone service provider. Because the NXX number identifies a specific switch to the system, any change in the switch providing service to the subscriber mandates the assignment of a new number within the telephone system for the subscriber&#39;s telephone service. 
     As described in pending U.S. patent application Ser. No. 08/329,595, titled &#34;Means and Method for Providing Local Telephone Number Portability,&#34; by inventors E. L. Sneed Jr. and D. V. Stanley, which is hereby incorporated by reference, subscriber portability is achieved and post-dial delay time is controlled by storing in the telecommunications system virtual service numbers with their correlated call connection information set, the call connection information set containing augmenting information which when provided along with or in substitution for the dialed digits is the equivalent of the actual service number of the intended destination subscriber from the perspective of call connection across the telecommunications system. Each call connection set contains other information relevant to the virtual number or the subscriber as well. The virtual number is the number listed in directories and dialed by callers attempting to reach the intended subscriber and may or may not contain the NXX number for the switch serving that destination subscriber. By the switch initiating a call using the dialed virtual service number to access the proper call connection information set for the intended destination subscriber, the call can be properly placed across the telecommunications network. 
     The above-identified application contemplates that all call connection information sets will be stored in an industry-wide centralized database referred to as the Industry or IN Database which, upon query from a local call initiating switch, will provide in response the appropriate call connection information set correlated to the dialed service number offered in the query. The IN Database may not be a single unit but may comprise several databases, for example each industry service provider maintaining a database for its part of the telecommunications network, but which act in concert to direct calls throughout the system. 
     The above-identified application recognizes that querying a single centralized database, even when composed of more that a single unit, could overburden the database and result in unacceptable post-dial delay. Consequently the above-identified application provides additional databases, referred to as Switch Resident Databases or SRDB&#39;s. When a call is initiated, the serving local switch acts as the call initiating switch and queries its dedicated SRDB for the call connection information set corresponding to the dialed virtual number. 
     Each SRDB stores a limited number of call connection information sets in memory, and dynamically ranks sets according to the recency and frequency of corresponding calls dialed into the SRDB&#39;s serviced switch. Because of the limited storage of call connection sets in an SRDB, the SRDB is able to quickly process any query and provide a response to the switch, thus minimizing post-dial delay. A counterbalancing consequence of providing limited memory, or storage capacity, for call connection sets in an SRDB is that it is likely that not all queries made by the switch to its dedicated SRDB would find a corresponding call connection set stored in the SRDB. 
     The above-identified application then contemplates that the call initiating switch would query the IN Database which, as the industry repository of call connection sets, will respond with the appropriate call connection information to the switch. When a switch queries the IN Database, it offers the information received from the IN Database for ranking by the SRDB and potential retention in memory. 
     The problem is that the databases, both SRDB&#39;s and the IN Database, must be dynamic repositories of call connection information sets in order to deal with the constant ebb and flow of subscribers, callers and system features. If outmoded call connection information sets are left on an SRDB, it becomes likely that callers will become disgruntled by calls being improperly placed, the desired service being declared unavailable or being provided some negative message or signal indicating the call cannot go through as dialed. The information stored by each SRDB needs to be accurate and up to date in order to allow the subscriber to benefit from a system utilizing local number portability. 
     There is therefore a need to provide a means and method for updating the IN Database and dynamically updating SRDB&#39;s as the IN Database is updated. 
     SOLUTION 
     While the invention of above identified application solves the problem of providing local number portability, shortcomings exist in updating the network databases serving the many local switches. The present invention recognizes the need for a pro-active updating capability as part of a telecommunications system supporting local number portability and accomplishes this by providing a Service Management System or SMS operating at several levels in the system. 
     Service management systems (&#34;SMS&#34;) are part of existing telecommunications systems applications such as 800 number databases, but deal with updating at only the level of the single database. 
     There is therefore a need for a means and method that updates tiered databases. 
     My invention is implementable with existing technology and equipment and takes advantage of current network architectures. 
     The problem of updating tiered databases including multiple SRDBs is solved by a funnelling function wherein the service management system (SMS) updates the Industry Database (IN Database) and the IN Database, in turn, updates the SRDB&#39;s. When the IN Database receives an update, the IN Database determines which switches in the system contain the record of the number which has been updated. The IN Database then sends the updated information to the switches that contain the number. 
     At the IN Database level, the SMS tracks which switches have in their dedicated SRDB a given call connection set and, when that call connection set is updated for the IN Database, the SMS determines which switches/SRDB&#39;s are storing the now outdated call connection set and directs the IN Database to provide the current updating information to those switches/SRDB&#39;s. 
     In accordance with one aspect of my invention, a telecommunications system is provided with at least one centralized database which stores call connection information regarding telephone service numbers which can be accessed by switches requiring call connection information to properly initiate calls. 
     In accordance with a further aspect of my invention, a local switch responsible for originating and routing calls initiated by subscribers assigned to that switch has associated with it a dedicated database which the switch accesses for call connection information. 
     In accordance with another further aspect of my invention, the database dedicated to the switch dynamically stores no more than a finite number of telephone service numbers and the associated call connection information. 
     In accordance with another aspect of my invention, a service management system updates the Industry Database, tracks the storage of call connection sets in switch dedicated databases and updates call connection information sets stored by the switch dedicated databases at the time the IN Database receives updated call connection set information. 
     In accordance with an additional aspect of my invention, the IN Database may communicate a call connection information set update individually to switch dedicated databases or bundle call connection information set updates and then communicate the updates in bundled form to the appropriate switch dedicated database or databases. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG. 1 illustrates a schematic of the elements comprising the invention. 
     FIG. 2 illustrates a flow diagram of first tier update administration occurring at the IN Database. 
     FIGS. 3A and 3B illustrate a flow diagram of the second tier updating and set maintenance between the IN Database and local switch resident databases. 
    
    
     DETAILED DESCRIPTION 
     FIG. 1 is a diagram illustrating the architecture and hierarchy of a telecommunications system supporting local number portability illustrating the pro-active updating of the present invention. The telecommunications system 10 is composed of numerous nodes 12 and channels 14. In addition, at least one Industry Database or IN Database 20 is resident in the telecommunications system 10. 
     The IN Database 20 is comprised of a central processing unit 22, a memory 24, and administering software 26. It is to be appreciated that the IN Database may be composed of more than a single central processing unit 22, memory 24 and/or software 26, but for clarity the IN Database in the preferred embodiment will be discussed as a single unit made up of these singular components. 
     The IN Database 20 is provided call connection set updates by a Service Management System (SMS) 30 comprised of at least one administrator&#39;s workstation 32 including a central processing unit 33, a key pad and mouse 34, monitor 36 and software 38. Among other things, software 38 contains a security function which requires that a user pass through security and authorization checks before accessing information or providing information, either initially as new information or subsequently as update information, to the IN Database 20. As new subscribers are added to the telecommunications system, the administrator, using the SMS 30, provides call connection information for each subscriber in a determined and desired format to the IN Database 20 which stores the information in memory 24 as a call connection information set 40. Each call connection information set includes the number which callers will dial when desiring to reach a specific subscriber referred to as virtual service number 42; augmenting information 44 which either in concert with or in substitution for the virtual service number provides the equivalent of the number the telecommunications system recognizes as the true number for the subscriber; and other information relevant to the subscriber and the call connection information set&#39;s activity within the system. Such other information includes a call count file 46 in which the tally of queries to the IN Database for that call connection information set is kept; a time stamp file 48 in which the date and time corresponding to each query is kept; and a Switch ID file 50 in which locating information for each local switch querying for that call connection information set is kept. The various numbers, files and other subscriber information are allocated to specific array fields 41 such that data in a specific field is separately recoverable from the complete call connection information set. 
     Across the telecommunications system 10 are various local switches 60 through which calls are initiated. Each local switch 60 has associated with it a dedicated Switch Resident Database (SRDB) 62 which includes a local central processing unit 64; a local memory 66; query, search and respond software for recovering call connection data sets 40 from memory 66 and delivering them to the served local switch 66; ranking software 70 for assigning a hierarchical rank to each call connection data set 40 available to the SRDB according to a desired scheme based upon the recency and frequency of query for each data set; and updating software 68 which receives updating information from the IN Database 20 through local switch 60 and updates the call connection sets 40 then resident in memory 66. 
     Viewing FIG. 2 in conjunction with FIG. 1, the method of the instant invention will be described. Upon each call connection set 40 being entered 101 through keypad 34 by the administrator, it is displayed 103 on monitor 36 and presented to the IN Database 20, by the SMS software 38. The data making up the set is compared 105 against the existing data in IN Database memory 24 by administering software 26. If no corresponding current information exists, the administering software 26 provides a new record confirmation 107 back to the SMS 30 for display on monitor 36 to the administrator and the administrator elects 109 to enter the new record in the IN Database 20 by entering an appropriate positive response through keypad 34. The administering software 26 then places the data in memory 24 and establishes 113 appropriate administrative files, such as call count 46 which tallies the number of times the IN Database is queried for the call connection data set 40; time stamp 48 which records the time and date of queries; and Switch ID 50 which records identifying information on each local switch 60 which has the call connection information set 40 stored in its dedicated SRDB 62. 
     In instances where the administrator is reporting to the system 10 a change in call connection data for an existing record, for example, a change in the terminating switch NXX designation, which will permit the system to continue to properly connect calls to that subscriber by dialing the subscriber&#39;s virtual service number 42, a similar pattern of update initiation by the administrator through the SMS 30 and response by the IN Database occurs. However, in the instance of an update, the IN Database 20 provides the SMS a response 117 indicating the existence of a call connection data set having the corresponding data in the array field 41 identified by the administrator. The array field 41 is the particular field type, i.e., that portion of the data known to contain information of a particular predetermined category. In the instant example, the administrator is able to and may query for either the virtual service number, augmenting information in a specific array field, or the subscriber&#39;s name, or whatever other information or combination of array field types and keying information that is sufficient for the administering software 26 to search records. By also identifying the field type 41 of interest in the search, a more focused search is provided. The administrator is then presented on monitor 36 those call connection data sets 40 which contain matching data in the specified array field or fields 41. This creates the capability for the administrator to confirm the integrity and appropriateness of each call connection information set 40 then maintained by the IN Database 20 and furthermore verify all call connection information, if desired, in any specific call connection information set 40 and in each array field 41 within that set. Since Switch ID 50 is also an array field comprising a part of each information set 40, the administrator is also able to survey local switches 60 affected by an update or to provide a verification index which the administrator can use to confirm that any change is properly funneled down to each affected local switch 60 and its dedicated SRDB 62. 
     Similarly, data in any array field 41 or a complete call connection information set 40 can be deleted by the administrator. This permits targeted maintenance of the call connection data sets 40 and avoids the need for wholesale purging of data in the IN Database because of the security authorizations necessary to modify the data; the presentation of records in a fashion which augments record integrity; and targeting changes to specific array fields to avoid inadvertent modification of data sets. 
     As shown in FIGS. 3A and 3B, each time any call connection information set 40 is altered in the IN Database in a fashion which would impact a local switch&#39;s ability to properly implement call connection to the intended subscriber, the information is offered to local switches 60 for updating of the respective dedicated SRDB 62. An innovative feature of the instant invention is that it recognizes that it is not necessary to store every change in a call connection information set 40. Rather, the instant invention targets only each local switch 60 which has previously stored the call connection information set of interest in its dedicated SRDB 62. Since each switch 60 initially queries its dedicated SRDB 62 for a call connection information set, then queries the IN Database if the information set 40 is not provided by the SRDB, there is no need to update all switches 60. Those switches 60 which require updates to bring an information set then resident on its dedicated SRDB are updated at the time the IN Database is updated and those switches which do not require updating because the information set is absent from the dedicated SRDB are subsequently provided the information set 40 at the time that switch so queries the IN Database 20. 
     At the time the IN Database receives a change in a call connection information set 40, administering software 26 recovers 127 from memory 24 the identification and contact information for each switch 60 appearing in the Switch ID file 50. The administering software 26 then delivers 133 the call connection information set 40 to each switch 60 so identified throughout the telecommunications system 10. Upon receipt of each call connection information set offered by the IN Database, the switch 60 delivers the information set 40 to the dedicated SRDB 62. 
     As mentioned above, each SRDB 62 includes a central processing unit 64, local memory 66, updating software 68 and ranking software 70. Upon an SRDB&#39;s receipt 135 of an offered call connection information set, the updating software 68 searches 137 memory 66 for any matching call connection information set 40, retrieves 139 the corresponding information set, selects the proper array field and updates 141 the appropriate data, returns 143 the now current call connection information set 40 to local memory 66, and confirms 145 through switch 60 to IN Database 20 that the update has been made. If a corresponding call connection information set 40 is found, but the SRDB fails to update 145 for any reason, the IN Database is likewise informed 149 of the event and administering software 26 provides pertinent information 147 to an error report file 80. If there is no corresponding information set found in memory 66, ranking software 70 recovers 151 from memory 66 pertinent information for each stored call connection information set and performs within local CPU 64 a hierarchical ranking 153 of each information set 40 then available to the SRDB, including the information set then offered by the IN Database. As is the case with the IN Database, the SRDB contains call count 46 and time stamp 48 files as part of each call connection information set 40. The ranking software 70 extracts this information and utilizes the recency and frequency of use/query for each call connection information set 40 to develop a hierarchical ranking 157 of all call connection information sets according to a desired scheme. Ranking software 70 also determines 155 the storage limit of memory 66 for call connection information sets and either adds, retains 169, or purges 171 call connection information sets 40 from memory 66 depending upon each information set&#39;s ranking against the storage threshold. Updating software 68 captures identifying information 163 &amp; 167 pertaining to the status of added and purged information sets 40 and communicates this information 173 through switch 60 to IN Database 20. 
     Upon receipt by the IN Database of the status information provided by a switch 60, administering software 26, acting in concert with central processing unit 22 and memory 24, records 175 in memory 24 the status changes communicated from the switch 60 in the corresponding call connection information sets in the appropriate array field held in memory 24. Thus, the switch 60 confirms that an offered information set 40 has indeed been added to its dedicated SRDB, or has not, or that an information set 40 previously resident on its dedicated SRDB has been purged. The administering software 26, in the instance of a purged information set, deletes the switch location information from the Switch ID field and, in the instance of an added information set, records the switch location information in the Switch ID field. While not essential to the practice of the invention, in the preferred embodiment, the administering software also records in an array field for that information set an identification of each switch providing confirmation regarding the information set back to the IN Database. This permits the administering software to generate information to verify proper functioning of the updating operation by an internal checking operation or through report generation for use by system administrators. 
     Providing confirmation of information set storage status at the local switch level back to the IN Database provides further assurance of call connection set integrity at the IN Database level by targeting actual storage by the SRDB as triggering updating of the information in Switch ID 50 by administering software 26 rather than the false target of the IN Database providing a call connection information set 40 to a specific switch. This permits the administering software 26, in the instance of a purge notice, to reset 177 the call count file 46 and the time stamp file 48 comprising part of that call connection information set 40 stored in IN Database 20. Likewise, in the instance of an add notice, the administering software 26 records 179 the confirming switch identification information in Switch ID file 50 in that call connection information set 40. 
     While in the preceding discussion, each communication between the IN Database 20 and the local switches 60 is considered as a singular event, it is appreciated that a reduction of line traffic and an increase in efficiency can be achieved by bundling updating information intended for a specific switch and bundling status information from a specific switch to the IN Database. Bundling can be achieved by adopting any of a variety of methods common to local area network computer data systems. 
     While in the foregoing description of the preferred embodiment of the invention the administering software is resident on the IN Database, it is recognized that the administering software could be resident elsewhere on the system, for example on the administrator&#39;s workstation which simply accesses IN Database memory to update, add and delete records. Likewise, it is recognized that the ranking and updating software described as being resident on each dedicated SRDB can as easily be resident elsewhere, for instance on the served switch itself which accesses SRDB memory to update, rank, add and delete call connection information sets. Further, the administrator&#39;s workstation is described as providing commands and inputting information through a keypad and mouse. Alternative embodiments such as touch screens and voice recognition software provide the same functions. Likewise, the dissemination of updates to SRDBs is presented as being contemporaneous with updating of the IN Database. The present invention encompasses delaying and/or bundling updates to reduce administrative line traffic in the system and/or to delay line traffic to off-peak system usage times. 
     It is to be understood that the above description is only one of the preferred embodiments of the invention. Numerous other arrangements may be devised by one skilled in the art without departing from the spirit and scope of the invention. The invention is thus limited only as defined in the accompanying claims.