U.S. patent application number 12/578780 was filed with the patent office on 2011-04-14 for determining travel routes by using auction-based location preferences.
This patent application is currently assigned to INTERNATIONAL BUSINESS MACHINES CORPORATION. Invention is credited to Gregory Jensen Boss, Rick Allen Hamilton, II, Jacquelyn Annette Martino, Clifford Alan Pickover, Anne R. Sand.
Application Number | 20110087430 12/578780 |
Document ID | / |
Family ID | 43855508 |
Filed Date | 2011-04-14 |
United States Patent
Application |
20110087430 |
Kind Code |
A1 |
Boss; Gregory Jensen ; et
al. |
April 14, 2011 |
DETERMINING TRAVEL ROUTES BY USING AUCTION-BASED LOCATION
PREFERENCES
Abstract
A method and system for determining a travel route that includes
a location as a result of an auction. A user request is received
for determining a route from point A to point B. Locations are
selected that are capable of being included along routes from point
A to point B. Selecting the locations is based on the request. An
auction among vendors is initiated. The vendor winning the auction
is determined. The route is determined so that a location of the
selected locations is included along the route. The location is
associated with the winning vendor. The determined route is
presented to the user as a recommended route.
Inventors: |
Boss; Gregory Jensen;
(Saginaw, MI) ; Hamilton, II; Rick Allen;
(Charlottesville, VA) ; Martino; Jacquelyn Annette;
(Cold Spring, NY) ; Pickover; Clifford Alan;
(Yorktown Heights, NY) ; Sand; Anne R.; (Peyton,
CO) |
Assignee: |
INTERNATIONAL BUSINESS MACHINES
CORPORATION
Armonk
NY
|
Family ID: |
43855508 |
Appl. No.: |
12/578780 |
Filed: |
October 14, 2009 |
Current U.S.
Class: |
701/533 ;
705/26.3; 705/400; 705/7.26 |
Current CPC
Class: |
G06Q 20/145 20130101;
G06Q 10/06316 20130101; G01C 21/3461 20130101; G01C 21/3484
20130101; G01S 19/42 20130101; G07B 15/06 20130101; G01C 21/3476
20130101; G01C 21/34 20130101; G06Q 30/08 20130101; G06Q 30/0283
20130101 |
Class at
Publication: |
701/202 ;
701/206; 701/208; 701/210; 705/400; 705/26.3; 705/7.26 |
International
Class: |
G01C 21/34 20060101
G01C021/34; G01C 21/00 20060101 G01C021/00; G06Q 30/00 20060101
G06Q030/00; G06Q 10/00 20060101 G06Q010/00; G06Q 50/00 20060101
G06Q050/00 |
Claims
1. A computer-implemented method of determining a recommended route
that includes a location as a result of an auction, said method
comprising: receiving a request from a user for a determination of
a route from a first point to a second point; selecting a plurality
of locations capable of being included along a plurality of routes
from said first point to said second point, wherein said selecting
said plurality of locations is based on said request; initiating an
auction among a plurality of vendors that submits a plurality of
bids in said auction, wherein said vendors and said bids are
associated in a one-to-one correspondence; determining that a
vendor of said plurality of vendors wins said auction based on a
bid of said plurality of bids, wherein said bid is associated with
said vendor; a processor of a computer system determining said
route (determined route) so that a location of said plurality of
locations is included along said determined route, wherein said
location is associated with said vendor that wins said auction
based on said bid; and presenting said determined route to said
user as said recommended route.
2. The method of claim 1, further comprising receiving said
plurality of bids submitted by said plurality of vendors, wherein
said receiving said plurality of bids is performed subsequent to
said receiving said request.
3. The method of claim 1, further comprising: receiving a plurality
of parameters from said plurality of vendors prior to said
receiving said request; and receiving said plurality of bids
submitted by said plurality of vendors, wherein said receiving said
plurality of bids is performed prior to said receiving said request
to facilitate conducting said auction as an instantaneous auction
in response to said receiving said request and said selecting said
plurality of locations, wherein said plurality of bids is based on
said plurality of parameters, and wherein said selecting said
plurality of locations is further based on said plurality of
parameters.
4. The method of claim 1, further comprising: tracking an actual
route traveled by said user subsequent to said presenting said
determined route; determining that said location is included along
said actual route; and determining a surcharge to be charged to
said vendor as a result of said determining that said location is
included along said actual route.
5. The method of claim 1, further comprising: retrieving a rule
indicating that said determined route is presented as said
recommended route by said presenting only if a difference N between
a first measurement of said determined route and a second
measurement of an optimal route from said first point to said
second point does not exceed a predefined threshold value X;
determining said difference N; determining said difference N does
not exceed said predefined threshold value X; and in response to
said determining said difference N does not exceed said predefined
threshold value X, designating said determined route as said
recommended route.
6. The method of claim 1, further comprising: receiving a second
request from a second user for a determination of a second route
from a third point to a fourth point; selecting a second plurality
of locations capable of being included along a second plurality of
routes from said third point to said fourth point, wherein said
selecting said second plurality of locations is based on said
second request; initiating a second auction among a second
plurality of vendors that submits a second plurality of bids in
said auction; determining that a vendor (winning vendor) of said
second plurality of vendors wins said second auction based on a bid
(winning bid) of said second plurality of bids, wherein said
winning bid is associated with said winning vendor; determining
said second route so that a second location is included along said
second route, wherein said second location is associated with said
winning vendor; and retrieving a rule indicating that a first
length (determined route length) of said second route is not
permitted to exceed a second length (optimal route length) of a
second optimal route from said third point to said fourth point by
more than X percent; determining said determined route length is N
percent more than said optimal route length; determining said N
percent is greater than said X percent; and in response to said
determining said N percent is greater than said X percent,
indicating said second route is not recommended to said second user
and is not to be presented to said second user.
7. The method of claim 1, further comprising: retrieving a rule
indicating that a first number of recommended routes that pass
through a constrained area is not permitted to exceed a second
number; receiving an indication of said constrained area;
presenting N recommended routes subsequent to a receipt of N
requests for N routes, wherein said N recommended routes pass
through said constrained area, and wherein said presenting said N
recommended routes includes said presenting said determined route
to said user as said recommended route; determining an (N+1)-th
route that passes through said constrained area, wherein said
determining said (N+1)-th route is based on a receipt of a request
from a second user for a determination of said (N+1)-th route;
determining said first number is not greater than said second
number, wherein said first number is said N+1; in response to said
determining said first number is not greater than said second
number, designating said (N+1)-th route as an (N+1)-th recommended
route.
8. The method of claim 1, further comprising: retrieving a rule
indicating that a first number of recommended routes that pass
through a constrained area is not permitted to exceed a second
number; receiving an indication of said constrained area;
presenting N recommended routes subsequent to a receipt of N
requests for N routes, wherein said N recommended routes pass
through said constrained area, and wherein said presenting said N
recommended routes includes said presenting said determined route
to said user as said recommended route; determining an (N+1)-th
route that passes through said constrained area, wherein said
determining said (N+1)-th route is based on a receipt of a request
from a second user for a determination of said (N+1)-th route;
determining said first number is greater than said second number,
wherein said first number is said N+1; in response to said
determining said first number is greater than said second number,
indicating that said (N+1)-th route is not a recommended route and
is not to be presented to said second user.
9. The method of claim 1, further comprising retrieving profile
data that describes one or more behaviors of said user, wherein
said selecting said location is further based on said profile data,
and wherein said profile data includes a preference of said user
for purchasing a good or a service.
10. A computer system comprising a processor coupled to a
computer-readable memory unit, said memory unit comprising a
software application, said software application comprising
instructions that when carried out by said processor implement the
method of claim 1.
11. A computer program product, comprising a computer readable
storage medium having a computer readable program code stored
therein, said computer readable program code containing
instructions executable by a processor of a computer system to
implement a method of determining a recommended route that includes
a location as a result of an auction, said method comprising:
receiving a request from a user for a determination of a route from
a first point to a second point; selecting a plurality of locations
capable of being included along a plurality of routes from said
first point to said second point, wherein said selecting said
plurality of locations is based on said request; initiating an
auction among a plurality of vendors that submits a plurality of
bids in said auction, wherein said vendors and said bids are
associated in a one-to-one correspondence; determining that a
vendor of said plurality of vendors wins said auction based on a
bid of said plurality of bids, wherein said bid is associated with
said vendor; determining said route (determined route) so that a
location of said plurality of locations is included along said
determined route, wherein said location is associated with said
vendor that wins said auction based on said bid; and presenting
said determined route to said user as said recommended route.
12. The program product of claim 11, wherein said method further
comprises receiving said plurality of bids submitted by said
plurality of vendors, wherein said receiving said plurality of bids
is performed subsequent to said receiving said request.
13. The program product of claim 11, wherein said method further
comprises: receiving a plurality of parameters from said plurality
of vendors prior to said receiving said request; and receiving said
plurality of bids submitted by said plurality of vendors, wherein
said receiving said plurality of bids is performed prior to said
receiving said request to facilitate conducting said auction as an
instantaneous auction in response to said receiving said request
and said selecting said plurality of locations, wherein said
plurality of bids is based on said plurality of parameters, and
wherein said selecting said plurality of locations is further based
on said plurality of parameters.
14. The program product of claim 11, wherein said method further
comprises: tracking an actual route traveled by said user
subsequent to said presenting said determined route; determining
that said location is included along said actual route; and
determining a surcharge to be charged to said vendor as a result of
said determining that said location is included along said actual
route.
15. The program product of claim 11, wherein said method further
comprises: retrieving a rule indicating that said determined route
is presented as said recommended route by said presenting only if a
difference N between a first measurement of said determined route
and a second measurement of an optimal route from said first point
to said second point does does not exceed a predefined threshold
value X; determining said difference N; determining said difference
N does not exceed said predefined threshold value X; and in
response to said determining said difference N does not exceed said
predefined threshold value X, designating said determined route as
said recommended route.
16. The program product of claim 11, wherein said method further
comprises: receiving a second request from a second user for a
determination of a second route from a third point to a fourth
point; selecting a second plurality of locations capable of being
included along a second plurality of routes from said third point
to said fourth point, wherein said selecting said second plurality
of locations is based on said second request; initiating a second
auction among a second plurality of vendors that submits a second
plurality of bids in said auction; determining that a vendor
(winning vendor) of said second plurality of vendors wins said
second auction based on a bid (winning bid) of said second
plurality of bids, wherein said winning bid is associated with said
winning vendor; determining said second route so that a second
location is included along said second route, wherein said second
location is associated with said winning vendor; and retrieving a
rule indicating that a first length (determined route length) of
said second route is not permitted to exceed a second length
(optimal route length) of a second optimal route from said third
point to said fourth point by more than X percent; determining said
determined route length is N percent more than said optimal route
length; determining said N percent is greater than said X percent;
and in response to said determining said N percent is greater than
said X percent, indicating said second route is not recommended to
said second user and is not to be presented to said second
user.
17. A process for supporting computing infrastructure, said process
comprising providing at least one support service for at least one
of creating, integrating, hosting, maintaining, and deploying
computer-readable code in a computing system comprising a
processor, wherein said processor carries out instructions of said
code to cause the computing system to specify a method of
determining a recommended route that includes a location as a
result of an auction, said method comprising: receiving a request
from a user for a determination of a route from a first point to a
second point; selecting a plurality of locations capable of being
included along a plurality of routes from said first point to said
second point, wherein said selecting said plurality of locations is
based on said request; initiating an auction among a plurality of
vendors that submits a plurality of bids in said auction, wherein
said vendors and said bids are associated in a one-to-one
correspondence; determining that a vendor of said plurality of
vendors wins said auction based on a bid of said plurality of bids,
wherein said bid is associated with said vendor; a processor of a
computer system determining said route (determined route) so that a
location of said plurality of locations is included along said
determined route, wherein said location is associated with said
vendor that wins said auction based on said bid; and presenting
said determined route to said user as said recommended route.
18. The process of claim 17, wherein said method further comprises
receiving said plurality of bids submitted by said plurality of
vendors, and wherein said receiving said plurality of bids is
performed subsequent to said receiving said request.
19. The process of claim 17, wherein said method further comprises:
receiving a plurality of parameters from said plurality of vendors
prior to said receiving said request; and receiving said plurality
of bids submitted by said plurality of vendors, wherein said
receiving said plurality of bids is performed prior to said
receiving said request to facilitate conducting said auction as an
instantaneous auction in response to said receiving said request
and said selecting said plurality of locations, wherein said
plurality of bids is based on said plurality of parameters, and
wherein said selecting said plurality of locations is further based
on said plurality of parameters.
20. The process of claim 17, wherein said method further comprises:
tracking an actual route traveled by said user subsequent to said
presenting said determined route; determining that said location is
included along said actual route; and determining a surcharge to be
charged to said vendor as a result of said determining that said
location is included along said actual route.
Description
FIELD OF THE INVENTION
[0001] The present invention relates to a data processing method
and system for providing a location preference in a routing
algorithm, and more particularly to technique for determining
travel routes that include locations as a result of auctions.
BACKGROUND OF THE INVENTION
[0002] With an increased use of Global Positioning System (GPS)
units to determine travel routes, travelers are following routes
recommended to them, rather than using maps or following familiar
paths. Conventional route planning systems determine optimal routes
based on different preferred conditions, including minimizing
travel time or minimizing the distance traveled. By focusing on
optimal route determination, known route planning systems fail to
consider non-optimal routes whose presentation to travelers may
have value to other parties. Further, the conventional route
planning systems fail to account for a dynamic market value
associated with presenting a route to a traveler. Thus, there
exists a need to overcome at least one of the preceding
deficiencies and limitations of the related art.
SUMMARY OF THE INVENTION
[0003] In one or more embodiments, the present invention provides a
computer-implemented method of determining a route that includes a
location as a result of an auction. The method comprises:
[0004] receiving a request from a user for a determination of a
route from a first point to a second point;
[0005] selecting a plurality of locations capable of being included
along a plurality of routes from the first point to the second
point, wherein the selecting the plurality of locations is based on
the request;
[0006] initiating an auction among a plurality of vendors that
submits a plurality of bids in the auction, wherein the vendors and
the bids are associated in a one-to-one correspondence;
[0007] determining that a vendor of the plurality of vendors wins
the auction based on a bid of the plurality of bids, wherein the
bid is associated with the vendor;
[0008] a processor of a computer system determining the route so
that a location of the plurality of locations is included along the
route, wherein the location is associated with the vendor that wins
the auction based on the bid; and presenting the determined route
to the user as the recommended route.
[0009] A system, program product and process for supporting
computing infrastructure corresponding to the above-summarized
method is also described and claimed herein.
[0010] The present invention provides a technique for presenting
travel routes to travelers, where the routes are generated so as to
include locations associated with vendors that submit winning bids
in auctions.
BRIEF DESCRIPTION OF THE DRAWINGS
[0011] FIG. 1 is a block diagram of a system for determining a
travel route that includes a location based on an auction, in
accordance with embodiments of the present invention.
[0012] FIG. 2 is a flowchart of a process for determining a travel
route in the system of FIG. 1, where the travel route includes a
location as a result of a real-time auction, in accordance with
embodiments of the present invention.
[0013] FIG. 3 is a flowchart of a process for determining a travel
route in the system of FIG. 1, where the travel route includes a
location as a result of an auction initiated prior to a request for
the travel route, in accordance with embodiments of the present
invention.
[0014] FIG. 4 is a flowchart of a process that determines a route
according to the process of FIG. 2 or FIG. 3 and that determines
additional fee(s) for auction winner(s) based on an actual route
taken, in accordance with embodiments of the present invention.
[0015] FIG. 5 is a flowchart of a process that determines a travel
route according to the process of FIG. 2 or FIG. 3 and based on a
rule that limits distance, in accordance with embodiments of the
present invention.
[0016] FIG. 6 is a flowchart of a process that determines a travel
route according to the process of FIG. 2 or FIG. 3 and based on a
rule that limits the number of recommended routes that pass through
a constrained area, in accordance with embodiments of the present
invention.
[0017] FIG. 7 is a block diagram of a computer system included in
the system of FIG. 1 and that implements the process of FIG. 2
and/or the process of FIG. 3, in accordance with embodiments of the
present invention.
DETAILED DESCRIPTION OF THE INVENTION
Overview
[0018] Embodiments of the present invention provide a preference
for a given route to pass by a particular location, based on an
auction. Multiple vendors and/or other entities bid in an auction
to ensure that a route recommended to a user (i.e., traveler)
passes by a particular location associated with the winning bidder
(i.e., the vendor or other entity that submits the winning bid). In
one embodiment, a route calculation service utilizes an algorithm
that takes into account a user's profile information to determine
the particular vendors and/or other entities that are permitted to
bid in an auction to determine a travel route. In another
embodiment, additional route generation rules may be applied to
determine whether the route determined by the auction is actually
presented to a user as a recommended route.
System for Determining a Route by Using an Auction-Based Location
Preference
[0019] FIG. 1 is a block diagram of a system for determining a
travel route that includes a location as a result of an auction won
by a bid submitted by a vendor associated with the location, in
accordance with embodiments of the present invention. As used
herein, an auction has multiple vendors and/or other entities
submitting bids for determining a route that includes a location
associated with the winning bidder. The vendor or other entity
submitting a winning bid (e.g., the highest bid) ensures that a
travel route recommended to a user passes by a location associated
with the vendor or other entity that submitted the winning bid.
System 100 includes a central computer system 102, computer systems
104-1 . . . 104-N of auction participants 1 . . . N (i.e., vendors
and/or vendors and/or other entities), a network 106, and a vehicle
108 that includes a software-implemented route calculation service
(RCS) 110 and optionally a global positioning system (GPS) 112.
System 100 may also include optional user profile data 114 and one
or more optional route calculation rules 116. User profile data 114
and route calculation rules 116 may be stored in one or more
computer data storage units coupled to central computer system 102
or coupled to a data processing unit (e.g., GPS 112) residing in
vehicle 108.
[0020] Computer systems 104-1 . . . 104-N are managed by auction
participants 1 . . . N, respectively, where N.gtoreq.1. The auction
participants 1 . . . N are herein also referred to as vendors 1 . .
. N. The present invention contemplates that the vendors 1 . . . N
may include one or more businesses and/or one or more other types
of organizational entities. Via a network (not shown), computer
systems 104-1 . . . 104-N send identifications of vendors 1 . . . N
and identifications of multiple locations to central computer
system 102 to indicate that vendors 1 . . . N may participate in an
auction-based location preference system managed by central
computer system 102. Each vendor in vendors 1 . . . N is associated
with one or more locations of the aforementioned multiple
locations. For example, if Vendor 1 is associated with Location 1
and Vendor 1 is the owner of a grocery store, then Location 1 may
be the site of the grocery store.
[0021] RCS 110 receives the identifications of the vendors 1 . . .
N and the identifications of the multiple locations from central
computer system 102 via network 106. RCS 110 determines a travel
route that includes a location associated with a vendor included in
vendors 1 . . . N, where the vendor submitted a winning bid in an
auction. In one embodiment, the central computer system 102
receives indications from multiple route calculation services in
multiple vehicles (e.g., route calculation service 110 in vehicle
108 and other route calculation services in other vehicles not
vehicles not shown in FIG. 1) of which vendors have submitted
winning bids in auctions and notifies the vendor computer systems
of computer systems 104-1 . . . 104-N that are managed by the
vendors who submitted winning bids. The determination of the travel
route may also be based on user profile data 114 and/or route
calculation rules 116. Further descriptions of the functionality of
components of system 100 are found in the discussions below
relative to FIGS. 2-6.
Processes for Determining a Route by Using an Auction-Based
Location Preference
[0022] FIG. 2 is a flowchart of a process for determining a travel
route in the system of FIG. 1, where the process includes a
location in the travel route as a result of a real-time auction won
by a bid submitted by a vendor associated with the location, in
accordance with embodiments of the present invention. The process
of determining a travel route by using a real-time auction in the
system of FIG. 1 starts at step 200. In step 202, RCS 110 (see FIG.
1) receives identifications of vendor(s) and location(s) associated
with the vendor(s), where the vendor(s) are potential participants
in a real-time auction to determine a travel route. That is, RCS
110 (see FIG. 1) receives an identification of each vendor who may
bid in a real-time auction to ensure that a location associated
with the vendor is included in a travel route determined by the
RCS. The location(s) are associated with the vendor(s) in a
one-to-one correspondence. In one embodiment, the location
associated with the vendor is a site (e.g., identified by address
or geographic coordinates) at which the vendor conducts
business.
[0023] In step 204, RCS 110 (see FIG. 1) receives a request issued
by a user of GPS 112 (see (see FIG. 1) for a travel route for
vehicle 108 (see FIG. 1) to travel from a first geographic location
(a.k.a. point A, first point or starting point) to a second
geographic location (a.k.a. point B, second point or ending point).
The request received in step 204 may include, for example, the
addresses or geographic coordinates of point A and point B.
[0024] In step 206, RCS 110 (see FIG. 1) optionally retrieves user
profile data from a computer data storage unit, where the user
profile data describes the user who issued the request in step 204.
The user profile data includes data describing the user's past
behavior and may also include predicted future behavior of the
user. The user profile data may include one or more preferences
that a user has for purchasing one or more particular goods and/or
one or more particular services, where the preference(s) may be
based on, for example, past purchases made by the user and/or
user-specified selections of goods and/or services.
[0025] In step 208, based on the request received in step 204 and
based on user profile data if user profile data is retrieved in
step 206, RCS 110 (see FIG. 1) selects a plurality of locations of
the locations whose identifications are received in step 202. A
routing algorithm implemented by RCS 110 (see FIG. 1) can include
one or more locations of the plurality of locations selected in
step 208 along a route that conforms to the request received in
step 204. As used herein, a location included along a route is
defined as a location that is located at an address on a segment of
the route or is located at a nearest distance to the route where
the nearest distance does not exceed a predefined distance or a
user-specified distance. A location included along a route is
further defined to be not the starting point of the route and not
the ending point of the route.
[0026] In step 210, for vendors associated with the locations
selected in step 208, RCS 110 (see FIG. 1) initiates an auction.
The auction is conducted by central computer system 102 (see FIG.
1) to determine winning bid(s) and the vendor(s) (i.e., winning
vendor(s)) that submit the winning bid(s). The winning bid(s) by
winning vendor(s) ensure that a route from point A to point B that
is to be presented to the user includes location(s) associated with
the winning vendor(s). In one embodiment, the central computer
system determines a winning bid as being the highest-valued bid in
the auction. In another embodiment, the central computer system
determines multiple winning bids from multiple vendors, where the
multiple vendors do not compete with each other in terms of the
goods and/or services they offer according to predefined
criteria.
[0027] In step 212, RCS 110 (see FIG. 1) determines a route from
point A to point B that conforms to the request received in step
204 and that includes the location(s) associated with the winning
vendor(s). The determination of the route in step 212 may also be
based on user profile data optionally retrieved in step 206.
[0028] In one embodiment, RCS 110 (see FIG. 1) notifies the user if
user profile data is a basis for the route determined in step 212.
In another embodiment, the user is not notified if user profile
data is a basis for the route determined in step 212.
[0029] In step 214, RCS 110 (see FIG. 1) instructs a data
processing system (e.g., GPS 112 in FIG. 1) residing in vehicle 108
(see FIG. 1) that the route determined in step 212 is to be
presented to the user as a recommended route. In response, the data
processing system (e.g., GPS 112 in FIG. 1) presents (e.g.,
displays) the route determined in step 212 to the user as a
recommended route. After the recommended route is presented and in
response to the user traveling the recommended route and actually
driving past a location associated with a winning vendor, an entity
controlling the RCS, the user, and/or another party (e.g., a
charitable organization) are organization) are compensated for
their participation based on the amount bid by the winning vendor.
The process of FIG. 2 ends at step 216.
[0030] In one embodiment, step 214 also includes the RCS notifying
the user that the recommended route passes by the aforementioned
location(s) and that the winning vendor(s) are associated with the
location(s). The notification to the user may also include an
identification of a category of goods and/or services provided by a
winning vendor.
[0031] As an example of a portion of the process of FIG. 2, RCS 110
(see FIG. 1) receives a user's request for determining a route from
point A to point B (see step 204). The RCS retrieves the user's
profile data (see step 206), which indicates that the user likes
luxury automobiles. Based on the user's request and the retrieved
profile data that indicates that user likes luxury automobiles, the
RCS selects Location 1 (i.e., the location of Dealer X) and
Location 2 (i.e., the location of Dealer Y), where Dealer X and
Dealer Y are luxury automobile dealers (see step 208). Location 1
or Location 2 may be included along a route from point A to point
B, where the route is to be determined by the RCS. The RCS invites
Dealer X and Dealer Y to participate in an auction (e.g., via web
services) to ensure that the route to be determined passes by
Location 1 if Dealer X wins the auction or Location 2 if Dealer Y
wins the auction (see step 210). In the auction, Dealer X bids
$1.10 to ensure that the route passes by Location 1 and Dealer Y
bids $1.05 to ensure that the route passes by Location 2. Since
Dealer X's bid amount is greater than Dealer Y's bid amount, Dealer
X wins the auction and RCS determines a route from point A to point
B that passes by Location 1. The RCS directs a system in the
vehicle of the user to display the determined route from point A to
point B as a recommended route (see step 214). The RCS notifies the
user that the recommended route passes by Location 1 and that
Location 1 is associated with Dealer X. After the user takes the
recommended route and actually drives past Location 1, an entity
controlling the RCS and the user are paid for their participation
based on the amount bid by Dealer X in the auction.
[0032] In a variation of the example presented above with Dealer X
and Dealer Y participating in an auction, multiple routes from
point A to point B (including the recommended route) are presented
to the user and the user is compensated (e.g., with a credit to an
account) in response to the user selecting the recommended route
instead of the other presented routes.
[0033] In another example, a user requests a route from point A to
point B (see step 204) and the user's profile data indicates a
preference for luxury automobiles and for visiting coffee shops
(see step 206). The auction (see step 210) accepts bids from a
first set of luxury automobile dealer vendors and bids from a
second set of coffee shop vendors. The result of the auction is
that Luxury Automobile Dealer 1 (i.e., the luxury automobile dealer
that submitted the highest bid among the first set of vendors) is a
first winning vendor and Coffee Shop 1 (i.e., the coffee shop
vendor that submitted the highest bid among the second set of
vendors) is a second winning vendor. The RCS determines a route
from point A to point B (see step 212) that includes Location 1 and
Location 2, where Location 1 is the site at which Luxury Automobile
Dealer 1 conducts business and where Location 2 is the site of
Coffee Shop 1.
[0034] FIG. 3 is a flowchart of a process for determining a travel
route in the system of FIG. 1, where the process includes a
location in the travel route as a result of an auction initiated
prior to receiving a request for determining the route (a.k.a. an
ahead-of-time auction), in accordance with embodiments of the
present invention. The process of determining a travel route by
using an ahead-of-time auction in the system of FIG. 1 starts at
step 300. In step 302, RCS 110 (see FIG. 1) FIG. 1) receives
parameters from vendors and bids from vendors for an auction in
which the winning bid(s) submitted by winning vendor(s) ensure that
a route to be presented to a user includes location(s) associated
with the winning vendor(s). The location(s) are associated with the
vendor(s) in a one-to-one correspondence. In one embodiment, the
location associated with the vendor is a site (e.g., identified by
an address or geographic coordinates) at which the vendor conducts
business.
[0035] One or more parameters received in step 302 may specify how
a particular vendor's bid in the auction varies based on predefined
criteria. For example, parameters may specify how a vendor's bid
varies by: the time of day at which the route is requested, the
value of a particular customer based on the customer's past
behavior (e.g., past purchases) or predicted future behavior in the
user profile data, and/or events that occurred (or will occur)
within a specified time period in an area through which a requested
route passes.
[0036] One or more parameters received in step 302 may specify a
pre-cached auction bid. Multiple vendors may submit pre-cached
auction bids that allow the auction to be conducted instantaneously
(see step 310) in response to receiving the user's request for a
route from point A to point B (see step 304) and selecting
locations that can be included along routes from point A to point B
(see step 308). In one embodiment, the parameter(s) specifying a
pre-cached auction bid by a vendor includes the vendor's maximum
bid amount for auctions to be conducted. In another embodiment, the
parameters include X and N, where the vendor's maximum pre-cached
auction bid amount X is submitted for N auctions. In still another
embodiment, the parameters include X, N and T, where the vendor's
maximum pre-cached auction bid amount X is submitted for N
auctions, where there is not less than T time units between
successive auctions. For example, a example, a vendor may specify
parameters that indicate the vendor is willing to bid up to $1.20
20 times for auctions where successive auctions are not less than
20 minutes apart.
[0037] In step 304, RCS 110 (see FIG. 1) receives a request issued
by a user of GPS 112 (see FIG. 1) for a travel route for vehicle
108 (see FIG. 1) to travel from a first geographic location (a.k.a.
point A, first point or starting point) to a second geographic
location (a.k.a. point B, second point or ending point). The
request received in step 304 may include, for example, the
addresses or geographic coordinates of point A and point B.
[0038] In step 306, RCS 110 (see FIG. 1) optionally retrieves user
profile data from a computer data storage unit, where the user
profile data describes the user who issued the request in step 304.
The user profile data includes data describing the user's past
behavior and may also include predicted future behavior of the
user. The user profile data may include one or more preferences
that a user has for purchasing one or more particular goods and/or
one or more particular services, where the preference(s) may be
based on, for example, past purchases made by the user and/or
user-specified selections of goods and/or services.
[0039] In step 308, based on the request received in step 304, the
parameters received in step 302, and the user profile data if the
user profile data is retrieved in step 306, RCS 110 (see FIG. 1)
selects a plurality of locations of the locations associated with
the vendors whose bids are received in step 302. A routing
algorithm implemented by RCS 110 (see FIG. 1) can include one or
more locations of the plurality of locations selected in step 308
along a route that conforms to the request received in step
304.
[0040] In step 310, for vendors associated with the locations
selected in step 308, RCS 110 (see FIG. 1) completes the auction by
determining the winning bid(s) and the winning vendor(s) that
submit the winning bid(s) in the auction. The winning bid(s) by
winning vendor(s) ensure that a route from point A to point B that
is to be presented to the user includes location(s) associated with
the winning vendor(s).
[0041] In step 312, RCS 110 (see FIG. 1) determines a route from
point A to point B that conforms to the request received in step
304 and that includes the location(s) associated with the winning
vendor(s). The determination of the route in step 312 may also be
based on user profile data optionally retrieved in step 306.
[0042] In one embodiment, RCS 110 (see FIG. 1) notifies the user if
user profile data is a basis for the route determined in step 312.
In another embodiment, the user is not notified if user profile
data is a basis for the route determined in step 312.
[0043] In step 314, RCS 110 (see FIG. 1) instructs a data
processing system (e.g., GPS 112 in FIG. 1) residing in vehicle 108
(see FIG. 1) that the route determined in step 312 is to be
presented to the user as a recommended route. In response, the data
processing system (e.g., GPS 112 in FIG. 1) presents (e.g.,
displays) the route determined in step 312 to the user as a
recommended route. After the recommended route is presented and in
response to the user traveling the recommended route and actually
driving past a location associated with a winning vendor, an entity
controlling the RCS, the user, and/or another party (e.g., a
charitable organization) are compensated for their participation
based on the amount bid by the winning vendor. The process of FIG.
3 ends at step 316.
[0044] In one embodiment, step 314 also includes the RCS notifying
the user that the recommended route passes by the aforementioned
location(s) and that the winning vendor(s) are associated with the
location(s). The notification to the user may also include an
identification of a a category of goods and/or services provided by
a winning vendor.
[0045] In an alternate embodiment, instead of having the RCS 110
(see FIG. 1) push a route, a user may pull a route based on
explicit user profile data items being specified for a particular
trip event that requires a travel route to be determined and
recommended. For example, the user may specify a distance over and
above the length of the shortest route that the user is willing to
travel. As another example, the user may specify service(s) and/or
product(s) (e.g., grocery store) the user would like to travel near
during a given trip. The route determined in step 212 (see FIG. 2)
or in step 312 may include location(s) selected in step 208 (see
FIG. 2) or step 308, respectively, where the location(s) are
selected because they provide the service(s) and/or product(s)
specified by the user.
[0046] Possible methods for funding and providing incentives for
the processes in FIG. 2 and FIG. 3 may include: [0047] 1. Based on
the winning bid, a fee is charged to the winning vendor whose
location is included in the recommended route and the user who is a
customer of the vendor is not compensated. [0048] 2. The user
(i.e., the customer of the winning vendor whose location is
included in the recommended route) is compensated directly (e.g.,
with cash, reimbursements for tolls incurred along the route,
credits for spending at the vendor's store, etc.). [0049] 3.
Compensation may optionally be given to nonprofit causes, including
charities or green initiatives.
Additional Fee Based on Actual Route Taken
[0050] FIG. 4 is a flowchart of a process for determining a
surcharge based on an actual route taken subsequent to a
presentation of a recommended route in the process of FIG. 2 or
FIG. 3, in accordance with embodiments of the present invention.
The surcharge determination process of FIG. 4 starts at step 400.
In step 402, by performing the steps of the process of FIG. 2 or
FIG. 3, RCS 110 (see FIG. 1) determines a travel route that
includes location(s) associated with winning vendor(s) and the
determined travel route is presented to the user as a recommended
route.
[0051] In step 404, GPS 112 (see FIG. 1) located in the user's
vehicle 108 (see FIG. 1) tracks the actual route taken by the
user's vehicle.
[0052] In step 406, RCS 110 (see FIG. 1) determines whether one or
more locations that are included in the recommended route and that
are associated with one or more winning vendor(s) are included in
the actual route traveled by the user in vehicle 108 (see FIG. 1).
In one embodiment, step 406 includes RCS 110 (see FIG. 1)
determining whether the actual route traveled by vehicle 108 (see
FIG. 1) is the recommended route determined in step 402.
[0053] If step 406 determines that location(s) associated with
winning vendor(s) are located along the actual route taken by
vehicle 108 (see FIG. 1), then in step 408 RCS 110 (see FIG. 1)
determines surcharge(s) to be charged to the winning vendor(s)
associated with the location(s) that are along the actual route
taken by the user's vehicle. For example, if Vendor 1 is a winning
vendor that had bid X in the auction initiated in step 210 (see
FIG. 2) or step 302 (see FIG. 3) and a surcharge determined in step
408 to be charged to Vendor 1 is S, then Vendor 1 pays X+S as a
result of Vendor 1 winning the auction and the user's vehicle
traveling an actual route that includes the location associated
with Vendor 1.
[0054] Different vendors may be charged the same or different
surcharges, where the surcharges are determined in step 408.
[0055] Following step 408, the process of FIG. 4 ends at step 410.
Returning to step 406, if RCS 110 (see FIG. 1) determines that no
location(s) associated with the winning vendor(s) are along the
actual route taken by vehicle 108 (see FIG. 1), then the process of
FIG. 4 ends at step 410.
Rule-Based Route Determination
[0056] A rule-based route determination process determines a route
according to the process of FIG. 2 through step 212 or the process
of FIG. 3 through step 312, and indicates whether or not the
determined route is a recommended route based on the application of
a predefined route calculation rule (i.e., based on whether a
measurement of the determined route satisfies a predefined rule).
One or more route calculation rules 116 (see FIG. 1) are received
and stored in a computer data storage unit. The computer data
storage unit may be coupled to GPS 112 (see FIG. 1) or computer
system 102 (see FIG. 1). The received route calculation rule(s) 116
(see FIG. 1) indicate that one or more measurements of a
recommended route from point A to point B presented in the process
of FIG. 2 or FIG. 3 are not permitted to differ from one or more
corresponding measurements of an optimal route from point A to
point B by more than one or more corresponding predefined threshold
values. The difference between the measurement of a recommended
route and the corresponding measurement of the optimal route, and
the corresponding predefined threshold value may be expressed as a
number of units of the measurement, a percentage, or a ratio.
[0057] One rule 116 may indicate that the distance of a recommended
route must not exceed a distance of a shortest-distance route from
point A to point B by more than X % or by more than a distance of X
units (e.g., X miles), where X is a predefined value (see the
discussion of FIG. 5 presented below). Another rule 116 may
indicate that the time for traveling the recommended route from
point A to point B must not exceed a time for traveling the
shortest-time route from point A to point B by more than X % or by
more than a time of X units (e.g., X minutes), where X is a
predefined value.
[0058] In the rule-based route determination process, RCS 110 (see
FIG. 1) retrieves a rule 116 from the aforementioned computer data
storage unit, where the rule states that in order for a determined
route to be a recommended route, the difference N between a
measurement of the determined route and a corresponding measurement
of an optimal route must not exceed threshold value X. The optimal
route is the route that is optimized according to the corresponding
measurement.
[0059] If RCS 110 (see FIG. 1) determines the difference N is not
greater than threshold value X, then the RCS designates the
determined route to be a recommended route, the GPS 112 (see FIG.
1) presents (e.g., displays) the recommended route to the user, and
the rule-based route determination process ends.
[0060] If RCS 110 (see FIG. 1) determines that the difference N is
greater than the threshold value X, then the RCS indicates that the
determined route is not a recommended route and is not to be
presented to the user and the rule-based route determination
process ends.
[0061] In one embodiment, the rule-based route determination
process utilizes a distance limiting rule, as described below
relative to FIG. 5.
Rule Limiting the Distance of a Recommended Route
[0062] FIG. 5 is a flowchart of a process for determining a travel
route according to the process of FIG. 2 or FIG. 3 and based on a
rule that limits the distance of the recommended route, in
accordance with embodiments of the present invention. The process
of FIG. 5 begins at step 500. In step 502, one or more route
calculation rules 116 (see FIG. 1) are received and stored in a
computer data storage unit. The computer data storage unit may be
coupled to GPS 112 (see FIG. 1) or computer system 102 (see FIG.
1). The received route calculation rule(s) 116 (see FIG. 1) include
a distance-limiting rule that indicates that the length of a
recommended route from point A to point B presented in the process
of FIG. 2 or FIG. 3 is not permitted to exceed the length of an
optimal (i.e., shortest) route from point A to point B by more than
X %.
[0063] In step 504, steps 202-212 (see FIG. 2) or steps 302-312
(see FIG. 3) are performed by RCS 110 (see FIG. 1) to determine a
route from point A to point B.
[0064] In step 506, RCS 110 (see FIG. 1) retrieves the
distance-limiting rule from the aforementioned computer data
storage unit. Also in step 506, RCS 110 (see FIG. 1) determines
that the length of the route determined in step 504 is N % more
than the length of the optimal route from point A to point B.
[0065] If RCS 110 (see FIG. 1) determines in step 508 that N % is
not greater than X %, then the No branch of step 508 is taken and
step 510 is performed. In step 510, RCS 110 (see FIG. 1) designates
the route determined in step 504 as a recommended route. In step
512, the GPS 112 (see FIG. 1) presents (e.g., displays) the
recommended route to the user. The process of FIG. 5 ends at step
514.
[0066] Returning to step 508, if RCS 110 (see FIG. 1) determines
that N % is greater than X %, then in step 516 the RCS indicates
that the route determined in step 504 is not a recommended route
and is not to be presented to the user. Following step 516, the
process of FIG. 5 ends at step 514.
[0067] In an alternate embodiment, the rule received in step 502
indicates that the length of the recommended route is not permitted
to exceed the length of the optimal route by more than a distance X
(e.g., X miles) and step 506 determines that the length of the
route determined in step 504 is a distance N longer than the length
of the optimal route. Furthermore, in this alternate embodiment,
step 508 determines whether N>X.
Rule Limiting the Number of Recommended Routes
[0068] FIG. 6 is a flowchart of a process for determining a travel
route according to the process of FIG. 2 or FIG. 3 and based on a
rule that limits the number of recommended routes that pass through
a constrained area. The process of FIG. 6 starts at step 600. In
step 602, one or more route calculation rules 116 (see FIG. 1) are
received and stored in a computer data storage unit. The computer
data storage unit may be coupled to GPS 112 (see FIG. 1) or
computer system 102 (see FIG. 1). The received route calculation
rule(s) 116 (see FIG. 1) include a recommended routes
quantity-limiting rule that indicates that the number of
recommended routes presented by multiple performances of steps
204-214 (see FIG. 2) or steps 304-314 (see FIG. 3), where the
recommended routes pass through a constrained area, is not
permitted to exceed a predefined predefined number X.
[0069] In step 604, RCS 110 (see FIG. 1) receives an indication of
an area (a.k.a. constrained area) that is constrained according to
predefined criteria.
[0070] In step 606, the steps 204-214 (see FIG. 2) or steps 304-314
(see FIG. 3) are performed and may be repeated until N routes
determined by step 212 (see FIG. 2) or step 312 (see FIG. 3) are
recommended and presented in step 214 (see FIG. 2) or step 314 (see
FIG. 3), where N.gtoreq.1, and where each of the N recommended
routes pass through the constrained area indicated in step 604.
[0071] In step 608, steps 204-212 (see FIG. 2) or steps 304-312
(see FIG. 3) are performed to determine an (N+1)-th route that
passes through the constrained area whose indication is received in
step 604.
[0072] If RCS 110 (see FIG. 1) determines in step 610 that N+1 is
not greater than X, then the No branch of step 610 is taken and
step 612 is performed. In step 612, RCS 110 (see FIG. 1) designates
the (N+1)-th route determined in step 608 as the (N+1)-th
recommended route. In step 614, the GPS 112 (see FIG. 1) presents
(e.g., displays) the (N+1)-th recommended route to the user. The
process of FIG. 6 ends at step 616.
[0073] Returning to step 610, if RCS 110 (see FIG. 1) determines
that N+1 is greater than X, then in step 618 the RCS indicates that
the (N+1)-th route determined in step 608 is not a recommended
route and is not to be presented to the user. In one embodiment,
step 618 indicates that the (N+1)-th route is not a recommended
route and is not to be presented to the user in order to prevent a
traffic jam in the constrained area. Following step 618, the
process of FIG. 6 ends at step 616.
[0074] In an alternate embodiment, step 618 is replaced with (1)
the RCS 110 (see FIG. 1) identifying the constrained area as having
congested traffic based on the N recommended routes previously
presented to users (or based on an indication received by the RCS
in a previous step), (2) the RCS determining that the (N+1)-th
route passes through the area of congested traffic, and (3) the RCS
determining a fee to charge a vendor whose associated location is
along the (N+1)-th route. The fee is charged for proposing routes
for any additional vehicles to travel through the congested area,
thereby promoting environmental stewardship by potentially reducing
the number of additional vehicles entering the congested area.
Computer System
[0075] FIG. 7 is a computer system that is included in the system
of FIG. 1 and that implements the process of FIG. 2 and/or the
process of FIG. 3, in accordance with embodiments of the present
invention. Computer system 700 generally comprises a central
processing unit (CPU) 702, a memory 704, an input/output (I/O)
interface 706, and a bus 708. Further, computer system 700 is
coupled to I/O devices 710 and a computer data storage unit 712.
CPU 702 performs computation and control functions of computer
system 700. CPU 702 may comprise a single processing unit, or be
distributed across one or more processing units in one or more
locations (e.g., on a client and server). In one embodiment,
computer system 700 implements RCS 110 (see FIG. 1) and may reside
in vehicle 108 (see FIG. 1). In one embodiment, computer system 700
is GPS 112 (see FIG. 1).
[0076] Memory 704 may comprise any known computer readable storage
medium, which is described below. In one embodiment, cache memory
elements of memory 704 provide temporary storage of at least some
program code (e.g., program code 714) in order to reduce the number
of times code must be retrieved from bulk storage while
instructions of the program code are carried out. Moreover, similar
to CPU 702, memory 704 may reside at a single physical location,
comprising one or more types of data storage, or be distributed
across a plurality of physical systems in various forms. Further,
memory 704 can include data distributed across, for example, a
local area network (LAN) or a wide area network (WAN).
[0077] I/O interface 706 comprises any system for exchanging
information to or from an external source. I/O devices 710 comprise
any known type of external device, including a display device
(e.g., monitor), keyboard, mouse, printer, speakers, handheld
device, facsimile, etc. Bus etc. Bus 708 provides a communication
link between each of the components in computer system 700, and may
comprise any type of transmission link, including electrical,
optical, wireless, etc.
[0078] I/O interface 706 also allows computer system 700 to store
and retrieve information (e.g., data or program instructions such
as program code 714) from an auxiliary storage device such as
computer data storage unit 712 or another computer data storage
unit (not shown). Computer data storage unit 712 may comprise any
known computer readable storage medium, which is described below.
For example, computer data storage unit 712 may be a non-volatile
data storage device, such as a magnetic disk drive (i.e., hard disk
drive) or an optical disc drive (e.g., a CD-ROM drive which
receives a CD-ROM disk).
[0079] Memory 704 may include computer program code 714 that
provides the logic for determining a travel route that includes a
location as a result of an auction (e.g., the process of FIG. 2 or
FIG. 3). Further, memory 704 may include other systems not shown in
FIG. 7, such as an operating system (e.g., Linux) that runs on CPU
702 and provides control of various components within and/or
connected to computer system 700.
[0080] Memory 704, storage unit 712, and/or one or more other
computer data storage units (not shown) that are coupled to
computer system 700 may store a database (e.g., central database
104 in FIG. 1). The database stored by storage unit 712 may include
user profile data 114 (see FIG. 1) and/or route calculation rules
116 (see FIG. 1).
[0081] As will be appreciated by one skilled in the art, the
present invention may be embodied as a system, method or computer
program product. Accordingly, aspects of the present invention may
take the form of an entirely hardware embodiment, an entirely
software embodiment (including firmware, resident software,
micro-code, etc.) or an embodiment combining software and hardware
aspects that may all generally be referred to herein as a "module"
or "system" (e.g., system 100 in FIG. 1 or computer system 700).
Furthermore, an embodiment of the present invention may take the
form of a computer program product embodied in one or more computer
readable medium(s) (e.g., memory 704 or computer data storage unit
712) having computer readable program code (e.g., program code 714)
embodied or stored thereon.
[0082] Any combination of one or more computer readable medium(s)
(e.g., memory 704 and computer data storage unit 712) may be
utilized. The computer readable medium may be a computer readable
signal medium or a computer readable storage medium. A computer
readable storage medium may be, for example, but not limited to, an
electronic, magnetic, optical, electromagnetic, infrared or
semiconductor system, apparatus, device or any suitable combination
of the foregoing. A non-exhaustive list of more specific examples
of the computer-readable storage medium includes: an electrical
connection having one or more wires, a portable computer diskette,
a hard disk, a random access memory (RAM), a read-only memory
(ROM), an erasable programmable read-only memory (EPROM or Flash
memory), an optical fiber, a portable compact disc read-only memory
(CD-ROM), an optical storage device, a magnetic storage device, or
any suitable combination of the foregoing. In the context of this
document, a computer readable storage medium may be any tangible
medium that can contain or store a program for use by or in
connection with a system, apparatus, or device for carrying out
instructions.
[0083] A computer readable signal medium may include a propagated
data signal with computer readable program code embodied therein,
for example, in baseband or as part of a carrier wave. Such a
propagated signal may take any of a variety of forms, including,
but not limited to, electromagnetic, optical, or any suitable
combination thereof. A computer readable signal medium may be any
computer readable medium that is not a computer readable storage
medium and that can communicate, propagate, or transport a program
for use by or in connection with a system, apparatus, or device for
carrying out instructions.
[0084] Program code (e.g., program code 714) embodied on a computer
readable medium may be transmitted using any appropriate medium,
including but not limited to wireless, wireline, optical fiber
cable, RF, etc., or any suitable combination of the foregoing.
[0085] Computer program code (e.g., program code 714) for carrying
out operations for aspects of the present invention may be written
in any combination of one or more programming languages, including
an object oriented programming language such as Java.RTM.,
Smalltalk, C++ or the like and conventional procedural programming
languages, such as the "C" programming language or similar
programming languages. Instructions of the program code may be
carried out entirely on a user's computer, partly on the user's
computer, as a stand-alone software package, partly on the user's
computer and partly on a remote computer or entirely on the remote
computer or server, where the aforementioned user's computer,
remote computer and server may be, for example, computer system 700
or another computer system (not shown) having components analogous
to the components of computer system 700 included in FIG. 7. In the
latter scenario, the remote computer may be connected to the user's
computer through any type of network (not shown), including a LAN
or a WAN, or the connection may be made to an external computer
(e.g., through the Internet using an Internet Service
Provider).
[0086] Aspects of the present invention are described herein with
reference to flowchart illustrations (e.g., FIGS. 2-6) and/or block
diagrams of methods, apparatus (systems) (e.g., FIG. 1 and FIG. 7),
and computer program products according to embodiments of the
invention. It will be understood that each block of the flowchart
illustrations and/or block diagrams, and combinations of blocks in
the flowchart illustrations and/or block diagrams, can be
implemented by computer program instructions (e.g., program code
714). These computer program instructions may be provided to a
processor (e.g., CPU 702) of a general purpose computer, special
purpose computer, or other programmable data processing apparatus
to produce a machine, such that the instructions, which are carried
out via the processor of the computer or other programmable data
processing apparatus, create means for implementing the
functions/acts specified in the flowchart and/or block diagram
block or blocks.
[0087] These computer program instructions may also be stored in a
computer readable medium (e.g., memory 704 or computer data storage
unit 712) that can direct a computer (e.g., computer system 700),
other programmable data processing apparatus, or other devices to
function in a particular manner, such that the instructions stored
in the computer readable medium produce an article of manufacture
including instructions which implement the function/act specified
in the flowchart and/or block diagram block or blocks.
[0088] The computer program instructions may also be loaded onto a
computer (e.g., computer system 700), other programmable data
processing apparatus, or other devices to cause a series of
operational steps to be performed on the computer, other
programmable apparatus, or other devices to produce a computer
implemented process such that the instructions which are carried
out on the computer, other programmable apparatus, or other devices
provide processes for implementing the functions/acts specified in
the flowchart and/or block diagram block or blocks.
[0089] Any of the components of an embodiment of the present
invention can be deployed, managed, serviced, etc. by a service
provider that offers to deploy or integrate computing
infrastructure with respect to the process of determining a travel
route that includes a location as a result of an auction. Thus, an
embodiment of the present invention discloses a process for
supporting computer infrastructure, comprising integrating,
hosting, maintaining and deploying computer-readable code (e.g.,
program code 714) into a computer system (e.g., computer system
700), wherein the code in combination with the computer system is
capable of performing a process of determining a travel route that
includes a location as a result of an auction.
[0090] In another embodiment, the invention provides a business
method that performs the process steps of the invention on a
subscription, advertising and/or fee basis. That is, a service
provider, such as a Solution Integrator, can offer to create,
maintain, support, etc. a process of determining a travel route
that includes a location as a result of an auction. In this case,
the service provider can create, maintain, support, etc. a computer
infrastructure that performs the process steps of the invention for
one or more customers. In return, the service provider can receive
payment from the customer(s) under a subscription and/or fee
agreement, and/or the service provider can receive payment from the
sale of advertising content to one or more third parties.
[0091] The flowcharts in FIGS. 2-6 and the block diagrams in FIG. 1
and FIG. 7 illustrate the the architecture, functionality, and
operation of possible implementations of systems, methods, and
computer program products according to various embodiments of the
present invention. In this regard, each block in the flowchart or
block diagrams may represent a module, segment, or portion of code
(e.g., program code 714), which comprises one or more executable
instructions for implementing the specified logical function(s). It
should also be noted that, in some alternative implementations, the
functions noted in the block may occur out of the order noted in
the figures. For example, two blocks shown in succession may, in
fact, be performed substantially concurrently, or the blocks may
sometimes be performed in reverse order, depending upon the
functionality involved. It will also be noted that each block of
the block diagrams and/or flowchart illustrations, and combinations
of blocks in the block diagrams and/or flowchart illustrations, can
be implemented by special purpose hardware-based systems that
perform the specified functions or acts, or combinations of special
purpose hardware and computer instructions.
[0092] While embodiments of the present invention have been
described herein for purposes of illustration, many modifications
and changes will become apparent to those skilled in the art.
Accordingly, the appended claims are intended to encompass all such
modifications and changes as fall within the true spirit and scope
of this invention.
* * * * *