| United States Patent Application |
20070291710
|
| Kind Code
|
A1
|
|
Fadell; Anthony M.
|
December 20, 2007
|
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.
| Inventors: |
Fadell; Anthony M.; (Portola Valley, CA)
|
| Correspondence Address:
|
BEYER WEAVER LLP
P.O. BOX 70250
OAKLAND
CA
94612-0250
US
|
| Assignee: |
Apple Computer, Inc.
|
| Family ID:
|
38834245
|
| Appl. No.:
|
11/485142
|
| Filed:
|
July 11, 2006 |
Related U.S. Patent Documents
| | | | |
|
| Application Number | Filing Date | Patent Number | |
|---|
| | 60805328 | Jun 20, 2006 | | |
|
|
| Current U.S. Class: |
370/338 |
| Current CPC Class: |
G06F 15/025 20130101; G06Q 30/06 20130101; G06Q 30/0601 20130101; G06Q 30/0603 20130101; H04L 67/306 20130101; H04L 67/322 20130101; H04L 67/325 20130101; H04L 67/04 20130101 |
| Class at Publication: |
370/338 |
| International Class: |
H04Q 7/24 20060101 H04Q007/24 |
Claims
1. A processing system, comprising: a wireless communication interface
arranged to wirelessly communicate with one or more wireless client
devices in the vicinity of the establishment, the wireless communication
interface receiving 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 in communication with the
wireless communication interface that receives the remote order from the
wireless communication interface and generates instructions for
processing the remote order; and a processing queue in communication with
the local server computer that receives the processing instructions from
the local computer server in preparation for processing of the remote
order.
2. A processing system as recited in claim 1, further comprising: a local
ordering system coupled to the processing queue arranged to receive a
local order and pass the local order to the processing queue.
3. A processing system as recited in claim 1, wherein the local server
computer generates a processing command that includes processing
requirements for a next to be processed selected item.
4. A processing system as recited in claim 3, further comprising: a local
processing center coupled to the processing queue that responds to the
processing command by processing the selected item according to the
processing requirements; and a pick up station coupled to the local
processing center for staging a fully processed selected item for pick
up.
5. A processing system as recited in claim 4, further comprising: a
notification unit coupled to the local processing center arranged to
issue a notification signal indicating an estimated amount of time until
the fully processed selected item is available for pick up at the pick up
station.
6. A processing system as recited in claim 5, wherein the notification
signal is wirelessly transmitted by way of the wireless communication
interface to the at least one wireless communication device from which
the selected item indication originated.
7. A processing system as recited in claim 1, wherein the local server
computer generates an acknowledgement signal indicating that the remote
order has been successfully received and forwards the acknowledgement
signal to the wireless communication interface.
8. A processing system as recited in claim 7, wherein the wireless
communication interface forwards the acknowledgement signal to the at
least one wireless communication device that originated the remote order.
9. A processing system as recited in claim 1, wherein the local server
computer tags the remote order received from the wireless communication
interface indicating a processing order for the selected item.
10. A processing system as recited in claim 9, wherein when the remote
order is tagged, then the tagged remote order is to be processed before
any local orders are processed.
11. A processing system as recited in claim 1, wherein the wireless
client device is a wireless consumer electronic product selected from a
group comprising: a wireless media player, a wireless personal digital
assistant, a cell phone.
12. A processing system as recited in claim 11, wherein the wireless
client device includes a display screen suitable for displaying images
and text and an output device that includes a speaker or earphone.
13. A processing system as recited in claim 12, wherein the notification
signal indicating the estimated amount of time until the fully processed
selected item is available for pick up at the pick up station is
converted to text and displayed on the display screen.
14. A processing system as recited in claim 11, wherein the notification
signal indicating the estimated amount of time until the fully processed
selected item is available for pick up at the pick up station is audibly
rendered and output by way of the audio output device.
15. A method of processing an order provided by one or more wireless
client devices in the vicinity of an establishment, comprising: receiving
a remote order corresponding to an item selected by at least one of the
wireless client devices at a wireless communication interface in
communication with a local server computer in proximity to the
establishment; processing the remote order by the local server computer;
and storing the remote order in a processing queue in preparation for
processing of the remote order.
16. A method as recited in claim 15, further comprising: receiving a
local order from a local ordering system; and passing the local order to
the processing queue.
17. A method as recited in claim 16, further comprising: generating a
processing command by the local server computer that includes processing
requirements for a next to be processed selected item.
18. A method as recited in claim 17, further comprising: processing the
selected item according to the processing requirements by a local
processing center coupled to the processing queue in response to the
processing command; and staging a fully processed selected item for pick
up at a pick up station coupled to the local processing center.
19. A method as recited in claim 18, further comprising: issuing a
notification signal indicating an estimated amount of time until the
fully processed selected item is available for pick up at the pick up
station by a notification unit coupled to the local processing center.
20. A method as recited in claim 19, further comprising: wirelessly
transmitting the notification signal by way of the wireless communication
interface to the at least one wireless communication device from which
the selected item indication originated.
21. A method as recited in claim 15, further comprising: generating an
acknowledgement signal indicating that the remote order has been
successfully received and forwarding the acknowledgement signal to the
wireless communication interface by the local server computer.
22. A method as recited in claim 21, further comprising; forwarding the
acknowledgement signal to the at least one wireless communication device
that originated the remote order by the wireless communication interface.
23. A method as recited in claim 15, further comprising: tagging the
remote order received from the wireless communication interface
indicating a processing order for the selected item by the local server
computer.
24. A method as recited in claim 23, further comprising; processing the
tagged remote order before any local orders.
25. A method as recited in claim 15, wherein the wireless client device
is a wireless client device selected from a group comprising: a wireless
media player, a wireless personal digital assistant, a cell phone.
26. A method as recited in claim 25, wherein the wireless client device
includes a display screen suitable for displaying images and text and an
output device that includes a speaker or earphone.
27. A method as recited in claim 26, further comprising: converting the
notification signal indicating the estimated amount of time until the
fully processed selected item is available for pick up at the pick up
station to text; and displaying the text on the display screen.
28. A method as recited in claim 26, further comprising: audibly
rendering the notification signal indicating the estimated amount of time
until the fully processed selected item is available for pick up at the
pick up station; and outputting the audio by way of the audio output
device.
29. A processing system, comprising: a wireless communication interface
in communication with the local server computer arranged to wirelessly
communicate with one or more wireless client devices in the vicinity of
the establishment, the wireless communication interface receiving 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 having a memory arranged to store data that includes a
customer preference file listing customer preferences that the local
server computer consults in order to generate processing instructions for
processing of the remote order; and a processing center for processing
the remote order in response to the processing instructions received from
the local server computer.
30. A processing system as recited in claim 29, wherein the wireless
client device comprises: 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.
31. A system as recited in claim 30 wherein the data stored in the memory
comprises: a customer identifier (ID) that uniquely defines a customer; a
first customer preference file listing customer preferences for the
customer; a list of establishments recognized by the customer; and a
first customer history file for each of the recognized establishments
listing items previously selected by each of the customer at each of the
recognized establishments.
32. A system as recited in claim 31, wherein the data stored in the local
server computer comprises: an establishment identifier (ID) that uniquely
identifies the establishment in which the local server computer is in
proximity; a list of establishment recognized customers listing those
customers having previously contacted the establishment; a second
customer preference file listing customer preferences for the customers
on the list of establishment recognized customers; and a second customer
history file listing items previously selected by each of the customers
on the list of establishment recognized customers.
33. A system as recited in claim 29, further comprising: a local
processing station coupled to the local server computer and the
processing queue arranged to process the selected item.
34. A system as recited in claim 32, wherein if the local server computer
determines that the customer preference file stored at the local server
computer does not match the second customer preference file on the
wireless client device, then the local server computer updates the
customer preference file to match the second customer preference file on
the wireless client device prior to generating the processing
instructions for processing of the remote order.
35. A method of processing a remote order provided by one or more
wireless client devices in the vicinity of an establishment, comprising:
receiving a remote order corresponding to an item selected by at least
one of the wireless client devices; consulting a customer preference file
that lists customer preferences by a local server computer located in
proximity to the establishment; generating a processing instruction for
processing the remote order by the local server computer based upon the
consultation of the customer preference file; and processing the remote
order in response to the processing instruction.
36. A method as recited in claim 35, wherein the wireless client device
comprises: 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.
37. A method as recited in claim 36 wherein the data stored in the memory
comprises: a customer identifier (ID) that uniquely defines a customer; a
first customer preference file listing customer preferences for the
customer; a list of establishments recognized by the customer; and a
first customer history file for each of the recognized establishments
listing items previously selected by each of the customer at each of the
recognized establishments.
38. A method as recited in claim 32, wherein the data stored in the local
server computer comprises: an establishment identifier (ID) that uniquely
identifies the establishment in which the local server computer is in
proximity; a list of establishment recognized customers listing those
customers having previously contacted the establishment; a second
customer preference file listing customer preferences for the customers
on the list of establishment recognized customers; and a second customer
history file listing items previously selected by each of the customers
on the list of establishment recognized customers.
39. A method as recited in claim 35, further comprising: notifying the
wireless client device that originally sent the remote order to the
establishment of an estimated amount of time until the selected item
processing is complete.
40. A method as recited in claim 38, further comprising; determining if
the customer preference file on the local server computer requires
updating; and updating the customer preference file by the local server
computer, if needed, prior to generating the processing instructions.
41. A method as recited in claim 40, wherein determining if the customer
preference file on the local server computer requires updating comprises;
comparing the customer preference file on the local server computer to
the second customer preference file on the wireless client device; and
overwriting the customer preferences on the local server computer by the
corresponding customer preferences on the wireless client device when the
comparing indicates a no match condition.
42. A wireless client device suitable for wirelessly providing a remote
order to an establishment, comprising: a wireless communication interface
arranged to send and receive wireless signals; a processor for processing
executable instructions; and a wireless range evaluator unit in
communication with the wireless communication interface and the processor
arranged to determine if the wireless client device is within wireless
range of the establishment, wherein when the wireless range evaluator
unit determines that the wireless client device is within wireless range
of the establishment, then the processor sends the remote order to the
establishment by way of the wireless communication interface.
43. A wireless client device as recited in claim 42, wherein the wireless
range evaluator unit comprises: a ping signal strength evaluator for
determining if a ping signal strength of a ping signal received by the
wireless communication interface is greater than a predetermined ping
signal strength wherein when the ping signal strength is greater than the
predetermined ping signal value, then the wireless evaluator unit
notifies the processor that the wireless client device is within range of
the establishment.
44. A system as recited in claim 42, wherein when the processor is
notified that the wireless client device is within range of the
establishment, then the processor retrieves an establishment identifier
(ID) encoded in the ping signal.
45. A system as recited in claim 44, wherein the processor sets an
establishment recognition status based upon a determination of whether or
not the establishment is recognized using the retrieved establishment ID.
46. A system as recited in claim 45, wherein the wireless client device
further comprises: a memory arranged to store data.
47. A system as recited in claim 46, wherein the data stored in the
memory comprises: a customer identifier (ID) that uniquely defines a
customer associated with the wireless client device; a customer
preference file listing customer preferences for the customer; a list of
establishments recognized by the customer; and a customer history file
for each of the recognized establishments listing items previously
selected by the customer at each of the recognized establishments.
48. A wireless client device as recited in claim 47, wherein the
processor determines the recognition status of the establishment by
comparing the establishment ID retrieved from the ping signal with the
list of establishment IDs recognized by the customer and wherein when the
establishment ID matches at least one of the list of establishment IDs,
then the processor sets the establishment recognition status to
recognized, otherwise the processor sets the recognition status to
unrecognized.
49. A wireless client device as recited in claim 48, wherein when the
processor has updated the recognition status of the establishment, the
processor forwards a response request to the customer preference file in
order to determine how the wireless client device responds.
50. A wireless client device as recited in claim 49, wherein the customer
preference file returns a response instruction back to the processor for
execution based upon the recognition status of the establishment.
51. Computer program product executable by a computer processor for
processing an order provided by one or more wireless client devices in
the vicinity of an establishment, comprising: computer code for receiving
a remote order corresponding to an item selected by at least one of the
wireless client devices at a wireless communication interface in
communication with a local server computer in proximity to the
establishment; computer code for processing the remote order by the local
server computer; computer code for storing the remote order in a
processing queue in preparation for processing of the remote order; and
computer readable medium for storing the computer code.
52. Computer program product as recited in claim 51, further comprising:
computer code for receiving a local order from a local ordering system;
and computer code for passing the local order to the processing queue.
53. Computer program product as recited in claim 52, further comprising:
computer code for generating a processing command by the local server
computer that includes processing requirements for a next to be processed
selected item.
54. Computer program product as recited in claim 53, further comprising:
computer code for processing the selected item according to the
processing requirements by a local processing center coupled to the
processing queue in response to the processing command; and computer code
for staging a fully processed selected item for pick up at a pick up
station coupled to the local processing center.
55. Computer program product as recited in claim 54, further comprising:
computer code for issuing a notification signal indicating an estimated
amount of time until the fully processed selected item is available for
pick up at the pick up station by a notification unit coupled to the
local processing center.
56. Computer program product as recited in claim 55, further comprising:
computer code for wirelessly transmitting the notification signal by way
of the wireless communication interface to the at least one wireless
communication device from which the selected item indication originated.
57. Computer program product as recited in claim 51, further comprising:
generating an acknowledgement signal indicating that the remote order has
been successfully received and forwarding the acknowledgement signal to
the wireless communication interface by the local server computer.
58. Computer program product as recited in claim 57, further comprising;
forwarding the acknowledgement signal to the at least one wireless
communication device that originated the remote order by the wireless
communication interface.
59. Computer program product as recited in claim 51, further comprising:
tagging the remote order received from the wireless communication
interface indicating a processing order for the selected item by the
local server computer.
60. Computer program product as recited in claim 59, further comprising:
processing the tagged remote order before any local orders.
61. Computer program product as recited in claim 51, wherein the wireless
client device is a wireless client device selected from a group
comprising: a wireless media player, a wireless personal digital
assistant, a cell phone.
62. Computer program product as recited in claim 61, wherein the wireless
client device includes a display screen suitable for displaying images
and text and an output device that includes a speaker or earphone.
63. Computer program product as recited in claim 52, further comprising:
computer code for converting the notification signal indicating the
estimated amount of time until the fully processed selected item is
available for pick up at the pick up station to text; and computer code
for displaying the text on the display screen.
64. Computer program product as recited in claim 63, further comprising:
computer code for audibly rendering the notification signal indicating
the estimated amount of time until the fully processed selected item is
available for pick up at the pick up station; and computer code for
outputting the audio by way of the audio output device.
Description
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application claims priority to U.S. Provisional Patent
Application No. 60/805,328, filed Jun. 20, 2006, and entitled "WIRELESS
COMMUNICATION SYSTEM" [Att.Dkt.No.: APL1P478P], which is hereby
incorporated by reference herein.
FIELD OF INVENTION
[0002] This invention relates generally to personal, portable electronic
devices such as media players, radios, cell phones and the like.
DESCRIPTION OF RELATED ART
[0003] 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.
[0004] 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.
[0005] 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.
[0006] Therefore, there is a need for improved approaches to process a
remote order.
SUMMARY OF THE INVENTION
[0007] 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.
[0008] In a particularly useful 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.
[0009] In another embodiment, a method of processing an order provided by
one or more wireless client devices in the vicinity of an establishment
is described. The method is carried out by receiving a remote order
corresponding to an item selected by at least one of the wireless client
devices at a wireless communication interface that is in communication
with a local server computer in proximity to the establishment. The
remote order is then passed to and processed by the local server computer
and is then stored in a processing queue in preparation for processing of
the remote order.
[0010] In yet another embodiment, a processing system is described. The
processing system includes a wireless communication interface arranged to
wirelessly communicate 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 that is then passed to a local server
computer located in proximity to the establishment having a memory
arranged to store data that includes a customer preference file listing
customer preferences. The local server computer consults the customer
preference file in order to generate processing instructions for
processing of the remote order. The local server computer passes the
processing instructions to a processing center for processing the remote
order in response to the processing instructions.
[0011] In still another embodiment, a method of processing a remote order
provided by one or more wireless client devices in the vicinity of an
establishment is described. The method is carried out by receiving a
remote order corresponding to an item selected by at least one of the
wireless client devices, consulting a customer preference file that lists
customer preferences by way of a local server computer located in
proximity to the establishment, generating a processing instruction for
processing the remote order by way of the local server computer based
upon the consultation of the customer preference file, and processing the
remote order in response to the processing instruction.
[0012] In another embodiment, a wireless client device suitable for
wirelessly providing a remote order to an establishment is described. The
wireless client device includes a wireless communication interface
arranged to send and receive wireless signals, a processor for processing
executable instructions, and a wireless range evaluator unit in
communication with the wireless communication interface and the processor
arranged to determine if the wireless client device is within wireless
range of the establishment, wherein when the wireless range evaluator
unit determines that the wireless client device is within wireless range
of the establishment, the processor sends the remote order to the
establishment by way of the wireless communication interface.
[0013] Another embodiment provides a computer program product executable
by a processor for processing an order provided by one or more wireless
client devices in the vicinity of an establishment. The computer program
product includes computer code for receiving a remote order corresponding
to an item selected by at least one of the wireless client devices at a
wireless communication interface in communication with a local server
computer in proximity to the establishment, computer code for processing
the remote order by the local server computer, computer code for storing
the remote order in a processing queue in preparation for processing of
the remote order, and a computer readable medium for storing the computer
code.
[0014] 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
[0015] The invention will be better understood by reference to the
following description taken in conjunction with the accompanying
drawings.
[0016] FIG. 1 shows a portable media player according to one embodiment of
the invention.
[0017] FIG. 2A is a block diagram of a wireless system according to one
embodiment of the invention.
[0018] 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.
[0019] FIG. 3 shows a wireless communication system in accordance with an
embodiment of the invention.
[0020] FIG. 4 illustrates the wireless mobile device implemented as a
wireless media player in accordance with an embodiment of the invention.
[0021] 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.
[0022] 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.
[0023] FIG. 7 shows a updating a merchant status in accordance with an
embodiment of the invention.
[0024] FIG. 8 illustrates a purchase transaction in accordance with an
embodiment of the invention.
[0025] FIG. 9 illustrates authenticating a customer in accordance with an
embodiment of the invention.
[0026] FIG. 10 illustrates dealing with a customer without sufficient
funds in accordance with an embodiment of the invention.
[0027] FIG. 1 shows how once a transaction has been authenticated and
authorized the merchant sends a purchase inquiry in accordance with an
embodiment of the invention.
[0028] FIG. 12 shows a flowchart detailing a process for a wireless
transaction in accordance with an embodiment of the invention.
[0029] 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.
[0030] 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.
[0031] FIG. 15 shows a flowchart detailing a process responding to a
merchant in accordance with an embodiment of the invention.
[0032] FIG. 16 shows a flowchart detailing a process for responding to
instruction for a recognized merchant in accordance with an embodiment of
the invention.
[0033] FIG. 17 shows a flowchart detailing a process for processing a
customer selection by a merchant in accordance with an embodiment of the
invention.
[0034] FIG. 18 shows a flowchart detailing a process for authenticating a
customer in accordance with an embodiment of the invention.
[0035] 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
[0036] 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.
[0037] The invention provides 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.
[0038] 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.TM. player manufactured by Apple Computer 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.
[0039] 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.
[0040] 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.
[0041] 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.
[0042] 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.11 g 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.
[0043] 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's hands, no reference surface such as a
desktop is needed.
[0044] 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.
[0045] 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.
[0046] 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.
[0047] 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 iPods media player from Apple Computer, 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.
[0048] 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, or 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.
[0049] 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.
[0050] 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.
[0051] 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.
[0052] 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.
[0053] 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.
[0054] 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.
[0055] 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.
[0056] 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.
[0057] 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).
[0058] 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.
[0059] 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.
[0060] 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 the 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.
[0061] 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.
[0062] 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'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.
[0063] 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.
[0064] 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.
[0065] 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.
[0066] 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.
[0067] 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.
[0068] 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.
[0069] 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.
[0070] 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.
[0071] 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.
[0072] 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.
[0073] The invention is 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.
[0074] 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.
[0075] 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.
* * * * *