PATENT DOCUMENT

Publication Number: US-9747248-B2
Application Number: US-201113303021-A
Country: US
Kind Code: B2

Title: Wireless communication system

Abstract:
A processing system is described that includes a wireless communication interface that wirelessly communicates with one or more wireless client devices in the vicinity of an establishment. The wireless communication interface receives a remote order corresponding to an item selected by at least one of the wireless client devices. A local server computer located in proximity to the establishment generates instructions for processing the remote order received from the wireless communication interface. The local server computer then passes the processing instructions to an order processing queue in preparation for processing of the remote order.

Claims:
What is claimed is: 
     
       1. A method of ordering an item from an establishment using a wireless client device in the vicinity of the establishment, comprising:
 receiving a signal with an identifier from a wireless network at the wireless client device; 
 comparing, at the wireless client device, a signal strength of the received signal with identifier from the wireless network to a threshold value; 
 comparing, at the wireless client device, the received identifier to a list of identifiers to find a match when the signal strength exceeds the threshold value; and 
 presenting, at the wireless client device, on a display screen of the wireless client device, if a match is found, an item ordering user interface; 
 receiving, at the wireless client device, a user selection of a particular item of a plurality of items available for ordering via the item ordering user interface, the selection being made via the item ordering user interface; 
 forming, at the wireless client device, a remote order request for the particular item in response to the user selection; and 
 accessing order history data for the user of the wireless client device, 
 wherein at least one of the plurality of items available for ordering via the item ordering user interface is a previously purchased item, 
 wherein the user selection is the previously purchased item, and 
 wherein the remote order request includes data from the order history data. 
 
     
     
       2. The method as recited in  claim 1 , wherein the notification includes at least an estimated amount of time until the particular item denoted by the remote order is available at the establishment. 
     
     
       3. The method as recited in  claim 1 , wherein the notification includes at least an estimated amount of time until the particular item denoted by the remote order is available for pick up at the establishment. 
     
     
       4. The method as recited in  claim 1 , wherein the notification indicates at least that the particular item denoted by the remote order is available at the establishment. 
     
     
       5. The method as recited in  claim 1 , wherein the wireless client device is a wireless client device selected from a group comprising: a wireless media player, a wireless personal digital assistant, or a cell phone. 
     
     
       6. The method as recited in  claim 1 ,
 wherein the method further comprises: 
 storing order history data for the user on the wireless client device. 
 
     
     
       7. The method as recited in  claim 1 , wherein the method further comprises:
 wherein the presenting operates to present the item ordering user interface on the display screen of the wireless client device when the signal is above the threshold and the identifier is found in the list of identifiers. 
 
     
     
       8. The method as recited in  claim 1 , wherein the method further comprises:
 storing data on authorized establishments on the wireless client device. 
 
     
     
       9. The method as recited in  claim 8 , wherein the method further comprises:
 storing distinct user data on the wireless client device in association with each of a plurality of the authorized establishments. 
 
     
     
       10. The method as recited in  claim 1 , wherein the method further comprises:
 paying for the particular item via a user account of the user. 
 
     
     
       11. A method as recited in  claim 1 , wherein the method further comprises:
 receiving, from the computing device associated with the establishment, information regarding at least one available item. 
 
     
     
       12. The method as recited in  claim 1 , wherein the method further comprises:
 receiving, from the computing device associated with the establishment, information regarding advertisements unrelated to the establishment. 
 
     
     
       13. The method as recited in  claim 1 , wherein the receiving and the sending are performed when the wireless client device is external but proximate to the establishment. 
     
     
       14. The method as recited in  claim 1 , further comprising wirelessly sending the remote order request to a computing device associated with the establishment. 
     
     
       15. The method as recited in  claim 1 , further comprising:
 wirelessly receiving, at the wireless client device, a notification from the computing device associated with the establishment; and 
 presenting the notification on the display screen of the wireless client device. 
 
     
     
       16. A method of ordering an item from an establishment using a wireless client device in the vicinity of the establishment, comprising:
 receiving a signal with an merchantID from a wireless network at the wireless client device; 
 comparing, at the wireless client device, a signal strength of the received signal with merchantID from the wireless network to a threshold value; 
 ignoring, at the wireless client device, the signal when the signal strength does not exceed the threshold value, and 
 comparing, at the wireless client device, the received merchantID to a list of merchantIDs to find a match, when the signal strength exceeds the threshold value; 
 ignoring, at the wireless client device, the received signal if a match is not found; 
 accessing order preference data associated with the user of the wireless client device; and 
 presenting, on a display screen of the wireless client device, an item ordering user interface associated with the merchantID; 
 receiving, at the wireless client device, a user selection of a particular item of a plurality of items available for ordering via the item ordering user interface, the selection being made via the item ordering user interface; and 
 forming, at the wireless client device, a remote order request for the particular item in response to the user selection, the remote order request being based on or including data from the order preference data. 
 
     
     
       17. The method as recited in  claim 16 , wherein the method further comprises:
 storing order preference data for the user on the wireless client device. 
 
     
     
       18. The method as recited in  claim 1 , wherein the method further comprises:
 receiving, at the wireless client device, an acknowledgement of the remote order request from the computing device associated with the identifier. 
 
     
     
       19. The method as recited in  claim 16 , wherein the method further comprises:
 storing distinct order preference data on the wireless client device for each of a plurality of establishments, and 
 wherein the accessing of the order preference data associated with the user of the wireless client device comprises accessing the order preference data pertaining to the establishment that has been recognized. 
 
     
     
       20. The method as recited in  claim 16 , further comprising wirelessly sending the remote order request to a computing device associated with the establishment. 
     
     
       21. The method as recited in  claim 16 , further comprising:
 wirelessly receiving, at the wireless client device, a notification from the computing device associated with the establishment; and 
 presenting the notification on the display screen of the wireless client device. 
 
     
     
       22. A non-transitory computer readable medium including at least instructions that when executed by a wireless client device provides for ordering an item from an establishment, comprising:
 instructions for receiving a signal with an identifier from a wireless network at the wireless client device; 
 instructions for comparing, at the wireless client device, a signal strength of the received signal with identifier from the wireless network to a threshold value; 
 instructions for comparing, at the wireless client device, the received identifier to a list of identifier to find a match when the signal strength exceeds the threshold value; 
 instructions for presenting, on a display screen of the wireless client device, an item ordering user interface associated with the identifier; 
 instructions for receiving, at the wireless client device, a user selection of a particular item of a plurality of items available for ordering via the item ordering user interface, the selection being made via the item ordering user interface; 
 instructions for forming, at the wireless client device, a remote order request for the particular item in response to the user selection; and 
 instructions for accessing order history data for the user of the wireless client device, 
 wherein at least one of the plurality of items available for ordering via the item ordering user interface is a previously purchased item, 
 wherein the user selection is the previously purchased item, and 
 wherein the remote order request includes data from the order history data. 
 
     
     
       23. The non-transitory computer readable medium as recited in  claim 22 , wherein the non-transitory computer readable medium further comprises:
 instructions for receiving, from the computing device associated with the establishment, information regarding advertisements unrelated to the establishment. 
 
     
     
       24. The non-transitory computer readable medium as recited in  claim 22 , wherein the non-transitory computer readable medium further comprises instructions for wirelessly sending the remote order request to a computing device associated with the establishment. 
     
     
       25. The non-transitory computer readable medium as recited in  claim 22 , wherein the non-transitory computer readable medium further comprises:
 instructions for wirelessly receiving, at the wireless client device, a notification from the computing device associated with the establishment; and 
 instructions for presenting the notification on the display screen of the wireless client device. 
 
     
     
       26. A wireless portable electronic device, comprising:
 a processor for processing executable instructions; 
 a display coupled to the processor for displaying text and images; 
 a wireless interface coupled to the processor arranged to send and receive wireless signals; and 
 a memory arranged to store data and the executable instructions, 
 wherein the executable instructions include at least: 
 instructions for receiving a signal with an identifier from a wireless network at the wireless client device; 
 instructions for comparing, at the wireless client device, a signal strength of the received signal with identifier from the wireless network to a threshold value; 
 instructions for comparing, at the wireless client device, the received identifier to a list of identifier to find a match when the signal strength exceeds the threshold value, 
 instructions for presenting, on the display of the wireless portable electronic device, an item ordering user interface associated with the identifier; 
 instructions for receiving a user selection of a particular item of a plurality of items available for ordering via the item ordering user interface; 
 instructions for forming a remote order request for the particular item in response to the user selection; and 
 instructions for accessing order preference data for the user of the wireless client device, 
 wherein the remote order request is based on or includes data from the order preference data. 
 
     
     
       27. The wireless portable electronic device as recited in  claim 26 , wherein the executable instructions further include instructions for sending, via the wireless interface, the remote order request to a computing device associated with the establishment. 
     
     
       28. The wireless portable electronic device as recited in  claim 26 , wherein the executable instructions further include:
 instructions for receiving, via the wireless interface, a notification from the computing device associated with the establishment; and 
 instructions for presenting the notification on the display screen of the wireless client device.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
     This application is a continuation of U.S. patent application Ser. No. 12/760,479, filed Apr. 14, 2010 now U.S. Pat. No. 8,072,956, and entitled “WIRELESS COMMUNICATION SYSTEM,” which is hereby incorporated by reference herein, which in turn is a continuation of U.S. patent application Ser. No. 11/485,142, filed Jul. 11, 2006 now U.S. Pat. No. 7,724,716, and entitled “WIRELESS COMMUNICATION SYSTEM,” which is hereby incorporated by reference herein, and which in turn claims priority to U.S. Provisional Patent Application No. 60/805,328, filed Jun. 20, 2006, and entitled “WIRELESS COMMUNICATION SYSTEM,” which is hereby incorporated by reference herein. 
    
    
     FIELD OF INVENTION 
     This invention relates generally to personal, portable electronic devices such as media players, radios, cell phones and the like. 
     DESCRIPTION OF RELATED ART 
     Recent developments in consumer electronics have included the introduction of portable personal communication devices such as media players (such as MP3 players, minidisk players), cell phones, personal digital assistants (PDAs) and the like. In the case of a cell phone, a user can communicate by voice, text, or other multimedia data. For example, a cell phone user can send a text message by means of any number of communication protocols such as the Short Message Service—Point to Point (SMS-PP) protocol (defined in GSM recommendation 03.40). Using SMS-PP, messages are sent via a store-and-forward mechanism to a Short Message Service Center (SMSC), which will attempt to send the message to the recipient and possibly retry if the user is not reachable at a given moment. 
     Using a cell phone or other such device to remotely enter into a commercial transaction (such as food or drink ordering) is widespread and well understood. However, in order to initiate such a remote transaction using a cell phone, a user must be aware that a merchant of interest is nearby, must be aware of a list of available items for purchase by the merchant, must be aware of a price for each item, etc. Even in those cases where all the relevant knowledge is available and known, the user must then pay for the services or goods purchases. In some cases, the user must use a credit or debit card by repeating very sensitive information in a voice loud enough to be heard and understood over the phone, or enter the information manually if speaking is not an option. In some cases, if the merchant does not accept the particular payment method, the customer must pay using cash thereby eliminating most, if not all, of the perceived efficiencies of remotely ordering using the cell phone, PDA, media player, etc. 
     In any case, once the transaction is entered into, the customer order is then queued up in, typically, a first in first out order without distinguishing if the order was placed locally or remotely. In this way, a remote purchaser has only an approximate idea of a time to actually retrieve the order. This can result in an annoying wait in a long queue if the purchaser arrives before completion of the order. In the case of a food and/or drink purchase, a hot drink such as coffee is picked up in a tepid state if the purchaser arrives substantially after the ordered hot drink is ready for pickup. 
     Therefore, there is a need for improved approaches to process a remote order. 
     SUMMARY OF THE INVENTION 
     A processing system is described that includes a wireless communication interface that wirelessly communicates with one or more wireless client devices in the vicinity of an establishment. The wireless communication interface receives a remote order corresponding to an item selected by at least one of the wireless client devices. A local server computer located in proximity to the establishment receives the remote order from the wireless communication interface and generates instructions for processing the remote order. The local server computer then passes the processing instructions to an order processing queue in preparation for processing of the remote order. 
     In one embodiment, an acknowledgement is forwarded to the originating wireless client device indicating that the remote order has been successfully received. Furthermore, an estimate order completion time can then visually displayed by the wireless client device and/or audibly rendered by way of a speaker or earphone. 
     In another embodiment, a method can order an item from an establishment using a wireless client device in the vicinity of the establishment. The method can, for example, perform the operations of: presenting, on a display screen of the wireless client device, an item ordering user interface provided that the wireless client device is located proximate to the establishment; receiving, at the wireless client device, a user selection of a particular item of a plurality of items available for ordering via the item ordering user interface; forming, at the wireless client device, a remote order request for the particular item in response to the user selection; wirelessly sending the remote order request to a computing device associated with the establishment; wirelessly receiving, at the wireless client device, a notification from the computing device associated with the establishment; and presenting the notification on the display screen of the wireless client device. 
     In another embodiment, a non-transitory computer readable medium can include at least computer program code that when executed by a wireless client device provides for ordering an item from an establishment, The computer program code provided on the computer readable medium includes at least: computer program code for presenting, on a display screen of the wireless client device, an item ordering user interface provided that the wireless client device is located proximate to the establishment; computer program code for receiving, at the wireless client device, a user selection of a particular item of a plurality of items available for ordering via the item ordering user interface; computer program code for forming, at the wireless client device, a remote order request for the particular item in response to the user selection; computer program code for wirelessly sending the remote order request to a computing device associated with the establishment; computer program code for wirelessly receiving, at the wireless client device, a notification from the computing device associated with the establishment; and computer program code for presenting the notification on the display screen of the wireless client device. 
     In still another embodiment, a wireless portable electronic device can, for example, include at least: a processor for processing executable instructions; a display coupled to the processor for displaying text and images; a wireless interface coupled to the processor arranged to send and receive wireless signals; and a memory arranged to store data and the executable instructions. The executable instructions can, for example, include at least: computer program code for presenting, on the display of the wireless portable electronic device, an item ordering user interface provided that the wireless portable electronic device is located proximate to the establishment; computer program code for receiving a user selection of a particular item of a plurality of items available for ordering via the item ordering user interface; computer program code for forming a remote order request for the particular item in response to the user selection; computer program code for sending, via the wireless interface, the remote order request to a computing device associated with the establishment; computer program code for receiving, via the wireless interface, a notification from the computing device associated with the establishment; and computer program code for presenting the notification on the display screen of the wireless client device. 
     Other aspects and advantages of the invention will become apparent from the following detailed description, taken in conjunction with the accompanying drawings, illustrating by way of example the principles of the invention. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       The invention will be better understood by reference to the following description taken in conjunction with the accompanying drawings. 
         FIG. 1  shows a portable media player according to one embodiment of the invention. 
         FIG. 2A  is a block diagram of a wireless system according to one embodiment of the invention. 
         FIG. 2B  is a block diagram of the wireless system shown in  FIG. 2A  suitably configured for receiving and processing a remote order from a wireless client device. 
         FIG. 3  shows a wireless communication system in accordance with an embodiment of the invention. 
         FIG. 4  illustrates the wireless mobile device implemented as a wireless media player in accordance with an embodiment of the invention. 
         FIG. 5  illustrates an example of the wireless media player receiving the ping signal from a recognized merchant in accordance with an embodiment of the invention. 
         FIG. 6  illustrates an example of the wireless media player receiving the ping signal from the recognized merchant in accordance with an embodiment of the invention. 
         FIG. 7  shows a updating a merchant status in accordance with an embodiment of the invention. 
         FIG. 8  illustrates a purchase transaction in accordance with an embodiment of the invention. 
         FIG. 9  illustrates authenticating a customer in accordance with an embodiment of the invention. 
         FIG. 10  illustrates dealing with a customer without sufficient funds in accordance with an embodiment of the invention. 
         FIG. 11  shows how once a transaction has been authenticated and authorized the merchant sends a purchase inquiry in accordance with an embodiment of the invention. 
         FIG. 12  shows a flowchart detailing a process for a wireless transaction in accordance with an embodiment of the invention. 
         FIG. 13  shows a flowchart detailing a process for determining if a wireless client device is within range of a wireless data network in accordance with an embodiment of the invention. 
         FIG. 14  shows a flowchart detailing a process for determining if a merchant is a recognized merchant or an unrecognized merchant in accordance with an embodiment of the invention. 
         FIG. 15  shows a flowchart detailing a process responding to a merchant in accordance with an embodiment of the invention. 
         FIG. 16  shows a flowchart detailing a process for responding to instruction for a recognized merchant in accordance with an embodiment of the invention. 
         FIG. 17  shows a flowchart detailing a process for processing a customer selection by a merchant in accordance with an embodiment of the invention. 
         FIG. 18  shows a flowchart detailing a process for authenticating a customer in accordance with an embodiment of the invention. 
         FIG. 19  shows a flowchart detailing a process for authorizing a customer to purchase the selected item(s) in accordance with an embodiment of the invention. 
     
    
    
     DETAILED DESCRIPTION OF SELECTED EMBODIMENTS 
     Reference will now be made in detail to a particular embodiment of the invention, an example of which is illustrated in the accompanying drawings. While the invention will be described in conjunction with the particular embodiment, it will be understood that it is not intended to limit the invention to the described embodiment. To the contrary, it is intended to cover alternatives, modifications, and equivalents as may be included within the spirit and scope of the invention as defined by the appended claims. 
     Embodiments of the invention can provide a method, system, and apparatus for wirelessly executing a commercial transaction using a wireless client device such as a cell phone or wireless portable media player. When within wireless range of a participating merchant, at least one of a number of selectable items is selected for purchase. An indication of the selected item is then wirelessly forwarded to the participating merchant who confirms that there are sufficient financial resources available to the consumer to complete the transaction. The selected item(s) are then placed in a priority queue. In a particularly useful embodiment, a time for pickup is forwarded to the wireless consumer product and visually displayed by the wireless client device and/or audibly rendered by way of a speaker or earphone. 
     The invention will now be described in terms of a client device that includes a portable media player capable of storing a number of multimedia digital data files connected to a media delivery accessory arranged to broadcast audio by way of a plurality of speakers. In the case of the media player being a pocket sized portable player (such as the iPod® player manufactured by Apple Inc. of Cupertino, Calif.), the multimedia data files can include MP3 files as well as any other appropriately formatted data files. It should be noted that although the described embodiments rely upon using a wireless portable media player, any personal communication device (such as a text message enabled cell phone) can be used to practice the invention. 
       FIG. 1  shows a portable media player  100  according to one embodiment of the invention. The media player  100  includes a processor  102  that pertains to a microprocessor or controller for controlling the overall operation of the media player  100 . The media player  100  stores media data pertaining to media assets in a file system  104  and a cache  106 . The file system  104  is, typically, a storage disk or a plurality of disks. The file system  104  typically provides high capacity storage capability for the media player  100 . However, since the access time to the file system  104  is relatively slow, the media player  100  can also include a cache  106 . The cache  106  is, for example, Random-Access Memory (RAM) provided by semiconductor memory. The relative access time to the cache  106  is substantially shorter than for the file system  104 . However, the cache  106  does not have the large storage capacity of the file system  104 . Further, the file system  104 , when active, consumes more power than does the cache  106 . The power consumption is particularly important when the media player  100  is a portable media player that is powered by a battery (not shown). The media player  100  also includes a RAM  120  and a Read-Only Memory (ROM)  122 . The ROM  122  can store programs, utilities or processes to be executed in a non-volatile manner. The RAM  120  provides volatile data storage, such as for the cache  106 . 
     The media player  100  also includes a user input device  108  that allows a user of the media player  100  to interact with the media player  100 . For example, the user input device  108  can take a variety of forms, such as a button, keypad, dial, etc. Still further, the media player  100  includes a display  110  (screen display) that can be controlled by the processor  102  to display information to the user. A data bus  124  can facilitate data transfer between at least the file system  104 , the cache  106 , and the processor  102 . The media player  100  also includes a bus interface  116  that couples to a data link  118 . The data link  118  allows the media player  100  to couple to a host computer over a wired connection. 
     In one embodiment, the media player  100  serves to store a plurality of media assets (e.g., songs) in the file system  104 . When a user desires to have the media player  100  play a particular media item, a list of available media assets is displayed on the display  110 . Then, using the user input device  108 , a user can select one of the available media assets. The processor  102 , upon receiving a selection of a particular media item, supplies the media data (e.g., audio file) for the particular media item to a coder/decoder (CODEC)  112 . The CODEC  112  then produces analog output signals for a speaker  114 . The speaker  114  can be a speaker internal to the media player  100  or external to the media player  100 . For example, headphones or earphones that connect to the media player  100  would be considered an external speaker. 
     The media player  100  also includes a wireless network interface  126  arranged to wirelessly transmit any selected data from the media player  100  to any appropriately configured receiver unit over a wireless network. In the embodiment shown in  FIG. 1 , the wireless network interface  126  takes the form of a “WiFi” interface according to the IEEE 802.11b or 802.11g standards. Other wireless network standards could also be used, either in alternative to the identified standards or in addition to the identified standards. Such other network standards could include the IEEE 802.11a standard or the Bluetooth standard. 
     In one embodiment, the media player  100  is a portable computing device dedicated to processing media such as audio. For example, the media player  100  can be a media player (e.g., MP3 player), a game player, a remote controller, a portable communication device, and the like. These devices are generally battery-operated and highly portable so as to allow a user to listen to music, play games or video, record video or take pictures, communicate with others, and/or control other devices. In one implementation, the media player  100  is a handheld device that is sized for placement into a pocket or hand of the user. By being handheld, the media player  100  is relatively small and easily handled and utilized by its user. By being pocket sized, the user does not have to directly carry the device and therefore the device can be taken almost anywhere the user travels (e.g., the user is not limited by carrying a large, bulky and often heavy device, as in a portable computer). Furthermore, the device may be operated by the user&#39;s hands, no reference surface such as a desktop is needed. 
     Although the media items of emphasis in several of the above embodiments were audio items (e.g., audio files or songs), the media items are not limited to audio items. For example, the media item can alternatively pertain to recorded discussions and the like. 
       FIG. 2A  is a block diagram of a wireless system  200  according to one embodiment of the invention. The system  200  includes a central server  202  and a wired data network  204 . The central media server  202  couples to the wired data network  204 . The wired data network  204  can be a global network, a wide area network, or a local area network. In one example, the wired data network  204  pertains to some portion of the World Wide Web. A personal computer  206  can couple to the wired data network  204 . A wireless data network  208  can also couple to the wired data network  204 . The wireless data network  208  can include one or more wireless data networks, such as cellular networks, WiFi networks, WiMAX networks, Bluetooth networks, etc. The wireless system  200  can also include a local server  210  that can couple to one or both of the wired data network  204  and the wireless data network  208 . 
     The central server  202  stores or has access to numerous product data items. The local server  210  also stores or has access to various product data items. In addition, the system  200  supports a plurality of portable media devices  212  and  214 . The portable media device  212  can couple to the wireless data network  208  over a wireless link  216 . Similarly, the portable media device  214  can couple to the wireless data network  208  over a wireless link  218 . In this regard, the portable media devices  212  and  214  can access the central media server  202  and/or the local server  210  via the wireless data network  208 . 
     In one embodiment, one or more of the mobile devices, such as the mobile devices  212  and  214  illustrated in  FIG. 3 , can pertain to media devices. More particularly, the media devices can pertain to media players, such as the iPod® media player from Apple Inc. These mobile devices can include a purchase transaction management application that operates on the mobile device to facilitate a purchase transaction between the mobile device and a merchant with access to the servers  202  and/or  210 . Given the portability of mobile devices, mobile devices are smaller and have less resources. Consequently, a purchase transaction management application designed for use on a mobile device may offer less features and capabilities than would a counterpart purchase transaction management application operating on a larger, more powerful computing device, e.g., a personal computer. Given that the mobile devices have wireless access to the local server  210  and/or the central server  202 , the mobile devices can interact with the servers  202  and  210  to request and/or receive product data (or other data). In this regard, a purchase transaction management application operating on the mobile devices can communicate with the media servers  202  and  210  to perform various tasks, including: selecting items to purchase, receiving a periodic delivery of product content to media devices (such as daily pushing advertisements from a server to a media device), etc. 
       FIG. 2B  is a block diagram of the wireless system  200  shown in  FIG. 2A  suitably configured for receiving and processing a remote order from a wireless client device. The system  200  includes the local server computer  210  located at an establishment  220  in wireless communication with the wireless data network  208  by way of a wireless communication interface  222 . When the local server computer  210  receives a remote order  224  by way of the wireless communication interface  222 , the local server computer  210  generates a tagged remote order entry  226  that determines an order of processing of the remote order  224 . The tagged remote order entry  226  is, in turn, sent to and stored in a processing queue  228  that also receives any local order entries  230  from a local ordering system  232 . In the described embodiment, the processing queue  228  is updated based upon whether or not a particular order entry is tagged. For example, if a local order entry is currently stored in the processing queue  228  and a next queue entry is a tagged order entry, then the tagged order entry takes priority over the local (untagged) order entry for processing by a local processing center  234 . In this way, the establishment can prioritize, not, processing of remote orders over local orders as appropriate for pick up at a pick up station  236  when completed. In a particularly useful implementation, once the processing queue  228  has forwarded a next item to process command  238  to the local processing center  234 , the local processing center  234  originates and forwards a notification of estimated time for completion of processing  240  to the wireless client device  216  by way of the wireless communication interface  222  and wireless data network  208 . 
       FIG. 3  shows a wireless communication system  300  in accordance with an embodiment of the invention. The system  300  includes a wireless mobile device  302  capable of wireless communication with a wireless network  304  in communication with a local server computer  306  associated with a merchant  308 . In the particular embodiment described, the merchant  308  primarily provides ready to eat comestibles (such as coffee, sandwiches, etc.) and any associated peripheral products (such as coffee grinders in the case of the merchant  308  being a purveyor of coffee and/or coffee products). In order to alert the wireless mobile device  302  that the wireless mobile device  302  is within range R of the wireless network  304 , the wireless network  304  periodically emits a ping signal  310  that includes a merchant ID  312  that uniquely identifies the merchant  308 . The ping signal  310  is arranged such that any compatible wireless mobile devices within the range R of the wireless network  304  will receive the ping signal  310  at a signal strength greater than a preset threshold value. 
     If the wireless mobile device  302  receives such a signal, then the wireless mobile device  302  responds (or not) to the wireless network  304  based upon any number of predetermined conditions set forth in a customer preference file  316  stored in a memory  318  in the wireless mobile device  302 . For example, if the merchant ID  312  is identified as being associated with a recognized merchant (i.e., a merchant having had a previous transaction with a current user of the wireless mobile device), the wireless mobile device  302  will respond based upon a set of instructions included in the customer preference file  316  corresponding to a recognized merchant. Conversely, if the merchant ID  312  is identified as belonging to that of an unrecognized merchant (i.e., having had no previous transaction), the response is based upon another set of instructions associated with an unrecognized merchant. 
       FIG. 4  illustrates the wireless mobile device  302  implemented as a wireless media player  402  in accordance with an embodiment of the invention. When within the range R of wireless data network  304 , the wireless media player  402  receives a ping signal  406  that includes a merchant ID  408  that uniquely identifies a merchant  410 . A processor  412  in the wireless media player  402  receives the merchant ID  408  and sends a merchant ID recognition query  414  to a database  416  stored in a memory device  418  located in the media player  402 . The database  416  includes a list of merchants  420  that are considered to be recognized by the user having a customer ID  422 . In order to ascertain whether or not the merchant ID  408  is recognized, the merchant ID  408  is compared to the merchant IDs included in the list of merchants  420 . If there is a hit (i.e., a match) the merchant  410  is considered to be recognized, otherwise the merchant  410  is considered to be unrecognized. In any case, once the status of the merchant  410  is determined, a fetch instruction command  422  is forwarded to a customer preference file  424  that responds by providing an instruction command  426  to the processor  412  based upon whether or not the merchant  410  is recognized. 
     The instruction command  426  (when executed by the processor  412 ) directs the wireless media player  402  to take a predetermined action in response to the received ping signal  406 . For example, if the merchant  410  is unrecognized, a user can tailor the customer preference file  424  to issue an instruction command that directs the wireless media player  402  to ignore the ping signal  406 . Alternatively, the user could tailor the customer preference file  424  to issue an instruction command to update the list of merchants  420  to include the unrecognized merchant ID  408  thereby changing the merchant status from unrecognized to recognized. 
       FIG. 5  illustrates an example of the wireless media player  402  receiving the ping signal  406  from a recognized merchant  502  in accordance with an embodiment of the invention. In this example, an instruction command  504  is issued from the customer preference file  424 . The instruction command  504  is passed to and executed by the processor  412 , which in turn directs the wireless media player  402  to open a graphical user interface (GUI)  506  on a display  508  that includes a list of items  510  previously purchased from the merchant  502  stored in the memory  418 . In the described embodiment, each displayed item responds to a selection tool  512  by causing the wireless media player  402  to send a selection request  514  that includes an indication  516  of the item selected from the list  510  to the merchant  502  for additional processing. It should be noted that, typically, the list of items previously purchased by the user is stored locally in the memory  418 . However, in some cases it may be desirable to store customer information (such as the list of previously purchased items) on either or both the local server  306  or the central server  202 . In this way, even in those cases where a user purchases a new item or is using a different media player than would otherwise be used that does not have a current, or accurate, customer preference file for that particular user, the local server  306  or remote server  202  can be used to update, or synchronize, the local memory  418 . 
     It should be noted that the customer preference file  424  can be as dense or sparse as desired based on, for example, an amount of on-board memory storage available, personal preferences of a user, etc. In some cases, the wireless media player  402  can have more than one user associated with it such as when two or more people share the wireless media player  402 . In this case, each individual user would have a unique customer ID that would be entered manually by the user when they took current possession of the player  402 . When multiple customer IDs are available, then each customer ID can point to a particular customer preference file unique to that customer ID. 
     In some cases, whenever a wireless media player comes within range of the wireless data network, the wireless media player can be (unbeknownst to the user) directed to send a wireless media player identifier that uniquely identifies the particular wireless media player to the wireless data network. The wireless media player identifier can be used to track lost or stolen media players when the rightful owner has placed the wireless media player identifier in a central database of lost or stolen media players. In this way, if a lost or stolen media player is tracked, any number of subsequent actions can be taken such as notifying the authorities, disabling the wireless media player, displaying a notice to return the wireless media player, etc. thereby providing a strong disincentive for stealing the player. 
       FIG. 6  illustrates an example of the wireless media player  402  receiving the ping signal  406  from the recognized merchant  502  in accordance with an embodiment of the invention. In this case, processor  412  directs the wireless media player  402  to generate and forward to the merchant  502  a request  602  with an instruction  604  that directs the merchant  502  to generate a merchant response  606  that includes information  608  that is pushed to the wireless media player  402 . In this example, the information  608  is displayed on the graphical user interface (GUI)  506  as the list of previously purchased items  510  thereby providing the user the capability of selecting those item(s) from the list  510  along the lines previously discussed. 
     Therefore, by providing a simple modification to the customer preference file  424 , any transaction between the merchant and the current user of the wireless media player  402  can be customized as appropriate. For example, if a user desires to enter into a transaction with only particular merchants, then only those merchants whose merchant IDs are stored in the customer preference file will be allowed to open a channel with the user. Alternatively, some customers may prefer that no merchant advertisements can be forwarded whereas in some cases, the user may prefer advertisements but only for a limited number of products. By tailoring the customer preference file for each customer and merchant, the user can provide as much control as desired in the information provided from and/or to a particular merchant or merchant class (i.e. category of merchants, such as food providers, etc). 
     In yet another scenario shown in  FIG. 7 , a merchant  702  is unrecognized. In this case, the media player  402  uses a merchant ID  704  included in a ping signal  706  to update the list of merchants  420  thereby changing the status of the merchant  702  from unrecognized to recognized. In this particular embodiment, once the list of merchants  420  has been updated to include the merchant ID  704 , the wireless media player  402  sends a media player response  708  with an acknowledgement  710  of the receipt of the ping signal  706  to the merchant  702 . In some cases, in addition to the acknowledgment  710 , the media player response  708  can include a merchant request  712  requesting that the merchant  702  send any information, such as advertisements, daily specials, or other enticements that the merchant  702  believes would induce the user to place an order. In this way, the newly recognized merchant  702  can provide the database  416  with information specific to the merchant  702  so as to facilitate a current or future transaction. 
       FIG. 8  illustrates a purchase transaction  800  in accordance with an embodiment of the invention. It should be noted that the list of selectable items  510  can originate from the memory  418 , the local server  308  or the central server  202 . Accordingly, starting where  FIG. 5  left off where a user has selected an item to purchase from the list of selectable items  510 , the wireless media player  402  sends the purchase request  514  having the purchase item indicator  516 , the customer ID  422 , and an authentication code  802  to the merchant  502 . As illustrated in  FIG. 9 , the merchant  502  then proceeds to authenticate the customer ID  422  associated with the purchase request  514  by verifying the authentication code  802 . If the purchase request  514  did not have an authentication code  802  associated with it (i.e., a null field), then the merchant  502  sends an authentication request  902  back to the wireless media player  402 . The wireless media player  402  then displays an authentication request icon  904  on the display  508  requesting that the user provide a predetermined authentication code. In some cases, the authentication code can be a pre-selected number, name, combination of words and numbers, or any such combination. In response to the authentication request  902 , the user inputs the appropriate authentication code  802 , which is then forwarded back to the merchant  502  by the wireless media player  402  by way of an authentication response  906 . Once the merchant  502  has received the authentication code  802 , the merchant  502  forwards an authentication code verification request  908  to the local computer  306  (or the remote computer  202 ), which responds with an authentication code status  910 . If the authentication code  802  is not verified, then a cancellation notice  912  is forwarded back to the wireless media player  402  canceling the transaction, otherwise, if the authentication code  802  is verified, the merchant  502  is allowed to proceed with the transaction  800 . 
     Referring back to  FIG. 8 , if the authentication code  802  is verified, then an account enquiry  804  is made of a user account  806  associated with the customer ID  422  to determine if there is sufficient funds in the user account  806  to complete the requested purchase transaction  800 . Again, the user account  806  can be stored in either the local computer  306  or the central server  202 , thereby providing redundancy. Referring to  FIG. 10 , if the user account  806  does not have sufficient funds, then any number of actions can be taken. In one case, if the user has preauthorized access to another source of funds  1002  (such as a checking or savings account) located in a bank  1004 , for example, then a request  1006  is forwarded to the bank  1004  to access the preauthorized source of funds  1002  from which a predetermined amount  1008  is transferred to the user account  806 . If the preauthorized source of funds  1002  is either unavailable or insufficient to cover the predetermined transfer amount, then a cancellation notice  1010  is forwarded back to the wireless media player  402 . In another embodiment, instead of a cancellation notice  1010 , a request  1012  is forwarded to the wireless media player  402  requesting the user manually input a credit card number (either in written form using an input icon  1014 , or verbally using a microphone  1016 ), for example, to cover the transaction. This could also apply in those situations where the user does not have a preauthorized account from which to draw additional funds when needed to replenish the user account. 
     In some cases, the user can direct that the user account  806  never fall below a specified amount thereby eliminating the possibility of a transaction being cancelled for lack of funds. In some cases, a notice can be forwarded to the wireless media player  402  indicating that the user account  806  has fallen to a preselected amount and requesting that the user either replenish the account or authorize a transfer from the preauthorized source of funds  1002 . 
     Referring to  FIG. 11 , once the transaction  800  has been authenticated and authorized, the merchant  502  sends a purchase inquiry  1102  to a database  1104  (that can also be located on the central server  202 ) that includes a customer information file  1106  having information specific to the customer ID  422  and merchant information  1108  (based upon merchant IDs). The customer information file  1106  can include such information as customer purchase history, customer product preferences (coffee with room for cream, for example), etc.; whereas the merchant information  1108  can include such information as current menu items, specialty menu items, and any other information that a particular merchant deems relevant. Using the information included in the customer preference file  1106 , a processing queue  1110  is updated to include the item(s) purchased and any particular customer preferences (such as room for cream, particular temperature if its a hot drink, etc.). Once the processing queue  1110  has been updated, the merchant  502  sends a purchase confirmation  1112  having information  1114  related to the purchase that is displayed on the display  508 . Such information can include an estimate of the time for pickup in either textual or iconic form (such as a clock face), the item ordered, the price, and any other information that the merchant  502  deems appropriate. In some situations, the user can specify a particular time to pick up the selected items as opposed to the merchant  502  specifying the pick up time. In some cases, the merchant may decide to give a remote purchaser priority over those who purchased the same or similar items locally at the merchant&#39;s place of business. In any case, once the user has the verification notification and estimated time for pickup, the user can go directly to the pickup station at the merchant without having to waste time waiting for an unfinished order or arriving after a order has been finished and has lost its freshness. 
       FIG. 12  shows a flowchart detailing a process  1200  for a wireless transaction in accordance with an embodiment of the invention. At  1200 , if a user having a wireless client device is within wireless range of a merchant and if the user wants to purchase an item for sale by the merchant at  1204 , then the user selects the item to purchase using the wireless client device at  1206 . An indication of the item selected is wirelessly forwarded to the merchant at  1208  and an order queue is subsequently updated at  1210 . Once the order queue has been updated, a notification is sent from the merchant to the wireless client device at  1212  notifying the user that the selected item has been queued up. In some embodiments, the notification includes more specific information related to the transaction such as a time for pickup, etc. At  1214 , the user picks up the selected item at the merchant thereby completing the wireless transaction. 
       FIG. 13  shows a flowchart detailing a process  1300  for determining if a wireless client device is within range of a wireless data network in accordance with an embodiment of the invention. The process  1300  begins at  1302  with the wireless data network emitting a ping signal. At  1304 , the wireless client device receives the ping signal having a signal strength S. If, at  1306 , the signal strength S is greater than a predetermined signal strength value, then at  1308  the wireless client device is within range of the wireless data network. 
       FIG. 14  shows a flowchart detailing a process  1400  for determining if a merchant is a recognized merchant or an unrecognized merchant in accordance with an embodiment of the invention. The process  1400  begins at  1402  by retrieving a merchant ID from the received ping signal and, at  1404 , determining if the merchant ID is associated with a previously recognized merchant or an unrecognized merchant. If the merchant ID is associated with a previously recognized merchant, then at  1406 , an instruction for a previously recognized merchant is fetched from a customer preference file and the fetched instruction is executed at  1408 . 
     On the other hand, if it had been determined at  1404  that the merchant ID is associated with an unrecognized merchant, then at  1410  an instruction associated with an unrecognized merchant is fetched from the customer preference file at  1412  and executed at  1414 . 
       FIG. 15  shows a flowchart detailing a process  1500  of responding to a merchant in accordance with an embodiment of the invention. The process  1500  begins at  1502  by determining if the wireless client device is to remain in communication with the unrecognized merchant. If it is determined that communication is to cease, then the unrecognized merchant is ignored at  1504  and the process  1500  stops, otherwise, the unrecognized merchant is recognized at  1506 . In the described embodiment, the recognition of the heretofore unrecognized merchant can be accomplished by updating the customer preference file to include the merchant ID associated with the heretofore unrecognized merchant. At  1508 , an instruction associated with the newly recognized client is executed that can include requesting specific merchant information from the merchant such as a list of current menu items that is, in turn, used to update a merchant information file and the customer preference file stored in the wireless client device. 
       FIG. 16  shows a flowchart detailing a process  1600  for responding to an instruction from a recognized merchant in accordance with an embodiment of the invention. The process  1600  begins at  1602  by getting a list of selectable items from either the merchant or from the wireless client device. In the case that the list of selectable items is from the wireless client device, a database stored in the wireless client device is accessed at  1604  which includes a list of previously purchased items. The merchant ID associated with the merchant is then compared to those merchant IDs included in the list of previously purchased items at  1606  and, at  1608 , the list of previously purchased items that are associated with the stored merchant ID that matches the current merchant ID are displayed on a display. 
     On the other hand, when the list of selectable items is obtained from the merchant, then at  1610  a database stored in the wireless data network is accessed, which includes a list of purchased items associated with a customer ID that uniquely identifies a previous customer. At  1612 , a list of stored customer IDs is compared with the current customer ID and at  1614 , the list of selectable items associated with the stored customer ID that matches the current customer ID is sent from the wireless data network to the wireless client device. The list of selectable items is then displayed at  1608 . 
       FIG. 17  shows a flowchart detailing a process  1700  for processing a customer selection by a merchant in accordance with an embodiment of the invention. The process  1700  begins at  1702  with the merchant receiving a customer selection request that includes an indication of the item(s) selected, an authentication code, and a customer ID. At  1704 , the customer is authenticated and at  1706  the customer is authorized to purchase the selected item(s). At  1708  a processing queue is updated to include indicators of the selected item(s). At  1710 , an estimate of an amount of time required to make the selected item(s) available for pickup is calculated. 
       FIG. 18  shows a flowchart detailing a process  1800  for authenticating a customer in accordance with an embodiment of the invention. The process  1800  begins at  1802  by determining if a customer authentication code is valid. If the authentication code is not valid, then a determination is made at  1804  of whether or not the customer is to be requested to supply a valid authentication code. If the customer is not requested to supply a valid authentication code, then the customer is tagged as unauthenticated at  1806  and the transaction is ended at  1808  thereby ending the process  1800 . On the other hand, if at  1804  the customer is requested to supply a valid authentication code, then at  1810 , an authentication code request is forwarded to the customer at the wireless client device and control is passed back to  1802  for a determination of the validity of the authentication code. If the received authentication code is determined to be valid at  1802 , then at  1812 , the customer is tagged as authenticated and control passes back to the process  1700 . 
       FIG. 19  shows a flowchart detailing a process  1900  for authorizing a customer to purchase the selected item(s) in accordance with an embodiment of the invention. The process  1900  begins at  1902  by determining if the customer has a valid customer account. If the customer does not have a valid customer account, then at  1904  a request is forwarded from the wireless data network to the customer requesting that the customer open a customer account. If, at  1906 , the customer chooses to not open an account, then the transaction is ended at  1908 , otherwise, at  1910 , a customer account is opened. On the other hand, if at  1902  it has been determined that a customer does have a valid customer account, then a determination is made at  1912  of whether or not the customer account has sufficient funds to purchase the selected item(s). If the customer account does not have sufficient funds, then at  1914  the customer is requested to credit sufficient funds to the customer account. If the customer does not credit sufficient funds, then the transaction is ended at  1908 , otherwise, the account is credited with sufficient funds at  1916 . In any case, if the customer account has sufficient funds to purchase the selected item(s), either as determined at  1912  or credited at  1916 , processing is passed to  1708 . 
     The invention can be preferably implemented by software, but can also be implemented in hardware or a combination of hardware and software. The invention can also be embodied as computer readable code on a computer readable medium. The computer readable medium is any data storage device that can store data which can thereafter be read by a computer system. Examples of the computer readable medium include read-only memory, random-access memory, CD-ROMs, DVDs, magnetic tape, optical data storage devices, and carrier waves. The computer readable medium can also be distributed over network-coupled computer systems so that the computer readable code is stored and executed in a distributed fashion. 
     The many features and advantages of the present invention are apparent from the written description and, thus, it is intended by the appended claims to cover all such features and advantages of the invention. Further, since numerous modifications and changes will readily occur to those skilled in the art, the invention should not be limited to the exact construction and operation as illustrated and described. Hence, all suitable modifications and equivalents may be resorted to as falling within the scope of the invention. 
     While this invention has been described in terms of a preferred embodiment, there are alterations, permutations, and equivalents that fall within the scope of this invention. It should also be noted that there are many alternative ways of implementing both the process and apparatus of the present invention. It is therefore intended that the invention be interpreted as including all such alterations, permutations, and equivalents as fall within the true spirit and scope of the present invention.

Metadata:
Filing Date: 20111122
Publication Date: 20170829
Grant Date: 20170829
Priority Date: 20060620
Inventors: FADELL ANTHONY M.
Assignee: APPLE INC
CPC Classifications: [{"code": "H04L67/04", "inventive": true, "first": false, "tree": "[]"}, {"code": "G06Q30/0603", "inventive": true, "first": false, "tree": "[]"}, {"code": "H04L67/04", "inventive": true, "first": false, "tree": "[]"}, {"code": "G06F15/025", "inventive": true, "first": true, "tree": "[]"}, {"code": "H04L67/306", "inventive": true, "first": false, "tree": "[]"}, {"code": "G06Q30/0603", "inventive": true, "first": false, "tree": "[]"}, {"code": "G06Q30/0601", "inventive": true, "first": false, "tree": "[]"}, {"code": "G06Q30/06", "inventive": true, "first": false, "tree": "[]"}, {"code": "H04L67/306", "inventive": true, "first": false, "tree": "[]"}, {"code": "G06Q30/0601", "inventive": true, "first": true, "tree": "[]"}, {"code": "G06Q30/06", "inventive": true, "first": false, "tree": "[]"}, {"code": "H04L67/325", "inventive": true, "first": false, "tree": "[]"}, {"code": "H04L67/322", "inventive": true, "first": false, "tree": "[]"}, {"code": "H04L67/04", "inventive": true, "first": false, "tree": "[]"}, {"code": "G06Q30/0603", "inventive": true, "first": false, "tree": "[]"}, {"code": "G06Q30/0601", "inventive": true, "first": false, "tree": "[]"}, {"code": "G06F15/025", "inventive": true, "first": true, "tree": "[]"}, {"code": "H04L67/306", "inventive": true, "first": false, "tree": "[]"}, {"code": "H04L67/61", "inventive": true, "first": false, "tree": "[]"}, {"code": "H04L67/62", "inventive": true, "first": false, "tree": "[]"}, {"code": "H04L67/62", "inventive": true, "first": false, "tree": "[]"}, {"code": "H04L67/61", "inventive": true, "first": false, "tree": "[]"}]
Family ID: 38834245