Abstract:
A system and method having a number of call processors and servers which provide prepaid or debit card calling service to local areas is disclosed. The servers are linked via a wide area network (WAN) or some other communications network. The system maintains a single account record for each debit card customer. Each account record contains information such as an account balance and a rate billing plan for the customer. When a customer makes a prepaid call, a local call processor and server handle the call. The local server obtains the customer&#39;s record from another server via the WAN if the record is not already present in a local database. WAN traffic is reduced because most debit card users routinely call from the same local area and, as a result, most of calls from a particular customer are processed by the same local call processor and server.

Description:
TECHNICAL FIELD OF THE INVENTION 
     The invention relates generally to telecommunication systems, and more particularly to the use of debit cards in a system that does not require a centralized server for customer accounts. 
     BACKGROUND OF THE INVENTION 
     A debit card or prepaid calling system allows callers to charge telephone call costs against a prepaid amount that has been deposited by the callers. Prepaid calling systems can be used in both wireline and wireless telecommunications systems. Typically, users deposit a prepaid amount in an account that has been established with a debit card calling service provider. Debit card calls that are made through the service provider&#39;s system are charged against the user&#39;s prepaid account balance. Service providers can determine the cost for a particular debit card call in a number of ways. For example, users may be charged at a flat per-minute rate which essentially gives users a set number of calling minutes based upon the amount of money in the prepaid account. In a flat rate system, all calls to any telecommunications destination are billed at the same rate without regard to distance. Also, service providers can set a variable billing rate in which rates are based upon the distance of the calling destination. 
     The users&#39; prepaid amounts are usually stored in a single centralized server or database. This central unit holds account information for every prepaid customer in the system. The user account records typically comprise such information as a current prepaid balance, an account number, a personal identification number (PIN) or password, and the user&#39;s billing rate plan. 
     Callers can access the debit card calling system in a variety of ways. In some systems users must first call a dedicated routing number. This number routes them to the centralized server which then prompts the callers to provide additional information such as an account number, PIN or destination telephone number. In other systems, users directly dial a destination telephone number and the call charges are billed to a prepaid account that is associated with the device from which the call originates, such as a particular business or residential telephone or a wireless device. 
     The prior art prepaid calling systems either route all calls through a central server or use a central server for maintaining customer account records. The use of a central database creates problems in the prior art systems by providing a single point of failure. If the central database or server fails, then the entire network will fail since customer accounts can no longer be accessed to verify accounts or to debit account balances. 
     Another problem with prior art debit card calling systems is the call volume. Since all of the prepaid calls must go through the central server, or at least access the central server for the customer records, this creates a heavy demand on the central database. The high demand levels create the need for a very fast database server at the central location that can service all of the calls in the system. 
     SUMMARY OF THE INVENTION 
     The problems of the prior art debit card calling systems are solved by a system and method in which database servers and call processors are distributed to a number of remote locations. Instead of routing all of the users through a central system, in the present invention the prepaid callers are serviced by local call processors that are coupled to the remote servers. The use of local call processors at the remote locations reduces the call volume that is handled by each call processor and server. As a result, the demand levels on each call processor and server are reduced. Thus, the present system works faster and more efficiently. 
     Each remote server in this decentralized system, is linked via a wide area network (WAN) or other data communications network which allows the servers to exchange user account information. The present invention maintains a single database record for each user, however the account records do not have to be stored on a central server. Instead, user account records are distributed among the various remote servers so that each customer&#39;s record is resident on the server that serves the customer&#39;s home location or on the server that was last used by the caller. 
     Debit card calls are routed through the local call processor, which exchanges data with the local server. The call processor and the server verify that the user has a valid prepaid account and begin calculating charges for the call. The local server will either have the user&#39;s record resident in a local database or it will obtain the record from another server via the WAN. The call processor continues to route the call while the server obtains and verifies the user&#39;s account balance. If the user&#39;s balance is zero or below a minimum amount, then the call will be terminated. Otherwise, if there is a sufficient account balance the call processor and server monitor the running charges for the call and deduct the costs from the account balance. 
     Prepaid calls are terminated by the parties when they hang up or by the call processor when the debit card balance falls below a minimum amount. Using the account balance and the billing rate for a particular call, the call processor and server can calculate how much connection time remains before the account balance falls to the minimum level. The call processor may provide the customer with periodic time remaining warnings when the account balance approaches a minimum amount. 
     After the connection is disconnected the user&#39;s account record will be updated on the local server. The account remains on the local server until it is required for a future call. In most cases the debit card customer will call from the same area, so his or her future calls will be routed through the same home location call processor. As a result, the customer&#39;s record will usually be readily available. However, if the customer travels to another area or if more than one person uses the same account, then a future prepaid call may be routed through a second call processor. In this situation, a second server will require the prepaid caller&#39;s record in order to handle the call. Accordingly, the second server will request access to the customer&#39;s account from home server or from whichever server currently holds the account. As long as the account is not in use, the home server will provide the account record to the second server. 
     In one embodiment, a coordinating server is used in the debit card calling system to track the location of each user record. Whenever a record is transferred from one server to another, the record location is updated in the coordinating server. In another embodiment, if there are few remote servers, instead of using a coordinating server, each remote server can poll the other servers to determine the location of a particular customer record. 
     By only allowing one copy of a customer record to exist, the present system can prevent fraud by limiting access to customer accounts to only one server at a time if desired. Thus, only one caller at a time may use each account. This prevents two or more callers in separate areas from making charges against the same account balance simultaneously. If a caller attempts to use a prepaid account that is already in use, then the system may terminate the second caller&#39;s connection. 
     WAN traffic is also reduced in the present system since most debit card users will usually call from one area. As a result the user&#39;s record will always be available on the local or last-used server. User account transfers on the WAN will have to be made only when the customer changes locations between calls. In prior art systems, the customer&#39;s record must be obtained via the WAN from a central location for each call. 
     It is a feature of the present invention to reduce network traffic in a debit card calling system by storing customer accounts in a server at a home or a last-used location. Other servers in a second location can obtain a particular customer record via the WAN when the customer initiates a call from the second area. 
     It is an another feature of the present invention to reduce delays in connecting prepaid callers to called destinations, by allowing debit card calls to be routed concurrently with verification of the prepaid user&#39;s account information. In the event that the present system determines that a prepaid account has a zero balance or insufficient funds for a particular call, the system is capable of terminating a completed calling connection. 
     It is a further feature of the present invention to reduce telecommunications system failures, crashes and down time by eliminating the single point of failure problems of the prior art. By assuming that callers will typically make a series of calls from one location, network traffic in the system is reduced by storing user call records at the location most likely to be used by each debit card caller for a future call. 
     The foregoing has outlined rather broadly the features and technical advantages of the present invention in order that the detailed description of the invention that follows may be better understood. Additional features and advantages of the invention will be described hereinafter which form the subject of the claims of the invention. It should be appreciated by those skilled in the art that the conception and the specific embodiment disclosed may be readily utilized as a basis for modifying or designing other structures for carrying out the same purposes of the present invention. It should also be realized by those skilled in the art that such equivalent constructions do not depart from the spirit and scope of the invention as set forth in the appended claims. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     For a more complete understanding of the present invention, and the advantages thereof, reference is now made to the following descriptions taken in conjunction with the accompanying drawings, in which: 
     FIG. 1 is a high level block diagram of a system incorporating the present invention; and 
     FIG. 2 is a flow chart of the operation of the system shown in FIG.  1 . 
    
    
     DESCRIPTION OF THE PREFERRED EMBODIMENTS 
     FIG. 1 illustrates telecommunications system  10  which provides calling services, such as prepaid calling, voice mail, automated customer service, or international call back services, to telephone users. System  10  is comprised of a number of servers  101 - 104  that are distributed over a wide geographic area, For example, in FIG. 1, server  101  is located in Los Angeles, server  102  is located in Denver, server  103  is located in Chicago and server  104  is located in New York. Each server  101 - 104  is connected to a local call processor, such as call processor  105 , which handles users&#39; calls in each local area. Server  101  provides information to call processor  105 , such as data required to run a particular application or customer account information. 
     Callers, such as users  107  and  108 , connect to call processor  105  through public switched telephone network (PSTN)  106 . Lines  11  may be telephone trunk lines or any other well-known telecommunications connection that functions as a link between call processor  105  and PSTN  106 . Call processor  105  is capable of selectively routing and connecting inbound and outbound calls in order to allow callers, such as user  107 , to contact a called party, such as user  108 . Alternatively, call processor  105  may be connected to wireless network  109 . In a wireless telecommunications environment, call processor  105  is capable of providing calling services for wireless customers, such as users  110  and  111 . 
     Call processor  105  and server  101  may be separate devices which cooperatively interact to provide calling services or they may be embodied in a single local system. Depending upon the desired application and the particular telecommunications system, call processor  105  and/or server  101  may be part of a service control point (SCP), service node (SN), intelligent peripheral (IP) or mobile switching center (MSC). 
     Call processor  105  is capable of performing any number of call processing services. The operation of system  10  will be described using the example of debit card calling or prepaid calling services. In order to use the prepaid calling service, user  107  typically will dial a routing telephone number, such as a specific “1-800”, “1-888” or “10XXX” number for the service provider. PSTN  106  routes the call to local call processor  105  for handling. User  107  provides call processor  105  with identification information, such as a account number or personal identification number (PIN), and with a telecommunications destination, such as a telephone number for users  108  or  111 . 
     Call processor  105  also can obtain caller identification information from user  107  via automatic number identification (ANI). For example, if multiple callers used the same prepaid account, such as a business account, then the callers could all use the same ANI number and the system would identify the account from the PIN information. In wireless network  109 , user  110  does not need to dial a special routing number. Instead, user  110  would dial the number of a desired telecommunications destination and call processor  105  would identify the caller, and the appropriate account, using the mobile identification number (MIN) for wireless device  110 . 
     In addition to obtaining identifying information from callers  107  or  110 , call processor  105  requires information from system  10 , such as a list of valid customer accounts or specific information for a particular account. Servers  101 - 104  store account information for each debit card user. The account information may comprise such data as an identification code, a PIN, an account balance and a specified rate plan. The rate plan may be a flat rate, or a fixed charge that is billed for each minute that the caller and the calling party are connected, without regard for the distance of the connection. Alternatively, a variable rate plan may be used so that the billed amount is determined by factors such as the time of the call and distance of the called destination. 
     In system  10 , account information for a particular user is maintained by only one server  101 - 104  at any point in time. By limiting control of user accounts to only one server, system  10  is able to reduce network traffic and prevent fraud. Network traffic is reduced in system  10  because account information needs to be updated only in server  101 , instead of requiring updates to duplicate accounts in every server  101 - 104 . The capability of maintaining a single current account record prevents fraud because only one server can control the account information at one time. If user  107  is being serviced by call processor  105 , then user  107 &#39;s account will be active in server  101 . Thus, server  101  will recognize that an attempt by caller  108  to use caller  107 &#39;s account is invalid. Likewise, if another server  102 - 104  requests access to user  107 &#39;s account while the account is active on server  101 , then system  10  will detect and prevent the unauthorized use of caller  107 &#39;s prepaid balance by a caller in another area. 
     If user  107  (or  110 ) is in Los Angeles, then call processor  105  will receive his or her incoming debit card calls for processing. Processor  105  gathers information from caller  107  and requests account information from local server  101 . If user  107 &#39;s last debit card call was made in the Los Angeles area, then his or her account information will typically be readily available on server  101  for use by call processor  105 . If user  107 &#39;s last prepaid call was initiated in a different location, such as when he or she was in New York, then the account record will be resident on a remote server, such as server  104  in New York. 
     In this situation, when a local server does not have control of a user&#39;s account information, server  101  must determine which other server  102 - 104  has control of user  107 &#39;s account. If there are a large number of servers in system  10 , then a coordinating server, such as server  112 , may be used to track the location of each account record. When local server  101  requires a particular account record, server  101  can use network connection  13  to query coordinating server  112  as to the location of that particular account. Coordinating server  112  will respond with the account&#39;s location, such as on server  104 . Then, server  101  can directly request server  104  to transfer the account via line  12  which may be a network connection or any data connection which allows servers  101  and  104  to exchange queries, messages or data for user accounts. When an account is transferred from one server to another, each server involved in the transfer can update the account location in coordinating server  112  via lines  13 . Alternatively, if there are a few servers in system  10 , then each server may be interconnected (not shown) and requesting server  101  can poll, or broadcast to, each of the other servers  102 - 104  to determine which server holds the desired account. 
     In the present example, after server  101  locates user  107 &#39;s account on server  104 , then server  101  will request server  104  to transfer user  107 &#39;s account information. Unless the account is active for a caller in New York, server  104  will transfer control of the account to server  101  over connection  12 . Typically, while server  101  is negotiating for control of the account information, call processor  105  continues to route user  107 &#39;s call. 
     Once server  101  obtains the desired account record, then call processor  105  determines the current account balance to ensure that there is a positive balance against which the call costs can be charged. Call processor  105  also determines which rate plan applies to caller  107 . Once caller  107  and called party  108  are connected, call processor  105  begins calculating the call charges based upon the appropriate rate plan. Call processor  105  subtracts the running cost of the connection from user  107 &#39;s account balance. At predetermined intervals call processor  105  provides warnings to caller  107  regarding the amount of time remaining based upon the current adjusted account balance. For example, when the account balance is approaching zero, call processor  105  may provide a five or ten minutes remaining warning and/or a countdown of the last few minutes before termination of the connection. If the account balance does reach zero, or some other minimum amount, which may be a negative value, then call processor  105  will give a final warning and break the connection between users  107  and  108 . On the other hand, users  107  and  108  may finish their communication and disconnect from call processor  105  with a positive balance remaining in user  107 &#39;s account. Once the connection is terminated, server  101  updates the account balance in user  107 &#39;s record. User  107 &#39;s account record is then available for use by servers  101 - 104  for future calls. 
     FIG. 2 is a flowchart that illustrates the steps followed by call processor  105  and server  101  during a prepaid communication in system  10 . Call processor  105  receives an incoming call from PSTN  106  or wireless network  109  in step  201 . Next (step  202 ) call processor  105  collects identifying information about the incoming call, such as ANI, MIN or DNIS data from networks  106  and  109  or account number and PIN information from the caller. Callers can input account number information via dual tone multi frequency (DTMF) signals that are entered on a telephone or wireless device keypad or via spoken messages. 
     In step  203  call processor  105  queries server  101  whether a valid prepaid account was identified in step  202 . Call processor  105  provides an account identifier to server  101  which then determines whether such an account is active on system  10 . System  10  may provide for validating accounts by providing a list of assigned account numbers on each server  101 - 104 . For example, the list could be updated every time a new prepaid account was opened or a new calling card was issued. The purpose of the valid account list is merely to verify that the caller actually has an account before call processor  105  begins to route the call. The list of valid account numbers or calling card numbers would not have to contain information such as the current prepaid balance. Instead, specific account information is held in a separate file on only one server. 
     It will be understood in FIG. 2 that the steps may be rearranged for various embodiments of system  10 . Furthermore, two or more steps may be performed concurrently as shown by steps  204 - 206  and steps  207 - 209 . In step  203 , server  101  validates the caller&#39;s account to call processor  105  and then determines whether it has control of that account. As discussed in detail below, if server  101  does not have control of the account, then it performs steps  207 - 209  in order to gain control of the account. For efficiency purposes, regardless of whether server  101  has control of the caller&#39;s account, call processor  105  continues to process the call in steps  204  to  206 . 
     Call processor  105  collects destination information in step  204 . This information may be entered by the caller to initiate the call or system  10  can prompt the user for the information. For example, a wireless prepaid calling user would simply dial a destination number. On the other hand, in some systems, wireline user  107  may have to dial an initial routing number, such as a “1-800” number, and the system would then prompt the caller for additional account information. Upon obtaining destination information and a valid account number, call processor  105  begins routing the call in step  205 . In step  206  call processor  105  queries server  101  for the rating method that is to be used in calculating the caller&#39;s charges. In order to respond to the rating query, server  101  must have access to the caller&#39;s account. 
     As discussed above, in step  203  server  101  determines whether the caller&#39;s account is resident locally or whether some other server  102 - 104  has control of the account. If the account is held by a remote server  102 - 104 , then server  101  performs steps  207 — 209 . In step  207  server  101  queries coordinating server  112  as to the current location of the caller&#39;s account. In response server  112  provides server  101  with the account&#39;s location, for example on server  104 . In step  208 , server  101  contacts server  104  directly, such as via link  12 , and requests access to the account. 
     If the requested account is in active use on server  104 , that will be an indication to system  10  of potential fraudulent use and server  104  may deny access to server  101 . In turn, server  101  will notify call processor  105  that the account identified by the caller is active on another server and call processor  105  may terminate the call. Alternatively, if the requested account is not active on server  104 , then server  104  will transfer the account to server  101  via link  12 . After the account has been transferred, servers  101  and  104  inform coordinating server  112  of the updated account location in step  209 . 
     Returning to step  206 , once server  101  has access to the caller&#39;s account it responds to the rating query from call processor  105  by indicating whether the call should be charged on a fixed or variable rate. In step  210  call processor  105  calculates a minimum call duration or call charge for the specific connection dialed based upon the caller&#39;s rate plan. Processor  105  and server  101  then determine whether the caller&#39;s account balance is above the minimum amount. If the account balance is above the minimum level, the connection will be maintained, otherwise, call processor will terminate the connection if the balance is below the calculated minimum charge. 
     In step  211  call processor  105  monitors the running charges for the Hecall and deducts the amount from the initial account balance. Periodically, in step  212 , call processor  105  provides warnings to the caller as to the call duration remaining. For example, based upon the account balance, the rating plan and the type of connection, call processor  105  can convert the account balance into a certain number of minutes for a specific connection. Then, by subtracting the elapsed time from the initial balance, call processor can calculate how many minutes remain. At predetermined intervals, such as when there are ten or five minutes remaining, call processor  105  plays an audible warning to the caller. 
     If the caller continues to communicate, then the connection is terminated when call processor  105  and server  101  calculate that the running account balance has gone to zero (step  213 ). On the other hand, the caller or called party may terminate the connection before the balance reaches zero (step  214 ). In either situation, following termination, call processor  105  updates the account record in server  101  as shown in step  215 . Once the account balance is updated in the record, then server  101  will maintain control of the record until the caller initiates another call through call processor  105  or until another server  102 - 104  requests access to the account. 
     Although the present invention and its advantages have been described in detail, it should be understood that various changes, substitutions and alterations can be made herein without departing from the spirit and scope of the invention as defined by the appended claims.