1. Technical Field
The present invention relates to computer software and, more particularly, to methods of distributing products via automatic product dispensing machines.
2. Description of Related Art
Automatic product dispensing machines (i.e. vending machines) are a useful mechanism by which to serve customers through instantaneous dispensation of chosen products. However, the exhaustion of a machine's supply of a specific item can be a source of irritation and aggravation to the user who has traveled to the machine in search of that specific product or has to settle for another product. Also, many times the operator of the vending machines simply loses a potential sale due to the user giving up on finding the desired product.
Currently, it is possible to find out about services in wide area networks (WANs) or the Internet using Wireless Application Protocol (WAP) (e.g., find out about Chinese restaurants within a three mile radius of the current location). Such services are typically very broad (e.g., it will be hard or impossible to find a service that provides information about where to find a specific menu item, such as dumplings). Moreover, such services are not available in micronetworks, as in buildings or other similar environments. Therefore, it would be desirable to provide a system, method, and computer program product for providing and/or redirecting a user to an appropriate machine or location at which the user may obtain the services or products desired.
The present invention provides a method, system, and computer program product for providing products to a user via an automated product dispensing machine. In once embodiment, an automatic product dispensing machine in a micronetwork of proximally located diverse automatic product dispensing machines receives a request for an item. Responsive to a determination that the item is unavailable at a current automatic product dispensing machine, the automatic product dispensing machine provides a user with an alternative redemption product, such as, for example, a coupon that may be redeemed at another automatic product dispensing machine or at a nearby store.
The novel features believed characteristic of the invention are set forth in the appended claims. The invention itself, however, as well as a preferred mode of use, further objectives and advantages thereof, will best be understood by reference to the following detailed description of an illustrative embodiment when read in conjunction with the accompanying drawings, wherein:
With reference now to
APD system 100 includes a central server 102 that is connected to or includes management tools 106, alert mechanism 108, and database 104. Database 104 stores the available inventory of each APD machine 118, 118, and 120 within APD system 100. Management tools 106 manages the inventory of each APD machine 116, 118, and 120 within APD system 100. The alert mechanism 108 alerts an identified one of APD machines 116, 118, and 120 of a redirection and coupon or discount to be applied if a user selects a product or service from one APD machines 116, 118, and 120 that is unable to satisfy the user's request. Central server 102 is connected 112-114 to a plurality of APD machines 116, 118, 120 through network 110. Network 110 may be, for example, a micro area network, a local area network (LAN), a wide area network (WAN), the Internet, or a wireless network.
An APD machine 120 includes a machine front end 128 and a machine back end 122. The machine front end 128 includes a panel 130 for a user to interface with the APD machine 120 and product or service stocks 132. The panel 130 allows a user to select a desired product or service from the products or services offered by the APD system 100 as well as provides a means for receiving payment from the user. The means for receiving payment may be, for example, a receptacle and mechanism for receiving coins and/or paper currency, determining the amount received and providing change if necessary. The means for receiving payment may also be a card reader for reading a credit, charge, debit card, or smart card. Other embodiments may include means for receiving electronic funds through the user of wireless electronic devices such as, for example, wireless telephones and personal digital assistants (PDAs). Means, such as those enumerated above, for collecting payment are well known in the art. Once payment is received, products or services are dispensed to the user from available stocks 132.
The machine back end 122 includes an embedded server 124 and an embedded database 126. The embedded server 124 monitors the available inventory of products and/or services available in the APD machine 120 and updates an inventory stored in embedded database 126 as changes occur to the available stock 132. Embedded server 124 also communicates with central server 102 to update the central server 102 with current inventories. Central server 102 then updates its database 104 with the updated inventory from APD machine 120. Database 104 also contains inventory information about the available stocks of products and/or services in other APD machines 116 and 118 within APD system 100.
If a user requests a product or service currently unavailable within APD machine 120, a message is sent from APD machine 120 to central server 102 notifying the server 102 that a product that is unavailable from the current APD machine 120 has been requested by a user and requesting that the central server 102 provide the identity and location of an alternative APD machine 116 and 118 from which the user may obtain the desired product and/or service. The central server 102 then identifies another APD machine 116 and 118 that is able to fulfill the user's request. The identity and location of the alternative APD machine 116 or 118 is sent to APD machine 120 and presented to the user through panel 130. The central server may identify only one alternative, no alternatives, or several alternative.
Once the user has been presented with the notification that the selected product is unavailable at the current location, the user may then select an alternative product from the current APD machine 120 or may select the alternative option provided by central server 102, or decide to abandon the transaction altogether. If the user selects the alternative provided by central server 102, then, if there are more than one potential options, the user is asked to select the specific option. The user is then presented with the identity and location of the alternative APD machine 116 or 118 and possibly with a coupon redeemable at the alternative location to compensate for and appease the user's dissatisfaction at being unable to obtain the desired product at the current APD machine 120. The location information provided to the user may include a map or directions on how to travel to the alternative APD machine 116 or 118 from the current APD machine. In some embodiments, this location information may be provided to the user before asking the user to select an alternative, thus allowing the user to determine whether the alternative is close enough to be worth, in the judgment of the user, traveling.
The alternative APD machine 116 or 118 selected by the user is then notified of the selection by central server 102 after the central server 102 has been notified by APD machine 120. The alternative APD machine 116 or 118 is also notified of any coupons dispensed to or credited to the user. For example, if the user uses a smart card, electronic device, credit card, charge card, or debit card, the central server 102 may send identity information about the payment device to the alternative APD machine 116 or 118. Thus, when the alternative APD machine 116 or 118 is presented with the payment device previously used by the user at the first APD machine 120, the alternative APD machine 116 or 118, with notice of an appropriate coupon or discount value to be given to the user, will deduct an appropriate amount from the price of the selected product or service and charge the user the adjusted lower price for the product or service.
Thus, by redirecting the user to another APD machine within the APD system 100, the operators avoid losing a potential transaction because of the unavailability of a product at a particular APD machine 116, 118, and 120. Furthermore, the user is satisfied because, rather than having to select an alternative product not as well liked by the user or having to not receive the chosen product at all, the user is directed to a location that is able to satisfy the user's request. Also, although a coupon or discount does not have to be dispensed, the operator of the APD system 100 may wish to provide the user with a discount or coupon to generate good will.
In circumstances in which a coupon is dispensed along with the redirection, in order to prevent user's from taking advantage of the system, the APD system 100 may limit the number of coupons a given user may receive during any given time period. Thus, a user may be prevented from deliberately seeking out and selecting an APD machine 116, 118, and 120 that the user knows cannot satisfy his request just to obtain a discount or coupon on the item. Also, in some embodiments, the discount or coupon may have a valid time period associated with it such that it is only valid for some short time after the user attempts but is unable to obtain a product from a particular APD machine 116, 118, and 120. Thus, user's are prevented from obtaining coupons and/or discounts for products or service, that a user has no current desire for, but merely to have a discount on the item at some later time when the user desires to purchase the product or service.
APD system 100 has been described primarily in terms of obtaining a product or service not currently available at a given APD machine 116, 118, and 120 with an implication that the given APD machine 116, 118, and 120 is currently out of the product or service, but sometimes contains the product or service. However, the present invention is not limited to the case in which an APD machine is currently out of an inventory item normally stocked, but may also include situations in which a particular APD machine 116, 118, and 120 does not ever or seldom ever carries the requested product, but other APD machines 116, 118, and 120 within APD system 100 do. In such circumstance, the user would be directed to an appropriate APD machine 116, 118, and 120 in the same fashion as described above.
APD system 100 is provided merely as an example of an APD system and is not meant to imply any architectural limitation to the present invention. For example, APD system 100 may include many more APD machines than depicted in
With reference now to
Referring to
Peripheral component interconnect (PCI) bus bridge 314 connected to I/O bus 312 provides an interface to PCI local bus 316. A number of modems may be connected to PCI local bus 316. Typical PCI bus implementations will support four PCI expansion slots or add-in connectors. Communications links to clients 116-120 in
Additional PCI bus bridges 322 and 324 provide interfaces for additional PCI local buses 326 and 328, from which additional modems or network adapters may be supported. In this manner, data processing system 300 allows connections to multiple network computers. A memory-mapped graphics adapter 330 and hard disk 332 may also be connected to I/O bus 312 as depicted, either directly or indirectly.
Those of ordinary skill in the art will appreciate that the hardware depicted in
The data processing system depicted in
With reference now to
Embedded server 418 communicates with a central server and may also communicate with embedded servers within other APD machines. The current product contents of the current APD machine are stored in embedded database 420. The current product contents of other APD machines in the system may also be contained within embedded database 420. As products are purchased by users, the database 420 is updated. Products 412 contains the products offered by the APD machine 400 and is connected to accounting unit 414 that debits inventory and credits accounts as products are purchased by users. Accounting unit 416 is connected to a price database 416 that contains the current price charged for each product contained in products 412.
Human-Machine interface 402 contains a product selection panel, a payment mechanism, and a product dispenser 410. Product dispenser 410 dispenses the chosen product, if available, to the user. Product dispensers for use with APD machines are well known in the art. The product selection panel 404 allows a user to select a product or service from the APD machine 400. Product selection panel 404 also includes a customer redirection and incentive unit 406 which allows the APD machine 400 to notify a user that a product or service is unavailable, inform the user of alternative APD machines, and provide an incentive, such as a coupon, for the inconvenience of traveling to another APD machine. Payment mechanism 408, as described above, may be any of many different types of payment mechanisms, and many different types of payment mechanisms are well known in the art.
With reference now to
With reference now to
If the APD machine cannot satisfy the user's request, then it determines the state of peer set of APD machines (step 610) and determines whether one of the peer APD machines can satisfy the user's request (step 612). If no peer can satisfy the user's request, the user is asked whether another transaction is desired (step 622). If yes, then the APD machine continues with step 604 and the process ends if the user does not desire another transaction.
If a peer can satisfy the user's request, then the APD machine redirects the user to the nearest APD machine capable of satisfying the user's request (step 614). The appropriate economic incentives, if any, are then applied to the user (step 616) and the peer APD machine is informed of the impending user as well as any incentive offered (step 618). The APD machine then records the redirected transaction (step 620) and determines whether the user wishes to make another transaction (step 622). If the user does desire another transaction, then the APD machine continues with step 604. If the user does not desire any further transactions, then the process ends.
With reference now to
If a request to handle a redirection has been received, then the APD machine receives information from the redirecting machine about the product requested, discount offered, and any other pertinent information (step 708). The APD machine then waits for the redirected user to make a selection (step 710) and determines whether a selection has been made (step 712). If no selection has been made by the redirected user, then the APD machine continues to wait (step 710). If a selection has been made by the redirected user, then the product is dispensed (step 714). The transaction is then recorded in the local database and other relevant databases, such as, for example, the central server database or the local database of other APD machines, are updated (step 716).
With reference now to
Network 820 may be, for example, a micro network, a local area network (LAN), or a wireless network such as, for example, Bluethooth, and provides means for communication between the central server 826, service discovery gateway 822, APD machines 808 and 814, and with clients 802, 804, and 806. Each APD machine 808 and 814 includes an embedded server 810 and 816 and an embedded database 812 and 818. The central server 826, central database 828, and APD machines 808 and 814 function as described above with reference to
Upon entering an environment such as, for example, a building, theme park, or some other relatively small or self contained environment, a user may use a client 802, 804, or 806 to query a service discovery gateway 822 about the location of available services, which in the depicted case would be the location of APD machines 808 and 814 and the available products by the APD machines 808 and 814. Client 802, 804, and 806 may access the service discovery gateways 822 using, for example, Bluetooth, Infrared Data Association protocol (IrDA), Service Location Protocol (SLP), or similar protocols, to specify and discover available services and invoke them.
Thus, a user can walk into an unfamiliar environment, such as, for example, a building, and using a portable data processing system, such as any of client 802, 804, and 806 access the service discovery gateway 822 to discover the location of a vending machine, such as APD machine 814 that contains, for example, a certain type and brand of soft-drink. If the user has an infrared (IR) transmitter and receiver on the portable data processing system, then the user can aim the IR transmitter at a IR receiver and transmitter appropriately marked in the entrance or other area of the building to access the service discovery gateway 822. Alternatively, the user may enter a web universal resource locator (URL) associated with the service discovery gateway into a web browser and obtain access to the service discovery gateway via the Internet. Many other methods of accessing the service discovery gateway will be obvious to one of ordinary skill in the art. Once accessed, the service discovery gateway 822 may access the service registry 824 to discover matching services to the user's request and return to the user a reply specifying the location at which the user's requested product or service may be found within the micronetwork (e.g. the building) or with a message indicating that the requested product or service (e.g., soft-drink) is not available.
Service discovery system 800 is intended as an example of service discovery system 800 and not as an architectural limitation. Other components not shown may be used in place of or in addition to components depicted in
With reference now to
An operating system runs on processor 902 and is used to coordinate and provide control of various components within data processing system 900 in
Those of ordinary skill in the art will appreciate that the hardware in
As another example, data processing system 900 may be a stand-alone system configured to be bootable without relying on some type of network communication interface, whether or not data processing system 900 comprises some type of network communication interface. As a further example, data processing system 900 may be a personal digital assistant (PDA) device, which is configured with ROM and/or flash ROM in order to provide non-volatile memory for storing operating system files and/or user-generated data.
The depicted example in
With reference now to
The SDG formulates the query appropriately and submits the query to the service discovery registry for a response (step 1010). The available services are received by the SDG from the registry (step 1012) and the SDG determines whether the service can by invoked remotely (step 1014). If the service cannot be invoked remotely, then an APD machine is informed about the user's request (step 1016) and the APD machine begins communicating directly with the user (step 1018). The APD machine then sends location information and invocation mechanisms to the user (step 1020). The user then invokes the services, such as selecting a soft-drink from the APD machine, (step 1022) and is informed of the status of the request (e.g., whether the soft-drink has been dispensed, will be dispensed shortly, where to pick up the soft-drink, etc.) (step 1024). The user is then charged and accounting for the APD machine is updated (step 1026).
If the service can be invoked remotely, then the service invocation is performed remotely (step 1028) and the user informed of the status of the requested service (step 1030). The user is then charged and appropriate accounting components updated (step 1026).
In other embodiments, rather than remotely invoking services on other automated product dispensing machines within the network, the automated product machine, upon receiving a request for an item it does not have currently in stock, may provide the user with a redemption coupon for the requested product or service or for an alternative product or service. The coupon may be a physical coupon or an electronic coupon and may be redeemed at other ones of the automated product dispensing machines or at a nearby store or cafeteria. Alternatively, the APD machine may dispense an alternative product at a discount or may provide a monetary credit to the user's smart card for the inconvenience of not obtaining the desired product.
In other embodiments, rather than waiting for a user to select a product, the APD machine may detect the presence of a portable data processing system, using, for example, bluetooth, and push information regarding product availability, product location, product pricing, as well as other product information to the user's data processing system when the user enters the proximity of the micronetwork of APD machines.
With reference now to
With reference now to
Upon receiving the response B2 from APD machine 1206, the SDG 1202 updates B4 its service registry with information about the location of the APD machine 1206 and its associated services and/or products. The central server 1204, upon receiving the message B3 from the APD machine 1206, updates B5 its database with information regarding the SDG 1202. The SDG 1202 then sends a message B6 informing the APD machine that it is now included in the service discovery registry.
It is important to note that while the present invention has been described in the context of a fully functioning data processing system, those of ordinary skill in the art will appreciate that the processes of the present invention are capable of being distributed in the form of a computer readable medium of instructions and a variety of forms and that the present invention applies equally regardless of the particular type of signal bearing media actually used to carry out the distribution. Examples of computer readable media include recordable-type media, such as a floppy disk, a hard disk drive, a RAM, CD-ROMs, DVD-ROMs, and transmission-type media, such as digital and analog communications links, wired or wireless communications links using transmission forms, such as, for example, radio frequency and light wave transmissions. The computer readable media may take the form of coded formats that are decoded for actual use in a particular data processing system.
The description of the present invention has been presented for purposes of illustration and description, and is not intended to be exhaustive or limited to the invention in the form disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art. The embodiment was chosen and described in order to best explain the principles of the invention, the practical application, and to enable others of ordinary skill in the art to understand the invention for various embodiments with various modifications as are suited to the particular use contemplated.
Number | Date | Country | |
---|---|---|---|
Parent | 09965152 | Sep 2001 | US |
Child | 13023434 | US |