Patent Publication Number: US-10320992-B2

Title: System and method for distributing personal identification numbers over a computer network

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
     This application is a continuation of U.S. patent application Ser. No. 10/821,405, entitled SYSTEM AND METHOD FOR DISTRIBUTING PERSONAL IDENTIFICATION NUMBERS OVER A COMPUTER NETWORK, filed Apr. 9, 2004, now abandoned which is a continuation-in-part of U.S. patent application Ser. No. 10/316,603, entitled SYSTEM AND METHOD FOR DISTRIBUTING PERSONAL IDENTIFICATION NUMBERS OVER A COMPUTER NETWORK, filed Dec. 10, 2002 (now U.S. Pat. No. 7,522,716), which is a continuation of U.S. patent application Ser. No. 09/619,392, filed Jul. 19, 2000 (now U.S. Pat. No. 6,526,130), all of which are hereby incorporated by reference in their entirety. This application is also related to co-pending U.S. patent application Ser. No. 10/821,815, entitled SYSTEM AND METHOD FOR DISTRIBUTING PERSONAL IDENTIFICATION NUMBERS OVER A COMPUTER NETWORK, filed Apr. 9, 2004, which is hereby incorporated by reference in its entirety. 
    
    
     FIELD OF THE INVENTION 
     The present invention generally relates to a system and method for allowing customers and businesses to purchase pre-paid goods and services. The present invention more specifically relates to a system and method for distributing personal identification numbers (PINs) for access to pre-paid goods and services to users over a computer network. 
     BACKGROUND OF THE INVENTION 
     There currently exist “pre-paid” telephone cards that allow a customer to purchase a desired amount of long-distance telephone time from a particular telephone service provider. These pre-paid telephone cards are often sold by dealers such as convenience stores or wireless phone stores. Pre-paid telephone cards are also often sold in airports. Vending machines for selling pre-paid telephone cards also have been developed. Each of these pre-paid telephone cards has a specific monetary denomination. For example, a customer could purchase a $10 card, a $20 card, or a $100 card. These pre-paid telephone cards are sold by particular telephone service providers such as AT&amp;T, MCI, Sprint, etc. A customer could, for example, buy a $20 MCI card, which would entitle him or her to $20 worth of long-distance calling service provided by MCI. These cards are referred to as “pre-paid” because the customer purchases the long-distance time before he or she actually places the call. This is in contrast to the more typical post-pay service that most telephone customers use with the telephone in their residence or office. With post-pay service, customers are sent a bill on a periodic basis. The customer pays for calls that have already been made, rather than calls that will be made in the future. 
     Frequently, the pre-paid telephone cards that are sold by dealers or vending machines are of the “scratch-off” type. After the customer purchases a card, he or she can scratch off a layer of material, which reveals a personal identification number (PIN). The layer of scratch-off material hides the PIN from customers browsing in the store who have not purchased the card. After a customer purchases a card and scratches off the layer of material, the customer can then use the card to place a long-distance call. When the customer wishes to place a long-distance call, he or she dials a special number provided by the telephone service provider. The customer then enters the PIN written on the card. The long distance provider automatically debits the charge of the call from an account associated with the PIN. 
     As an example, a customer could purchase a $10 MCI card. After the customer rubs off the layer of material, a PIN number 129384348764 is revealed. When the customer wishes to place a long-distance call, the customer dials an MCI access number. The customer then enters PIN 129384348764. The long-distance carrier, MCI, identifies the PIN and recognizes that there is $10 worth of credit in this account. If the customer places a call which lasts 5 minutes and costs 4$, MCI will debit the account so that $6 remains. The next time the customer places a call using that PIN number, the system will find that $6 remains in the account associated with that PIN. 
     One problem with these pre-paid phone cards is that the cards present a major inventory headache for dealers. There is a lot of work and expense associated with maintaining a filled inventory of cards. First, the dealer or vending machine operator has to predict which cards will be in demand and determine how many cards of each denomination to order for each of various providers. The dealer then has to pay for the desired inventory of cards up front, which requires a significant cash outlay. The dealer then has to keep track of how many cards are left in stock for each service provider and of each different monetary denomination, and determine when to order a new batch of cards. All of these costs associated with filled inventory can be time consuming and expensive for dealers. 
     Another problem is that these pre-paid telephone cards are especially vulnerable to theft, loss, and other inventory “shrinkage.” Because the cards are small, it is easy for a shoplifter to pocket a card unnoticed. Since these cards have a high value to them and are so easy to pocket, dealers, which sell these cards, are extremely vulnerable to inventory shrinkage. 
     Vending card machines have been proposed which store personal identification numbers (PINs) in a memory in the machine. A customer can then purchase a pre-paid telephone PIN by inserting cash into the machine. The machine can replenish its stock of PINs when the memory runs out of PINs or on a periodic basis by accessing a remote store of PINs via a modem. 
     The problem with these vending machines is that there are still significant costs associated with inventorying the PINs. The PINs are retained in a memory in the machine, which has a similar effect to storing cards. Once a PIN has been stored in the memory of a particular machine, that PIN becomes unavailable to be used by any other dealer, even if the PIN is never purchased. Additionally, if the machine were to break, or the memory were to be erased, there is a problem determining who is responsible for paying for the PINs that were contained in the memory. Additionally, decisions must still be made how many PINs to store in memory, what monetary denominations to store in memory, and for which providers to store PINs in memory. Therefore, there are still significant inventory costs associated with storing the PINs in the vending machine. Additionally, these proposed vending machines do not provide consumers the ability to obtain a PIN from the convenience of their homes or offices. 
     Another system, which has been proposed, is a web site, which is accessed over the Internet. A customer can go to this web site and purchase pre-paid telephone service. A PIN is then e-mailed to the customer&#39;s e-mail address. The problem with this service is that a customer must be able to access his or her e-mail account in order to obtain the PIN. Additionally, e-mail is often unsecure. If a computer hacker is “listening in” on an individual&#39;s email, then the hacker can steal the PIN and use it for his own purposes. Additionally, if a customer is purchasing a PIN in a convenience store or an airport, the customer will probably not have access to his or her e-mail account. The customer may have to wait to return to his or her home or office to access the PIN. Additionally, e-mail can sometimes be slow and it may take hours or days to retrieve the message from the customers Internet Service Provider (ISP). 
     What is needed is a secure system that provides PINs for pre-paid goods and services conveniently to customers. What is also needed is a system that relieves dealers such as convenience stores and vending machine operators from the costs associated with maintaining a filled inventory of pre-paid cards and PINs. What is also needed is a system that allows consumers to select from a wide-range of providers and monetary denominations without requiring the dealer to maintain a large filled inventory of cards or predict which type of cards or PINs to order. What is also needed is a secure system for selling pre-paid goods and services, which is less vulnerable to theft and other inventory shrinkage. What is also needed is a system that can perform real-time distribution and accounting of personal identification numbers. 
     SUMMARY OF THE INVENTION 
     In one embodiment, the invention can be characterized as a system for distributing personal identification numbers (PINs). The system includes a plurality of client terminals, each of said plurality of client terminals being capable of requesting and receiving PINs, and the system includes a plurality of servers operatively coupled to said plurality of client terminals, each of said servers including a corresponding one of a plurality of PIN inventories, wherein each of said servers is capable of sending PINs to at least one of said plurality of client terminals. The system also includes a hub operatively coupled to each of said servers, wherein said hub is configured to send PINs to each of said plurality of servers for inclusion within said PIN inventories. 
     In another embodiment, the invention can be characterized as a method for distributing personal identification numbers (PINs) through a distribution network including a plurality of servers, each of said servers being operatively coupled to at least one of a plurality of client terminals. The method including: receiving at a hub, from one of said plurality of servers, a request for a quantity of PINs; sending from said hub said quantity of PINs to said one of said plurality of servers wherein each of said plurality of servers is configured to send PINs to at least one of said plurality of client terminals; requesting another quantity of PINs from another one of said plurality of servers; and receiving at said hub said other quantity of PINs from said other one of said plurality of servers. 
     In a further embodiment, the invention may be characterized as a method, and means for carrying out the method, for managing an inventory of PINs in a PIN distribution network. The distribution network includes a hub coupled to a plurality of servers, and each of the servers is coupled to at least one of a plurality of client terminals, the method comprising: dynamically allocating PINs of said inventory of PINs among said plurality of servers so as to substantially maintain a quantity of PINs at each server at a desired level for each server; and acquiring additional PINs at the hub in response to at least one PIN in said inventory being distributed to at least one user from at least one of said plurality of client terminals. 
     In yet another embodiment, the invention may be characterized as a method of distributing a personal identification number (PIN) through a client terminal. The method including: generating, at a server, a request for a PIN; transmitting said request for said PIN from the server to a hub; receiving said PIN at said server from said hub; receiving, at said server, a client request for said PIN, wherein said client request is generated at said client terminal and transmitted to said server; and sending said PIN to said client terminal in response to said client request. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  depicts a block diagram of a system architecture suitable for implementing a method of distributing PINS; 
         FIG. 2A  depicts a picture of a dealer-located embodiment of a client terminal; 
         FIG. 2B  depicts an automated kiosk embodiment of a client terminal; 
         FIG. 2C  depicts a personal computer embodiment of a client terminal; 
         FIG. 3  depicts a simplified example of a database record; 
         FIGS. 4A and 4B  depict a flowchart illustrating a method of purchasing one or more PINs; 
         FIG. 5  depicts a flowchart illustrating a method of operating a client terminal; 
         FIG. 6  depicts an example of a display allowing the user to choose a provider; 
         FIG. 7  depicts an example of a display allowing the user to choose a monetary denomination; 
         FIG. 8  depicts an example of a display showing the user rate and expiration information; 
         FIG. 9  depicts an example of a display allowing the user to choose a quantity of cards; 
         FIG. 10A  depicts an example of a display screen requesting payment from the user; 
         FIG. 10B  depicts an example of a display screen showing the user his or her purchased PIN(s); 
         FIG. 11  depicts a flowchart illustrating a method of using a PIN to access telephone service; 
         FIG. 12  depicts a flowchart illustrating a method of using a PIN at a gas station; 
         FIG. 13  depicts an example display screen for allowing a user to log-in to a purchase ordering system; 
         FIG. 14  depicts an example of a display screen shown to a user for entering data into a purchase order; 
         FIG. 15  depicts an example of a purchase order summary screen; 
         FIG. 16  depicts an example of a screen shown to a user for entering alternate credit card information; 
         FIG. 17  depicts an example of a purchase receipt summary screen for the purchase ordering system; 
         FIG. 18  shows an example of a prepaid cellular PIN receipt/ticket; 
         FIGS. 19A and 19B  shows an example of a more detailed database record; 
         FIG. 20  is an overview of a system architecture incorporating a host connection manager; 
         FIG. 21  is an overview of another system architecture incorporating host connection managers; 
         FIG. 22  is a schematic diagram of the structure of one embodiment of the host connection managers described with reference to  FIGS. 20 and 21 ; 
         FIG. 23  is a flow chart depicting steps carried out by the host connection manager of  FIG. 22 ; 
         FIG. 24  is an overview of a cooperative inventory system incorporating a hub according to one embodiment of the present invention; 
         FIG. 25  is a schematic diagram of the structure of one embodiment of the servers described with reference to  FIG. 24 ; 
         FIG. 26  is a schematic diagram of the structure of one embodiment of the hub described with reference to  FIG. 24 ; 
         FIG. 27  is a flowchart depicting steps carried out by the server of  FIG. 25  in accordance with one embodiment of the present invention; and 
         FIG. 28  is a flowchart depicting steps carried out by the hub of  FIG. 26  according to an exemplary embodiment. 
     
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
     The present invention may be best understood in light of the subject matter of co-pending U.S. application Ser. No. 10/316,603 entitled: SYSTEM AND METHOD FOR DISTRIBUTING PERSONAL IDENTIFICATION NUMBERS OVER A COMPUTER NETWORK, which is described herein with reference to  FIGS. 1-19  and incorporated by reference. As one of ordinary skill in the art will recognize, many of the aspects of the systems and methods described with reference to  FIGS. 1-19  are capable of being incorporated into the embodiments of the present invention. 
     This co-pending application describes a system and method which allows a customer to purchase pre-paid amounts of any good or service, such as telephone service, gasoline, electricity, dry-cleaning, bus service, subway service, magazines, newspapers, or bundled goods and services. After the customer purchases a pre-paid amount of a good or service, the customer receives a personal identification number (PIN), which is downloaded in real-time over a network such as the Internet. The PIN is provided over the network “on-demand,” meaning that the PIN is downloaded over the network immediately or very soon after receiving a request and payment from the customer. The PIN is downloaded over a network in response to the customer&#39;s request, not delivered to the customer hours or days after the request. The PIN is not stored locally at the client terminal used by the customer, but is downloaded over the Internet, thus eliminating any inventory tasks or costs associated with maintaining a filled inventory for the dealer. After the customer receives the PIN, the customer can then use this PIN at any convenient time to access the desired good or service. 
     The above-identified co-pending application thus provides “virtual inventory” of pre-paid cards because it removes all the burdens of inventorying pre-paid cards from the dealer. Additionally, it provides “virtual distribution” of telephone cards, because the service providers no longer have to manufacture pre-paid cards and distribute them to the dealers. Because the PINs are delivered on-demand, there is a real-time distribution and accounting. Additionally, there is an elimination of the inventory shrinkage problem created by the loss, and theft of pre-paid cards. 
     Moreover, the above-identified co-pending application describes a system and method for providing a personal identification number (PIN) to a client terminal over a computer network. The described system and method eliminates all costs associated with filled inventory for dealers selling PINS. For example, a server receives a request for a PIN over a network, the request originating from a user at a client terminal. The request is associated with a requested monetary unit and a requested provider. The server retrieves from a database a PIN associated with the requested monetary unit and requested provider. The server transmits the retrieved PIN to the client terminal over the network, wherein the PIN is transmitted to the client terminal on-demand in response to the customer&#39;s request. No inventory of PINs is stored at the client terminal. All transmissions between the client terminal and the server are by secure transmission to prevent an eavesdropper from stealing the PIN(s). 
     The PIN can be used for accessing pre-paid telephone service. Alternatively, the PIN can be used for accessing other pre-paid goods and services such as gasoline, magazines, subway service, etc. 
     The server can transmit to the client terminal a plurality of products or services available. The server then receives from a user at the client terminal a selection of one of the available products or services. The server transmits to the client terminal a plurality of provider names for the requested product or service. The server receives from a customer at the client terminal a selection of one of the available provider names. The server transmits to the client terminal a plurality of monetary denominations available for the requested provider. The server receives from the client terminal a selection of one of the available monetary denominations. The server transits to the client terminal a plurality of regions available for the requested provider. The server receives from the client terminal a selection of the one of the available regions. The server can receive a request from the client terminal to view rate information. The server then transmits rate information to the client terminal. 
     The user is then prompted at the client terminal to enter payment for the requested PIN. The user can enter payment a) inserting cash into a receptacle at the client terminal, or b) entering credit card or debit card or smart card information or swiping a card through a receptacle, or c) paying cash to an operator associated with the client terminal. If the user pays a dealer, the dealer remits a portion of the payment to an account associated with the server by a) transferring funds from a dealer&#39;s account into the account associated with the server by an electronic funds transfer, or b) charging a portion of the payment to a dealer&#39;s credit account, or c) charging a portion of the payment to a dealer&#39;s credit card. 
     After the user pays for one or more PINs, the client terminal prints a receipt for the customer, the receipt including the requested PIN number and instructions for using the PIN. Additionally, a purchase ordering method is described in the above-identified pending application whereby a dealer can buy PINs in bulk and receive a wholesale discount. The dealer can place multiple individual purchase orders at once, each individual purchase order associated with a requested provider, a requested monetary denomination, and a requested number of PINs. The system of the above-identified co-pending application allows a customer to purchase pre-paid amounts of any good or service, such as telephone service, gasoline, electricity, dry-cleaning, bus service, subway service, magazines, newspapers, or bundled goods and services. After the customer purchases a pre-paid amount of a good or service, the customer receives a personal identification number (PIN), which is downloaded in real-time over a network such as the Internet. The PIN is provided over the network “on-demand,” meaning that the PIN is downloaded over the network immediately or very soon after receiving a request and payment from the customer. The PIN is downloaded over a network in response to the customer&#39;s request, not delivered to the customer hours or days after the request. The PIN is not stored locally at the client terminal used by the customer, but is downloaded over the Internet, thus eliminating any inventory tasks or costs associated with maintaining a filled inventory for the dealer. After the customer receives the PIN, the customer can then use this PIN at any convenient time to access the desired good or service. 
     The system of the above-identified co-pending application thus provides “virtual inventory” of pre-paid cards because it removes all the burdens of inventorying pre-paid cards from the dealer. Additionally, it provides “virtual distribution” of telephone cards, because the service providers no longer have to manufacture pre-paid cards and distribute them to the dealers. Additionally, there is an elimination of the inventory shrinkage problem created by the loss and theft of pre-paid cards. 
       FIG. 1  depicts a block diagram of a system for distributing PIN numbers. Easywireless.com server  102  is coupled to network  104 . Server  102  can be any large computer or network device. The name “Easywireless.com” used herein in conjunction with server  102  is used by way of example only, and is not intended to in any way limit the range of servers that can be used. For purposes of example only, “Easywireless.com” server  102  refers to a server associated with the company Easywireless, Inc. 
     Network  104  can be any network connecting computers such as the Internet. Client terminals  106 ,  108 , and  110  are running browser programs  128 ,  130  and  132 , respectively. Browsers  128 ,  130 , and  132  are any program that allows client terminals  106 ,  108 , and  110  to access Easywireless.com server  102  over network  104 . 
     Easywireless.com server  102  contains RAM  114 , ROM  116 , CPU  118 , and data storage device  120 . CPU  188  runs the software, which is operating the method depicted in  FIG. 2 . Data storage device  120  contains a personal identification number (PIN) database  112 . PIN database  112  stores PINs, which are available for purchase by customers. The PIN provides access to a pre-paid amount of a good or a service. PIN database  112  is described in more detail with respect to  FIG. 3 . 
     Data storage device  120  also includes client terminal records  122 . Client terminal records store information concerning where client terminals are located. Client terminal records  122  can store any information specific to specific client terminals, such as previous purchase history, payment and account information, and terminal preferences. 
     Data storage device also includes customer records  123 . Customer records  123  provide information unique to individual customers. For example, as will be discussed later with respect to  FIG. 2C , customers can access Easywireless.com server  102  through a home personal computer. Customers can identify themselves and provide identifying information. Easywireless.com  102  can use this information to provide better service to the customer, to target advertising to the customer, or to store payment or&#39; credit accounts. When a customer accesses Easywireless.com server  102  from a client terminal in a retail store, in most instances the customer will prefer to remain anonymous. In this case, Easywireless.com server  102  will not store any customer information in customer records  123 . 
     Data storage device  120  also contains provider records  124 . These records contain information pertinent to providers who are providing PINs for PIN database  112 . For example, these records can contain addresses, billing information, and telephone numbers. Data storage device  120  also contains advertising records  126 . Advertising records  126  contain information about advertising banners and links that can be provided to client terminals  106 ,  108  and  110  as an additional source of revenue. 
     Because the PINs are valuable and could be subject to theft and copying by electronic piracy, communications network  104  between Easywireless.com server  102  and client terminals  106 ,  108  and  110  is protected by the use of encrypted communications and well-known security techniques. Client. terminals  106 ,  108 , and  110  can provide security certificates to Easywireless.com server  102  to authenticate their transmissions. 
       FIGS. 2A-2C  depict three alternative physical embodiments of client terminals  106 ,  108  and  110 .  FIG. 2A  depicts a physical embodiment, which is used in a typical checkout counter of a store, such as a convenience store. Client terminal  200  of this embodiment includes a touch-screen  204 . Various options appear on touch-screen  204 , which a customer may activate by touching an appropriate location on touch-screen  204 . A customer makes payment by paying cash to a store clerk operating cash register  202 . Alternatively, a customer can pay with a credit card by swiping a credit card through credit card slot  208 . Buttons  206  can be used by the customer in addition to touch-screen  204  to make additional selections, such as choosing a particular type of credit card. 
       FIG. 2B  depicts an alternative physical embodiment for the client terminal, automated kiosk  210 . Automated kiosk  210  includes a touch-screen  212 . Credit card receptor  214  allows a consumer to submit payment by inserting a credit card. Alternatively, the customer can insert bills into bill receptor  218 , or coins into coin receptor  220 . The customer can optionally make selections by entering data on keypad  216  in addition to making selections with touch-screen  212 . 
       FIG. 2C  depicts another alternative physical embodiment for a client terminal. Personal computer  222  can be used in the convenience of a customer&#39;s home or office to access the Easywireless.com web server, by entering an appropriate URL in the customer&#39;s browser (for example, http://www.Easywireless.com). The customer can then purchase PIN(s) from Easywireless.com from the customer&#39;s personal computer  222 . 
       FIG. 3  depicts a simplified example of records within PIN database  112 . Another, more detailed example of records within PIN database  112  is described later with respect to  FIGS. 19A and 19B . PIN database  112  stores PINs, which are available for purchase by customers. PIN database  112  contains records  312 . Good/Service field  301  specifies the name of a good or service, which is available for pre-paid purchase. For example, records  312   a - 312   p  shown in  FIG. 3  contain PINs, which provide access to pre-paid cellular service. Records  312   q - r  shown in  FIG. 3  contain PINs, which provide access to pre-paid gasoline. Other goods and services can be also be included in PIN database  112  such as electricity, cable service, satellite TV, etc. 
     Provider field  302  contains the name of the particular good or service provider associated with the record. For example,  FIG. 3  shows records for AT&amp;T, AIRTOUCH, SPRINT, and MOBIL. Value field  304  specifies the dollar value associated with each record. 
     For example, record  312   h  provides a customer with $50 of pre-paid cellular service from AIRTOUCH. PIN field  306  specifies the PIN, which is provided to the customer and allows access to the good or service. Rate field  308  specifies a rate associated for each record. For example, for cellular telephone service rate field  308  specifies the calling rate associated with the record. In the example PIN database  112  shown in  FIG. 3 , rate field  308  is not used for gasoline records  312   q  and  312   r , since the gasoline rate is determined at the pump. 
     Expiration field  310  contains an expiration date beyond which the PIN for that record will no longer be valid. Other fields may also be added. Some fields may be particular to a specific good or service. For example, if gasoline is being sold then there may be a field for “Octane” which specifies the octane level of gasoline being purchased. 
       FIG. 4A  depicts a flowchart illustrating a method of operating Easywireless.com server  102 . Initially, in step  400 , the Easywireless.com server receives a request from a customer to begin. For example, a customer entering a retail store approaches client terminal  200  shown in  FIG. 2A . A “BEGIN” Window displayed on touch-screen  204  reads “Touch here to begin.” The customer approaches the touch-screen  204  and touches the BEGIN Window. This sends a request to begin to Easywireless.com server  102 . In step  402 , in response to receiving a request to begin, Easywireless.com server  102  transmits to the client terminal a list of products and services offered. For example, Easywireless.com server  102  could transmit: 1) cellular telephone service, 2) long-distance telephone service, 3) electricity, 4) gasoline, and so on. All of these goods and services would be available to the customer to purchase on a pre-paid basis. The list of products and services transmitted to the client terminal appears, for example, on touch-screen  204  shown in  FIG. 2A . The customer then touches a desired good or service on touch-screen  204 . This sends a request for the chosen good or service back to Easywireless.com server  102 . For example, the customer selects “cellular telephone service.” 
     In step  404 , Easywireless.com server  102  receives the request from the client terminal for the chosen good or service. In this example, Easywireless.com server  102  receives a request for cellular telephone service. In step  406 , the Easywireless.com server  102  transmits to the client terminal a list of providers for the requested good or service. For example, if the customer has requested cellular telephone service, Easywireless.com server  102  transmits a list of: AT&amp;T, AIR TOUCH, and SPRINT. The customer then selects one of these offered providers by touching an option on touch-screen  204 . This would send a request back to Easywireless.com server  102  for a particular requested provider. For example, the customer could select “AIRTOUCH.” 
     In step  408 , Easywireless.com server  102  receives the customer&#39;s request for the particular provider requested. 
     In step  409 , Easywireless.com server  102  transmits to the client terminal a list of regions for the requested good or service. For example, if the customer requested “AIRTOUCH” in step  408 , then Easywireless.com server  102  would transmit a list of regions such as “AIRTOUCH NORTHEASTERN U.S.,” or “AIRTOUCH NEW YORK CITY METROPOLITAN REGION,” OR “AIRTOUCH PACIFIC REGION,” etc. In step  410 , Easywireless.com server  102  receives the customer&#39;s request for a particular region. 
     In step  411 , Easywireless.com server transmits a list of pre-paid monetary denominations offered. For example, if a request for “AIRTOUCH” is received, Easywireless.com might offer pre-paid cellular service for AIRTOUCH in the following monetary denominations: $10, $20, $50, and $100. Thus, a customer could choose to buy a $50 “virtual” phone card, which would provide him or her with $50 of pre-paid cellular service. 
     The Easywireless.com server  102  can determine what monetary denominations are available by one of the following methods. As a first method, Easywireless.com server  102  checks provider records  124 , and looks up the record corresponding to the chosen provider (for example, AIRTOUCH). Easywireless.com  102  then checks a field of the provider record to determine what monetary values are offered. As a second method, Easywireless.com server  102  checks PIN database  112 , and determines what types of monetary denominations are available. For example, Easywireless.com server  102  can determine that it is presently out of stock of $50 AIRTOUCH PINs, but Easywireless.com server  102  has available $10 PINs, $20 PINs, and $100 PINs. 
     As an example, the customer could choose to purchase a $50 PIN from AIRTOUCH. The customer would receive a PIN, which would allow him or her to purchase $50 of cellular telephone service. As an alternative to transmitting a list of offered monetary denominations, in step  410 , the customer could alternatively be allowed to simply type in at a keypad a desired amount of service that he or she desires. For example, a message would appear on touch-screen,  204  stating “TYPE IN AN AMOUNT OF PRE-PAID SERVICE YOU WISH TO PURCHASE.” The customer could then type in, for example, $50. Easywireless.com server  102  could then check PIN database  112  to see if it had any $50 PIN denominations available. If there was no $50 PINs available, Easywireless.com server  102  could, for example, transmit a message stating, “THERE ARE NO $50 PINS AVAILABLE. WOULD YOU LIKE TO PURCHASE A $40 PIN OR A $75 PIN?” Alternatively, Easywireless.com server  102  could transmit a message stating “THERE ARE NO $50 PINS AVAILABLE FOR AIRTOUCH. HOWEVER, SPRINT AND MCI OFFER $50 PINS FOR CELLULAR TELEPHONE SERVICE. WOULD YOU LIKE TO PURCHASE FROM ONE OF THESE PROVIDERS?” 
     The customer can also be given an option to “View Rates.” If the customer chooses this option, then a request to view rates is sent to the Easywireless.com server  102 . In step  412 , the request is received by Easywireless.com server  102 . In step  414 , Easywireless.com server  102  transmits rate information to the client terminal. For example, the rate information could specify that a $100 “virtual” pre-paid phone card purchased from AIRTOUCH has a cellular calling rate of $0.35 per minute, and the PIN expires in 6 months. A $5&amp; virtual pre-paid phone card purchased from AIRTOUCH has a cellular calling rate of $0.40 per minute, and the PIN expires in 8 months. Providers may choose to offer lower rates for larger pre-paid purchases as a high volume discount. Further information can also be requested and provided to the customer depending on the particular product or service purchased. For example, if the customer is purchasing gasoline, the customer could request current price per gallons at various gas station locations for various octane levels. 
     In step  416 , Easywireless.com server  102  receives from the client terminal a request for one of the available monetary denominations. For example, the customer could select an option to purchase a $50 PIN from AIRTOUCH by touching the appropriate option on touch-screen  204 . 
     In step  418 , Easywireless.com prompts the customer at the client terminal to make payment for the requested PIN. Payment can be made by the customer in a number of ways. In the embodiment shown in  FIG. 2A , the customer can pay the dealer by cash, credit card, debit card, smart card or any similar method (the customer pays a cashier behind cash register  202 ). Once the customer pays the dealer, then the dealer must transfer a portion of the payment to Easywireless.com Payment can be apportioned and transferred between the dealer and Easywireless.com by a number of methods. Some example methods: 
     First method “ACH WALLET”: The dealer has a special account set up with Easywireless.com. The dealer stores money in the account before the PIN is purchased. Immediately before a customer purchases one or more PINs, the dealer pays a portion of the payment to Easywireless.com by transferring money from the dealer&#39;s account to Easywireless.com by ACH (automated clearing house) electronic funds transfer. This method of payment is referred to as “ACH wallet.” 
     Second method “CREDIT ACCOUNT”: The dealer has a credit account with Easywireless.com. The dealer is allowed a predetermined amount of credit based on the creditworthiness of the dealer. When a customer pays for one or more PINs, a portion of the payment is charged to the dealer&#39;s credit account. The dealer is then billed later for the amount charged. 
     Third method: The dealer simply provides credit card information to Easywireless.com. When customer purchases one or more PINs, a portion of the payment is charged to the dealer&#39;s credit card. 
     Fourth method: The customer&#39;s credit card information (or debit card, or smart card) is sent directly to Easywireless.com. Easywireless.com then charges the customer&#39;s credit card and sends a portion of the payment back to the dealer. 
     As will be understood by one skilled in the art, the above methods are by example only and there are a multitude of ways that payment can be arranged between the dealer and Easywireless.com. All of these methods do have one thing in common, however. The PIN is sent by Easywireless.com right after a payment is made (either by cash or credit). This makes the delivery of the PIN “on demand” and eliminates costs associated with filled inventory. Because the PIN is sent right after payment is made, the dealer has no costs associated with filled inventory. For example, the dealer does not have to contact Easywireless.com at the beginning of each month and order $10,000 worth of cards. The dealer does not have to predict which cards will be popular, and how many cards to order of each type. Payment for the PIN is charged at the time of each transaction, and thus the dealer has no filled inventory costs. 
     In the automated kiosk embodiment shown in  FIG. 2B , the customer can enter payment by swiping a credit card through credit card receptor  214 , or inserting cash into bill receptacle  218  or coin receptacle  220 . Using the personal computer of  FIG. 2C , the customer can enter payment by typing in his or her credit card information. 
     After payment has been received and verified in step  418 , then in step  420  Easywireless.com server retrieves a PIN from the database having the appropriate characteristics selected by the customer. For example, if the customer chose to purchase a $50 virtual pre-paid phone card for pre-paid cellular telephone service from AIRTOUCH, then Easywireless.com server  102  could retrieve record  312   f  shown in  FIG. 3 . In step  422 , Easywireless.com web server transmits PIN 0948574995 (this PIN is shown in PIN field  306  of exemplary record  312   f  in  FIG. 3 ) to the customer at the client terminal. Once a PIN has been retrieved from PIN database  112  and transmitted to the customer, the PIN record is marked as sold and unavailable from PIN database  112  so that it will not be sent to another customer. Alternatively, the PIN record can be marked as used, so that it will not be retrieved for another customer. 
     Easywireless.com web server  102  also transmits any instructions necessary to use the PIN. For example, Easywireless.com can transmit a telephone access number, which the customer needs to dial before placing a cellular telephone call and entering the PIN. The telephone access number and other instructions will be unique for each provider. These instructions can either be stored in each individual record  312  in PIN database  112 , or the instructions can be stored in provider records  124 . 
     The customer could also request to receive multiple PINs. For example, the customer could purchase 3 $50 PINs for AIRTOUCH cellular telephone service. After the customer enters $150 in payment, Easywireless.com server  102  transmits  3  $50 PINs to the customer at the client terminal. 
     At step  424 , the client terminal prints out a receipt for the customer. The receipt includes the requested PIN(s) purchased by the customer, and any instructions for using the PIN such as a telephone access number. The receipt can also contain advertisements. Advertisers pay Easywireless.com for the opportunity to have their ads displayed on receipts. The receipt is a printed piece of paper. Alternatively, the receipt could be in the form of a plastic card. Easywireless.com server  102  then returns back to the first step  400 , waiting for the next customer to request to “BEGIN”. 
       FIG. 5  depicts a flowchart illustrating a method of operation of client terminals  106 ,  108 ,  110  (shown in  FIG. 1 ),  200 ,  210 , and  222  (shown in  FIG. 2 ).  FIGS. 6-10  show exemplary displays to be shown on the screen of the client terminal. The method of operation will now be described with reference to the flowchart of  FIG. 5  and the screens shown in  FIGS. 6-10 . 
     In step  500 , a window appears which states “TOUCH HERE TO BEGIN.” The customer can begin by touching the touch-screen  204  or  212  in the appropriate location. If the customer has accessed the Easywireless.com web server  102  by using personal computer  222 , the customer can begin by entering an appropriate URL into the browser (such as http://www.easywireless.com). This would bring the customer to the Easywireless.com web page running on Easywireless.com server  102 . The customer could click on a link labeled “BEGIN” to begin the purchase process. 
     In step  501 , the client terminal displays list of offered goods and services, such as cellular telephone service, gasoline, electricity, dry-cleaning, etc. The customer can then choose one of these goods or services to purchase. Assume, for this example, that the customer has selects “cellular telephone service”. In step  502 , the customer is provided with a list of providers for the chosen good or service and asked to choose a provider.  FIG. 6  shows an exemplary screen corresponding to step  502  (assuming that the customer has selected “cellular telephone service”). Touch-screen  600  displays browser window  604 . Four service provider options are shown: AIR TOUCH option  608 , PRIMUS option  606 , SPRINT option  610  and AT&amp;T option  612 . For the purposes of this example, assume that a customer touches AIRTOUCH option  608 . 
     In step  504 , the display screen displays virtual cards of various monetary options, which are offered, for the chosen good or service provider (which in this example is AIRTOUCH).  FIG. 7  shows an exemplary display screen corresponding to step  504 . Four possible monetary denominations may be selected. The customer can choose the $15 option  708 , $30 option  706 , $50 option  710 , or $100 option  712 . 
     In step  506 , the display screen displays rate information, if desired by the customer. The customer is given the option of viewing rates by touching the VIEW RATES option  714  shown in  FIG. 7 . If the customer decides to touch VIEW RATES option  714 , then in step  506 , the screen displays calling rates, card expiration dates, or any other information applicable to the chosen good or service, or specific to the particular good or service provider chosen. For example, if the customer who has chosen to purchase AIRTOUCH cellular service, touches the VIEW RATES option  714 , then  FIG. 8  shows an exemplary screen. Information window  800  provides a number of information fields. Card value field  802  displays the various virtual card monetary values offered. Local rates field  804  displays the calling rate per minute for each card value. Expiration field  806  displays the expiration date beyond which the PIN is no longer usable. As shown in  FIG. 8 , AIRTOUCH offers a discount for higher value card purchases. In other words, the calling rate goes down for higher card value purchases. By touching the continue field  808 , the customer can return to the screen shown in  FIG. 7 . 
     In  FIG. 7 , the customer selects a particular monetary denomination offered by touching the screen in an appropriate location. In this example, assume that the customer has chosen the $100 virtual card option  712 . This brings up the display shown in  FIG. 9 . In step  508 , the customer is given the choice of how many cards he or she wishes to purchase. The quantity of cards window  908  in  FIG. 9  displays the number of virtual cards to be purchased. The customer can touch arrow  910  to increment the number of virtual cards to be purchased. The number of cards to be purchased is shown in box  912 . The customer can touch arrow  914  to decrement the number of virtual cards to be purchased. Field  900  and virtual card  906  display the monetary value of the virtual card that was chosen by the customer. Local rates field  902  displays the calling rate for the chosen virtual card. Expiration field  904  displays when the virtual card will expire. 
     If the customer changes his or her mind, and wishes to purchase a card with a different value, the customer can return to the screen shown in  FIG. 7  by touching the CHANGE CARD field  918 . Otherwise, the customer can proceed by touching the CONTINUE field  916 . This brings up the display shown in  FIG. 10A , corresponding to step  510 . Field  1000  displays the total purchase price. Since the customer has requested to purchase two pre-paid virtual $100 cards from AIR TOUCH, the total purchase price is $200. Field  1002  instructs the customer to insert payment. This message could alternatively tell the customer to enter credit card information, swipe a credit card, a debit card, a smart card, or pay cash to a cashier depending on the particular client terminal being used and/or a chosen method of payment. 
     In step  512 , payment is received from the customer. After payment has been received and verified, Easywireless.com server  102  retrieves the requested PIN(s) from PIN database  112  and transmits the requested PIN(s) to the client terminal in step  514 . The PIN(s) can be displayed on the screen as shown in  FIG. 10 b   , field  1004 . Message  1006  informs the customer to take a receipt. A receipt is printed out in step  516 . The receipt will contain the requested PIN(s) and any instructions necessary for using the PIN such as an access number to call. If privacy is a concern, it might be preferable not to display the PINs on the screen, but instead to only print the PINs on the receipt. 
       FIGS. 11 and 12  depict a flowchart illustrating a method of using the PIN once the customer has received the PIN from Easywireless.com server  102 .  FIG. 11  shows an exemplary method, which assumes that the customer has purchased pre-paid telephone service. As an example, assume that a customer has purchased $50 of pre-paid telephone service. A receipt was printed out for the customer providing a PIN and a telephone access number. In step  1100 , the customer dials the access number, which was provided on the receipt. Typically, the access number is specific to the chosen service provider. For example, if the customer has previously purchased $50 of pre-paid telephone service from AIRTOUCH, the customer will be given an AIRTOUCH access number. When the customer dials the access number, the customer&#39;s call will be routed to a switch operated by AIRTOUCH. The access number is preferably a toll-free 1-800 number or a local number. In step  1102 , the customer is prompted to dial the destination number that he or she wishes to call. In step  1104 , the customer is prompted to enter a PIN, which was printed out, on the receipt. The customer then dials in his or her PIN. An AIRTOUCH server then checks a PIN account for the entered PIN. In step  1106 , the AIRTOUCH server checks to see how much money is remaining in the account. If there is enough money left in the pre-paid account to place the desired call, then the call to the destination number is placed in step  1108 . While the call is continuing, the PIN account is debited in accordance with the calling charges. In step  1110 , if the account value reaches zero, the customer is informed that a new PIN must be purchased or additional payment must be made. As an option, the customer can be allowed to dial in a credit card number to continue with the call. 
       FIG. 12  depicts a flowchart illustrating a similar method to  FIG. 11 . However,  FIG. 12  depicts an example where the customer has purchased pre-paid gasoline. For this example, assume that a customer has previously purchased $50 of pre-paid MOBIL gasoline. A receipt was printed out for the customer providing a PIN. In step  1200 , the customer arrives at a local MOBIL gas station. The customer uses a keypad and display screen at a self-service pump. The customer pushes a button indicating that he or she wishes to pay with a pre-paid PIN account. In step  102 , the customer is prompted to enter a PIN. The customer enters the PIN for which he or she pre-paid. The PIN is sent to a server operated by MOBIL. The server checks a PIN account for that PIN to determine how much money is remaining in the account. If there is money left in the pre-paid account, then the customer is told to begin pumping. The pre-paid PIN account is then debited in accordance with charges for the gasoline pumped. If the account reaches zero, the customer is informed that additional payment must be made. 
     Easywireless.com server  102  essentially serves as a PIN warehouse. The operators of Easywireless.com server  102  can obtain PINs from various providers in two ways. A first method of obtaining PINs from providers is as follows. PINs are purchased by Easywireless.com directly from the providers. For example, a $10 pre-paid PIN could be purchased from AIRTOUCH at a wholesale price of $8 and then stored in PIN database  112 . In other words, AIRTOUCH sells the PIN to Easywireless.com for $8, and Easywireless.com resells the PIN to the customer for $10. Thus, Easywireless.com would make a $2 profit on the sale of the PIN. 
     A second method of obtaining and selling PINs is as follows. The PINs are received from various providers at no cost to Easywireless.com. Easywireless.com serves as a warehouse for the PINs. After a PIN is sold to a customer, the payment received from the customer is forwarded to the appropriate provider, minus a commission for Easywireless.com. 
     Another feature of the system is the ability to offer discounts. Easywireless.com server  102  can send advertisements and discount offers to the client terminals. Service providers can offer discounts such as “PRE-PAID CELLULAR SERVICE AT 30 CENTS PER MINUTE. CENTS PER MINUTE CHEAPER THAN NORMAL RATE!” Providers will be happy to provide such discounts for pre-paid purchase because there are many advantages to selling pre-paid service. The provider does not have to worry that the customer won&#39;t pay his bills, because the calls are pre-paid. The provider does not have to keep track of billing addresses and mailing bills to the customer. The provider gets the money before the call is even made, and thus earns interest on the money. Because of these advantages of pre-paid service, it is often advantageous to providers to offer a discount for pre-paid purchases. 
       FIGS. 13-16  depicts a purchase-ordering feature. The purchase ordering feature is intended to be used by dealers who wish to purchase a batch of various types of PINs, for the purpose of reselling these PINs to individual customers. The purchase order feature allows a dealer to order a desired assortment of PINs from different providers of different denominations. 
       FIG. 13  depicts an example of a login screen for allowing a user to enter the purchase ordering system. To enter the purchase ordering system, the user must be a registered user. Typically, users of the purchase ordering system will be dealers who resell the PINs to other customers. The dealers can buy PINs in bulk, and thus receive a special wholesale discount. As an option, in addition to dealers, preferred customers could be allowed to use the purchase ordering system. A user enters his or her user name in username field  1302  and enters a password in password field  1304 . The user then hits the Enter button  1306 . 
     If the user&#39;s username and password is recognized as being a registered user, then the purchase order data entry screen is displayed as shown in  FIG. 14 . Dealer Information field  1402  displays the name, address, and any other pertinent identifying information of the dealer who has logged in to the purchase order data entry system. If other customers besides dealers are allowed to log in to the purchase order data entry system, then field  1402  can be labeled “customer information” or “user information.” 
     Payment method field  1404  displays the payment method and details, such as credit card information, or ACH wallet, etc. Current balance field  1406  displays whether the user has an outstanding balance: i.e. either the dealer owes money to Easywireless.com or has a certain amount of credit remaining. 
     Table  1407  allows the dealer to many individual purchase orders. Each row of the table represents one individual purchase order. For example, the dealer can order ten $50 cards from AT&amp;T, and 20 $100 cards from Sprint, and 15 $75 cards from Verizon Wireless, etc. 
     Carrier column  1408  allows the user to select a unique carrier for each purchase order of PINs. Region column  1410  allows the user to select a particular region for each separate purchase order of PINs. Card type column  1412  allows the user to select a particular card monetary denomination for each separate purchase order of PINs. Qty column  1414  allows the user to select a quantity of cards to purchase for each separate purchase order of PINs. Wholesale column  1416  displays the wholesale per-PIN price for each separate purchase order of PINs. 
     Totals column  1418  displays the total price paid for each purchase order. Totals column  1418  field is simply the wholesale column price  1416  multiplied by the Qty column  1414 . Add/Del column  1420  allows the dealer to confirm the addition of each individual purchase order, or to change his mind and delete an entered order. Grand total field  1421  displays the sum of all the individual totals from each individual purchase order. 
     As an example of an individual purchase order, the first row shown in  FIG. 14  indicates that the user has selected one order of Verizon Wireless PINs for the Northwest region. The dealer has ordered five $30 PINs. The dealer is getting a discount, so the dealer only has to pay 
     $25 for the $30 PIN. The total paid for the dealer for that individual purchase order is $250.00. If the dealer changes his mind, and wishes to erase this order, he can do so by clicking “DEL.” 
     If the user wishes to cancel his or her order, the user can click Cancel Order button  1426 . If the user wishes to update the price totals shown in column  1418  and field  1421 , the user can hit the Update Order button  1422 . If the user is satisfied with what he or she has entered, then the user can proceed with the order by clicking the Update Order button  1426 . This brings up the Purchase Order Summary screen displayed in  FIG. 15 . 
     The Purchase Order Summary screen shown in  FIG. 15  allows the user to review his or her entire purchase order and check that everything has been entered correctly. If the user wishes to change something, the user can click Change Purchase Order button  1502 . This will take the user back to the Purchase Order Data Entry screen displayed in  FIG. 14 . 
     If the user is satisfied with the purchase order summary displayed in  FIG. 15 , then the user can click Submit P.O. button  1506 . The user will automatically be charged by whatever payment method was previously selected (e.g. charged to an on-file credit card, ACH funds transfer, etc.). The user will then get a printed out receipt. A typical receipt is shown in  FIG. 17  and will be discussed later. 
     If the user wishes to pay by an alternate credit card, he or she can click Pay With Alternate Credit Card  1504 . This takes the user to the Alternate Credit Card Payment screen shown in  FIG. 16 . The user can then enter credit card information in. the Billing Information fields. 
       FIG. 18  shows an example of a Prepaid cellular PIN ticket  1800 . Ticket  1800  is the receipt that is printed out when an individual user orders a single PIN from Easywireless.com from one of the embodiments shown in  FIG. 2  (this receipt is not from the purchase ordering system which has a more elaborate printout shown in  FIG. 17 ). 
       FIGS. 19A and 19B  depict another example of a database record in PIN database  112 . This example shows a more detailed record than the example record shown in  FIG. 3 . Carrier ID fields  1902  contains fields providing information pertaining to the individual carrier selected. Carrier region fields  1904  contains fields providing information pertaining to the carrier region selected. Promo ID fields  1906  contains information pertaining to any promotional program(s) that the PIN was purchased under. Attributes fields  1908  contains information pertaining to the PIN attributes such as the calling cost per minute, PIN expiration, long distance rate, and roaming rate. Card ID fields  1910  contains various identification fields associated with the PIN. PIN ID fields  1912  contain fields providing information pertaining to PIN identification. Dealer ID fields  1914  contain information pertaining to the dealer where the PIN is purchased. When a PIN is purchased at a dealer, Dealer ID fields  1914  gets filled in with the corresponding dealer information. Sub/kiosk ID fields  1916  contain information pertaining to a kiosk where the PIN is purchased. When a PIN is purchased, these fields get filled in with the kiosk information associated with the kiosk where the PIN was purchased. POS Type ID fields  1918  contain additional information pertaining to kiosk identification. Payment_method ID fields  1920  contain information pertaining to the method of payment. Credit Card ID fields  1922  contain credit card information, if the PIN was purchased by credit card. Lastly, Employee ID fields  1924  contain information pertaining to an Easywireless.com employee who may have made the PIN sale, and any commission, which the employee receives for the sale. 
     Every PIN in PIN database  112  has its own associated record, as shown in  FIGS. 19A and 19B . The records shown in  FIGS. 19A and 19B  are directed towards wireless telephone service. However, different types of records can be used which are tailored to the product or service being sold, such as gasoline. Each PIN has its own associated record as shown in  FIGS. 19A and 19B , even before the PIN is purchased. Every time a new PIN is created in the system, a new record is made. When the PIN is purchased by a customer or dealer, the information about the sale is filled in to the appropriate fields in the record, and the record is marked as sold so that the PIN is not resold to another customer or dealer. 
     Another alternative feature is selling PINs for bundled goods and services. Instead of buying a PIN for a specific service, such as cellular telephone service, the customer buys a PIN for general bundled account. This PIN could allow the customer to purchase magazines, newspapers, place telephone calls, or ride the subway all using the same PIN. 
     In addition to selling individual pre-paid goods and services, Easywireless.com could sell bundled pre-paid goods and services. 
     Referring next to  FIG. 20 , shown is an overview of a system architecture incorporating a host connection manager  2020  according to one embodiment of the present invention. As shown, the host connection manager  2020  is communicatively coupled to the client terminals  2006   a-d  via a terminal network  2012 , and the host connection manager  2020  communicates with the server  2002  via network  2004 . Also shown is a balancing server  2008 , which is optionally coupled to the network  2004  to provide a load balancing to the server  2002  as described further herein. 
     The client terminals  2006   a-d  are configured to operate in much the same way as the client terminals  106 ,  108 ,  110  described with reference to  FIG. 1 , however, the client terminals  2006   a-d  in the present embodiment, communicate with host connection manager  2020  in the same way the client terminals  106 ,  108 ,  110  communicate with the server  102  as described with reference to  FIG. 1 . Similarly, the server  2002  is configured to operate in much the same way as the server  102 , but the server  2002  in the present embodiment interacts with the host connection manager  2020  in the same way as the server  102  communicates with the client terminals  106 ,  108 ,  110  in the embodiments described with reference to  FIG. 1 . As one of ordinary skill in the art will appreciate, any of the client terminals described herein may be realized by a combination of hardware and software which may be implemented in a variety of programmable devices including cell phones and programmable digital assistants (PDAs). 
     From the perspective of the server  2002 , the host connection manager  2020  appears as a client terminal (e.g., as one of the client terminals  106 ,  108 ,  110 ). As a consequence, the host connection manager  2020 , according to some embodiments, interacts directly with the server  2002  to retrieve prepaid PIN information on demand in the same way as the client terminals  106 ,  108 ,  110  interact with the server  102 . Although certainly not required, in one embodiment, the server  2002  replenishes its inventory by receiving PINs from service providers, which may be carried out in an automated manner (e.g., whenever the inventory falls below a low-watermark). 
     The host connection manager  2020 , however, does not interact with clerks or sales personnel. Instead, personnel access the client terminals  2006   a-d , and the client terminals  2006   a-d  interact with the host connection manager  2020  in order to initiate the retrieval of PIN information. 
     In an exemplary embodiment, the terminal network  2012  is a private network (e.g., a local area network LAN or wide area network (WAN)), which is indirectly coupled to the network  2004  via the host connection manager  2020 , but this is certainly not required. In other embodiments for example, the terminal network  2012  and the network  2004  may be parts of a larger network such as the Internet. 
     Advantageously, the system architecture of the present embodiment accommodates client terminals  2006   a-d , which communicate according to legacy communication protocols that are incompatible with the communication protocols utilized by the server  2002 . Specifically, the host connection manager  2020  may be configured to communicate with the client terminals  2006   a-d  according to the communication protocol utilized by the client terminals  2006   a-d , and communicate with the server  2002  according to the communication protocol utilized by the server  2002 . As a consequence, a merchant with a collection of legacy client terminals may implement a single host connection manager instead of upgrading the legacy client terminals and/or the infrastructure of the associated terminal network. 
     As one of ordinary skill in the art will appreciate, another host connection manager may be implemented in parallel with the host connection manager  2020  to provide redundancy in the event the host connection manager  2020  fails. 
     As shown in  FIG. 20 , the optional balancing server  2008  is disposed to communicate with the server  2002  via the network  2004 . The balancing server  2008  is coupled to another set of client terminals (not shown) either directly or through another host connection manager (not shown). In several embodiments, the balancing server  2008  operates a separate PIN database from the server  2002  and may be geographically separated from the server  2002  (e.g., in another city), but that is certainly not required. In some embodiments, the balancing server  2008  is configured to act as either a client or a server with respect to the server  2002 . Similarly, the server  2002  is configured to appear as either a client or a server from the perspective of the balancing server  2008 . In this way, the server  2002  and the balancing server  2008  are able to load balance each other. 
     Specifically, if the server  2002 , is unable to fulfill a request for a PIN originating from one of the client terminals  2006   a-d  (e.g., because it has insufficient inventory), the server  2002  acts as a client and requests the PIN from the balancing server  2008 . If the balancing server has the requested PIN, it sends it to the server  2002 . Similarly, if the balancing server  2008  is unable to fulfill a request for a PIN originating from the other client terminals it supports, the balancing server acts as a client and requests the PIN from the server  2002 . If the server  2002  has the requested PIN, it sends it to the balancing server  2008 . It should be recognized that PINs may also be sent and received in batches instead of a single PIN at a time. 
     In an alternative embodiment, in advance of (or asynchronous with) any requests for PINs from client terminals (or host connection managers), the servers  2002 ,  2008  will contact each other if their respective inventory of PINs (e.g. an inventory of PINs corresponding to a particular offering of a product/service) falls below a low watermark and each respective server will send PINs to the other server in response if it has an inventory of PINs above a high watermark. The quantity of PINs that differentiates the low watermark from the high watermark may vary depending upon the profile of each server (e.g., the historical volume of PINs each server moves). 
     The present invention additionally contemplates that there may be several merchants with legacy infrastructure, and to accommodate such an occurrence, a separate host connection manager may be implemented to communicate with such legacy devices and/or networks. 
     As shown in  FIG. 21  for example, M host connection managers  2110   1-M  are coupled with M respective terminal networks  2120   1-M , and each of the M terminal networks  2120   1-M  is coupled to a respective set of N client terminals  2130   1-N ,  1240   1-N ,  1250   1-N . As a consequence, the system architecture of the present embodiment allows each set of the N client terminals  2130   1-N ,  1240   1-N ,  1250   1-N  (associated with each of the M terminal networks  2120   1-M ) to communicate according to a different (e.g., proprietary) communication protocol with each of the M respective host connection managers  2110   1-m . As shown, each of the M host connection managers  2110   1-m  is configured to communicate (via the network  2004 ) with the server  2002  according to the same communication protocol utilized by the server  2002 . 
     Referring next to  FIG. 22 , shown is a schematic diagram of the structure of one embodiment of the host connection managers  2020 ,  2110   1-m  described with reference to  FIGS. 20 and 21 . As shown, the host connection manager (HCM)  2200  includes an HCM controller  2210 , which is coupled to a terminal communication manager  2220 , a server communication manager  2230  and a PIN cache  2240 . In general, the HCM controller  2210  controls the operations of the host connection manager  2200 , and as one of ordinary skill in the art will appreciate, the HCM controller  2210  may be realized by a combination of hardware and software (e.g., a processor which carries out executable code stored in a memory). 
     In general, the terminal communication manager  2220  is configured to communicate with (at the direction of the HCM controller  2210 ) client terminals (e.g., client terminals  2006   a - d ) according to the communication protocols utilized by the client terminals. Similarly, the server communication manager  2230  is configured to communicate with the server  2002  (at the direction of the HCM controller  2210 ) according to the communication protocols utilized by the server  2002 . 
     According to an exemplary embodiment, the PIN cache  2240  is configured to store PINs for retrieval upon request by a client terminal (e.g., any of the client terminals described with reference to  FIG. 20  or  FIG. 21 ). In other embodiments, as discussed herein, the host connection manager  2200  neither includes a PIN cache  2240  nor stores PINs. The interoperation of the HCM controller  2210  with the terminal communication manager  2220 , the PIN cache  2240  and the server communication manager  2230  is described with reference to  FIG. 22 , which is a flowchart depicting steps carried out by the host connection manager  2200  when interacting with client terminals (e.g., client terminals  2006   a-d ) and the server  2002 . It should be recognized that the steps illustrated in  FIG. 23  are for an exemplary embodiment in which the host connection manager  2100  communicates with the server  2002  asynchronously with respect to the interactions between client terminals and the host connection manager. However, this asynchronous communication aspect is certainly not required to be implemented within all embodiments (as discussed further herein). 
     As shown in  FIG. 23 , the host connection manager  2200  in the exemplary embodiment establishes communication with the server  2002 , in advance of receiving a request for PINs from a client terminal, in order to determine what offerings (e.g., products and services) the server  2002  has available (Step  2302 ). When there are offerings at the server  2002  the host communication manager  2200  is “looking” for (e.g., because its PIN cache  2240  is low on PINs for the offerings), the host connection manager  2100  sends a request for a quantity of PINs corresponding to the offerings. In response to the request for PINs, the server  2002  sends the requested quantity of PINs to the host connection manager  2100 . These PINS are received at the server communication manager  2230  and directed to the PIN cache  2240  by the HCM controller  2210  for storage (Step  2306 ). 
     As shown in  FIG. 23 , when a request for a PIN is received from a client terminal (Step  2308 ) and the HCM controller  2210  determines that the requested PIN is already in the PIN cache  2240  (Step  2310 ), the HCM controller  2210  retrieves the PIN from the PIN cache  2240 , optionally generates a formatted receipt in accordance with formatting limitations of the client terminal (Step  2314 ), and sends the PIN and optional formatted receipt to the client terminal (Step  2316 ). 
     As one of ordinary skill in the art will appreciate, PINs may be associated with offerings (e.g., product/service, region, denomination) in a variety of ways, and hence, PINs may be requested in a variety of ways. In some embodiments, each PIN is identified and requested by a stock keeping unit (SKU) and/or universal product code (UPC), and each SKU or UPC summarizes an offering of a service/product, a region (i.e., that the service/product is available or applicable), the provider (e.g., carrier) of the product/service and/or the denomination (e.g., monetary value). As a consequence, a user&#39;s selection may include a particular product/service, a provider and/or denomination, and in the exemplary embodiment, the user&#39;s client terminal  2006   a-d  associates an SKU or UPC with the user&#39;s selection. The client terminal  2006   a-d  then requests a PIN by its corresponding SKU or UPC number. 
     Referring again to  FIG. 23 , if the PIN cache  2240  does not include the PIN for the requested product and/or service (Step  2310 ), and there is not a communication link between the host connection manager and the server  2002  (Step  2318 ), the HCM controller  2210 , in cooperation with the server communication manager  2230 , attempts to establish a communication link with the server  2002  (Step  2320 ). If the attempt to establish a communication link with the server  2002  is unsuccessful (Step  2322 ), an error message is sent to the client terminal indicating that the requested PIN is unavailable (Step  2324 ). The host communication manager  2200  then aborts the present request, and receives another request for a PIN from a client terminal (Step  2308 ). 
     If the attempt to establish a communication link with the server  2002  is successful (Step  2322 ), the HCM controller  2210  sends a request (via the server communication manager  2230 ) to the server  2002  for the PIN corresponding to the PIN requested by the client terminal (at Step  2308 ). If the host connection manager  2200  is unable to receive the PIN from the server  2002  (Step  2328 ), an error message is sent to the client terminal indicating that the requested PIN is unavailable (Step  2324 ). The host communication manager  2200  then aborts the present request and receives another request for a PIN from a client terminal (Step  2308 ). 
     If the host connection manager  2200  successfully receives the requested PIN from the server  2002  (Step  2328 ), the HCM controller  2210  optionally generates a formatted receipt in accordance with formatting limitations of the client terminal (Step  2314 ), and sends the PIN and optional formatted receipt (via the terminal communication manager  2220 ) to the client terminal (Step  2316 ). 
     One of ordinary skill in the art will appreciate that the host connection manager  2200  may be readily adapted to operate without a PIN cache  2240 . In such an embodiment, when a request from a client terminal for an offering of a product and/or service (e.g., of a particular monetary value) is received at the host connection manager  2200 , the host connection manager  2200  requests the PIN from the server  2002 , and the server  2002  provides the PIN, on demand, to the host connection manager  2200 . In turn, the host connection manager  2200  provides the PIN to the client terminal. 
     Referring next to  FIG. 24 , shown is an overview of a cooperative inventory system incorporating a hub  2404  according to one embodiment of the present invention. As shown, the hub  2404  is communicatively coupled to each of the servers  2402   a - f  via separate connections. Each server and its respective connection is also referred to herein a spoke. 
     The servers  2402   a - f  are configured to interoperate with client terminals  106 ,  108 ,  110 , and/or the host connection managers  21101 -M (not shown in  FIG. 24 ) in much the same way as do the servers  102 ,  2002  described with reference to  FIG. 1  and  FIGS. 20 and 21 . The servers  2402   a - f  in the present embodiment, however, are configured to communicate with the hub  2404  to implement a cooperative inventory system in which the hub  2404  manages an inventory of PINs that is distributed among the servers  2402   a-f  and the hub  2404 . 
     In the exemplary embodiment, any client terminal  106 ,  108 ,  110 , and/or any of the host connection managers  2020 ,  2110   1-m  is able to request a PIN from any one of the servers  2402   a-f . In this way, if one or more of the servers  2402   a-f  go off-line (e.g., for maintenance or because of an event causing a failure), another one of the servers  2402   a-f  is available to fulfill a request for a PIN. In one embodiment, each of the servers  2402   a-f  is located in a different geographic location (e.g., mutually separated by more than a hundred miles) so that if a catastrophic event (e.g., earthquake, tornado, hurricane or blizzard) occurs at one or more locations, servers remotely located from the event are available to fulfill client terminal transaction requests. Such spatial separation, however, is not required to provide an increase in reliability over other architectures. 
     In addition to providing an increase in reliability over single-server systems, the exemplary cooperative inventory system is also configured to reduce the cost of maintaining an inventory over one or more servers. Specifically, the hub  2404  coordinates the total inventory of PINs so that each of the servers  2402   a-f  has a sufficient, but not an excess amount, of PINs. In this way, the total cost of maintaining an inventory to meet demands of users is reduced. For example, in a system with independently operated servers (i.e., without a hub), each server has to maintain an amount of float (i.e., an extra amount of PINs to prevent inventory depletion) to assure the server is able to effect sales (e.g., when there is an unexpected peak period). With the exemplary system, the overall amount of float, and hence, cost of goods, is reduced. 
     In addition, the exemplary system also reduces communication costs with respect to alternative multi-server embodiments without a hub  2402 . Specifically, the amount of communication required in a multi-server system without a hub  2404  to synchronize PIN databases (e.g., so the same PIN does not get distributed to more than one user) and customer databases (e.g., so a merchant does not exceed their credit limit) is substantially higher than in the exemplary system. This is because the hub  2404 , as described further herein, is able to operably synchronize its databases and databases of the servers  2402   a-f  without each server having to communicate updates with each of the other servers. 
     Referring next to  FIG. 25 , shown is a schematic diagram of the structure of one embodiment of the servers  2402   a-f  described with reference to  FIG. 24 . As shown, the server  2402  includes many of the same components of the server  102  described with reference to  FIG. 1  including RAM  2514 , ROM  2516 , CPU  2518 , and a data storage device  2520 . As shown, the data storage device  2520  contains a dealer database  2510 , a personal identification number (PIN) database  2512 , client terminal records  2522 , customer records  2523 , provider records  2524  and advertising records  2526 . 
     The dealer database  2510  includes pertinent identifying information about the dealer and information about any accounts the dealer has established (e.g., debit and/or credit accounts). The server  2402  of the present embodiment includes a spoke manager server  2528  which is configured to request inventory from the hub  2404 , return inventory to the hub  2404 , synchronize database information between the server  2402  and the hub  2404  and inform the hub  2404  about transactions. 
     Also shown is a network communication manager  2530 , which is configured to communicate with client terminals  106 ,  108 ,  110  and/or host connection managers  2020 ,  2110   1-M  in order to provide PINs in response to PIN requests and receive other information including, for example, dealer information, client terminal information and advertising information as previously described. 
     Referring next to  FIG. 26 , shown is a schematic diagram of the structure of one embodiment of the hub  2404  described with reference to  FIG. 24 . As shown, the hub  2404  includes RAM  2614 , ROM  2616 , a CPU  2618 , and a data storage device  2620 . The data storage device  120  contains centralized databases  2608  including a central dealer database  2610 , a central personal identification number (PIN) database  2612 , central client terminal records  2622 , central customer records  2623 , central provider records  2624  and central advertising records  2626 . 
     Also shown is a server communication manager  2630  which is configured to request inventory from the servers  2402   a-f , send inventory to the servers, substantially synchronize databases of the hub  2404  and the servers  2402   a - f  and send and receive other information as described further herein. 
     In the exemplary embodiment, the centralized databases  2608  in the hub  2404  are updated on an ongoing basis as the hub  2404  receives new information from each of the servers  2402   a-f . For example, each of the servers  2402   a-f  provides updates to the hub  2404  about any new sales to particular dealers, the particular PINs sold, client sales information, customer record information, provider records and advertising record information. 
     In addition, the hub  2404  periodically propagates at least a portion of the information it receives out to each of the servers  2402   a-f . In this way, the databases at each of the servers  2402   a-f  and the hub  2404  are at least loosely synchronized. It should be recognized that the databases at each of the servers  2402   a-f  and the hub  2404  need not be perfectly synchronized for the system to operate, but it is beneficial to maintain a sufficient amount of synchronization to prevent system abuses (e.g., dealers exceeding purchasing limits by interacting with multiple servers in a short period of time). 
     One of ordinary skill in the art will appreciate that the server communication manager  2630  may be realized by a combination of hardware and software to carry out the operations described herein (e.g., the memory  2614  may contain executable code which is carried out by the CPU  2618  in connection with well-known hardware to provide input/output functionality). 
     Referring next to  FIG. 27 , shown is a flowchart  2700  depicting steps carried out by the server  2402  of  FIG. 25  in accordance with one embodiment of the present invention. As shown, after the server  2402  is initially brought online (Step  2702 ), the server requests an inventory of PINs from the hub  2404  (Step  2704 ). Assuming the hub  2404  responds to the server&#39;s request for inventory, the server receives and stores the inventory of PINs in the PIN database  2512  (Step  2705 ). In addition, the server  2402  receives database information from the hub  2404  and populates the server databases  2508  (Step  2706 ). 
     Once the server  2402  is online, the server is able to receive a request for a PIN from a client terminal (or a host connection manager) (Step  2708 ). If the server&#39;s  2402  inventory of PINs includes the requested PIN (Step  2710 ), the PIN is retrieved from inventory and sent to the client terminal (Steps  2712 ,  2726 ). If the server  2402  does not have the requested PIN in its inventory (Step  2710 ), and the server  2402  has a communication link with the hub  2404  (Step  2714 ), the server  2402  sends a request to the hub  2404  for the requested PIN (Step  2722 ). If the server  2402  does not have a communication link with the hub  2404 , the server  2402  attempts to make a connection with the hub  2404  (Step  2716 ). 
     If the server  2402  successfully establishes a communication link with the hub  2404  (Step  2718 ), then the server  2402  sends a request for the PIN to the hub  2404  (Step  2722 ). If the server  2402  is unable to establish a communication link with the hub  2404  (Step  2718 ), the server  2402  returns an error message to the client terminal to inform the user of the failed attempt to fulfill the user&#39;s request (Step  2720 ). If the server  2402  receives a PIN from the hub  2404  in response to its request (Step  2724 ), the server sends the PIN to the client terminal (Step  2726 ). 
     In the exemplary embodiment, the server  2402  periodically sends database information to the hub  2404  to update the hub&#39;s central databases  2608  (Step  2728 ). In this way, the hub  2404  is able to update its central databases  2608  and propagate the updated information to other servers. 
     As shown in  FIG. 27 , if the hub  2404  is requesting PINs from the server  2402  (Step  2730 ), and the server  2402  is able to fulfill the hub&#39;s request for the PINs from its inventory (Step  2732 ), the server  2402  sends the requested PINs to the hub  2404  (Step  2734 ). If the server  2402  does not have sufficient inventory to fulfill the hub&#39;s  2404  request (Step  2732 ), the server  2402  sends an error report to the hub  2404  (Step  2736 ). In one embodiment, a high-watermark is established for each of the PINs (e.g., for each SKU or UPC) at the server  2402 , and the server  2402  only provides PINs above its high-watermark. 
     In the exemplary embodiment, if the server  2402  is going offline (e.g., for maintenance) (Step  2738 ), the server  2402  may send its inventory of PINs to the hub  2404  (Step  2740 ). As discussed, while the server  2402  is offline, client terminals are able to contact other servers that are online to receive PINs. When the server  2402  is brought back online (Step  2702 ), the server  2402  requests and receives PINs from the hub  2404  (Steps  2704 ,  2705 ) so that the server  2402  is again ready to receive requests for PINs from client terminals. 
     If the server&#39;s  2402  inventory is low (e.g., one more SKUs or UPC codes drops to a low-watermark) (Step  2742 ), the server  2402  requests additional PINs from the hub  2404  (Step  2704 ), and if the hub  2404  fulfills the request, the server  2402  receives and stores the PINs (Step  2706 ). 
     Referring next to  FIG. 28 , shown is a flowchart depicting steps carried out by the hub  2404  of  FIG. 26  according to an exemplary embodiment. As shown in  FIG. 28 , the inventory of PINs is initially loaded into the PIN database  2612  of the hub  2404  (Step  2802 ). 
     The hub  2404  is optionally linked (e.g., the Internet or other communication link) with one or more service providers. In such an embodiment, the hub  2404  may receive the inventory of PINS directly from service providers. 
     As previously discussed, when one of the servers&#39; 2402 a-f  inventory of a particular variety of PIN is low (e.g., below a low-watermark), the server sends a request for a PIN (e.g., a request for one or more PINs with a SKU or UPC matching the variety sought), which is received by the hub  2404  (Step  2804 ). If the hub  2404  has an inventory of PINs matching the requested variety in the central PIN database  2612  (Step  2806 ), the hub  2404  retrieves a quantity of the requested PINs from the central PIN database  2612  (Step  2808 ) and sends the quantity of PINs to the requesting server (Step  2822 ). If the hub  2404  has an insufficient inventory of PINs to fulfill the requesting server&#39;s request (Step  2806 ), and the hub  2404  does not have a communication link established with another server (Step  2810 ), the hub  2404  attempts to make a connection with another server (Step  2814 ). If the hub  2404  is unable to make a connection with one or more of the other servers (Step  2814 ), the hub  2404  sends a message back informing the requesting server that its request cannot be fulfilled (Step  2816 ). 
     If the hub  2404  successfully makes a connection with one or more other servers (Step  2814 ), the hub  2404  sends a request to the other server(s) for one or more PINs of the variety sought by the requesting server (Step  2818 ) (e.g., by requesting one or more PINs with the SKU number corresponding to the variety sought). If the hub  2404  does not receive PINs of the variety sought (e.g., because the other server(s) do not have available inventory of the variety of PIN sought or because communications fail), hub  2404  sends a message back informing the requesting server that its request cannot be fulfilled (Step  2816 ). When the hub  2404  receives PINs of the variety sought from one or more of the other servers (Step  2820 ), the hub  2404  provides at least a portion of the PINs it received to the requesting server (Step  2822 ). 
     It should be recognized that the hub  2404  may attempt to connect with just one server or any number of the servers  2402   a-f  in parallel when it does not have an inventory of PINs matching the variety requested by another server. If several servers  2402   a-f  are contacted in parallel, the hub  2404  may request that each of the servers  2402   a-f  contribute a particular number of PINs (e.g., an excess number of PINs above their high-watermark) or a percentage of their inventory of the requested variety. 
     In the exemplary embodiment, the hub  2404  receives information on an ongoing basis from each the servers  2402   a-f  (Step  2824 ). This information received from each of the servers  2402  is used by the hub  2404  to update its central databases  2608  (Step  2826 ). This information may include, without limitation, one or more of the following: the particular PINs distributed, number of PINs by variety (e.g., by SKU, UPC, provider and/or denomination) that each server has distributed, the number and type of advertisements presented (if any), as well as a summary and detail of transactions made with each dealer, each client terminal and each customer. It should be recognized that such information may be received from the each of the servers  2402   a-f  asynchronously (i.e., each of the servers  2402   a-f  may send batches of updates periodically based on a time or activity basis). 
     As the hub  2404  receives information and updates its central databases (Steps  2824 ,  2826 ), it periodically sends update information to the servers  2402   a - f  (Step  2828 ). In the exemplary embodiment, the update information sent from the hub  2404  substantially synchronizes the central databases  2608  with the corresponding server databases  2508 . As previously discussed, the server databases  2508  at each of the servers  2402   a - f  and the central databases  2608  at the hub  2404  need not be perfectly synchronized for the system to operate, but it is beneficial to maintain a sufficient amount of synchronization to prevent system abuses. 
     If the hub  2404  is going offline (Step  2830 ) (e.g., for maintenance), in the exemplary embodiment, the hub  2404  distributes its inventory of PINs to one or more of the servers  2402   a-f    
     (Step  2832 ). In one embodiment, when the hub is back online (Step  2834 ), the hub reclaims from the servers  2402   a-f  at least a portion of the inventory it previously dispersed (Step  2836 ). For example, the hub  2404  may reclaim only the inventory from the servers  2402   a-f  that is above each server&#39;s respective high-watermark. In other embodiments, however, the hub  2404  does not resynchronize the inventory of PINs when it is back online. 
     While the invention herein disclosed has been described by means of specific embodiments and applications thereof, numerous modifications and variations could be made thereto by those skilled in the art without departing from the scope of the invention set forth in the claims. For example, one of ordinary skill in the art will readily appreciate that the host connection manager  2200  and hub  2402  depicted in  FIGS. 22 and 26  may be realized by a combination of hardware implemented according to a variety of architectures to carry out the functions and steps described with reference to  FIGS. 22 and 23  and  FIGS. 26, 27 and 28  respectively. Moreover, the inventive aspects of the present invention may be combined with many of the aspects of the above-identified co-pending application described with reference to  FIGS. 1-19 .