Generally, navigation devices present maps from a user's current location or a user-selected starting point to a user-selected destination. For example, with most navigation devices, such as mobile Global Positioning System (GPS) devices, a user may input a starting point and a destination in order to receive a map. Additionally, a user may input a destination and the device may prepare a map from the user's current location to the entered destination. However, in most cases, a user must either input a destination manually or by providing a voice command. However, requiring user input, current navigation devices may be unsafe, or even unlawful, to operate while driving.
Additionally, navigation devices may be most useful when a user is running late or does not know the address of the destination. For example, a user who is running late to a meeting, whether or not they know the meeting location, may not have time to look up the address or enter the address into their navigation device. Unfortunately, current navigation devices are inadequately equipped to handle these and other navigation device deficiencies.
This summary is provided to introduce simplified concepts for suggestive mapping devices, which are further described below in the Detailed Description. This summary is not intended to identify essential features of the claimed subject matter, nor is it intended for use in determining the scope of the claimed subject matter. Generally, the suggestive mapping devices and services described herein involve using a mobile device to provide suggestions regarding a user's destination based on historical location data, current location data, and/or communication inputs to and/or from the user's device.
In one embodiment, a suggestive mapping device may store historical data, including historical and/or current location data, historical and/or current location data of friends and/or contacts of the user, and/or contextual data such as the time of day and/or the day of the week, and determine a travel vector of the user. The device may then predict a destination of the user based on some combination of the historical location data and the travel vector and prepare for display a suggested map depicting the route to the predicted destination. In some aspects, the device may display all or part of the suggested map as well. Additionally, in some aspects, the device may send a suggested map to a user's mobile device for display, for example when the device is a Web server of a Web based system or of an in-cloud system. The device may also prepare different maps for display, each with a different number of travel instructions, and may display or send for display a respective map that corresponds to an appropriate travel vector of the user. Further, in some aspects, the device may prepare or display alternative suggested maps in response to an indication, such as selection of a “more suggestions” button, shaking of the device, nodding of the user, denying the current suggestion by asking for more suggestions, or the like.
In another embodiment, a suggestive mapping device may store historical location data of a user, determine a travel vector of the user, predict a destination of the user based on some combination of the historical location data and the travel vector, and prepare a map depicting one or more travel instructions to the predicted destination. In some aspects, the device may present a different number of travel instructions to the user based at least in part on a portion of the travel vector. For example, the device may be configured to prepare or present an increasing number of travel instructions at one time to the user as the user's speed increases.
The detailed description is set forth with reference to the accompanying figures. In the figures, the left-most digit(s) of a reference number identifies the figure in which the reference number first appears. The use of the same reference numbers in different figures indicates similar or identical items.
Overview
This disclosure is directed, in part, to techniques for implementing a suggestive mapping device or service. This disclosure is also related to providing a hands-free, network interfaced device that may predict, and either provide or display a destination of a user based on historical location data of the user, contextual data of the user and/or historical and/or contextual data of the user's contacts. Additionally, this disclosure describes devices that may suggest a destination or multiple destinations to a user with or without user input. As such, the device may provide transient/ambient mapping such that the device may perpetually update the user with the next travel instruction(s) regardless of whether the user has input a destination or even knows the address of the destination. In this way, when a user is running late, cannot remember a destination's address, and/or is directionally challenged, the device may help the user effectively, effortlessly, and safely arrive at the intended destination.
In one aspect, a suggestive mapping device may predict one or more locations of where a particular user plans to go and present, to the user, a suggested map and/or directions of how to get to the predicted location(s). For instance, the suggestive mapping device may store historical location data of the user (at the consent of the user) to develop a pattern regarding a user's typical travel schedule. The device may then use this historical location data coupled with real-time or contextual data (e.g., locations of contacts, a time of day, or a user's travel vector which may include some combination of the current location, travel direction, and velocity of the user) and other signals (e.g., future calendar appointments of the user or contacts of the user) to predict where the user may go at a particular time. In response to this prediction, the device may prepare and/or render a suggested map to the user or provide the suggested map to a mobile device of the user. Further, in some examples, the suggestive mapping device may automatically assign friendly names (e.g., “Home,” “Restaurant to meet Bill,” “Pick up Dry Cleaning,” etc.) to the predicted destinations and/or the suggested maps. These friendly names may be assigned based on context (e.g., a subject and/or an attendee name for a meeting request), based on a name associated with the destination location in a reference data store (e.g., a point of interest database), based on names other users have associated with the destination location, a combination of these or other approaches, or additional/alternative approaches. Names employed as tags may be confirmed in a current or prior session with the user, where a user is offered the option of selecting from or modifying guessed names, or adding a new label to refer to a destination.
For instance, a suggestive mapping device may help a user navigate on a given day to one or more locations without the user providing any inputs. In one hypothetical example, a user (“Risa”) often goes for a walk around Riverfront Park on Saturday mornings, as tracked by her mobile navigation device. Additionally, Risa's calendar indicates that she is planning on meeting her sister Tali for lunch at a South Hill restaurant where Risa has never eaten. In this example, Risa's suggestive mapping device may automatically, at least without being requested by Risa, determine the most optimal route to the park and then to the restaurant to meet Tali, taking into account traffic, the time of day, potential construction, weather, and the like.
In one aspect, the suggestive mapping device may render a suggested travel map and/or directions to the park and then to the restaurant as soon as Risa turns, unlocks, or otherwise activates the device. Alternatively, or in addition, the suggestive mapping device may not render any maps to Risa until she begins travelling towards one of her destinations. Thus, either way, the device may provide the suggested map and/or directions without Risa's input (and/or with Risa's input limited to selection information wherein Risa selects a destination from a collection of suggested destinations). This may be particularly useful when Risa is not at home and the directions to the park may be different from her usual Saturday morning route. Additionally, if Risa does not know the address or location of the South Hill restaurant, the suggestive mapping device may be able to determine the location based on an Internet search using information found in Risa's calendar appointment or based on real-time contextual data such as Tali's location, as tracked by Tali's mobile phone or navigation device (assuming Tali consents to her location being tracked). Additionally, in some aspects, the suggestive mapping device may also use other contextual data of Tali's, such as data from her email applications, search and/or browsing histories from her Web browser(s), call histories from her cell phone, and the like.
In another aspect, the suggestive mapping device may take into account other signals when predicting a user's travel schedule and generating a corresponding map and/or directions. For example, the device may leverage an explicit and/or ad hoc social network to determine locations of the user's contacts, or any other information that may be pertinent in predicting where the user may travel to at a particular time. For instance, if Risa's mother (“Toni”) calls, texts, instant messages (“IMs”), tweets to the public, or otherwise digitally contacts Risa while Risa is traveling to either location described above, the suggestive mapping device may appropriately change. In this example, Toni's cellular telephone, navigation device, or other mobile device may indicate that Toni is only a few blocks from the park, the South Hill restaurant, or Risa's current location. As such, Risa's suggestive mapping device may re-render the suggested map to include stopping by to see Toni at some point during Risa's Saturday travels. In other words, the travel prediction and the corresponding predictive map and/or directions may change based on real-time inputs.
In another aspect, the suggestive mapping device may have access to information about the short- or long-term goals and needs of Risa, and may suggest other waypoints on a current trip, with the bounds of the waypoint adding less than some number of miles or some amount of time to getting to the predicted destination. For example, the suggestive mapping device may have access to knowledge from an interface to an onboard computer that Risa's car is low on fuel and to add a fueling station as a suggested point to route through on the way to Tali. Likewise, the suggestive mapping device may have knowledge about Risa's lunch-time food preferences based on a consideration of the stops that Risa has made for approximately 1-2 hour periods of time around the noon hour during the week, via a reverse look up and mapping of the stops to a database of shops and the details of what they sell. A database of menus at restaurants associated with Risa's stops, along with ratings of the quality of food, décor, and service might be stored by a mobile device and/or cloud service, and used to generate recommendations about places to eat lunch near a destination or along the way to a destination. Such information and possibility for making suggestions based on routes might be added to an advertising service, with bidding for alerts and electronic coupons as incentives.
Additionally, in another aspect, the suggestive mapping device may predict multiple suggested locations. Further, the device may compute an ordering of the multiple suggested locations based, in some examples, on an estimation of the probability of the desirability or helpfulness of the suggested locations. The ordered list may then be provided in a rank-ordered list, or revealed in a sequence by likelihood when a user asserts interest in seeing the next location. In two non-limiting examples, the suggested locations may be utilized as alternative destinations or as waypoints to a current destination or can be made during the time that directions are being explicitly searched for, either on mobile devices or on a desktop system. Additionally, suggested locations can be within some distance or time to other destinations, e.g., named destinations or predicted destinations.
Network interface 108 may be any type of device or transmission tower that may provide network access to network accessible devices, such as the suggestive mapping device 102. Additionally, other network accessible devices, such as other mobile devices 110(1) through 110(N), where N is an integer greater than zero, and remote server 112 may interact with the suggestive mapping device 102 via the network 106. In at least one instance, other remote devices (collectively 110) may be devices operated by the user 104. For example, suggestive mapping device 102 may be the user's GPS device, while other mobile devices 110(1) and 110(2) may be a laptop computer and a cellular telephone of the user 104, respectively. In this way, the devices 102 and/or 110 of the user 104 may share location, calendar, and other historical and/or contextual data about the user 104 amongst each other.
Additionally, by way of example only, the suggestive mapping device 102 may store such location, calendar, historical and/or contextual data in user data store 114. In one example, the user data store 114 may reside within the suggestive mapping device 102. However, in other examples, the user data store 114 may reside within one or more of the other mobile devices 110 or even the remote server 112 (e.g., implemented as an in-cloud service). Alternatively, or in addition, separate user data stores, such as user store 116 may reside individually in each device. In other words, user data store 114 may reside within the suggestive mapping device 102, while user data store 116 resides within one of the other mobile devices 110 of the user 104, such as mobile device 110(2). In this example, a different user data store may reside within the remote server 112.
In one non-limiting example, user 104 may regularly be at home after 6:30 pm on weeknights. In this example, this location data may be stored in the user data store 114 of the user's handheld GPS device 102, in the user data store 116 of the user's cellular phone 110(2), in the remote server 112, or in any combination of these locations. Further, if the user 104 is out to dinner late one evening (i.e., after 6:30 pm), the user's suggestive mapping device 102 or cellular phone 110(2) may provide a suggestive map, such as predictive map 122, with directions to the user's home. In this way, the user 104 need not provide input to the suggestive mapping device 102. Alternatively, based on the earlier example, user data store 114, user data store 116, and/or remote server 112 may store location data about Risa's Saturday morning habits. This data may then be used to aid in preparing a predictive map 122 for Risa. As used herein, the phrases “predictive map” and “suggestive map” are synonymous.
In some instances, a contact 118 of the user 104 may operate contact's device 120, which may access the network 106, or some other network, via network interface 108 as well. For example, user's contact 118 may be able to call, text, IM, email, or otherwise contact the user 104 over the network 106, or some other network, via network interface 108. Additionally, with the consent of contact 118, the suggestive mapping device 102 of user 104 may access the location data of contact 118 identified by contact's device 120. Thus, the predictive map 122 provided to user 104 may, in some instances, be based at least in part on the location of contact 118. User data stores 114 and/or 116, and remote server 112, may also store user application data, such as information gathered from a user's calendar, email, text-messaging, IM, voicemail, or other application that may contain contextual and/or historical location data.
In one example, where the suggestive mapping device 102 and/or the contact's device 120 shares user and/or application data, the suggestive mapping architecture 100 may provide opt-in and/or opt-out functionality. Additionally, in one instance, prior to any user information being collected and/or shared amongst the devices, the user whose information is to be collected will be notified and given the ability to opt-out prior to any data collection. Further, in one aspect, enhanced security measures will be employed in order to protect the user and/or application data.
In one aspect, the suggestive mapping device 102 may also provide suggestions for particular tasks based on the user information stored in user data stores 114 and/or 116, or remote server 112. For example, the suggestive mapping device 102, while providing a map to a user's school, may also remind the user to drop off his or her dry-cleaning on the way. Additionally, the suggestive mapping device 102 may also re-route the user 104 to the dry-cleaners on the way to or from school. In one example, if the user 104 is running late to school, and the suggestive mapping device 102 has stored in user data 114 the historical times that the user 104 attends school, the suggestive mapping device 102 may suggest dropping off the dry-cleaning and provide the re-routed map after the user 104 attends classes. Alternatively, in one example, the suggestive mapping device 102 may be able to determine the route time to the dry-cleaners, the total additional time required to get to the dry-cleaners on the way to school, and/or how much time remains between the current time and the historical start time of school, and provide a predictive map 122 that directs the user 104 to the dry-cleaners on the way to school such that the user 104 will still make it to class on time.
Additionally, in one aspect, the suggestive mapping device 102 may provide a predictive map 122, with a suggested destination or task, “x” minutes before the predicted arrival to that destination. Additionally, “x” may be some time “y” plus the total route time to get to the destination. Further, the user 104 may be able to set “y” on the fly or prior to receiving the predictive map 122. As such, using the dry-cleaning example, the user 104 may set a “y” of 15 minutes, meaning that it takes approximately 15 minutes to park, take the clothes in, pay, and get out of the parking lot at the dry-cleaners. In this way, if “y” equals 15 minutes and the user 104 has 30 minutes until school starts, the suggestive mapping device 102 may only re-route and/or suggest a map to the dry-cleaners when the route to the dry-cleaners and then to school is estimated to be under 15 minutes. Alternatively, or in addition, “y” could be pre-set or could be suggested by the dry-cleaner and stored in the remote server 112 for all dry-cleaner customers.
In some instances, the suggestive mapping device 102 may be configured to predict a different route based at least in part on an intentional change of direction of a user 104 and/or other inputs to the device 102, one of the other mobile devices 110, and/or the remote server 112. For example, using Risa's Saturday morning example from above, if while driving to the park, Risa receives a telephone call, or other network communication, from her father, Jesse, and subsequently changes directions, the suggestive mapping device may provide a re-routed predictive map 122 based on Jesse's current location. In this example, the suggestive mapping device 102 may suggest that Risa's new destination is Jesse's current location, as provided by Jesse's mobile device or the remote server 112.
In one example, if this new predictive map 122 to Jesse's location is correct, Risa may do nothing (i.e., no user input to the device is needed); however, if the predictive map 122 is incorrect (e.g., she is not actually changing her direction to meet Jesse), Risa may request a new predictive map 122 (or the next predicted map). In some instances, Risa may request the new map by shaking, pushing a button of, selecting a GUI icon of, or speaking into the suggestive mapping device 102. However, other methods of requesting a new map are envisioned as well, including gesturing or otherwise motioning on or near a touch-screen of the suggestive mapping device 102.
Alternatively, rather than automatically providing the new predictive map 122 to Jesse's location, the suggestive mapping device 102 may provide several suggestions for a new destination and allow Risa to select the correct one. As noted above, selection of the correct map, or of a next predicted map in a list of potential predictive maps, may be implemented in many different ways. Additionally, the suggestive mapping device may also provide a list of possible destinations, each being predicted and potentially carrying a respective probability of correctness, when the device is first turned on, or at any time during operation, rather than only when a user changes direction. Further, in one aspect, shaking the device 102 while the device 102 is unlocked may trigger the device 102 to advance the displayed predictive map to a next predictive map 122 in a ranked list of predictive maps 122. Alternatively, if the device 102 is locked, shaking the device may trigger the display of the already displayed predictive map 122.
Further, in yet another non-limiting example, the suggestive mapping device 102 may render newly predicted destinations as a trip progresses. In this way, a user 104 may defer selecting from among predicted destinations until after a part of the trip is complete. For instance, the user 104 may drive in the general direction of his or her intended direction, with or without knowledge of the exact route. In this example, the suggestive mapping device 102 may be able to eliminate potential destinations and predict a more accurate (or more probable) destination by eliminating some destinations that may have otherwise been predicted.
Illustrative Architectures
In one aspect, the suggestive mapping system 200 may include a destination prediction module 206, a map generation module 208, and a map output module 210. Destination prediction module 206 may, in some examples, receive information regarding a travel vector and/or other location related information about user 204 or contacts of the user 204, and may predict a destination for user 204 based on this received information. For example, the destination prediction module 206 may receive social network data 212 from a social networking Web site, from a remote suggestive mapping server (e.g., from a cloud service), or directly from contacts of the user 204. As such, the system 200 may leverage an explicit and/or ad hoc social network to determine locations of the user's 204 contacts, or any other information that may be pertinent in predicting where the user may travel to at a particular time. Social network data 212 may include, but is not limited to, location data of friends or contacts of user 204 and/or appointments, events, or schedules organized or stored on a social networking Web site or other server. Additionally, in one aspect, social network data 212 may be stored in a shared database that may be accessed by the user 204 or other contacts and/or friends of the user 204.
Additionally, the destination prediction module 206 may also receive real-time input data 214. Real-time input data 214 may include a travel vector of the user 204, the current time, and/or the current location of the user 204. Additionally, in some instances, real-time input data 214 may include communications with friends or contacts of user 204, such as telephone calls (including voicemails), text messages, IMs, and the like. As such, the destination prediction module 206 may make predictions, or update predictions, about the intended destination of user 204 based on real-time communications that may influence the route of user 204.
Further, the prediction destination module 206 may receive appointment data 216 and/or historical location data 218 about user 204. As noted above, this information may be stored in memory such as user data store 220 of device 202 or it may be stored in a remote server. Either way, appointment data 216 may include location and/or time information from a calendar application of user 204 or contacts of user 204. As such, if user 204 has an appointment scheduled in a calendar application or other user application that organizes appointments, the destination prediction module 206 may predict the intended destination of the user 204 based on this information. In some instances, however, the communications received from and/or sent to a user's contacts (e.g., voicemails, text messages, etc.) and/or the calendar appointment data 216 may not include an actual address to which a route may be predicted. For example, the communication and/or appointment may simply list a place with a common name or other identifier (e.g., “Piano lesson at 2 p.m.”). In this case, the prediction destination module 206, alone or in conjunction with another module of the suggestive mapping system 200, may automatically associate a location with the common name or other identifier by observing where the user normally goes at this time and/or by searching the Internet or other data of the user. As such, the suggestive mapping system 200 may use machine learning algorithms or other methods of training to learn locations of a user and provide a suggested map and/or route with or without an explicit address entered by a user or found in a communication or appointment.
Additionally, historical location data 218 may include previous locations that user 204 has visited and the associated dates and times of the visits. In one instance, a user's habits may directly affect the destination prediction module 206. For example, if user 204 is usually at work from 9 am to 5 pm, at the same location, and user 204 is traveling from his or her house at 8:30 am, the destination prediction module 206 may predict that user 204 is traveling to work. In one aspect, the destination prediction module 206 may make several predictions and rank each prediction based on probabilities. Additionally, these probabilities may be weighted by user-defined priorities or by a machine-learning algorithm that learns over time. Further, historical location data 218 may include a user's 204 recent queries or a history of queries to a search engine, both independent of location and/or by location as determined by GPS. Additionally, the historical location data 218 may be used to aid in the prediction of destinations and/or the labeling of the predictions.
In some aspects, historical location data 218 may be created by monitoring a user's 204 context based on traversing through locations and/or stopping and dwelling at locations, e.g., as an indication that a user is interacting with a service or people at a location. This data 218 may, in some instances, be leveraged in the generation of predicted locations during a current session or at future sessions. In some examples, stopping or dwelling can be observed through location signals (e.g., GPS, Wifi, etc.) or the periods of time that such signals are absent, e.g., based on the loss of signals associated with a device being turned off or being blocked from the signals associated with a structure being entered (e.g., a parking garage).
Additionally, in one aspect, the destination prediction module 206 may create predicted destination/time pairs 222. Predicted destination/time pairs 222 may include respective predicted destinations for each time of day. That is, the destination prediction module 206 may automatically predict destinations for each point in time of each respective day based on the historical location data of user 204. For example, based on historical location data, the destination prediction module 206 may predict that user 204 will be at home from 7 pm until Sam every weekday. In such an instance, the destination prediction module 206 may predict that user 204 will be at home during each period of time between 7 pm and Sam the next day (during weekdays). That is, the following predicted destination/time pairs 222 may exist: home/7 pm, home/8 pm, home/9 pm, and so on. Further, the destination prediction module 206 may supplement or otherwise alter the time pairs 222 based on social network data 212, real-time input data 214, appointment data 216, and/or other historical location data 218. By way of example only, with the time pairs 222 described above, if user 204 were traveling towards his or her home at 10 pm on a weekday, at least one predicted destination (and possibly the predicted destination with the highest probability of being correct) will be the home of user 204. Alternatively, regardless of the direction of travel of user 204, at 10 pm, the destination prediction module 206 may predict that user 204 is traveling home.
Additionally, in some aspects, the destination prediction module 206 may utilize real-time location information from friends or contacts of user 204 to predict destinations. Alternatively, or in addition, the destination prediction module 206 may be configured to operate in multiple different modes. For example, in one non-limiting mode, the destination prediction module 206 may be configured to predict a single destination prediction. In another non-limiting mode, however, the destination prediction module 206 may be configured to predict a list of destinations and then apply a ranking algorithm to order the list for consumption.
As noted above, the suggestive mapping system 200 may also include a map generation module 208. Map generation module 208 may receive the predicted destination/time pairs 222 from the destination prediction module 206. Additionally, map generation module 208 may also receive information 224 regarding traffic, time of day, weather, etc. from any source that may provide such information. In one aspect, information 224 may be included in real-time input data 214; however, in other aspects, it may be received separately as other real-time input data 214, such as from a traffic service, weather service, and/or GPS service provider. In one aspect, the map generation module 208 may produce maps for each predicted destination/time pair 222 created by the destination prediction module 206. In other aspects, however, the map generation module 208 may only prepare a map for the prediction with the highest probability, or a predetermined number of highest probabilities.
The suggestive mapping system 200 may also include a map output module 210. In one implementation, the map output module 210 may receive predictive maps 226 prepared by the map generation module 208. As noted above, in one aspect, the suggestive mapping system 200 may reside within device 202. In this example, the map output module 210 may prepare and render the predictive map 226. Alternatively, the map output module 210 may prepare and render multiple predictive maps 226. Either way, in this example, the rendering of the predictive map(s) 226 by the map output module 210 may include displaying the predictive map(s) 226 on a display device of device 202. Alternatively, in other aspects, the suggestive mapping system 200 may be implemented as an in-cloud service residing on a remote server. In this alternative aspect, the map output module 210 may transmit the predictive map(s) 226 to device 202 over a wired or wireless network.
Additionally, the suggestive mapping system 200 may also include an advertisement module. The advertising module may be configured to allow bidding for users based on their interests, history, and context. In some examples, the advertisements may be linked to the suggested locations that drive them. In some aspects, when there are two (or more) potentially valuable suggested locations, per user interests, trajectory, location, etc., the advertisement module may take bids or payments about which location to display, or the specifics of the sequence to display the suggestions to the user. Current traffic can be considered in the suggested locations, as well as in the bidding model above.
Further, in some aspects the suggestive mapping system 200 may suggest maps or directions based on information about sensed or shared information regarding the destinations of friends or contacts (e.g., as revealed via information in a social graph, buddy list, email header, texting activity, or phone activity) over time. For example, information that a close friend or colleague of Risa (e.g., as revealed by an analysis of the interaction of the friend with Risa by email—with frequency of x and recency of y), has frequented a restaurant that Risa may be passing, but (via detection of location trails) has never experienced, may be used in the formulation and ranking of a suggested map, location, and/or directions to a location.
More specifically, map 300 may display the next travel instruction. In this example, the next travel instruction is to exit the highway to the right, or simply turn right at the next road. This map may be most appropriate when driving a vehicle at a relatively slow speed. That is, the next travel instruction may be the only instruction that the driver is interested in due to the relatively long amount of time that may pass before needing the next instruction. On the other hand, map 302 may display the next few travel instructions. Here, the next few instructions are to (1) turn slight left 306, then (2) go straight 308, and then (3) make a hard right 310. Much like map 300, this map may be most appropriate at specific relative speeds. For example, map 302 may be more appropriate when driving or walking at a relatively faster speed than that described above for map 300. That is, the next few travel instructions may be more appropriate due to the relatively shorter amount of time between instructions. Finally, map 304 may be more appropriate at relatively fast speeds or when not moving. That is, when driving at highway speeds, seeing the entire map, or at least most of the instructions, may be more appropriate. Alternatively, or in addition, when not moving at all, a user may wish to see the entire route as well.
In one aspect, a travel vector 312 may include a user's velocity, current location, and current direction of travel. As such, the map output module 210 may determine which map 300, 302, or 304 to prepare, transmit, or display to a user based at least in part on the calculated travel vector of the user. In some examples, however, the user may be able to shuffle through, or otherwise select, the different maps to select a preferred map.
Illustrative Suggestive Mapping Processes
In this particular implementation, the process 400 may begin at block 402 of
At block 406, the process 400 may predict a destination of the user based at least in part on the historical location data and/or the travel vector. In one example, the prediction may be carried out by the destination prediction module 206 of FIG. Additionally, in one example, the travel vector may aid in the prediction, or at least aid in ranking the predictions. For example, if the process 400 predicts three destinations at block 406; however, the user is traveling in a direction that would take the user to the second of the three predicted destinations, the process 400 may rank the second destination highest. Alternatively, if the user does not have time to reach one of the three predicted destinations, that destination may be ranked the lowest.
At block 408, the process 400 may prepare an entire route to each predicted destination, one or more travel instructions to each predicted destination, and/or multiple predicted destinations that may be ranked for consumption. Alternatively, the process 400 may prepare an entire route and/or one or more travel instructions to the highest ranked predicted destination at block 408. In one example, the map generation module 208 described as part of device 202 of
At decision block 412, the process 400 may determine whether an indication of a request for a different map has been received. In some instances, a user may shake the device, such as, for example, suggestive mapping device 102 of
Illustrative Computing Environment
In one illustrative configuration, the computing environment 500 comprises at least a memory 502 and one or more processing units (or processor(s)) 504. The processor(s) 504 may be implemented as appropriate in hardware, software, firmware, or combinations thereof. Software or firmware implementations of the processor(s) 504 may include computer-executable or machine-executable instructions written in any suitable programming language to perform the various functions described.
Memory 502 may store program instructions that are loadable and executable on the processor(s) 504, as well as data generated during the execution of these programs. Depending on the configuration and type of computing device, memory 502 may be volatile (such as random access memory (RAM)) and/or non-volatile (such as read-only memory (ROM), flash memory, etc.). The computing device or server may also include additional removable storage 506 and/or non-removable storage 508 including, but not limited to, magnetic storage, optical disks, and/or tape storage. The disk drives and their associated computer-readable media may provide non-volatile storage of computer readable instructions, data structures, program modules, and other data for the computing devices. In some implementations, the memory 502 may include multiple different types of memory, such as static random access memory (SRAM), dynamic random access memory (DRAM), or ROM.
Computer-readable media includes, at least, two types of computer-readable media, namely computer storage media and communications media.
Computer storage media includes volatile and non-volatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules, or other data. Computer storage media includes, but is not limited to, RAM, ROM, erasable programmable read-only memory (EEPROM), flash memory or other memory technology, compact disc read-only memory (CD-ROM), digital versatile disks (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other non-transmission medium that can be used to store information for access by a computing device.
In contrast, communication media may embody computer readable instructions, data structures, program modules, or other data in a modulated data signal, such as a carrier wave, or other transmission mechanism. As defined herein, computer storage media does not include communication media.
The computing environment 500 may also contain communications connection(s) 510 that allow the computing environment 500 to communicate with a stored database, another computing device or server, user terminals, and/or other devices on a network. The computing environment 500 may also include input device(s) 512 such as a keyboard, mouse, pen, voice input device, touch input device, etc., and output device(s) 514, such as a display, speakers, printer, etc.
Turning to the contents of the memory 502 in more detail, the memory 502 may include an operating system 516 and one or more application programs or services for implementing a suggestive mapping system including a historical location data module 418. The historical location data module 418 may be configured to receive, determine, and/or store data regarding locations a user has previously visited. Additionally, the historical location data module 418 may also store the time and date of each visit. The historical location data module 418 may receive the data from a user's mobile device, from user applications, or the like.
The memory 502 may further include a travel vector determination module 520. The travel vector determination module 520 may be configured to determine a travel vector of a user, or the user's device, based on current location data of the user or device. In one aspect, a travel vector may include a user's current location, current velocity, and current direction of travel. Memory 502 may also include a destination prediction and ranking module 522 that may be configured to predict a destination of the user based on the historical location data from the historical location data module 518, the travel vector from the travel vector determination module 520, and/or predict a list of destinations that can be ranked prior to consumption by the user.
Additionally, the memory 502 may also include a map generation module 524 for preparing appropriately scaled maps of the predicted destinations. In one aspect, maps are generated by the map generation module 524 based on the predicted maps generated by the destination prediction module 522.
The memory 502 may further include a contextual input module 524. The contextual input module 524 may be configured to receive contextual data from one or more context sources, such as a GPS service, a calendar application, voicemail, a text messaging service, etc. In one aspect, the destination prediction module 522 may use data received by the contextual input module to determine, update, and/or reroute a predicted map to take contextual data into account. In one example, static contextual data (e.g., calendar appointments) may trump other contextual data (and maybe even historical data) in ranking the predictive maps. As such, a predictive map to a location of a meeting found in a calendar appointment may be ranked the highest of a set of predictive maps. Alternatively, in other examples, contextual data that is most recent may trump other contextual data such that the most recent telephone call, text message, IM, etc. may provide the location data that directs the destination prediction module 522 to predict and rank a destination.
Finally, the memory 502 may also include a map display module 528 for preparing, displaying, and/or serving the predictive maps generated by the destination prediction module 522. In one instance, the map display module 528 may render the predictive map(s) directly. However, in other aspects, the map display module 528 may prepare the predictive map(s) and serve them to a user device.
Illustrative methods and systems of suggestive mapping are described above. Some or all of these systems and methods may, but need not, be implemented at least partially by an architecture such as that shown in
Although embodiments have been described in language specific to structural features and/or methodological acts, it is to be understood that the disclosure is not necessarily limited to the specific features or acts described. Rather, the specific features and acts are disclosed as illustrative forms of implementing the embodiments.
Number | Name | Date | Kind |
---|---|---|---|
4760530 | Liden | Jul 1988 | A |
5493692 | Theimer et al. | Feb 1996 | A |
5544321 | Theimer et al. | Aug 1996 | A |
5555376 | Theimer et al. | Sep 1996 | A |
5603054 | Theimer et al. | Feb 1997 | A |
5611050 | Theimer et al. | Mar 1997 | A |
5812865 | Theimer et al. | Sep 1998 | A |
5848395 | Edgar et al. | Dec 1998 | A |
5948040 | DeLorme et al. | Sep 1999 | A |
5978732 | Kakitani et al. | Nov 1999 | A |
6084543 | Iizuka | Jul 2000 | A |
6092014 | Okada | Jul 2000 | A |
6119065 | Shimada et al. | Sep 2000 | A |
6122572 | Yavnai | Sep 2000 | A |
6154745 | Kari et al. | Nov 2000 | A |
6292687 | Lowell et al. | Sep 2001 | B1 |
6298304 | Theimer | Oct 2001 | B1 |
6317718 | Fano | Nov 2001 | B1 |
6321161 | Herbst et al. | Nov 2001 | B1 |
6353398 | Amin et al. | Mar 2002 | B1 |
6356905 | Gershman et al. | Mar 2002 | B1 |
6401085 | Gershman et al. | Jun 2002 | B1 |
6418424 | Hoffberg et al. | Jul 2002 | B1 |
6446076 | Burkey et al. | Sep 2002 | B1 |
6466232 | Newell et al. | Oct 2002 | B1 |
6480783 | Myr | Nov 2002 | B1 |
6513046 | Abbott, III et al. | Jan 2003 | B1 |
6526350 | Sekiyama | Feb 2003 | B2 |
6549915 | Abbott, III et al. | Apr 2003 | B2 |
6574351 | Miyano | Jun 2003 | B1 |
6587785 | Jijina et al. | Jul 2003 | B2 |
6611754 | Klein | Aug 2003 | B2 |
6615130 | Myr | Sep 2003 | B2 |
6618593 | Drutman et al. | Sep 2003 | B1 |
6622160 | Horvitz | Sep 2003 | B1 |
6672506 | Swartz et al. | Jan 2004 | B2 |
6700504 | Aslandogan et al. | Mar 2004 | B1 |
6714967 | Horvitz | Mar 2004 | B1 |
6741188 | Miller et al. | May 2004 | B1 |
6747675 | Abbott et al. | Jun 2004 | B1 |
D494584 | Schlieffers et al. | Aug 2004 | S |
6791580 | Abbott et al. | Sep 2004 | B1 |
6796505 | Pellaumail et al. | Sep 2004 | B2 |
6801223 | Abbott et al. | Oct 2004 | B1 |
6812937 | Abbott et al. | Nov 2004 | B1 |
6837436 | Swartz et al. | Jan 2005 | B2 |
6842877 | Robarts et al. | Jan 2005 | B2 |
6845370 | Burkey et al. | Jan 2005 | B2 |
6889382 | Anderson | May 2005 | B1 |
6892196 | Hughes | May 2005 | B1 |
6931598 | Price et al. | Aug 2005 | B2 |
6954735 | Djupsjobacka et al. | Oct 2005 | B1 |
7010501 | Roslak et al. | Mar 2006 | B1 |
7040541 | Swartz et al. | May 2006 | B2 |
7063263 | Swartz et al. | Jun 2006 | B2 |
7069310 | Bartholomew | Jun 2006 | B1 |
7071842 | Brady, Jr. | Jul 2006 | B1 |
7103470 | Mintz | Sep 2006 | B2 |
7149741 | Burkey et al. | Dec 2006 | B2 |
7171378 | Petrovich et al. | Jan 2007 | B2 |
7195157 | Swartz et al. | Mar 2007 | B2 |
7200566 | Moore et al. | Apr 2007 | B1 |
7227498 | Soliman | Jun 2007 | B2 |
7233861 | Van Buer et al. | Jun 2007 | B2 |
7245925 | Zellner | Jul 2007 | B2 |
7385501 | Miller et al. | Jun 2008 | B2 |
7386477 | Fano | Jun 2008 | B2 |
7389179 | Jin et al. | Jun 2008 | B2 |
7403774 | Chandra et al. | Jul 2008 | B2 |
7451041 | Laumeyer et al. | Nov 2008 | B2 |
7577522 | Rosenberg | Aug 2009 | B2 |
7589628 | Brady, Jr. | Sep 2009 | B1 |
7596513 | Fargo | Sep 2009 | B2 |
7603229 | Goldberg et al. | Oct 2009 | B2 |
7610151 | Letchner et al. | Oct 2009 | B2 |
7617042 | Horvitz et al. | Nov 2009 | B2 |
7630828 | Tajima et al. | Dec 2009 | B2 |
7676583 | Eaton et al. | Mar 2010 | B2 |
7720715 | Nemer | May 2010 | B1 |
7739040 | Horvitz | Jun 2010 | B2 |
7797267 | Horvitz | Sep 2010 | B2 |
7813870 | Downs et al. | Oct 2010 | B2 |
7885761 | Tajima et al. | Feb 2011 | B2 |
7899611 | Downs et al. | Mar 2011 | B2 |
7912637 | Horvitz et al. | Mar 2011 | B2 |
7941269 | Laumeyer et al. | May 2011 | B2 |
8020104 | Robarts et al. | Sep 2011 | B2 |
8024112 | Krumm et al. | Sep 2011 | B2 |
8121891 | Handel et al. | Feb 2012 | B2 |
8166392 | Horvitz | Apr 2012 | B2 |
8473197 | Horvitz | Jun 2013 | B2 |
8533097 | Maass | Sep 2013 | B2 |
20010029425 | Myr | Oct 2001 | A1 |
20010030664 | Shulman et al. | Oct 2001 | A1 |
20010040590 | Abbott et al. | Nov 2001 | A1 |
20010040591 | Abbott et al. | Nov 2001 | A1 |
20010043231 | Abbott et al. | Nov 2001 | A1 |
20010043232 | Abbott et al. | Nov 2001 | A1 |
20010055165 | McCarthy et al. | Dec 2001 | A1 |
20020002504 | Engel et al. | Jan 2002 | A1 |
20020032689 | Abbott et al. | Mar 2002 | A1 |
20020044152 | Abbott et al. | Apr 2002 | A1 |
20020052930 | Abbott et al. | May 2002 | A1 |
20020052963 | Abbott et al. | May 2002 | A1 |
20020054130 | Abbott et al. | May 2002 | A1 |
20020054174 | Abbott et al. | May 2002 | A1 |
20020078204 | Newell et al. | Jun 2002 | A1 |
20020080155 | Abbott et al. | Jun 2002 | A1 |
20020080156 | Abbott et al. | Jun 2002 | A1 |
20020083025 | Robarts et al. | Jun 2002 | A1 |
20020083158 | Abbott et al. | Jun 2002 | A1 |
20020087525 | Abbott et al. | Jul 2002 | A1 |
20020099817 | Abbott et al. | Jul 2002 | A1 |
20020194061 | Himmel et al. | Dec 2002 | A1 |
20030046401 | Abbott et al. | Mar 2003 | A1 |
20030154476 | Abbott et al. | Aug 2003 | A1 |
20030172368 | Alumbaugh et al. | Sep 2003 | A1 |
20030229471 | Guralnik et al. | Dec 2003 | A1 |
20030229895 | Jasinschi et al. | Dec 2003 | A1 |
20040015557 | Horvitz | Jan 2004 | A1 |
20040017392 | Welch | Jan 2004 | A1 |
20040019603 | Haigh et al. | Jan 2004 | A1 |
20040068364 | Zhao et al. | Apr 2004 | A1 |
20040070602 | Kobuya et al. | Apr 2004 | A1 |
20040125144 | Yoon | Jul 2004 | A1 |
20040153445 | Horvitz et al. | Aug 2004 | A1 |
20040172457 | Horvitz | Sep 2004 | A1 |
20040172483 | Horvitz | Sep 2004 | A1 |
20040189475 | Cooper et al. | Sep 2004 | A1 |
20040201500 | Miller et al. | Oct 2004 | A1 |
20040267965 | Vasudevan et al. | Dec 2004 | A1 |
20040268403 | Krieger et al. | Dec 2004 | A1 |
20050021417 | Kassan | Jan 2005 | A1 |
20050034078 | Abbott et al. | Feb 2005 | A1 |
20050091118 | Fano | Apr 2005 | A1 |
20050097005 | Fargo | May 2005 | A1 |
20050144318 | Chang | Jun 2005 | A1 |
20050182645 | Ehlis et al. | Aug 2005 | A1 |
20050216186 | Dorfman et al. | Sep 2005 | A1 |
20050219120 | Chang | Oct 2005 | A1 |
20050228553 | Tryon | Oct 2005 | A1 |
20050266858 | Miller et al. | Dec 2005 | A1 |
20050272442 | Miller et al. | Dec 2005 | A1 |
20060019676 | Miller et al. | Jan 2006 | A1 |
20060047416 | Goldberg et al. | Mar 2006 | A1 |
20060070012 | Milener et al. | Mar 2006 | A1 |
20060138219 | Brzezniak et al. | Jun 2006 | A1 |
20060195789 | Rogers et al. | Aug 2006 | A1 |
20060241862 | Ichihara et al. | Oct 2006 | A1 |
20060271277 | Hu et al. | Nov 2006 | A1 |
20060271286 | Rosenberg | Nov 2006 | A1 |
20060277474 | Robarts et al. | Dec 2006 | A1 |
20060294084 | Patel et al. | Dec 2006 | A1 |
20070011148 | Burkey et al. | Jan 2007 | A1 |
20070033516 | Khosla et al. | Feb 2007 | A1 |
20070060108 | East et al. | Mar 2007 | A1 |
20070073477 | Krumm et al. | Mar 2007 | A1 |
20070083497 | Martinez | Apr 2007 | A1 |
20070118279 | Kudo | May 2007 | A1 |
20070124157 | Laumeyer et al. | May 2007 | A1 |
20070129072 | Yamato et al. | Jun 2007 | A1 |
20070150369 | Zivin | Jun 2007 | A1 |
20070156334 | Vu | Jul 2007 | A1 |
20070208619 | Branam et al. | Sep 2007 | A1 |
20070208991 | Rider | Sep 2007 | A1 |
20070214180 | Crawford | Sep 2007 | A1 |
20070255621 | Mason | Nov 2007 | A1 |
20080004794 | Horvitz | Jan 2008 | A1 |
20080004802 | Horvitz | Jan 2008 | A1 |
20080005055 | Horvitz | Jan 2008 | A1 |
20080088424 | Imura et al. | Apr 2008 | A1 |
20080090591 | Miller et al. | Apr 2008 | A1 |
20080091537 | Miller et al. | Apr 2008 | A1 |
20080109307 | Ullah | May 2008 | A1 |
20080126191 | Schiavi | May 2008 | A1 |
20080140712 | Weber et al. | Jun 2008 | A1 |
20080161018 | Miller et al. | Jul 2008 | A1 |
20080215436 | Roberts | Sep 2008 | A1 |
20080247377 | Van Horn et al. | Oct 2008 | A1 |
20080261516 | Robinson | Oct 2008 | A1 |
20080263036 | Yamamoto | Oct 2008 | A1 |
20080288494 | Brogger et al. | Nov 2008 | A1 |
20090005067 | Ernst et al. | Jan 2009 | A1 |
20090006297 | Horvitz et al. | Jan 2009 | A1 |
20090036148 | Yach | Feb 2009 | A1 |
20090037838 | Gedye et al. | Feb 2009 | A1 |
20090125226 | Laumeyer et al. | May 2009 | A1 |
20090125380 | Otto et al. | May 2009 | A1 |
20090319672 | Reisman | Dec 2009 | A1 |
20100010733 | Krumm | Jan 2010 | A1 |
20100036601 | Ozawa et al. | Feb 2010 | A1 |
20100070171 | Barbeau et al. | Mar 2010 | A1 |
20100094707 | Freer | Apr 2010 | A1 |
20100106603 | Dey et al. | Apr 2010 | A1 |
20100185388 | Horvitz | Jul 2010 | A1 |
20100188575 | Salomons et al. | Jul 2010 | A1 |
20100198860 | Burnett et al. | Aug 2010 | A1 |
20100250348 | Dunbar | Sep 2010 | A1 |
20100332315 | Kamar et al. | Dec 2010 | A1 |
20100333137 | Hamano et al. | Dec 2010 | A1 |
20110004513 | Hoffberg | Jan 2011 | A1 |
20110022464 | Dunn et al. | Jan 2011 | A1 |
20110085447 | Kholaif et al. | Apr 2011 | A1 |
Number | Date | Country |
---|---|---|
10042983 | Mar 2002 | DE |
1085484 | Mar 2001 | EP |
1929456 | Jun 2008 | EP |
2293233 | Mar 2011 | EP |
2007083678 | Mar 1995 | JP |
2008271277 | Oct 1996 | JP |
10132593 | May 1998 | JP |
2011153446 | Aug 1999 | JP |
2002328035 | Nov 2002 | JP |
2004317160 | Nov 2004 | JP |
19970071404 | Nov 1997 | KR |
20040033141 | Apr 2004 | KR |
20040050550 | Jun 2004 | KR |
20040078955 | Sep 2004 | KR |
20050035336 | Apr 2005 | KR |
20050045716 | May 2005 | KR |
20050105139 | Nov 2005 | KR |
1020100072795 | Jul 2010 | KR |
8141 | Oct 1998 | RU |
WO9800787 | Jan 1998 | WO |
WO2004044605 | Nov 2005 | WO |
WO2007040891 | Apr 2007 | WO |
Entry |
---|
“About Project Playlist,” retrieved on Apr. 9, 2008 from <<http://www.playlist.com/static/node/491.html>>, 3 pages. |
Biegel et al., “A Framework for Developing Mobile,” Context-Aware Applications, Proceedings of the Second IEEE Annual Conference on Pervasive Computing and Communications, 2004. Mar. 14-17, 2004, 5 pages. |
Billinghurst et al., “An Evaluation of Wearable Information Spaces,” Proceedings of the Virtual Reality Annual International Symposium, 1998, 8 pages. |
Billinghurst, “Research Directions in Wearable Computing,” University of Washington, May 1998, 48 pages. |
Billinghurst et al., “Wearable Devices: New Ways to Manage Information,” IEEE Computer Society, Jan. 1999, pp. 57-64. |
Biskikian et al., “Intelligent Pervasive Middleware for Context-Based and Localized Telematics Services,” 2002, 10 pages. |
“Changes 10 Lists on Spaces with the Last Release”, retrieved on Apr. 9, 2008 at <<http://thespacecraft.spaces.live.com/blog/cns!8AA 773FEOA 1289E3!36422.entry>>, 4 pages. |
Chen et al., “A Survey of Context-Aware Mobile Computing Research,” Dartmouth Computer Science Technical Report, 2000, 16 pages. |
Coactive TV, retrieved on Mar. 28, 2011 at <<http://teleshuttle.com/CoTV/>>, 2 pages. |
Harter et al., “A Distributed Location System for the Active Office,” IEEE Network, 1994, pp. 62-70. |
Horvitz et al., “Attention Sensitive Alerting,” Proceedings of the UAI' 99 Conference on Uncertainty and ArtificialInteliigence, Jul. 1999, 10 pages. |
Horvitz et al., “Attention-Sensitive Alerting in Computing Systems,” Microsoft Research, Aug. 1999, 26 pages. |
Horvitz et al, “Bayesphone: Context-Sensitive Policies for Inquiry and Action in Mobile Devices,” Proceedings of the Tenth Conference on User Modeling (UM 2005). Jul. 2005, Edinburgh, Scotland, 11 pages. |
Horvitz et al, “Coordinate: Probabilistic Forecasting of Presence and Availability,” Eighteenth Conference on Uncertainty and Artificial InteliiQence, Jul. 2002, pp. 224-233. |
Horvitz et al., “Display of Information for Time-Critical Decision Making,” Proceedings of the Eleventh Conference on Uncertainty in Artificial Inteligence, Aug. 1995, 10 pages. |
Horvitz et al., “In Pursuit of Effective Handsfree Decision Support: Coupling Bayesian Inference, Speech Understanding, and User Models,” 1995, 8 pages. |
Horvitz et al., “Learning and Reasoning about Interruption,” Fifth International Conference on Multimodal Interfaces, Nov. 2003, 8 pages. |
Joachims, “Text categorization with support vector machines: learning with many relevant features,” Machine Learning, European Conference on Machine Learning, Apr. 21, 1998, pp. 137-142. |
Kargl et al., “Smart Reminder—Personal Assistance in a Mobile Computing Environment,” Pervasive 2002, Zurich, Switzerland, Aug. 26-28, 2002, 6 pages. |
Machine translation of submitted KR Application: KR-2003-0070622 PUB KR20050035336, Oct. 10, 2003, 9 pages. |
Machine translation of submitted KR Application: KR-2005-0096785 PUB KR20050105139, Oct. 14, 2005, 4 pages. |
Losee, Jr., “Minimizing information overload: the ranking of electronic messages,” Journal of Information Science 15, Elsevier Science Publishers BV, 1989, pp. 179-189. |
Nagra's cross-device user experience wins, “Advanced User Interface,” Award at TV 3.0 conference, retrieved on Mar. 28, 2011 at <<ttp://www.advanced-television.tv/index.php/2010/12/21/nagra%E2%80%99s-cross-device-user-experience-wins-%E2%80%9Cadvanced-user-interface%E2%80%9D-award-at-tv-3-0-conference/>>, 4 pages. |
International Search Report dated Sep. 29, 2003 for PCT Application Serial No. 00/20685, 3 Pages. |
International Search Report and Written Opinion for PCT/US20071014405 mailed Dec. 11, 2007, 6 pages. |
Publicis & Yahoo Team for Cross-Carrier Marketing, retrieved Mar. 28, 2011 at <<http://www.mobilemarketingwatch.com/tag/cross-device-marketing/>>, 4 pages. |
Rhodes, “Remembrance Agent: A continuously running automated information retrieval system,” Proceedings of the First International Conference on the Practical Application of Intelligent Agents and Multi Agent Technology, 1996, pp. 487-495. |
Rhodes, “The Wearable Remembrance Agent: A System for Augmented Theory,” The Proceedings of the First International Symposium on Wearable Computers, Oct. 1997, pp. 123-128. |
Rhodes, “The Wearable Remembrance Agent: A System for Augmented Memory,” Personal Technologies Journal Special Issue on Wearable Computing, 1997, 12 pages. |
Schilit et al., “Context-Aware Computing Applications,” In Proceedings of the Workshop on Mobile Computing Systems and Applications, Dec. 1994, pp. 85-90. |
Schilit et al., “Customizing Mobile Applications,” Proceedings USENIX Symposium on Mobile and Location Independent Computing, Aug. 1993, 9 pages. |
Schilit et al., “Disseminating Active Map Information to Mobile Hosts,” IEEE Network, 1994, vol. 8—No. 5, pp. 1-23. |
Schilit et al., “The ParcTab Mobile Computing System,” IEEE WWOS-IV, 1993, 4 pages. |
Schilt, “A System Architecture for Context-Aware Mobile Computing,” Columbia University, 1995, 153 pages. |
Spreitzer et al., “Architectural Considerations for Scalable, Secure, Mobile Computing with Location Information,” In the 14th International Conference on Distributed Computing Systems, Jun. 1994, pp. 29-38. |
Spreitzer et al., “Providing Location Information in a Ubiquitous Computing Environment,” SIGOPS '93, 1993, pp. 270-283. |
Spreitzer et al., “Scalable, Secure, Mobile Computing with Location Information,” Communications of the ACM, Jul. 1993, vol. 36—No. 7, 1 page. |
Starner, “Wearable Computing and Contextual Awareness,” Massachusetts Institute of Technology, Jun. 1999, 248 pages. |
Theimer et al., “Operating System Issues for PDAs,” In Fourth Workshop on Workstation Operating Systems, 1993, 7 pages. |
Want, “Active Badges and Personal Interactive Computing Objects,” IEEE Transactions on Consumer Electronics, 1992, vol. 38—No. 1, 11 pages. |
Want et al., “The Active Badge Location System,” ACM Transactions on Information Systems, Jan. 1992, vol. 10—No. 1, pp. 91-102. |
Weiser, “Some Computer Science Issues in Ubiquitous Computing,” Communications of the ACM, Jul. 1993, vol. 36—No. 7, pp. 75-84. |
Weiser, “The Computer for the 21st Century,” Scientific American, Sep. 1991, 8 pages. |
Workshop on Wearable Computing Systems, Aug. 19-21, 1996, 3 pages. |
Brilingaite et al., “Online Route Prediction for Automotive Applications,” retrieved at <<http://www.cs.aau.dk/˜csj/Papers/Files/2006—brilingaitelTSS.pdf>> Last accessed May 14, 2008, 9 pages. |
Extended European Search Report for EP 07796299.1 mailed Oct. 12, 2011, 7 pages. |
Froehlich et al., “Route Prediction from Trip Observations,” in Society of Automotive Engineers (SAE) World Congress, 2008, Paper 2008-01-01 95, Detroit, Michigan, USA, 13 pages. |
Karbassi et al., “Vehicle Route Prediction and Time of Arrival Estimation Techniques for Improved Transportation System Management,” In Intelligent Vehicle Symposium, 2003, pp. 511-516. |
Krumm et al., “Map matching with Travel Time Constraints,” in Society of Automative Engineers (SAE) 2007 World Congress, 2007, Paper 2007-01-1 012, Detroit, Michigan, USA, 11 pages. |
Krumm et al., “Predestination Inferring Destinations from Partial Trajectories,” In Eighth International Conference on Ubiquitous Computing, (UBIComp 2006), 2006, Orange County, California, USA pp. 241-260. |
Krumm, “Real Time Destination Prediction Based on Efficient Routes,” SAE 2006 Transactions Journal of Passenger Cars—Electronic and Electrical Systems, 2006. 6 pages. |
Laasonen, “Route Prediction from Cellular Data,” retrieved at <<http://www.cs.helsinki.fi/group/context/pubs/caps05.pdf>> Last accessed May 14, 2008, 10 pages. |
Lamb et al., “Avoiding Explicit Map-Matching in Vehicle Location,” retrieved at <<http://users.rsise.anu.edu.au/˜thiebaux/papers/its99.doc>> Last accessed May 14, 2008, 9 pages. |
Office Action for U.S. Appl. No. 12/170,068, mailed on Nov. 29, 2011, John Krumm, “Route Prediction,” 7 pages. |
Patterson et al., “Inferring High-Level Behavior from Low-Level Sensors,” In UbiComp 2003: Ubiquitous Computing, 2003, Springer, Seattle Washington USA, pp. 73-89. |
Simmons et al., “Learning to Predict Driver Route and Destination Intent,” In 2006 IEEE Intelligent Transportation Systems Conference, 2006, Toronto, Canada, pp. 127-132. |
Bhawalkar et al., “ScheduleNanny Using GPS to Learn the User's Significant Locations, Travel Times and Schedule,” retrieved at <<http://arxiv.org/ftp/cs/papers/0409/0409003.pdf>>, Sep. 2, 2004, 7 pages. |
Horvitz et al., “Mobile Opportunistic Planning: Methods and Models,” Proceedings of the Eleventh Conference on User Modeling (UM 2005), Jun. 2007, Corfu, Greece, pp. 238-247. |
Kamar et al., “Mobile Opportunistic Commerce: Mechanisms, Architecture, and Application,” Proceedings of AAMAS 2008, Estoril, Portugal, May 2008, 2 pages. |
Kostove et al., “Travel Destination Prediction Using Frequent Crossing Pattern from Driving History,” Proceedings of the 8th International IEEE Conference on Intelligent Transportation Systems, Vienna, Austria, Sep. 13-16, 2005, 8 pages. |
Krumm et al., “Predestination: Inferring Destinations from Partial Trajectories,” UbiComp 2006: Eighth International Conference on Ubiquitous Computing, Sep. 2006, 1 page. |
Letchner et al., “Trip Router with Individualized Preferences (TRIP): Incorporating Personalization into Route Planning,” Eighteenth Conference on Innovative Applications of Artificial Intelligence, Jul. 2006, 6 pages. |
Mapquest.com Features, retrieved on Oct. 27, 2010 at <<http://features.mapquest.com/>> 3 pages. |
Persad-Maharaj et al., “Real-Time Travel Path Prediction Using GPS-Enabled Mobile Phones,” Presented at the 15th World Congress on Intelligent Transportation Systems, New York, New York, Nov. 16-20, 2008. Paper # 30413, 12 pages. |
Torkkola et al., “Traffic Advisories Based on Route Prediction,” retrieved at <<http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.164.8542&rep=rep1&type=pdf>>, Sep. 2007, 4 pages. |
Brush et al., U.S. Appl. No. 12/970,974, “Mobile Search Based on Predicted Location,” filed Dec. 17, 2010, 35 pages. |
Beard et al., “Estimating Positions and Paths of Moving Objects,” Seventh International Workshop on Temporal Representation and Reasoning (Time 2000), Jul. 2000, 8 pages. |
Choi et al., “Performance Evaluation of Traffic Control Based on Geographical Information,” IEEE International Conference on Intelligent Computing and Intelligent Systems (ICIS2009), Dec. 2009, pp. 85-89. |
“Configuring Multiple SSIDs,” Cisco IOS Software Configuration Guide for Cisco Aironet Access Points 12.3(7)JA, retrieved from <<http://www.cisco.com/en/US/docs/wireless/access—point/12.3—7—JA/configuration/guide/s37ssid.html>> on Nov. 4, 2011, 5 pages. |
Console et al, “Adaptation and Personalization on Board Cars: A Framework and Its Application to Tourist Services,” Adaptive Hypermedia and Adaptive Web-Based Systems, Lecture Notes in Computer Science, vol. 2347-2006, Springer-Verlag Berlin, Heidelberg, May 2002, pp. 112-121. |
Falaki, “WLAN Interface Management on Mobile Devices,” University of Waterloo, Waterloo, Ontario, Canada, 2008, 88 pages. |
International Search Report dated Jan. 15, 2007 for PCT Application Serial No. PCT/US2006/034608, 3 pages. |
Translation of JP Office Action mailed May 31, 2011 for JP Patent Appln 2008-533377, 6 pages. |
Krumm et al., “Predestination: Where Do You Want to Go Today?” Computer, vol. 40, Issue 4, Apr. 2007, pp. 105-107. |
Krumm, “Where Will They Turn: Predicting Turn Proportions at Intersections,” Personal and Ubiquitous Computing (2010), 14:7, Oct. 2010, 13 pages. |
Lee, et al., “Design and implementation of a movement history analysis framework for the taxi telematics system,” Proceedings of the 14th Asia-Pacific Conference on Communications (APCC2008), Oct. 2008, 4 pages. |
Liu et al, “Location Awareness Through Trajectory Prediction,” Department of Information Science and Telecommunications, University of Pittsburgh, Pittsburgh, Pennsylvania, May 2006, pp. 1-38. |
Liu et al., “Remaining Delivery Time Estimation based Routing for Intermittently Connected Mobile Networks,” 28th International Conference on Distributed Computing Systems Workshops, Jun. 2008, pp. 222-227. |
Miyashita et al., “A Map Matching Algorithm for Car Navigation Systems that Predict User Destination,” Advanced Information Networking and Applications (AINAW) Workshops 2008, Mar. 2008, 7 pages. |
Office action for U.S. Appl. No. 12/170,068, mailed on Aug. 2, 2012, Krumm, “Route Prediction,” 8 pages. |
Orebaugh et al, “Wireless Sniffing with Wireshark,” Wireshark & Ethereal Network Protocol Analyzer Toolkit, Chapter 6, Sep. 2006, pp. 6:1-6:104. |
Sananmongkhonchai, et al., “Cell-based Traffic Estimation form Mutliple GPS-Equipped Cars,” IEEE Region 10 Conference, TENCONN 2009, Jan. 2009, 6 pages. |
“Smart WiFi for Android,” S4BB Limited, retrieved on Nov. 4, 2011 from <<http://www.s4bb.com/software/smartwifi/smartwifi-for-android/>>, 5 pages. |
Benzoon, “SmartWiFi for BlackBerry: A Battery Power Optimizer,” retrieved on Nov. 4, 2011 at <<http://www.blackberryinsight.com/2011/06/03/smartwifi-for-blackberry-a-battery-power-optimizer/>>, Jun. 3, 2011, 10 pages. |
Tanaka et al, “A Destination Predication Method Using Driving Contents and Trajectory for Car Navigation Systems,” SAC'09, Mar. 2009, pp. 190-195. |
Terada et al., “Design of a Car Navigation System that Predicts User Destination,” Proceedings of the 7th International Conference on Mobile Data Management (MDM'06), May 2006, 6 pages. |
van Setten et al, “Context-Aware Recommendations in the Mobile Tourist Application COMPASS,” AH 2004, Eindhoven, The Netherlands, LNCS 3137, Springer-Verlag, Aug. 2004, pp. 235-244. |
Vaughan-Nichols, “Will Mobile Computing's Future be Location, Location, Location?” Computer, vol. 42, Issue 2, Feb. 2009, pp. 14-17. |
Wei et al., “Development of Freeway Travel Time Forecasting Models by Integrating Different Sources of Traffic Data,” IEEE Transactions on Vechicular Technology, vol. 56, No. 6, Nov. 2007, pp. 368-369. |
Wu et al., “A Dynamic Navigation Scheme for Vehicular Ad Hoc Networks,” Latest Trends on Communications, Aug. 2010, pp. 85-90. |
Xie et al., “Development of Navigation System for Autonomous Vehicle to Meet the DARPA Urban Grand Challenge,” Proceedings of the IEEE Intelligent Transportation Systems Conference, Sep. / Oct. 2007, pp. 767-772. |
Ye et al., “Predict Personal Contiuous Route,” Proceedings of the 11th International IEEE Conference on Intelligent Transportation Systems, Oct. 2008, pp. 587-592. |
ISA Korea, International Search Report and Written Opinion of PCT/US2012/043413, Korean Intellectual Property Office, Nov. 28, 2012, 8 pages. |
European Patent Office, Extended European Search Report Issued in European Patent Application No. 12803616.7, Nov. 20, 2014, 6 Pages. |
McGinty, Lorraine et al., “Personalised Route Planning: A Case-Based Approach”, Advances in Case-Based Reasoning; Springer Berlin Heidelberg, Sep. 2000, pp. 431-443. |
McGinty, Lorraine et al., “Shared Experiences in Personalized Route Planning”, FLAIRS Conference 2002, May 2002, pp. 111-115. |
Number | Date | Country | |
---|---|---|---|
20120265433 A1 | Oct 2012 | US |