U.S. patent application number 16/127099 was filed with the patent office on 2020-03-12 for points management system.
The applicant listed for this patent is Synchrony Bank. Invention is credited to Terril Bryan, Senthil Krishnasamy, Adam Lawson, Vivek Menon, Gregg Peters, Bala Ranganathan, Sajith Ravindranath, Beth Stephens.
Application Number | 20200082424 16/127099 |
Document ID | / |
Family ID | 69719863 |
Filed Date | 2020-03-12 |
United States Patent
Application |
20200082424 |
Kind Code |
A1 |
Peters; Gregg ; et
al. |
March 12, 2020 |
POINTS MANAGEMENT SYSTEM
Abstract
A method for use an earned autopay account, an available autopay
account, an earned points account, and an available points account
each associated with a customer. The method includes storing a
cache including first and second numbers of points stored in the
available autopay account and the available points account,
respectively. A points authorization request requesting a first
transaction amount is received from a requesting computing device.
A second transaction amount is subtracted from the first and/or
second numbers of points. A points redemption request including a
third transaction amount is sent to the payment processing
computing device. Each of the first, second, and third transaction
amounts includes a particular monetary value and/or a corresponding
transaction number of points. The payment processing computing
device subtracts the third transaction amount from the available
points account and/or the available autopay account.
Inventors: |
Peters; Gregg; (Draper,
UT) ; Lawson; Adam; (Draper, UT) ;
Krishnasamy; Senthil; (Stamford, CT) ; Stephens;
Beth; (Draper, UT) ; Menon; Vivek; (Draper,
UT) ; Ravindranath; Sajith; (Draper, UT) ;
Ranganathan; Bala; (Draper, UT) ; Bryan; Terril;
(Draper, UT) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
Synchrony Bank |
Draper |
UT |
US |
|
|
Family ID: |
69719863 |
Appl. No.: |
16/127099 |
Filed: |
September 10, 2018 |
Current U.S.
Class: |
1/1 |
Current CPC
Class: |
G06Q 30/0239 20130101;
G06Q 30/0215 20130101; G06Q 20/102 20130101 |
International
Class: |
G06Q 30/02 20060101
G06Q030/02; G06Q 20/10 20060101 G06Q020/10 |
Claims
1. A method comprising: storing, by a payment processing computing
device, an earned autopay account, an available autopay account, an
earned points account, and an available points account; storing, by
the payment processing computing device, one or more points in the
earned autopay account when autopay is turned on; storing, by the
payment processing computing device, one or more points in the
earned points account when autopay is turned off; moving, by the
payment processing computing device, any points stored in the
earned points account to the available points account after
completion of a first billing cycle; moving, by the payment
processing computing device, any points stored in the earned
autopay account to the available autopay account after completion
of the first billing cycle; automatically transferring, by the
payment processing computing device, a monetary value of any points
stored in the available autopay account to a credit card account
after completion of a second billing cycle, the second billing
cycle occurring after the first billing cycle; and responding, by a
reward redemption computing device, to a request from a requesting
computing device for an available amount calculated as a function
of any points stored in the available autopay account and any
points stored in the available points account and forwarding the
available amount to the requesting computing device.
2. The method of claim 1, wherein responding to the request
comprises: obtaining a first number of points stored in the
available autopay account from a cache stored on or accessible by
the reward redemption computing device, the cache being stored on a
computing device that is remote from the payment processing
computing device; and obtaining a second number of points stored in
the available points account from the cache, the available amount
being a sum of the first and second numbers.
3. The method of claim 1, wherein responding to the request
comprises: obtaining a first number of points stored in the
available autopay account from a cache stored on or accessible by
the reward redemption computing device, the cache being stored on a
computing device that is remote from the payment processing
computing device; obtaining a second number of points stored in the
available points account from the cache; and calculating a monetary
value of a sum of the first and second numbers, the available
amount being the monetary value.
4. The method of claim 1, wherein the requesting computing device
is a point of sale device at a merchant.
5. The method of claim 1, wherein the requesting computing device
is a merchant computing device operating an e-commerce website, and
the request is sent to the reward redemption computing device by
the e-commerce website.
6. The method of claim 1, wherein the function comprises adding a
first number of points stored in the available autopay account to a
second number of points stored in the available points account, and
the available amount is a sum of the first and second numbers.
7. The method of claim 1, wherein the function comprises: adding a
first number of points stored in the available autopay account to a
second number of points stored in the available points account, and
multiplying a sum of the first and second numbers by a conversion
value to obtain a monetary value, the available amount being the
monetary value.
8. The method of claim 1, further comprising: receiving, by the
reward redemption computing device, a points authorization request
requesting a particular monetary value; sending, by the reward
redemption computing device, a points redemption request comprising
the particular monetary value to the payment processing computing
device; and subtracting, by the payment processing computing
device, the particular monetary value from at least one of the
available points account and the available autopay account.
9. The method of claim 8, further comprising: transferring, by the
payment processing computing device, any points stored in the
available autopay account to the available points account before
the payment processing computing device subtracts the particular
monetary value from the at least one of the available points
account and the available autopay account, wherein the payment
processing computing device subtracts the particular monetary value
from the available points account only.
10. The method of claim 8, further comprising: subtracting, by the
reward redemption computing device, the particular monetary value
from a cache stored on or accessible by the reward redemption
computing device before sending the points redemption request to
the payment processing computing device.
11. A method for use with a payment processing computing device
storing an earned autopay account, an available autopay account, an
earned points account, and an available points account each
associated with a customer; the method comprising: storing, by a
reward redemption computing device, a cache comprising a first
number of points stored in the available autopay account, and a
second number of points stored in the available points account;
receiving, by the reward redemption computing device, a points
authorization request from a requesting computing device, the
points authorization request requesting a first transaction amount
comprising at least one of a particular monetary value and a
transaction number of points, the particular monetary value
corresponding to the transaction number of points; subtracting, by
the reward redemption computing device, a second transaction amount
from at least one of the first and second numbers of points, the
second transaction amount comprising at least one of the particular
monetary value and the transaction number of points; and sending,
by the reward redemption computing device, a points redemption
request comprising a third transaction amount to the payment
processing computing device, the third transaction amount
comprising at least one of the particular monetary value and the
transaction number of points, the payment processing computing
device subtracting the third transaction amount from at least one
of the available points account and the available autopay
account.
12. The method of claim 11, further comprising: receiving, by the
reward redemption computing device, a balance request from the
requesting computing device before receiving the points
authorization request, the balance request requesting an available
amount calculated as a function of the first and second numbers of
points; and forwarding, by the reward redemption computing device,
the available amount to the requesting computing device in response
to the balance request.
13. The method of claim 11, further comprising: transferring, by
the reward redemption computing device, the first number of points
into the second number of points before subtracting the transaction
number of points from the at least one of the first and second
numbers of points.
14. The method of claim 11, wherein the requesting computing device
is a point of sale device at a merchant.
15. The method of claim 11, wherein the points authorization
request is received from an e-commerce website operated by the
requesting computing device.
16. The method of claim 11, further comprising: receiving, by the
reward redemption computing device, a first instruction to turn on
autopay for a rewards account from a customer computing device; and
sending, by the reward redemption computing device, a second
instruction to the payment processing computing device to turn on
autopay for the rewards account, after a next billing cycle, the
payment processing computing device transferring a total monetary
value of any points stored in the available autopay account to the
rewards account and then transferring any points stored in the
earned autopay account into the available autopay account.
Description
BACKGROUND OF THE INVENTION
Field of the Invention
[0001] The present invention is directed generally to methods and
systems for redeeming points.
Description of the Related Art
[0002] Points, such as loyalty points, may be earned by a user. For
example, points may be earned by shopping with a particular
merchant and applied toward rewards offered by that merchant.
Points earned are typically calculated and tracked by a points
processing system. Some types of points have a monetary value and
may be spent with the merchant instead of or along with
conventional payment methods (e.g., currency, credit, etc.).
[0003] Some points processing systems allow the user to specify
that the user's points be used to pay the user's credit card
balance automatically. In other words, at some point after the
points have been earned, the points processing system will use them
to pay down the user's credit card balance. Unfortunately, a common
technical limitation of such points processing systems is that they
automatically apply all of the points earned by the user toward the
user's credit card balance. In other words, if the user has decided
to apply the user's points toward the user's credit card balance,
the user is prohibited from redeeming at least a portion of the
user's points toward future purchases.
BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWING(S)
[0004] FIG. 1 is a diagram of a system for managing points earned
by customers.
[0005] FIG. 2 is a diagram showing interaction between points
processing computing device(s), reward redemption computing
device(s), and a merchant computing device of the system of FIG.
1.
[0006] FIG. 3 is a flow diagram of a method performed by the points
processing computing device of the system of FIG. 1.
[0007] FIG. 4 is a diagram of a hardware environment and an
operating environment in which the computing devices of the system
of FIG. 1 may be implemented.
[0008] Like reference numerals have been used in the figures to
identify like components.
DETAILED DESCRIPTION OF THE INVENTION
[0009] FIG. 1 is a system 100 for managing points earned by a
plurality of customers 102. The system 100 includes at least one
points processing computing device 130 operated by a points
processing entity 132, at least one reward redemption computing
device 140 operated by a credit card issuing company 142, and
customer computing devices 150 operated by the customers 102. While
the customer computing devices 150 have been illustrated as
including the two customer computing devices 150A and 150B operated
by the two customers 102A and 102B, respectively, the system 100
may include any number of customer computing devices, like the
customer computing devices 150, operated by any number of
customers.
[0010] The points processing computing device(s) 130 may store or
have access to an earned autopay account, an available autopay
account, an earned points account, and an available points account
for each of the customers 102. For ease of illustration, FIG. 1
depicts the points processing computing device(s) 130 storing or
accessing an earned autopay account 134, an available autopay
account 135, an earned points account 136, and an available points
account 137 each associated with only the customer 102A. Each of
the accounts 134-137 is configured to store points. The earned
autopay account 134 and the earned points account 136 both store
points that have been earned by the customer 102A but cannot yet be
used. On the other hand, the available autopay account 135 and the
available points account 137 both store points available for
use.
[0011] The reward redemption computing device(s) 140 may store or
have access to a rewards account for each of the customers 102. The
reward account may be a credit card account. For ease of
illustration, FIG. 1 depicts the reward redemption computing
device(s) 140 storing a rewards account 144 (e.g., a credit card
account) associated with only the customer 102A. The rewards
account 144 may store an outstanding negative balance due or a
positive credit that may be used to toward future purchases.
[0012] The reward redemption computing device(s) 140 may store or
have access to a local data cache 148. For example, the cache 148
may be stored in a database connected to the reward redemption
computing device(s) 140. Optionally, the rewards account 144 may be
stored in the cache 148. The cache 148 is remote from the points
processing computing device(s) 130. The reward redemption computing
device(s) 140 may be configured to generate a website 146 that may
be used to turn on autopay (described below).
[0013] The points processing computing device(s) 130 determine(s)
how many points have been earned by each of the customers 102. For
example, the points processing computing device(s) 130 may monitor
purchases made by the customer 102A and reward a particular number
of points to the customer 102A based on those purchases. In the
case of a loyalty system, for example, the points processing
computing device(s) 130 may award points based on purchases made at
a first merchant 170 and/or a second merchant 180. Alternatively,
the points processing computing device(s) 130 may award points
based on purchases made using the rewards account 144. In such an
implementation, the points may be redeemable at the first merchant
170 and/or the second merchant 180. In the embodiment illustrated,
the first merchant 170 operates at least one merchant computing
device 172, which may be configured to generate a website (not
shown) at which the purchases may be made. Similarly, the second
merchant 180 may operate at least one merchant computing device
182, which may be configured to generate an e-commerce website 188
at which the purchases may be made. The first merchant 170 may also
operate one or more point of sale ("POS") devices 174 (e.g., cash
registers, kiosks, and the like) at which the purchases may be
made.
[0014] The devices 130, 140, 150, 172, 174, and 182 are operable to
communicate with one another over a network 160. By way of a
non-limiting example, the devices 130, 140, 150, 172, 174, and 182
may each be implemented as a computing device 12 illustrated in
FIG. 4 and described below.
[0015] When one of the customers 102 makes a purchase with the
first merchant 170, the POS device(s) 174 and/or the merchant
computing device(s) 172 may communicate a user identifier for the
customer along with identifications of purchases made by the
customer to the points processing computing device(s) 130 and/or
the reward redemption computing device(s) 140. In embodiments in
which this information is communicated to the reward redemption
computing device(s) 140, the reward redemption computing device(s)
140 may forward this information to the points processing computing
device(s) 130. The points processing computing device(s) 130 use(s)
this information to determine how many points have been earned by
the customer associated with the user identifier.
[0016] Points are earned between credit card billing cycles. Points
become available for use after a completion of a first billing
cycle immediately following their having been earned. Each point
awarded is associated with and/or assigned a monetary value. The
monetary value of a number of points may be calculated by
multiplying the points by a conversion value. The customers 102 may
spend their points with the second merchant 180 and/or use the
points to pay their respective outstanding debts. The merchant
computing device(s) 182 may store or have access to one or more
customer accounts associated with each of the customers 102. In
FIG. 1, the merchant computing device(s) 182 are illustrated
storing or having access to one or more customer accounts 186 each
associated with the customer 102A. The customer 102A may have
created the customer account(s) 186 through interaction with the
e-commerce website 188.
[0017] As shown in FIG. 2, the customer 102A (see FIG. 1) may
associate the rewards account 144 (see FIG. 1) with the customer
account(s) 186 (see FIG. 1). To do so, referring to FIG. 1, the
customer 102A may log into the customer account(s) 186 (e.g., using
the e-commerce website 188) and request that the rewards account
144 be associated with the customer account(s) 186. Referring to
FIG. 2, the merchant computing device(s) 182 send a register
account request 202 to the reward redemption computing device(s)
140. The reward redemption computing device(s) 140 forward an
account enrollment message 204 to the points processing computing
device(s) 130. The points processing computing device(s) 130
respond to the reward redemption computing device(s) 140 with a
response message 206. The reward redemption computing device(s) 140
receive the response message 206. If the response message 206
indicates the customer account(s) 186 has been successfully
associated with the rewards account 144, the reward redemption
computing device(s) 140 record the association and forward a
response message 208 to the merchant computing device(s) 182
indicating the customer account(s) 186 has been successfully
associated with the rewards account 144. On the other hand, if the
response message 206 indicates the customer account(s) 186 has not
been successfully associated with the rewards account 144, the
reward redemption computing device(s) 140 forwards the response
message 208 to the merchant computing device(s) 182, which
indicates the customer account(s) 186 has not been successfully
associated with the rewards account 144.
[0018] Referring to FIG. 1, the customers 102 may use their points
to pay at least a portion of the outstanding negative balance due
in their rewards accounts. For example, the customer 102A may pay
the customer's outstanding negative balance due in the rewards
account 144 by logging onto the website 146 (e.g., using the
customer computing device 150A) and instructing the reward
redemption computing device(s) 140 to apply a selected amount of
the customer's points to the rewards account 144. The reward
redemption computing device(s) 140 forwards this information to the
points processing computing device(s) 130, which transfer the
points as instructed.
[0019] Alternatively, the customer 102A may turn on automatic
payment or autopay. If the customer 102A has turned on autopay, any
points stored in the available autopay account 135 are
automatically transferred to the rewards account 144 after a
completion of a second billing cycle immediately following the
first billing cycle. If the monetary value of the points stored in
the available autopay account 135 exceeds the outstanding negative
balance, the overage may reside as a positive credit in the rewards
account 144.
[0020] To turn on autopay, the customer 102A may use the website
146 to instruct the reward redemption computing device(s) 140
(e.g., using the customer computing device 150A) to apply the
points stored in the available autopay account 135 automatically to
the rewards account 144. The reward redemption computing device(s)
140 forwards this information to the points processing computing
device(s) 130, which turns on autopay as instructed. Thus, the
reward redemption computing device(s) 140 is configured to instruct
the points processing computing device(s) 130 to implement autopay
as described below with respect to a method 300. In this manner,
both the reward redemption computing device(s) 140 and the points
processing computing device(s) 130 are configured to implement
autopay.
[0021] When the customer 102A has turned on autopay and earns one
or more points, the points processing computing device(s) 130
stores the point(s) in the earned autopay account 134. After the
completion of the first billing cycle, the points processing
computing device(s) 130 transfers any points stored in the earned
autopay account 134 to the available autopay account 135. Then,
after the completion of the second billing cycle following the
first billing cycle, the monetary value of the points stored in the
available autopay account 135 are automatically applied to the
rewards account 144. The monetary amount may pay up to an amount
owed, if one is present, and/or appear as a credit. Thus, the
points processing computing device(s) 130 is configured to apply
all of the funds stored in the available autopay account 135
automatically to the rewards account 144.
[0022] Therefore, if the customer 102A wants instead to redeem the
points toward a purchase, the points cannot be stored in the
available autopay account 135 or must be moved from the available
autopay account 135 before they are applied to the rewards account
144. For this reason, as mentioned above, the points processing
computing device(s) 130 stores the earned points account and the
available points account for each of the customers 102.
[0023] For the customer 102A, the rewards account 144 is associated
with the available autopay account 135 and the available points
account 137. As mentioned above, the customer account(s) 186 is/are
associated with the rewards account 144. Thus, a monetary value of
the points stored the available autopay account 135 and/or the
available points account 137 may be used to pay for at least part
of a transaction conducted with one of the customer account(s)
186.
[0024] When the customer 102A has turned off autopay and earns one
or more points, the points processing computing device(s) 130
stores the point(s) in the earned points account 136. After the
completion of the first billing cycle, the points processing
computing device(s) 130 transfers any points stored in the earned
points account 136 to the available points account 137. Any points
stored in the available points account 137 are not automatically
applied to the rewards account 144 and may be redeemed at the
second merchant 180 (e.g., on the e-commerce website 188).
[0025] FIG. 3 is a flow diagram of a method 300 performed by the
points processing computing device(s) 130 (see FIG. 1). In first
decision block 310, referring to FIG. 1, the points processing
computing device(s) 130 determines whether the customer 102A has
turned on autopay. The decision in decision block 310 (see FIG. 3)
is "YES," when the customer 102A has turned on autopay. Otherwise,
the decision in decision block 310 (see FIG. 3) is "NO."
[0026] When the decision in decision block 310 (see FIG. 3) is
"NO," in block 314 (see FIG. 3), the points processing computing
device(s) 130 determine how many points have been earned by the
customer 102A and stores them in the earned points account 136. For
example, the merchant computing device 172 and/or the POS device(s)
174 may communicate sales information to the points processing
computing device(s) 130 that the points processing computing
device(s) 130 uses to determine how many points were earned by the
customer 102A. As mentioned above, the points stored in the earned
points account 136 are not yet available for use by the customer
102A.
[0027] The customer 102A may decide to turn on autopay before the
first billing cycle. In decision block 316 (see FIG. 3), the points
processing computing device(s) 130 determines whether the customer
102A has turned on autopay. The decision in decision block 316 (see
FIG. 3) is "YES," when the customer 102A has turned on autopay.
Otherwise, the decision in decision block 316 (see FIG. 3) is
"NO."
[0028] When the decision in decision block 316 (see FIG. 3) is
"YES," in block 318 (see FIG. 3), the points processing computing
device(s) 130 move any points stored in the earned points account
136 to the earned autopay account 134. In block 318 (see FIG. 3),
the points processing computing device(s) 130 transfers the points
instantly to avoid any potential for duplication of the points,
which might occur if the same points appeared in both accounts at
the same time. Then, the points processing computing device(s) 130
advances to block 360 (see FIG. 3) whereat the points processing
computing device(s) 130 completes the first billing cycle.
[0029] When the decision in decision block 316 (see FIG. 3) is
"NO," the points processing computing device(s) 130 completes the
first billing cycle in block 320 (see FIG. 3).
[0030] In next block 324 (see FIG. 3), the points processing
computing device(s) 130 moves the point(s) stored in the earned
points account 136 to the available points account 137.
[0031] In decision block 330 (see FIG. 3), the points processing
computing device(s) 130 determines whether the customer 102A has
indicated since the completion of the first billing cycle whether
any of the point(s) stored in the available points account 137
should be applied automatically to the rewards account 144. In
other words, the points processing computing device(s) 130
determine whether the customer 102A has turned on autopay. The
decision in decision block 330 (see FIG. 3) is "YES," when the
customer 102A has turned on autopay. Otherwise, the decision in
decision block 330 (see FIG. 3) is "NO."
[0032] When the decision in decision block 330 (see FIG. 3) is
"NO," in block 334 (see FIG. 3), the points processing computing
device(s) 130 receives one or more requests (e.g., from the
e-commerce website 188) to redeem at least some of the point(s)
stored in the available points account 137. In block 334 (see FIG.
3), the points processing computing device(s) 130 processes the
request(s) and redeems the point(s). Then, the points processing
computing device(s) 130 returns to decision block 310 (see FIG.
3).
[0033] On the other hand, when the decision in decision block 330
(see FIG. 3) is "YES," the points processing computing device(s)
130 advances to block 336 (see FIG. 3) and moves the point(s) from
the available points account 137 to the available autopay account
135. In block 336 (see FIG. 3), the points processing computing
device(s) 130 transfers the points instantly to avoid any potential
for duplication of the points, which might occur if the same points
appeared in both accounts at the same time.
[0034] Then, in block 340 (see FIG. 3), the points processing
computing device(s) 130 completes the second billing cycle. In next
block 344 (see FIG. 3), the points processing computing device(s)
130 applies the point(s) in the available autopay account 135 to
the rewards account 144. Then, the points processing computing
device(s) 130 returns to decision block 310 (see FIG. 3).
[0035] When the decision in decision block 310 (see FIG. 3) is
"YES," in block 350 (see FIG. 3), the points processing computing
device(s) 130 determines how many points have been earned by the
customer 102A and stores them in the earned autopay account
134.
[0036] The customer 102A may decide to turn off autopay before the
first billing cycle. In decision block 354 (see FIG. 3), the points
processing computing device(s) 130 determines whether the customer
102A has turned off autopay. The decision in decision block 354
(see FIG. 3) is "NO," when the customer 102A has turned off
autopay. Otherwise, the decision in decision block 316 (see FIG. 3)
is "YES."
[0037] When the decision in decision block 354 (see FIG. 3) is
"NO," in block 356 (see FIG. 3), the points processing computing
device(s) 130 moves any points stored in the earned autopay account
134 to the earned points account 136. In block 356 (see FIG. 3),
the points processing computing device(s) 130 transfers the points
instantly to avoid any potential for duplication of the points,
which might occur if the same points appeared in both accounts at
the same time. Then, the points processing computing device(s) 130
advances to block 320 (see FIG. 3) whereat the points processing
computing device(s) 130 completes the first billing cycle.
[0038] When the decision in decision block 354 (see FIG. 3) is
"YES," the points processing computing device(s) 130 completes the
first billing cycle in block 360 (see FIG. 3).
[0039] In next block 364 (see FIG. 3), the points processing
computing device(s) 130 moves the point(s) stored in the earned
autopay account 134 to the available autopay account 135.
[0040] In decision block 370 (see FIG. 3), the points processing
computing device(s) 130 determines whether the customer 102A has
indicated since the completion of the first billing cycle whether
the point(s) stored in the available autopay account 135 should be
moved to the available points account 137. In other words, the
points processing computing device(s) 130 determine whether the
customer 102A has turned off autopay. The decision in decision
block 370 (see FIG. 3) is "NO," when the customer 102A has turned
off autopay. Otherwise, the decision in decision block 370 is
"YES."
[0041] When the decision in decision block 370 (see FIG. 3) is
"NO," in block 374 (see FIG. 3), the points processing computing
device(s) 130 moves any point(s) stored in the available autopay
account 135 to the available points account 137. In block 374 (see
FIG. 3), the points processing computing device(s) 130 transfers
the points instantly to avoid any potential for duplication of the
points, which might occur if the same points appeared in both
accounts at the same time. Then, the points processing computing
device(s) 130 advances to block 334 (see FIG. 3).
[0042] On the other hand, when the decision in decision block 370
(see FIG. 3) is "YES," the points processing computing device(s)
130 advances to block 340 (see FIG. 3) whereat the points
processing computing device(s) 130 completes the second billing
cycle.
[0043] Referring to FIG. 1, anytime during the method 300 (see FIG.
3), a requesting computing device, such as the point of sale device
174, the merchant computing device(s) 172, the merchant computing
device(s) 182, and/or one of the customer computing devices 150,
may send a request to the reward redemption computing device(s) 140
inquiring about how many points a particular one of the customers
102 has available. For example, FIG. 2 illustrates an example in
which the merchant computing device(s) 182 send a get balance
request 212 to the reward redemption computing device(s) 140 during
checkout, which occurs in block 334 of FIG. 3. When this occurs,
referring to FIG. 2, the reward redemption computing device(s) 140
may send a balance inquiry 214 to the points processing computing
device(s) 130. The balance inquiry 214 may request a number of
points stored in the available autopay account 135 and the
available points account 137 and/or a monetary value of those
points. The points processing computing device(s) 130 respond with
a balance response 216. The balance response 216 may include the
numbers of points stored in each of the available autopay account
135 and the available points account 137. Alternatively, the
balance response 216 may include the monetary values of points
stored in each of the available autopay account 135 and the
available points account 137. By way of another non-limiting
example, the balance response 216 may include a total number of
points stored in these accounts and/or a total monetary value
thereof. Then, the reward redemption computing device(s) 140 sends
a balance response 218 to the merchant computing device(s) 182
including any of the aforementioned values.
[0044] Referring to FIG. 1, by way of another non-limiting example,
after the completion of the first billing cycle, the points
processing computing device(s) 130 may forward the balances of the
available autopay account 135 and the available points account 137
to the reward redemption computing device(s) 140. The reward
redemption computing device(s) 140 may store this information in
the cache 148. The reward redemption computing device(s) 140 may
use the cache 148 to calculate the total points available and/or
the total monetary value thereof and provide this information to
the merchant computing device(s) 182 in the balance response 218.
In such an embodiment, the balance inquiry 214 is sent only if the
cache 148 is unavailable or does not include the information
requested.
[0045] For example, when the customer 102A wishes to make a
purchase at the e-commerce website 188 generated by the merchant
computing device(s) 182, the e-commerce website 188 may
automatically query the reward redemption computing device(s) 140
for the total number of points available and/or the total monetary
value thereof. The reward redemption computing device(s) 140
responds with the balance response 218, which includes the total
points and/or total monetary value thereof according to the cache
148. The e-commerce website 188 may optionally display this
information to the customer 102A who decides whether to use the
points toward the purchase.
[0046] The cache 148 allows the points to be used in real-time to
reduce the price of the purchase. Referring to FIG. 2, if the
customer 102A (see FIG. 1) decides to use the points toward the
purchase, the merchant computing device(s) 182 sends a points
authorization request 222 to the reward redemption computing
device(s) 140. If the reward redemption computing device(s) 140 is
maintaining the cache 148, the reward redemption computing
device(s) 140 subtracts the points from the cache 148 and sends a
points redemption request 224 to the points processing computing
device(s) 130 so the points processing computing device(s) 130 can
update the available autopay account 135 and/or the available
points account 137. If some of the points are subtracted from the
available autopay account 135, the points redemption request 224
may instruct the points processing computing device(s) 130 to turn
off autopay. The reward redemption computing device(s) 140 may move
any points stored in the available autopay account 135 to the
available points account 137 to remain consistent with the points
processing computing device(s) 130. The points processing computing
device(s) 130 send a redemption confirmation 226 to the reward
redemption computing device(s) 140. Then, the reward redemption
computing device(s) 140 sends a redemption confirmation 228 to the
merchant computing device(s) 182. After the next billing cycle
completes, the points processing computing device(s) 130 forwards
the balances of the available autopay account 135 and the available
points account 137 to the reward redemption computing device(s)
140, which updates the cache 148 using this information.
[0047] Alternatively, if the reward redemption computing device(s)
140 is not maintaining the cache 148, the reward redemption
computing device(s) 140 sends the points redemption request 224 to
the points processing computing device(s) 130. The points
processing computing device(s) 130 subtracts the points from the
available autopay account 135 and/or the available points account
137. If some of the points are subtracted from the available
autopay account 135, the points processing computing device(s) 130
turns off autopay. Then, the points processing computing device(s)
130 sends the redemption confirmation 226 to the reward redemption
computing device(s) 140. Next, the reward redemption computing
device(s) 140 sends the redemption confirmation 228 to the merchant
computing device(s) 182.
[0048] Such real-time lookup and redemption of points is an
improvement over prior art systems which did not provide these
features. For example, these real-time features require support of
a large number of transactions (e.g., about 600 transactions per
second) of which many (e.g., about 90%) may be lookups. Prior art
systems enable only about 50 transactions per second, which is
insufficient to enable real-time lookup and redemption of points.
For example, if the points processing computing device(s) 130
is/are configured to perform only about 50 transactions per second,
the cache 148 may be used to provide real-time lookup and
redemption.
Computing Device
[0049] FIG. 4 is a diagram of hardware and an operating environment
in conjunction with which implementations of the one or more
computing devices of the system 100 may be practiced. The
description of FIG. 4 is intended to provide a brief, general
description of suitable computer hardware and a suitable computing
environment in which implementations may be practiced. Although not
required, implementations are described in the general context of
computer-executable instructions, such as program modules, being
executed by a computer, such as a personal computer. Generally,
program modules include routines, programs, objects, components,
data structures, etc., that perform particular tasks or implement
particular abstract data types.
[0050] Moreover, those of ordinary skill in the art will appreciate
that implementations may be practiced with other computer system
configurations, including hand-held devices, multiprocessor
systems, microprocessor-based or programmable consumer electronics,
network PCs, minicomputers, mainframe computers, and the like.
Implementations may also be practiced in distributed computing
environments (e.g., cloud computing platforms) where tasks are
performed by remote processing devices that are linked through a
communications network. In a distributed computing environment,
program modules may be located in both local and remote memory
storage devices.
[0051] The exemplary hardware and operating environment of FIG. 4
includes a general-purpose computing device in the form of the
computing device 12. Each of the computing devices of FIG. 1
(including the devices 130, 140, 150, 172, 182, and 174) may be
substantially identical to the computing device 12. By way of
non-limiting examples, the computing device 12 may be implemented
as a laptop computer, a tablet computer, a web enabled television,
a personal digital assistant, a game console, a smartphone, a
mobile computing device, a cellular telephone, a desktop personal
computer, and the like.
[0052] The computing device 12 includes a system memory 22, the
processing unit 21, and a system bus 23 that operatively couples
various system components, including the system memory 22, to the
processing unit 21. There may be only one or there may be more than
one processing unit 21, such that the processor of computing device
12 includes a single central-processing unit ("CPU"), or a
plurality of processing units, commonly referred to as a parallel
processing environment. When multiple processing units are used,
the processing units may be heterogeneous. By way of a non-limiting
example, such a heterogeneous processing environment may include a
conventional CPU, a conventional graphics processing unit ("GPU"),
a floating-point unit ("FPU"), combinations thereof, and the
like.
[0053] The computing device 12 may be a conventional computer, a
distributed computer, or any other type of computer.
[0054] The system bus 23 may be any of several types of bus
structures including a memory bus or memory controller, a
peripheral bus, and a local bus using any of a variety of bus
architectures. The system memory 22 may also be referred to as
simply the memory, and includes read only memory (ROM) 24 and
random access memory (RAM) 25. A basic input/output system (BIOS)
26, containing the basic routines that help to transfer information
between elements within the computing device 12, such as during
start-up, is stored in ROM 24. The computing device 12 further
includes a hard disk drive 27 for reading from and writing to a
hard disk, not shown, a magnetic disk drive 28 for reading from or
writing to a removable magnetic disk 29, and an optical disk drive
30 for reading from or writing to a removable optical disk 31 such
as a CD ROM, DVD, or other optical media.
[0055] The hard disk drive 27, magnetic disk drive 28, and optical
disk drive 30 are connected to the system bus 23 by a hard disk
drive interface 32, a magnetic disk drive interface 33, and an
optical disk drive interface 34, respectively. The drives and their
associated computer-readable media provide nonvolatile storage of
computer-readable instructions, data structures, program modules,
and other data for the computing device 12. It should be
appreciated by those of ordinary skill in the art that any type of
computer-readable media which can store data that is accessible by
a computer, such as magnetic cassettes, flash memory cards, solid
state memory devices ("SSD"), USB drives, digital video disks,
Bernoulli cartridges, random access memories (RAMs), read only
memories (ROMs), and the like, may be used in the exemplary
operating environment. As is apparent to those of ordinary skill in
the art, the hard disk drive 27 and other forms of
computer-readable media (e.g., the removable magnetic disk 29, the
removable optical disk 31, flash memory cards, SSD, USB drives, and
the like) accessible by the processing unit 21 may be considered
components of the system memory 22.
[0056] A number of program modules may be stored on the hard disk
drive 27, magnetic disk 29, optical disk 31, ROM 24, or RAM 25,
including the operating system 35, one or more application programs
36, other program modules 37, and program data 38. A user may enter
commands and information into the computing device 12 through input
devices such as a keyboard 40 and pointing device 42. Other input
devices (not shown) may include a microphone, joystick, game pad,
satellite dish, scanner, touch sensitive devices (e.g., a stylus or
touch pad), video camera, depth camera, or the like. These and
other input devices are often connected to the processing unit 21
through a serial port interface 46 that is coupled to the system
bus 23, but may be connected by other interfaces, such as a
parallel port, game port, a universal serial bus (USB), or a
wireless interface (e.g., a Bluetooth interface). A monitor 47 or
other type of display device is also connected to the system bus 23
via an interface, such as a video adapter 48. In addition to the
monitor, computers typically include other peripheral output
devices (not shown), such as speakers, printers, and haptic devices
that provide tactile and/or other types of physical feedback (e.g.,
a force feed back game controller).
[0057] The input devices described above are operable to receive
user input and selections. Together the input and display devices
may be described as providing a user interface.
[0058] The computing device 12 may operate in a networked
environment using logical connections to one or more remote
computers, such as remote computer 49. These logical connections
are achieved by a communication device coupled to or a part of the
computing device 12 (as the local computer). Implementations are
not limited to a particular type of communications device. The
remote computer 49 may be another computer, a server, a router, a
network PC, a client, a memory storage device, a peer device or
other common network node, and typically includes many or all of
the elements described above relative to the computing device 12.
The remote computer 49 may be connected to a memory storage device
50. The logical connections depicted in FIG. 4 include a local-area
network (LAN) 51 and a wide-area network (WAN) 52. Such networking
environments are commonplace in offices, enterprise-wide computer
networks, intranets and the Internet. The network 160 (see FIG. 1)
may be implemented using one or more of the LAN 51 or the WAN 52
(e.g., the Internet).
[0059] Those of ordinary skill in the art will appreciate that a
LAN may be connected to a WAN via a modem using a carrier signal
over a telephone network, cable network, cellular network, or power
lines. Such a modem may be connected to the computing device 12 by
a network interface (e.g., a serial or other type of port).
Further, many laptop computers may connect to a network via a
cellular data modem.
[0060] When used in a LAN-networking environment, the computing
device 12 is connected to the local area network 51 through a
network interface or adapter 53, which is one type of
communications device. When used in a WAN-networking environment,
the computing device 12 typically includes a modem 54, a type of
communications device, or any other type of communications device
for establishing communications over the wide area network 52, such
as the Internet. The modem 54, which may be internal or external,
is connected to the system bus 23 via the serial port interface 46.
In a networked environment, program modules depicted relative to
the personal computing device 12, or portions thereof, may be
stored in the remote computer 49 and/or the remote memory storage
device 50. It is appreciated that the network connections shown are
exemplary and other means of and communications devices for
establishing a communications link between the computers may be
used.
[0061] The computing device 12 and related components have been
presented herein by way of particular example and also by
abstraction in order to facilitate a high-level view of the
concepts disclosed. The actual technical design and implementation
may vary based on particular implementation while maintaining the
overall nature of the concepts disclosed.
[0062] In some embodiments, the system memory 22 stores computer
executable instructions that when executed by one or more
processors cause the one or more processors to perform all or
portions of one or more of the methods (including the method 300
illustrated in FIG. 3 and the interactions illustrated in FIG. 2)
described above. Such instructions may be stored on one or more
non-transitory computer-readable media.
[0063] The foregoing described embodiments depict different
components contained within, or connected with, different other
components. It is to be understood that such depicted architectures
are merely exemplary, and that in fact many other architectures can
be implemented which achieve the same functionality. In a
conceptual sense, any arrangement of components to achieve the same
functionality is effectively "associated" such that the desired
functionality is achieved. Hence, any two components herein
combined to achieve a particular functionality can be seen as
"associated with" each other such that the desired functionality is
achieved, irrespective of architectures or intermedial components.
Likewise, any two components so associated can also be viewed as
being "operably connected," or "operably coupled," to each other to
achieve the desired functionality.
[0064] While particular embodiments of the present invention have
been shown and described, it will be obvious to those skilled in
the art that, based upon the teachings herein, changes and
modifications may be made without departing from this invention and
its broader aspects and, therefore, the appended claims are to
encompass within their scope all such changes and modifications as
are within the true spirit and scope of this invention.
Furthermore, it is to be understood that the invention is solely
defined by the appended claims. It will be understood by those
within the art that, in general, terms used herein, and especially
in the appended claims (e.g., bodies of the appended claims) are
generally intended as "open" terms (e.g., the term "including"
should be interpreted as "including but not limited to," the term
"having" should be interpreted as "having at least," the term
"includes" should be interpreted as "includes but is not limited
to," etc.). It will be further understood by those within the art
that if a specific number of an introduced claim recitation is
intended, such an intent will be explicitly recited in the claim,
and in the absence of such recitation no such intent is present.
For example, as an aid to understanding, the following appended
claims may contain usage of the introductory phrases "at least one"
and "one or more" to introduce claim recitations. However, the use
of such phrases should not be construed to imply that the
introduction of a claim recitation by the indefinite articles "a"
or "an" limits any particular claim containing such introduced
claim recitation to inventions containing only one such recitation,
even when the same claim includes the introductory phrases "one or
more" or "at least one" and indefinite articles such as "a" or "an"
(e.g., "a" and/or "an" should typically be interpreted to mean "at
least one" or "one or more"); the same holds true for the use of
definite articles used to introduce claim recitations. In addition,
even if a specific number of an introduced claim recitation is
explicitly recited, those skilled in the art will recognize that
such recitation should typically be interpreted to mean at least
the recited number (e.g., the bare recitation of "two recitations,"
without other modifiers, typically means at least two recitations,
or two or more recitations).
[0065] Conjunctive language, such as phrases of the form "at least
one of A, B, and C," or "at least one of A, B and C," (i.e., the
same phrase with or without the Oxford comma) unless specifically
stated otherwise or otherwise clearly contradicted by context, is
otherwise understood with the context as used in general to present
that an item, term, etc., may be either A or B or C, any nonempty
subset of the set of A and B and C, or any set not contradicted by
context or otherwise excluded that contains at least one A, at
least one B, or at least one C. For instance, in the illustrative
example of a set having three members, the conjunctive phrases "at
least one of A, B, and C" and "at least one of A, B and C" refer to
any of the following sets: {A}, {B}, {C}, {A, B}, {A, C}, {B, C},
{A, B, C}, and, if not contradicted explicitly or by context, any
set having {A}, {B}, and/or {C} as a subset (e.g., sets with
multiple "A"). Thus, such conjunctive language is not generally
intended to imply that certain embodiments require at least one of
A, at least one of B, and at least one of C each to be present.
Similarly, phrases such as "at least one of A, B, or C" and "at
least one of A, B or C" refer to the same as "at least one of A, B,
and C" and "at least one of A, B and C" refer to any of the
following sets: {A}, {B}, {C}, {A, B}, {A, C}, {B, C}, {A, B, C},
unless differing meaning is explicitly stated or clear from
context.
[0066] Accordingly, the invention is not limited except as by the
appended claims.
* * * * *