Patent Publication Number: US-9410813-B2

Title: Course-based place searching

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
     This patent application is a continuation of U.S. patent application Ser. No. 13/735,902, filed Jan. 7, 2013 and issued Apr. 7, 2015 as U.S. Pat. No. 9,002,567, which is incorporated herein by reference. 
    
    
     BACKGROUND 
     1. Field 
     The embodiments discussed herein relate to systems and methods of performing a course-based place search. 
     2. Relevant Technology 
     Many vehicles coming off production lines today include built-in electronic devices such as built-in navigation systems. In addition to providing navigation instructions, these built-in navigation systems are often capable of performing location-based searching. Built-in navigation systems are relatively expensive and often include software and/or hardware that is already outdated by the time the vehicle is sold to the consumer who will use the vehicle. 
     Many consumers own mobile electronic devices (“mobile devices”) such as smartphones and tablets that are commonly replaced every one or two years. One result of the relatively short lifespan of such mobile devices is that they often provide consumers with the latest, or almost the latest, and most up-to-date software and/or hardware. Such mobile devices can operate a huge variety of apps, can access online content, can often interface with mobile telephone networks, and are highly flexible. These mobile devices are often capable of providing navigation instructions and performing location-based searching. 
     Some functionality provided by mobile devices, such as navigation apps, may compete with the built-in electronics provided in vehicles. In many cases, the software and/or hardware of mobile devices is newer and offers better performance than the software and/or hardware of a vehicle. As a result, consumers may opt to use the mobile devices while driving for navigation instructions and to perform location-based searching that might also be provided by the vehicle. With equivalent—and often superior—functionality available via mobile devices, many consumers may opt to purchase and/or lease vehicles without built-in navigation systems. 
     However, the use of electronic devices while operating a vehicle can lead to operator distractions and potentially dangerous operating conditions. This sort of “distracted driving” has caused accidents, and many states now have laws forbidding or restricting interaction with mobile devices while driving. Furthermore, the National Highway Traffic Safety Administration (NHSTA) has provided guidelines to automakers to ensure that new cars discourage distracted driving. The focus of the NHSTA guidelines is to encourage drivers to keep their eyes on the road, rather than being distracted with the interface of a mobile device or vehicular device. To that end, some location-based searching functionality of electronic devices may potentially be disabled now and possibly in a more widespread manner in the future. The NHSTA guidelines are often in direct conflict with drivers&#39; desired behavior. 
     For example, an operator or other occupant of a vehicle may often wish to perform location-based searching. Conventional location-based searching is often performed by providing a location and search criteria to a location-based search engine. The search engine generally returns places related to the search criteria that are located within an area centered on the provided location. Often, a list of places is provided and may be sorted by proximity to the provided location, associated ratings, relevance to the search criteria, or the like. Generally, the returned places are reviewed by the searcher, who identifies one or more of the returned places as an acceptable result. Identifying an acceptable place from the search often requires the searcher to review multiple returned places. For example, the searcher might pan and/or zoom a view of a map containing representations of the places. The map might show the relative locations of the places, while detailed information about the places might be included. 
     This form of location-based searching may work well in situations where a person performing the search is stationary and/or is not traveling to a particular destination. However, where the search is performed on the move, and/or when traveling to a particular destination, many of the places provided by such a search may be in a direction not in the direction of travel and/or not in the direction of the destination. 
     The subject matter claimed herein is not limited to embodiments that solve any disadvantages or that operate only in environments such as those described above. Rather, this background is only provided to illustrate one exemplary technology area where some embodiments described herein may be practiced. 
     SUMMARY 
     Some embodiments described herein generally relate to systems and methods of performing a course-based place search. The systems and methods may allow an occupant of a vehicle to perform a location-based search and receive results based at least in part on the vehicle&#39;s course. For example, the systems and methods may return places based on a heading, predicted route, proposed route, and/or destination of the vehicle. The returned places may be associated with locations that may be reached without a significant deviation from the vehicle&#39;s course. As a result, places that can only be reached with a significant deviation from the vehicle&#39;s course may be omitted from course-based search results. By not presenting these places to the occupants of the vehicle, the places returned in response to course-based searches may be more relevant than conventional location-based searches. A course-based search can thus allow an occupant of a vehicle to more safely and conveniently search for and identify acceptable places because the returned places are generally more relevant to the occupants. 
     This Summary introduces a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential characteristics of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter. 
     In an example embodiment, a system for performing a course-based place search is described. The system includes a navigation device, a processing device, and a display. The navigation device is configured to track a location of the vehicle and a course of the vehicle. The processing device is communicatively coupled to the navigation device and is configured to request places from a resource based at least in part on the location of the vehicle and a search criterion and to return a first one or more places received from the resource to an occupant of the vehicle. The first one or more places returned are based at least in part on the course of the vehicle. The display is communicatively coupled to the processing device. The first one or more places are displayed on the display. 
     In another example embodiment, a method of performing a course-based place search is described. The method includes tracking a location of the vehicle and a course of the vehicle. The method also includes requesting places from a resource based at least in part on the location of the vehicle and a search criterion. The method further includes returning a first one or more places received from the resource to an occupant of the vehicle. The first one or more places returned are based at least in part on the course of the vehicle. 
     In yet another example embodiment, a computer-readable medium is described. The computer-readable medium has computer instructions stored thereon that are executable by a processor to perform operations. The operations include tracking a location of the vehicle and a course of the vehicle. The operations also include requesting places from a resource based at least in part on the location of the vehicle and a search criterion. The operations further include returning a first one or more places received from the resource to an occupant of the vehicle. The first one or more places returned are based at least in part on the course of the vehicle. 
     Additional features and advantages will be set forth in the description which follows, and in part will be obvious from the description, or may be learned by the practice of the embodiments. The features and advantages of the embodiments will be realized and obtained by means of the instruments and combinations particularly pointed out in the claims. These and other features will become more fully apparent from the following description and claims, or may be learned by the practice of the embodiments as set forth hereinafter. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       To further clarify the above and other advantages and features of the present invention, a more particular description of the invention will be rendered by reference to specific embodiments thereof which are illustrated in the appended drawings. It is appreciated that these drawings depict only typical embodiments of the invention and are therefore not to be considered limiting of its scope. The invention will be described and explained with additional specificity and detail through the use of the accompanying drawings in which: 
         FIG. 1  is a diagrammatic view of an example operating environment including a vehicle and a mobile device; 
         FIG. 2  is a diagrammatic view of an example course-based searching system such as may be implemented in the operating environment of  FIG. 1 ; 
         FIG. 3  is a block diagram of another example course-based searching system such as may be implemented in the operating environment of  FIG. 1 ; 
         FIG. 4A  illustrates an example map such as may be displayed by the example course-based searching systems of  FIG. 2  and  FIG. 3 ; 
         FIG. 4B  illustrates the example map of  FIG. 4A  including a proposed route; 
         FIG. 4C  illustrates the example map of  FIG. 4B  including an updated proposed route; and 
         FIG. 5  is a flowchart of an example method of performing a course-based place search. 
     
    
    
     DESCRIPTION OF EMBODIMENTS 
     Operators and/or passengers (“occupants”) of a vehicle may wish to identify potential places to eat, to buy fuel, and/or to undertake some other desired activity. Location-based searching may allow the occupants to search places located near the vehicle&#39;s location that meet a selected search criteria. In the absence of the systems and methods described herein, the location-based search may return places located in an area generally centered on the vehicle location. Many of the places returned by the location-based search may not be very relevant to the occupants, as the occupants may be unlikely to select the places. For example, many of the places may require significant backtracking and/or a significant detour to reach. Other places may not include necessary services, may not be preferred by the occupants, or the like. Including these less relevant places with the returned places may make identifying a relevant and acceptable place a cumbersome and time-consuming process. By encouraging the occupants to expend extra attention to identify an acceptable place, including less relevant places in the results of a search may increase the risk of distracted driving if the location-based search is made in a moving vehicle. In the absence of the embodiments described herein, an occupant of a vehicle wishing to make a location-based search may be forced to decide whether to risk distracted driving to do so. 
     The methods and systems described herein enable performance of course-based searches. Course-based searching may reduce, and possibly eliminate, the risk of distracted driving when compared to conventional location-based searching. Basing the places returned at least in part on the course of a vehicle may provide an occupant of the vehicle with relevant results from which the occupant may identify an acceptable place. The places returned may be further based at least in part on preferences of the occupant of the vehicle, information from the vehicle, or detailed information about the places, which may further increase the relevance of the places returned to the occupant. 
     In view of the foregoing, some embodiments described herein allow a course-based search to return relevant places to an occupant of a vehicle. 
     Reference will now be made to the figures wherein like structures will be provided with like reference designations. The drawings are diagrammatic and schematic representations of exemplary embodiments and, accordingly, are not limiting of the scope of the claimed subject matter, nor are the drawings necessarily drawn to scale. 
       FIG. 1  illustrates an example operating environment  100  including a vehicle  102  and a mobile device  110 . Although illustrated as an automobile, the vehicle  102  may more generally include any vehicle in which it may be desirable to perform a course-based search. The vehicle  102  may include a motorized vehicle such as a car, a truck, a motorcycle, a tractor, a semi-tractor, an airplane, a motorized boat, or the like, or even a non-motorized vehicle such as a bicycle, a wheelchair, a sailboat, or the like—provided that suitable components may be present. 
     The vehicle  102  and/or the mobile device  110  may allow course-based searches to be performed. As used herein, the term “course” broadly applies to any information that describes an actual and/or projected change in the vehicle  102  location  116 . For example, a vehicle&#39;s course may include, but is not limited to, a heading, speed, destination, predicted route and/or proposed route. Course-based searching may reduce, and possibly eliminate, the risk of distracted driving when compared to conventional location-based searching. The places returned in response to a course-based search may be based at least in part on the course of the vehicle  102 . Basing the places returned at least in part on the course of the vehicle  102  may provide an occupant (not shown) of the vehicle  102  with relevant results from which the occupant may identify an acceptable place. As used herein, the term “occupant” broadly applies to operators and passengers of a vehicle. The places returned may be further based at least in part on a preference of the occupant, a status of the vehicle  102 , and/or detailed information about the places, which may further increase the relevance of the places returned to the occupant. 
     In some embodiments, a search criterion of the course-based search may relate to energy for replacing energy reserves of the vehicle  102 . For example, the search criteria may specify energy-dispensing stations that offer a particular type of energy, such as, but not limited to, gasoline, diesel fuel, liquefied petroleum gas (LPG), compressed natural gas (CNG), liquefied natural gas (LNG), methanol, ethanol, biodiesel, hydrogen, electricity, and/or other types of energy for powering a vehicle  102 . Embodiments may include determining an expected range of the vehicle  102  based on the energy reserves of the vehicle and returning energy-dispensing stations that are within the expected range of the vehicle  102 , further increasing the relevance of the results returned in such course-based searches. Some embodiments may improve the relevance of the returned results further by retrieving information related to the energy costs of each of the energy-dispensing stations and returning the least expensive energy-dispensing stations for replenishing the vehicle&#39;s energy reserves. 
     The vehicle  102  may generally include one or more devices  104  to assist with operation of the vehicle  102 , to improve the vehicle&#39;s safety, to entertain occupants of the vehicle  102 , to improve the comfort of occupants, or the like. For example, the devices  104  can include an audio system for audibly providing occupants with entertainment and other information. The devices  104  can also include one or more displays for visually providing occupants with information and potentially with entertainment. The displays may include instrument panels, head unit displays, and other display devices that may be found in both new and used vehicles. 
     A voice-recognition system may also be included as one of the devices  104  included with the vehicle  102 . The voice-recognition system may include a microphone for detecting a spoken command from an occupant. An input device, such as a switch, button, touch surface, or the like, may be included in the voice-recognition system and/or the devices  104  to receive input effective to instruct the voice-recognition system to listen for a spoken command. 
     The devices  104  may include a navigation system for determining a location of the vehicle  102 , for providing occupants with directions to a destination, or the like. The navigation system generally relies on satellite navigation systems such as the global positioning system (GPS) or the global navigation satellite system (GLONASS). However, other satellite navigation systems can be used, as can terrestrial navigation systems such as the long range navigation (LORAN) system, Wi-Fi-based positioning system (WPS), and the like. The navigation system may provide information to occupants via one or more displays and/or an audio system. In many cases, built-in navigation systems may include software and/or hardware that is already outdated by the time the vehicle  102  is sold to the consumer who will use the vehicle  102 . 
     The vehicle  102  may communicate  112  with a mobile device  110 . The mobile device  110  may be virtually any communication-enabled mobile device including, but not limited to, a portable media device, a personal digital assistant (PDA), a smartphone, a tablet computer, a laptop computer, or other communication-enabled mobile device. The mobile device  110  may include a communication interface such as an IEEE 802.11 interface, a Bluetooth interface, a Universal Mobile Telecommunications System (UMTS) interface, a Long Term Evolution Advanced (LTE-A) interface, or other mobile cellular interface. The mobile device  110  may wirelessly communicate  114  data, voice communication, SMS messages, or the like over the network  106 . In some embodiments, the devices  104  may communicate over the network  106  via the mobile device  110 . 
     Many consumers replace their mobile device  110  much more often than they replace their vehicle  102 . The relatively short lifespan of such mobile devices  110  often provides consumers with access to the latest, or almost the latest, and most up-to-date software and/or hardware through their mobile device  110 . Such mobile devices may generally operate a variety of apps, access online content, and can often interface with radio access networks. 
     In some embodiments, the vehicle  102  may be configured to wirelessly communicate  112  with the mobile device  110 . Alternately or additionally, the vehicle  102  and the mobile device  110  may communicate  112  over a wired connection. In some embodiments, communication  112  between the vehicle  102  and the mobile device  110  may substantially occur as disclosed in U.S. patent application Ser. No. 13/664,212, entitled “AUTOMOBILE DATA ABSTRACTION AND COMMUNICATION” and filed Oct. 30, 2012, which application is incorporated herein by reference in its entirety. 
     The mobile device  110  may communicate with the devices  104  and the vehicle  102 , and may project content onto one or more displays of the vehicle  102 . In some embodiments, projection of content may substantially occur as disclosed in U.S. patent application Ser. No. 13/664,204, entitled “PROJECTION OF CONTENT TO EXTERNAL DISPLAY DEVICES” and filed Oct. 30, 2012, which application is incorporated herein by reference in its entirety. 
       FIG. 2  is a diagrammatic view of an example course-based searching system  200  such as may be implemented in the operating environment  100  of  FIG. 1 . The system  200  may be located within the interior of a vehicle that may generally correspond to the vehicle  102  of  FIG. 1 . The system  200  includes a mobile device  202  that may generally correspond to the mobile device  110  of  FIG. 1 . The mobile device  202  may include a display  202 A. The display  202 A may function as an input interface for the mobile device  202  when implemented as a touchscreen display. 
     The system  200  may additionally include one or more vehicular display devices  204  and  206 . More particularly, the vehicular display devices  204  and  206  respectively include a head unit  204  and an instrument panel  206  in the illustrated embodiment. The vehicular display devices  204  and  206  are generally vehicular display devices that can be found in new and used vehicles. The principles and operation of the embodiments of the invention described herein can be adapted for use with existing vehicular display devices and generally do not require the cooperation of the vehicle manufacturer. In some cases, the existing vehicular display devices  204  and  206  can be equipped or retrofitted with a wireless interface or other communication device as further described herein to facilitate communication with mobile device  202 . In other cases, the vehicular display devices  204  and  206  included in new vehicles are adapted by the manufacturer to facilitate the communication. 
     The head unit  204  includes a display  204 A configured to display content such as video content from an integrated DVD player, radio or other music information, weather or traffic information, etc. For example, the display  204 A may be associated with an existing built-in electronics system that has certain functionality, which is often limited or outdated in the absence of the systems described herein. The head unit  204  additionally includes an input interface, which may include any input device configured to receive user input effective to operate the head unit  204  and potentially other aspects of the vehicle in which the head unit  204  is installed. For example, the input interface of the head unit  204  includes one or more buttons  204 B,  204 C and/or the display  204 A itself when implemented as a touchscreen display. In some embodiments, when the mobile device  202  is projecting content to the head unit  204 , user input provided via the input interface of the head unit  204  is used to control operation of the mobile device  202 . 
     The instrument panel  206  includes at least one display area  206 A in which content may be displayed. Accordingly, the mobile device  202  may project content to the instrument panel  206  for display in all or a portion of the display area  206 A. Alternately or additionally, the instrument panel  206  may further include one or more fixed instruments  206 B and  206 C. For example, the fixed instruments  206 B and  206 C may include a speedometer, a fuel gauge, a temperature gauge, an RPM gauge, or the like or any combination thereof. Although not shown, in some embodiments, the instrument panel  206  may include an input interface such as has been described with respect to the head unit  204 . 
     The system  200  may further include a steering wheel  208  of the vehicle. In some embodiments, the steering wheel  208  includes an input interface such as has been described above with respect to the head unit  204 . The input interface of the steering wheel  208  may include one or more buttons  208 A and  208 B. In some embodiments, the buttons  208 A and  208 B are used for one or more of prompting the vehicle to listen for a voice command, speaker volume control, channel selection, track selection, or for other functionality. 
     In some embodiments, the system  200  further includes an intra-vehicle bus  210  to which the head unit  204 , the instrument panel  206  and/or the steering wheel  208  are communicatively coupled. The intra-vehicle bus  210  may be configured to allow microcontrollers such as may be implemented in each of the head unit  204 , the instrument panel  206  and the steering wheel  208 , to communicate with each other. The intra-vehicle bus  210  may include a controller area network (CAN) bus or any bus used in a vehicle for communicating signals between components, including standards such as media oriented systems transport (MOST), local interconnect network (LIN), Inter-Integrated Circuit (I 2 C), Ethernet, or the like. 
     An access node  212  may be provided to allow access to the intra-vehicle bus  210 . For example, an intra-vehicle bus interface (IVBI) device  214  may be communicatively coupled to the access node  212  to read data from and/or write data to the intra-vehicle bus  210 . In an example embodiment, the access node  212  may include an on-board diagnostics (OBD) connector compliant with a particular OBD interface, such as the OBD-I, OBD-1.5, or OBD-II interfaces. The IVBI device  214  may be configured to communicate with the mobile device  202  wirelessly or via a hardwired connection. 
     In some embodiments, user input entered via the buttons  208 A and  208 B of the steering wheel  208  and/or entered via other input interfaces of the vehicle may be used to control operation of the mobile device  202 . For example, data representing the user input may be communicated on the intra-vehicle bus  210 , read by the IVBI device  214 , and communicated by the IVBI device  214  to the mobile device  202  either wirelessly or via a hardwired connection. 
     The system  200  tracks a location of the vehicle. In some embodiments, the location of the vehicle is tracked by the mobile device  202 . Alternately or additionally, the location of the vehicle may be tracked by a navigation device of the vehicle. The system  200  may track the location of the vehicle continuously or intermittently. 
     The system  200  also tracks a course of the vehicle. The course of the vehicle may be based on any information that describes an actual and/or projected change in a vehicle&#39;s location. The system  200  may track a heading of the vehicle via a compass or other device of the vehicle or the mobile phone  202 . The system  200  may also track speeds of the vehicle including average speeds, instantaneous speeds, and the like. The system  200  may receive the vehicle&#39;s speed via the intra-vehicle bus  210  or via a navigation device of the mobile phone  202 . The course may include predicted routes, proposed routes, and the like. In tracking the vehicle&#39;s course, the system  200  may also consider speed limit, weather, and/or traffic information gathered from one or more resources such as the Internet. 
     In some embodiments, the course may include a driving profile of an operator of the vehicle. The driving profile may include information about driving habits and preferences of the operator that may be used in projecting the vehicle&#39;s course. The system  200  may further contain information about a destination of the vehicle. The destination may be input from an occupant, inferred by the system  200  based on an occupant&#39;s past and/or current behavior, or the like. In some embodiments, the course may be based on a route the system  200  projects the vehicle is likely to take. The course may also be based on a proposed route provided to the occupants of the vehicle. The proposed route may include navigation instructions for traveling to a destination. Information describing the course of the vehicle is not limited to the information explicitly disclosed herein; the course may include other information describing actual or projected changes in the vehicle&#39;s location. 
     The system  200  may request places from a resource based on the location of the vehicle and a search criterion. In some embodiments, the system may perform the request as a location-based search via the mobile phone  202 . The resource may include a network resource such as a location-based search engine such as Google Maps, Yelp, Bing Maps, or the like. The system  200  may perform the request via an application programming interface (API) of the location-based search engines. The system  200  may receive multiple places from the resource in response to the request. In some embodiments, these multiple places may be located in an area centered on the vehicle&#39;s location and may include results less relevant to the occupant. The system  200  may return one or more of the received places to an occupant of the vehicle based on the course of the vehicle such that the returned places are more relevant to the occupant. In some embodiments, an application on the mobile device  202  may identify which of the multiple received places to return to the occupants. 
     The system  200  may determine which of the multiple places to return to the occupants based on the course of the vehicle. In some embodiments, the system  200  may return one or more places associated with locations that require the vehicle to deviate from the course by less than an acceptable threshold to reach. Places received from the resource that require the vehicle to deviate from the course by more than the acceptable threshold may not be returned to the occupant. 
     The threshold may be set by an occupant or by the system  200 . In some embodiments, the acceptable threshold may be generated and/or changed by the system  200 . The threshold may be defined as a distance, a time, or some other measurement. For example, the system  200  may consider any deviation from the course that takes less than five minutes of travel time to be within an acceptable threshold. Similarly, the system  200  may consider any deviation from the course that adds less than one mile to the vehicle&#39;s course to be within an acceptable threshold. Alternately or additionally, thresholds may be defined as a portion of a trip length. For example, the system  200  may consider any deviation from the course that is projected to increase the travel time or travel distance by less than five percent to be within an acceptable threshold. 
     In some embodiments, the system  200  may consider the preferences of the occupant in determining an acceptable threshold. The system  200  may monitor the historical actions of the occupant, including past deviations from past trips, to determine a threshold acceptable to the particular occupant. For example, as the system  200  performs course-based place searches as described herein over a period of time, the system  200  may consider the places actually chosen by the occupant. If the occupant rarely chooses places at or near the threshold, the acceptable threshold may be lessened such that places requiring less deviation from the course of the vehicle are returned in future course-based searches. Conversely, if the occupant often chooses places at or near the threshold, the acceptable threshold may be increased such that places requiring more deviation from the course of the vehicle are returned in future course-based searches. 
     The occupant&#39;s preferences may be monitored even when the occupant is not performing course-based searches. For example, the system  200  may use a navigation device to monitor the places the occupant frequents to determine the occupant&#39;s brand preferences, food preferences, route preferences, and the like. 
     The returned places may be associated with locations located in a direction of the heading of the vehicle, or in a direction that includes an acceptable deviation from the heading of the vehicle. Places associated with locations requiring the vehicle to deviate from the heading of the vehicle by more than an acceptable threshold to reach are not returned. Similarly, the returned places may be associated with locations located along a predicted route or with locations requiring the vehicle to deviate from the proposed route by an acceptable threshold to reach. Places associated with locations requiring the vehicle to deviate from the predicted route by more than an acceptable threshold to reach are not returned. 
     In some embodiments, the course may include a proposed route of the vehicle. For example, the course may include a proposed route presented to the occupant to direct the occupant to a destination. The returned places may be associated with locations located along the proposed route, or locations requiring the vehicle to deviate from the proposed route by less than an acceptable threshold to reach. Places associated with locations requiring the vehicle to deviate from the proposed route by more than the acceptable threshold are not returned. 
     In some embodiments, determining the required deviation from a course for each place may be accomplished by comparing projected routes to and from each place. For example, if the course includes a proposed route to a destination, the deviation may be determined for each place by acquiring an alternate route to the destination by way of each place and comparing the alternate routes to the proposed route. The alternate routes may be requested from a resource such as a navigation-based search engine such as Google Maps or Bing Maps. However, other methods of determining the required deviation may be used. 
     The returned places may be further based on characteristics of the places, a status of the vehicle and/or the preferences of an occupant. In some instances, places may not be returned if the occupant is unlikely to select the places and/or there are a suitable number of alternative places. For example, if the occupant never patronizes a particular brand of restaurant that has been returned to the occupant, the system  200  may stop returning that particular brand of restaurant. Optionally, the system  200  may return places that have received suitable reviews, are in a particular price range, or the like. For example, the system may receive pricing information and reviews as part of the location-based search, or may request reviews from a suitable resource such as Yelp, Citysearch, or the like. 
     In some embodiments, a preference of an occupant may include a time the occupant prefers to visit a place. The time the occupant prefers to visit a place may be identified automatically or may be identified by the occupant. For example, the occupant may prompt the system  200 —by voice activation or another input—to “find good Chinese food an hour away.” In response, the system  200  may return places associated with Chinese restaurants located near a location the vehicle is expected to be in one hour. The expected location of the vehicle may be based on the course of the vehicle. 
     The system  200  may also return places based on a status of the vehicle. The status of the vehicle may be requested by the mobile device  202  through the IVBI device  214 . In some instances, the status of the vehicle may cause the system  200  to automatically request places from a resource and return one or more of the received places to the occupant of the vehicle. For example, if the vehicle senses a problem with the engine that requires attention (often indicated by a “check engine” light on the vehicle display  206 ), the system  200  may automatically request places associated with vehicle repair. The system  200  may return vehicle repair places that might fix the sensed problem on the particular make of vehicle. The vehicle repair places may be returned based on the course of the vehicle as described herein, but in some instances, the closest vehicle repair places may be returned regardless of course if the sensed problem requires urgent attention. 
     The system  200  may return places associated with replacing energy reserves of the vehicle. The energy reserves of the vehicle may include gasoline, diesel fuel, LPG, CNG, LNG, methanol, ethanol, biodiesel, hydrogen, electricity, and/or other energy sources for powering the vehicle. In some embodiments, the system  200  may retrieve information via the intra-vehicle bus  210  identifying the energy source(s) the vehicle employs. In requesting and/or returning places associated with energy-dispensing stations, the system  200  may use the information about the energy source(s) to return relevant results. 
     In some embodiments, the system  200  may retrieve information about the energy reserves of the vehicle via the intra-vehicle bus  210 . The system  200  may determine an expected range of the vehicle based on the energy reserves of the vehicle, the projected speeds of the vehicle, projected elevation changes, weather, traffic, and the like. The system  200  may automatically request places associated with energy-dispensing stations as the energy reserves of the vehicle are consumed. In some embodiments, the system  200  may automatically return energy-dispensing stations within the expected range of the vehicle if the energy reserves are close to being depleted. Alternately or additionally, the system  200  may issue an alert if the vehicle is approaching a final energy-dispensing station within the vehicle&#39;s expected range. 
     Optionally, the system  200  may request the cost associated with the desired energy source at the various energy-dispensing stations via a resource such as a website listing the gasoline prices of gasoline-dispensing stations. The system  200  may then return the energy-dispensing stations based on the cost of purchasing energy from the stations. For example, if multiple stations are located on the vehicle&#39;s route, the system  200  may return the stations with the lowest cost. The system  200  may also selectively return membership-based energy-dispensing stations such as those available through Costco Wholesale and Sam&#39;s Club based on whether the occupant is a member. In some embodiments, if the vehicle requires an electricity-dispensing station (“charging station”) to replenish the vehicle&#39;s energy reserves, the system  200  may check charging station availability and/or reserve a charging station via a resource such as the Internet. 
     The system may return the one or more places to the occupant by displaying information about the places on the display  204 A and/or  202 A. Alternately or additionally, information about the places may be returned audibly through a sound system of the vehicle. When displayed, the one or more places may be displayed on a map, in a list, in tiles, or some other organized manner that may be easily reviewed by an occupant of the vehicle. In some embodiments, occupants may review the places by navigating through information about the returned places using buttons  204 B,  204 C,  208 A, and  208 B; displays  202 A and  204 A when the displays  202 A and  204 A are implemented as touchscreens; and voice commands. Returning the places may include sorting the places by some criteria. For example, the places may be sorted according to a customer review rating, price, distance, or the like. In some embodiments, the places may be sorted according to the length of the detour required to reach each place. Alternately or additionally, the places may be sorted based on a best guess by the system  200  of what place the occupants will select. 
       FIG. 3  is a block diagram of another example course-based searching system  300  such as may be implemented in the operating environment of  FIG. 1 . Additionally, the system  300  may generally correspond to the system  200  of  FIG. 2 . Accordingly, the system  300  includes a mobile device  302  which may generally correspond to the mobile device  110  of  FIG. 1  and/or the mobile device  202  of  FIG. 2 . The system  300  also includes a vehicular device  304 , which may generally correspond to any of the devices  104 ,  204  and/or  206  of  FIGS. 1 and 2 . 
     The mobile device  302  includes a processing device  306  and a computer-readable storage medium  308  (hereinafter “storage medium  308 ”). The processing device  306  is configured to execute computer instructions stored on the storage medium  308  to perform one or more of the operations described herein, such as operations associated with performing a course-based search. Although not illustrated in  FIG. 3 , the processing device  306 , the storage medium  308 , and/or the other components of the mobile device  302  may be communicatively coupled via a communication bus. The communication bus may include, but is not limited to, a memory bus, a storage interface bus, a bus/interface controller, an interface bus, or the like or any combination thereof. 
     The storage medium  308  may include, but is not limited to, a magnetic disk, a flexible disk, a hard-disk, an optical disk such as a compact disk (CD) or DVD, and a solid state drive (SSD) to name a few. Another example of a computer-readable storage medium that may be included in the mobile device  302  may include a system memory (not shown). Various non-limiting examples of system memory include volatile memory such as random access memory (RAM) or non-volatile memory such as read only memory (ROM), flash memory, or the like or any combination thereof. 
     One or more applications  312   a - 312 M (collectively “applications  312 ”) may be executed by the mobile device  302 , and, more particularly, by the processing device  306 . For example, the applications  312  may be stored in the storage medium  308  and executed by the processing device  306  to become corresponding instantiated applications that generate or render information or content locally or communicate information or content with an external information or content resource. 
     The mobile device  302  may be controlled via a UI  326  of the mobile device  302 . Additionally, the mobile device  302  may be configured to output content to a built-in display  316 . 
     The mobile device  302  includes one or more antennas  328  configured for wireless communication. The antennas  328  may be configured to communicate with the vehicular device  304 . For example, the antennas  328  may permit communication through a communication channel  350 . In some embodiments, the communication channel  350  includes the IVBI device  214 , the access node  212 , and the intra-vehicle bus  210  of  FIG. 2 . The antennas  328  also allow the mobile device  302  to communicate over a wireless network generally corresponding to the network  106  of  FIG. 1 . The antennas  328  may allow the mobile device  302  to request places from a network resource. 
     The mobile device  302  includes a navigation device  310 . The navigation device  310  may include hardware and/or software necessary to determine a location and/or course of the mobile device  302 . For example, the navigation device  310  may include hardware and/or software to determine a location and/or course from GPS, GLONASS, LORAN, WPS, and the like. The navigation device  310  may include other devices related to determining a location and/or course of the mobile phone  302 , such as a compass, gyroscope, accelerometer, and the like. 
     The vehicular device  304  includes a processing device  332  and a computer-readable storage medium  334  (hereinafter “storage medium  334 ”). The processing device  332  is configured to execute computer instructions stored on the storage medium  334  to perform one or more of the operations described herein, such as operations associated with performing a course-based search. Although not illustrated in  FIG. 3 , the processing device  332 , the storage medium  334 , and/or the other components of the vehicular device  304  may be communicatively coupled via a communication bus. The communication bus may include, but is not limited to, a memory bus, a storage interface bus, a bus/interface controller, an interface bus, or the like or any combination thereof. 
     The vehicular device  304  may further include a display  336  generally corresponding to one or more of the displays  204 A and  206 A of  FIG. 2 . The vehicular device  304  may be controlled via a UI  327  of the vehicular device  304 . Additionally, the vehicular device  304  may be configured to output content to a built-in display  336 . In some embodiments, the UI  327  of the vehicular device  304  is used to control the mobile device  302  and the mobile device  302  outputs content to the display  327  of the vehicular device  304 . 
     Optionally, the vehicular device  304  may include a navigation device  338 . The navigation device  338  may include hardware and/or software necessary to determine a location and/or course of the vehicular device  304 . For example, the navigation device  338  may include hardware and/or software to determine a location and/or course from GPS, GLONASS, LORAN, WPS, and the like. The navigation device  338  may include other devices related to determining a location and/or course of the vehicular device  304 , such as a compass, gyroscope, accelerometer, and the like. 
       FIG. 4A  illustrates an example map  400  such as may be displayed by the example course-based searching systems  200  and  300  of  FIG. 2  and  FIG. 3 . The map  400  may be displayed on a display generally corresponding to the displays  202 A and/or  204 A of  FIG. 2 , for instance. The map  400  may include a marker indicating a location of a vehicle  402  generally corresponding to the vehicle  102  described with reference to  FIG. 1 . Optionally, the map  400  may include heading  404  and speed  406  information. However, the heading  404  and speed  406  may be omitted from the map  400 . A course-based search such as described herein may consider the heading  404  and speed  406  as information describing the vehicle  402  course. 
     As a result of a course-based search, the map  400  may include place markers  408  representing places received from a location-based search that are located along a predicted route based on the heading  404  of the vehicle  402  or requiring deviation from the predicted route by an acceptable threshold to reach, as indicated by the place markers  408  with solid fill. Other places may be received from the location-based search, but are omitted from being displayed on the map  400 , as indicated by the hatched place markers  410 A- 410 C (hereinafter collectively “omitted places  410 ”). 
     The omitted places  410  may be omitted for any of a variety of reasons. For example, the omitted places  410 C may be omitted because they require the vehicle  402  to deviate from the predicted route by more than an acceptable threshold to reach. Alternately or additionally, the omitted places  410 A may be omitted because they do not satisfy the occupant&#39;s preferences, for example. Alternately or additionally, the omitted place  410 B may be omitted because the distance to the omitted place  410 B is beyond an expected range of the vehicle  402  based on the energy reserves of the vehicle  402 . Optionally, the map  400  may include a marker  411  indicating the location at which the vehicle  402  is projected to deplete its existing energy reserves. 
     Alternately or additionally, the marker  411  may include a circle centered on the vehicle  402  representing the estimated range of the vehicle  402  in all directions. In some embodiments, all places falling outside of the estimated range circle may be omitted from the map  400 . For example, if the vehicle  402  is low on energy reserves and no destination is set, an estimated range circle may automatically be added to the map  400 . The estimated range circle may shrink as the energy reserves of the vehicle  402  are consumed and the estimated range decreases. 
       FIG. 4B  illustrates the example map  400  including a proposed route  412 . The map  400  may include the proposed route  412  and navigation instructions  414  directing an operator of the vehicle to a destination generally designated at  416 . As a result of a course-based search, the map  400  may include place markers  420  representing places received from a location-based search that are located along the proposed route  412  or requiring deviation from the proposed route  412  by an acceptable threshold to reach, as indicated by the place markers  420  with solid fill. 
       FIG. 4C  illustrates the example map  400  of  FIG. 4B  including an updated route  422 . The updated route  422  may be determined based on the selection of the place  424  from amongst all the places  420  returned as a result of the course-based search. As illustrated in  FIG. 4C , traveling to place  424  may add only one mile of distance and five minutes of travel time to the destination  416  when compared to the proposed route  412  shown in  FIG. 4B . 
       FIG. 5  is a flowchart of an example method  500  of performing a course-based place search. The method  500  may be implemented by a special purpose or a general-purpose computer or a system, such as the system  300  of  FIG. 3 . Although  FIG. 5  is illustrated as discrete blocks, various blocks may be divided into additional blocks, combined into fewer blocks, or eliminated, depending on the desired implementation. 
     The method  500  may begin at block  502 , in which a location and a course of a vehicle are tracked. 
     In block  504 , places are requested from a resource based at least in part on the location of the vehicle and a search criterion. 
     In block  506 , a first one or more of places received from the resource are returned to an occupant of the vehicle. The first one or more places returned are based at least in part on the course of the vehicle. In some embodiments, the first one or more places may be returned such that a second one or more places received from the resource are not returned. The second one or more places may require the vehicle to deviate from the course by more than an acceptable threshold to reach the second one or more places. 
     In some embodiments, the first one or more places returned may be further based at least in part on a preference of the occupant of the vehicle. Alternately or additionally, the first one or more places may be further based at least in part on a status of the vehicle, or on detailed information about the places received from the resource. 
     In some embodiments, the course may include a heading of the vehicle. The first one or more places may be associated with locations located along a predicted route of the vehicle or locations requiring the vehicle to deviate from the predicted route by an acceptable threshold to reach the first one or more places. The predicted route may be based at least in part on the heading of the vehicle. A second one or more places received from the resource may not be returned. The second one or more places may be associated with locations requiring the vehicle to deviate from the predicted route by more than an acceptable threshold to reach the second one or more places. The second one or more places may be filtered from the returned results by the resource. Alternately, the second one or more places may be filtered from the returned results locally, e.g., by the system  300 . 
     In some embodiments, the course may include a proposed route of the vehicle. The proposed route may include navigation instructions from the location of the vehicle to a destination. The first one or more places may be associated with locations located along the proposed route of the vehicle or locations requiring the vehicle to deviate from the proposed route by an acceptable threshold to reach the first one or more places. A second one or more places received from the resource may not be returned. The second one or more places may be associated with locations requiring the vehicle to deviate from the proposed route by more than an acceptable threshold to reach the second one or more places. 
     One skilled in the art will appreciate that, for this and other processes and methods disclosed herein, the functions performed in the processes and methods may be implemented in differing order. Furthermore, the outlined steps and operations are only provided as examples, and some of the steps and operations may be optional, combined into fewer steps and operations, or expanded into additional steps and operations without detracting from the essence of the disclosed embodiments. 
     For instance, the search criterion may be related to places providing energy for replenishing energy reserves of the vehicle. In these and other embodiments, the method  500  may further include retrieving information about the energy reserves of the vehicle. The first one or more places may be returned based at least in part on an expected range of the vehicle. The expected range of the vehicle may be based at least in part on the energy reserves of the vehicle. 
     The method  500  may further include tracking energy reserves of the vehicle and automatically returning the first one or more places in response, at least in part, to the energy reserves of the vehicle. 
     An embodiment of the method  500  of  FIG. 5  in the context of the system  300  of  FIG. 3  will now be described. In an example embodiment, the system  300  operates as follows. At the mobile device  302 , the application  312   a  prompts the processing device  306  to request places from a resource via antennas  328 . In requesting the places, the processing device  306  provides a search criterion and a location of a vehicle tracked via the navigation device  310  and/or  338 . In response to the request, the mobile device  302  receives multiple places from the resource via the antennas  328 . 
     A first one or more of the received places are returned to an occupant of the vehicle by way of the display  316  and/or  336 . The mobile device  302  determines which first one or more places are returned to the occupant based at least in part on a course of the vehicle tracked via the navigation device  310  and  338 . 
     The embodiments described herein may include the use of a special purpose or general-purpose computer including various computer hardware or software modules, as discussed in greater detail below. 
     Embodiments described herein may be implemented using computer-readable media for carrying or having computer-executable instructions or data structures stored thereon. Such computer-readable media may be any available media that may be accessed by a general purpose or special purpose computer. By way of example, and not limitation, such computer-readable media may include tangible computer-readable storage media including random-access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), compact disc read-only memory (CD-ROM) or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other storage medium which may be used to carry or store desired program code in the form of computer-executable instructions or data structures and which may be accessed by a general purpose or special purpose computer. Combinations of the above may also be included within the scope of computer-readable media. 
     Computer-executable instructions include, for example, instructions and data which cause a general purpose computer, special purpose computer, or special purpose processing device to perform a certain function or group of functions. Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims. 
     As used herein, the term “module” or “component” may refer to software objects or routines that execute on the computing system. The different components, modules, engines, and services described herein may be implemented as objects or processes that execute on the computing system (e.g., as separate threads). While the system and methods described herein are preferably implemented in software, implementations in hardware or a combination of software and hardware are also possible and contemplated. In this description, a “computing entity” may be any computing system as previously defined herein, or any module or combination of modulates running on a computing system. 
     The present invention may be embodied in other specific forms without departing from its spirit or essential characteristics. The described embodiments are to be considered in all respects only as illustrative and not restrictive. The scope of the invention is, therefore, indicated by the appended claims rather than by the foregoing description. All changes which come within the meaning and range of equivalency of the claims are to be embraced within their scope.