U.S. patent application number 12/966404 was filed with the patent office on 2011-06-16 for systems and methods for suggesting products for purchase from a retail establishment using a mobile device.
This patent application is currently assigned to AisleBuyer LLC. Invention is credited to Jose H. Mercado, JR., Andrew Paradise, Dan Richard Preston.
Application Number | 20110145051 12/966404 |
Document ID | / |
Family ID | 44143942 |
Filed Date | 2011-06-16 |
United States Patent
Application |
20110145051 |
Kind Code |
A1 |
Paradise; Andrew ; et
al. |
June 16, 2011 |
SYSTEMS AND METHODS FOR SUGGESTING PRODUCTS FOR PURCHASE FROM A
RETAIL ESTABLISHMENT USING A MOBILE DEVICE
Abstract
Techniques for suggesting products for purchase from a retail
establishment using a mobile device allow a user to receive, on the
user's mobile device, product suggestions and offers that are
relevant to one or more products that the user has already scanned
for purchase in the retail establishment, that are relevant to the
user's shopping history, and/or that are relevant to the user's
current location within the retail establishment as measured via
the mobile device. While the mobile device is used to scan products
into an electronic shopping cart, the server may analyze the
current contents of the cart to generate a suggestion or offer for
a product which the user may be likely to decide to purchase. If
the user accepts the product suggestion, the purchase facilitating
server may transact the user's purchase of the suggested product
via the mobile device while the user is within the retail
establishment.
Inventors: |
Paradise; Andrew; (Sudbury,
MA) ; Preston; Dan Richard; (Palo Alto, CA) ;
Mercado, JR.; Jose H.; (Cambridge, MA) |
Assignee: |
AisleBuyer LLC
Boston
MA
|
Family ID: |
44143942 |
Appl. No.: |
12/966404 |
Filed: |
December 13, 2010 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
61286005 |
Dec 13, 2009 |
|
|
|
Current U.S.
Class: |
705/14.25 ;
705/26.41; 705/26.7 |
Current CPC
Class: |
G06Q 30/0623 20130101;
G06Q 30/0224 20130101; G06Q 30/0609 20130101; G06Q 30/0601
20130101; G06Q 30/0631 20130101; G06Q 30/0613 20130101; G06Q
30/0641 20130101; G06Q 30/02 20130101; G07G 1/0081 20130101 |
Class at
Publication: |
705/14.25 ;
705/26.7; 705/26.41 |
International
Class: |
G06Q 30/00 20060101
G06Q030/00 |
Claims
1. A method of suggesting products for purchase by a user of a
mobile device from a retail establishment, the method performed, at
least in part, by a computer system comprising at least one
hardware processor, the method comprising: identifying, based on
identifier information, a first product selected by the user within
the retail establishment; identifying, via the at least one
hardware processor, at least one second product to suggest for
purchase; and transmitting suggestion information to the mobile
device, the suggestion information suggesting the at least one
second product to the user for purchase from the retail
establishment.
2. The method of claim 1, wherein the identifier information is
derived from an image obtained via an image acquisition component
operatively connected to the user's mobile device.
3. The method of claim 1, further comprising: receiving an
indication from the mobile device to purchase the first product
and/or the at least one second product, the indication comprising
payment information for purchasing the first product and/or the at
least one second product; processing at least the payment
information to transact the user's purchase of the first product
and/or the at least one second product; and transmitting to the
mobile device a purchase confirmation indicating that the first
product and/or the at least one second product has been purchased
by the user.
4. The method of claim 1, wherein the at least one second product
is identified based on a bid placed by a seller of the at least one
second product on an association between the first product and the
at least one second product.
5. The method of claim 1, wherein identifying the at least one
second product comprises determining that the first product and the
at least one second product belong to a set of products useful for
a particular purpose, and that the at least one second product has
not yet been selected by the user for purchase.
6. The method of claim 1, wherein the at least one second product
is identified based on one or more users' shopping history in
relation to the first product.
7. The method of claim 1, further comprising: determining a
discount to apply to the user's purchase of the at least one second
product, based on the user's shopping history; and including an
indication of the discount in the suggestion information.
8. The method of claim 1, wherein the at least one second product
is identified based on a location of the user and the mobile device
within the retail establishment.
9. The method of claim 1, further comprising transmitting to the
mobile device an indication of one or more locations within the
retail establishment at which the at least one second product can
be found.
10. The method of claim 1, further comprising: receiving from the
mobile device an image of a bar code taken within the retail
establishment, or a bar code number determined from the image;
determining whether the bar code or the bar code number matches the
at least one second product; and transmitting to the mobile device
an indication of the determination.
11. The method of claim 1, further comprising storing, as part of
the user's shopping history, data indicating whether or not the
user purchases the at least one second product after receiving the
suggestion information.
12. At least one tangible computer-readable storage medium encoded
with a plurality of computer-executable instructions that, when
executed in a computer system comprising at least one hardware
processor, perform a method of suggesting products for purchase by
a user of a mobile device from a retail establishment, the method
comprising: identifying, based on identifier information, a first
product selected by the user within the retail establishment;
identifying at least one second product to suggest for purchase;
and transmitting suggestion information to the mobile device, the
suggestion information suggesting the at least one second product
to the user for purchase from the retail establishment.
13. The at least one computer-readable storage medium of claim 12,
wherein the identifier information is derived from an image
obtained via an image acquisition component operatively connected
to the user's mobile device.
14. The at least one computer-readable storage medium of claim 12,
wherein the method further comprises: receiving an indication from
the mobile device to purchase the first product and/or the at least
one second product, the indication comprising payment information
for purchasing the first product and/or the at least one second
product; processing at least the payment information to transact
the user's purchase of the first product and/or the at least one
second product; and transmitting to the mobile device a purchase
confirmation indicating that the first product and/or the at least
one second product has been purchased by the user.
15. The at least one computer-readable storage medium of claim 12,
wherein the at least one second product is identified based on a
bid placed by a seller of the at least one second product on an
association between the first product and the at least one second
product.
16. The at least one computer-readable storage medium of claim 12,
wherein identifying the at least one second product comprises
determining that the first product and the at least one second
product belong to a set of products useful for a particular
purpose, and that the at least one second product has not yet been
selected by the user for purchase.
17. The at least one computer-readable storage medium of claim 12,
wherein the at least one second product is identified based on one
or more users' shopping history in relation to the first
product.
18. The at least one computer-readable storage medium of claim 12,
wherein the method further comprises: determining a discount to
apply to the user's purchase of the at least one second product,
based on the user's shopping history; and including an indication
of the discount in the suggestion information.
19. The at least one computer-readable storage medium of claim 12,
wherein the at least one second product is identified based on a
location of the user and the mobile device within the retail
establishment.
20. The at least one computer-readable storage medium of claim 12,
wherein the method further comprises transmitting to the mobile
device an indication of one or more locations within the retail
establishment at which the at least one second product can be
found.
21. The at least one computer-readable storage medium of claim 12,
wherein the method further comprises: receiving from the mobile
device an image of a bar code taken within the retail
establishment, or a bar code number determined from the image;
determining whether the bar code or the bar code number matches the
at least one second product; and transmitting to the mobile device
an indication of the determination.
22. The at least one computer-readable storage medium of claim 12,
wherein the method further comprises storing, as part of the user's
shopping history, data indicating whether or not the user purchases
the at least one second product after receiving the suggestion
information.
23. A system comprising: at least one hardware processor; and at
least one memory storing processor-executable instructions that,
when executed by the at least one processor, perform a method of
suggesting products for purchase by a user of a mobile device from
a retail establishment, the method comprising: identifying, based
on identifier information, a first product selected by the user
within the retail establishment; identifying at least one second
product to suggest for purchase, based on an association between
the first product and the at least one second product; and
transmitting suggestion information to the mobile device, the
suggestion information suggesting the at least one second product
to the user for purchase from the retail establishment.
24. The system of claim 23, wherein the identifier information is
derived from an image obtained via an image acquisition component
operatively connected to the user's mobile device.
25. The system of claim 23, wherein the method further comprises:
receiving an indication from the mobile device to purchase the
first product and/or the at least one second product, the
indication comprising payment information for purchasing the first
product and/or the at least one second product; processing at least
the payment information to transact the user's purchase of the
first product and/or the at least one second product; and
transmitting to the mobile device a purchase confirmation
indicating that the first product and/or the at least one second
product has been purchased by the user.
26. The system of claim 23, wherein the at least one second product
is identified based on a bid placed by a seller of the at least one
second product on an association between the first product and the
at least one second product.
27. The system of claim 23, wherein identifying the at least one
second product comprises determining that the first product and the
at least one second product belong to a set of products useful for
a particular purpose, and that the at least one second product has
not yet been selected by the user for purchase.
28. The system of claim 23, wherein the at least one second product
is identified based on one or more users' shopping history in
relation to the first product.
29. The system of claim 23, wherein the method further comprises:
determining a discount to apply to the user's purchase of the at
least one second product, based on the user's shopping history; and
including an indication of the discount in the suggestion
information.
30. The system of claim 23, wherein the at least one second product
is identified based on a location of the user and the mobile device
within the retail establishment.
31. The system of claim 23, wherein the method further comprises
transmitting to the mobile device an indication of one or more
locations within the retail establishment at which the at least one
second product can be found.
32. The system of claim 23, wherein the method further comprises:
receiving from the mobile device an image of a bar code taken
within the retail establishment, or a bar code number determined
from the image; determining whether the bar code or the bar code
number matches the at least one second product; and transmitting to
the mobile device an indication of the determination.
33. The system of claim 23, wherein the method further comprises
storing, as part of the user's shopping history, data indicating
whether or not the user purchases the at least one second product
after receiving the suggestion information.
34. A method performed, at least in part, by a mobile device
comprising at least one hardware processor, the method comprising:
obtaining, via an image acquisition component operatively connected
to the mobile device, an image comprising information that
identifies a first product being offered for sale by a retail
establishment; transmitting the image, or a product identifier
determined from the image, from the mobile device to a purchase
facilitating service provider; receiving at the mobile device, in
response to transmitting the image or product identifier,
suggestion information suggesting at least one second product for
purchase from the retail establishment; and displaying the
suggestion information on a display of the mobile device.
35. At least one tangible computer-readable storage medium encoded
with a plurality of computer-executable instructions that, when
executed in a mobile device comprising at least one hardware
processor, perform a method comprising: obtaining, via an image
acquisition component operatively connected to the mobile device,
an image comprising information that identifies a first product
being offered for sale by a retail establishment; transmitting the
image, or a product identifier determined from the image, from the
mobile device to a purchase facilitating service provider;
receiving at the mobile device, in response to transmitting the
image or product identifier, suggestion information suggesting at
least one second product for purchase from the retail
establishment; and displaying the suggestion information on a
display of the mobile device.
36. A system comprising: at least one hardware processor; and at
least one memory storing processor-executable instructions that,
when executed by the at least one processor, perform a method
comprising: obtaining, via an image acquisition component
operatively connected to a mobile device, an image comprising
information that identifies a first product being offered for sale
by a retail establishment; transmitting the image, or a product
identifier determined from the image, from the mobile device to a
purchase facilitating service provider; receiving at the mobile
device, in response to transmitting the image or product
identifier, suggestion information suggesting at least one second
product for purchase from the retail establishment; and displaying
the suggestion information on a display of the mobile device.
Description
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application claims a priority benefit, under 35 U.S.C.
.sctn.119(e), to U.S. provisional application Ser. No. 61/286,005,
entitled "Systems and Methods for Purchasing Products from a Retail
Establishment Using a Mobile Device", filed Dec. 13, 2009, which is
incorporated herein by reference in its entirety.
BACKGROUND
[0002] Retail merchants selling products at a physical store often
make great efforts to attract larger numbers of customers to the
store, in order to increase sales. Each customer that shops in a
retail store represents a potential purchase, and each purchase
that is actually made increases the sales volume, and thereby the
profits, of the retail merchant. Retail merchants have an incentive
to process as many customer purchase transactions as possible
during a given time frame in order to maximize sales.
[0003] A retail establishment's potential sales are necessarily
limited by the number of customers willing to make purchases at the
store. However, sales can also be limited by the amount of time
required to process customer purchases at the retail
establishment's sales registers. Each customer purchase requires a
certain nontrivial amount of time to complete; for example, in a
typical credit card transaction, a customer places items to be
purchased on the counter, a sales clerk scans each item and totals
the cost on the register, the customer locates a credit card, the
sales clerk swipes the credit card, the payment is processed, the
customer signs a receipt, the sales clerk places the items in bags,
and each of these actions takes time.
[0004] As a result, there is a limit to the number of customer
purchases that can be completed per register, per unit of time in a
retail establishment. If more than that number of customers are in
the store and willing to make purchases, they may have to wait in
line due to backlogs at the registers. This often results in lost
sales, as customers become frustrated in line and decide to leave
the store without making their purchases rather than wait in line.
Merchandise can also easily become misplaced when customers abandon
their items and leave the store without returning the items to
their proper display locations. This creates an additional burden
on the retail establishment to identify misplaced items and return
them to their proper locations.
[0005] Point-of-sale backlogs can also reduce sales by causing
fewer customers to be attracted to shop at the retail
establishment. If customers anticipate frustrating experiences
waiting in long register lines, some may decide against visiting
the store in the first place. This can be a common occurrence
especially at peak shopping times or during special sale events,
for example during holiday seasons. Retail establishments may
organize special sale events and promotions in an effort to attract
large numbers of customers to the store; however, the increased
sales potential offered by such efforts may to be diminished by the
effects of time-consuming point-of-sale procedures.
SUMMARY
[0006] One type of embodiment is directed to a method of
transacting a user's purchase of a product from a retail
establishment, the method performed, at least in part, by a
computer system comprising at least one hardware processor, the
method comprising: receiving, from a mobile device of the user,
identifier information that identifies a product being offered for
sale by a retail establishment, wherein the identifier information
is derived from an image obtained via an image acquisition
component operatively connected to the mobile device of the user,
wherein the image is obtained while the user and the mobile device
are within the retail establishment; accessing product information
for the product; transmitting the product information to the mobile
device; receiving an indication from the mobile device to purchase
the product, the indication comprising payment information for
purchasing the product; processing at least the payment information
via the at least one hardware processor to transact the user's
purchase of the product from the retail establishment; and
transmitting to the mobile device a purchase confirmation
indicating that the product has been purchased from the retail
establishment by the user.
[0007] Another type of embodiment is directed to at least one
tangible computer-readable storage medium encoded with a plurality
of computer-executable instructions that, when executed in a
computer system comprising at least one hardware processor, perform
a method of transacting a user's purchase of a product from a
retail establishment, the method comprising: receiving, from a
mobile device of the user, identifier information that identifies a
product being offered for sale by a retail establishment, wherein
the identifier information is derived from an image obtained via an
image acquisition component operatively connected to the mobile
device of the user, wherein the image is obtained while the user
and the mobile device are within the retail establishment;
accessing product information for the product; transmitting the
product information to the mobile device; receiving an indication
from the mobile device to purchase the product, the indication
comprising payment information for purchasing the product;
processing at least the payment information to transact the user's
purchase of the product from the retail establishment; and
transmitting to the mobile device a purchase confirmation
indicating that the product has been purchased from the retail
establishment by the user.
[0008] Another type of embodiment is directed to a system
comprising: at least one hardware processor; and at least one
memory storing processor-executable instructions that, when
executed by the at least one processor, perform a method of
transacting a user's purchase of a product from a retail
establishment, the method comprising: receiving, from a mobile
device of the user, identifier information that identifies a
product being offered for sale by a retail establishment, wherein
the identifier information is derived from an image obtained via an
image acquisition component operatively connected to the mobile
device of the user, wherein the image is obtained while the user
and the mobile device are within the retail establishment;
accessing product information for the product; transmitting the
product information to the mobile device; receiving an indication
from the mobile device to purchase the product, the indication
comprising payment information for purchasing the product;
processing at least the payment information to transact the user's
purchase of the product from the retail establishment; and
transmitting to the mobile device a purchase confirmation
indicating that the product has been purchased from the retail
establishment by the user.
[0009] Another type of embodiment is directed to a method of
purchasing a product from a retail establishment, the method
performed, at least in part, by a mobile device comprising at least
one hardware processor, the method comprising: obtaining, via an
image acquisition component operatively coupled to the mobile
device, an image comprising information that identifies a product
being offered for sale by a retail establishment; transmitting the
image, or a product identifier determined from the image, from the
mobile device to a purchase facilitating service provider;
receiving at the mobile device, in response to transmitting the
image or product identifier, product information comprising
description and/or price information for the identified product;
displaying the product information on a display of the mobile
device; receiving input from a user of the mobile device, the input
comprising an indication to purchase the product and payment
information for purchasing the product; in response to receiving
the input comprising the indication, transmitting the payment
information from the mobile device to the purchase facilitating
service provider; and receiving at the mobile device, in response
to transmitting the payment information, a purchase confirmation
from the purchase facilitating service provider, the purchase
confirmation indicating that the product has been purchased from
the retail establishment by the user of the mobile device.
[0010] Another type of embodiment is directed to at least one
tangible computer-readable storage medium encoded with a plurality
of computer-executable instructions that, when executed in a mobile
device comprising at least one hardware processor, perform a method
of purchasing a product from a retail establishment, the method
comprising: obtaining, via an image acquisition component
operatively coupled to the mobile device, an image comprising
information that identifies a product being offered for sale by a
retail establishment; transmitting the image, or a product
identifier determined from the image, from the mobile device to a
purchase facilitating service provider; receiving at the mobile
device, in response to transmitting the image or product
identifier, product information comprising description and/or price
information for the identified product; displaying the product
information on a display of the mobile device; receiving input from
a user of the mobile device, the input comprising an indication to
purchase the product and payment information for purchasing the
product; in response to receiving the input comprising the
indication, transmitting the payment information from the mobile
device to the purchase facilitating service provider; and receiving
at the mobile device, in response to transmitting the payment
information, a purchase confirmation from the purchase facilitating
service provider, the purchase confirmation indicating that the
product has been purchased from the retail establishment by the
user of the mobile device.
[0011] Another type of embodiment is directed to a system
comprising: at least one hardware processor; and at least one
memory storing processor-executable instructions that, when
executed by the at least one processor, perform a method of
purchasing a product from a retail establishment, the method
comprising: obtaining, via an image acquisition component
operatively coupled to a mobile device, an image comprising
information that identifies a product being offered for sale by a
retail establishment; transmitting the image, or a product
identifier determined from the image, from the mobile device to a
purchase facilitating service provider; receiving at the mobile
device, in response to transmitting the image or product
identifier, product information comprising description and/or price
information for the identified product; displaying the product
information on a display of the mobile device; receiving input from
a user of the mobile device, the input comprising an indication to
purchase the product and payment information for purchasing the
product; in response to receiving the input comprising the
indication, transmitting the payment information from the mobile
device to the purchase facilitating service provider; and receiving
at the mobile device, in response to transmitting the payment
information, a purchase confirmation from the purchase facilitating
service provider, the purchase confirmation indicating that the
product has been purchased from the retail establishment by the
user of the mobile device.
[0012] Another type of embodiment is directed to a method of
suggesting products for purchase by a user of a mobile device from
a retail establishment, the method performed, at least in part, by
a computer system comprising at least one hardware processor, the
method comprising: identifying, based on identifier information, a
first product selected by the user within the retail establishment;
identifying, via the at least one hardware processor, at least one
second product to suggest for purchase; and transmitting suggestion
information to the mobile device, the suggestion information
suggesting the at least one second product to the user for purchase
from the retail establishment.
[0013] Another type of embodiment is directed to at least one
tangible computer-readable storage medium encoded with a plurality
of computer-executable instructions that, when executed in a
computer system comprising at least one hardware processor, perform
a method of suggesting products for purchase by a user of a mobile
device from a retail establishment, the method comprising:
identifying, based on identifier information, a first product
selected by the user within the retail establishment; identifying
at least one second product to suggest for purchase; and
transmitting suggestion information to the mobile device, the
suggestion information suggesting the at least one second product
to the user for purchase from the retail establishment.
[0014] Another type of embodiment is directed to a system
comprising: at least one hardware processor; and at least one
memory storing processor-executable instructions that, when
executed by the at least one processor, perform a method of
suggesting products for purchase by a user of a mobile device from
a retail establishment, the method comprising: identifying, based
on identifier information, a first product selected by the user
within the retail establishment; identifying at least one second
product to suggest for purchase, based on an association between
the first product and the at least one second product; and
transmitting suggestion information to the mobile device, the
suggestion information suggesting the at least one second product
to the user for purchase from the retail establishment.
[0015] Another type of embodiment is directed to a method
performed, at least in part, by a mobile device comprising at least
one hardware processor, the method comprising: obtaining, via an
image acquisition component operatively connected to the mobile
device, an image comprising information that identifies a first
product being offered for sale by a retail establishment;
transmitting the image, or a product identifier determined from the
image, from the mobile device to a purchase facilitating service
provider; receiving at the mobile device, in response to
transmitting the image or product identifier, suggestion
information suggesting at least one second product for purchase
from the retail establishment; and displaying the suggestion
information on a display of the mobile device.
[0016] Another type of embodiment is directed to at least one
tangible computer-readable storage medium encoded with a plurality
of computer-executable instructions that, when executed in a mobile
device comprising at least one hardware processor, perform a method
comprising: obtaining, via an image acquisition component
operatively connected to the mobile device, an image comprising
information that identifies a first product being offered for sale
by a retail establishment; transmitting the image, or a product
identifier determined from the image, from the mobile device to a
purchase facilitating service provider; receiving at the mobile
device, in response to transmitting the image or product
identifier, suggestion information suggesting at least one second
product for purchase from the retail establishment; and displaying
the suggestion information on a display of the mobile device.
[0017] Another type of embodiment is directed to a system
comprising: at least one hardware processor; and at least one
memory storing processor-executable instructions that, when
executed by the at least one processor, perform a method
comprising: obtaining, via an image acquisition component
operatively connected to a mobile device, an image comprising
information that identifies a first product being offered for sale
by a retail establishment; transmitting the image, or a product
identifier determined from the image, from the mobile device to a
purchase facilitating service provider; receiving at the mobile
device, in response to transmitting the image or product
identifier, suggestion information suggesting at least one second
product for purchase from the retail establishment; and displaying
the suggestion information on a display of the mobile device.
[0018] Another type of embodiment is directed to a method of
transacting a user's purchase of one or more products from a retail
establishment, the method performed, at least in part, by a
computer system comprising at least one hardware processor, the
method comprising: receiving an indication from a mobile device in
the retail establishment to purchase the one or more products from
the retail establishment, the indication comprising payment
information for purchasing the one or more products; processing at
least the payment information via at least one processor to
transact the user's purchase of the one or more products from the
retail establishment; generating a purchase confirmation
identifying the one or more products purchased by the user; and
transmitting the purchase confirmation to a loss prevention device
at the retail establishment.
[0019] Another type of embodiment is directed to at least one
tangible computer-readable storage medium encoded with a plurality
of computer-executable instructions that, when executed, perform a
method of transacting a user's purchase of one or more products
from a retail establishment, the method comprising: receiving an
indication from a mobile device in the retail establishment to
purchase the one or more products from the retail establishment,
the indication comprising payment information for purchasing the
one or more products; processing at least the payment information
to transact the user's purchase of the one or more products from
the retail establishment; generating a purchase confirmation
identifying the one or more products purchased by the user; and
transmitting the purchase confirmation to a loss prevention device
at the retail establishment.
[0020] Another type of embodiment is directed to a system
comprising: at least one hardware processor; and at least one
memory storing processor-executable instructions that, when
executed by the at least one processor, perform a method of
transacting a user's purchase of one or more products from a retail
establishment, the method comprising: receiving an indication from
a mobile device in the retail establishment to purchase the one or
more products from the retail establishment, the indication
comprising payment information for purchasing the one or more
products; processing at least the payment information to transact
the user's purchase of the one or more products from the retail
establishment; generating a purchase confirmation identifying the
one or more products purchased by the user; and transmitting the
purchase confirmation to a loss prevention device at the retail
establishment.
[0021] Another type of embodiment is directed to a method of
purchasing one or more products from a retail establishment, the
method being implemented in part on a mobile device comprising at
least one hardware processor, the method comprising: receiving, at
the mobile device, input from a user of the mobile device, the
input comprising an indication to purchase one or more products and
payment information for purchasing the one or more products;
transmitting the payment information from the mobile device to the
purchase facilitating service provider; receiving at the mobile
device, in response to transmitting the payment information, a
purchase confirmation code from the purchase facilitating service
provider; and communicating the purchase confirmation code to loss
prevention personnel prior to the user removing the one or more
products from the retail establishment.
[0022] Another type of embodiment is directed to at least one
tangible computer-readable storage medium in a mobile device
encoded with a plurality of computer-executable instructions that,
when executed by a processor of the mobile device, perform a method
of purchasing one or more products from a retail establishment, the
method comprising: receiving, at the mobile device, input from a
user of the mobile device, the input comprising an indication to
purchase the one or more products and payment information for
purchasing the one or more products; transmitting the payment
information from the mobile device to the purchase facilitating
service provider; receiving at the mobile device, in response to
transmitting the payment information, a purchase confirmation code
from the purchase facilitating service provider; and communicating
the purchase confirmation code to loss prevention personnel prior
to the user removing the one or more products from the retail
establishment.
[0023] Another type of embodiment is directed to a mobile device
comprising: at least one processor; and at least one memory storing
processor-executable instructions that, when executed by the at
least one processor, perform a method of purchasing one or more
products from a retail establishment, the method comprising:
receiving input from a user of the mobile device, the input
comprising an indication to purchase the one or more products and
payment information for purchasing the one or more products;
transmitting the payment information from the mobile device to the
purchase facilitating service provider; receiving at the mobile
device, in response to transmitting the payment information, a
purchase confirmation code from the purchase facilitating service
provider; and communicating the purchase confirmation code to loss
prevention personnel prior to the user removing the one or more
products from the retail establishment.
BRIEF DESCRIPTION OF DRAWINGS
[0024] The accompanying drawings are not intended to be drawn to
scale. In the drawings, each identical or nearly identical
component that is illustrated in various figures is represented by
a like numeral. For purposes of clarity, not every component may be
labeled in every drawing. In the drawings:
[0025] FIG. 1 is a block diagram illustrating an exemplary system
for purchasing products from a retail establishment using a mobile
device, in accordance with some embodiments of the present
invention;
[0026] FIG. 2 is an illustration of an exemplary decision diagram
for estimating a likelihood of theft associated with a transaction,
in accordance with some embodiments of the present invention;
[0027] FIG. 3A is a block diagram illustrating an exemplary
augmented receipt, in accordance with some embodiments of the
present invention;
[0028] FIG. 3B is a block diagram illustrating an exemplary product
suggestion, in accordance with some embodiments of the present
invention;
[0029] FIGS. 4A and 4B, when connected at the points labeled "A",
form a flowchart illustrating an exemplary process for purchasing
products from a retail establishment using a mobile device, in
accordance with some embodiments of the present invention; and
[0030] FIGS. 5A and 5B are block diagrams illustrating exemplary
architectures for a mobile device and a server, respectively, in
accordance with some embodiments of the present invention.
DETAILED DESCRIPTION
[0031] The inventors have recognized and appreciated that sales
losses due to point-of-sale backlogs may be reduced through
alternate systems and methods for purchasing products from retail
establishments--systems and methods that do not rely on store
personnel to process customer purchases in the conventional manner.
Accordingly, some embodiments of the present invention relate to
techniques by which customers may initiate their own purchase
transactions on mobile devices while shopping in a retail
establishment, without needing to approach a sales register. For
purposes of the present disclosure, the term "retail establishment"
refers to a physical site at which a retail merchant (e.g., an
individual, a group of individuals, or a retail corporation) offers
physical products for sale. A human customer (who may be a user of
a mobile device) may enter a retail establishment, purchase
physical products there, and carry the physical products out of the
retail establishment under the customer's newly established
ownership pursuant to the purchase transaction.
[0032] Some embodiments of the present invention relate to a mobile
device application program that enables a customer to scan items to
be purchased, initiate a purchase of those items, and receive a
receipt confirming the purchase, while the customer navigates the
aisles of the retail establishment. As such, the customer need not
bring items to a register for scanning (by the customer or a store
employee) or payment. In some embodiments, the mobile device
application program can also present offers or suggestions of
products and/or bundles for sale from manufacturers and/or the
retail establishment, which the customer can accept using the
mobile device application program. In some embodiments, the receipt
received at the mobile device as confirmation of the purchase may
be augmented beyond the conventional listing of products purchased
and prices paid. For example, an augmented receipt may include one
or more unique codes and/or visual indicators for communication to
loss prevention personnel to aid in theft prevention.
[0033] FIG. 1 illustrates an exemplary operating environment 100 in
which a mobile device 140 (e.g., a mobile telephone, personal
digital assistant (PDA), or other handheld device) may be used to
purchase a product 120 from a retail establishment, in accordance
with some embodiments of the present invention. As depicted,
operating environment 100 includes a purchase facilitating server
160, an offer server 170 and an inventory server 180. Each of these
servers may be implemented in any suitable way, as aspects of the
present invention are not limited in this respect. In some
embodiments, each server may be implemented as a computer system
including one or more computers or other processing devices (e.g.,
microprocessors) programmed to perform the functions described
herein. However, in some embodiments, functions described by way of
example as being performed by different servers or computer systems
may be integrated into a single computer system, and various
functions described herein may be divided and distributed in any
suitable fashion. The processing devices of purchase facilitating
server 160, offer server 170 and inventory server 180 may be
capable of communicating (i.e., transmitting and receiving) data
with each other through any suitable local and/or long-distance
network connections, as aspects of the present invention are not
limited in this respect. In some embodiments, purchase facilitating
server 160 may be a hardware and software platform of a purchase
facilitating service provider (the purchase facilitating service
provider may be, e.g., a person, corporation or other entity),
while inventory server 180 may be a hardware and software platform
associated with the retail establishment, e.g., for monitoring
inventories of products physically being offered for sale at the
retail establishment. In some embodiments, inventory server 180 may
be associated with only one retail establishment; in other
embodiments, inventory server 180 may be associated with multiple
retail establishments of the same retail corporation, or even with
multiple retail corporations or other retail entities, as aspects
of the present invention are not limited in this respect. In some
embodiments, while inventory server 180 may be associated with any
number of retail establishments, it may maintain separate inventory
records for each retail establishment with which it is
associated.
[0034] Mobile device 140 may be any mobile and/or handheld device
having a processing capability, such as a cellular phone or a PDA.
In some embodiments, mobile device 140 may be operatively connected
to an image acquisition component 150, for example a camera (e.g.,
a digital camera) integrated into the mobile device 140. Image
acquisition component 150 may be any device component capable of
capturing an image of information identifying a product. Such
information may include, for example, an image of a bar code (e.g.,
universal product code (UPC) or European Article Number (EAN) label
130) affixed to product 120, an image of product 120 itself, an
image of all or a portion of the packaging of product 120, or any
other image that includes information identifying the product 120.
In the examples below, label 130 is described as being a UPC bar
code. However, this is merely an example, as label 130 may include
any suitable product identifying number or character sequence
(which may be unencoded and/or may be encoded in any suitable
barcode or encoded in any other suitable way), or other visible
identifier, or may be any other information usable to identify
product 120.
[0035] In some embodiments, when a user of mobile device 140
intends to purchase a product 120 in a retail establishment, the
user may use the image acquisition component 150 of the mobile
device 140 to obtain an image that includes the product's UPC label
130 or other information identifying the product 120. The mobile
device 140 may be programmed with a software application program to
communicate with a purchase facilitating server 160 to transact the
user's purchase of products such as product 120. Such an
application program may be installed on the mobile device in any of
a number of ways, as aspects of the present invention are not
limited in this respect. For example, the user may download the
application program to the mobile device 140 from a website of a
developer of the application, from the purchase facilitating
service provider associated with purchase facilitating server 160,
from the retail establishment, or from any other suitable
source.
[0036] In some embodiments, mobile device 140 may transmit the
image of UPC label 130 to purchase facilitating server 160 through
any suitable network connection(s) by which mobile device 140 and
purchase facilitating server 160 may communicate to exchange data.
In some embodiments, purchase facilitating server 160 may have
access to any of various image recognition processes by which the
UPC code of product 120 may be determined from the image taken of
the UPC label 130. Alternatively or additionally, such image
recognition processes may be accessible by mobile device 140, for
determining a product identifier such as a bar code number from an
image taken of a bar code such as UPC label 130 or other
product-identifying indicia visible on product 120. In some
embodiments, the image taken by the image acquisition component may
be processed at mobile device 140, e.g., as part of execution of
the purchase facilitation application program, to determine a
product identifier (e.g., the UPC bar code number) for product 120
from the image (e.g., of UPC label 130). Mobile device 140 may then
transmit the product identifier, with or without the image itself,
to purchase facilitating server 160, the transmission representing
the user's selection of product 120 for potential purchase from the
retail establishment.
[0037] Mobile device 140 and/or purchase facilitating server 160
may use any suitable image recognition technique(s) to determine a
product identifier from an image of indicia on product 120, as
aspects of the present invention are not limited in this respect.
In some embodiments, such image recognition may involve selecting a
horizontal slice of the image of the bar code (e.g., on UPC label
130), and matching the slice to a valid sequence of digits forming
a bar code (e.g., UPC) number. In some embodiments, image intensity
data from the image slice may be analyzed to determine a sequence
of peaks and valleys representing the alternating black and white
vertical lines of the bar code, and the sequence of peaks and
valleys may be converted to a digit sequence corresponding to the
bar code number. One example of known bar code recognition software
that may be used in some embodiments by mobile device 140 and/or
purchase facilitating server 160 is ZXing ("Zebra Crossing"),
currently available from Google.TM. Code.
[0038] Accordingly, in some embodiments, purchase facilitating
server 160 may receive identifier information (e.g., a bar code
number) from mobile device 140, or may determine the identifier
information by performing image recognition on an image (e.g., of a
bar code) received from mobile device 140. The image may have been
obtained via image acquisition component 140 while mobile device
140 and its user are within the retail establishment, by
photographing product-identifying indicia (e.g., UPC label 130) on
product 120 within the retail establishment. In some embodiments,
purchase facilitating server 160 may also have access to product
information for product 120 through communication with an inventory
server 180. In some embodiments, either purchase facilitating
server 160, inventory server 180 or both may maintain a data set
associating various identifiers (e.g., bar code numbers) for
products offered for sale by the retail establishment with
corresponding product information for those products. By accessing
the data set and looking up the product identifier derived from the
image taken by image acquisition component 150, purchase
facilitating server 160 may identify product 120 as the product
selected by the user of mobile device 140 for potential purchase
from the retail establishment. In some embodiments, purchase
facilitating server 160 may retrieve product information for
product 120 from the data set. Such product information may
include, in some embodiments, the name of product 120, the price of
product 120, a description (e.g., a textual product description) of
product 120, a thumbnail image of product 120 and/or any of a
variety of other types of information about product 120. Purchase
facilitating server 160 may transmit some or all of this product
information to mobile device 140, in response to mobile device
140's transmission of the image and/or product identifier. In some
embodiments, mobile device 140 may then display the product
information to the user on a display component, for the user's
consideration in determining whether or not to purchase product
120. In some embodiments, purchase facilitating server 160 may also
transmit the product identifier (e.g., the bar code number) for
product 120 to mobile device 140, whether or not the product
identifier was previously identified by mobile device 140.
[0039] In some instances, product 120 may be one of multiple
products that the user has selected for potential purchase from the
retail establishment. The user may have performed such selection by
photographing identifying indicia on each product, transmitting
each product image, or corresponding product identifier information
derived therefrom, to purchase facilitating server 160, and
receiving product information for each product in response. In some
embodiments, performing these steps may serve to add each selected
product to an electronic "shopping cart" (e.g., a list of selected
products by bar code number, with corresponding product information
in some embodiments) maintained by the software application on
mobile device 140. In some embodiments, the user may add products
to the electronic cart at any time while within the retail
establishment by photographing identifying indicia (e.g., UPC bar
code labels) on the products to add. In some embodiments, the user
may also remove one or more products from the electronic cart at
any time while within the retail establishment. For example, the
user may select, on a display of mobile device 140, a product in
the electronic cart that the user no longer wishes to purchase, and
may press a key, select a button, or perform any other suitable
user input action to remove the unwanted product from the
electronic cart.
[0040] In some embodiments, the purchase facilitating application
program executing on mobile device 140 may provide an option for
the user to view the current contents of the electronic shopping
cart. When this option is selected through suitable user input, a
list of products currently in the electronic cart, optionally along
with corresponding product information, may be displayed on the
display of mobile device 140 for the user to view. From this
display, the user may be able to remove from the electronic cart
any products that the user no longer wishes to purchase. In some
embodiments, when the user is ready to purchase the products
remaining in the electronic cart, including product 120, the user
can use the application program on the mobile device 140 to
transact the purchase through purchase facilitating server 160. The
user may submit an indication to purchase the products in the
electronic cart, including product 120, through any suitable user
input, for example by selecting a "check-out" button or icon on the
display of mobile device 140.
[0041] When the user elects to "check out" and purchase products
including product 120, in some embodiments mobile device 140 may
transmit payment information to purchase facilitating server 160.
For example, in some embodiments the user may enter credit card
information into a user interface of the mobile device 140, and the
mobile device 140 may transmit the credit card information to the
purchase facilitating server 160 to initiate a purchase of product
120. In other embodiments, the user's credit card information or
other payment information may be pre-stored in mobile device 140,
in an account the user has created with the purchase facilitating
service provider, or in any other suitable location. In such
embodiments, when the user selects "check-out", the pre-stored
payment information may be automatically retrieved from its storage
location and transmitted to purchase facilitating server 160. In
some embodiments, the user may have pre-stored information for
multiple credit cards, debit cards and/or other methods of payment,
and the application program on mobile device 140 may allow the user
to select a method of payment to use during the "check-out"
procedure.
[0042] In some embodiments, purchase facilitating server 160 may
process the payment information received from mobile device 140 to
transact the user's purchase of product 120 (and any other items in
the electronic cart) and generate a purchase confirmation (e.g., a
receipt) confirming the purchase. Such a purchase confirmation
receipt may take any suitable form, as aspects of the present
invention are not limited in this respect. In some embodiments, a
receipt may be a text message or other electronic file or document
listing the names and/or bar code numbers of the products purchased
in the completed transaction. In some embodiments, a receipt may
also include descriptions and/or other information about the
purchased products, thumbnail images of the purchased products,
and/or any other suitable information. In some embodiments, the
receipt may include a unique identifier or code (e.g., a purchase
confirmation code), which may comprise any sequence of alphanumeric
characters and/or symbols, that may be generated by purchase
facilitating server 160 to identify the receipt with the completed
transaction. The purchase confirmation code may visibly appear on
the receipt, or may be electronically encoded within the receipt in
any suitable manner, as aspects of the present invention are not
limited in this respect. In some embodiments, a copy of the
generated receipt, or information included in the generated
receipt, may be stored at purchase facilitating server 160, for
example in one or more computer-readable storage media, for future
use in user profiling, estimating theft likelihoods, determining
product suggestions, etc., examples of which processes are
described below.
[0043] In some embodiments, purchase facilitating server 160 may
transmit the generated receipt to both the mobile device 140 and
the inventory server 180 (and/or another processing device
associated with the retail establishment) to confirm the purchase
to both the user of mobile device 140 and the retail establishment.
In this respect, loss prevention personnel (e.g., a security guard,
another store employee, or any other human verifier) at the retail
establishment may have a device (e.g., a computer, or other
processing device) that receives receipts (i.e., the receipts
generated by purchase facilitating server 160) from purchase
facilitating server 160 and/or inventory server 180 and displays
them to the loss prevention personnel. In some embodiments, the
same receipt may be transmitted to both mobile device 140 and one
or more loss prevention devices manned by loss prevention personnel
at the retail establishment. In other embodiments, the receipts
transmitted to mobile device 140 and to the loss prevention
device(s) may be in different forms, but may identify the same list
of products purchased in the transaction. In some embodiments,
purchase facilitating server 160 may not transmit a full receipt to
mobile device 140, as mobile device 140 may already have stored the
product identifiers and/or product information for the purchased
product, during the processing performed to create and manipulate
the electronic cart prior to the user's actual purchase. In such
embodiments, purchase facilitating server 160 may only transmit
partial data for the receipt to mobile device 140, and mobile
device 140 may generate the full receipt by incorporating data
already locally stored. In some embodiments, purchase facilitating
server 160 may only transmit the purchase confirmation code to
mobile device 140, and mobile device 140 may incorporate the
purchase confirmation code into a receipt otherwise fully generated
at mobile device 140 using locally stored data.
[0044] When the user is ready to leave the physical retail
establishment site with the purchased products including product
120, in some embodiments loss prevention personnel may check the
receipt on the mobile device 140 against the receipt received at
one or more loss prevention devices to validate the purchase and
prevent theft as the user exits the physical establishment. In some
embodiments, the loss prevention personnel may verify that the
purchase confirmation code on the receipt on the mobile device
matches the purchase confirmation code on the receipt received at
the loss prevention device, to verify that the receipt on the
mobile device is genuine. In some embodiments, the same purchase
confirmation code may be sent with the receipt to mobile device 140
and to the loss prevention device. In such embodiments, the two
purchase confirmation codes may need to be identical for the loss
prevention personnel to verify that the receipt on the mobile
device is genuine. However, in other embodiments, identical
purchase confirmation codes may not be transmitted to both mobile
device 140 and the loss prevention device. For example, in some
embodiments the two purchase confirmation codes may be different
sequences with a mathematical or other electronically coded
relationship. In such embodiments, the loss prevention personnel
may electronically confirm the relationship between the codes to
determine that they match. Thus, verification that the receipt on
mobile device 140 is genuine may involve communication of the
purchase confirmation code from mobile device 140 to the loss
prevention personnel (e.g., directly or through the loss prevention
device).
[0045] In some embodiments, the user may communicate the purchase
confirmation code on mobile device 140 to the loss prevention
personnel by physically showing the receipt on the display of
mobile device 140 to the loss prevention personnel, with the
purchase confirmation code displayed as part of the receipt. The
corresponding purchase confirmation code on the loss prevention
device may also be displayed on a display of the loss prevention
device (which in some embodiments may be obscured from the view of
the user of mobile device 140), such that the loss prevention
personnel may visually confirm that the two purchase confirmation
codes (i.e., the code on mobile device 140 and the code on the loss
prevention device) match. In some embodiments, the loss prevention
device may display a list of purchase confirmation codes for
transactions whose purchasers have not yet left the retail
establishment, and the loss prevention personnel may verify that
the purchase confirmation code on mobile device 140 appears on the
list. In other embodiments, the loss prevention personnel may read
the purchase confirmation code on the display of mobile device 140
and enter it into the loss prevention device, such that the loss
prevention device may then automatically determine whether it
matches a valid purchase confirmation code in the loss prevention
device. In yet other embodiments, mobile device 140 may communicate
the purchase confirmation code to the loss prevention device
electronically in any suitable way, such as via short-range
wireless communication. The loss prevention device may then
automatically determine whether the two purchase confirmation codes
match, and may provide an indication of whether they match on the
display of the loss prevention device for the loss prevention
personnel to view. Alternatively or additionally, the loss
prevention device may also display both purchase confirmation
codes, such that the loss prevention personnel can personally
verify whether the codes match. In some embodiments, if the
purchase confirmation code on mobile device 140 does not match a
valid purchase confirmation code received by the loss prevention
device, the loss prevention personnel may take action to initiate a
response procedure for incidents of potential theft. Such a
response procedure may be defined in any suitable way, for example
by management personnel of the retail establishment.
[0046] The inventors have appreciated that, even when a shopper has
a receipt with a valid purchase confirmation code, the user may
nevertheless be attempting to steal items by exiting a store with
items in a physical shopping cart or shopping bag that he and she
did not purchase, along with the items that the shopper did
purchase. Thus, in some situations, it may be desirable for loss
prevention personnel to visually inspect the user's physical
shopping cart or bag(s) to verify that it does not contain any
unpurchased items. As such, the inventors have developed techniques
to notify the loss prevention personnel what degree of
physical/manual inspection of the shopper's items may be warranted.
In some embodiments, purchase facilitating server 160 may further
augment the receipts it generates with a visual indicator of an
estimated likelihood of theft associated with the transaction. Such
a visual indicator may take any suitable form, as aspects of the
present invention are not limited in this respect. Examples of
suitable visual indicators include icons of various shapes and/or
colors, textual indicators, symbols, coloring and/or shading
applied to the entire receipt or to one or more portions of the
receipt, and many others. In some embodiments, the visual indicator
may be color-coded to indicate the estimated likelihood of theft
associated with the transaction. In one example, a green indicator
may indicate a low likelihood of theft, a yellow indicator may
indicate a moderate likelihood of theft, and a red indicator may
indicate a high likelihood of theft. In some embodiments, the
receipt may be augmented with the visual indicator when transmitted
to the loss prevention device at the retail establishment, but not
when transmitted to mobile device 140. As such, the loss prevention
personnel may be alerted to the estimated likelihood of theft
associated with the transaction, without knowledge by the user of
mobile device 140. However, in other embodiments, the augmented
receipt may be transmitted with the same visual indicator to both
the loss prevention device and mobile device 140.
[0047] In some embodiments, the user of mobile device 140 may
interact with loss prevention personnel prior to exiting the retail
establishment in possession of one or more products acquired within
the retail establishment. In some embodiments, the user may be
randomly directed to one of multiple loss prevention devices at
which to interact with loss prevention personnel for receipt
checking. Such randomization may in some embodiments decrease the
likelihood of success of teaming by groups of coordinating
shoplifters. In some embodiments, when purchase facilitating server
160 transmits a purchase confirmation to mobile device 140, it may
also transmit a randomized number or other alphanumeric sequence
corresponding to a number of a loss prevention device in the retail
establishment. This sequence may then be displayed on mobile device
140 to direct the user to the corresponding loss prevention device
to be cleared by loss prevention personnel to exit the retail
establishment. In some embodiments, the sequence may be generated
by purchase facilitating server 160 as a hash of the purchase
confirmation code. In other embodiments, mobile device 140 may
receive a message including a randomized indication to proceed to a
loss prevention device having a particular name, or being
designated by a particular color or symbol. It should be
appreciated that a user of mobile device 140 may be directed to a
loss prevention device in a randomized order as compared to other
users in any suitable way, as aspects of the present invention are
not limited in this respect.
[0048] In some embodiments, the visual indicator generated with the
receipt may provide an indication of the extent to which the loss
prevention personnel should inspect the physical products in the
user's possession that the user intends to remove from the retail
establishment. For example, in some embodiments, a visual indicator
of a low likelihood of theft associated with the transaction (e.g.,
a green indicator) may indicate that the products the user is
removing from the retail establishment need not be checked, or
require only a cursory visual examination. On the other hand, a
visual indicator of a high likelihood of theft (e.g., a red
indicator) may indicate that the loss prevention personnel should
more carefully confirm that each of the products in the user's
possession is listed in the receipt and therefore has been properly
paid for.
[0049] Any suitable number of levels of scrutiny may be indicated
by the indicator. For example, in some embodiments there may be
three degrees of scrutiny indicated respectively by red, green, and
yellow indicators on the receipt. In some embodiments, there may be
only two degrees of scrutiny, while in other embodiments, there may
be four or more degrees of scrutiny that may be indicated by the
visual indicator.
[0050] In some embodiments, a visual indicator of a high likelihood
of theft may require the loss prevention personnel to use
electronic devices to inspect the products in the user's
possession; e.g., by scanning each product in the user's physical
shopping cart with a bar code scanner connected to the loss
prevention device, thus allowing the loss prevention device to
automatically confirm whether each product appears in the receipt.
In some embodiments, visual indicators may be associated with
individual products in the receipt on the loss prevention device,
to instruct the loss prevention personnel to inspect certain items
in the user's physical cart with greater care than other items. For
instance, it may be desirable to inspect high-value products such
as televisions more readily than lower-value products, for example
to make sure that the user did not scan and purchase a lower-price
television and then attempt to leave the store with a higher-price
television instead.
[0051] In some embodiments, purchase facilitating server 160 may
estimate a likelihood of theft associated with a current
transaction, for use in assigning a visual indicator to the
corresponding receipt, through a statistical analysis of various
data collected by purchase facilitating server 160. In some
embodiments, such data may include profiling information for the
user of mobile device 140 and/or other users who have interacted
with services provided by purchase facilitating server 160. For
example, in some embodiments, purchase facilitating server 160 may
estimate a likelihood of theft associated with the current
transaction based at least in part on profiling information such as
a history of the user of mobile device 140 passing or failing
receipt inspections by loss prevention personnel in retail
establishments in the past. For instance, if the user has had
previous incidents in which the user has shown loss prevention
personnel a receipt on a mobile device that did not match any valid
receipt on the loss prevention device, or in which the user has
attempted to remove products from a retail establishment that were
not properly purchased and represented on a valid receipt, these
past incidents may increase the estimated likelihood of theft
associated with the user's current transaction. In some
embodiments, to have such a history available for use in estimating
theft likelihood in future transactions, purchase facilitating
server 160 may receive reports from the retail establishment as to
results of receipt verification by loss prevention personnel, and
may store such reports as part of profiling information for
individual users.
[0052] In some embodiments, purchase facilitating server 160 may
estimate a likelihood of theft based at least in part on the
products themselves that are being purchased in the current
transaction. For example, if the user of mobile device 140 has had
a very consistent past purchase history (e.g., predictably
purchasing similar products repeatedly), and now is transacting a
purchase that deviates from that past purchase history (e.g.,
purchasing one or more significantly different products that the
user has rarely or never purchased before), the estimated
likelihood of theft associated with the current transaction may be
increased. In some other embodiments, a likelihood of theft may be
estimated based solely on the products being purchased, without
reference to profiling information for the user. For example,
purchase facilitating server 160 may determine, from past records
of products in transactions and results of corresponding
interactions with loss prevention personnel, that certain
combinations of products in transactions may statistically have a
higher association with theft than other combinations of products.
Thus, if the current transaction includes one or more products
that, alone or in combination, are statistically associated with
theft, the estimated likelihood of theft associated with the
current transaction may be increased.
[0053] In some embodiments, purchase facilitating server 160 may
estimate a likelihood of theft based at least in part on the user's
actions while in the retail establishment, as determined through
information received from mobile device 140. For example, mobile
device 140 may have a geographic self-locating capability, such as
a Geographic Positioning System (GPS), receiver or other location
system and may in some embodiments transmit its location
information to purchase facilitating server 160 at various times to
receive services from purchase facilitating server 160. For
example, when a user selects a product for potential purchase by
photographing a bar code on the product, mobile device 140 may in
some embodiments transmit its geographic location to purchase
facilitating server 160 along with the image and/or product
identifier, such that purchase facilitating server 160 can identify
the correct retail establishment (e.g., the retail establishment in
which the mobile device and its user currently are located) with
which to transact the purchase. In some embodiments, the location
of mobile device 140 may also be communicated to purchase
facilitating server 160 by one or more cellular base stations
and/or wireless network access points in the vicinity of mobile
device 140, that are receiving a nearby communications signal from
mobile device 140. In another example, when the user first enters a
retail establishment, in some embodiments mobile device 140 may
transmit its geographic location, as determined by GPS or by
triangulation from nearby signal receivers, to purchase
facilitating server 160 so that purchase facilitating server 160
can identify the retail establishment and transmit to mobile device
140 information about sales or other promotions currently available
at that retail establishment. In some embodiments, from such
location information received from mobile device 140, purchase
facilitating server 160 may be able to calculate the length of time
that mobile device 140 (and thus, its user) have spent within the
retail establishment prior to transacting the current purchase. In
some embodiments, such information may be considered as an
indicator of theft potential, as a user who spends a long time in a
retail establishment, considering many options, may in some cases
be considered unlikely to be shoplifting. In some embodiments, such
a determination may also be made based at least in part on the
level of interaction between the user and mobile device 140 while
within the retail establishment, such as comparing products and
considering product suggestions, as these activities may be
indicative of a low likelihood of theft. In some embodiments, the
geographic location of the retail establishment itself may also be
considered by purchase facilitating server 160 in its estimate, as
some locations may be more prone to theft or to crime in general
than are other locations. In some cases, likelihood of theft may
also vary in relation to the geographic distance between the retail
establishment and the user's home.
[0054] It should be appreciated that any suitable data may be
considered by purchase facilitating server 160 in estimating a
likelihood of theft associated with a current transaction, as
aspects of the present invention are not limited in this respect.
In addition to the examples described above, other examples of
information that may factor into such an estimate include, but are
not limited to, monetary values of products listed in the receipt,
either in isolation or in relation to monetary values of other
products listed in the receipt, retail establishments the user has
visited in the past, number of visits the user has made to
different retail establishments, the user's demographic
information, including gender and age, the length of time the user
has had an account with the purchase facilitating service provider,
the model of the user's mobile device, records of the user's past
purchases, including specific products, categories of products,
prices of products, and/or where the products were purchased,
average amount the user spends in a single visit to a retail
establishment, and/or average amount of time other users spend in
the current retail establishment, etc.
[0055] In some embodiments, purchase facilitating server 160 may
include any or all of the above-mentioned information, and/or any
other suitable information, in its estimation of the likelihood of
theft associated with the current transaction. In some embodiments,
purchase facilitating server 160 may perform processing to input
values for such multiple parameters into a statistical model that
generates a likelihood value based on the input. Any suitable
statistical model may be used, as aspects of the present invention
are not limited in this respect. Examples of suitable types of
models include decision trees, Bayesian networks, and clustering
algorithms such as k-means clustering.
[0056] FIG. 2 illustrates one example of a statistical model in the
form of a decision diagram that may be used in some embodiments by
purchase facilitating server 160 to estimate a likelihood of theft
for a current transaction. It should be appreciated that the
decision diagram depicted in FIG. 2 is merely one example, as
aspects of the present invention are not limited to any particular
statistical model used to estimate a likelihood of theft. With
reference to this particular example, the decision diagram
illustrated in FIG. 2 includes nodes (depicted as ovals) and
transitions or "edges" (depicted as arrows). Through the edges of
the decision diagram, certain nodes lead to other nodes, and all
paths through the nodes eventually lead to one of a set of visual
indicators of estimated likelihood of theft (in this case, a green
risk badge, a yellow risk badge, or a red risk badge).
[0057] In the example decision diagram of FIG. 2, some nodes do not
have other nodes that lead to them. These nodes are the input nodes
to the decision diagram. In this example, the input nodes represent
different items of information that may be collected by purchase
facilitating server 160 and input to the decision diagram to
determine an estimated likelihood of theft for the current
transaction. In this example, the set of input nodes includes an
"average store price" node, a "store type" node, a "store location"
node, an "item A popularity" node, an "item B popularity" node, a
"similar users" node, a "user typical volume" node, a "gender"
node, an "age" node, an "account age" node, and a "total price"
node. In this example, the "average store price" represents the
average price, across users, of an entire purchase (e.g., an entire
electronic or physical shopping cart of products purchased) at the
retail establishment in which the current transaction takes place.
The "store type" represents a category of the retail establishment,
such as an "electronics" store, a "grocery" store, or a particular
large retail chain. The "store location" represents the town or
neighborhood in which the retail establishment is located. The
"item popularity" nodes represent a frequency with which one or
more products in the current transaction's shopping cart have been
purchased in the past, across users and retail establishments. The
"similar users" node represents a vector of risk scores of a number
of other users that are similar to the current user in terms of
purchasing history. The "user typical volume" node represents the
average number of products that the current user purchases in a
single visit to any retail establishment. The "gender" node
represents the current user's gender (e.g., qualitatively expressed
as "male" or "female"). The "age" node represents the current
user's age in years. The "account age" node represents the length
of time that the current user has had an account with the purchase
facilitating software application. Finally, the "total price" node
represents the total monetary amount purchased in the current
transaction.
[0058] Some of these input nodes lead to particular intermediate
nodes, representing intermediate categories of information useful
for grouping data relevant to likelihood of theft. In this example,
the intermediate nodes include a "store model" node, a "cart
popularity model" node, a "purchase volume model" node, and a "user
model" node. For example, the "average store price" node, the
"store type" node and the "store location" node feed into the
"store model" node to create a model of the way in which an
estimated likelihood of theft can be dependent upon aspects of the
particular retail establishment in which the current transaction
takes place. On the other hand, the "gender" node, the "age" node
and the "account age" node are characteristics of the user of the
mobile device performing the current transaction, and therefore
feed into and define a "user model" node to model the dependencies
of the estimated likelihood of theft on aspects of the user.
[0059] In this example, the weights on the edges leading from input
nodes to intermediate nodes determine the amount of contribution
that each input node factor has on the overall intermediate node
model. For example, the weight on the edge leading from the "store
type" input node to the "store model" intermediate node is 0.91,
while the weight on the edge leading from the "store location"
input node to the "store model" intermediate node is 0.10. This
indicates, in this example, that "store type" information has a
greater contribution to the part of the estimated likelihood of
theft accounted for by the "store model" than "store location"
information does. On the other hand, "gender", "age" and "account
age" information all contribute equally to the "user model", as the
weights on the edges from each of those three nodes are equally
0.2.
[0060] In the example decision diagram of FIG. 2, all paths from
input and intermediate nodes eventually lead to a central "risk
level" node, at which all of the information represented by the
various input nodes is combined together in an overall model. In
this example, when the estimated likelihood of theft at the "risk
level" node evaluates to less than 0.33, purchase facilitating
server 160 generates a green risk badge (e.g., low estimated
likelihood of theft) as the visual indicator for the purchase
confirmation to be sent to mobile device 140. When the estimated
likelihood of theft at the "risk level" node evaluates to between
0.33 and 0.66, a yellow risk badge is generated (e.g., moderate
estimated likelihood of theft); and when the estimated likelihood
of theft evaluates to between 0.66 and 1.0, a red risk badge is
generated (e.g., high estimated likelihood of theft).
[0061] In this example, each input node may give rise to a
numerical value, i.e., a "node weight", based on how that node
evaluates for the characteristics of the current transaction. For
input nodes that are defined in terms of qualitative categories, a
particular node weight may be assigned to each category, and the
input node may evaluate to one of the node weights depending on
which category is associated with the current transaction. For
example, the "gender" input node may have two categories, "male"
and "female". In one example, the "male" category may have an
associated node weight of 0.6 while the "female" category may have
an associated node weight of 0.4, indicating that a user being male
is a factor that may increase the estimated likelihood of theft
more than a user being female. For a current transaction by a male
user, then, the "gender" input node may evaluate to 0.6. This node
weight may then be multiplied by the corresponding edge weight
(0.2) when feeding into the "user model" intermediate node. Node
weights from the "age" and "account age" input nodes may also be
multiplied by their respective edge weights and fed into the "user
model" intermediate node, at which the fed-in values may all be
multiplied together to yield a "user model" node weight. This node
weight may then be multiplied by the edge weight feeding into the
"risk level" node (0.3).
[0062] For input nodes that are defined in terms of continuous
quantitative values, node weights may be evaluated in terms of a
continuous distribution relating the quantitative value to a node
weight value. For example, the "total price" input node may be
defined in terms of a distribution with shopping cart prices on its
x-axis and corresponding node weights on its y-axis. When
estimating a likelihood of theft for a current transaction of a
particular total price, the distribution may be evaluated at that
total price to determine a value for the "total price" node weight.
That value may then be multiplied by the corresponding edge weight
(0.65) and fed into the "risk level" node.
[0063] When all input nodes and intermediate nodes in this example
have been evaluated to determine node weights, and the node weights
multiplied by their corresponding edge weights have all been fed
into the "risk level" node, the resulting values received at the
"risk level" node may be multiplied together to compute an overall
estimated likelihood of theft for the current transaction. As
discussed above, this overall value may then be mapped into one of
a set of categories to generate an appropriate visual indicator for
the receipt to be transmitted from purchase facilitating server
160. Again, it should be appreciated that the decision diagram
depicted in FIG. 2 is merely one example. Any suitable technique
for estimating a likelihood of theft for the current transaction
based on information collected by purchase facilitating server 160
may be used, as aspects of the present invention are not limited in
this respect.
[0064] In some embodiments, an estimated likelihood of theft for
the current transaction may determine whether the purchase
confirmation code should be regenerated for the receipt after the
user's physical cart is cleared by loss prevention personnel. For
instance, if an unscrupulous user were to transact a purchase on
his mobile device, and then allow his friend to take a photograph
of his receipt, such that both users ended up with the same valid
receipt and purchase confirmation code on their mobile devices, the
friends could attempt to exit the retail establishment with two
identical products, only one of which has been paid for.
Regenerating the purchase confirmation code in some embodiments
could prevent such an occurrence. In some embodiments, after a
valid receipt is cleared by loss prevention personnel, purchase
facilitating server 160 may generate a new replacement purchase
confirmation code, and may transmit the replacement purchase
confirmation code to the mobile device from which the purchase was
transacted. Such regeneration of the purchase confirmation code may
in some embodiments cause the original purchase confirmation code
for the receipt to become invalid. The shoplifting friend may then
be left with a photograph of a receipt with a now-invalid purchase
confirmation code. When the loss prevention personnel looks up the
invalid purchase confirmation code via the loss prevention device
and does not find a match, the attempted theft and fraud may be
exposed.
[0065] In some embodiments, as discussed above, regeneration of the
purchase confirmation code may be triggered by an estimated
likelihood of theft associated with the current transaction. In
other embodiments, however, purchase confirmation codes may be
regenerated for all transactions, regardless of their estimated
likelihood of theft. In some embodiments, loss prevention personnel
may also request code regeneration for a particular receipt, for
example by transmitting such a request to purchase facilitating
server 160 through the network connection from the loss prevention
device. In some instances, loss prevention personnel may request
such code regeneration in response to their own observations,
suspicions or intuitions from observing the behavior of users at
the retail establishment. In some embodiments, a user with a
legitimate purchase, whose purchase confirmation code has been
regenerated after being cleared by loss prevention personnel, may
store the receipt with the replacement purchase confirmation code
on his mobile device, such that it can be produced in the event
that any of the purchased products need to be returned. During the
return, in some embodiments store personnel may access the receipt
with the replacement purchase confirmation code from purchase
facilitating server 160 and confirm that it matches the receipt on
the mobile device.
[0066] FIG. 3A illustrates an exemplary purchase confirmation that
may be generated by purchase facilitating server 160 and
transmitted to one or more loss prevention devices and/or to mobile
device 140 as an augmented receipt 400. Purchase confirmations may
take any suitable form, as aspects of the present invention are not
limited in this respect. As discussed above, in some embodiments, a
receipt may be a text message or other electronic file or document
identifying the one or more products that were purchased by the
user via mobile device 140 in the retail establishment in the
corresponding transaction. In some embodiments, the purchased
products may be listed in the receipt by name and/or bar code
number. In some embodiments, a purchase confirmation such as
augmented receipt 400 may be received and displayed on mobile
device 140 and/or on a loss prevention device operated by loss
prevention personnel of the retail establishment.
[0067] As depicted, augmented receipt 400 includes some information
conventionally included on receipts from retail establishments. For
example, augmented receipt 400 lists, at the top left, the name of
the retail establishment or its associated retail merchant
("Awesome Electronics, Inc."), as well as the date and time that
the transaction was processed (Dec. 13, 2010 at 12:00 pm). For each
product purchased in the transaction, augmented receipt 400 lists,
in the body of the document, the name of the product and its price.
In this case, the user purchased a compact disc (CD) for $15.99, a
digital versatile disc (DVD) for $24.99, and a high definition
television (HDTV) for $1,299.99. Augmented receipt 400 also lists,
at the bottom, the purchase subtotal ($1,340.97, the to sum of the
individual prices of the purchased products), the sales tax applied
($83.81), and the total monetary amount transacted ($1,424.78, the
sum of the subtotal and the tax).
[0068] In addition, augmented receipt 400 lists a purchase
confirmation code (557892) for the transaction. As discussed above,
such a purchase confirmation code may be of any suitable form, such
as any suitable sequence of numbers, letters and/or other
characters and/or symbols. In some embodiments, a purchase
confirmation code may be a unique identifier for a receipt and its
associated transaction, and loss prevention personnel may check the
purchase confirmation code on augmented receipt 400 to confirm that
it matches between mobile device 140 and the loss prevention
device. Also, in some embodiments, a receipt's purchase
confirmation code may be regenerated after the user is cleared by
loss prevention personnel, as discussed above.
[0069] Augmented receipt 400 also includes an overall visual
indicator 410 indicative of an estimated likelihood of theft
associated with the transaction represented by augmented receipt
400. On augmented receipt 400, visual indicator 410 is depicted as
a circle; however, it should be appreciated that this is merely one
example of a suitable visual indicator. Visual indicators may take
any suitable form, including a variety of shapes, colors, shadings,
patterns, icons, graphics, text, symbols, and/or other indicator
types, as aspects of the present invention are not limited in this
respect. In some embodiments, visual indicators such as visual
indicator 410 may be color coded to represent various levels of
estimated likelihood of theft. In some embodiments, loss prevention
personnel may take note of visual indicator 410 on augmented
receipt 400 to determine to what extent the products in the user's
physical cart should be inspected to make sure that they match the
list of products on augmented receipt 400.
[0070] Exemplary augmented receipt 400 also includes another visual
indicator 420 associated with a particular product listed on
augmented receipt 400, in this case the HDTV. As discussed above,
in some embodiments, particular individual products, for instance
products of high value, may be specifically flagged with a visual
indicator to instruct loss prevention personnel to inspect those
specific products with increased vigilance. In this example, the
HDTV may have been flagged with visual indicator 420 because it is
much higher in price and/or value than the other two products
listed on augmented receipt 400, and it may be particularly
important for the loss prevention personnel to confirm that the
corresponding item in the user's physical cart is indeed the same
product that was legitimately purchased and reflected on augmented
receipt 400. In some embodiments, product-specific visual
indicators such as visual indicator 420 may be of similar form to
overall visual indicators such as visual indicator 410. In one
example, a green-yellow-red color coding scheme as discussed above
may be used to signify different extents to which overall shopping
carts should be inspected, and may also be used to signify
different extents to which individual items should be inspected.
However, in some embodiments, a product-specific visual indicator
such as visual indicator 420 need not be of the exact same color
and/or form as the overall visual indicator on the same augmented
receipt, such as visual indicator 410 on augmented receipt 400. For
instance, in one example, overall visual indicator 410 may be
yellow to indicate that some, but not all, items in the user's
physical cart should be inspected; whereas specific visual
indicator 420 may be red to indicate that the HDTV should be
inspected with great care. However, it should be appreciated that
the form of specific visual indicators may have any suitable
relationship to the form of overall visual indicators, including no
relationship at all, as aspects of the present invention are not
limited in this respect.
[0071] Furthermore, it should be appreciated that augmented receipt
400 is merely one example of an augmented receipt that may be
generated in accordance with some embodiments of the present
invention. Augmented receipts are not limited to inclusion of any
of the information, text, graphics, visual indicators, or other
items depicted on augmented receipt 400; neither are augmented
receipts limited to the specific wording of items depicted on
augmented receipt 400. Also, any other suitable items not depicted
in augmented receipt 400 may be added in some embodiments to an
augmented receipt, as aspects of the present invention are not
limited in this respect. In addition, it should be appreciated that
an augmented receipt such as exemplary augmented receipt 400 need
not be represented in the same form on all devices in the system or
at all times when it is used and/or viewed. For example, as
discussed above, in some embodiments purchase facilitating server
160 may transmit an augmented receipt in different forms to a
user's mobile device and to devices at the retail
establishment.
[0072] The inventors have appreciated that when a shopper uses his
mobile phone or other mobile device to obtain product information
and/or to purchase products while in a retail establishment, an
opportunity is presented to offer product suggestions or offers to
the shopper based on the items that the user has viewed/scanned,
selected for purchase, and/or purchased, and/or to customize offers
or product suggestions for individual shoppers based on other
information about the shopper. This gives retail establishments an
opportunity to increase sales by offering shoppers add-on products
or other products that the shopper likely may be interested in. In
some embodiments, purchase facilitating server 160 may be in
communication with an offer server 170, in which various offers
from manufacturers and/or retailers may be stored in association
with products offered for sale by the retail establishment.
Although purchase facilitating server 160 and offer server 170 are
depicted as separate servers in the exemplary operating environment
illustrated in FIG. 1, it should be appreciated that the
functionality of purchase facilitating server 160 and offer server
170 may also be integrated together on one server or other
computing device, as aspects of the present invention are not
limited in this respect. In some embodiments, a manufacturer or
retailer may purchase or bid on offer space on offer server 170 so
that an offer from the manufacturer may be displayed to the user
when the user scans the UPC label 130 of the associated product. In
some embodiments, when purchase facilitating server 160 receives
the image of UPC label 130 (or the corresponding product
identifier) from mobile device 140, it may retrieve an offer
associated with product 120 from offer server 170. Purchase
facilitating server 160 may transmit this offer in addition to the
product information for product 120 to mobile device 140, such that
the offer may be displayed to the user on a display of mobile
device 140. If the user decides to accept the offer, purchase
facilitating server 160 may transact the user's purchase of the
products offered in the offer and include those products in the
receipt transmitted to the mobile device 140 and the inventory
server 180. If the offer is to replace product 120 with a different
product being suggested, the user's acceptance of the offer may
cause product 120 to be removed from the user's electronic cart,
and replaced by the suggested product.
[0073] In some embodiments, offer server 170 may store, in one or
more computer-readable storage media, a data set listing, for each
of one or more products offered for sale by the retail
establishment, one or more offers that could be triggered by the
user's selection of that product via mobile device 140. In some
embodiments, each offer associated in the data set with a
triggering product may also have a corresponding bid listed in the
data set. In some embodiments, the bid for an offer may represent
an amount that the supplier of that offer (e.g., a manufacturer or
retailer of a product being suggested by the offer) will pay if the
offer is selected to be transmitted to mobile device 140 in
response to the user's selection of the triggering product for
potential purchase. In some embodiments, when the user makes such a
selection of the triggering product, purchase facilitating server
160 may look up the triggering product in the data set of offer
server 170, and may retrieve the offer with the current highest bid
associated with the triggering product. This offer may then be
transmitted to mobile device 140 for the user's consideration.
[0074] Offers may be of any suitable form, as aspects of the
present invention are not limited in this respect. In some
embodiments, an offer may be a textual message capable of being
displayed to the user upon being transmitted to mobile device 140.
In some embodiments, an offer may also include one or more images,
such as thumbnails, of one or more products being suggested by the
offer, and/or may include any other suitable visible items, as
aspects of the present invention are not limited in this respect.
In some embodiments, the text and/or graphics of an offer may be
created by the manufacturer, retailer, advertiser or other entity
who supplies the offer to offer server 170. In this respect, in
some embodiments offer server 170 may receive offer data through a
web interface with which manufacturers, retailers and other offer
suppliers may interact. In some embodiments, such a web interface
may allow offer suppliers, through network connections from their
own computing devices, to create text and/or graphics for an offer,
submit a bid for the offer on one or more triggering products,
and/or specify other preferences such as a particular type of user
to which they would like the offer to be sent (e.g., a user new to
the retail establishment, a user of a certain age or gender, etc.),
a particular time of day or day of the week in which they would
like the offer to be sent, etc.
[0075] One example of a type of offer that may be found on offer
server 170 is an upselling offer for a product that competes with
the product triggering the offer. For example, a television
manufacturer may create an offer suggesting the purchase of a
television at a certain price, and could list that offer on offer
server 170 with another manufacturer's more expensive television as
a triggering product. Then, when a user scans the more expensive
television for potential purchase (e.g., via image recognition of
the television's bar code), if the offer for the cheaper competing
television has the highest bid, it may be transmitted to the user's
mobile device. If the user then accepts the offer through any
suitable user input, the product identifier for the more expensive
television may be removed from the user's electronic cart and
replaced by the product identifier for the competing television
from the offer.
[0076] Another type of offer is a bundling offer for a product that
complements the product triggering the offer. For example, a
manufacturer of memory cards may bid to have its offer displayed to
users purchasing digital cameras. When a user scans a digital
camera for potential purchase, the manufacturer's offer could be
transmitted to the user's mobile device as a suggestion that the
memory card would be a useful accessory. If the user accepts the
offer, the product identifier for the memory card may be added to
the user's electronic cart. In the case of such a bundling offer,
in some embodiments the original scanned product identifier (e.g.,
the bar code number for the digital camera) may not be removed from
the electronic cart unless the user requests it. Both the
triggering product and the suggested product may be listed in the
electronic cart together, as they are meant to bundle with and
complement each other, and do not compete with each other.
[0077] In some embodiments, one or more offers to be displayed on a
user's mobile device in response to the scanning of a triggering
product may not be selected based solely on the bids associated
with the offers, but may alternatively or additionally be selected
based on an estimation of which offer may be most attractive to the
user in question. In some embodiments, purchase facilitating server
160 may make such an estimation using stored data indicating which
offers were accepted by which users in the past. Based on the
current user's past purchase history and/or stored profiling
information, in some embodiments purchase facilitating server 160
may determine a class of users to which the current user is most
similar, and may select an offer to transmit to the current user
based at least in part on the offers that users of that class have
accepted in the past.
[0078] In some embodiments, other types of product suggestions may
be made to users via their mobile devices, without reference to
specific offers provided in relation to specific triggering
products. For instance, in some embodiments, purchase facilitating
server 160 may make product suggestions based on one or more items
that the user has already scanned for potential purchase from the
retail establishment, by formulating a hypothesis as to a specific
purpose for which the user is purchasing those items. In some
embodiments, purchase facilitating server 160 may formulate such a
hypothesis by matching one or more products in the user's
electronic cart with a known set of products that is useful for
that particular purpose, and that includes one or more products
that the user has not yet scanned. Some examples of sets of
products that are useful for such a particular purpose may include,
but are not limited to, a set of ingredients listed in a cooking
recipe, a set of tools and/or materials useful for a particular
home improvement project or do-it-yourself task, a complete set of
items requested in a gift registry, etc. In one example, for
instance, once a user has added carrots, flour, sugar and eggs to
her electronic cart within a grocery store, purchase facilitating
server 160 may determine that it is likely that the user is
collecting ingredients in a recipe for making carrot cake, and may
transmit a product suggestion to the user's mobile device to remind
her to also purchase baking soda as part of the recipe.
[0079] In some embodiments, purchase facilitating server 160 may
make such product suggestions with reference to a data set of
various known sets of products, being offered for sale by retail
establishments, with the members of each set being useful together
for a particular purpose, such as a recipe or do-it-yourself kit.
The data set may be stored within purchase facilitating server 160,
within offer server 170, and/or in one or more other
computer-readable storage media separately accessible to purchase
facilitating server 160. Such a data set, or another separate data
set, may also store past purchase data of one or more users, to aid
in determining one or more best matches between products currently
scanned in a user's electronic cart and one or more established
product sets stored in the data set.
[0080] In some embodiments, products currently in the user's
electronic cart may be matched to a known product list based at
least in part on the user's own past purchase history. For example,
if the user has purchased a similar collection of products fitting
the carrot cake recipe in the past, purchase facilitating server
160 may with high confidence match the user's current incomplete
electronic cart to the appropriate product set for the recipe, and
may provide product suggestions for the remaining products in the
recipe. In some embodiments, information such as the order in which
the user has previously selected items within the retail
establishment for purchase, product offers the user has considered
while shopping in the past, products the user has actually
purchased in the past, the number of previous times the user has
visited the retail establishment, the frequency of the user's
visits to the retail establishment, the total monetary amount and
average monetary amounts of the user's past purchases, etc.
(collectively, the user's "shopping history"), may be used in
predicting product suggestions that the user is likely to accept in
the current shopping visit. Also, in some embodiments, the contents
of the user's electronic cart may be matched to one or more product
lists based at least in part on statistical data gathered from
other users' past purchases. For example, if the current user's
electronic cart contains three products, and a large percentage of
past users who purchased those three products also purchased a
particular fourth product within the same visit to a retail
establishment, then purchase facilitating server 160 may suggest
that fourth product to the current user. In some embodiments,
purchase facilitating server 160 may compare profiling information
for the current user to that of other users to determine a class of
user to which the current user belongs, and may formulate product
suggestions with reference to statistical data taken from that
class of user. In some embodiments, one or more statistical models
(some exemplary types of which were given above) may be trained on
available profiling information and past purchase history to
determine likely matches between known product sets and the user's
current electronic cart.
[0081] In some embodiments, purchase facilitating server 160 may
use user feedback to refine the matches it makes between users'
incomplete electronic shopping carts and known sets of products
useful for particular purposes. For example, when purchase
facilitating server 160 determines that the current user may be
collecting ingredients for a carrot cake recipe, in some
embodiments purchase facilitating server 160 may transmit to the
user's mobile device a query inviting confirmation, such as, "It
looks like you are collecting ingredients for a carrot cake. Would
you like help?" Such a query may be displayed on the user's mobile
device in the form of a text message, a pop-up window, or in any
other suitable form. If the user selects, "Yes," then the recipe
hypothesis may be confirmed, and the association between the
current contents of the user's electronic cart and the carrot cake
recipe may be strengthened in the appropriate statistical models
and data sets for use in determining future product suggestions.
Also, in some embodiments, purchase facilitating server 160 may
transmit product suggestions to the mobile device, for one or more
products in the carrot cake recipe that are not currently in the
electronic cart. In some embodiments, if the user accepts any of
the product suggestions, the corresponding product identifiers may
be added to the user's electronic cart.
[0082] In other embodiments, user feedback may be obtained through
different types of prompts and interactions via the user's mobile
device. For example, if purchase facilitating server 160 determines
from a user's current electronic cart contents that it is likely
the user is collecting ingredients either to make biscuits or to
make dinner rolls, purchase facilitating server 160 may then in
some embodiments transmit multiple discriminating product
suggestions to the user's mobile device. An example of such product
suggestions might be, "If you are planning to make biscuits, buy
shortening. If you are planning to make dinner rolls, buy yeast."
By observing which product suggestion the user accepts or follows,
the statistical data for the winning association may then be
strengthened for future matches. In another example, purchase
facilitating server 160 might simply transmit one product
suggestion in accordance with the most likely hypothesis of a
product set matching the user's electronic cart, and subsequent
data as to whether the user accepts or rejects the product
suggestion may be used to refine future matches.
[0083] In the examples above, recipes are used as examples of known
lists of products to which items in a user's electronic cart are
prepared. However, this technique may be applied to any of a
variety of types of lists of items including, for example, lists of
items for home improvement projects, lists of items for building an
electronic system (e.g., a home theater system), or lists of items
for any other project or task.
[0084] In some embodiments, when an offer or other product
suggestion is transmitted to a user's mobile device within a retail
establishment, by any of the processes described above, purchase
facilitating server 160 may apply a variable discount to the
product suggestion, and the user may receive the discount on the
suggested product if the user accepts the product suggestion. In
some embodiments, the amount of such a discount may be defined by
the retail merchant, for example in accordance with rules that give
different discounts to different classes of users (e.g., greater
discounts for users that are new to the retail establishment). In
some embodiments, however, purchase facilitating server 160 may
compute an amount of a discount that should be applied to
successfully entice the user in question to accept the product
suggestion. In some embodiments, purchase facilitating server 160
may perform such a computation with reference to any available data
relevant to the user's purchasing tendencies, such as the user's
profiling information and/or past purchase history, and/or such
information for other users similar to the current user (e.g., of a
same class of user).
[0085] In some embodiments, when a user accepts a product
suggestion received from purchase facilitating server 160 and
displayed on the user's mobile device, purchase facilitating server
160 may also transmit to the mobile device a map of the retail
establishment or of a portion of the retail establishment, showing
where the suggested product can physically be found. Then, when the
user arrives at the suggested product's location in the retail
establishment, in some embodiments the user may scan the suggested
product's bar code, and a confirmation of whether the user in fact
found the correct suggested product may be displayed on the mobile
device. In some embodiments, product suggestions may be provided
based at least in part on the user's current location in the retail
establishment (e.g., as determined from the mobile device's GPS
capabilities, or as determined by triangulation from a set of
nearby wireless access points), such that suggestions for nearby
products are offered for the user's consideration before
suggestions for products that are farther away. Accordingly, in
some embodiments, the user may be guided in an efficient route
through the retail establishment, filling the user's electronic
cart with product identifiers by scanning physical products and
accepting electronic product suggestions, while concurrently
filling the user's physical shopping cart with the corresponding
physical products from the retail establishment.
[0086] FIG. 3B illustrates an exemplary product suggestion/offer
that may be generated by purchase facilitating server 160 based on
an association with one or more products already scanned by the
user of mobile device 140, and may be transmitted by purchase
facilitating server 160 to be displayed on mobile device 140. As
discussed above, product suggestions displayable on mobile device
140 may take any suitable form, as aspects of the present invention
are not limited in this respect. In some embodiments, a product
suggestion may be a textual message, or may include one or more
images and/or other suitable visible items, and may appear on a
display of mobile device 140 as part of the electronic shopping
cart window, or as a separate pop-up window, or in any other
suitable way.
[0087] As depicted in FIG. 3B, exemplary product suggestion 450
includes, at the top, a textual query, "Would you like to purchase
[Suggested Product] for $[Price]?" that communicates the product
suggestion to the user of mobile device 140. In this exemplary
query, the placeholder "[Suggested Product]" may be replaced by the
name of a particular product being suggested, and the placeholder
"[Price]" may be replaced by the suggested product's price,
optionally with any discount applied for this offer to this
particular user. Product suggestion 450 also includes a thumbnail
image 460 of the suggested product, as well as a textual product
description 465, to inform the user about the suggested product so
the user may consider whether or not to purchase it.
[0088] In this example, the user may accept the product suggestion
by pressing, clicking on, or otherwise submitting user input to
select acceptance button 470, labeled "Accept". In some
embodiments, as discussed above, selecting acceptance button 470
may cause the application program on mobile device 140 to add the
suggested product to the user's electronic shopping cart. In some
embodiments, the user may specify a number of units of the
suggested product to add to the electronic shopping cart, for
instance by inputting a number into "Quantity" box 480. In some
embodiments, this function may allow the user to add multiple units
of the suggested product at once to the list for purchase, by
accepting the product suggestion. If the user decides not to accept
product suggestion 450, the user may select rejection button 475,
labeled "No, thanks". In some embodiments, selecting rejection
button 475 may remove product suggestion 450 from the display of
mobile device 140, without adding any units of the suggested
product to the user's electronic cart. It should be appreciated,
however, that the user's acceptance or rejection of a product
suggestion may be communicated in any suitable way, as aspects of
the present invention are not limited in this respect.
[0089] Furthermore, it should be appreciated that product
suggestion 450 is merely one example of a product suggestion that
may be generated in accordance with some embodiments of the present
invention. Product suggestions are not limited to inclusion of any
of the information, text, images, graphics, or other items depicted
in product suggestion 450; neither are product suggestions limited
to the specific wording of items depicted in product suggestion
450. Also, any other suitable items not depicted in product
suggestion 450 may be added in some embodiments to a product
suggestion, as aspects of the present invention are not limited in
this respect.
[0090] FIGS. 4A and 4B, when connected at the points labeled "A",
form a flowchart illustrating an exemplary process 200 for
purchasing products from a retail establishment using a mobile
device, in accordance with some embodiments of the present
invention. Process 200 begins at act 205, in which inventory server
180 transmits to purchase facilitating server 160 information
pertaining to products being offered for sale by the retail
establishment. For example, in some embodiments inventory server
180 may operate a data feed to transmit updated product information
to purchase facilitating server 160, looping back to act 205 to
transmit newly updated information at regular time intervals (e.g.,
every 30 seconds). In other embodiments, purchase facilitating
server 160 may poll inventory server 180 at any suitable intervals
to obtain updated product information. Product information may
include an inventory of products currently offered for sale by the
retail establishment, along with price information for each
product. In some embodiments, product information may also include
product names, product descriptions, product identifiers (e.g., bar
code numbers), thumbnail images and/or any other appropriate
information pertaining to products offered for sale. At act 210,
purchase facilitating server 160 stores the product information
received from inventory server 180, for example in a database of
purchase facilitating server 160.
[0091] At act 215, a user may use the image acquisition component
150 of mobile device 140 to capture an image identifying a product
that the user is considering purchasing, for example product 120.
As discussed above, this image may be any image comprising
information that identifies product 120, for example, an image of
UPC label 130 affixed to product 120. The image may be captured
while the user and the mobile device are within the retail
establishment, in sufficient proximity to the product 120 being
offered for sale in the retail establishment to capture an image of
its UPC label 130. After act 215, the process continues to act 220,
where mobile device 140 transmits the captured image to purchase
facilitating server 160. The process then continues to act 225,
where purchase facilitating server 160 processes the image received
from mobile device 140 using an image recognition technique to
identify the product 120 associated with the transmitted image. For
example, UPC label 130 may be processed through image recognition
to identify the UPC code represented by UPC label 130. The UPC code
may provide a unique identifier for product 120. Any suitable image
recognition technique may be used, as aspects of the present
invention are not limited in this respect. Some examples of
suitable image recognition techniques have been provided above.
While such image recognition may in some embodiments be performed
by purchase facilitating server 160, as discussed above the image
recognition may in other embodiments be performed by mobile device
140.
[0092] Once purchase facilitating server 160 has identified product
120, the product information associated with product 120 may be
retrieved, for example, from a database of purchase facilitating
server 160 in which the product information received from inventory
server 180 at act 205 is stored at act 210. The process then
continues to act 230, where purchase facilitating server 160
transmits this product information to mobile device 140.
[0093] Purchase facilitating server 160 may also retrieve a product
suggestion/offer associated with product 120. For example, purchase
facilitating server 160 may communicate with an offer server 170 to
retrieve the offer in connection with product 120. As described
above with reference to FIG. 1, offer server 170 may store a number
of manufacturer offers in association with products offered for
sale by the retail establishment. Manufacturers and/or retailers
may place bids on particular products to have offers associated
with them. For example, a manufacturer may bid for an upselling
offer, in which a user scanning a first product is presented with
an offer for a second competing product at a competing price. In
another example, a retailer may bid for a bundling offer, in which
a user scanning a first product is presented with an offer for one
or more other compatible products that the user may be attracted to
purchase along with the first product. In other examples, as
discussed above, a user having scanned one or more products may be
presented with product suggestion(s) for one or more other products
that, together with the already scanned products, belong to a known
set of products useful for a particular purpose, such as a cooking
recipe or a do-it-yourself kit.
[0094] In response to identifying a product, for example product
120, represented by an image received from mobile device 140 at act
225, purchase facilitating server 160 may retrieve from offer
server 170 any offer (e.g., the offer with the highest bid for the
product) associated with product 120, and/or may determine one or
more otherwise appropriate product suggestions based on the user's
scanning of product 120. At act 230, purchase facilitating server
160 may transmit the product information for product 120 to mobile
device 140, as well as any associated offer/suggestion. The process
next continues to act 235, where mobile device 140 may display the
transmitted product information, and any offer/suggestion received,
on a display of the mobile device, such that it can be viewed by
the user. Product information for product 120 may include any of
various information associated with product 120 being offered for
sale by a retail establishment, including, but not limited to,
price information and/or product description information. If an
offer/suggestion has been displayed in association with the product
information, mobile device 140 may receive user input indicating an
acceptance or rejection of the offer displayed (e.g., by pressing
an "Accept" or "No, thanks" button). If the offer is accepted,
mobile device 140 may update the user's electronic shopping cart to
include any products identified in the offer.
[0095] The process next continues to act 250, where mobile device
140 may receive user input indicating whether the user desires to
add more products to the user's electronic shopping cart. In some
embodiments, user input to add more products may simply include
operation of mobile device 140 to capture a new bar code image. If
more products are desired to be purchased, process 200 may return
to act 215, at which another product UPC label may be scanned. If
no more products are to be added, and the user desires to "check
out" (e.g., if the user selects a "check-out" button), process 200
may continue to act 255, at which mobile device 140 may transmit
stored UPC codes for all items in the user's electronic shopping
cart (i.e., all products whose UPC labels have been scanned and
selected by the user to be placed in the electronic shopping cart)
to purchase facilitating server 160. The process then continues to
act 260, where purchase facilitating server 160 may look up the
received UPC codes to retrieve product information stored in the
database of purchase facilitating server 160. That is, product
information (including price information) retrieved at act 260 may
have been updated from a recent loop of act 205 since the user
scanned the products at act 215. Thus, at act 260, purchase
facilitating server 160 may retrieve any updated product
information. In addition, in some embodiments purchase facilitating
server 160 may query inventory server 180 to confirm that the
products to be purchased are still physically in stock at the
retail establishment.
[0096] In act 260, updated price information for each product in
the user's electronic shopping cart may be used to compute a total
cost of the shopping cart. The total cost may be calculated to
include such considerations as sales tax, any discounts to which
the user is entitled from the retail establishment, and/or any
discounts to which the user is entitled through use of the mobile
device software application. For example, a retail establishment or
other operator of purchase facilitating server 160 may provide a
loyalty subscription, through which the user may be entitled to any
of various discounts for use of the mobile device software
application to purchase products in communication with purchase
facilitating server 160. In some embodiments, purchase facilitating
server 160 may be informed of the retail establishment's current
discount programs through network communication with inventory
server 180 and/or with another computing device associated with the
retail establishment, and may then apply such discounts to the
user's purchases.
[0097] The process then continues to act 265, where mobile device
140 may display updated shopping cart information received from
purchase facilitating server 160. If the user desires to continue
with the purchase, mobile device 140 may, at act 270, prompt the
user for payment information and receive the payment information
from user input, such as typing on a keypad or voice recognition.
For example, payment information may include a credit card number,
verification information, authorization information (e.g., a
password) and/or any other information useful in transacting a
credit card purchase. The process then continues to act 275, where
mobile device 140 may transmit the input payment information to
purchase facilitating server 160. Alternatively, in some
embodiments, such payment information may already be stored in
mobile device 140, in purchase facilitating server 160 and/or in
one or more other suitable computer-readable storage media from
which it may be automatically retrieved.
[0098] The process next continues to act 280, where purchase
facilitating server 160 may use the received payment information to
transact the user's purchase of the products in the user's
electronic shopping cart from the retail establishment. For
example, purchase facilitating server 160 may communicate with a
credit card payment network (e.g., directly or via a third party)
to transact a transfer of funds belonging to the user, in the
amount of the total cost of the shopping cart, to an account of the
retail establishment. The process next continues to act 285, where
purchase facilitating server 160 may generate and transmit a
receipt confirming the user's purchase to both mobile device 140
and inventory server 180.
[0099] The process then continues to act 295, where inventory
server 180 may process the received receipt to update the inventory
of the retail establishment to reflect a reduction in inventory
count of the products purchased by the user. As discussed above,
inventory server 180 may then store information contained in the
receipt to be retrieved by loss prevention personnel at the
physical retail establishment as the user exits the store.
[0100] In addition, after act 285, at act 290 mobile device 140 may
display the receipt received from purchase facilitating server 160,
such that the user may show the receipt on a display of mobile
device 140 to loss prevention personnel at the retail establishment
store. As the user exits the physical store with the products
purchased in the transaction, loss prevention personnel may compare
the receipt displayed on mobile device 140 to receipt information
received at a loss prevention device. This may allow loss
prevention personnel to validate the user's purchase of products
identified by the receipt, and to prevent theft of items not
identified in the receipt. In some embodiments, the receipt may be
augmented with a visual indicator of an estimated likelihood of
theft associated with the transaction, and the visual indicator may
instruct the loss prevention personnel as to the extent of
inspection that should be performed on the user's physical shopping
cart prior to the user exiting the retail establishment.
[0101] In the exemplary method described above, the image
recognition of an image of a bar code (e.g., a UPC code) or other
product identifying information is performed by server 160.
However, the invention is not limited in this respect, as the image
recognition process may be performed on any suitable device in the
system. For example, in some embodiments, rather than sending a
captured image of a bar code to server 160 for image recognition,
mobile device 140 may perform image recognition on the image that
it captured to determine a product identifier number encoded in the
bar code, and may send this product identifier to server 160
instead of, or in addition to, sending the image itself.
[0102] In some embodiments, the mobile device application may also
be programmed to display general advertisements from the retail
establishment on a display of mobile device 140 when the user
enters the physical retail store. For example, the retail
establishment may publish an electronic in-store circular (e.g.,
via server 160, server 180, or any other suitable way) that lists
current promotions such as sales, discounts, new or best selling
products, etc., for that particular store. The mobile device
application may be programmed to determine when the user enters the
retail establishment, for example using global positioning
capabilities of the mobile device, and to display a current
in-store circular advertisement at that time. The mobile device
application may also be programmed to determine a particular
section of the store in which the user is shopping, and to display
advertisements specific to that section. Such advertisements may be
received, in some embodiments, at mobile device 140 from purchase
facilitating server 160.
[0103] In some embodiments, the mobile device application may also
provide a social networking function, with individual user profiles
that can be viewed by other users also having the purchase
facilitating application program on their mobile devices. In some
embodiments, various information may be automatically posted on a
user's profile in the application in response to various
shopping-related triggering events (subject to user authorization
in some embodiments). For example, when a user transacts a purchase
in a retail establishment using the application, in some
embodiments information about the purchase may be posted on the
user's profile. Such information may include, in some embodiments,
identification of one or more products purchased, identification of
prices of one or more products purchased, identification of the
retail establishment at which the one or more products were
purchased, and/or the date and/or time at which the purchase was
transacted, etc. In some embodiments, a user's visits to a retail
establishment may be posted on the user's profile, regardless of
whether the user transacted a purchase there. In addition, in some
embodiments, icons or other indicators may be posted on the user's
profile when the user performs certain activities via the
application which one or more retailers, manufacturers, advertisers
and/or other parties would like to reward. For example, if a user
spends over a threshold amount of money in a particular retail
establishment within a certain amount of time, in some embodiments
the user's profile may receive an achievement tag or other icon
from that retail establishment. In another example, a user's
profile may receive an achievement tag for physically visiting a
certain number of branches of a retail merchant in a certain
geographical area. In some embodiments, the user may be allowed to
exchange such achievement tags for monetary rewards, such as gift
certificates and/or discounts on future purchases. In some
embodiments, retail merchants may also use such achievement tags,
as well as other information posted on a user's application
profile, to target particular users for promotions, based on
knowledge of the user's shopping habits and likelihood of visiting
particular retail establishments.
[0104] Mobile device 140 and servers 160, 170 and 180 may be
implemented in any suitable way. FIGS. 5A and 5B respectively
illustrate exemplary architectures for a mobile device 300 and a
server 350 (for example, any of servers 160, 170 and 180) that may
be used in some embodiments. Exemplary mobile device 300 comprises
one or more hardware central processing unit(s) (CPU) 310,
operatively connected to hardware/physical memory 320 and
input/output (I/O) interface 330. Exemplary server 350 similarly
comprises hardware CPU(s) 360, operatively connected to
hardware/physical memory 370 and input/output (I/O) interface 380.
Hardware/physical memory may include volatile and/or non-volatile
memory. The memory may store one or more instructions to program
the CPU to perform any of the functions described herein. The
memory may also store one or more application programs. In this
respect, the memory may serve as one or more computer-readable
storage media (e.g., tangible, non-transitory computer-readable
media) encoded with computer-executable instructions that, when
executed, perform any of the functions described herein.
[0105] Exemplary mobile device 300 and exemplary server 350 may
have one or more input and output devices. These devices can be
used, among other things, to present a user interface and/or
communicate (e.g., via a network) with other devices or computers.
Examples of output devices that can be used to provide a user
interface include printers or display screens for visual
presentation of output and speakers or other sound generating
devices for audible presentation of output. Examples of input
devices that can be used for a user interface include keyboards,
and pointing devices, such as mice, touch pads, and digitizing
tablets. As another example, a computer may receive input
information through speech recognition or in other audible
format.
[0106] Although examples provided herein have described servers
160, 170 and 180 as residing on separate computers, it should be
appreciated that the functionality of these components can be
implemented on a single computer, or on any larger number of
computers in a distributed fashion.
[0107] Having thus described several aspects of at least one
embodiment of this invention, it is to be appreciated that various
alterations, modifications, and improvements will readily occur to
those skilled in the art.
[0108] Such alterations, modifications, and improvements are
intended to be part of this disclosure, and are intended to be
within the spirit and scope of the invention. Accordingly, the
foregoing description and drawings are by way of example only.
[0109] The above-described embodiments of the present invention can
be implemented in any of numerous ways. For example, the
embodiments may be implemented using hardware, software or a
combination thereof. When implemented in software, the software
code can be executed on any suitable processor or collection of
processors, whether provided in a single computer or distributed
among multiple computers.
[0110] Further, it should be appreciated that a computer may be
embodied in any of a number of forms, such as a rack-mounted
computer, a desktop computer, a laptop computer, or a tablet
computer. Additionally, a computer may be embedded in a device not
generally regarded as a computer but with suitable processing
capabilities, including a Personal Digital Assistant (PDA), a smart
phone or any other suitable portable or fixed electronic
device.
[0111] Such computers may be interconnected by one or more networks
in any suitable form, including as a local area network or a wide
area network, such as an enterprise network or the Internet. Such
networks may be based on any suitable technology and may operate
according to any suitable protocol and may include wireless
networks, wired networks or fiber optic networks.
[0112] Also, the various methods or processes outlined herein may
be coded as software that is executable on one or more processors
that employ any one of a variety of operating systems or platforms.
Additionally, such software may be written using any of a number of
suitable programming languages and/or programming or scripting
tools, and also may be compiled as executable machine language code
or intermediate code that is executed on a framework or virtual
machine.
[0113] In this respect, the invention may be embodied as a computer
readable medium (or multiple computer readable media) (e.g., a
computer memory, one or more floppy discs, compact discs, optical
discs, magnetic tapes, flash memories, circuit configurations in
Field Programmable Gate Arrays or other semiconductor devices, or
other tangible, non-transitory computer storage medium) encoded
with one or more programs that, when executed on one or more
computers or other processors, perform methods that implement the
various embodiments of the invention discussed above. The computer
readable medium or media can be transportable, such that the
program or programs stored thereon can be loaded onto one or more
different computers or other processors to implement various
aspects of the present invention as discussed above.
[0114] The terms "program" or "software" are used herein in a
generic sense to refer to any type of computer code or set of
computer-executable instructions that can be employed to program a
computer or other processor to implement various aspects of the
present invention as discussed above. Additionally, it should be
appreciated that according to one aspect of this embodiment, one or
more computer programs that when executed perform methods of the
present invention need not reside on a single computer or
processor, but may be distributed in a modular fashion amongst a
number of different computers or processors to implement various
aspects of the present invention.
[0115] Computer-executable instructions may be in many forms, such
as program modules, executed by one or more computers or other
devices. Generally, program modules include routines, programs,
objects, components, data structures, etc. that perform particular
tasks or implement particular abstract data types. Typically the
functionality of the program modules may be combined or distributed
as desired in various embodiments.
[0116] Also, data structures may be stored in computer-readable
media in any suitable form. For simplicity of illustration, data
structures may be shown to have fields that are related through
location in the data structure. Such relationships may likewise be
achieved by assigning storage for the fields with locations in a
computer-readable medium that conveys relationship between the
fields. However, any suitable mechanism may be used to establish a
relationship between information in fields of a data structure,
including through the use of pointers, tags or other mechanisms
that establish relationship between data elements.
[0117] Various aspects of the present invention may be used alone,
in combination, or in a variety of arrangements not specifically
discussed in the embodiments described in the foregoing, and the
invention is therefore not limited in its application to the
details and arrangement of components set forth in the foregoing
description or illustrated in the drawings. For example, aspects
described in one embodiment may be combined in any manner with
aspects described in other embodiments.
[0118] Also, the invention may be embodied as a method, of which an
example has been provided. The acts performed as part of the method
may be ordered in any suitable way. Accordingly, embodiments may be
constructed in which acts are performed in an order different than
illustrated, which may include performing some acts simultaneously,
even though shown as sequential acts in illustrative
embodiments.
[0119] Use of ordinal terms such as "first," "second," "third,"
etc., in the claims to modify a claim element does not by itself
connote any priority, precedence, or order of one claim element
over another or the temporal order in which acts of a method are
performed, but are used merely as labels to distinguish one claim
element having a certain name from another element having a same
name (but for use of the ordinal term) to distinguish the claim
elements.
[0120] Also, the phraseology and terminology used herein is for the
purpose of description and should not be regarded as limiting. The
use of "including," "comprising," or "having," "containing,"
"involving," and variations thereof herein, is meant to encompass
the items listed thereafter and equivalents thereof as well as
additional items.
* * * * *