Abstract:
A computer-implemented method includes providing an interface on a wireless device corresponding to an interface for vehicle infotainment system control. The method also includes providing simulated functionality of controls on the interface, such that activation of a control informs a user of what would occur if the control were activated on a vehicle interface. Further, the method includes saving at least one user setting input into the interface. The method additionally includes transferring the saved setting to a vehicle computing system (VCS) for use in infotainment system control when the wireless device is in communication with the VCS.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
     This application is a division of U.S. application Ser. No. 13/229,889 filed Sep. 12, 2011, now pending, the disclosure of which is hereby incorporated in its entirety by reference herein. 
    
    
     TECHNICAL FIELD 
     The illustrative embodiments generally relate to methods and apparatus for vehicle process emulation and configuration on a mobile platform. 
     BACKGROUND 
     With the integration of computers into numerous vehicle systems, the driver experience has been enhanced in numerous ways. One of the more noticeable improvements has been the inclusion of full color, touch navigable visual displays in the center stack of a vehicle. From entertainment to information, these displays provide a suite of options for improving the driving experience, options which can collectively be referred to as an infotainment system. 
     Many of the options are user configurable, and the menus and presentations are often designed to be intuitive to use. Radio controls, navigation systems, text, email and phone call presentations may all be available through the system, and, generally, the controls associated with these displays track to familiar controls from other devices which provide these options. 
     Typically, however, there may be additional system controls available through the infotainment system, and not all of these controls can “map” to controls in other aspects of life, especially if the controls are vehicle specific. Enablement and configuration of vehicle systems, seat settings, preferred climate control options, call handling functionality, navigation presentation, etc., are just some of the available options. While it may be obvious to many users that a play icon (a laterally aligned triangle) can be used to play a track on a CD, some of the other features may be less intuitive. 
     Additionally, some people are simply unfamiliar with what many others would consider to be “commonplace” icons, and some level of training may be required to use the features associated therewith. Unfortunately, when drivers are in a vehicle, they are typically focused on the task of driving. While this is obviously desirable from a safety perspective, it can result in the driver never familiarizing themselves with the infotainment system controls. 
     Many of the controls may also be disabled while the vehicle is in motion for safety reasons. It could be dangerous to have a driver adjusting seat controls through a visual interface while driving, so the controls may be locked until the vehicle is stopped. Since drivers typically don&#39;t spend a great deal of time in their car while it is parked, it may be the case that much functionality is overlooked, due to confusion or lack of knowledge. Unless the driver makes an effort to become familiar with the system controls, many great features of the infotainment system may go completely unused. 
     Also, users may have some crossover between phone-enabled features and infotainment features. For example, music could be played from a phone interface or using a vehicle system interface. If the user is familiar with the phone interface, and the phone interface varies from the vehicle system interface, the user may simply elect to use the phone interface on the phone instead of interacting with the vehicle. Similarly, many phones have navigation systems installed thereon. If the user is comfortable with the phone navigation interface, the vehicle navigation interface may go largely unused. 
     SUMMARY 
     In a first illustrative embodiment, a computer-implemented method includes providing an interface on a wireless device corresponding to an interface for vehicle infotainment system control. The illustrative method also includes providing simulated functionality of controls on the interface, such that activation of a control informs a user of what would occur if the control were activated on a vehicle interface. 
     Further, the method includes saving at least one user setting input into the interface. The method additionally includes transferring the saved setting to a vehicle computing system (VCS) for use in infotainment system control when the wireless device is in communication with the VCS. 
     In a second illustrative example, a computer-implemented method includes establishing communication between a vehicle computing system (VCS) and a wireless device. The method further includes determining that the wireless device has one or more native functions provided thereto that correspond to functions existent on the VCS. 
     Additionally, the method includes offering a user the option to import the function from the wireless device to use as an alternative to the corresponding VCS function. The method further includes downloading at least some functionality of the native function to the VCS and providing a function control interface corresponding to the native function in lieu of an interface associated with the corresponding VCS function, contingent on the user&#39;s selection of an import option. 
     In a third illustrative embodiment, a computer readable storage medium stores instructions that, when executed by a processor, cause the processor to execute a method including providing an interface on a wireless device corresponding to an interface for vehicle infotainment system control. The illustrative method further includes providing simulated functionality of controls on the interface, such that activation of a control informs a user of what would occur if the control were activated on a vehicle interface. 
     Also, the illustrative method includes saving at least one user setting input into the interface. The illustrative method additionally includes transferring the saved setting to a vehicle computing system (VCS) for use in infotainment system control when the wireless device is in communication with the VCS. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  shows an illustrative vehicle computing system; 
         FIG. 2  shows an illustrative example of an infotainment process running on a smartphone; 
         FIG. 3  shows an illustrative example of an emulation process; 
         FIG. 4  shows an illustrative example of a configuration transfer process; 
         FIG. 5  shows an illustrative example a frequently asked questions process; and 
         FIG. 6  shows an illustrative example of a functionality migration process. 
     
    
    
     DETAILED DESCRIPTION 
     As required, detailed embodiments of the present invention are disclosed herein; however, it is to be understood that the disclosed embodiments are merely exemplary of the invention that may be embodied in various and alternative forms. The figures are not necessarily to scale; some features may be exaggerated or minimized to show details of particular components. Therefore, specific structural and functional details disclosed herein are not to be interpreted as limiting, but merely as a representative basis for teaching one skilled in the art to variously employ the present invention. 
       FIG. 1  illustrates an example block topology for a vehicle based computing system  1  (VCS) for a vehicle  31 . An example of such a vehicle-based computing system  1  is the SYNC system manufactured by THE FORD MOTOR COMPANY. A vehicle enabled with a vehicle-based computing system may contain a visual front end interface  4  located in the vehicle. The user may also be able to interact with the interface if it is provided, for example, with a touch sensitive screen. In another illustrative embodiment, the interaction occurs through, button presses, audible speech and speech synthesis. 
     In the illustrative embodiment 1 shown in  FIG. 1 , a processor  3  controls at least some portion of the operation of the vehicle-based computing system. Provided within the vehicle, the processor allows onboard processing of commands and routines. Further, the processor is connected to both non-persistent  5  and persistent storage  7 . In this illustrative embodiment, the non-persistent storage is random access memory (RAM) and the persistent storage is a hard disk drive (HDD) or flash memory. 
     The processor is also provided with a number of different inputs allowing the user to interface with the processor. In this illustrative embodiment, a microphone  29 , an auxiliary input  25  (for input  33 ), a USB input  23 , a GPS input  24  and a BLUETOOTH input  15  are all provided. An input selector  51  is also provided, to allow a user to swap between various inputs. Input to both the microphone and the auxiliary connector is converted from analog to digital by a converter  27  before being passed to the processor. Although not shown, numerous of the vehicle components and auxiliary components in communication with the VCS may use a vehicle network (such as, but not limited to, a CAN bus) to pass data to and from the VCS (or components thereof). 
     Outputs to the system can include, but are not limited to, a visual display  4  and a speaker  13  or stereo system output. The speaker is connected to an amplifier  11  and receives its signal from the processor  3  through a digital-to-analog converter  9 . Output can also be made to a remote BLUETOOTH device such as PND  54  or a USB device such as vehicle navigation device  60  along the bi-directional data streams shown at  19  and  21  respectively. 
     In one illustrative embodiment, the system  1  uses the BLUETOOTH transceiver  15  to communicate  17  with a user&#39;s nomadic device  53  (e.g., cell phone, smart phone, PDA, or any other device having wireless remote network connectivity). The nomadic device can then be used to communicate  59  with a network  61  outside the vehicle  31  through, for example, communication  55  with a cellular tower  57 . In some embodiments, tower  57  may be a WiFi access point. 
     Exemplary communication between the nomadic device and the BLUETOOTH transceiver is represented by signal  14 . 
     Pairing a nomadic device  53  and the BLUETOOTH transceiver  15  can be instructed through a button  52  or similar input. Accordingly, the CPU is instructed that the onboard BLUETOOTH transceiver will be paired with a BLUETOOTH transceiver in a nomadic device. 
     Data may be communicated between CPU  3  and network  61  utilizing, for example, a data-plan, data over voice, or DTMF tones associated with nomadic device  53 . Alternatively, it may be desirable to include an onboard modem  63  having antenna  18  in order to communicate  16  data between CPU  3  and network  61  over the voice band. The nomadic device  53  can then be used to communicate  59  with a network  61  outside the vehicle  31  through, for example, communication  55  with a cellular tower  57 . In some embodiments, the modem  63  may establish communication  20  with the tower  57  for communicating with network  61 . As a non-limiting example, modem  63  may be a USB cellular modem and communication  20  may be cellular communication. 
     In one illustrative embodiment, the processor is provided with an operating system including an API to communicate with modem application software. The modem application software may access an embedded module or firmware on the BLUETOOTH transceiver to complete wireless communication with a remote BLUETOOTH transceiver (such as that found in a nomadic device). Bluetooth is a subset of the IEEE 802 PAN (personal area network) protocols. IEEE 802 LAN (local area network) protocols include WiFi and have considerable cross-functionality with IEEE 802 PAN. Both are suitable for wireless communication within a vehicle. Another communication means that can be used in this realm is free-space optical communication (such as IrDA) and non-standardized consumer IR protocols. 
     In another embodiment, nomadic device  53  includes a modem for voice band or broadband data communication. In the data-over-voice embodiment, a technique known as frequency division multiplexing may be implemented when the owner of the nomadic device can talk over the device while data is being transferred. At other times, when the owner is not using the device, the data transfer can use the whole bandwidth (300 Hz to 3.4 kHz in one example). While frequency division multiplexing may be common for analog cellular communication between the vehicle and the internet, and is still used, it has been largely replaced by hybrids of with Code Domian Multiple Access (CDMA), Time Domain Multiple Access (TDMA), Space-Domian Multiple Access (SDMA) for digital cellular communication. These are all ITU IMT-2000 (3G) compliant standards and offer data rates up to 2 mbs for stationary or walking users and 385 kbs for users in a moving vehicle. 3G standards are now being replaced by IMT-Advanced (4G) which offers 100 mbs for users in a vehicle and 1 gbs for stationary users. If the user has a data-plan associated with the nomadic device, it is possible that the data-plan allows for broad-band transmission and the system could use a much wider bandwidth (speeding up data transfer). In still another embodiment, nomadic device  53  is replaced with a cellular communication device (not shown) that is installed to vehicle  31 . In yet another embodiment, the ND  53  may be a wireless local area network (LAN) device capable of communication over, for example (and without limitation), an 802.11g network (i.e., WiFi) or a WiMax network. 
     In one embodiment, incoming data can be passed through the nomadic device via a data-over-voice or data-plan, through the onboard BLUETOOTH transceiver and into the vehicle&#39;s internal processor  3 . In the case of certain temporary data, for example, the data can be stored on the HDD or other storage media  7  until such time as the data is no longer needed. 
     Additional sources that may interface with the vehicle include a personal navigation device  54 , having, for example, a USB connection  56  and/or an antenna  58 , a vehicle navigation device  60  having a USB  62  or other connection, an onboard GPS device  24 , or remote navigation system (not shown) having connectivity to network  61 . USB is one of a class of serial networking protocols. IEEE 1394 (firewire), EIA (Electronics Industry Association) serial protocols, IEEE 1284 (Centronics Port), S/PDIF (Sony/Philips Digital Interconnect Format) and USB-IF (USB Implementers Forum) form the backbone of the device-device serial standards. Most of the protocols can be implemented for either electrical or optical communication. 
     Further, the CPU could be in communication with a variety of other auxiliary devices  65 . These devices can be connected through a wireless  67  or wired  69  connection. Auxiliary device  65  may include, but are not limited to, personal media players, wireless health devices, portable computers, and the like. 
     Also, or alternatively, the CPU could be connected to a vehicle based wireless router  73 , using for example a WiFi  71  transceiver. This could allow the CPU to connect to remote networks in range of the local router  73 . 
     In addition to having exemplary processes executed by a vehicle computing system located in a vehicle, in certain embodiments, the exemplary processes may be executed by a computing system in communication with a vehicle computing system. Such a system may include, but is not limited to, a wireless device (e.g., and without limitation, a mobile phone) or a remote computing system (e.g., and without limitation, a server) connected through the wireless device. Collectively, such systems may be referred to as vehicle associated computing systems (VACS). In certain embodiments particular components of the VACS may perform particular portions of a process depending on the particular implementation of the system. By way of example and not limitation, if a process has a step of sending or receiving information with a paired wireless device, then it is likely that the wireless device is not performing the process, since the wireless device would not “send and receive” information with itself. One of ordinary skill in the art will understand when it is inappropriate to apply a particular VACS to a given solution. In all solutions, it is contemplated that at least the vehicle computing system (VCS) located within the vehicle itself is capable of performing the exemplary processes. 
       FIG. 2  shows an illustrative example of an infotainment process running on a smartphone. Since the platform for which the infotainment process may have commonality with the platform running on certain mobile devices, transportation of some or all of the features of the infotainment process to a mobile device may be streamlined. Of course, the mobile device may not have, for example, seats to be adjusted, but the process could display information corresponding to seat adjustments or even a visual display of how an adjustment would affect a seat when running on a mobile device. 
     The process can be configured to recognize when it is running on a mobile device, and provide some indication of input effect when running in such an environment. Additionally or alternatively, if the mobile device is in proximity to or communication with a vehicle, the adjustments made on the mobile device may have direct effect on vehicle settings. In such an instance, it may be desirable to ensure that the process controller is actually driving the vehicle (or sitting in a driver seat) such that control of a vehicle system by a party not driving the vehicle is not enacted. This can be done in a variety of fashions, including, but not limited to, using a proximal wireless technology, such as RFID, for example, to ensure that the mobile device is at least in close proximity to a driver seat when being operated. 
     In this illustrative example, vehicle HVAC and climate control functionality is being emulated on a smart phone  200 . If the phone is in proximity to a vehicle (or in communication with a vehicle with a permissible control status enabled), the phone can actually be used to actively set the climate control of the vehicle in real time. 
     In other instances, settings may be saved on the device and imported into the vehicle, or, in another case, the user may just want to tinker with the climate control interface to better gain an understanding of how the system works. Since this interface can be used at any location where the user has a phone, it may be far more convenient a platform under which to use the interface. Clicking on, for example, element  221  may pop up a window notifying the user that such a selection, if made on the vehicle interface, would enable the hazard lights. Once the user has become familiar with the vehicle climate control interface, use of the interface while in the vehicle will be greatly facilitated. 
     In this illustrative example, the user can control either a driver side climate control  201  or a passenger side climate control  203 . Once a particular side or sides have been selected for control, various aspects of climate control can be engaged. 
     In this example, the driver can control personalized, driver-side climate options  205 . These illustratively include, but are not limited to, heated or cooled seats, a heated steering wheel, and a driver temperature preference. Additionally or alternatively, the operator can control passenger side options  207 , such as heated or cooled seats (or other available options not shown). 
     The operator can also select air delivery controls  209  and air delivery power  227 . Further controls include, but are not limited to, front defog  211 , rear defrost  213 , auto temperature control  215 , air conditioning options  219 , max AC settings  223  and air recirculation  225 . 
     Also included in the options is an information button  217 , that can provide user tips about various functions viewed on the shown device menu. It could even be possible to include tutorials with pop-up displays that can guide a user through a user-selected or predetermined control sequence so that the user can better understand the functionality of a given display. 
       FIG. 3  shows an illustrative example of an emulation process. In this example, an application corresponding to one or more aspects of a vehicle control system have been loaded onto a smartphone. The application can be activated  301  and an interface, such as that shown in  FIG. 2  can be shown to a user  303  for interaction. 
     Once the interactable user interface is shown, it can receive one or more commands from a user  305 . Typically, these commands will correspond to inputs that could also be interacted with in a vehicle, although additional inputs relating to, for example, help requests could also be received. 
     Once a command corresponding to a vehicle control has been input, the process will, in this embodiment, emulate control of a vehicle system  307 . This can be done through a text or visual display, and may include audio information if desired. 
     The illustrative process may also include an option to receive help on a particular command  309 . If a help option is selected, a help interface or more information on a command may be displayed  311 . The interface may additionally include an option to have a tutorial launched on the command, or a tutorial which includes usage of the command as part of the learning process. Once the help process has completed, the system may return to displaying the interface for interaction. 
     In other embodiments, if the phone is proximate to and/or in permissible communication with an actual vehicle, input of the commands may be used to directly control a vehicle system. In this manner, a user can see the real results of inputting various commands. Additionally or alternatively, vehicle settings can be saved to the wireless device and transferred into the vehicle once the phone is in communication with the vehicle. For example, if a user is walking back to a vehicle and it is a hot day, the user can begin the process of configuring an HVAC system to cool the vehicle before even reaching the vehicle. 
       FIG. 4  shows an illustrative example of a configuration transfer process. In this illustrative example, communication is established between a wireless device and a vehicle computing system  401 . The process checks to see if there is a correspondence between a vehicle computing interface and a wireless device application  403 . Since a user&#39;s phone may interface with various vehicles, it may only be desirable to transfer settings when a correspondence exists (e.g., the user is in a vehicle from which an interface was obtained). 
     If there is a commonality of interface between the application and the vehicle computing interface, the process may present an option to upload the preset settings from the wireless device to a vehicle. For example, different users may elect to have different preset radio stations corresponding to their own preferences. These stations can be pre-selected on a phone interface, in the same manner they would be in a vehicle. When a user&#39;s phone interfaces with a vehicle computing system, the user&#39;s selection of the preset stations on the phone interface can be imported to a vehicle system, preventing the user from having to repeat the steps of configuration. The settings may revert when the user leaves the vehicle, or, for example, change when a new user enters the vehicle with different settings (prioritization can be established for an instance where multiple phones emulating a vehicle interface are present). 
     In this example, the user is given an option to load one or more settings from the wireless device  407 , although such an option could also be automatically set once by a user to provide for automatic upload. If loading is selected, the process proceeds to upload settings from the device to the vehicle infotainment system. 
       FIG. 5  shows an illustrative example a frequently asked questions process. In this illustrative example, user data can be crowdsourced to develop a series of questions and answers most useful to users and relating to system functionality. In one example, a user may receive one or more alerts from a vehicle infotainment system relating to vehicle systems that may be sub-optimal or have a problem associated therewith. 
     When the user is in a vehicle, the user may wish to travel to a destination, and not have time to deal with a system issue. But, if the same alerts can be delivered to a wireless device, the user may be better equipped to deal with any potential problems, having the luxury of time that was not intended to be spent driving. 
     Further, the user can, through emulation of a vehicle interface, learn how to correct certain problems using a vehicle interface, encouraging more usage of the interface when the user is in the vehicle. 
     In this example, the wireless device establishes communication with a vehicle computing system  401 . Since the user may want to address alert situations while not present at a vehicle, this communication can be established, for example, through a remote connection such as a phone call placed to a vehicle embedded phone. Additionally or alternatively, alerts can be stored remotely while a user is in a vehicle, or stored on a phone, and then provided to a user at a more convenient time for the user to address the alerts. 
     If at least one alert is present  501 , the process may gather all existing alerts  503  for delivery to a user on a wireless device interface. Further, since crowdsourcing may provide data that is relevant to a particular alert (through, for example, determining what data was useful to other users experiencing a similar alert), the process may connect to a remote server  505  to access crowdsourced data  507 . 
     For example, one alert may be due to low air in a tire. Examples of information that may be useful include, but are not limited to, optimal tire pressures, an explanation of how to fill a tire, changes in pressure due to seasonal changes, etc. Users accessing the data may sort, organize and provide feedback on the usefulness of data. Crowdsourced FAQs are discussed in greater detail in co-pending U.S. application Ser. No. 12/869,032 filed Aug. 26, 2010 entitled METHOD AND APPARATUS FOR DRIVER ASSISTANCE, the contents of which are incorporated herein by reference. 
     The data can be presented to a user  509 , initially in an order which is most commonly useful to all users. If the user provides feedback, however, that feedback can be uploaded to the server for further sorting of data  511 . In addition to being generally useful to sort data, the information can also be used to specifically sort data for a given user. 
     For example, it may be observed that a “basic” answer about tire pressure (e.g., how to fill a tire) is very useful to certain users and less needed by others. On the other hand, more “technical” users may find the tire-pressure settings to be the primarily useful data. By correlating one user&#39;s responses with that of other users, commonalities between like-minded users can be observed, and better organization of data can be achieved. “Basic” users can first receive fundamental knowledge, followed by system specific knowledge, whereas more “advanced” users can receive the system specific knowledge as a first option. 
       FIG. 6  shows an illustrative example of a functionality migration process. Users may constantly use certain features on their wireless devices. For example, navigation or media control functionality may be options that a particular user has become very familiar with on a wireless device. Additionally, the user may not wish to learn a new format for some of this functionality, as they may be comfortable with the functionality of which they already have some knowledge. 
     Since user interfaces for phone functionality and vehicle infotainment systems may be built on common operating platforms, it may be a relatively simple task to import functionality from a wireless device to an infotainment system. Additionally or alternatively, this may save development time of certain features, if fully functional features can simply be imported from wireless devices. 
     In this example, the VCS connects to a wireless device  601 . In this process, the system determines if an application exists on the phone (such as, but not limited to, media control, navigation, phone controls, etc.) that corresponds to vehicle infotainment system functionality  603 . If an application corresponding to a vehicle function exists on the phone, the process may import settings for that application. In this instance, for example, the vehicle function could still be used, but settings from a similar phone application could be imported  605  (e.g., without limitation, address settings for a navigation system). 
     Also, the process may check for compatibility between a vehicle platform and a process provided on the phone  607 . This could include, for example, determining if a phone enabled navigation process could work on a vehicle computing platform. If there is a compatibility between the process and the platform, the process may ask a user if they prefer to use the phone version of the process  609 . 
     If the user prefers the phone version, it may be determined whether it is appropriate to run the process on the phone, using the VCS interface, or if it would be appropriate to provide the entire process running on the VCS  611 . For example, with regards to a navigation system, remote operation could consist of address selection through a VCS, and then communication with a phone enabled GPS and fundamental process to determine directions. Directions could be relayed to the VCS as they are determined and output to the user. The user may not even be aware that the wireless device was being leveraged for computing power, and such interaction could free up cycles of the vehicle computing system to aid in faster processing of other requests. 
     If remote operation is not possible or not desired, a software package corresponding to the phone functionality may be downloaded to the VCS  613 . If, however, remote processing is desired or operable, the process may simply supplant certain functionality of a corresponding process on the VCS  615 . In either event, a user interface may also be presented  617 . 
     In this manner, it may even be able to provide, for example, navigation to a vehicle that lacks a GPS system. Through leveraging the phone as a GPS engine, a vehicle infotainment system could have navigation “added” thereto by downloading and providing an interface, and by leveraging the wireless device for functionality not available in the VCS. Thus, users can “upgrade” system functionality through use of a phone equipped with compatible, desired capability. 
     While exemplary embodiments are described above, it is not intended that these embodiments describe all possible forms of the invention. Rather, the words used in the specification are words of description rather than limitation, and it is understood that various changes may be made without departing from the spirit and scope of the invention. Additionally, the features of various implementing embodiments may be combined to form further embodiments of the invention.