The present invention relates to navigation systems, and more particularly to a system and method for selecting and presenting multiple routes to a user obtained from the user's peers.
The use of navigation systems to provide users with routes from one point to another point, such as those used in automobiles and mapping websites, is widespread. The use of navigation systems on cell phones and PDAs is one of the fastest growth application segments. Navigation systems are also available that are capable of calculating the shortest route for the user. Some navigation systems allow the user to specify route parameters like “avoid highways” and then present the user with a route that avoids highways.
Most navigation systems use static information, such as maps, to generate route and direction information. However, techniques are emerging for incorporating dynamic data into routing. For example, an article entitled “Car Pooling With GIS Map Server and Web Services,” by Muzaffer Dogru, Department of Information Technology, University of Zurich, Switzerland, Aug. 6, 2004, describes an approach by which “demanders” (people who need a ride to go somewhere) can be matched with “offerers” (people who are able to offer a ride). The demanders and offerers can specify not only the end points of their routes but also via locations, which are locations that each person will pass through along their routes. The purpose is to combine multiple routes from different offerers to enable a demander to travel from one point to another through some desired via locations. The end points and via locations of the demander can be thought of as specifying a route. A match occurs even if one or more offerers will be traveling in a synchronized manner across those via locations so that the demander could hitch a ride with them from point to point.
Although the approach taken by Dogru is an intriguing one, one disadvantage is that Dogru's approach may fail to meet the needs of some users. That is, rather than hitching rides with others to get from one point to another, users may rather know which of a number of proposed routes to get from one point to another they should seriously consider based on the routes of others. Using Dogru's approach, only the future or proposed routes of the offerers would be available for use in such an analysis. An unintended consequence of this approach is that it may compromise the offerers' privacy since their current plans may be revealed to others. In addition, it would be desirable to reinforce which routes the user should take based on long-term past historical data, rather than proposed or future route data.
A method and system are provided for selecting and presenting a route to a user. An exemplary embodiment includes storing a plurality of associations, each association between a route taken by a user and characteristics of the user. Received from a particular user is a request for at least one recommended route to a destination point. A query is formulated based on user specified parameters, including an origination point, the destination point, and characteristics of other users, to obtain routes taken by other users. A plurality of routes taken by other users having at least some of the characteristics of other users and related to at least one of the origination point and the destination point is retrieved from the stored plurality of associations. At least one recommended route is recommended to the particular user based on at least one of the retrieved routes that most closely matches the user specified parameters.
According to the method and system disclosed herein, the user can determine what routes other people in their peer group have taken to get from one place to another.
The present invention relates to selecting and presenting a route to a user. The following description is presented to enable one of ordinary skill in the art to make and use the invention and is provided in the context of a patent application and its requirements. Various modifications to the preferred embodiments and the generic principles and features described herein will be readily apparent to those skilled in the art. Thus, the present invention is not intended to be limited to the embodiments shown, but is to be accorded the widest scope consistent with the principles and features described herein.
Users of navigation systems are able to obtain one or more proposed routes from service providers. However, many times, what users really want to know are the routes that other people similar to themselves or similarly situated to themselves are actually taking to get from one place to another. For example, consider the following scenario. Imagine a person is going to a basketball game. The person queries a navigation system and the system provides the person with the shortest route. However, there are several routes that may be taken of getting to the stadium. The person knows some of their friends take a route that takes them right to the parking lot. What the person wishes he or she knew at that moment is what routes that other people who are going to the game are taking or the routes that people usually take to go to the stadium. The person may also like to know in relative terms how many people take each of those routes and the types of people that take those routes.
Accordingly, a system and method are described whereby a user can request the routes that peers, identified using characteristics of the users, have taken to go from one point to another. The method comprises storing the routes that users have taken in the past, formulating queries to determine which peer to obtain routes from, aggregating the routes collected from peers in response to the query, and presenting the best routes to the user based on the routes collected from peers.
In block 52, a request from a particular user is received for at least one recommended route from an origination point to a destination point. In block 54, a query is formulated based on user specified parameters to obtain routes taken by other users, where the specified parameters include the origination point, the destination point and characteristics of other users. In block 56, a plurality of the stored routes taken by other users having at least some of the characteristics of other users and related to at least one of the origin and destination are retrieved in response to the query. In block 58, at least one recommended route is presented to the user using at least one of the received routes that most closely matches the specified parameters.
According to the exemplary embodiment, the characteristics of other users specified by the user are used to filter the number of potential other users that have traveled between the origin and destination so that the routes are only obtained from users in a particular peer group. For example, people are often puzzled about which of a number of possible routes they should consider seriously. The motivations can be as simple as knowing what others are doing to have a feeling of comfort about one's decision in favor or against a particular route. Often, underlying these are some specific motivations. For example, some useful characteristics may be naturally associated with several different proposed routes, including the total number of people that have taken each route; the number of people that have taken each route the user knows personally; and the number of people in the user's peer group that have taken the routes. The user may specify the characteristics of other users of a particular peer group by specifying demographic parameter values in a demographic profile, which may include parameters such as name, address, sex, age, driving experience, number of children, schools the children attend, and the like. For example, a school parent may wish to know what routes other parents choose to drop or pick up their children from a particular school. Along the same lines, a women may feel more comfortable knowing what routes have been taken by other women, especially their friends. Likewise, other groups—such as men, or older drivers, or beginning drivers—may prefer routes based on their own characteristics or demographic profile. The underlying motivation would be that it improves the odds of a selected route having some relevant attribute that would appeal to them.
Besides the characteristics or demographic profile of other users, the user may formulate queries to obtain a recommended route based on parameters of the routes themselves such as the following:
Referring to
Each of the navigation devices 102 includes a user interface (not shown) for receiving data indicating an origination point and destination point. The origination point and destination point may be input by the user prior to recording a route traveled by the user, or for querying the navigation device 102 for recommended routes between origination and destination points. Each user of the navigation devices 102 may also enter data specifying a group of users with whom the user's routes may be shared and for whom the routes may be requested. The group of users specified by each user may be stored in a buddy list. Each user of the navigation devices 102 may also enter data specifying the user's own demographic profile. Each user's buddy list, user characteristics, and/or demographic profile are uploaded to the server 104 and stored in a buddy list and user characteristic/demographic profile database 116 for all users. During travel of each user, the respective navigation devices 102 may record the routes traveled by the users using the position module 114, the position service 108, and the map service 110, as described below. The recorded route is then uploaded to the server 104 and stored in a user route database 118 for all users. When requesting a recommended route, a user of the navigation device 102 enters the desired origination point and the destination point, any desirable characteristics of the requested route, and any characteristics of the target peer group. The request and the user characteristics are then uploaded to the server 104. A routing module 120 on the server 104 is configured to select and present desirable routes to the user.
Referring to
In block 202, the server 104 receives recorded routes transmitted from the navigation devices 102 and stores the recorded routes in the user routes database 118 in association with the user who submitted the record route. In an exemplary embodiment, the position module 114 uses data from position service 108 and the map service 110 to record turns made on a street map as the navigation device 102 moves around. For frequent origination and destination points, the sequence of typical turns is thus recorded. In the preferred embodiment, the routes may be stored as a table of the format shown in
Referring again to
In block 206, the server 104 generates one or more candidate routes from the origination point to the destination point using conventional route solution techniques. In block 208, the server 104 uses the characteristics specified by the user to filter which set of user's should be queried for their routes. Since the routes that may be selected in response to the user's request may be selected from a potentially large set, the exemplary embodiment uses request characteristics, such as the demographic parameters, as a basis for making the appropriate selection of routes and reducing the potentially large number of retrieved routes.
In block 210, the server's routing module 120 retrieves a list of users from the buddy list and demographic profile database 116 that match the specified characteristics of the user's request. In block 212, the routing module 120 generates an origin region around the origination point and generates a destination region around the destination point, and queries the route database 118 for the routes of the filtered set of users having at least either a beginning segment falling within the origin region or an ending segment falling within the destination region. Alternatively, the query may request routes having intermediate segments that pass through the origin region and the destination region.
In block 214, the routing module 120 retrieves the stored routes that match the query. In block 216, the routing module 120 assigns weights to the generated candidate routes based in part on how much the retrieved routes overlap the candidate routes. In one embodiment, the weight assigned to the generated candidate routes is proportional to the distance at least one of the retrieved routes overlaps the candidate route. In a second embodiment, the weight assigned to each generated candidate route is proportional to a number of street segments of one of the retrieved routes overlaps the candidate route.
Referring again to
In the example shown, the candidate route #2 is weighted because some of the segments of retrieved routes #2 and #3 overlap with the segments of candidate route #2. Because the segments of candidate route #1 are not overlapped by any retrieved routes, candidate route #1 is not weighted, and candidate route #2 is selected and presented to the user.
In a preferred embodiment, the query to retrieve a set of routes from the route database may be formulated as follows. First, a radius r is calculated based on a predetermined percentage of a distance between the origination point 250 and the destination point 252. In one embodiment, 0.1 of the distance between the origination point 250 and the destination point 252 may be used, for example. Next, the origin region 254 is calculated by generating a circle centered around the origination point 250 having the radius r. Similarly the destination region 256 is calculated by generating a circle centered around the destination point 252 having the radius r.
Next, arcs 258 and 260 that cut the origin and destination regions 254 and 256 are created having radii centered on the opposite point. That is, the arc 258 cutting the origin region 254 is centered at the destination point 252, and the arc 260 cutting the destination region 256 is centered at the origination point 250. To create the arcs, a radius R is determined that has a length close to, but less than the distance from the origination point 250 to the destination point 252 (referred to as the OD distance). For example, R may be set equal to the OD distance minus r/2, where r is as above 0.1 of the OD distance. The arc 258 of radius R is drawn through the origin region 254 centered at the destination point 252. The arc 260 of radius is drawn the R through the destination region 256 centered at the origination point 250.
When the OD distance is large, the routing module 120 may retrieve the routes that have at least an ending segment falling in the origin region 254 or an ending segment falling in the destination region 256, including reverse routes. When the OD distance is small, the routing module 120 may retrieve the routes that have at least an ending segment falling within the region bounded by the origin region 254 and the arc 258, or an ending segment falling with the region bounded by the destination region 256 and the arc 260.
In block 304, the routing module 120′ receives a request from the user for a recommendation of a route from an origination point to a destination point. In block 306, the routing module 120′ generates one or more candidate routes from the origination point to the destination point using conventional route solution techniques. In block 308, the routing module 120′ uses the characteristics specified by the user to filter which set of other user's navigation devices should be queried for their routes.
Referring now to
In block 314, user 2's navigation device generates an origin region around the origin point and a destination region around the destination point. This step may also include verifying that the request comes from a user who is a member of user 2's buddy list. Alternatively, block 314 may be performed by user 1's device.
In block 316, the routing module 120′ of user 2's device retrieves from its route database 118′ the stored routes that have either a beginning segment falling within the origin region or in ending segment falling within the destination region. Alternatively, the query may request routes having intermediate segments that pass through the origin region and the destination region. In block 318, the routing module 120′ returns the retrieved routes to user 1's navigation device.
In block 320, the routing module 120′ of user 1's device assigns weights to the generated candidate routes based in part on how much the returned routes overlap the candidate routes. In block 322, the routing module 120′ selects one or more of the candidate routes having the highest assigned weights and presents the selected routes to the requesting user.
A method and system for selecting and presenting multiple routes to the user obtained from the user's peers has been disclosed. The present invention has been described in accordance with the embodiments shown, and one of ordinary skill in the art will readily recognize that there could be variations to the embodiments, and any variations would be within the spirit and scope of the present invention. Accordingly, many modifications may be made by one of ordinary skill in the art without departing from the spirit and scope of the appended claims.
This application is a continuation of U.S. patent application Ser. No. 12/714,807, filed Mar. 1, 2010, titled “System and Method for Selecting and Presenting a Route to a User,” (now U.S. Pat. No. 7,991,544, issued Aug. 2, 2011), which is a continuation of U.S. patent application Ser. No. 11/234,464, filed Sep. 23, 2005, titled “System and Method for Selecting and Presenting a Route to a User,” (now U.S. Pat. No. 7,698,061, issued Apr. 13, 2010), which is commonly owned with this application and is herein incorporated by reference.
Number | Name | Date | Kind |
---|---|---|---|
5177685 | Davis et al. | Jan 1993 | A |
5220507 | Kirson | Jun 1993 | A |
5452212 | Yokoyama | Sep 1995 | A |
5528501 | Hanson | Jun 1996 | A |
5659476 | LeFebvre et al. | Aug 1997 | A |
5729457 | Seymour | Mar 1998 | A |
5790976 | Boll et al. | Aug 1998 | A |
5802492 | Delorme et al. | Sep 1998 | A |
5848373 | DeLorme | Dec 1998 | A |
5987380 | Backman et al. | Nov 1999 | A |
6014090 | Rosen et al. | Jan 2000 | A |
6023241 | Clapper | Feb 2000 | A |
6047235 | Hiyokawa et al. | Apr 2000 | A |
6098015 | Nimura et al. | Aug 2000 | A |
6124826 | Garthwaite et al. | Sep 2000 | A |
6127945 | Mura-Smith | Oct 2000 | A |
6212474 | Fowler et al. | Apr 2001 | B1 |
6249742 | Friederich | Jun 2001 | B1 |
6282492 | Gorai et al. | Aug 2001 | B1 |
6321158 | DeLorme et al. | Nov 2001 | B1 |
6324467 | Machii et al. | Nov 2001 | B1 |
6334086 | Park et al. | Dec 2001 | B1 |
6339746 | Sugiyama et al. | Jan 2002 | B1 |
6366856 | Johnson | Apr 2002 | B1 |
6415226 | Kozak | Jul 2002 | B1 |
6430498 | Maruyama et al. | Aug 2002 | B1 |
6459987 | Krull et al. | Oct 2002 | B1 |
6466938 | Goldberg | Oct 2002 | B1 |
6477526 | Hayashi et al. | Nov 2002 | B2 |
6484092 | Seibel | Nov 2002 | B2 |
6505118 | Chowanic | Jan 2003 | B2 |
6510379 | Hasegawa et al. | Jan 2003 | B1 |
6526349 | Bullock et al. | Feb 2003 | B2 |
6539080 | Bruce et al. | Mar 2003 | B1 |
6546336 | Matsuoka et al. | Apr 2003 | B1 |
6567743 | Mueller et al. | May 2003 | B1 |
6577949 | Robinson et al. | Jun 2003 | B1 |
6580999 | Maruyama et al. | Jun 2003 | B2 |
6611754 | Klein | Aug 2003 | B2 |
6633812 | Martin et al. | Oct 2003 | B1 |
6662105 | Tada et al. | Dec 2003 | B1 |
6694252 | Ukita | Feb 2004 | B2 |
6721650 | Fushiki et al. | Apr 2004 | B2 |
6721653 | Watanabe | Apr 2004 | B2 |
6748317 | Maruyama et al. | Jun 2004 | B2 |
6762696 | Hulverscheidt et al. | Jul 2004 | B2 |
6766245 | Padmanabhan | Jul 2004 | B2 |
6778903 | Robinson et al. | Aug 2004 | B2 |
6813502 | Son et al. | Nov 2004 | B2 |
6820005 | Matsuda et al. | Nov 2004 | B2 |
6895329 | Wolfson | May 2005 | B1 |
6961658 | Ohler | Nov 2005 | B2 |
7096233 | Mori et al. | Aug 2006 | B2 |
7123189 | Lalik et al. | Oct 2006 | B2 |
7130740 | Vanegas et al. | Oct 2006 | B2 |
7149625 | Mathews et al. | Dec 2006 | B2 |
7158876 | Crook | Jan 2007 | B2 |
7231293 | Lapstun et al. | Jun 2007 | B2 |
7243134 | Bruner et al. | Jul 2007 | B2 |
7248841 | Agee et al. | Jul 2007 | B2 |
7271742 | Sheha et al. | Sep 2007 | B2 |
7333820 | Sheha et al. | Feb 2008 | B2 |
7424363 | Cheng et al. | Sep 2008 | B2 |
7590486 | Okude et al. | Sep 2009 | B2 |
7706280 | Raciborski et al. | Apr 2010 | B2 |
7729947 | Philbin et al. | Jun 2010 | B1 |
7809500 | Couckuyt et al. | Oct 2010 | B2 |
7874521 | Shuster | Jan 2011 | B2 |
20010019309 | Saeki et al. | Sep 2001 | A1 |
20010029425 | Myr | Oct 2001 | A1 |
20010044310 | Lincke | Nov 2001 | A1 |
20010047241 | Khavakh et al. | Nov 2001 | A1 |
20010056325 | Pu et al. | Dec 2001 | A1 |
20020070862 | Francis et al. | Jun 2002 | A1 |
20020120396 | Boies et al. | Aug 2002 | A1 |
20020128773 | Chowanic et al. | Sep 2002 | A1 |
20020152020 | Seibel | Oct 2002 | A1 |
20020156572 | Bullock et al. | Oct 2002 | A1 |
20020165662 | Maruyama et al. | Nov 2002 | A1 |
20030055558 | Watanabe et al. | Mar 2003 | A1 |
20030105585 | Ukita | Jun 2003 | A1 |
20030109985 | Kotzin | Jun 2003 | A1 |
20030144794 | Schuessler | Jul 2003 | A1 |
20030163333 | Podgurny et al. | Aug 2003 | A1 |
20030182052 | DeLorme et al. | Sep 2003 | A1 |
20030191584 | Robinson et al. | Oct 2003 | A1 |
20030195695 | Maruyama et al. | Oct 2003 | A1 |
20040117110 | Sasajima | Jun 2004 | A1 |
20040158393 | Oonishi et al. | Aug 2004 | A1 |
20040172191 | Vitikainen | Sep 2004 | A1 |
20040186661 | Barton | Sep 2004 | A1 |
20040196163 | Takenaga et al. | Oct 2004 | A1 |
20040225436 | Yoshihashi | Nov 2004 | A1 |
20050043881 | Brulle-Drews et al. | Feb 2005 | A1 |
20050060088 | Helal et al. | Mar 2005 | A1 |
20050080556 | Toelle | Apr 2005 | A1 |
20050096840 | Simske | May 2005 | A1 |
20050102098 | Montealegre et al. | May 2005 | A1 |
20050102101 | Beesley et al. | May 2005 | A1 |
20050131628 | Peeters | Jun 2005 | A1 |
20050192742 | Okochi | Sep 2005 | A1 |
20050209773 | Hara | Sep 2005 | A1 |
20050246095 | Banet et al. | Nov 2005 | A1 |
20050256635 | Gardner | Nov 2005 | A1 |
20050288859 | Golding | Dec 2005 | A1 |
20060004512 | Herbst et al. | Jan 2006 | A1 |
20060009907 | Kuroda et al. | Jan 2006 | A1 |
20060031007 | Agnew et al. | Feb 2006 | A1 |
20060036363 | Crook | Feb 2006 | A1 |
20060046740 | Johnson | Mar 2006 | A1 |
20060069503 | Suomela et al. | Mar 2006 | A1 |
20060080029 | Kodani et al. | Apr 2006 | A1 |
20060080034 | Hayashi | Apr 2006 | A1 |
20060129308 | Kates | Jun 2006 | A1 |
20060149461 | Rowley et al. | Jul 2006 | A1 |
20060184313 | Butler, Jr. | Aug 2006 | A1 |
20060203804 | Whitmore et al. | Sep 2006 | A1 |
20060247849 | Mohsini et al. | Nov 2006 | A1 |
20060247852 | Kortge et al. | Nov 2006 | A1 |
20060265119 | McMahan et al. | Nov 2006 | A1 |
20060287815 | Gluck | Dec 2006 | A1 |
20070032942 | Thota | Feb 2007 | A1 |
20070050129 | Salmre | Mar 2007 | A1 |
20070124157 | Laumeyer et al. | May 2007 | A1 |
20070168888 | Jawerth | Jul 2007 | A1 |
20080319808 | Wofford et al. | Dec 2008 | A1 |
20100027527 | Higgins et al. | Feb 2010 | A1 |
20110112908 | Rowley et al. | May 2011 | A1 |
20110137508 | Garcia Manchado | Jun 2011 | A1 |
Number | Date | Country |
---|---|---|
09-287970 | Apr 1997 | JP |
WO 03081391 | Oct 2003 | WO |
Entry |
---|
Dogru, Muzaffer, “Car Pooling With GIS Map Server and Web Services,” Department of Information Technology, University of Zurich, Switzerland, Aug. 6, 2004, pp. 1-83. |
Marshall, M., “Destination Known,” The Mercury News [online] (Sep. 27, 2004) [retrieved on Aug. 2, 2005] Retrieved from the Internet: <URL: http://www.mercurynews.com/mid/mercury-news/business/9770733.htm?1c> 2 pages. |
“GPS Mapping Software” [online] Des Newman's OziExplorer [retrieved on Aug. 2, 2005] Retrieved from the Internet <URL: http://www.ozieplorer.com> 2 pages. |
“Off Road Navigation” [online] Thales Navigation, Inc., 2005 [retrieved on Aug. 2, 2005] Retrieved from the Internet: <URL: http://www.magellangps.com/assets/manuals/newprod/manual—offroadnav.pdf> 21 pages. |
“RFID in Japan, Crossing the Chasm, RFID Gets Bendy,” Card Korea & Ubiquitous Biz Show 2005 in Seoul [online] (Mar. 17, 2005), [retrieved on Aug. 2, 2005] Retrieved from the Internet: <URL: http://ubiks.net/local/blog/jmt/archives3/003524.html> 2 pages. |
Zahradnik, Fred, “Dash Express is Innovative, but There's Room for Improvement,” at <http://gps.about.com/od/incarportablegpl/fr/dash—review.htm>, from the Internet Archive, dated Nov. 8, 2009, printed Apr. 20, 2012, 3 pages. |
Shankland, Stephen, “Google crowdsources maps directions, too,” Mar. 11, 2009, at <http://news.cnet.com/8301-17939—109-10193481-2.html>, printed May 21, 2009, 3 pages. |
Davies, J. J. et al., “Scalable, Distributed, Real-Time Map Generation,” Pervasive Computing, vol. 5, No. 4, Oct.-Dec. 2006, pp. 47-54, copyright 2006, IEEE, 9 pages. |
“WikiMapia,” Wikipedia, at <http://en.wikipedia.org/wiki/WikiMapia>, last modified May 19, 2009, printed May 21, 2009, 4 pages. |
Number | Date | Country | |
---|---|---|---|
20110264365 A1 | Oct 2011 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 12714807 | Mar 2010 | US |
Child | 13179909 | US | |
Parent | 11234464 | Sep 2005 | US |
Child | 12714807 | US |