Abstract:
Disclosed is a method and system for recommending locations keyed to a map database system and providing navigation instructions to the recommended locations to a driver of a vehicle by gathering actual statistics about the preferences of the user and/or by comparing the user to population data to create recommendations in accord with the preferences of the population.

Description:
BACKGROUND OF THE INVENTION 
       [0001]    It is well known that windshield lighting systems on airplanes and superimposed over pilot helmet masks can give illuminated cues as to conditions that the pilot or co-pilot should be aware of. These systems may also be translated to an automobile windshield to give the same sort of information, safety and car maintenance information to a driver. It is also well known that Global Positioning Satellite (GPS) and computer based systems now exist on vehicles to pass information beyond immediate, navigational and maintenance information onto drivers and passengers alike. 
         [0002]    Currently, the use of GPS and in-vehicle recommendation systems use voice activation or mounted screen on the dashboard to display useful information about goods, services and directions. Certain services also hold a user&#39;s favorite selections and history to make them easily accessible to the user via the system interface. Services, such as OnStar®, have made this practice increasingly popular among drivers and passengers by providing useful directions, recommendations about goods, food, entertainment and services and suggested maintenance. Windshield display systems have functioned solely for directional, gauge monitoring, maintenance info and warning systems related to external and internal conditions. 
         [0003]    Conventional models address the windshield system and the recommendation elements of services such as the OnStar®; system separately. The two elements do not merge in any current deployments in the marketplace. Vehicle recommendation systems use history and preferences input by the user to generate recommendations, but those recommendations are communicated to the user only when the user requests the recommendations. There is no implied preference or collaborative filtering utilized to generate additional recommendations based upon trends of the user or a relatable community of data to the user&#39;s data. As stated previously, recommendation systems such as OnStar® and the windshield guidance and warning system displays have not merged in the field. Conventional models of the windshield system utilize data and sensors, which may also appear on the dashboard, to provide the driver and or co-pilot with data fed through the sensor and gauge system to a microprocessor which transmits the corresponding data to lighted displays deployed on or within the windshield glass. These displays are coded to represent the data obtained by the gauges and sensors in useful ways to the driver/pilot and or co-pilot. 
         [0004]    Unfortunately, the existing conventional uses have certain limitations in distribution and deployment. First of all, the OnStar® systems and the windshield interface communications systems run in completely separate formats and are not integrated to display non-critical driving information upon the windshield. Secondly, the display of OnStar® type recommendations and preferences does not provide a collaborative filtering or advanced data analysis tool utilizing research trend information to generate additional recommendation for the user to generate additional information which could be deployed upon the windshield interface system. 
         [0005]    Accordingly, there is a need for an integrated system that combines all functions of the windshield warning system with all functions of the OnStar® driver navigation, assistance and recommendation systems. Additionally, the OnStar® style system needs to integrate user recommendations based upon external data and fuse that service into the windshield interface deployment. Further, updated sensor and lighting technology need to be integrated into the windshield system to maximize the effectiveness and durability of the windshield interface system. 
       SUMMARY OF THE INVENTION 
       [0006]    The present invention relates to the creation of a windshield visual and audio system that reflects safety instructions, GPS data of interest and the utilization of input and learned data to create real time alerts and recommendations for the user, 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0007]    The foregoing will be apparent from the following more particular description of example embodiments of the invention, as illustrated in the accompanying drawings in which like reference characters refer to the same parts throughout the different views. The drawings are not necessarily to scale, emphasis instead being placed upon illustrating embodiments of the present invention. 
           [0008]      FIG. 1  illustrates the components of an exemplary system of the present invention; 
           [0009]      FIG. 2  illustrates the display of an alert on the exemplary system of  FIG. 1 ; 
           [0010]      FIG. 3  illustrates the display of a warning related to a road hazard on the exemplary system of  FIG. 1 ; 
           [0011]      FIG. 4  illustrates the display of a warning related to an approaching emergency vehicle on the exemplary system of  FIG. 1 ; 
           [0012]      FIG. 5  illustrates the display of a warning related to an oncoming vehicle on the exemplary system of  FIG. 1 ; 
           [0013]      FIG. 6  illustrates the display of a warning to slow down and a display of the speed limit on the exemplary system of  FIG. 1 ; 
           [0014]      FIG. 7  illustrates the display of a warning related to the running condition or operational state of the vehicle on the exemplary system of  FIG. 1 ; 
           [0015]      FIG. 8  illustrates the display of directions and advertising related to a business on the exemplary system of  FIG. 1 ; 
           [0016]      FIG. 9  illustrates the display of a general warning indicator that prompts the driver to seek further information; 
           [0017]      FIG. 10  illustrates a possible positioning of sensors on a vehicle to be coupled to the exemplary system of  FIG. 1 ; 
           [0018]      FIG. 11  is a block diagram of a recommendation model of the present invention based on user actions; 
           [0019]      FIG. 12  is a block diagram of a recommendation model of the present invention based on research data; 
           [0020]      FIG. 13  is a block diagram of a recommendation model of the present invention based on collaborative filtering. 
           [0021]      FIG. 14  is a schematic view of a computer network employing an embodiment of the present invention. 
           [0022]      FIG. 15  is a block diagram of a computer node in the network of  FIG. 14 . 
           [0023]      FIG. 16  is a flow diagram of one embodiment. 
       
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
       [0024]    The present invention, in accordance with one embodiment relates to the creation of a windshield-displayed guidance system  10  that incorporates safety, guidance and GPS information along with recommendations for the vehicle specific populations based upon user input, history, research and collaborative filtering techniques. The system  10  may be automated, voice activated or controlled by a switch that is installed in the vehicle or as an external add-on or wireless control. The system  10  also allows for the operator(s) to initiate contact with parties outside the vehicle based upon operator command or system recommendation. 
         [0025]      FIG. 1  illustrates one embodiment of the present invention.  FIG. 1  illustrates the typical environment in the front seat of an automobile, including a windshield  100 , rear view mirror  102 , steering wheel  108 , and dashboard  114 . The embodiment illustrated in  FIG. 1  includes a GPS  110 , a control panel  112 , speakers  104 , a voice activation microphone  106 , and a system display area  116  located at the windshield. 
         [0026]    The system display area  116  may be formed in several ways. The system display area  116  may be formed of transparent and organic light-emitting diodes (OLED) formed on the windshield  100  or projected from the dashboard  114  onto the windshield  100 . The system display area  116  may alternatively be formed by a fiber optic lighting display screen embedded in the windshield or projected from the dashboard onto the windshield. The system display area  116  may receive power from the car battery  118  or from an alternative power source (not shown) such as hand crank, solar power, wind power, or regenerative braking. 
         [0027]    The hardware of the system  10  utilizes either a hardwired relay from a CPU into the dashboard  114  or utilizes tiny wireless transmitters embedded in, or on the external or internal surface of the windshield  100  in tandem with the lighting system. The system  10  illuminates either color coded lights or lighted messages in text or graphical symbols based upon information transferred from the CPU and software logic stored in the memory and hard drive or storage area of the system  10 . The illuminated LED lights are powered to light by the system  10  in a logical method based upon the words or lighted advisory to be deployed. The lighted LED lights reside in a grid that makes it possible for all messages or coded advisories to be lighted in the appropriate color based upon the installed grid of lights in the windshield  100 . This data may be immediately transferred upon receipt from an external sensor, internet, virtual private network, wireless internet or local vehicle information or other similar system data. 
         [0028]      FIGS. 2 through 9  illustrate various exemplary embodiments of messages that may be provided to a driver through the system display area  116  and the speakers  104 .  FIG. 2  shows a general alert  200  on the system display area  116 , which may be accompanied by more detailed information via the speakers  104 .  FIG. 3  illustrates a more specific warning related to a detected object in the road and an advisory to slow down  300  on the system display area  116  and an accompanying message being broadcast via the speakers  104 . The display of  FIG. 3  uses sensors  1000 —described below—located on the vehicle  1002  to detect the object or road hazard in the path of the vehicle.  FIG. 4  illustrates another embodiment in which the system display area  116  and speakers  104  provide a visual warning  400  and an audio warning  402  regarding an approaching emergency vehicle and an advisory to move to the side of the road. The display of  FIG. 4  uses sensors  1000 —described below—located on the vehicle  1002  to detect the presence of the emergency vehicle.  FIG. 5  illustrates an embodiment in which the system display area  116  provides a warning about approaching traffic  500 . The display of  FIG. 5  uses sensors  1000 —described below—located on the vehicle  1002  to detect the oncoming vehicle.  FIG. 6  illustrates a warning related to excessive speed  600  on the system display area  116 . The visual warning  600  may be accompanied by an audio warning from the speakers  104 . The warning illustrated in  FIG. 6  could either be triggered by sensors  1000 —described below—located on the vehicle  1002  or by the GPS  110  referencing map data related to speed limits for the roadway.  FIG. 7  illustrates a warning  700  related to the operating condition of the automobile displayed on the system display area  1116  and also provided in audio form (warning message  702 ) via the speakers  104 .  FIG. 8  illustrates the presentation of directions to a place and an advertisement for the place  800 ,  802  on the system display area  116  and speakers  104  respectively. The advertisement  800 ,  802  alternatively could provide only the advertisement or only the directions to the location.  FIG. 9  illustrates the presentation of a generalized alert  900  in the lower corner of the windshield  100  that prompts the driver to get further information. The generalized alert  900  can be varied by color, intensity, or by flashing on and off at different rates. For example, an important alert, such as an upcoming sudden stop in traffic, may result in a red alert prompt  900  being placed on the windshield  100 . On the other hand, a green alert prompt  900  being placed on the windshield  100  may result when the system is recommending a “leister” location (e.g., McDonalds®) to the driver. 
         [0029]    The data that is relayed to the windshield arrives from different sources with different priorities. For example in one embodiment immediate safety issues are displayed before maintenance issues which are displayed before vehicle directions (unless an immediate action is needed), which are displayed before system recommendations. 
         [0030]      FIG. 10  illustrates one possible way in which sensors  1000  (such as standard sensors or the new IEEE 1451.4 sensors that offer a standard interface and protocol by which a sensor can describe itself over a network) provide information on road traffic and road hazards. This makes the sensor not only a calibrated gauge or reader of information but also a part of the communication pipeline that enables a wireless infrastructure to be implemented without local components for communication or function in a wired infrastructure with fewer components to be implemented. 
         [0031]    Safety information, such as road hazards, information on other vehicles, or icy conditions, are transferred from the sensors  1000  to the CPU. In the CPU, the sensor data is processed and sent to the invention program  10  to determine if the sensor data merits a warning to the driver. Other safety information can be filtered into the invention system  10  from GPS  110 , the internet (a global computer network) or via satellite including road conditions, local, regional, specific destination, national or global safety warnings depending on the system settings and thresholds. Destination directions can also be sent to the vehicle via global computer network (e.g. the internet), GPS or other wireless communication system. The invention system  10  can provide directions in accord with the driver&#39;s request, and in cases where the driver has not requested directions, destinations that the user frequently travels to that are matched up by the system because of the route the user is traveling may be presented to the user, by the system  10 , as destination options along the way. 
         [0032]    Recommendation programming software enhances the invention system  10  function in a variety of ways. Recommendations can be based upon direct user requests  1102  ( FIG. 11 ) that are input into the system by the user which identifies both the user&#39;s specific favorite locations, such as Regina&#39;s Pizzeria on Thatcher Street in Boston and Maxie&#39;s Art Gallery, as well as category favorites, such as seafood restaurants and art galleries. The system  10  is built upon a four pronged recommendation engine in a preferred embodiment. 
         [0033]    The first prong is based upon user requests  1102  that are stored and accounted for by the system  10  in accordance with driver-requested locations and the time of the requests. This data is stored on a hard drive  1112  of the system  10  or can be stored in an ancillary remote server  1106 , accessible via wireless transmission  1104 , called upon by the system  10 . This data is then configured with the database programming software rules, which are custom programming rules dedicated to presenting the user with the content they want, at the time the user wants it, without the user having to ask for the content before it is displayed. Driver location requests are logged via a tagging system to note in the recommendation database  1108  what content is requested by the user at what time. After some number of requests, the driver&#39;s request habits become recommendations. For example, if a user requests directions to the nearest McDonalds® between 7-7:30 AM, or simply visits a McDonalds®, three times in a row during the week, then under a database rule, a request made more than three times could become a recommendation default setting. The user request model could use any number of repeated requests to trigger the creation of a recommendation default setting. The recommendation program then queues the software to find the nearest McDonalds® every morning at 7 AM. By using a user&#39;s behavior as a primary source, the invention system  10  begins to automatically recommend destinations to the user. 
         [0034]    The second prong is based on alternate user data obtained by user consent, such as credit card bills that describe user patterns, demographic information supplied by the driver (user), questionnaire(s) filled out by the user, data and cookies that may be used to glean, update, and store the user&#39;s online usage patterns. For example, if the driver purchases McDonalds® coffee every morning with a credit card at 7:00 AM, the invention system  10  may recommend a nearby coffee retailer location to the user at 7 AM based on the authorized credit card data. 
         [0035]    The third prong uses research data to infer the driver&#39;s preferences, (i.e., a user likes restaurant A; research shows that people who like restaurant A also like restaurant B, so the invention system  10  recommends restaurant B to the user). Based upon research model recommendation engines, a sample of driver data is utilized to generate location matches in the system  10  based upon the research of industry professionals. This is a server based platform  1204  ( FIG. 12 ) that may be updated based upon new content being made available to the overall system  10 . This content may be searchable by the vehicle system  10  via wireless transmission  1104 . 
         [0036]    The fourth prong uses collaborative filtering where drivers using the same service may permit their data to be anonymously gathered in a central database to infer the driver&#39;s preferences. This system harnesses anonymous user demographics and location information stored on one set of hard drives  1302  ( FIG. 13  such as a multi-terabyte raid array. Another set of load balancing servers  1304  queues incoming and outgoing queries to the system  10 . A third set of servers  1306  assigns and matches drivers and queries and assigns location recommendations based upon theories of collaborative filtering for users with a certain number of content matches, such as a 25% overall content match rate, as logged in the database  1306  between each other from projector system  10  use. Resultant locations are then recommended to the driver-user by the collaborative filtering software. This is accomplished by a programming engine presenting location recommendations that the user does not have in his list of requested content  1108  within the system  10  from another user&#39;s list of preferred locations based upon their usage of the projector system  10 . For example, if a driver has repeatedly requested directions to McDonalds® where he orders coffee, then collaborative filtering may show that other individuals in the database  1306  (i.e., collaborators) who like McDonalds® coffee also tend to like shopping for clothing at The Gap®. As a result, the system  10  may recommend The Gap® to the driver. Before presenting the driver-user with a match, the system  10  scans available locations to make sure that the match is available. 
         [0037]    While the four prongs of the recommendation engine have been described separately, several prongs may be used concurrently to offer recommendations to the user. For example, locations the user has requested or visited (the first prong) and purchasing habits of the user (the second prong) may be combined to provide data to a collaborative filtering model (the fourth prong). Furthermore, the recommendation engine may cycle through each of the four prongs. 
         [0038]      FIG. 16  illustrates one operating system or processor program  10  embodying the present invention and implementing the foregoing features. Input  16  includes sensor data (object motion, detected audio, detected hazards, etc.) from sensors  1000 , user data (search request pattern, demographic profile, shopping/purchasing patterns, preferences)  1102 ,  1202  which is input explicitly or implicitly by the user, and GPS  110  location data (from a supporting map database). The combination of GPS  110  data and sensor  1000  data form vehicle implicit or explicit actions that trigger certain search requests as shown at  1110  in  FIGS. 11-13  discussed above and at step  14  in  FIG. 16 . 
         [0039]    From input  16 , invention system  10  determines (at step  12 ) a user requested search as explicitly input (e.g. via voice activation microphone  106 ) by the user and/or as implicitly formed by system  10  tracking user requests and driving/location patterns over time and determining patterns to search. At step  18 , system  10  determines search requests based on other user activity and information collected such as described above in the second through fourth prongs of the recommendation engine of  FIGS. 11-13 . 
         [0040]    Next, at step  20 , invention system  10  performs the determined search requests from Steps  12 ,  14 , and  18  using database servers  1108 ,  1204 ,  1302  and  1306  described above. From the results of searches by step  20 , step  22  generates and prioritizes warnings, alerts, related indicators, and/or recommendations which are output in a manner suitable for rendering on windshield display area  116  and/or through speakers  104  as described above in  FIGS. 1-9 . The output recommendations include details of recommended locations such as: 
         [0041]    geographic information sufficient to provide driving directions; 
         [0042]    a respective telephone number per location; 
         [0043]    logos related to the locations; and 
         [0044]    events related to the locations. 
         [0045]      FIG. 14  illustrates a computer network or similar digital processing environment in which the present invention may be implemented. 
         [0046]    Client computer(s)/devices  50  and server computer(s)  60  provide processing, storage, and input/output devices executing application programs and the like. Client computer(s)/devices  50  can also be linked through communications network  70  to other computing devices, including other client devices/processes  50  and server computer(s)  60 . Communications network  70  can be part of a remote access network, a global network (e.g., the Internet), a worldwide collection of computers, Local area or Wide area networks, and gateways that currently use respective protocols (TCP/IP, Bluetooth, etc.) to communicate with one another. Other electronic device/computer network architectures are suitable. 
         [0047]      FIG. 15  is a diagram of the internal structure of a computer (e.g., client processor/device  50  or server computers  60 ) in the computer system of  FIG. 14 . Each computer  50 ,  60  contains system bus  79 , where a bus is a set of hardware lines used for data transfer among the components of a computer or processing system. Bus  79  is essentially a shared conduit that connects different elements of a computer system (e.g., processor, disk storage, memory, input/output ports, network ports, etc.) that enables the transfer of information between the elements. Attached to system bus  79  is I/O device interface  82  for connecting various input and output devices (e.g., keyboard, mouse, displays, printers, speakers, etc.) to the computer  50 ,  60 . Network interface  86  allows the computer to connect to various other devices attached to a network (e.g., network  70  of  FIG. 14 ). Memory  90  provides volatile storage for computer software instructions  92  and data  94  used to implement an embodiment of the present invention (e.g., recommendation engine and processor program  10  detailed above). Disk storage  95  provides non-volatile storage for computer software instructions  92  and data  94  used to implement an embodiment of the present invention. Central processor unit  84  is also attached to system bus  79  and provides for the execution of computer instructions. 
         [0048]    In one embodiment, the processor routines  92  and data  94  are a computer program product (generally referenced  92 ), including a computer readable medium (e.g., a removable storage medium such as one or more DVD-ROM&#39;s, CD-ROM&#39;s, diskettes, tapes, etc.) that provides at least a portion of the software instructions for the invention system. Computer program product  92  can be installed by any suitable software installation procedure, as is well known in the art. In another embodiment, at least a portion of the software instructions may also be downloaded over a cable, communication and/or wireless connection. In other embodiments, the invention programs are a computer program propagated signal product  107  embodied on a propagated signal on a propagation medium (e.g., a radio wave, an infrared wave, a laser wave, a sound wave, or an electrical wave propagated over a global network such as the Internet, or other network(s)). Such carrier medium or signals provide at least a portion of the software instructions for the present invention routines/program  92 . 
         [0049]    In alternate embodiments, the propagated signal is an analog carrier wave or digital signal carried on the propagated medium. For example, the propagated signal may be a digitized signal propagated over a global network (e.g., the Internet), a telecommunications network, or other network. In one embodiment, the propagated signal is a signal that is transmitted over the propagation medium over a period of time, such as the instructions for a software application sent in packets over a network over a period of milliseconds, seconds, minutes, or longer. In another embodiment, the computer readable medium of computer program product  92  is a propagation medium that the computer system  50  may receive and read, such as by receiving the propagation medium and identifying a propagated signal embodied in the propagation medium, as described above for computer program propagated signal product. 
         [0050]    Generally speaking, the term “carrier medium” or transient carrier encompasses the foregoing transient signals, propagated signals, propagated medium, storage medium and the like. 
         [0051]    While the invention has been particularly shown and described with references to example embodiments thereof it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the scope of the invention encompassed by the appended claims. 
         [0052]    For example, computer architecture of  FIGS. 14 and 15  are for purposes of illustration and not limitation. Other configurations are suitable. Likewise the term “user” may be the driver or a passenger or a combination in the subject vehicle.