US9098367B2 - Self-configuring vehicle console application store - Google Patents

Self-configuring vehicle console application store Download PDF

Info

Publication number
US9098367B2
US9098367B2 US13/963,728 US201313963728A US9098367B2 US 9098367 B2 US9098367 B2 US 9098367B2 US 201313963728 A US201313963728 A US 201313963728A US 9098367 B2 US9098367 B2 US 9098367B2
Authority
US
United States
Prior art keywords
vehicle
application
applications
setting
user
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active, expires
Application number
US13/963,728
Other versions
US20140109080A1 (en
Inventor
Christopher P. Ricci
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
AutoConnect Holdings LLC
Original Assignee
Flextronics AP LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US13/420,240 external-priority patent/US20130245882A1/en
Priority claimed from US13/420,236 external-priority patent/US20130241720A1/en
Priority claimed from US13/462,593 external-priority patent/US20130293364A1/en
Priority claimed from US13/462,596 external-priority patent/US20130293452A1/en
Priority claimed from US13/679,306 external-priority patent/US20130151088A1/en
Priority claimed from US13/679,842 external-priority patent/US8979159B2/en
Priority claimed from US13/679,459 external-priority patent/US9324234B2/en
Priority claimed from US13/840,240 external-priority patent/US20130282946A1/en
Priority to US13/963,728 priority Critical patent/US9098367B2/en
Application filed by Flextronics AP LLC filed Critical Flextronics AP LLC
Assigned to FLEXTRONICS AP, LLC reassignment FLEXTRONICS AP, LLC ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: RICCI, CHRISTOPHER P.
Publication of US20140109080A1 publication Critical patent/US20140109080A1/en
Publication of US9098367B2 publication Critical patent/US9098367B2/en
Application granted granted Critical
Assigned to AUTOCONNECT HOLDINGS LLC reassignment AUTOCONNECT HOLDINGS LLC ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: FLEXTRONICS AP, LLC
Active legal-status Critical Current
Adjusted expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/0486Drag-and-drop
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04886Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures by partitioning the display area of the touch-screen or the surface of the digitising tablet into independently controllable areas, e.g. virtual keyboards or menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/048Indexing scheme relating to G06F3/048
    • G06F2203/04803Split screen, i.e. subdividing the display area or the window area into separate subareas

Definitions

  • the disclosure relates generally to vehicle computer systems and particularly to vehicle computer system interfaces for drivers.
  • the present disclosure is directed to an application store on board a vehicle.
  • a microprocessor executable application manager can perform, or cause to be performed, the following steps/operations:
  • the application manager can perform, or cause to be performed, the following steps/operations:
  • the application manager can configure the application store based on one or more of vehicle state, configuration, and/or operation. Configuring can include one or more of the following:
  • Vehicle state, configuration, and/or operation can be determined based on one or types of sensed information received from one or more vehicle sensors.
  • sensed information include one or more of the following: wheel state, vehicle speed, acceleration, deceleration, wheel rotation, wheel speed, wheel slip, power source energy output, engine speed, energy input and/or output, turbine speed, input speed, crankshaft position, manifold absolute pressure, mass flow, switch state, a transmission setting, a gear control current setting, a setting of a power controller, a state of a braking system, a seat setting, a weight and/or identity of seated occupant, exterior sound levels, interior sound levels, safety system state, light setting, brake control setting, accelerator pedal setting or angle, clutch pedal setting, emergency brake pedal setting, door setting, engine temperature, passenger compartment or cabin temperature sensor, window setting, imaging output, odometer reading, trip mileage reading, wind speed, radar transmitter/receiver output, brake wear, steering/torque, oxygen level, ambient lighting, ranging sensor output, parking sensor output, heating, vent
  • Examples of applications accessible by the application store include applications directed to one or more of the following: vehicle control applications, applications associated with at least one vehicle task, function, and/or operation, applications related to handicap and accessibility graphical user interfaces, email clients, web browsers, communications applications, games, entertainment applications, satellite positioning system receiver applications, automotive navigation applications or devices (which can, for instance, provide pre-set destinations, live traffic information, gas prices along the route, and point-of-interest information, map applications, medical information applications, emergency service applications, noise suppression applications, news-related applications, vehicle manual related applications, weather information-related applications, biometric applications, travel applications, speech recognition applications such as to provide hands-free voice control of other applications, applications to read to the operator Really Simple Syndication (“RSS”) feeds, Twitter messages, email messages, and/or instant messages, social networking applications, streaming media applications, and utility applications (e.g., wall paper displayed by console, screen saver displayed by console, configurable parameters, and the like).
  • RSS Really Simple Syndication
  • the application store configuration can be based on observed behavior of the vehicle operator and/or behaviors of operators of other vehicles.
  • the application store configuration can be based on one or more of a type, make, model and/or year of manufacture of the vehicle.
  • the application store configuration can be based on one or more of whether a communication device, separate from the vehicle, is docked or otherwise in signal communication with the application manager and a configuration of and/or applications stored on and executable by the communication device.
  • the application manager can change, or cause to be changed, license restrictions or permissions to enable one or more of the applications stored on the communication device to execute on a processor on-board the vehicle.
  • the configuration data can relate to one or more of a current vehicle state, configuration, on board hardware and/or software resource, module, algorithm, and/or component and/or a setting and/or property thereof.
  • the requirement can relate to one or more of hardware, vehicle local network performance, memory, operating system, software, and vehicle local network algorithm and/or messaging and/or signaling protocol, such as a microprocessor, central processing unit, a service quality measure of network performance, available, unused, unavailable, and/or in use memory capacity, and operating system.
  • vehicle local network performance such as a microprocessor, central processing unit, a service quality measure of network performance, available, unused, unavailable, and/or in use memory capacity, and operating system.
  • the configuration data can be updated dynamically to reflect a change in the configuration data.
  • the configuration data can relate to one or more of a currently on board vehicle network accessible hardware and/or software resource, module, algorithm, and/or component and/or a setting and/or property thereof and wherein the requirement relates to one or more of hardware, vehicle local network performance, memory, operating system, software, and vehicle local network algorithm and/or messaging and/or signaling protocol.
  • the configure operation can include generating and providing to the user a vehicle compatible listing of applications in the application store.
  • the configure operation can include generating and providing to the user one of a vehicle incompatible listing of applications in the application store and a set of requirements for one or more vehicle incompatible applications to be executable by the vehicle computer.
  • the present disclosure can provide a number of advantages depending on the particular aspect, embodiment, and/or configuration.
  • the application store can provide an automated interface offering increased vehicle operator convenience, satisfaction flexibility, and versatility.
  • the interface can enable the user to configure the automated console of the vehicle in accordance with his or her needs and desires. It can provide a user with access not only to entertainment applications but also to informational and vehicle maintenance and repair applications that can prove invaluable to vehicle life and operator safety.
  • each of the expressions “at least one of A, B and C”, “at least one of A, B, or C”, “one or more of A, B, and C”, “one or more of A, B, or C” and “A, B, and/or C” means A alone, B alone, C alone, A and B together, A and C together, B and C together, or A, B and C together.
  • application refers to application software, also known as an application or an “app”, is computer software designed to help the user to perform specific tasks. Examples include satellite location and navigation software, social networking software, gaming software, word processing software, graphics software, and media players. Application software is contrasted with system software and middleware, which manage and integrate a computer's capabilities, but typically do not directly apply in the performance of tasks that benefit the user.
  • the system software serves the application, which in turn serves the user.
  • application store refers to a digital application distribution platform that allows users to browse and download applications from an online store. Applications are available either for free or at a cost. Applications can be downloaded directly to a target device.
  • automated refers to any process or operation done without material human input when the process or operation is performed. However, a process or operation can be automatic, even though performance of the process or operation uses material or immaterial human input, if the input is received before performance of the process or operation. Human input is deemed to be material if such input influences how the process or operation will be performed. Human input that consents to the performance of the process or operation is not deemed to be “material”.
  • autonomous navigation system or “navigation system” is a satellite navigation system designed for use in automobiles. It typically uses a GPS navigation device to acquire position data to locate the user on a road in the unit's map database. Using the road database, the unit can give directions to other locations along roads also in its database. Dead reckoning using distance data from sensors attached to the drivetrain, a gyroscope and an accelerometer can be used for greater reliability, as GPS signal loss and/or multipath can occur due to urban canyons or tunnels.
  • communication device any type of device capable of communicating with one or more of another device and/or across a communications network, via a communications protocol, and the like.
  • exemplary communication devices may include but are not limited to smartphones, handheld computers, laptops, netbooks, notebook computers, subnotebooks, tablet computers, scanners, portable gaming devices, phones, pagers, GPS modules, portable music players, and other Internet-enabled and/or network-connected devices.
  • Non-volatile media includes, for example, NVRAM, or magnetic or optical disks.
  • Volatile media includes dynamic memory, such as main memory.
  • Computer-readable media include, for example, a floppy disk, a flexible disk, hard disk, magnetic tape, or any other magnetic medium, magneto-optical medium, a CD-ROM, any other optical medium, punch cards, paper tape, any other physical medium with patterns of holes, a RAM, a PROM, and EPROM, a FLASH-EPROM, a solid state medium like a memory card, any other memory chip or cartridge, a carrier wave as described hereinafter, or any other medium from which a computer can read.
  • a digital file attachment to e-mail or other self-contained information archive or set of archives is considered a distribution medium equivalent to a tangible storage medium.
  • the computer-readable media is configured as a database
  • the database may be any type of database, such as relational, hierarchical, object-oriented, and/or the like. Accordingly, the disclosure is considered to include a tangible storage medium or distribution medium and prior art-recognized equivalents and successor media, in which the software implementations of the present disclosure are stored.
  • dashboard and “dashboard” and variations thereof, as used herein, are used interchangeably and include any panel and/or area of a vehicle disposed adjacent to an operator, user, and/or passenger.
  • Typical dashboards may include but are not limited to one or more control panel, instrument housing, head unit, indicator, gauge, meter, light, audio equipment, computer, screen, display, HUD unit, and graphical user interface.
  • desktop refers to a metaphor used to portray systems.
  • a desktop is generally considered a “surface” that typically includes pictures, called icons, widgets, folders, etc. that can activate show applications, windows, cabinets, files, folders, documents, and other graphical items.
  • the icons are generally selectable to initiate a task through user interface interaction to allow a user to execute applications or conduct other operations.
  • digital distribution also called content delivery, online distribution, electronic software distribution (ESD), among others
  • digital distribution refers to the delivery of media content such as audio, video, software and video games without the use of physical media usually over online delivery mediums, such as the Internet.
  • online distribution is typically applied to freestanding products; downloadable add-ons for other products are more commonly known as downloadable content.
  • An online service for distribution of application software is usually called an “application store” or “app store”.
  • Content distributed online may be streamed or downloaded. Streaming involves downloading and using content “on-demand” as it is needed. Meanwhile, downloading content to a hard drive or other form of storage media allows for quick access in the future.
  • Specialist networks known as content delivery networks help distribute digital content over the Internet by ensuring both high availability and high performance.
  • Alternative technologies for content delivery include peer-to-peer file sharing technologies.
  • Content delivery platforms create and syndicate content remotely, acting like hosted content management systems.
  • display refers to a portion of a screen used to display the output of a computer to a user.
  • displayed image refers to an image produced on the display.
  • a typical displayed image is a window or desktop.
  • the displayed image may occupy all or a portion of the display.
  • display orientation refers to the way in which a rectangular display is oriented by a user for viewing.
  • the two most common types of display orientation are portrait and landscape.
  • landscape mode the display is oriented such that the width of the display is greater than the height of the display (such as a 4:3 ratio, which is 4 units wide and 3 units tall, or a 16:9 ratio, which is 16 units wide and 9 units tall).
  • the longer dimension of the display is oriented substantially horizontal in landscape mode while the shorter dimension of the display is oriented substantially vertical.
  • the display is oriented such that the width of the display is less than the height of the display.
  • the multi-screen display can have one composite display that encompasses all the screens.
  • the composite display can have different display characteristics based on the various orientations of the device.
  • gesture capture refers to a sense or otherwise a detection of an instance and/or type of user gesture.
  • the gesture capture can occur in one or more areas of the screen, A gesture region can be on the display, where it may be referred to as a touch sensitive display or off the display where it may be referred to as a gesture capture area
  • module refers to any known or later developed hardware, software, firmware, artificial intelligence, fuzzy logic, or combination of hardware and software that is capable of performing the functionality associated with that element. Also, while the disclosure is presented in terms of exemplary embodiments, it should be appreciated that individual aspects of the disclosure can be separately claimed.
  • a “multi-screen application” refers to an application that is capable of producing one or more windows that may simultaneously occupy multiple screens.
  • a multi-screen application commonly can operate in single-screen mode in which one or more windows of the application are displayed only on one screen or in multi-screen mode in which one or more windows are displayed simultaneously on multiple screens.
  • GPS Global Positioning System
  • GLONASS Russian
  • EU Galileo positioning system
  • Compass navigation system China
  • Regional Navigational Satellite System India
  • touch screen refers to a physical structure that enables the user to interact with the computer by touching areas on the screen and provides information to a user through a display.
  • the touch screen may sense user contact in a number of different ways, such as by a change in an electrical parameter (e.g., resistance or capacitance), acoustic wave variations, infrared radiation proximity detection, light variation detection, and the like.
  • an electrical parameter e.g., resistance or capacitance
  • acoustic wave variations e.g., infrared radiation proximity detection, light variation detection, and the like.
  • a resistive touch screen for example, normally separated conductive and resistive metallic layers in the screen pass an electrical current. When a user touches the screen, the two layers make contact in the contacted location, whereby a change in electrical field is noted and the coordinates of the contacted location calculated.
  • a capacitive layer stores electrical charge, which is discharged to the user upon contact with the touch screen, causing a decrease in the charge of the capacitive layer. The decrease is measured, and the contacted location coordinates determined.
  • a surface acoustic wave touch screen an acoustic wave is transmitted through the screen, and the acoustic wave is disturbed by user contact.
  • a receiving transducer detects the user contact instance and determines the contacted location coordinates.
  • a “single-screen application” refers to an application that is capable of producing one or more windows that may occupy only a single screen at a time.
  • Ultravisor software is system software designed to help analyze, configure, optimize and/or maintain a computer. Utility software usually focuses on how the computer infrastructure (including the computer hardware, operating system, application software and data storage) operates.
  • vehicle refers to a device or structure for transporting animate and/or inanimate or tangible objects (e.g., persons and/or things), such as a self-propelled conveyance.
  • vehicle as used herein includes any conveyance, or model of a conveyance, where the conveyance was originally designed for the purpose of moving one or more tangible objects, such as people, animals, cargo, and the like.
  • vehicle does not require that a conveyance moves or is capable of movement.
  • Typical vehicles may include but are in no way limited to cars, trucks, motorcycles, busses, automobiles, trains, railed conveyances, boats, ships, marine conveyances, submarine conveyances, aircraft, space craft, flying machines, human-powered conveyances, and the like.
  • window refers to a, typically rectangular, displayed image on at least part of a display that contains or provides content different from the rest of the screen.
  • the window may obscure the desktop.
  • FIG. 1 depicts a first representation of a configurable dash display/cluster in a general viewing area of a vehicle in accordance with an embodiment
  • FIG. 2 depicts a vehicle configured in accordance with an embodiment
  • FIG. 3 is a block diagram of hardware according to an embodiment
  • FIG. 4 is a block diagram of an embodiment of software and/or firmware
  • FIG. 5A depicts a first representation of a graphical user interface of a configurable dash display according to an embodiment
  • FIG. 5B depicts a second representation of a graphical user interface of a configurable dash display according to an embodiment
  • FIG. 5C depicts a third representation of a graphical user interface of a configurable dash display according to an embodiment
  • FIG. 5D depicts a fourth representation of a graphical user interface of a configurable dash display according to an embodiment
  • FIG. 5E depicts a fifth representation of a graphical user interface of a configurable dash display according to an embodiment
  • FIG. 6A depicts a sixth representation of a graphical user interface of a configurable dash display according to an embodiment
  • FIG. 6B depicts a seventh representation of a graphical user interface of a configurable dash display according to an embodiment
  • FIG. 6C depicts an eighth representation of a graphical user interface of a configurable dash display according to an embodiment
  • FIG. 7 depicts a representation of an application store in the configurable graphical user interface according to an embodiment
  • FIG. 8 depicts a representation of an application store in the configurable graphical user interface according to an embodiment
  • FIGS. 9A , 9 B, and 9 C are flow diagrams depicting a method according to an embodiment.
  • the present disclosure describes a vehicle having an application store displayed by an on-board console or display providing occupants with plural applications for free or paid download.
  • the application store may be maintained by a cloud-based vendor and/or be pre-stored in vehicle memory at the point of sale. Access to the application store can be gated or triggered based on vehicle state, configuration, and/or operation. Additionally or alternatively, the configuration of the application store can be dependent upon the vehicle state, configuration, and/or operation.
  • Application store configuration for instance, can refer to the particular applications provided to the user through the application store and the ordering or ranking of the applications in the application store and/or one or more features or functions of the application store. Application store access and/or configuration can further be based on observed user behavior and/or behaviors of other users (e.g., operators of other vehicles).
  • FIG. 1 depicts a representation of a configurable dash display/cluster in a general viewing area of a vehicle 120 in accordance with one embodiment of the present disclosure.
  • the configurable dash display cluster includes a display device 100 spanning across one or more displays, including one or more console displays 108 a , 108 b .
  • at least one display device 100 may occupy a section of a vehicle dash 104 .
  • These one or more display devices may be located on or adjacent to the dash 104 of a vehicle 120 and/or located in rear passenger areas for use or access by passengers.
  • the configurable dash display may be located such that one or more individuals associated with a vehicle 120 can interact with and/or observe the configurable dash display.
  • the display device 100 may comprise a front screen, Graphical User Interface, and/or hardware switches or buttons.
  • the display device 100 may be configured and/or receive user input via an associated display, such as through at least one console display 108 a , 108 b .
  • a user e.g., a passenger
  • the user could safely arrange and/or configure a dash display for at least one of an operating condition and non-operating condition.
  • the user may then save the configuration and/or arrangement in a memory location that may be associated with at least one user of the vehicle.
  • the display device and its associated console displays 108 a , 108 b include a number of devices that work together with at least one process of a vehicle to provide various input/output functions.
  • One such display device 100 includes a touch sensitive front screen 204 .
  • the entire front surface of the front screen 204 may be touch sensitive and capable of receiving input by a user touching the front surface of the front screen 204 .
  • the front screen 204 includes touch sensitive display 208 , which, in addition to being touch sensitive, also displays information to a user.
  • the screen 204 may include more than one display area.
  • not only multi-touch but also one or more of haptic feedback, natural language voice interaction, proximity sensing, and tactile buttons and controls are used to control vehicle tasks, functions, and operations.
  • front screen 204 may also include areas that receive input from a user without requiring the user to touch the display area of the screen.
  • the front screen 204 may be configured to display content to the touch sensitive display 208 , while at least one other area may be configured to receive touch input via a gesture capture area 206 .
  • the front screen 204 includes at least one gesture capture area 206 . This at least one gesture capture area 206 is able to receive input by recognizing gestures made by a user touching the gesture capture area surface of the front screen 204 . In comparison to the touch sensitive display 208 , the gesture capture area 206 is commonly not capable of rendering a displayed image.
  • the display device 100 can include a speaker (not shown) and a microphone (not shown).
  • the microphone may be used by the display device 100 to receive audio input which may control and/or manipulate applications and/or features of display device 100 .
  • the display device 100 also includes a camera (not shown) and a light source (not shown), which may be used to control and/or manipulate applications and/or features of the display device 100 in response to detected user input, via gestures and/or facial expressions.
  • the display device 100 can include an electrical and communications connection or docking port (not shown) that is capable of interfacing with one or more other devices, including a (personal, portable, and non-vehicular) communication device of a user.
  • Exemplary communication devices include cellular phones, particularly smart phones, electronic readers, laptops, tablet computers, and the like.
  • the docking port is capable of transferring power from the display device 100 to the other devices.
  • input and/or output to the display device 100 and other vehicle components, such as a vehicle control system 224 may be made through the docking port.
  • Communication may involve sending and receiving one or more signals between the communication device and the display device 100 .
  • the connection from the display device 100 and the at least one other device may be made through the docking port via a physical, inductive, and/or wireless association.
  • FIG. 3 further illustrates components of a display device 100 in accordance with embodiments of the present disclosure.
  • the device 100 includes the front screen 204 with touch sensitive display 208 .
  • the front screen 204 may be disabled and/or enabled by a suitable command.
  • the front screen 204 can be touch sensitive and can include different operative areas.
  • a first operative area, within the touch sensitive screen 204 may comprise a touch sensitive display 208 .
  • the touch sensitive display 208 may comprise a full color, touch sensitive display.
  • a second area within each touch sensitive screen 204 may comprise a gesture capture region 206 .
  • the gesture capture region 206 may comprise one or more area or region that is outside of the touch sensitive display 208 area, and that is capable of receiving input, for example in the form of gestures provided by a user. However, the one or more gesture capture regions 206 do not include pixels that can perform a display function or capability.
  • a third region of the touch sensitive screen 204 may comprise one or more configurable areas.
  • the configurable area is capable of receiving input and has display or limited display capabilities.
  • the configurable area may occupy any part of the touch sensitive screen 204 not allocated to a gesture capture region 206 or touch sensitive display 208 .
  • the configurable area may present different input options to the user.
  • the configurable area may display buttons or other relatable items.
  • the identity of displayed buttons, or whether any buttons are displayed at all within the configurable area of the touch sensitive screen 204 may be determined from the context in which the device 100 is used and/or operated.
  • the touch sensitive screen 204 comprises liquid crystal display devices extending across at least the region of the touch sensitive screen 204 that is capable of providing visual output to a user, and a resistive and/or capacitive input matrix over the regions of the touch sensitive screen 204 that are capable of receiving input from the user.
  • One or more display controllers 316 may be provided for controlling the operation of the touch sensitive screen 204 , including input (touch sensing) and output (display) functions.
  • a touch screen controller 316 is provided for the touch screen 204 .
  • the functions of a touch screen controller 316 may be incorporated into other components, such as a processor 304 .
  • the processor 304 may comprise a general purpose programmable (micro)processor or controller for executing application programming or instructions.
  • the processor 304 may include multiple processor cores, and/or implement multiple virtual processors.
  • the processor 304 may include multiple physical processors.
  • the processor 304 may comprise a specially configured application specific integrated circuit (ASIC) or other integrated circuit, a digital signal processor, a controller, a hardwired electronic or logic circuit, a programmable logic device or gate array, a special purpose computer, or the like.
  • ASIC application specific integrated circuit
  • the processor 304 generally functions to run programming code or instructions implementing various functions of the device 100 .
  • the display device 100 may also include memory 308 for use in connection with the execution of application programming or instructions by the processor 304 , and for the temporary or long term storage of program instructions and/or data.
  • the memory 308 may comprise RAM, DRAM, SDRAM, or other solid state memory.
  • data storage 312 may be provided.
  • the data storage 312 may comprise a solid state memory device or devices.
  • the data storage 312 may comprise a hard disk drive or other random access memory.
  • the display device 100 can include a cellular telephony module 328 .
  • the cellular telephony module 328 can comprise a GSM, CDMA, FDMA and/or analog cellular telephony transceiver capable of supporting voice, multimedia and/or data transfers over a cellular network.
  • the display device 100 can include an additional or other wireless communications module 332 .
  • the other wireless communications module 332 can comprise a Wi-Fi, BLUETOOTHTM, WiMax, infrared, or other wireless communications link.
  • the cellular telephony module 328 and the other wireless communications module 332 can each be associated with a shared or a dedicated antenna 324 .
  • a port interface 352 may be included.
  • the port interface 352 may include proprietary or universal ports to support the interconnection of the device 100 to other devices or components, such as a dock, which may or may not include additional or different capabilities from those integral to the display device 100 .
  • the docking port 244 and/or port interface 352 can support the supply of power to or from the display device 100 .
  • the port interface 352 also comprises an intelligent element that comprises a docking module for controlling communications or other interactions between the display device 100 and a connected device or component.
  • An input/output module 348 and associated ports may be included to support communications over wired networks or links, for example with other communication devices, server devices, and/or peripheral devices.
  • Examples of an input/output module 248 include an Ethernet port, a Universal Serial Bus (USB) port, Institute of Electrical and Electronics Engineers (IEEE) 1394, or other interface.
  • USB Universal Serial Bus
  • IEEE Institute of Electrical and Electronics Engineers
  • the I/O module 348 can interface with on-board vehicle components.
  • subsystems such as an anti-lock braking system (ABS), engine control unit (ECU), and transmission control unit (TCU) are frequently interconnected using a standardized bus.
  • Standardized buses for use in vehicles include Controller Area Network (CAN), and Local Interconnect Network (LIN) and others, as are known in the art.
  • the I/O module 348 in one configuration, is a network interface with a vehicle network that receives information and/or sends commands to selected on-board vehicle components.
  • the network interface can also comprise other well-known networks such as Ethernet, Wi-Fi, USB, I 2 C, RS232, RS485 and FireWire.
  • the network interface implements a standardized vehicle network.
  • An audio input/output interface/device(s) 344 can be included to provide analog audio to an interconnected speaker or other device, and to receive analog audio input from a connected microphone or other device.
  • the audio input/output interface/device(s) 344 may comprise an associated amplifier and analog to digital converter.
  • the display device 100 can include an integrated audio input/output device 356 and/or an audio jack for interconnecting an external speaker or microphone.
  • an integrated speaker and an integrated microphone can be provided, to support near talk or speaker phone operations.
  • Hardware buttons 280 can be included for example for use in connection with certain control operations. Examples include a master power switch, volume control, etc.
  • One or more image capture interfaces/devices 340 such as a camera 272 , can be included for capturing still and/or video images. Alternatively or in addition, an image capture interface/device 340 can include a scanner or code reader. An image capture interface/device 340 can include or be associated with additional elements, such as a flash or other light source 276 .
  • the device 100 can also include a satellite positioning system receiver 336 capable of providing absolute location information to other components of the display device 100 .
  • An accelerometer(s)/gyroscope(s) 256 may also be included.
  • a signal from the accelerometer/gyroscope 256 can be used to determine an orientation and/or format in which to display that information to the user.
  • the accelerometer/gyroscope 256 may comprise at least one accelerometer and at least one gyroscope.
  • Embodiments of the present invention can also include one or more magnetic sensing features 252 .
  • the magnetic sensing feature 252 can be configured to provide a signal indicating the position of the device relative to a vehicle-mounted position. This information can be provided as an input, for example to a user interface application, to determine an operating mode, characteristics of the touch sensitive display 208 and/or other device 100 operations.
  • a magnetic sensing feature 252 can comprise one or more of Hall-effect sensors, a multiple position switch, an optical switch, a Wheatstone bridge, a potentiometer, or other arrangement capable of providing a signal indicating of multiple relative positions the touch screens are in.
  • the magnetic sensing feature 252 may comprise one or more metallic elements used by other sensors associated with the console and/or vehicle to determine whether the device 100 is in a vehicle-mounted position.
  • These metallic elements may include but are not limited to rare-earth magnets, electromagnets, ferrite and/or ferrite alloys, and/or other material capable of being detected by a range of sensors.
  • Communications between various components of the display device 100 can be carried by one or more buses 320 .
  • power can be supplied to the components of the display device 100 from a power source and/or power control module 360 .
  • the power control module 360 can, for example, include a battery, an AC to DC converter, power control logic, and/or ports for interconnecting the device 100 to an external source of power.
  • FIG. 4 depicts a block diagram of an embodiment of the device software and/or firmware.
  • the memory 408 may store and the processor 404 may execute one or more software components. These components can include at least one operating system (OS) 416 , an application manager 462 , a console desktop 466 , and/or one or more applications 464 a , 464 b , . . . from an application store 460 .
  • the OS 416 can include a framework 420 , one or more frame buffers 448 , one or more drivers 412 a , 412 b , 412 c , . . . , and/or a kernel 418 .
  • the OS 416 can be any software, consisting of programs and data, which manages computer hardware resources and provides common services for the execution of various applications 464 .
  • the OS 416 can be any operating system and, at least in some embodiments, dedicated to mobile devices, including, but not limited to, Linux, ANDROIDTM, iPhone OS (IOSTM), WINDOWS PHONE 7TM, etc.
  • the OS 416 is operable to provide functionality to the device 100 by executing one or more operations, as described herein.
  • the framework 420 may be any software or data that allows the multiple tasks running on the device to interact. In embodiments, at least portions of the framework 420 and the discrete components described hereinafter may be considered part of the OS 416 or an application 464 . However, these portions will be described as part of the framework 420 , but those components are not so limited.
  • the framework 420 can include, but is not limited to, a Surface Cache module 428 , a Window Management module 432 , an Input Management module 436 , an Application Model Manager 442 , a Display Controller, one or more frame buffers 448 , and/or an event buffer 456 .
  • the Surface Cache module 428 includes any memory or storage and the software associated therewith to store or cache one or more images of applications, windows, and/or console screens.
  • a series of active and/or non-active windows can be associated with each display.
  • An active window (or other display object) is currently displayed.
  • a non-active window (or other display objects) was opened and, at some time, displayed but are now not displayed.
  • a “screen shot” of a last generated image of the window (or other display object) can be stored.
  • the Surface Cache module 428 may be operable to store a bitmap of the last active image of a window (or other display object) not currently displayed.
  • the Surface Cache module 428 stores the images of non-active windows (or other display objects) in a data store.
  • the Window Management module 432 is operable to manage the windows (or other display objects) that are active or not active on each of the displays.
  • the Window Management module 432 based on information from the OS 416 , or other components, determines when a window (or other display object) is visible or not active.
  • the Window Management module 432 may then put a non-visible window (or other display object) in a “not active state” and, in conjunction with the Task Management module Task Management 440 suspends the application's operation. Further, the Window Management module 432 may assign a display identifier to the window (or other display object) or manage one or more other items of data associated with the window (or other display object).
  • the Window Management module 432 may also provide the stored information to the application 464 , or other components interacting with or associated with the window (or other display object).
  • the Window Management module 432 can also associate an input task with a window based on window focus and display coordinates within the motion space.
  • the Input Management module 436 is operable to manage events that occur with the device.
  • An event is any input into the window environment, for example, a user interface interactions with a user.
  • the Input Management module 436 receives the events and logically stores the events in an event buffer 456 .
  • Events can include such user interface interactions as a “down event,” which occurs when the screen 204 receives a touch signal from a user, a “move event,” which occurs when the screen 204 determines that a user's finger is moving across a screen(s), an “up event, which occurs when the screen 104 determines that the user has stopped touching the screen 204 etc.
  • These events are received, stored, and forwarded to other modules by the Input Management module 436 .
  • the Input Management module 436 may also map screen inputs to a motion space which is the culmination of all physical and virtual display available on the device.
  • the frame buffer 448 is a logical structure(s) used to render the user interface.
  • the frame buffer 448 can be created and destroyed by the OS kernel 418 .
  • the Display Controller 444 can write the image data, for the visible windows, into the frame buffer 448 .
  • a frame buffer 448 can be associated with one screen or multiple screens. The association of a frame buffer 448 with a screen can be controlled dynamically by interaction with the OS kernel 418 .
  • a composite display may be created by associating multiple screens with a single frame buffer 448 . Graphical data used to render an application's window user interface may then be written to the single frame buffer 448 , for the composite display, which is output to the multiple screens 204 .
  • the Display Controller 444 can direct an application's user interface to a portion of the frame buffer 448 that is mapped to a particular display 208 , thus, displaying the user interface on only one screen 204 .
  • the Display Controller 444 can extend the control over user interfaces to multiple applications, controlling the user interfaces for as many displays as are associated with a frame buffer 448 or a portion thereof. This approach compensates for the physical screen 204 and any other console screens that are in use by the software component above the Display Controller 444 .
  • the Application Manager 462 is an application that provides a presentation layer for the window environment, which includes management of the application store. Thus, the Application Manager 462 provides the graphical model for rendering. Likewise, the Desktop 566 provides the presentation layer for the Application Store 460 . Thus, the desktop provides a graphical model of a surface having selectable application icons for the Applications 464 a, b , . . . in the Application Store 460 that can be provided to the Window Management Module 456 for rendering.
  • the framework can include an Application Model Manager (AMM) 442 .
  • the Application Manager 462 may interface with the AMM 442 .
  • the AMM 442 receives state change information from the device 100 regarding the state of applications (which are running or suspended).
  • the AMM 442 can associate bit map images from the Surface Cache Module 428 to the applications that are alive (running or suspended). Further, the AMM 442 may provide a list of executing applications to the Application Manager 462 .
  • the Vehicle Control System The Vehicle Control System
  • FIG. 2 illustrates a vehicle 200 according to an embodiment.
  • the vehicle 200 includes, among many other components common to vehicles, wheels 207 , a power source 209 (such as an engine, motor, or energy storage system (e.g., battery or capacitive energy storage system)), a manual or automatic transmission 212 , a manual or automatic transmission gear controller 216 , a power controller 220 (such as a throttle), a vehicle control system 224 , the display device 100 , a braking system 236 , a steering wheel 240 , a power source activation/deactivation switch 244 (e.g., an ignition), an occupant seating system 248 , a wireless signal receiver 253 to receive wireless signals from signal sources such as roadside beacons and other electronic roadside devices, and a satellite positioning system receiver 257 (e.g., a Global Positioning System (“GPS”) (US), GLONASS ( Russia), Galileo positioning system (EU), Compass navigation system (China), and Regional Navigational Satellite System (India) receiver).
  • the vehicle 200 includes a number of sensors in wireless or wired communication with the vehicle control system 224 and/or display device 100 to collect sensed information regarding the vehicle state, configuration, and/or operation.
  • Exemplary sensors include wheel state sensor 260 to sense one or more of vehicle speed, acceleration, deceleration, wheel rotation, wheel speed (e.g., wheel revolutions-per-minute), wheel slip, and the like, a power source energy output sensor 264 to sense a power output of the power source 209 by measuring one or more of current engine speed (e.g., revolutions-per-minute), energy input and/or output (e.g., voltage, current, fuel consumption, and torque) (e.g., turbine speed sensor, input speed sensor, crankshaft position sensor, manifold absolute pressure sensor, mass flow sensor, and the like), and the like, a switch state sensor 268 to determine a current activation or deactivation state of the power source activation/deactivation switch 244 , a transmission setting sensor 270 to determine a current setting of the transmission (e
  • sensors examples include safety system state sensors to determine a current state of a vehicular safety system (e.g., air bag setting (deployed or undeployed) and/or seat belt setting (engaged or not engaged)), light setting sensor (e.g., current headlight, emergency light, brake light, parking light, fog light, interior or passenger compartment light, and/or tail light state (on or off)), brake control (e.g., pedal) setting sensor, accelerator pedal setting or angle sensor, clutch pedal setting sensor, emergency brake pedal setting sensor, door setting (e.g., open, closed, locked or unlocked) sensor, engine temperature sensor, passenger compartment or cabin temperature sensor, window setting (open or closed) sensor, one or more cameras or other imaging sensors (which commonly convert an optical image into an electronic signal but may include other devices for detection objects such as an electromagnetic radiation emitter/receiver that emits electromagnetic radiation and receives electromagnetic waves reflected by the object) to sense objects, such as other vehicles and pedestrians and optionally determine the distance, trajectory and speed of such objects,
  • light setting sensor e.g
  • the various sensors are in communication with the display device 100 and vehicle control system 224 via signal carrier network 280 .
  • the signal carrier network 280 can be a network of signal conductors, a wireless network (e.g., a radio frequency, microwave, or infrared communication system using a communications protocol, such as Wi-Fi), or a combination thereof.
  • control system 224 receives and reads sensor signals, such as wheel and engine speed signals, as a digital input comprising a pulse width modulated (PWM) signal.
  • the processor 304 can be configured, for example, to read each of the PWM signals into a port configured as a counter or configured to generate an interrupt on receipt of a pulse, such that the processor 304 can determine, for example, the engine speed in revolutions per minute (RPM) and the speed of the vehicle in miles per hour (MPH).
  • RPM revolutions per minute
  • MPH miles per hour
  • the current engine speed and vehicle speed can be received in a communication packet as numeric values from a conventional dashboard subsystem comprising a tachometer and a speedometer.
  • the transmission speed sensor signal can be similarly received as a digital input comprising a PWM signal coupled to a counter or interrupt signal of the processor 304 , or received as a value in a communication packet on the network or port interface 352 from an existing subsystem of the vehicle.
  • the ignition sensor signal can be configured as a digital input, wherein a HIGH value represents that the ignition is on and a LOW value represents that the ignition is OFF.
  • Three bits of the port interface 352 can be configured as a digital input to receive the gear shift position signal, representing eight possible gear shift positions.
  • the gear shift position signal can be received in a communication packet as a numeric value on the port interface 352 .
  • the throttle position signal can be received as an analog input value, typically in the range 0-5 volts.
  • the throttle position signal can be received in a communication packet as a numeric value on the port interface 352 .
  • the output of other sensors can be processed in a similar fashion.
  • the application store 460 includes plural applications 464 a , 464 b , . . .
  • the applications 464 can be any higher level software that executes particular console functionality for the user.
  • Applications 464 can include programs such as vehicle control applications (e.g., sensed information display icons (such as in the form of dials, gauges, and the like (e.g., odometer, speedometer, oil pressure, tachometer, battery voltage, tire pressure, gas tank level, engine temperature, indoor/outdoor temperature, trip computers, vehicle/component status reporting, maintenance tire pressure, vehicle/component performance monitoring, and other vehicle-related (sensed) information), applications associated with at least one vehicle function, applications related to handicap and accessibility graphical user interfaces (e.g., larger fonts, controls, text-to-speech and/or speech-to-text interfaces, speech command interfaces, etc.), email clients, web browsers, communications applications (e.g., email applications, texting applications, telephony applications, etc.), games (sol
  • the applications 464 can be stored in an application store 460 , which may represent any memory or data storage, and the management software associated therewith, for storing the applications 464 . Once executed, the applications 464 may be run in a different area of memory 408 .
  • the application store 460 may be similar to an application store for smart phones, mobile devices, and computers. It is anticipated that the present disclosure may use a communications channel or multiple channels available to the vehicle to make an application store purchase and/or download. Moreover, this purchase and download could be effected through the use of at least one individual's phone associated with the vehicle.
  • the application store may manage one or more applications remotely. This remote management may be achieved on the “cloud,” possibly as part of a cloud-based storage medium.
  • FIGS. 5A-5E depict multiple representations of a graphical user interface (“GUI”) in accordance with embodiments of the present disclosure.
  • GUI graphical user interface
  • icons, applications, and/or the presentation layout may be modified via user input and/or automatically via a processor.
  • FIG. 5A depicts a first representation of a GUI of a display device 100 in accordance with embodiments of the present disclosure.
  • the display device 100 is adapted to access one or more selected applications, such as through the application store, and run and/or display the applications, such as an application associated with at least one vehicle function.
  • An application may be displayed onto the touch sensitive screen 204 .
  • the display device 100 may run an application that is designed to control the climate functions of a vehicle.
  • the climate control application 512 a may display a desired temperature, various control features, and one or more virtual buttons to manipulate the control of the application.
  • a user via the touch sensitive screen 204 , may increase or decrease the temperature, set different climate modes (such as air recirculation, vent, fan settings, and the like) and set preferences of the application itself.
  • the display device 100 may receive input from a number of different sources, including physical, electrical, and/or audible commands and one or more sensors referenced above. Input may be received at the device 100 through, but not limited to, the touch sensitive screen 204 , microphone 232 , hardware buttons 280 , ports 352 , 356 , 348 , and combinations thereof.
  • vehicle applications and their corresponding functions may be obtained through the application store and run by the display device 100 , including entertainment applications (music, movies, etc.), trip computer applications (to display mileage traveled, miles per gallon fuel consumption, average speed, etc.), phone controls (especially hands-free phones associated with the vehicle), GPS, road conditions and warnings, and other applications useful to a vehicle operator or passenger.
  • entertainment applications music, movies, etc.
  • trip computer applications to display mileage traveled, miles per gallon fuel consumption, average speed, etc.
  • phone controls especially hands-free phones associated with the vehicle
  • GPS road conditions and warnings
  • road conditions and warnings and other applications useful to a vehicle operator or passenger.
  • processing resources required for running, or at least displaying, applications on the display device 100 may be split between processors that are associated with the display device 100 and processors that are not associated with the display device 100 .
  • applications 512 a , 512 b , 512 n may include features that allow for custom and/or predefined functionality. This functionality may be associated with the behavior, appearance, and/or operating capability of one or more applications.
  • an application may include a position anchor icon 528 that, when selected, fixes the application to a location on the display 208 . Fixing one or more applications in this manner may allow for the custom positioning of other non-fixed applications around the one or more applications that have been anchored.
  • applications and/or icons may be moved and positioned in various locations on the front screen 204 .
  • an application may be resized via control handles 540 , 536 which may be present on one or more applications. Applications may be relocated and/or positioned in the presentation layout according to various user input 532 .
  • applications may be associated with an icon that indicates whether an application is considered essential to vehicle operation.
  • This essential application icon 524 may be selected to designate an application as important to the user and/or vehicle. For example, in the event that an application is configured to display warnings associated with specific states of vehicle operation, the user and/or the device 100 may determine that the application is essential and as such select the essential application icon 524 . Selecting the essential application icon 524 may have one or more effects, depending on the specific implementation. It is anticipated that an essential application may be configured to remain displayed on the device 100 or other associated display device if the device 100 is removed from the vehicle-mounted position.
  • buttons, icons, controls, and other aspects of applications may be selected by one or more users, or selected by device 100 in response to predetermined conditions. It is an aspect of the present disclosure that these applications may be selected and controlled by device 100 , and/or at least one associated peripheral vehicle device.
  • the GUI may include a console application tray 504 .
  • the console application tray 504 may be configured to provide access to available console applications 508 a , 508 b , 508 c .
  • the console application tray 504 may display console applications available from the application store and/or provide a link to an application store via one or more icons 520 . Whether applications have been installed, displayed, purchased, or are available for purchase via the application store icon 520 , the various status of an application may be indicated in the console application tray 504 . For example, if an application is installed and displayed on the display device 100 , the application icon in the console application tray 504 may appear differently from other icons that are not installed and displayed.
  • the icons are displayed in color to illustrate one or more state, they may appear in black and white, or grayscale, to indicate one or more other states. Therefore, given the previous example, available applications may have full color application icons, whereas installed and displayed icons may have grayscale icons. It is anticipated that various states of at least one application icon may be illustrated using various colors, intensities, transparencies, glows, shadows, and the like.
  • console application tray 504 may be accessed by dragging a tray handle 516 or other feature to reveal the console application tray 504 .
  • the tray 504 may be revealed by a gesture drag on the display 208 using one or more fingers.
  • the tray 504 may be displayed in response to a predetermined state of the device 100 . Revealing the console application tray 504 may be visually represented in a number of ways. Moreover, the effect that revealing the tray may have on displayed applications may also be represented in a number of ways.
  • the console application tray 504 may fly-out from a side of the display device 100 . In other embodiments the console application tray 504 may appear from a location of the display 208 .
  • console application tray 504 transitions can be configured with regard to speed, color, transparency, audio output, and combinations thereof.
  • the console application tray 504 may be “pulled” in a direction 530 from a side of the display device 100 to appear over displayed applications.
  • the console application tray 504 may be pulled from a side of the display device 100 to share the display 208 with any displayed applications 512 a , 512 b , 512 n .
  • This embodiment may require the resizing of displayed applications 512 a , 512 b , 512 n to provide adequate display area for the revealed tray 504 .
  • the displayed applications may decrease in size, and vice versa.
  • FIG. 5B depicts a second representation of a GUI of a display device 100 in accordance with embodiments of the present disclosure.
  • a user 560 may interface with the GUI and/or the touch-sensitive display 208 to “drag-and-drop” new applications 508 a , 508 b , 508 c , into an application-expanded position on the GUI, where applications 512 a , 512 b , . . . , 512 n are shown in a functional state. Additionally, or alternatively, a user 560 may drag applications 512 a , 512 b , . . . , 512 n from the application-expanded position of the GUI into the application tray 504 .
  • moving an application from the application-expanded position of the GUI to the application tray 504 may hide and/or remove the chosen application from the application-expanded position of the GUI. It is further anticipated that once returned to the application tray 504 , the application may be returned to its previous position via user 560 or automatic input. In some embodiments, the applications may be moved and/or positioned on the GUI according to a directional input 544 provided by the user 560 . When a user 560 wishes to initiate a directional input 544 and move a given application, the user 560 may initiate such a move by a touch, touch and hold, and/or other input gesture. It is an aspect of the present disclosure that moving an application 512 a , 512 b , . .
  • Application icons may be moved, repositioned, deleted, hidden, and/or otherwise shown by received input. Once the applications are positioned in a desired configuration, any functionality associated with the positioned applications may be accessed via further input.
  • FIG. 5C depicts a third representation of a GUI of a display device 100 in accordance with embodiments of the present disclosure.
  • a user 560 may position one or more applications 508 a , 508 b , 508 c from the application tray 504 to an application-expanded position via an input gesture.
  • the applications may be automatically moved to and/or from various positions on the GUI via a processor and rules, a user 560 may arrange the applications on the GUI as desired.
  • FIG. 5C shows a user 560 moving an application 508 c from the application tray 504 between two applications 512 a , 512 b that already occupy an application-expanded position of the GUI.
  • the user 560 may drag and/or drop the application to various positions according to directional input 544 . For instance, the user 560 has dragged the application 508 c along a line 548 to hold between two applications on the GUI 512 a , 512 b.
  • FIG. 5D depicts a fourth representation of a GUI of a display device 100 in accordance with embodiments of the present disclosure.
  • the dragged application 508 c may be positioned between and/or adjacent to at least one application.
  • the dragged application 508 c may be placed into a position as a first application, where no other applications are shown in the application-expanded position of the GUI.
  • a dragged application 508 c when positioned between or adjacent to other applications in the application-expanded position of the GUI may automatically move and/or resize one or more of the other applications along a directional line 556 .
  • FIG. 5D shows application 512 b moving below the dragged application 508 c to accommodate room for the dragged application 508 c when it is dropped, or placed, and expands into an expanded-state.
  • the user 560 may drop the dragged application 508 c in place.
  • FIG. 5E depicts a fifth representation of a GUI of a display device 100 in accordance with embodiments of the present disclosure.
  • a dragged application 508 c may resize, or expand, into a position on an application-expanded position on the GUI.
  • FIG. 5E shows a dragged application 508 c that has been moved into an application-expanded position along with functional features associated with the expanded application 508 d .
  • the expanded application 508 d may be resized and/or repositioned as described above. Different layouts and/or configurations may be found in a common position in a menu structure.
  • FIGS. 6A-6C depict multiple representations of a graphical user interface (“GUI”) in accordance with embodiments of the present disclosure.
  • GUI graphical user interface
  • icons, applications, and/or the presentation layout may be modified via user input and/or automatically via a processor.
  • the description of the display device 100 is made for illustrative purposes only, and the embodiments are not limited to the specific mechanical features shown in FIGS. 6A-6C and described above.
  • the display device 100 may include additional features, including one or more additional buttons, slots, display areas, and/or shapes. Additionally, in embodiments, the features described above may be located in different parts of the display device 100 and still provide similar functionality. Therefore, FIGS. 6A-6C and the description provided above are non-limiting.
  • the display device 100 is adapted to run and/or display one or more applications, obtained through the application store, that are associated with at least one vehicle function.
  • An application may be displayed onto the touch sensitive screen 204 .
  • the display device 100 may run at least one application that is designed to monitor and/or control one or more functions of a vehicle.
  • a user may add applications via an application tray that may be accessed by dragging a tray handle 632 from a side of the display device 100 .
  • the display device 100 may receive input from a number of different sources, including physical, electrical, and/or audible commands. Input may be received at the display device 100 through, but not limited to, the touch sensitive screen 204 , a microphone, hardware buttons, ports, cameras, and combinations thereof.
  • vehicle applications and their corresponding functions may be obtained through the application store and run by the display device 100 , including entertainment applications (music, movies, etc.), trip computer applications (to display mileage traveled, miles per gallon fuel consumption, average speed, etc.), phone controls (especially hands-free phones associated with the vehicle and/or with a passenger (such as a smart phone, tablet computer, laptop computer, ereader, etc.), GPS, road conditions and warnings, and other applications useful to a vehicle operator or passenger. It is anticipated that any of applications referenced herein may be purchased and/or managed via the Application Store 648 .
  • the GUI may include an application tray 640 a .
  • the application tray 640 a may be configured to provide access to available dash display applications 636 a , 636 b , 636 c .
  • the application tray area 240 may display dash display applications available from the application store and/or provide a link to the application store via one or more icons 648 . Whether applications have been installed, displayed, purchased, or are available for purchase via the application store icon 648 , the various status of an application may be indicated in the application tray area 640 a . For example, if an application is installed and displayed on the device 100 , the application icon in the application tray 640 a may appear differently from other icons that are not installed and displayed.
  • the icons are displayed in color to illustrate one or more state, they may appear in black and white, or grayscale, to indicate one or more other states. Therefore, given the previous example, available applications may have full color application icons, whereas installed and displayed icons may have grayscale icons. It is anticipated that various states of at least one application icon may be illustrated using various colors, intensities, transparencies, glows, shadows, and the like.
  • the GUI display 608 is separated into different areas. As shown, the display device 100 display 608 has been separated into two different areas represented as a tray area 640 a and a configuration area 640 b . In embodiments, the tray area 640 a may be revealed by dragging a tray handle 632 in a direction 634 away from a side of the display device 100 display 608 . Although shown as being accessed from the left side of the display device 100 display 608 , it should be appreciated that the tray handle 632 and corresponding tray area 640 a may be accessed from any area and/or side of the display device 100 display 608 . The tray handle 632 may be dragged via input received by the display device at one or more gesture capture area 206 . Furthermore, the GUI may be separated into one or more different areas.
  • the application tray area 640 a may be accessed by dragging a tray handle 632 or other feature to reveal the application tray area 640 a .
  • Other embodiments may use gesture recognition features of the touch sensitive display 608 , gesture capture region 606 , and/or associated hardware buttons to access the application tray area 640 a .
  • the tray area 640 a may be revealed by a gesture drag on the display 608 using one or more fingers.
  • the tray area 640 a may be displayed in response to a predetermined state of the device 100 . Revealing the application tray area 640 a may be visually represented in a number of ways.
  • the effect that revealing the tray may have on displayed applications may also be represented in a number of ways.
  • the application tray area 640 a may fly-out from a side of the device 100 . In other embodiments the application tray area 640 a may appear from a location of the display 608 . The manner in which the tray area 640 a transitions can be configured with regard to speed, color, transparency, audio output, and combinations thereof. In another embodiment, the application tray area 640 a may be “pulled” in a direction 634 from a side of the device 100 to appear over displayed applications. In yet another embodiment, the application tray area 640 a may be pulled from a side of the device 100 to share the display 608 with any displayed applications. This embodiment may require the resizing of displayed applications to provide adequate display area for the revealed tray area 640 a . In one embodiment, as the tray area 640 a increases in size, the displayed applications may decrease in size, and vice versa.
  • the tray area 640 a may contain various items including but not limited to folders, menu structures, pictures, and/or other icons representative of one or more configurable dash display applications.
  • the items displayed in the tray area 640 a may reside in at least one local memory and/or reside in at least one remote memory location (e.g., the cloud).
  • applications may be accessed, purchased, and/or sampled from at least one application store 560 via the app store icon 648 .
  • the App store icon 648 may reside in the tray area 640 a .
  • the tray area 640 a and/or the configuration area 640 b of the GUI may include one or more user-activated buttons, including but not limited to, a preferences icon 652 , Heads-Up Display (“HUD”) icon 656 , and a save icon 660 .
  • the preferences icon 652 may be used to alter the manner in which content is presented to the device display 608 .
  • the HUD icon 656 may be used to change the configuration display screen 680 and/or display the configured dash display onto a HUD.
  • the HUD may employ various methods and light sources to display the configurable dash display to one or more users, including but not limited to, projection, Cathode Ray Tube (“CRT”), Light Emitting Diode (“LED”), Liquid Crystal Display (“LCD”), Organic Light Emitting Diode (“OLED”), and the like.
  • the save icon 660 may be used to save one or more of the configured dash displays. Each configuration may be associated with one or more users.
  • the HUD configuration may be saved via the save icon 660 .
  • the functions associated with the user-activated buttons may be accessed automatically and/or in response to at least one signal sent by a processor.
  • the configuration area 640 b of the GUI may contain various items including but not limited to folders, menu structures, pictures, and/or other icons representative of one or more configurable dash display applications.
  • the configuration area 640 b may show a configuration display screen 680 .
  • This configuration display screen 660 represents the arranged GUI of the display device which may be configured in this area of the device screen 608 . It is one aspect of the present disclosure that applications from the tray area 640 a may be dragged and dropped into place on the configuration area 640 b of the device screen 608 . Once inside the configuration area 640 b each application may be adjusted according to desired user specifications.
  • Various configurations represented by the configuration display screen 680 may be saved by initiating a save function through a save icon 660 .
  • FIG. 6B depicts a second representation of a graphical user interface of a configurable dash display in accordance with one embodiment of the present disclosure.
  • a user 664 is accessing an application from a menu structure 636 a in the tray area 640 a .
  • the user may select one or more applications from any menu structure, or combination of menu structures, and drag the application around the GUI in any direction 668 .
  • a user may wish to select a new gauge from the meters folder 636 a and drag it to the configuration area 640 b for deployment in the configuration display screen 680 and even be displayed in the configurable dash display GUI.
  • FIG. 6C a fourth representation of a graphical user interface of a configurable dash display in accordance with one embodiment of the present disclosure is shown.
  • a user 664 has dragged a meter application 618 in a direction 672 that crosses the tray area 640 a and configuration area 640 b separator, the tray handle 632 .
  • the meter application may have been chosen from a folder 636 a in the tray area 640 a to be dropped in the configuration display screen 680 of the configuration area 640 b . It is an aspect of the present disclosure that one or more applications may be dragged between the tray area 640 a and the configuration area 640 b , and vice versa.
  • the applications may be dragged from one area to be dropped in another and/or dragged and dropped within the same area.
  • the behavior of a dropped application may change if the area from which it was dragged differs from the area to which it is dropped. For instance, an application may be dragged from the tray area 640 a to be dropped in the configuration area 640 b . In this case, the application behavior on this type of drag may be configured to add the application to the configuration area and/or the configuration display screen 680 . In contrast, the same application may be dragged from the configuration area 640 b to be dropped in the tray area 640 a .
  • the behavior of the application may be configured to delete the application from the configuration area 640 b once it is “dropped” in the tray area 640 a . In this scenario, it is not necessary that the application be added to the tray area 640 a .
  • This application behavior may be configured to be interchangeable between areas and/or configured to be similar between areas.
  • FIG. 7 depicts another example of an application store display window opened by a user.
  • the window 700 includes the application store icon 704 (which has been selected by the user) and a main icon 708 (to return to an earlier window in the menu).
  • the drop down window resulting from selection of the application store icon 704 includes recommended applications 712 (which are depicted as GPS applications 732 , vehicle maintenance applications 740 , sensing applications (which provide to a user real time or near real time sensed information) 736 , and music (e.g., media player) applications 744 ), popular applications 716 , applications by category 720 , installed applications 724 , and search 728 .
  • recommended applications 712 which are depicted as GPS applications 732 , vehicle maintenance applications 740 , sensing applications (which provide to a user real time or near real time sensed information) 736 , and music (e.g., media player) applications 744 ), popular applications 716 , applications by category 720 , installed applications 724 , and search 728
  • the recommended applications icon 712 when selected, provides recommendations and/or relative application rankings based on user preferences, a user profile (including for example likes and dislikes, socioeconomic information, hobbies, and the like), user input, user or operator behavior (e.g., driving patterns, application selection/purchase/downloading history, and the like), sensed information regarding vehicle state, configuration, on board hardware and software resources and/or modules and/or algorithms and/or components and settings and properties thereof (e.g., microprocessor(s), central processing units (e.g., SPECint, SPECfp benchmarks, instructions per second or cycle, floating point operations per second (“FLOPS”), performance per watt, interrupt latency, and Giga-updates per second), network performance (e.g., service quality measures such as bandwidth, throughput, latency, jitter, and error rate), available, unused, unavailable, and/or in use memory capacity, operating system, vehicle local network algorithms and messaging and signaling protocols, on board satellite location and/or positioning systems (such as GPS), etc.),
  • the applications selected as recommended applications can vary in response to changes in any of the above information.
  • each application is assigned a preference value based on or more of the above types of information, which value is updated periodically.
  • the preference values of the applications are compared, with the higher (or lower depending on configuration) valued applications being treated as “recommended” or “not recommended”. Only the recommended applications are displayed when the icon 712 is selected.
  • application recommendations may be based on sensed information when the vehicle is in operation. For instance, a vehicle maintenance or repair application may be pushed to or pulled by the display device 100 when sensed information and/or the vehicle control system indicates a potential mechanical or other operational issue or trigger for routine maintenance to occur. In another instance, a map or location-based service may be pushed to or pulled by the display device 100 in response to a current sensed location of the vehicle.
  • one or more recommended, possible, and/or available application listing(s) may be based on one or more of vehicle state, configuration, on board hardware and/or software resources and/or modules and/or algorithms and/or components and/or settings and/or properties thereof.
  • vehicle unavailable applications refers to an application listing incompatible applications based on one or more of current vehicle state, configuration, on board hardware and/or software resources and/or modules and/or algorithms and/or components and/or settings and/or properties thereof.
  • local memory 308 and/or data storage 312 can include current configuration information on the vehicle configuration, on board hardware and software resources and/or modules and/or algorithms and/or components and/or settings and/or properties thereof.
  • the configuration data structures can include hardware and software resources, settings, and/or components and/or properties thereof of occupant portable personal computational devices, such as tablet computers, smart phones, laptops, etc. Whenever an on board hardware and software resource and/or component and/or setting and/or property thereof and/or occupant portable personal computational device hardware and software resource and/or component and/or setting and/or property thereof is/are added, removed, updated, modified, or changed, the configuration data structures are updated to be current.
  • Additions, removals, updates, modifications, or changes can be detected by known techniques, such as receipt of a unique identifier (e.g., serial number), version or release number, and other licensing and/or authentication and/or verification and/or other installation or update information from an installed or updated component.
  • the application manager 462 can update dynamically the vehicle compatible applications in the application store 460 .
  • the application manager 462 can also provide “what if” application listings showing what vehicle compatible applications are available if a specified on board or network accessible hardware and/or software resource and/or component and/or setting and/or property thereof is added, installed, updated, and/or otherwise made available to the vehicle computational system.
  • the application manager 462 can prompt an occupant for consent to change and/or arrange purchase, licensing, installation, and/or other acquisition of the needed on board or network accessible hardware and/or software resource and/or component and/or setting and/or property thereof and, at the occupant's request, proceed automatically with the change and/or arrange purchase, licensing, installation, and/or other acquisition of the needed on board or network accessible hardware and/or software resource and/or component and/or setting and/or property thereof.
  • the popular applications icon 716 when selected, provides those applications that are most popular (with respect to purchase, free download, or both) over a selected time period among a selected set of users.
  • the selected set of users may depend on a current location of a user and be based on a geopolitical relationship of the current user location. For instance, the selected set of users may, relative to a current location of the user, be global, country wide, s nationwide, county wide, city wide, and the like.
  • an application to access a local news, weather or radio station may be limited to users within a certain distance of the station's signal broadcast antenna.
  • the selected set of users may be users of the same type, make, model, and/or year of manufacture of the vehicle 100 .
  • an application such as a vehicle maintenance application, may be limited, in usefulness, to users of Toyota Camrys.
  • the applications by category icon 720 when selected, provide applications by category.
  • Categories include, for example, automotive maintenance or repair, automotive monitoring, location-based services (e.g., navigation), entertainment (e.g., media), games, health and fitness, lifestyle, travel, medical, news, weather, productivity, reference, maps, social networking, utilities, and the like.
  • the application memberships of each of the recommended and popular applications 712 and 716 can vary user-by-user.
  • a first vehicle operator can have a first (application) membership for one of recommended and popular applications 712 and 716 and a second different vehicle operator can have a second different (application) membership of the one of recommended and popular applications 712 and 716 .
  • the installed applications icon 724 when selected, provides a listing of applications currently installed on the display device 100 for editing. Editing includes deletion or removal and deactivation (when currently executing).
  • the search icon 728 when selected, provides a search capability to search an application store library for applications satisfying user specified search terms and/or phrases.
  • FIG. 8 depicts a display window that appears when an application icon in the application store is selected.
  • the window 800 includes a name of the application 804 , a high level description of the application 804 , an information icon 808 for more detailed information about the application, a down cursor 812 to scroll down through the application description, and a price icon 816 to provide a charge required to download the application corresponding to the selected application icon.
  • the application manager 462 collects data regarding a current vehicle state, configuration, operation, occupant(s), and other sensed information (received from one or more of the sensors referenced herein), user preferences, user profile, user input, user behavior, location, type, make, model, and/or year of manufacture of the vehicle and/or other factors, and behavior and/or application preferences of non-occupants or third party users (particularly drivers of other vehicles located proximately or within a selected geographic region of a current satellite-based location of the vehicle 200 ).
  • the application manager 462 determines whether to permit or enable access to the application store. This determination may be in response to user preferences, vehicle manufacturer policies or rules, federal, state, or local law, and the like. Such restrictions can hinder drivers and other vehicle operators from operating vehicles while interacting with the application store, thereby substantially reducing driver distraction and reducing accidents, particularly among teenage drivers.
  • Vehicle-device-use laws may be provided by an organization, governmental entity, group, individual, and/or combinations thereof.
  • the laws may be stored locally or retrieved from a remotely located storage.
  • the vehicle-in-use laws may be statutes and/or regulations that are enforced by a government entity, such as a city, municipality, county, province, state, country, and the like. These laws may define vehicle, traffic, transportation, and/or safety rules associated with a given geographical region.
  • An exemplary vehicle-in-use law governs texting, cellular phone use, video availability to the operator when the car is in motion and the like).
  • the laws may be updated from time to time to, among other things, account for changes in the laws.
  • the application manager may refer to the laws of the first geopolitical entity and determine to control the display device 100 in accordance with the first geopolitical entity's law.
  • the application manager controls the display device 100 based, at least in part, on the laws of the second geopolitical entity.
  • the on-board vehicle sensors may determine at least one location of the user/vehicle, and refer to laws associated with that at least one location to control the display device 100 accordingly.
  • the application manager may also recognize one or more characteristics associated with a user, the user's vehicle, and/or device and limit access to device features at least partially based on the one or more characteristics.
  • these characteristics may include, but are not limited to, location of the user and/or device, user profile settings, user preferences, registration status of the device, device settings, programmed conditions, and the like.
  • a user may be operating a device in the passenger seat of an automobile.
  • the user may have established a connection between the device and the vehicle (e.g., via Bluetooth, direct electrical connection, wireless, radio frequency (RF), infrared (IR), etc.).
  • the vehicle control system may utilize one or more of the vehicle/device sensors to determine the location of the device user.
  • the application manager may determine that feature access should not be controlled.
  • the application manager may determine to limit access to one or more features of the display device, particularly the application store.
  • the application manager may refer to other factors when determining to allow or deny a user access to a device's features. Among these other factors are contractual rules/obligations, programmed conditions, vehicle state, emergency contingencies, and combinations thereof. For instance, a vehicle may be detected to be “in motion” by the feature control module and various vehicle/device sensors. Based on the vehicle state (i.e., in motion), the location of the user (i.e., driver's seat), and a local law (i.e., prohibiting use of devices by drivers of a moving vehicle) the application manager may determine to deny access to application store features.
  • the application manager may itself receive from the satellite positioning system receiver in the vehicle satellite location information alone or in conjunction with vehicle-related state, configuration, and/or operation information (speed, parking sensors, etc.) to determine the current vehicle state, configuration, and/or operation.
  • vehicle-related state, configuration, and/or operation information speed, parking sensors, etc.
  • the application manager can disallow/deactivate application store access. Once the vehicle is determined to be in a “parked” condition (e.g., in “Park”), or otherwise motionless, the application store may be allowed and activated.
  • the application manager may deactivate only selected features of the application store.
  • the deactivation may be coupled with a presented warning in the form of a visual and/or audible alert on the display device.
  • the application manager may reactivate these deactivated features once the vehicle is in a state of rest and/or parked.
  • Deactivation of the application store may also be in response to contract requirements (such as employment or insurance contracts), employer rules or policies, etc.
  • Access to the application store may also be restricted based on unsuccessful authentication of the user.
  • step 900 when access is to be denied, the application manager returns to step 900 , and, when complete or partial access is to be permitted, the application manager proceeds to step 908 .
  • the application manager determines whether a communication device, other than an on-board communication device, is docked or otherwise connected with the display device 100 . It further determines what applications are installed on the communication device that may be executed by the display device 100 . In response, the user may be queried whether the application is to be executed by the display device 100 rather than or in addition to execution by the communication device. Appropriate changes may be made to license restrictions or permissions to enable the application to be installed and executed or run, temporarily or permanently, on the display device 100 . As will be appreciated, the changes required to comply with license restrictions depend on the type of software license. A perpetual license allows a customer to install and use software indefinitely. A subscription license allows the user to use the software for a specified time period.
  • a freeware license is offered as freeware by the author and does not require paying any fee for use.
  • a shareware license is a license to use software for a trial period followed by payment of a shareware fee if further use is desired.
  • a volume license allows a user to install the software on a certain number of computers.
  • a site/enterprise license provides access to software at a single location.
  • a server (network) license is licensed per server.
  • a per seat (machine) license is licensed per machine/seat.
  • a per processor license is licensed per processor in the server on which the software is executing.
  • step 912 the application manager determines what applications to include in the application store for presentation to the user.
  • memberships of sets of applications corresponding to recommended applications 712 , popular applications 716 , applications by category 720 , vehicle compatible applications, and installed applications 724 are determined as set forth above.
  • memberships can be a function of the information collected in steps 900 and 908 .
  • the applications presentable and/or selectable to the user of the vehicle are restricted by the vehicle manufacturer. This can be done by enforcing vehicle manufacturer white lists and/or black lists of applications. Alternatively or additionally, this can be done by requiring compliance with predetermined requirements or restrictions. Maintaining manufacturer control over applications can be important to maintaining vehicle brand goodwill and safety levels.
  • the application manager determines an ordering of application icons in the application store.
  • the ordering is based on a determined desirability of each application to the user and/or one or more other factors referenced above. For example, the application manager determines for each of the application store application sets or classes, namely recommended applications 712 , popular applications 716 , applications by category 720 , vehicle compatible applications, vehicle incompatible applications (e.g., the applications not included in the set or class of vehicle compatible applications such as “what if” applications), and installed applications 724 , and an ordering or ranking of the applications presented to the user.
  • the applications in each of recommended, popular, vehicle compatible applications, vehicle incompatible applications, and/or applications by category applications 712 , 716 , and 720 are determined based on a selected set of metrics or factors and/or ranking algorithms, which may be the same or different when compared to one another.
  • the set of metrics or parameters and/or ranking algorithms for the recommended applications 712 can thus differ from the set of metrics or parameters applied for each of popular, vehicle compatible applications, vehicle incompatible applications, and applications by category applications 716 and 720 and vice versa.
  • the relative rankings of the applications in the recommended, popular, vehicle compatible applications, vehicle incompatible applications, and/or applications by category applications 712 , 716 , and 720 are commonly based on a relative score or rating value determined by the ranking algorithm.
  • a first application relates to maintenance or repair of the vehicle and a second application to location-based services.
  • the location-based services is assigned a higher ranking than the maintenance or repair application.
  • the maintenance or repair application is assigned a higher ranking than the maintenance or repair application.
  • the application manager determines whether or not to enable an audio interface to enable user interaction with the application store.
  • This interface can be initiated as a result of a user preference, a state, configuration, or operation of the vehicle, and the like.
  • the audio interface provides, by audio output and for a selected menu selection, each application option to the user and the user, through spoken command, accesses the various options and operations of the application store.
  • the application manager can disable the video (application store) output or window(s) and enable the audio output, such as when the vehicle is in motion.
  • the application manager in step 924 , presents the application store selections/options to the user as discussed above.
  • step 928 the application manager receives a request from the user for an application selection.
  • step 932 the application manager authenticates the user and, if necessary, obtains payment information for the selected application.
  • step 936 the application manager, when the application is not stored locally, requests the application to be uploaded onto a wide area network, such as the Internet, and transmitted to the application manager for downloading into local memory.
  • a wide area network such as the Internet
  • step 940 the application manager downloads the selected application from the wide area network and installs the application in memory.
  • step 942 the application manager returns to step 900 .
  • FIG. 9C the process by which the application manager updates and maintains the vehicle configuration data structures is depicted.
  • the application manager detects a stimulus to initiate execution of the process.
  • the stimulus can be, for example, an occupant request for a set of vehicle compatible and/or incompatible applications in the application store, receipt of a signal or message indicating the addition, installation, update, and/or network accessibility (such as a connection request by a portable personal communication device) of an on board or network accessible hardware and/or software resource and/or component and/or setting and/or property thereof.
  • step 944 the application manager collects current configuration data regarding the current vehicle state, configuration, on board hardware and/or software resources and/or modules and/or algorithms and/or components and/or settings and/or properties thereof. This can be done by polling on board computational components for configuration information, obtaining configuration information from a managed information base of the computational component, and other techniques known to one of ordinary skill in the art.
  • the application manager collects current configuration data regarding the currently network accessible hardware and/or software resources and/or modules and/or algorithms and/or components and/or settings and/or properties thereof. This can be done by known techniques, including any of the techniques described in step 944 .
  • security measures implemented by a customer computational device can prohibit access to its configuration data. Such devices generally would not be considered to be network accessible and would be tagged appropriately in the local memory 308 and/or data storage 312 .
  • the electronic address, device type, and other information required for network access of each customer portable computational device and the on board vehicle hardware and/or software resources and/or modules and/or algorithms and/or components can be maintained in a network topology stored in the local memory 308 and/or data storage 312 . Each device or module in the network topology can be linked to an appropriate set of configuration data.
  • step 952 the application manager updates the locally stored configuration data structures to reflect the collected information respecting on board and/or network accessible hardware and/or software resource and/or component and/or setting and/or property thereof.
  • the application manager determines hardware (e.g., microprocessor(s), central processing units (e.g., SPECint, SPECfp benchmarks, instructions per second or cycle, floating point operations per second (“FLOPS”), performance per watt, interrupt latency, and Giga-updates per second), network performance (e.g., serviced quality measures such as bandwidth, throughput, latency, jitter, and error rate), available, unused, unavailable, and/or in use memory capacity, operating system, vehicle local network algorithms and messaging and signaling protocols, and other required components and settings and properties thereof) and software (e.g., operating system) requirements for each application currently available in the application store.
  • hardware e.g., microprocessor(s), central processing units (e.g., SPECint, SPECfp benchmarks, instructions per second or cycle, floating point operations per second (“FLOPS”), performance per watt, interrupt latency, and Giga-updates per second)
  • network performance e.g., serviced quality measures
  • the application manager determines the set of vehicle compatible applications by mapping the hardware and software requirements for each available application in the application store against those on board and/or network accessible hardware and/or software resources and/or modules and/or algorithms and/or components and/or settings and/or properties thereof to determine which applications can be installed and/or executed currently by an on board and/or network accessible microprocessor.
  • the application manager determines the set of vehicle incompatible applications by mapping the hardware and software requirements for each available application in the application store against those on board and/or network accessible hardware and/or software resources and/or modules and/or algorithms and/or components and/or settings and/or properties thereof to determine which applications cannot be installed and/or executed currently by an on board and/or network accessible microprocessor and, for incompatible applications, a currently lacking requirement to install and/or execute the incompatible application.
  • This lacking requirement can be recorded as a reason code with each requirement having a substantially unique reason code.
  • step 968 the application manager updates the stored sets of vehicle compatible and/or incompatible applications.
  • exemplary aspects, embodiments, and/or configurations illustrated herein show the various components of the system collocated, certain components of the system can be located remotely, at distant portions of a distributed network, such as a LAN and/or the Internet, or within a dedicated system.
  • a distributed network such as a LAN and/or the Internet
  • the components of the system can be combined in to one or more devices, such as a vehicle computer system, a Personal Computer (PC), laptop, netbook, smart phone, Personal Digital Assistant (PDA), tablet, etc., or collocated on a particular node of a distributed network, such as an analog and/or digital communications network, a packet-switch network, or a circuit-switched network or collocated on a particular node of a distributed network, such as an analog and/or digital communications network, a packet-switch network, or a circuit-switched network.
  • a distributed network such as an analog and/or digital communications network, a packet-switch network, or a circuit-switched network or collocated on a particular node of a distributed network, such as an analog and/or digital communications network, a packet-switch network, or a circuit-switched network.
  • the components of the system can be arranged at any location within a distributed network of components without affecting the operation of the system.
  • the various components can be located in a server.
  • one or more functional portions of the system could be distributed between a communications device(s) and an associated computing device.
  • the various links connecting the elements can be wired or wireless links, or any combination thereof, or any other known or later developed element(s) that is capable of supplying and/or communicating data to and from the connected elements.
  • These wired or wireless links can also be secure links and may be capable of communicating encrypted information.
  • Transmission media used as links can be any suitable carrier for electrical signals, including coaxial cables, copper wire and fiber optics, and may take the form of acoustic or light waves, such as those generated during radio-wave and infra-red data communications.
  • the application store is applied in a vehicle other than a wheeled or tracked vehicle.
  • the application store can be implemented in an aircraft, boat, ship, and the like.
  • the application store can include not only media player software but also media itself.
  • Media for example, can involve one or more media types (e.g., audio and/or video). Media can thus refer to music, movies, videos, audio books, pictures, screen savers, display wallpaper, and the like.
  • the systems and methods of this disclosure can be implemented in conjunction with a special purpose computer, a programmed microprocessor or microcontroller and peripheral integrated circuit element(s), an ASIC or other integrated circuit, a digital signal processor, a hard-wired electronic or logic circuit such as discrete element circuit, a programmable logic device or gate array such as PLD, PLA, FPGA, PAL, special purpose computer, any comparable means, or the like.
  • a special purpose computer a programmed microprocessor or microcontroller and peripheral integrated circuit element(s), an ASIC or other integrated circuit, a digital signal processor, a hard-wired electronic or logic circuit such as discrete element circuit, a programmable logic device or gate array such as PLD, PLA, FPGA, PAL, special purpose computer, any comparable means, or the like.
  • any device(s) or means capable of implementing the methodology illustrated herein can be used to implement the various aspects of this disclosure.
  • Exemplary hardware that can be used for the disclosed embodiments, configurations and aspects includes computers, handheld devices, telephones (e.g., cellular, Internet enabled, digital, analog, hybrids, and others), and other hardware known in the art. Some of these devices include processors (e.g., a single or multiple microprocessors), memory, nonvolatile storage, input devices, and output devices.
  • processors e.g., a single or multiple microprocessors
  • memory e.g., a single or multiple microprocessors
  • nonvolatile storage e.g., a single or multiple microprocessors
  • input devices e.g., input devices
  • output devices e.g., input devices, and output devices.
  • alternative software implementations including, but not limited to, distributed processing or component/object distributed processing, parallel processing, or virtual machine processing can also be constructed to implement the methods described herein.
  • the disclosed methods may be readily implemented in conjunction with software using object or object-oriented software development environments that provide portable source code that can be used on a variety of computer or workstation platforms.
  • the disclosed system may be implemented partially or fully in hardware using standard logic circuits or VLSI design. Whether software or hardware is used to implement the systems in accordance with this disclosure is dependent on the speed and/or efficiency requirements of the system, the particular function, and the particular software or hardware systems or microprocessor or microcomputer systems being utilized.
  • the disclosed methods may be partially implemented in software that can be stored on a storage medium, executed on programmed general-purpose computer with the cooperation of a controller and memory, a special purpose computer, a microprocessor, or the like.
  • the systems and methods of this disclosure can be implemented as program embedded on personal computer such as an applet, JAVA® or CGI script, as a resource residing on a server or computer workstation, as a routine embedded in a dedicated measurement system, system component, or the like.
  • the system can also be implemented by physically incorporating the system and/or method into a software and/or hardware system.
  • the present disclosure in various aspects, embodiments, and/or configurations, includes components, methods, processes, systems and/or apparatus substantially as depicted and described herein, including various aspects, embodiments, configurations embodiments, subcombinations, and/or subsets thereof.
  • the present disclosure in various aspects, embodiments, and/or configurations, includes providing devices and processes in the absence of items not depicted and/or described herein or in various aspects, embodiments, and/or configurations hereof, including in the absence of such items as may have been used in previous devices or processes, e.g., for improving performance, achieving ease and ⁇ or reducing cost of implementation.

Abstract

The present disclosure is directed to an application store on board a vehicle. The application store contains, in one configuration, a plurality of applications for installation on an on board computer of the vehicle, with the applications provided to the vehicle operator being provided to the operator being based on predetermined types of information related to the vehicle, its state, operation, and/or configuration, vehicle location, vehicle type, make, model, and/or year of manufacture, and/or occupant(s) and/or occupant(s) of other vehicles.

Description

CROSS REFERENCE TO RELATED APPLICATION
The present application claims the benefits of U.S. Provisional Application Ser. No. 61/714,016, filed on Oct. 15, 2012, entitled “Vehicle Middleware;” and 61/715,699, filed Oct. 18, 2012, entitled “Vehicle Middleware;” each of which is incorporated herein by this reference in its entirety.
Cross reference is made to U.S. patent application Ser. No. 13/679,412, filed Nov. 16, 2012, entitled “Vehicle Application Store for Console”; Ser. No. 13/420,236, filed on Mar. 14, 2012, entitled, “Configurable Vehicle Console”; Ser. No. 13/420,240, filed on Mar. 14, 2012, entitled “Removable, Configurable Vehicle Console”; Ser. No. 13/462,593, filed on May 2, 2012, entitled “Configurable Dash Display”; Ser. No. 13/462,596, filed on May 2, 2012, entitled “Configurable Heads-Up Dash Display”; Ser. No. 13/679,459, filed on Nov. 16, 2012, entitled “Vehicle Comprising Multi-Operating System”; Ser. No. 13/679,234, filed on Nov. 16, 2012, entitled “Gesture Recognition for On-Board Display”; Ser. No. 13/679,857, filed on Nov. 16, 2012, entitled “Sharing Applications/Media Between Car and Phone (Hydroid)”; Ser. No. 13/679,878, filed on Nov. 16, 2012, entitled “In-Cloud Connection for Car Multimedia”; Ser. No. 13/679,875, filed on Nov. 16, 2012, entitled “Music Streaming”; Ser. No. 13/679,676, filed on Nov. 16, 2012, entitled “Control of Device Features Based on Vehicle State”; Ser. No. 13/678,673, filed on Nov. 16, 2012, entitled “Insurance Tracking”; Ser. No. 13/678,691, filed on Nov. 16, 2012, entitled “Law Breaking/Behavior Sensor”; Ser. No. 13/678,699, filed on Nov. 16, 2012, entitled “Etiquette Suggestion”; Ser. No. 13/678,710, filed on Nov. 16, 2012, entitled “Parking Space Finder Based on Parking Meter Data”; Ser. No. 13/678,722, filed on Nov. 16, 2012, entitled “Parking Meter Expired Alert”; Ser. No. 13/678,726, filed on Nov. 16, 2012, entitled “Object Sensing (Pedestrian Avoidance/Accident Avoidance)”; Ser. No. 13/678,735, filed on Nov. 16, 2012, entitled “Proximity Warning Relative to Other Cars”; Ser. No. 13/678,745, filed on Nov. 16, 2012, entitled “Street Side Sensors”; Ser. No. 13/678,753, filed on Nov. 16, 2012, entitled “Car Location”; Ser. No. 13/679,441, filed on Nov. 16, 2012, entitled “Universal Bus in the Car”; Ser. No. 13/679,864, filed on Nov. 16, 2012, entitled “Mobile Hot Spot/Router/Application Share Site or Network”; Ser. No. 13/679,815, filed on Nov. 16, 2012, entitled “Universal Console Chassis for the Car”; Ser. No. 13/679,476, filed on Nov. 16, 2012, entitled “Vehicle Middleware”; Ser. No. 13/679,306, filed on Nov. 16, 2012, entitled “Method and System for Vehicle Data Collection Regarding Traffic”; Ser. No. 13/679,369, filed on Nov. 16, 2012, entitled “Method and System for Vehicle Data Collection”; Ser. No. 13/679,680, filed on Nov. 16, 2012, entitled “Communications Based on Vehicle Diagnostics and Indications”; Ser. No. 13/679,443, filed on Nov. 16, 2012, entitled “Method and System for Maintaining and Reporting Vehicle Occupant Information”; Ser. No. 13/678,762, filed on Nov. 16, 2012, entitled “Behavioral Tracking and Vehicle Applications”; Ser. No. 13/679,292, filed Nov. 16, 2012, entitled “Branding of Electrically Propelled Vehicles Via the Generation of Specific Operating Output”; Ser. No. 13/679,400, filed Nov. 16, 2012, entitled “Vehicle Climate Control”; Ser. No. 13/840,240, filed on Mar. 15, 2013, entitled “Controller Area Network Bus”; Ser. No. 13/678,773, filed on Nov. 16, 2012, entitled “Location Information Exchange Between Vehicle and Device”; Ser. No. 13/679,887, filed on Nov. 16, 2012, entitled “In Car Communication Between Devices”; Ser. No. 13/679,842, filed on Nov. 16, 2012, entitled “Configurable Hardware Unit for Car Systems”; Ser. No. 13/679,204, filed on Nov. 16, 2012, entitled “Feature Recognition for Configuring a Vehicle Console and Associated Devices”; Ser. No. 13/679,350, filed on Nov. 16, 2012, entitled “Configurable Vehicle Console”; Ser. No. 13/679,358, filed on Nov. 16, 2012, entitled “Configurable Dash Display”; Ser. No. 13/679,363, filed on Nov. 16, 2012, entitled “Configurable Heads-Up Dash Display”; and Ser. No. 13/679,368, filed on Nov. 16, 2012, entitled “Removable, Configurable Vehicle Console”. The entire disclosures of the applications listed above are hereby incorporated by reference, in their entirety, for all that they teach and for all purposes.
FIELD
The disclosure relates generally to vehicle computer systems and particularly to vehicle computer system interfaces for drivers.
BACKGROUND
Whether using private, commercial, or public transport, the movement of people and/or cargo has become a major industry. In today's interconnected world, daily travel is essential to engaging in commerce. Commuting to and from work can account for a large portion of a traveler's day. As a result, vehicle manufacturers have begun to focus on making this commute, and other journeys, more enjoyable.
Currently, vehicle manufacturers attempt to entice travelers to use a specific conveyance based on any number of features. Most of these features focus on vehicle safety or efficiency but passenger entertainment and productivity features are gaining in popularity. Personal computational devices, such as smart phones, tablet computers, ereaders, and personal digital assistants, are being viewed by potential automobile purchasers as core lifestyle elements to be used at work or home or while driving.
While the automotive industry is offering vehicles accommodating and interfacing with personal computational devices, there remains a need for higher levels of integration of personal computational devices and vehicle private networks and computational systems.
SUMMARY
These and other needs are addressed by the various aspects, embodiments, and/or configurations of the present disclosure. The present disclosure is directed to an application store on board a vehicle.
A microprocessor executable application manager can perform, or cause to be performed, the following steps/operations:
(a) providing a vehicle operator with an application store, the application store comprising information relating to a plurality of applications available for installation on a vehicle computer;
(b) receiving, from the vehicle operator, a request to install at least one of the plurality of applications; and
(c) installing the selected at least one of the plurality of applications in an electronic readable memory of the vehicle.
The application manager can perform, or cause to be performed, the following steps/operations:
(a) determine configuration data regarding a vehicle;
(b) determine a requirement of a selected application in an application store, the application store comprising information relating to a plurality of applications available for installation on a vehicle computer; and
(d) compare the vehicle configuration data with the requirement of the selected application to determine at least one of whether the selected application can be installed currently in the computer readable medium and/or whether the selected application can be executed currently by on the vehicle computer.
The application manager can configure the application store based on one or more of vehicle state, configuration, and/or operation. Configuring can include one or more of the following:
(i) determining a relative ranking of each of the plurality of applications;
(ii) determining which applications are to be included in the plurality of applications; and
(iii) enabling and/or disabling one or more features and/or functions of the application store.
Vehicle state, configuration, and/or operation can be determined based on one or types of sensed information received from one or more vehicle sensors. Examples of sensed information include one or more of the following: wheel state, vehicle speed, acceleration, deceleration, wheel rotation, wheel speed, wheel slip, power source energy output, engine speed, energy input and/or output, turbine speed, input speed, crankshaft position, manifold absolute pressure, mass flow, switch state, a transmission setting, a gear control current setting, a setting of a power controller, a state of a braking system, a seat setting, a weight and/or identity of seated occupant, exterior sound levels, interior sound levels, safety system state, light setting, brake control setting, accelerator pedal setting or angle, clutch pedal setting, emergency brake pedal setting, door setting, engine temperature, passenger compartment or cabin temperature sensor, window setting, imaging output, odometer reading, trip mileage reading, wind speed, radar transmitter/receiver output, brake wear, steering/torque, oxygen level, ambient lighting, ranging sensor output, parking sensor output, heating, venting, and air conditioning (HVAC) sensor output, water sensor output, air-fuel ratio meter output, blind spot monitor output, hall effect sensor output, radio frequency (RF) sensor output, infrared (IR) sensor output, vehicle control system sensor output, wireless network sensor output, vehicle location, vehicle direction of travel, and cellular data sensor output
Examples of applications accessible by the application store include applications directed to one or more of the following: vehicle control applications, applications associated with at least one vehicle task, function, and/or operation, applications related to handicap and accessibility graphical user interfaces, email clients, web browsers, communications applications, games, entertainment applications, satellite positioning system receiver applications, automotive navigation applications or devices (which can, for instance, provide pre-set destinations, live traffic information, gas prices along the route, and point-of-interest information, map applications, medical information applications, emergency service applications, noise suppression applications, news-related applications, vehicle manual related applications, weather information-related applications, biometric applications, travel applications, speech recognition applications such as to provide hands-free voice control of other applications, applications to read to the operator Really Simple Syndication (“RSS”) feeds, Twitter messages, email messages, and/or instant messages, social networking applications, streaming media applications, and utility applications (e.g., wall paper displayed by console, screen saver displayed by console, configurable parameters, and the like).
The application store configuration can be based on observed behavior of the vehicle operator and/or behaviors of operators of other vehicles.
The application store configuration can be based on one or more of a type, make, model and/or year of manufacture of the vehicle.
The application store configuration can be based on one or more of whether a communication device, separate from the vehicle, is docked or otherwise in signal communication with the application manager and a configuration of and/or applications stored on and executable by the communication device.
The application manager can change, or cause to be changed, license restrictions or permissions to enable one or more of the applications stored on the communication device to execute on a processor on-board the vehicle.
The configuration data can relate to one or more of a current vehicle state, configuration, on board hardware and/or software resource, module, algorithm, and/or component and/or a setting and/or property thereof.
The requirement can relate to one or more of hardware, vehicle local network performance, memory, operating system, software, and vehicle local network algorithm and/or messaging and/or signaling protocol, such as a microprocessor, central processing unit, a service quality measure of network performance, available, unused, unavailable, and/or in use memory capacity, and operating system.
The configuration data can be updated dynamically to reflect a change in the configuration data.
The configuration data can relate to one or more of a currently on board vehicle network accessible hardware and/or software resource, module, algorithm, and/or component and/or a setting and/or property thereof and wherein the requirement relates to one or more of hardware, vehicle local network performance, memory, operating system, software, and vehicle local network algorithm and/or messaging and/or signaling protocol.
The configure operation can include generating and providing to the user a vehicle compatible listing of applications in the application store.
The configure operation can include generating and providing to the user one of a vehicle incompatible listing of applications in the application store and a set of requirements for one or more vehicle incompatible applications to be executable by the vehicle computer.
The present disclosure can provide a number of advantages depending on the particular aspect, embodiment, and/or configuration. The application store can provide an automated interface offering increased vehicle operator convenience, satisfaction flexibility, and versatility. The interface can enable the user to configure the automated console of the vehicle in accordance with his or her needs and desires. It can provide a user with access not only to entertainment applications but also to informational and vehicle maintenance and repair applications that can prove invaluable to vehicle life and operator safety.
These and other advantages will be apparent from the disclosure.
The phrases “at least one”, “one or more”, and “and/or” are open-ended expressions that are both conjunctive and disjunctive in operation. For example, each of the expressions “at least one of A, B and C”, “at least one of A, B, or C”, “one or more of A, B, and C”, “one or more of A, B, or C” and “A, B, and/or C” means A alone, B alone, C alone, A and B together, A and C together, B and C together, or A, B and C together.
The term “a” or “an” entity refers to one or more of that entity. As such, the terms “a” (or “an”), “one or more” and “at least one” can be used interchangeably herein. It is also to be noted that the terms “comprising”, “including”, and “having” can be used interchangeably.
The term “application” refers to application software, also known as an application or an “app”, is computer software designed to help the user to perform specific tasks. Examples include satellite location and navigation software, social networking software, gaming software, word processing software, graphics software, and media players. Application software is contrasted with system software and middleware, which manage and integrate a computer's capabilities, but typically do not directly apply in the performance of tasks that benefit the user. The system software serves the application, which in turn serves the user.
The term “application store” refers to a digital application distribution platform that allows users to browse and download applications from an online store. Applications are available either for free or at a cost. Applications can be downloaded directly to a target device.
The term “automatic” and variations thereof, as used herein, refers to any process or operation done without material human input when the process or operation is performed. However, a process or operation can be automatic, even though performance of the process or operation uses material or immaterial human input, if the input is received before performance of the process or operation. Human input is deemed to be material if such input influences how the process or operation will be performed. Human input that consents to the performance of the process or operation is not deemed to be “material”.
The term “automotive navigation system” or “navigation system” is a satellite navigation system designed for use in automobiles. It typically uses a GPS navigation device to acquire position data to locate the user on a road in the unit's map database. Using the road database, the unit can give directions to other locations along roads also in its database. Dead reckoning using distance data from sensors attached to the drivetrain, a gyroscope and an accelerometer can be used for greater reliability, as GPS signal loss and/or multipath can occur due to urban canyons or tunnels.
The terms “communication device,” “smartphone,” and “mobile device,” and variations thereof, as used herein, are used interchangeably and include any type of device capable of communicating with one or more of another device and/or across a communications network, via a communications protocol, and the like. Exemplary communication devices may include but are not limited to smartphones, handheld computers, laptops, netbooks, notebook computers, subnotebooks, tablet computers, scanners, portable gaming devices, phones, pagers, GPS modules, portable music players, and other Internet-enabled and/or network-connected devices.
The term “computer-readable medium” as used herein refers to any tangible storage and/or transmission medium that participate in providing instructions to a processor for execution. Such a computer-readable medium may take many forms, including but not limited to, non-volatile media, volatile media, and transmission media. Non-volatile media includes, for example, NVRAM, or magnetic or optical disks. Volatile media includes dynamic memory, such as main memory. Common forms of computer-readable media include, for example, a floppy disk, a flexible disk, hard disk, magnetic tape, or any other magnetic medium, magneto-optical medium, a CD-ROM, any other optical medium, punch cards, paper tape, any other physical medium with patterns of holes, a RAM, a PROM, and EPROM, a FLASH-EPROM, a solid state medium like a memory card, any other memory chip or cartridge, a carrier wave as described hereinafter, or any other medium from which a computer can read. A digital file attachment to e-mail or other self-contained information archive or set of archives is considered a distribution medium equivalent to a tangible storage medium. When the computer-readable media is configured as a database, it is to be understood that the database may be any type of database, such as relational, hierarchical, object-oriented, and/or the like. Accordingly, the disclosure is considered to include a tangible storage medium or distribution medium and prior art-recognized equivalents and successor media, in which the software implementations of the present disclosure are stored.
The terms “dash” and “dashboard” and variations thereof, as used herein, are used interchangeably and include any panel and/or area of a vehicle disposed adjacent to an operator, user, and/or passenger. Typical dashboards may include but are not limited to one or more control panel, instrument housing, head unit, indicator, gauge, meter, light, audio equipment, computer, screen, display, HUD unit, and graphical user interface.
The term “desktop” refers to a metaphor used to portray systems. A desktop is generally considered a “surface” that typically includes pictures, called icons, widgets, folders, etc. that can activate show applications, windows, cabinets, files, folders, documents, and other graphical items. The icons are generally selectable to initiate a task through user interface interaction to allow a user to execute applications or conduct other operations.
The terms “determine”, “calculate” and “compute,” and variations thereof, as used herein, are used interchangeably and include any type of methodology, process, mathematical operation or technique.
The term “digital distribution” (also called content delivery, online distribution, electronic software distribution (ESD), among others) refers to the delivery of media content such as audio, video, software and video games without the use of physical media usually over online delivery mediums, such as the Internet. The term online distribution is typically applied to freestanding products; downloadable add-ons for other products are more commonly known as downloadable content. An online service for distribution of application software is usually called an “application store” or “app store”. Content distributed online may be streamed or downloaded. Streaming involves downloading and using content “on-demand” as it is needed. Meanwhile, downloading content to a hard drive or other form of storage media allows for quick access in the future. Specialist networks known as content delivery networks help distribute digital content over the Internet by ensuring both high availability and high performance. Alternative technologies for content delivery include peer-to-peer file sharing technologies. Content delivery platforms create and syndicate content remotely, acting like hosted content management systems.
The term “display” refers to a portion of a screen used to display the output of a computer to a user.
The term “displayed image” refers to an image produced on the display. A typical displayed image is a window or desktop. The displayed image may occupy all or a portion of the display.
The term “display orientation” refers to the way in which a rectangular display is oriented by a user for viewing. The two most common types of display orientation are portrait and landscape. In landscape mode, the display is oriented such that the width of the display is greater than the height of the display (such as a 4:3 ratio, which is 4 units wide and 3 units tall, or a 16:9 ratio, which is 16 units wide and 9 units tall). Stated differently, the longer dimension of the display is oriented substantially horizontal in landscape mode while the shorter dimension of the display is oriented substantially vertical. In the portrait mode, by contrast, the display is oriented such that the width of the display is less than the height of the display. Stated differently, the shorter dimension of the display is oriented substantially horizontal in the portrait mode while the longer dimension of the display is oriented substantially vertical. The multi-screen display can have one composite display that encompasses all the screens. The composite display can have different display characteristics based on the various orientations of the device.
The term “gesture capture” refers to a sense or otherwise a detection of an instance and/or type of user gesture. The gesture capture can occur in one or more areas of the screen, A gesture region can be on the display, where it may be referred to as a touch sensitive display or off the display where it may be referred to as a gesture capture area
The term “means” as used herein shall be given its broadest possible interpretation in accordance with 35 U.S.C., Section 112, Paragraph 6. Accordingly, a claim incorporating the term “means” shall cover all structures, materials, or acts set forth herein, and all of the equivalents thereof. Further, the structures, materials or acts and the equivalents thereof shall include all those described in the summary of the invention, brief description of the drawings, detailed description, abstract, and claims themselves.
The term “module” as used herein refers to any known or later developed hardware, software, firmware, artificial intelligence, fuzzy logic, or combination of hardware and software that is capable of performing the functionality associated with that element. Also, while the disclosure is presented in terms of exemplary embodiments, it should be appreciated that individual aspects of the disclosure can be separately claimed.
A “multi-screen application” refers to an application that is capable of producing one or more windows that may simultaneously occupy multiple screens. A multi-screen application commonly can operate in single-screen mode in which one or more windows of the application are displayed only on one screen or in multi-screen mode in which one or more windows are displayed simultaneously on multiple screens.
The term “satellite positioning system receiver” refers to a wireless receiver or transceiver to receive and/or send location signals from and/or to a satellite positioning system, such as the Global Positioning System (“GPS”) (US), GLONASS (Russia), Galileo positioning system (EU), Compass navigation system (China), and Regional Navigational Satellite System (India).
The term “screen,” “touch screen,” or “touchscreen” refers to a physical structure that enables the user to interact with the computer by touching areas on the screen and provides information to a user through a display. The touch screen may sense user contact in a number of different ways, such as by a change in an electrical parameter (e.g., resistance or capacitance), acoustic wave variations, infrared radiation proximity detection, light variation detection, and the like. In a resistive touch screen, for example, normally separated conductive and resistive metallic layers in the screen pass an electrical current. When a user touches the screen, the two layers make contact in the contacted location, whereby a change in electrical field is noted and the coordinates of the contacted location calculated. In a capacitive touch screen, a capacitive layer stores electrical charge, which is discharged to the user upon contact with the touch screen, causing a decrease in the charge of the capacitive layer. The decrease is measured, and the contacted location coordinates determined. In a surface acoustic wave touch screen, an acoustic wave is transmitted through the screen, and the acoustic wave is disturbed by user contact. A receiving transducer detects the user contact instance and determines the contacted location coordinates.
A “single-screen application” refers to an application that is capable of producing one or more windows that may occupy only a single screen at a time.
“Utility software” is system software designed to help analyze, configure, optimize and/or maintain a computer. Utility software usually focuses on how the computer infrastructure (including the computer hardware, operating system, application software and data storage) operates.
The term “vehicle” refers to a device or structure for transporting animate and/or inanimate or tangible objects (e.g., persons and/or things), such as a self-propelled conveyance. The term “vehicle” as used herein includes any conveyance, or model of a conveyance, where the conveyance was originally designed for the purpose of moving one or more tangible objects, such as people, animals, cargo, and the like. The term “vehicle” does not require that a conveyance moves or is capable of movement. Typical vehicles may include but are in no way limited to cars, trucks, motorcycles, busses, automobiles, trains, railed conveyances, boats, ships, marine conveyances, submarine conveyances, aircraft, space craft, flying machines, human-powered conveyances, and the like.
The term “window” refers to a, typically rectangular, displayed image on at least part of a display that contains or provides content different from the rest of the screen. The window may obscure the desktop.
The preceding is a simplified summary of the disclosure to provide an understanding of some aspects of the disclosure. This summary is neither an extensive nor exhaustive overview of the disclosure and its various aspects, embodiments, and/or configurations. It is intended neither to identify key or critical elements of the disclosure nor to delineate the scope of the disclosure but to present selected concepts of the disclosure in a simplified form as an introduction to the more detailed description presented below. As will be appreciated, other aspects, embodiments, and/or configurations of the disclosure are possible utilizing, alone or in combination, one or more of the features set forth above or described in detail below.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 depicts a first representation of a configurable dash display/cluster in a general viewing area of a vehicle in accordance with an embodiment;
FIG. 2 depicts a vehicle configured in accordance with an embodiment;
FIG. 3 is a block diagram of hardware according to an embodiment;
FIG. 4 is a block diagram of an embodiment of software and/or firmware;
FIG. 5A depicts a first representation of a graphical user interface of a configurable dash display according to an embodiment;
FIG. 5B depicts a second representation of a graphical user interface of a configurable dash display according to an embodiment;
FIG. 5C depicts a third representation of a graphical user interface of a configurable dash display according to an embodiment;
FIG. 5D depicts a fourth representation of a graphical user interface of a configurable dash display according to an embodiment;
FIG. 5E depicts a fifth representation of a graphical user interface of a configurable dash display according to an embodiment;
FIG. 6A depicts a sixth representation of a graphical user interface of a configurable dash display according to an embodiment;
FIG. 6B depicts a seventh representation of a graphical user interface of a configurable dash display according to an embodiment;
FIG. 6C depicts an eighth representation of a graphical user interface of a configurable dash display according to an embodiment;
FIG. 7 depicts a representation of an application store in the configurable graphical user interface according to an embodiment;
FIG. 8 depicts a representation of an application store in the configurable graphical user interface according to an embodiment; and
FIGS. 9A, 9B, and 9C are flow diagrams depicting a method according to an embodiment.
DETAILED DESCRIPTION Overview
The present disclosure describes a vehicle having an application store displayed by an on-board console or display providing occupants with plural applications for free or paid download. The application store may be maintained by a cloud-based vendor and/or be pre-stored in vehicle memory at the point of sale. Access to the application store can be gated or triggered based on vehicle state, configuration, and/or operation. Additionally or alternatively, the configuration of the application store can be dependent upon the vehicle state, configuration, and/or operation. Application store configuration, for instance, can refer to the particular applications provided to the user through the application store and the ordering or ranking of the applications in the application store and/or one or more features or functions of the application store. Application store access and/or configuration can further be based on observed user behavior and/or behaviors of other users (e.g., operators of other vehicles).
The Configurable Dash Display
FIG. 1 depicts a representation of a configurable dash display/cluster in a general viewing area of a vehicle 120 in accordance with one embodiment of the present disclosure. In some embodiments, the configurable dash display cluster includes a display device 100 spanning across one or more displays, including one or more console displays 108 a, 108 b. As depicted, at least one display device 100 may occupy a section of a vehicle dash 104. These one or more display devices may be located on or adjacent to the dash 104 of a vehicle 120 and/or located in rear passenger areas for use or access by passengers. It is an aspect of the present disclosure that the configurable dash display may be located such that one or more individuals associated with a vehicle 120 can interact with and/or observe the configurable dash display. The display device 100 may comprise a front screen, Graphical User Interface, and/or hardware switches or buttons. The display device 100 may be configured and/or receive user input via an associated display, such as through at least one console display 108 a, 108 b. For example, a user (e.g., a passenger) may wish to configure settings that are associated with the user while the vehicle is being operated by another. In this example, the user could safely arrange and/or configure a dash display for at least one of an operating condition and non-operating condition. The user may then save the configuration and/or arrangement in a memory location that may be associated with at least one user of the vehicle.
With reference to FIG. 3, the display device and its associated console displays 108 a, 108 b, in one configuration, include a number of devices that work together with at least one process of a vehicle to provide various input/output functions. One such display device 100 includes a touch sensitive front screen 204. In some embodiments, the entire front surface of the front screen 204 may be touch sensitive and capable of receiving input by a user touching the front surface of the front screen 204. The front screen 204 includes touch sensitive display 208, which, in addition to being touch sensitive, also displays information to a user. In other embodiments, the screen 204 may include more than one display area. In other embodiments, not only multi-touch but also one or more of haptic feedback, natural language voice interaction, proximity sensing, and tactile buttons and controls are used to control vehicle tasks, functions, and operations.
In addition to touch sensing, front screen 204 may also include areas that receive input from a user without requiring the user to touch the display area of the screen. For example, the front screen 204 may be configured to display content to the touch sensitive display 208, while at least one other area may be configured to receive touch input via a gesture capture area 206. The front screen 204 includes at least one gesture capture area 206. This at least one gesture capture area 206 is able to receive input by recognizing gestures made by a user touching the gesture capture area surface of the front screen 204. In comparison to the touch sensitive display 208, the gesture capture area 206 is commonly not capable of rendering a displayed image.
There are also a number of hardware components with the display device 100. The display device 100 can include a speaker (not shown) and a microphone (not shown). The microphone may be used by the display device 100 to receive audio input which may control and/or manipulate applications and/or features of display device 100. In embodiments, the display device 100 also includes a camera (not shown) and a light source (not shown), which may be used to control and/or manipulate applications and/or features of the display device 100 in response to detected user input, via gestures and/or facial expressions. The display device 100 can include an electrical and communications connection or docking port (not shown) that is capable of interfacing with one or more other devices, including a (personal, portable, and non-vehicular) communication device of a user. Exemplary communication devices include cellular phones, particularly smart phones, electronic readers, laptops, tablet computers, and the like. The docking port is capable of transferring power from the display device 100 to the other devices. Moreover, input and/or output to the display device 100 and other vehicle components, such as a vehicle control system 224 may be made through the docking port. Communication may involve sending and receiving one or more signals between the communication device and the display device 100. As will be appreciated, the connection from the display device 100 and the at least one other device may be made through the docking port via a physical, inductive, and/or wireless association.
FIG. 3 further illustrates components of a display device 100 in accordance with embodiments of the present disclosure. In general, the device 100 includes the front screen 204 with touch sensitive display 208. The front screen 204 may be disabled and/or enabled by a suitable command. Moreover, the front screen 204 can be touch sensitive and can include different operative areas. For example, a first operative area, within the touch sensitive screen 204, may comprise a touch sensitive display 208. In general, the touch sensitive display 208 may comprise a full color, touch sensitive display. A second area within each touch sensitive screen 204 may comprise a gesture capture region 206. The gesture capture region 206 may comprise one or more area or region that is outside of the touch sensitive display 208 area, and that is capable of receiving input, for example in the form of gestures provided by a user. However, the one or more gesture capture regions 206 do not include pixels that can perform a display function or capability.
It is further anticipated that a third region of the touch sensitive screen 204 may comprise one or more configurable areas. The configurable area is capable of receiving input and has display or limited display capabilities. As can be appreciated, the configurable area may occupy any part of the touch sensitive screen 204 not allocated to a gesture capture region 206 or touch sensitive display 208. In embodiments, the configurable area may present different input options to the user. For example, the configurable area may display buttons or other relatable items. Moreover, the identity of displayed buttons, or whether any buttons are displayed at all within the configurable area of the touch sensitive screen 204 may be determined from the context in which the device 100 is used and/or operated. In an exemplary embodiment, the touch sensitive screen 204 comprises liquid crystal display devices extending across at least the region of the touch sensitive screen 204 that is capable of providing visual output to a user, and a resistive and/or capacitive input matrix over the regions of the touch sensitive screen 204 that are capable of receiving input from the user.
One or more display controllers 316 may be provided for controlling the operation of the touch sensitive screen 204, including input (touch sensing) and output (display) functions. In the exemplary embodiment illustrated in FIG. 3, a touch screen controller 316 is provided for the touch screen 204. In accordance with some embodiments, the functions of a touch screen controller 316 may be incorporated into other components, such as a processor 304.
The processor 304 may comprise a general purpose programmable (micro)processor or controller for executing application programming or instructions. In accordance with at least some embodiments, the processor 304 may include multiple processor cores, and/or implement multiple virtual processors. In accordance with still other embodiments, the processor 304 may include multiple physical processors. As a particular example, the processor 304 may comprise a specially configured application specific integrated circuit (ASIC) or other integrated circuit, a digital signal processor, a controller, a hardwired electronic or logic circuit, a programmable logic device or gate array, a special purpose computer, or the like. The processor 304 generally functions to run programming code or instructions implementing various functions of the device 100.
The display device 100 may also include memory 308 for use in connection with the execution of application programming or instructions by the processor 304, and for the temporary or long term storage of program instructions and/or data. As examples, the memory 308 may comprise RAM, DRAM, SDRAM, or other solid state memory. Alternatively or in addition, data storage 312 may be provided. Like the memory 308, the data storage 312 may comprise a solid state memory device or devices. Alternatively or in addition, the data storage 312 may comprise a hard disk drive or other random access memory.
In support of communications functions or capabilities, the display device 100 can include a cellular telephony module 328. As examples, the cellular telephony module 328 can comprise a GSM, CDMA, FDMA and/or analog cellular telephony transceiver capable of supporting voice, multimedia and/or data transfers over a cellular network. Alternatively or in addition, the display device 100 can include an additional or other wireless communications module 332. As examples, the other wireless communications module 332 can comprise a Wi-Fi, BLUETOOTH™, WiMax, infrared, or other wireless communications link. The cellular telephony module 328 and the other wireless communications module 332 can each be associated with a shared or a dedicated antenna 324.
A port interface 352 may be included. The port interface 352 may include proprietary or universal ports to support the interconnection of the device 100 to other devices or components, such as a dock, which may or may not include additional or different capabilities from those integral to the display device 100. In addition to supporting an exchange of communication signals between the display device 100 and another device or component, the docking port 244 and/or port interface 352 can support the supply of power to or from the display device 100. The port interface 352 also comprises an intelligent element that comprises a docking module for controlling communications or other interactions between the display device 100 and a connected device or component.
An input/output module 348 and associated ports may be included to support communications over wired networks or links, for example with other communication devices, server devices, and/or peripheral devices. Examples of an input/output module 248 include an Ethernet port, a Universal Serial Bus (USB) port, Institute of Electrical and Electronics Engineers (IEEE) 1394, or other interface.
The I/O module 348 can interface with on-board vehicle components. In modern vehicles, subsystems such as an anti-lock braking system (ABS), engine control unit (ECU), and transmission control unit (TCU) are frequently interconnected using a standardized bus. Standardized buses for use in vehicles include Controller Area Network (CAN), and Local Interconnect Network (LIN) and others, as are known in the art. The I/O module 348, in one configuration, is a network interface with a vehicle network that receives information and/or sends commands to selected on-board vehicle components. The network interface can also comprise other well-known networks such as Ethernet, Wi-Fi, USB, I2C, RS232, RS485 and FireWire. Preferably, the network interface implements a standardized vehicle network.
An audio input/output interface/device(s) 344 can be included to provide analog audio to an interconnected speaker or other device, and to receive analog audio input from a connected microphone or other device. As an example, the audio input/output interface/device(s) 344 may comprise an associated amplifier and analog to digital converter. Alternatively or in addition, the display device 100 can include an integrated audio input/output device 356 and/or an audio jack for interconnecting an external speaker or microphone. For example, an integrated speaker and an integrated microphone can be provided, to support near talk or speaker phone operations.
Hardware buttons 280 can be included for example for use in connection with certain control operations. Examples include a master power switch, volume control, etc. One or more image capture interfaces/devices 340, such as a camera 272, can be included for capturing still and/or video images. Alternatively or in addition, an image capture interface/device 340 can include a scanner or code reader. An image capture interface/device 340 can include or be associated with additional elements, such as a flash or other light source 276.
The device 100 can also include a satellite positioning system receiver 336 capable of providing absolute location information to other components of the display device 100.
An accelerometer(s)/gyroscope(s) 256 may also be included. For example, in connection with the display of information to a user and/or other functions, a signal from the accelerometer/gyroscope 256 can be used to determine an orientation and/or format in which to display that information to the user. In some embodiments, the accelerometer/gyroscope 256 may comprise at least one accelerometer and at least one gyroscope.
Embodiments of the present invention can also include one or more magnetic sensing features 252. The magnetic sensing feature 252 can be configured to provide a signal indicating the position of the device relative to a vehicle-mounted position. This information can be provided as an input, for example to a user interface application, to determine an operating mode, characteristics of the touch sensitive display 208 and/or other device 100 operations. As examples, a magnetic sensing feature 252 can comprise one or more of Hall-effect sensors, a multiple position switch, an optical switch, a Wheatstone bridge, a potentiometer, or other arrangement capable of providing a signal indicating of multiple relative positions the touch screens are in. Alternatively, the magnetic sensing feature 252 may comprise one or more metallic elements used by other sensors associated with the console and/or vehicle to determine whether the device 100 is in a vehicle-mounted position. These metallic elements may include but are not limited to rare-earth magnets, electromagnets, ferrite and/or ferrite alloys, and/or other material capable of being detected by a range of sensors.
Communications between various components of the display device 100 can be carried by one or more buses 320. In addition, power can be supplied to the components of the display device 100 from a power source and/or power control module 360. The power control module 360 can, for example, include a battery, an AC to DC converter, power control logic, and/or ports for interconnecting the device 100 to an external source of power.
FIG. 4 depicts a block diagram of an embodiment of the device software and/or firmware. The memory 408 may store and the processor 404 may execute one or more software components. These components can include at least one operating system (OS) 416, an application manager 462, a console desktop 466, and/or one or more applications 464 a, 464 b, . . . from an application store 460. The OS 416 can include a framework 420, one or more frame buffers 448, one or more drivers 412 a, 412 b, 412 c, . . . , and/or a kernel 418. The OS 416 can be any software, consisting of programs and data, which manages computer hardware resources and provides common services for the execution of various applications 464. The OS 416 can be any operating system and, at least in some embodiments, dedicated to mobile devices, including, but not limited to, Linux, ANDROID™, iPhone OS (IOS™), WINDOWS PHONE 7™, etc. The OS 416 is operable to provide functionality to the device 100 by executing one or more operations, as described herein.
The framework 420 may be any software or data that allows the multiple tasks running on the device to interact. In embodiments, at least portions of the framework 420 and the discrete components described hereinafter may be considered part of the OS 416 or an application 464. However, these portions will be described as part of the framework 420, but those components are not so limited. The framework 420 can include, but is not limited to, a Surface Cache module 428, a Window Management module 432, an Input Management module 436, an Application Model Manager 442, a Display Controller, one or more frame buffers 448, and/or an event buffer 456.
The Surface Cache module 428 includes any memory or storage and the software associated therewith to store or cache one or more images of applications, windows, and/or console screens. A series of active and/or non-active windows (or other display objects, such as, a desktop display) can be associated with each display. An active window (or other display object) is currently displayed. A non-active window (or other display objects) was opened and, at some time, displayed but are now not displayed. To enhance the user experience, before a window transitions from an active state to an inactive state, a “screen shot” of a last generated image of the window (or other display object) can be stored. The Surface Cache module 428 may be operable to store a bitmap of the last active image of a window (or other display object) not currently displayed. Thus, the Surface Cache module 428 stores the images of non-active windows (or other display objects) in a data store.
In embodiments, the Window Management module 432 is operable to manage the windows (or other display objects) that are active or not active on each of the displays. The Window Management module 432, based on information from the OS 416, or other components, determines when a window (or other display object) is visible or not active. The Window Management module 432 may then put a non-visible window (or other display object) in a “not active state” and, in conjunction with the Task Management module Task Management 440 suspends the application's operation. Further, the Window Management module 432 may assign a display identifier to the window (or other display object) or manage one or more other items of data associated with the window (or other display object). The Window Management module 432 may also provide the stored information to the application 464, or other components interacting with or associated with the window (or other display object). The Window Management module 432 can also associate an input task with a window based on window focus and display coordinates within the motion space.
The Input Management module 436 is operable to manage events that occur with the device. An event is any input into the window environment, for example, a user interface interactions with a user. The Input Management module 436 receives the events and logically stores the events in an event buffer 456. Events can include such user interface interactions as a “down event,” which occurs when the screen 204 receives a touch signal from a user, a “move event,” which occurs when the screen 204 determines that a user's finger is moving across a screen(s), an “up event, which occurs when the screen 104 determines that the user has stopped touching the screen 204 etc. These events are received, stored, and forwarded to other modules by the Input Management module 436. The Input Management module 436 may also map screen inputs to a motion space which is the culmination of all physical and virtual display available on the device.
The frame buffer 448 is a logical structure(s) used to render the user interface. The frame buffer 448 can be created and destroyed by the OS kernel 418. However, the Display Controller 444 can write the image data, for the visible windows, into the frame buffer 448. A frame buffer 448 can be associated with one screen or multiple screens. The association of a frame buffer 448 with a screen can be controlled dynamically by interaction with the OS kernel 418. A composite display may be created by associating multiple screens with a single frame buffer 448. Graphical data used to render an application's window user interface may then be written to the single frame buffer 448, for the composite display, which is output to the multiple screens 204. The Display Controller 444 can direct an application's user interface to a portion of the frame buffer 448 that is mapped to a particular display 208, thus, displaying the user interface on only one screen 204. The Display Controller 444 can extend the control over user interfaces to multiple applications, controlling the user interfaces for as many displays as are associated with a frame buffer 448 or a portion thereof. This approach compensates for the physical screen 204 and any other console screens that are in use by the software component above the Display Controller 444.
The Application Manager 462 is an application that provides a presentation layer for the window environment, which includes management of the application store. Thus, the Application Manager 462 provides the graphical model for rendering. Likewise, the Desktop 566 provides the presentation layer for the Application Store 460. Thus, the desktop provides a graphical model of a surface having selectable application icons for the Applications 464 a, b, . . . in the Application Store 460 that can be provided to the Window Management Module 456 for rendering.
Further, the framework can include an Application Model Manager (AMM) 442. The Application Manager 462 may interface with the AMM 442. In embodiments, the AMM 442 receives state change information from the device 100 regarding the state of applications (which are running or suspended). The AMM 442 can associate bit map images from the Surface Cache Module 428 to the applications that are alive (running or suspended). Further, the AMM 442 may provide a list of executing applications to the Application Manager 462.
The Vehicle Control System
FIG. 2 illustrates a vehicle 200 according to an embodiment. The vehicle 200 includes, among many other components common to vehicles, wheels 207, a power source 209 (such as an engine, motor, or energy storage system (e.g., battery or capacitive energy storage system)), a manual or automatic transmission 212, a manual or automatic transmission gear controller 216, a power controller 220 (such as a throttle), a vehicle control system 224, the display device 100, a braking system 236, a steering wheel 240, a power source activation/deactivation switch 244 (e.g., an ignition), an occupant seating system 248, a wireless signal receiver 253 to receive wireless signals from signal sources such as roadside beacons and other electronic roadside devices, and a satellite positioning system receiver 257 (e.g., a Global Positioning System (“GPS”) (US), GLONASS (Russia), Galileo positioning system (EU), Compass navigation system (China), and Regional Navigational Satellite System (India) receiver).
The vehicle 200 includes a number of sensors in wireless or wired communication with the vehicle control system 224 and/or display device 100 to collect sensed information regarding the vehicle state, configuration, and/or operation. Exemplary sensors include wheel state sensor 260 to sense one or more of vehicle speed, acceleration, deceleration, wheel rotation, wheel speed (e.g., wheel revolutions-per-minute), wheel slip, and the like, a power source energy output sensor 264 to sense a power output of the power source 209 by measuring one or more of current engine speed (e.g., revolutions-per-minute), energy input and/or output (e.g., voltage, current, fuel consumption, and torque) (e.g., turbine speed sensor, input speed sensor, crankshaft position sensor, manifold absolute pressure sensor, mass flow sensor, and the like), and the like, a switch state sensor 268 to determine a current activation or deactivation state of the power source activation/deactivation switch 244, a transmission setting sensor 270 to determine a current setting of the transmission (e.g., gear selection or setting), a gear controller sensor 272 to determine a current setting of the gear controller 216, a power controller sensor 274 to determine a current setting of the power controller 220, a brake sensor 276 to determine a current state (braking or non-braking) of the braking system 236, a seating system sensor 278 to determine a seat setting and current weight of seated occupant, if any) in a selected seat of the seating system 248, exterior and interior sound receivers 290 and 292 (e.g., a microphone and other type of acoustic-to-electric transducer or sensor) to receive and convert sound waves into an equivalent analog or digital signal. Examples of other sensors (not shown) that may be employed include safety system state sensors to determine a current state of a vehicular safety system (e.g., air bag setting (deployed or undeployed) and/or seat belt setting (engaged or not engaged)), light setting sensor (e.g., current headlight, emergency light, brake light, parking light, fog light, interior or passenger compartment light, and/or tail light state (on or off)), brake control (e.g., pedal) setting sensor, accelerator pedal setting or angle sensor, clutch pedal setting sensor, emergency brake pedal setting sensor, door setting (e.g., open, closed, locked or unlocked) sensor, engine temperature sensor, passenger compartment or cabin temperature sensor, window setting (open or closed) sensor, one or more cameras or other imaging sensors (which commonly convert an optical image into an electronic signal but may include other devices for detection objects such as an electromagnetic radiation emitter/receiver that emits electromagnetic radiation and receives electromagnetic waves reflected by the object) to sense objects, such as other vehicles and pedestrians and optionally determine the distance, trajectory and speed of such objects, in the vicinity or path of the vehicle, odometer reading sensor, trip mileage reading sensor, wind speed sensor, radar transmitter/receiver output, brake wear sensor, steering/torque sensor, oxygen sensor, ambient lighting sensor, vision system sensor, ranging sensor, parking sensor, heating, venting, and air conditioning (HVAC) sensor, water sensor, air-fuel ratio meter, blind spot monitor, hall effect sensor, microphone, radio frequency (RF) sensor, infrared (IR) sensor, vehicle control system sensors, wireless network sensor (e.g., Wi-Fi and/or Bluetooth sensor), cellular data sensor, and other sensors known to those of skill in the vehicle art.
In the depicted vehicle embodiment, the various sensors are in communication with the display device 100 and vehicle control system 224 via signal carrier network 280. As noted, the signal carrier network 280 can be a network of signal conductors, a wireless network (e.g., a radio frequency, microwave, or infrared communication system using a communications protocol, such as Wi-Fi), or a combination thereof.
In one implementation, the control system 224 receives and reads sensor signals, such as wheel and engine speed signals, as a digital input comprising a pulse width modulated (PWM) signal. The processor 304 can be configured, for example, to read each of the PWM signals into a port configured as a counter or configured to generate an interrupt on receipt of a pulse, such that the processor 304 can determine, for example, the engine speed in revolutions per minute (RPM) and the speed of the vehicle in miles per hour (MPH). One skilled in the art will recognize that the two signals can be received from existing sensors in a vehicle comprising a tachometer and a speedometer, respectively. Alternatively, the current engine speed and vehicle speed can be received in a communication packet as numeric values from a conventional dashboard subsystem comprising a tachometer and a speedometer. The transmission speed sensor signal can be similarly received as a digital input comprising a PWM signal coupled to a counter or interrupt signal of the processor 304, or received as a value in a communication packet on the network or port interface 352 from an existing subsystem of the vehicle. The ignition sensor signal can be configured as a digital input, wherein a HIGH value represents that the ignition is on and a LOW value represents that the ignition is OFF. Three bits of the port interface 352 can be configured as a digital input to receive the gear shift position signal, representing eight possible gear shift positions. Alternatively, the gear shift position signal can be received in a communication packet as a numeric value on the port interface 352. The throttle position signal can be received as an analog input value, typically in the range 0-5 volts. Alternatively, the throttle position signal can be received in a communication packet as a numeric value on the port interface 352. The output of other sensors can be processed in a similar fashion.
The Application Store
The application store 460 includes plural applications 464 a, 464 b, . . . The applications 464 can be any higher level software that executes particular console functionality for the user. Applications 464 can include programs such as vehicle control applications (e.g., sensed information display icons (such as in the form of dials, gauges, and the like (e.g., odometer, speedometer, oil pressure, tachometer, battery voltage, tire pressure, gas tank level, engine temperature, indoor/outdoor temperature, trip computers, vehicle/component status reporting, maintenance tire pressure, vehicle/component performance monitoring, and other vehicle-related (sensed) information), applications associated with at least one vehicle function, applications related to handicap and accessibility graphical user interfaces (e.g., larger fonts, controls, text-to-speech and/or speech-to-text interfaces, speech command interfaces, etc.), email clients, web browsers, communications applications (e.g., email applications, texting applications, telephony applications, etc.), games (solo or multi-party games, including games played against other drivers), entertainment applications such as media players (e.g., to enable access to, viewing of, or listening to multimedia files, particularly audio and/or video files), satellite positioning system receiver applications (e.g., for location tracking, fleet tracking, geocoding, geofencing, geotagging, traffic patterns, navigating to a selected destination or other location, and other location-based services), map applications, medical information applications, emergency service applications, noise suppression applications, news-related applications (to provide local, national, and/or international news from a news source), weather information-related applications (to provide local, national, and/or international weather information, such as forecasts, radar images, social networking applications, road conditions, and current weather conditions), biometric applications (e.g., to determine an identity of or authenticate a user, to determine a current medical condition of a user, to determine a current sobriety state of a user, and the like), travel applications (e.g., applications providing the operator with booking or reservation information, traffic information, fuel pricing information, point-of-interest information, and the like), utility applications (e.g., office suites, electronic calendars, electronic clocks, and the like), etc.
The applications 464 can be stored in an application store 460, which may represent any memory or data storage, and the management software associated therewith, for storing the applications 464. Once executed, the applications 464 may be run in a different area of memory 408.
It is anticipated that vehicle applications may be purchased, freely accessed, and/or managed via the Application Store 460. The application store 460 may be similar to an application store for smart phones, mobile devices, and computers. It is anticipated that the present disclosure may use a communications channel or multiple channels available to the vehicle to make an application store purchase and/or download. Moreover, this purchase and download could be effected through the use of at least one individual's phone associated with the vehicle. In some embodiments, the application store may manage one or more applications remotely. This remote management may be achieved on the “cloud,” possibly as part of a cloud-based storage medium.
FIGS. 5A-5E depict multiple representations of a graphical user interface (“GUI”) in accordance with embodiments of the present disclosure. In some embodiments, icons, applications, and/or the presentation layout may be modified via user input and/or automatically via a processor.
FIG. 5A depicts a first representation of a GUI of a display device 100 in accordance with embodiments of the present disclosure. In embodiments, the display device 100 is adapted to access one or more selected applications, such as through the application store, and run and/or display the applications, such as an application associated with at least one vehicle function. An application may be displayed onto the touch sensitive screen 204. Additionally or alternatively, the display device 100 may run an application that is designed to control the climate functions of a vehicle. In this case, the climate control application 512 a may display a desired temperature, various control features, and one or more virtual buttons to manipulate the control of the application. A user, via the touch sensitive screen 204, may increase or decrease the temperature, set different climate modes (such as air recirculation, vent, fan settings, and the like) and set preferences of the application itself. In embodiments, the display device 100 may receive input from a number of different sources, including physical, electrical, and/or audible commands and one or more sensors referenced above. Input may be received at the device 100 through, but not limited to, the touch sensitive screen 204, microphone 232, hardware buttons 280, ports 352, 356, 348, and combinations thereof.
Other vehicle applications and their corresponding functions may be obtained through the application store and run by the display device 100, including entertainment applications (music, movies, etc.), trip computer applications (to display mileage traveled, miles per gallon fuel consumption, average speed, etc.), phone controls (especially hands-free phones associated with the vehicle), GPS, road conditions and warnings, and other applications useful to a vehicle operator or passenger.
It should be noted that the processing resources required for running, or at least displaying, applications on the display device 100 may be split between processors that are associated with the display device 100 and processors that are not associated with the display device 100.
In some embodiments, applications 512 a, 512 b, 512 n may include features that allow for custom and/or predefined functionality. This functionality may be associated with the behavior, appearance, and/or operating capability of one or more applications. For example, an application may include a position anchor icon 528 that, when selected, fixes the application to a location on the display 208. Fixing one or more applications in this manner may allow for the custom positioning of other non-fixed applications around the one or more applications that have been anchored. Moreover, applications and/or icons may be moved and positioned in various locations on the front screen 204. For instance, an application may be resized via control handles 540, 536 which may be present on one or more applications. Applications may be relocated and/or positioned in the presentation layout according to various user input 532.
Additionally or alternatively, applications may be associated with an icon that indicates whether an application is considered essential to vehicle operation. This essential application icon 524, may be selected to designate an application as important to the user and/or vehicle. For example, in the event that an application is configured to display warnings associated with specific states of vehicle operation, the user and/or the device 100 may determine that the application is essential and as such select the essential application icon 524. Selecting the essential application icon 524 may have one or more effects, depending on the specific implementation. It is anticipated that an essential application may be configured to remain displayed on the device 100 or other associated display device if the device 100 is removed from the vehicle-mounted position.
Various features, buttons, icons, controls, and other aspects of applications may be selected by one or more users, or selected by device 100 in response to predetermined conditions. It is an aspect of the present disclosure that these applications may be selected and controlled by device 100, and/or at least one associated peripheral vehicle device.
It is another aspect of the present disclosure that the GUI may include a console application tray 504. The console application tray 504 may be configured to provide access to available console applications 508 a, 508 b, 508 c. In addition, the console application tray 504 may display console applications available from the application store and/or provide a link to an application store via one or more icons 520. Whether applications have been installed, displayed, purchased, or are available for purchase via the application store icon 520, the various status of an application may be indicated in the console application tray 504. For example, if an application is installed and displayed on the display device 100, the application icon in the console application tray 504 may appear differently from other icons that are not installed and displayed. In other words, if the icons are displayed in color to illustrate one or more state, they may appear in black and white, or grayscale, to indicate one or more other states. Therefore, given the previous example, available applications may have full color application icons, whereas installed and displayed icons may have grayscale icons. It is anticipated that various states of at least one application icon may be illustrated using various colors, intensities, transparencies, glows, shadows, and the like.
In some embodiments the console application tray 504 may be accessed by dragging a tray handle 516 or other feature to reveal the console application tray 504.
Other embodiments may use gesture recognition features of the touch sensitive display 208, gesture capture region 206, and/or hardware buttons 280 to access the console application tray 504. For instance, the tray 504 may be revealed by a gesture drag on the display 208 using one or more fingers. In addition, the tray 504 may be displayed in response to a predetermined state of the device 100. Revealing the console application tray 504 may be visually represented in a number of ways. Moreover, the effect that revealing the tray may have on displayed applications may also be represented in a number of ways. In some embodiments, the console application tray 504 may fly-out from a side of the display device 100. In other embodiments the console application tray 504 may appear from a location of the display 208. The manner in which the console application tray 504 transitions can be configured with regard to speed, color, transparency, audio output, and combinations thereof. In another embodiment, the console application tray 504 may be “pulled” in a direction 530 from a side of the display device 100 to appear over displayed applications. In yet another embodiment, the console application tray 504 may be pulled from a side of the display device 100 to share the display 208 with any displayed applications 512 a, 512 b, 512 n. This embodiment may require the resizing of displayed applications 512 a, 512 b, 512 n to provide adequate display area for the revealed tray 504. In one embodiment, as the tray 504 increases in size, the displayed applications may decrease in size, and vice versa.
FIG. 5B depicts a second representation of a GUI of a display device 100 in accordance with embodiments of the present disclosure. In embodiments, a user 560 may interface with the GUI and/or the touch-sensitive display 208 to “drag-and-drop” new applications 508 a, 508 b, 508 c, into an application-expanded position on the GUI, where applications 512 a, 512 b, . . . , 512 n are shown in a functional state. Additionally, or alternatively, a user 560 may drag applications 512 a, 512 b, . . . , 512 n from the application-expanded position of the GUI into the application tray 504. It is anticipated that moving an application from the application-expanded position of the GUI to the application tray 504 may hide and/or remove the chosen application from the application-expanded position of the GUI. It is further anticipated that once returned to the application tray 504, the application may be returned to its previous position via user 560 or automatic input. In some embodiments, the applications may be moved and/or positioned on the GUI according to a directional input 544 provided by the user 560. When a user 560 wishes to initiate a directional input 544 and move a given application, the user 560 may initiate such a move by a touch, touch and hold, and/or other input gesture. It is an aspect of the present disclosure that moving an application 512 a, 512 b, . . . , 512 n from the application tray 504 to an application-expanded position on the GUI does not necessarily initiate a function of the application. Application icons may be moved, repositioned, deleted, hidden, and/or otherwise shown by received input. Once the applications are positioned in a desired configuration, any functionality associated with the positioned applications may be accessed via further input.
FIG. 5C depicts a third representation of a GUI of a display device 100 in accordance with embodiments of the present disclosure. As described above, a user 560 may position one or more applications 508 a, 508 b, 508 c from the application tray 504 to an application-expanded position via an input gesture. Although, the applications may be automatically moved to and/or from various positions on the GUI via a processor and rules, a user 560 may arrange the applications on the GUI as desired. For example, FIG. 5C shows a user 560 moving an application 508 c from the application tray 504 between two applications 512 a, 512 b that already occupy an application-expanded position of the GUI. The user 560 may drag and/or drop the application to various positions according to directional input 544. For instance, the user 560 has dragged the application 508 c along a line 548 to hold between two applications on the GUI 512 a, 512 b.
FIG. 5D depicts a fourth representation of a GUI of a display device 100 in accordance with embodiments of the present disclosure. Continuing the example described immediately above, the dragged application 508 c may be positioned between and/or adjacent to at least one application. Alternatively or additionally, the dragged application 508 c may be placed into a position as a first application, where no other applications are shown in the application-expanded position of the GUI. In some embodiments, a dragged application 508 c, when positioned between or adjacent to other applications in the application-expanded position of the GUI may automatically move and/or resize one or more of the other applications along a directional line 556. Although shown in a linear vertical direction, the directional line along which applications are moved may be linear or non-linear, and may be in any direction vertical, horizontal, angled, and/or combinations thereof. For example, FIG. 5D shows application 512 b moving below the dragged application 508 c to accommodate room for the dragged application 508 c when it is dropped, or placed, and expands into an expanded-state. Once a desired position is found for the dragged application 508 c, the user 560 may drop the dragged application 508 c in place.
FIG. 5E depicts a fifth representation of a GUI of a display device 100 in accordance with embodiments of the present disclosure. As described above, in some embodiments, a dragged application 508 c may resize, or expand, into a position on an application-expanded position on the GUI. FIG. 5E shows a dragged application 508 c that has been moved into an application-expanded position along with functional features associated with the expanded application 508 d. The expanded application 508 d may be resized and/or repositioned as described above. Different layouts and/or configurations may be found in a common position in a menu structure.
FIGS. 6A-6C depict multiple representations of a graphical user interface (“GUI”) in accordance with embodiments of the present disclosure. In some embodiments, icons, applications, and/or the presentation layout may be modified via user input and/or automatically via a processor.
As can be appreciated, the description of the display device 100 is made for illustrative purposes only, and the embodiments are not limited to the specific mechanical features shown in FIGS. 6A-6C and described above. In other embodiments, the display device 100 may include additional features, including one or more additional buttons, slots, display areas, and/or shapes. Additionally, in embodiments, the features described above may be located in different parts of the display device 100 and still provide similar functionality. Therefore, FIGS. 6A-6C and the description provided above are non-limiting.
Referring now to FIG. 6A, a first representation of a GUI of a configurable dash display is shown in accordance with one embodiment of the present disclosure. In embodiments, the display device 100 is adapted to run and/or display one or more applications, obtained through the application store, that are associated with at least one vehicle function. An application may be displayed onto the touch sensitive screen 204. Additionally or alternatively, the display device 100 may run at least one application that is designed to monitor and/or control one or more functions of a vehicle. In some embodiments, a user may add applications via an application tray that may be accessed by dragging a tray handle 632 from a side of the display device 100. In some embodiments, the display device 100 may receive input from a number of different sources, including physical, electrical, and/or audible commands. Input may be received at the display device 100 through, but not limited to, the touch sensitive screen 204, a microphone, hardware buttons, ports, cameras, and combinations thereof.
Other vehicle applications and their corresponding functions may be obtained through the application store and run by the display device 100, including entertainment applications (music, movies, etc.), trip computer applications (to display mileage traveled, miles per gallon fuel consumption, average speed, etc.), phone controls (especially hands-free phones associated with the vehicle and/or with a passenger (such as a smart phone, tablet computer, laptop computer, ereader, etc.), GPS, road conditions and warnings, and other applications useful to a vehicle operator or passenger. It is anticipated that any of applications referenced herein may be purchased and/or managed via the Application Store 648.
It is another aspect of the present disclosure that the GUI may include an application tray 640 a. The application tray 640 a may be configured to provide access to available dash display applications 636 a, 636 b, 636 c. In addition, the application tray area 240 may display dash display applications available from the application store and/or provide a link to the application store via one or more icons 648. Whether applications have been installed, displayed, purchased, or are available for purchase via the application store icon 648, the various status of an application may be indicated in the application tray area 640 a. For example, if an application is installed and displayed on the device 100, the application icon in the application tray 640 a may appear differently from other icons that are not installed and displayed. In other words, if the icons are displayed in color to illustrate one or more state, they may appear in black and white, or grayscale, to indicate one or more other states. Therefore, given the previous example, available applications may have full color application icons, whereas installed and displayed icons may have grayscale icons. It is anticipated that various states of at least one application icon may be illustrated using various colors, intensities, transparencies, glows, shadows, and the like.
In some embodiments, the GUI display 608 is separated into different areas. As shown, the display device 100 display 608 has been separated into two different areas represented as a tray area 640 a and a configuration area 640 b. In embodiments, the tray area 640 a may be revealed by dragging a tray handle 632 in a direction 634 away from a side of the display device 100 display 608. Although shown as being accessed from the left side of the display device 100 display 608, it should be appreciated that the tray handle 632 and corresponding tray area 640 a may be accessed from any area and/or side of the display device 100 display 608. The tray handle 632 may be dragged via input received by the display device at one or more gesture capture area 206. Furthermore, the GUI may be separated into one or more different areas.
In some embodiments the application tray area 640 a may be accessed by dragging a tray handle 632 or other feature to reveal the application tray area 640 a. Other embodiments may use gesture recognition features of the touch sensitive display 608, gesture capture region 606, and/or associated hardware buttons to access the application tray area 640 a. For instance, the tray area 640 a may be revealed by a gesture drag on the display 608 using one or more fingers. In addition, the tray area 640 a may be displayed in response to a predetermined state of the device 100. Revealing the application tray area 640 a may be visually represented in a number of ways. Moreover, the effect that revealing the tray may have on displayed applications may also be represented in a number of ways. In some embodiments, the application tray area 640 a may fly-out from a side of the device 100. In other embodiments the application tray area 640 a may appear from a location of the display 608. The manner in which the tray area 640 a transitions can be configured with regard to speed, color, transparency, audio output, and combinations thereof. In another embodiment, the application tray area 640 a may be “pulled” in a direction 634 from a side of the device 100 to appear over displayed applications. In yet another embodiment, the application tray area 640 a may be pulled from a side of the device 100 to share the display 608 with any displayed applications. This embodiment may require the resizing of displayed applications to provide adequate display area for the revealed tray area 640 a. In one embodiment, as the tray area 640 a increases in size, the displayed applications may decrease in size, and vice versa.
The tray area 640 a may contain various items including but not limited to folders, menu structures, pictures, and/or other icons representative of one or more configurable dash display applications. The items displayed in the tray area 640 a may reside in at least one local memory and/or reside in at least one remote memory location (e.g., the cloud). It is an aspect of the present disclosure that applications may be accessed, purchased, and/or sampled from at least one application store 560 via the app store icon 648. The App store icon 648 may reside in the tray area 640 a. Once at least one application is chosen, purchased, and/or downloaded, it may be accessible from any number of folders 636 a, 636 b, 636 c, . . . , 636 n and/or as an icon displayed to the GUI. Navigation through various menu structures and/or access to additional features may be made via one or more menu function icons 644.
The tray area 640 a and/or the configuration area 640 b of the GUI may include one or more user-activated buttons, including but not limited to, a preferences icon 652, Heads-Up Display (“HUD”) icon 656, and a save icon 660. In some embodiments, the preferences icon 652 may be used to alter the manner in which content is presented to the device display 608. The HUD icon 656 may be used to change the configuration display screen 680 and/or display the configured dash display onto a HUD. The HUD may employ various methods and light sources to display the configurable dash display to one or more users, including but not limited to, projection, Cathode Ray Tube (“CRT”), Light Emitting Diode (“LED”), Liquid Crystal Display (“LCD”), Organic Light Emitting Diode (“OLED”), and the like. The save icon 660 may be used to save one or more of the configured dash displays. Each configuration may be associated with one or more users. The HUD configuration may be saved via the save icon 660. In some embodiments, the functions associated with the user-activated buttons may be accessed automatically and/or in response to at least one signal sent by a processor.
The configuration area 640 b of the GUI may contain various items including but not limited to folders, menu structures, pictures, and/or other icons representative of one or more configurable dash display applications. For example, the configuration area 640 b may show a configuration display screen 680. This configuration display screen 660 represents the arranged GUI of the display device which may be configured in this area of the device screen 608. It is one aspect of the present disclosure that applications from the tray area 640 a may be dragged and dropped into place on the configuration area 640 b of the device screen 608. Once inside the configuration area 640 b each application may be adjusted according to desired user specifications. Various configurations represented by the configuration display screen 680 may be saved by initiating a save function through a save icon 660.
FIG. 6B depicts a second representation of a graphical user interface of a configurable dash display in accordance with one embodiment of the present disclosure. In particular, a user 664 is accessing an application from a menu structure 636 a in the tray area 640 a. The user may select one or more applications from any menu structure, or combination of menu structures, and drag the application around the GUI in any direction 668. For example a user may wish to select a new gauge from the meters folder 636 a and drag it to the configuration area 640 b for deployment in the configuration display screen 680 and even be displayed in the configurable dash display GUI.
Referring now to FIG. 6C a fourth representation of a graphical user interface of a configurable dash display in accordance with one embodiment of the present disclosure is shown. As shown, a user 664 has dragged a meter application 618 in a direction 672 that crosses the tray area 640 a and configuration area 640 b separator, the tray handle 632. The meter application may have been chosen from a folder 636 a in the tray area 640 a to be dropped in the configuration display screen 680 of the configuration area 640 b. It is an aspect of the present disclosure that one or more applications may be dragged between the tray area 640 a and the configuration area 640 b, and vice versa. The applications may be dragged from one area to be dropped in another and/or dragged and dropped within the same area. The behavior of a dropped application may change if the area from which it was dragged differs from the area to which it is dropped. For instance, an application may be dragged from the tray area 640 a to be dropped in the configuration area 640 b. In this case, the application behavior on this type of drag may be configured to add the application to the configuration area and/or the configuration display screen 680. In contrast, the same application may be dragged from the configuration area 640 b to be dropped in the tray area 640 a. In this scenario, the behavior of the application may be configured to delete the application from the configuration area 640 b once it is “dropped” in the tray area 640 a. In this scenario, it is not necessary that the application be added to the tray area 640 a. This application behavior may be configured to be interchangeable between areas and/or configured to be similar between areas.
FIG. 7 depicts another example of an application store display window opened by a user. The window 700 includes the application store icon 704 (which has been selected by the user) and a main icon 708 (to return to an earlier window in the menu). The drop down window resulting from selection of the application store icon 704 includes recommended applications 712 (which are depicted as GPS applications 732, vehicle maintenance applications 740, sensing applications (which provide to a user real time or near real time sensed information) 736, and music (e.g., media player) applications 744), popular applications 716, applications by category 720, installed applications 724, and search 728.
The recommended applications icon 712, when selected, provides recommendations and/or relative application rankings based on user preferences, a user profile (including for example likes and dislikes, socioeconomic information, hobbies, and the like), user input, user or operator behavior (e.g., driving patterns, application selection/purchase/downloading history, and the like), sensed information regarding vehicle state, configuration, on board hardware and software resources and/or modules and/or algorithms and/or components and settings and properties thereof (e.g., microprocessor(s), central processing units (e.g., SPECint, SPECfp benchmarks, instructions per second or cycle, floating point operations per second (“FLOPS”), performance per watt, interrupt latency, and Giga-updates per second), network performance (e.g., service quality measures such as bandwidth, throughput, latency, jitter, and error rate), available, unused, unavailable, and/or in use memory capacity, operating system, vehicle local network algorithms and messaging and signaling protocols, on board satellite location and/or positioning systems (such as GPS), etc.), operation, occupant(s), location, observed user behavior (e.g., observed application preferences of the current and/or other users of vehicles in previous transactions), type, make, model, and/or year of manufacture of the vehicle, currently docked communication devices of the user and the device's content, features, components, and capabilities, vehicle manufacturer requirements or restrictions (e.g., maintaining manufacturer control over applications can be important to maintaining vehicle safety levels), and/or other factors, and behavior and/or application preferences of non-occupants or third party users (particularly drivers of other vehicles located proximately or within a selected geographic region). The applications selected as recommended applications can vary in response to changes in any of the above information. Typically, each application is assigned a preference value based on or more of the above types of information, which value is updated periodically. The preference values of the applications are compared, with the higher (or lower depending on configuration) valued applications being treated as “recommended” or “not recommended”. Only the recommended applications are displayed when the icon 712 is selected.
By way of example, application recommendations may be based on sensed information when the vehicle is in operation. For instance, a vehicle maintenance or repair application may be pushed to or pulled by the display device 100 when sensed information and/or the vehicle control system indicates a potential mechanical or other operational issue or trigger for routine maintenance to occur. In another instance, a map or location-based service may be pushed to or pulled by the display device 100 in response to a current sensed location of the vehicle.
By way of further example, one or more recommended, possible, and/or available application listing(s) (such a listing being referred to as “vehicle compatible applications”) may be based on one or more of vehicle state, configuration, on board hardware and/or software resources and/or modules and/or algorithms and/or components and/or settings and/or properties thereof. By contrast, “vehicle unavailable applications” refers to an application listing incompatible applications based on one or more of current vehicle state, configuration, on board hardware and/or software resources and/or modules and/or algorithms and/or components and/or settings and/or properties thereof. For instance, local memory 308 and/or data storage 312 can include current configuration information on the vehicle configuration, on board hardware and software resources and/or modules and/or algorithms and/or components and/or settings and/or properties thereof. The configuration data structures can include hardware and software resources, settings, and/or components and/or properties thereof of occupant portable personal computational devices, such as tablet computers, smart phones, laptops, etc. Whenever an on board hardware and software resource and/or component and/or setting and/or property thereof and/or occupant portable personal computational device hardware and software resource and/or component and/or setting and/or property thereof is/are added, removed, updated, modified, or changed, the configuration data structures are updated to be current. Additions, removals, updates, modifications, or changes can be detected by known techniques, such as receipt of a unique identifier (e.g., serial number), version or release number, and other licensing and/or authentication and/or verification and/or other installation or update information from an installed or updated component. In response to changes in the configuration data structures, the application manager 462 can update dynamically the vehicle compatible applications in the application store 460. The application manager 462 can also provide “what if” application listings showing what vehicle compatible applications are available if a specified on board or network accessible hardware and/or software resource and/or component and/or setting and/or property thereof is added, installed, updated, and/or otherwise made available to the vehicle computational system. The application manager 462 can prompt an occupant for consent to change and/or arrange purchase, licensing, installation, and/or other acquisition of the needed on board or network accessible hardware and/or software resource and/or component and/or setting and/or property thereof and, at the occupant's request, proceed automatically with the change and/or arrange purchase, licensing, installation, and/or other acquisition of the needed on board or network accessible hardware and/or software resource and/or component and/or setting and/or property thereof.
The popular applications icon 716, when selected, provides those applications that are most popular (with respect to purchase, free download, or both) over a selected time period among a selected set of users. The selected set of users may depend on a current location of a user and be based on a geopolitical relationship of the current user location. For instance, the selected set of users may, relative to a current location of the user, be global, country wide, statewide, county wide, city wide, and the like. For example, an application to access a local news, weather or radio station may be limited to users within a certain distance of the station's signal broadcast antenna. Alternatively or additionally, the selected set of users may be users of the same type, make, model, and/or year of manufacture of the vehicle 100. For example, an application, such as a vehicle maintenance application, may be limited, in usefulness, to users of Toyota Camrys.
The applications by category icon 720, when selected, provide applications by category. Categories include, for example, automotive maintenance or repair, automotive monitoring, location-based services (e.g., navigation), entertainment (e.g., media), games, health and fitness, lifestyle, travel, medical, news, weather, productivity, reference, maps, social networking, utilities, and the like.
The application memberships of each of the recommended and popular applications 712 and 716 can vary user-by-user. In other words, a first vehicle operator can have a first (application) membership for one of recommended and popular applications 712 and 716 and a second different vehicle operator can have a second different (application) membership of the one of recommended and popular applications 712 and 716. This stems from the differing results obtainable based on the factors applied in determining (application) membership.
The installed applications icon 724, when selected, provides a listing of applications currently installed on the display device 100 for editing. Editing includes deletion or removal and deactivation (when currently executing).
The search icon 728, when selected, provides a search capability to search an application store library for applications satisfying user specified search terms and/or phrases.
FIG. 8 depicts a display window that appears when an application icon in the application store is selected. The window 800 includes a name of the application 804, a high level description of the application 804, an information icon 808 for more detailed information about the application, a down cursor 812 to scroll down through the application description, and a price icon 816 to provide a charge required to download the application corresponding to the selected application icon.
The operation of the application manager 462 and application store 460 will now be discussed with reference to FIGS. 9A and 9B.
In step 900, the application manager 462 collects data regarding a current vehicle state, configuration, operation, occupant(s), and other sensed information (received from one or more of the sensors referenced herein), user preferences, user profile, user input, user behavior, location, type, make, model, and/or year of manufacture of the vehicle and/or other factors, and behavior and/or application preferences of non-occupants or third party users (particularly drivers of other vehicles located proximately or within a selected geographic region of a current satellite-based location of the vehicle 200).
In decision diamond 904, the application manager 462 determines whether to permit or enable access to the application store. This determination may be in response to user preferences, vehicle manufacturer policies or rules, federal, state, or local law, and the like. Such restrictions can hinder drivers and other vehicle operators from operating vehicles while interacting with the application store, thereby substantially reducing driver distraction and reducing accidents, particularly among teenage drivers.
Vehicle-device-use laws may be provided by an organization, governmental entity, group, individual, and/or combinations thereof. The laws may be stored locally or retrieved from a remotely located storage. The vehicle-in-use laws may be statutes and/or regulations that are enforced by a government entity, such as a city, municipality, county, province, state, country, and the like. These laws may define vehicle, traffic, transportation, and/or safety rules associated with a given geographical region. An exemplary vehicle-in-use law governs texting, cellular phone use, video availability to the operator when the car is in motion and the like). The laws may be updated from time to time to, among other things, account for changes in the laws. While the user/vehicle is traveling in a first geopolitical entity, the application manager may refer to the laws of the first geopolitical entity and determine to control the display device 100 in accordance with the first geopolitical entity's law. When the user/vehicle is detected as being in a second geopolitical entity, the application manager controls the display device 100 based, at least in part, on the laws of the second geopolitical entity. The on-board vehicle sensors may determine at least one location of the user/vehicle, and refer to laws associated with that at least one location to control the display device 100 accordingly.
The application manager may also recognize one or more characteristics associated with a user, the user's vehicle, and/or device and limit access to device features at least partially based on the one or more characteristics.
In one configuration, these characteristics may include, but are not limited to, location of the user and/or device, user profile settings, user preferences, registration status of the device, device settings, programmed conditions, and the like. For example, a user may be operating a device in the passenger seat of an automobile. Moreover, the user may have established a connection between the device and the vehicle (e.g., via Bluetooth, direct electrical connection, wireless, radio frequency (RF), infrared (IR), etc.). In this example, the vehicle control system may utilize one or more of the vehicle/device sensors to determine the location of the device user. Upon detecting that the user and/or device in this case is located in a passenger seat, the application manager may determine that feature access should not be controlled. On the other hand, if the user was seated in a vehicle operation seat (e.g., driver's seat) the application manager may determine to limit access to one or more features of the display device, particularly the application store.
It is anticipated that the application manager may refer to other factors when determining to allow or deny a user access to a device's features. Among these other factors are contractual rules/obligations, programmed conditions, vehicle state, emergency contingencies, and combinations thereof. For instance, a vehicle may be detected to be “in motion” by the feature control module and various vehicle/device sensors. Based on the vehicle state (i.e., in motion), the location of the user (i.e., driver's seat), and a local law (i.e., prohibiting use of devices by drivers of a moving vehicle) the application manager may determine to deny access to application store features.
In some embodiments, the application manager may itself receive from the satellite positioning system receiver in the vehicle satellite location information alone or in conjunction with vehicle-related state, configuration, and/or operation information (speed, parking sensors, etc.) to determine the current vehicle state, configuration, and/or operation. When, for example, a vehicle is in motion, the application manager can disallow/deactivate application store access. Once the vehicle is determined to be in a “parked” condition (e.g., in “Park”), or otherwise motionless, the application store may be allowed and activated.
In some embodiments, the application manager may deactivate only selected features of the application store.
In any of the above embodiments, the deactivation may be coupled with a presented warning in the form of a visual and/or audible alert on the display device.
The application manager may reactivate these deactivated features once the vehicle is in a state of rest and/or parked.
Deactivation of the application store may also be in response to contract requirements (such as employment or insurance contracts), employer rules or policies, etc.
Access to the application store may also be restricted based on unsuccessful authentication of the user.
Referring again to FIG. 9A, when access is to be denied, the application manager returns to step 900, and, when complete or partial access is to be permitted, the application manager proceeds to step 908.
In step 908, the application manager determines whether a communication device, other than an on-board communication device, is docked or otherwise connected with the display device 100. It further determines what applications are installed on the communication device that may be executed by the display device 100. In response, the user may be queried whether the application is to be executed by the display device 100 rather than or in addition to execution by the communication device. Appropriate changes may be made to license restrictions or permissions to enable the application to be installed and executed or run, temporarily or permanently, on the display device 100. As will be appreciated, the changes required to comply with license restrictions depend on the type of software license. A perpetual license allows a customer to install and use software indefinitely. A subscription license allows the user to use the software for a specified time period. A freeware license is offered as freeware by the author and does not require paying any fee for use. A shareware license is a license to use software for a trial period followed by payment of a shareware fee if further use is desired. A volume license allows a user to install the software on a certain number of computers. A site/enterprise license provides access to software at a single location. A server (network) license is licensed per server. A per seat (machine) license is licensed per machine/seat. A per processor license is licensed per processor in the server on which the software is executing.
In step 912, the application manager determines what applications to include in the application store for presentation to the user. In this step, memberships of sets of applications corresponding to recommended applications 712, popular applications 716, applications by category 720, vehicle compatible applications, and installed applications 724 are determined as set forth above. As noted, memberships can be a function of the information collected in steps 900 and 908.
In one configuration, the applications presentable and/or selectable to the user of the vehicle are restricted by the vehicle manufacturer. This can be done by enforcing vehicle manufacturer white lists and/or black lists of applications. Alternatively or additionally, this can be done by requiring compliance with predetermined requirements or restrictions. Maintaining manufacturer control over applications can be important to maintaining vehicle brand goodwill and safety levels.
In step 916, the application manager determines an ordering of application icons in the application store. Generally, the ordering is based on a determined desirability of each application to the user and/or one or more other factors referenced above. For example, the application manager determines for each of the application store application sets or classes, namely recommended applications 712, popular applications 716, applications by category 720, vehicle compatible applications, vehicle incompatible applications (e.g., the applications not included in the set or class of vehicle compatible applications such as “what if” applications), and installed applications 724, and an ordering or ranking of the applications presented to the user. In one configuration, the applications in each of recommended, popular, vehicle compatible applications, vehicle incompatible applications, and/or applications by category applications 712, 716, and 720 are determined based on a selected set of metrics or factors and/or ranking algorithms, which may be the same or different when compared to one another. The set of metrics or parameters and/or ranking algorithms for the recommended applications 712 can thus differ from the set of metrics or parameters applied for each of popular, vehicle compatible applications, vehicle incompatible applications, and applications by category applications 716 and 720 and vice versa. The relative rankings of the applications in the recommended, popular, vehicle compatible applications, vehicle incompatible applications, and/or applications by category applications 712, 716, and 720 are commonly based on a relative score or rating value determined by the ranking algorithm. By way of illustration, a first application relates to maintenance or repair of the vehicle and a second application to location-based services. When a user is on a long trip, such as application manager determined by miles driven as a function of time, and sensed information is within normal value ranges, the location-based services is assigned a higher ranking than the maintenance or repair application. When the user is not on a long trip or when sensed information is outside normal value ranges and a possible vehicle component malfunction is detected, the maintenance or repair application is assigned a higher ranking than the maintenance or repair application.
In step 920, the application manager determines whether or not to enable an audio interface to enable user interaction with the application store. This interface can be initiated as a result of a user preference, a state, configuration, or operation of the vehicle, and the like. In one configuration, the audio interface provides, by audio output and for a selected menu selection, each application option to the user and the user, through spoken command, accesses the various options and operations of the application store. For safety reasons, the application manager can disable the video (application store) output or window(s) and enable the audio output, such as when the vehicle is in motion.
Referring now to FIG. 9B, the application manager, in step 924, presents the application store selections/options to the user as discussed above.
In step 928, the application manager receives a request from the user for an application selection.
In optional step 932, the application manager authenticates the user and, if necessary, obtains payment information for the selected application.
In step 936, the application manager, when the application is not stored locally, requests the application to be uploaded onto a wide area network, such as the Internet, and transmitted to the application manager for downloading into local memory.
In step 940, the application manager downloads the selected application from the wide area network and installs the application in memory.
In step 942, the application manager returns to step 900.
Referring now to FIG. 9C, the process by which the application manager updates and maintains the vehicle configuration data structures is depicted.
In step 943, the application manager detects a stimulus to initiate execution of the process. The stimulus can be, for example, an occupant request for a set of vehicle compatible and/or incompatible applications in the application store, receipt of a signal or message indicating the addition, installation, update, and/or network accessibility (such as a connection request by a portable personal communication device) of an on board or network accessible hardware and/or software resource and/or component and/or setting and/or property thereof.
In step 944, the application manager collects current configuration data regarding the current vehicle state, configuration, on board hardware and/or software resources and/or modules and/or algorithms and/or components and/or settings and/or properties thereof. This can be done by polling on board computational components for configuration information, obtaining configuration information from a managed information base of the computational component, and other techniques known to one of ordinary skill in the art.
In step 948, the application manager collects current configuration data regarding the currently network accessible hardware and/or software resources and/or modules and/or algorithms and/or components and/or settings and/or properties thereof. This can be done by known techniques, including any of the techniques described in step 944. As will be appreciated, security measures implemented by a customer computational device can prohibit access to its configuration data. Such devices generally would not be considered to be network accessible and would be tagged appropriately in the local memory 308 and/or data storage 312. The electronic address, device type, and other information required for network access of each customer portable computational device and the on board vehicle hardware and/or software resources and/or modules and/or algorithms and/or components can be maintained in a network topology stored in the local memory 308 and/or data storage 312. Each device or module in the network topology can be linked to an appropriate set of configuration data.
In step 952, the application manager updates the locally stored configuration data structures to reflect the collected information respecting on board and/or network accessible hardware and/or software resource and/or component and/or setting and/or property thereof.
In step 956, the application manager determines hardware (e.g., microprocessor(s), central processing units (e.g., SPECint, SPECfp benchmarks, instructions per second or cycle, floating point operations per second (“FLOPS”), performance per watt, interrupt latency, and Giga-updates per second), network performance (e.g., serviced quality measures such as bandwidth, throughput, latency, jitter, and error rate), available, unused, unavailable, and/or in use memory capacity, operating system, vehicle local network algorithms and messaging and signaling protocols, and other required components and settings and properties thereof) and software (e.g., operating system) requirements for each application currently available in the application store.
In optional step 960, the application manager determines the set of vehicle compatible applications by mapping the hardware and software requirements for each available application in the application store against those on board and/or network accessible hardware and/or software resources and/or modules and/or algorithms and/or components and/or settings and/or properties thereof to determine which applications can be installed and/or executed currently by an on board and/or network accessible microprocessor.
In optional step 964, the application manager determines the set of vehicle incompatible applications by mapping the hardware and software requirements for each available application in the application store against those on board and/or network accessible hardware and/or software resources and/or modules and/or algorithms and/or components and/or settings and/or properties thereof to determine which applications cannot be installed and/or executed currently by an on board and/or network accessible microprocessor and, for incompatible applications, a currently lacking requirement to install and/or execute the incompatible application. This lacking requirement can be recorded as a reason code with each requirement having a substantially unique reason code.
In optional step 968, the application manager updates the stored sets of vehicle compatible and/or incompatible applications.
The exemplary systems and methods of this disclosure have been described in relation to vehicle processing systems. However, to avoid unnecessarily obscuring the present disclosure, the preceding description omits a number of known structures and devices. This omission is not to be construed as a limitation of the scopes of the claims. Specific details are set forth to provide an understanding of the present disclosure. It should however be appreciated that the present disclosure may be practiced in a variety of ways beyond the specific detail set forth herein.
Furthermore, while the exemplary aspects, embodiments, and/or configurations illustrated herein show the various components of the system collocated, certain components of the system can be located remotely, at distant portions of a distributed network, such as a LAN and/or the Internet, or within a dedicated system. Thus, it should be appreciated, that the components of the system can be combined in to one or more devices, such as a vehicle computer system, a Personal Computer (PC), laptop, netbook, smart phone, Personal Digital Assistant (PDA), tablet, etc., or collocated on a particular node of a distributed network, such as an analog and/or digital communications network, a packet-switch network, or a circuit-switched network or collocated on a particular node of a distributed network, such as an analog and/or digital communications network, a packet-switch network, or a circuit-switched network. It will be appreciated from the preceding description, and for reasons of computational efficiency, that the components of the system can be arranged at any location within a distributed network of components without affecting the operation of the system. For example, the various components can be located in a server. Similarly, one or more functional portions of the system could be distributed between a communications device(s) and an associated computing device.
Furthermore, it should be appreciated that the various links connecting the elements can be wired or wireless links, or any combination thereof, or any other known or later developed element(s) that is capable of supplying and/or communicating data to and from the connected elements. These wired or wireless links can also be secure links and may be capable of communicating encrypted information. Transmission media used as links, for example, can be any suitable carrier for electrical signals, including coaxial cables, copper wire and fiber optics, and may take the form of acoustic or light waves, such as those generated during radio-wave and infra-red data communications.
Also, while the flowcharts have been discussed and illustrated in relation to a particular sequence of events, it should be appreciated that changes, additions, and omissions to this sequence can occur without materially affecting the operation of the disclosed embodiments, configuration, and aspects.
A number of variations and modifications of the disclosure can be used. It would be possible to provide for some features of the disclosure without providing others.
For example in one alternative embodiment, the application store is applied in a vehicle other than a wheeled or tracked vehicle. For example, the application store can be implemented in an aircraft, boat, ship, and the like.
In another alternative embodiment, the application store can include not only media player software but also media itself. Media, for example, can involve one or more media types (e.g., audio and/or video). Media can thus refer to music, movies, videos, audio books, pictures, screen savers, display wallpaper, and the like.
In yet another embodiment, the systems and methods of this disclosure can be implemented in conjunction with a special purpose computer, a programmed microprocessor or microcontroller and peripheral integrated circuit element(s), an ASIC or other integrated circuit, a digital signal processor, a hard-wired electronic or logic circuit such as discrete element circuit, a programmable logic device or gate array such as PLD, PLA, FPGA, PAL, special purpose computer, any comparable means, or the like. In general, any device(s) or means capable of implementing the methodology illustrated herein can be used to implement the various aspects of this disclosure. Exemplary hardware that can be used for the disclosed embodiments, configurations and aspects includes computers, handheld devices, telephones (e.g., cellular, Internet enabled, digital, analog, hybrids, and others), and other hardware known in the art. Some of these devices include processors (e.g., a single or multiple microprocessors), memory, nonvolatile storage, input devices, and output devices. Furthermore, alternative software implementations including, but not limited to, distributed processing or component/object distributed processing, parallel processing, or virtual machine processing can also be constructed to implement the methods described herein.
In yet another embodiment, the disclosed methods may be readily implemented in conjunction with software using object or object-oriented software development environments that provide portable source code that can be used on a variety of computer or workstation platforms. Alternatively, the disclosed system may be implemented partially or fully in hardware using standard logic circuits or VLSI design. Whether software or hardware is used to implement the systems in accordance with this disclosure is dependent on the speed and/or efficiency requirements of the system, the particular function, and the particular software or hardware systems or microprocessor or microcomputer systems being utilized.
In yet another embodiment, the disclosed methods may be partially implemented in software that can be stored on a storage medium, executed on programmed general-purpose computer with the cooperation of a controller and memory, a special purpose computer, a microprocessor, or the like. In these instances, the systems and methods of this disclosure can be implemented as program embedded on personal computer such as an applet, JAVA® or CGI script, as a resource residing on a server or computer workstation, as a routine embedded in a dedicated measurement system, system component, or the like. The system can also be implemented by physically incorporating the system and/or method into a software and/or hardware system.
Although the present disclosure describes components and functions implemented in the aspects, embodiments, and/or configurations with reference to particular standards and protocols, the aspects, embodiments, and/or configurations are not limited to such standards and protocols. Other similar standards and protocols not mentioned herein are in existence and are considered to be included in the present disclosure. Moreover, the standards and protocols mentioned herein and other similar standards and protocols not mentioned herein are periodically superseded by faster or more effective equivalents having essentially the same functions. Such replacement standards and protocols having the same functions are considered equivalents included in the present disclosure.
The present disclosure, in various aspects, embodiments, and/or configurations, includes components, methods, processes, systems and/or apparatus substantially as depicted and described herein, including various aspects, embodiments, configurations embodiments, subcombinations, and/or subsets thereof. Those of skill in the art will understand how to make and use the disclosed aspects, embodiments, and/or configurations after understanding the present disclosure. The present disclosure, in various aspects, embodiments, and/or configurations, includes providing devices and processes in the absence of items not depicted and/or described herein or in various aspects, embodiments, and/or configurations hereof, including in the absence of such items as may have been used in previous devices or processes, e.g., for improving performance, achieving ease and\or reducing cost of implementation.
The foregoing discussion has been presented for purposes of illustration and description. The foregoing is not intended to limit the disclosure to the form or forms disclosed herein. In the foregoing Detailed Description for example, various features of the disclosure are grouped together in one or more aspects, embodiments, and/or configurations for the purpose of streamlining the disclosure. The features of the aspects, embodiments, and/or configurations of the disclosure may be combined in alternate aspects, embodiments, and/or configurations other than those discussed above. This method of disclosure is not to be interpreted as reflecting an intention that the claims require more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive aspects lie in less than all features of a single foregoing disclosed aspect, embodiment, and/or configuration. Thus, the following claims are hereby incorporated into this Detailed Description, with each claim standing on its own as a separate preferred embodiment of the disclosure.
Moreover, though the description has included description of one or more aspects, embodiments, and/or configurations and certain variations and modifications, other variations, combinations, and modifications are within the scope of the disclosure, e.g., as may be within the skill and knowledge of those in the art, after understanding the present disclosure. It is intended to obtain rights which include alternative aspects, embodiments, and/or configurations to the extent permitted, including alternate, interchangeable and/or equivalent structures, functions, ranges or steps to those claimed, whether or not such alternate, interchangeable and/or equivalent structures, functions, ranges or steps are disclosed herein, and without intending to publicly dedicate any patentable subject matter.

Claims (30)

What is claimed is:
1. A method, comprising:
determining, by a microprocessor executable application manager, vehicle configuration data, wherein the vehicle configuration data is stored locally in a tangible and non-transitory computer readable memory of a vehicle and wherein the vehicle configuration data is updated dynamically to reflect a change in the vehicle configuration data, wherein the vehicle configuration data relates to one or more of an on board hardware and/or software resource, module, algorithm, and/or component and/or a setting and/or property thereof;
determining, by the application manager, a requirement of a selected application in an application store, wherein the requirement relates to one or more of a microprocessor, central processing unit, a service quality measure of network performance, available, unused, unavailable, and/or in use memory capacity, and operating system, the application store comprising information relating to a plurality of applications available for installation on a vehicle computer, the plurality of applications comprising a plurality of an application related to at least one of a handicap and accessibility graphical user interfaces, an email client, a web browser, a communications application, a game, an entertainment application, a satellite positioning system receiver application, an automotive navigation application or a device, a map application, a medical information application, an emergency service application, a noise suppression application, a news-related application, a vehicle manual related application, a weather information-related application, a biometric application, a travel application, a speech recognition application, an application to read to an operator of the vehicle Really Simple Syndication (“RSS”) feeds, Twitter messages, email messages, and/or instant messages, a social networking application, a streaming media application, and a utility application; and
comparing, by the application manager, the vehicle configuration data with the requirement of the selected application to determine at least one of whether the selected application can be installed currently in an electronic readable memory of the vehicle computer and/or whether the selected application can be executed currently by the vehicle computer.
2. The method of claim 1, further comprising:
configuring, by the application manager and for presentation to a user, a graphical interface of the application store based the vehicle configuration data.
3. The method of claim 2, wherein the configuring comprises generating and providing to the user a vehicle compatible listing of applications in the application store.
4. The method of claim 2, wherein the configuring comprises generating and providing to the user one of a vehicle incompatible listing of applications in the application store and a set of requirements for one or more vehicle incompatible applications to be executable by the vehicle computer.
5. The method of claim 2, wherein an application store configuration is based on one or more of whether a communication device, separate from the vehicle, is docked or otherwise in signal communication with the application manager and a configuration of and/or applications stored on and executable by the communication device.
6. The method of claim 5, wherein the application manager changes license restrictions or permissions to enable one or more of the applications stored on the communication device to execute on a processor on-board the vehicle.
7. The method of claim 1, wherein the vehicle configuration data relates to one or more of a current vehicle state, configuration, on board hardware and/or software resource, module, algorithm, and/or component and/or a setting and/or property thereof, and wherein the requirement relates to one or more of hardware, vehicle local network performance, memory, operating system, software, and vehicle local network algorithm and/or messaging and/or signaling protocol.
8. The method of claim 1, wherein the vehicle configuration data relates to one or more of a currently on board vehicle network accessible hardware and/or software resource, module, algorithm, and/or component and/or a setting and/or property thereof and wherein the requirement relates to one or more of hardware, vehicle local network performance, memory, operating system, software, and vehicle local network algorithm and/or messaging and/or signaling protocol.
9. The method of claim 1, wherein the plurality of applications comprise applications directed to one or more of the following: a vehicle control application, and an application associated with at least one vehicle task, function, and operation, wherein the application store configuration is based on sensed information received from one or more vehicle sensors, and wherein the sensed information comprises one or more of the following: wheel state, vehicle speed, acceleration, deceleration, wheel rotation, wheel speed, wheel slip, power source energy output, engine speed, energy input and/or output, turbine speed, input speed, crankshaft position, manifold absolute pressure, mass flow, switch state, a transmission setting, a gear control current setting, a setting of a power controller, a state of a braking system, a seat setting, a weight and/or identity of seated occupant, exterior sound levels, interior sound levels, safety system state, light setting, brake control setting, accelerator pedal setting or angle, clutch pedal setting, emergency brake pedal setting, door setting, engine temperature, passenger compartment or cabin temperature sensor, window setting, imaging output, odometer reading, trip mileage reading, wind speed, radar transmitter/receiver output, brake wear, steering/torque, oxygen level, ambient lighting, ranging sensor output, parking sensor output, heating, venting, and air conditioning (HVAC) sensor output, water sensor output, air-fuel ratio meter output, blind spot monitor output, hall effect sensor output, radio frequency (RF) sensor output, infrared (IR) sensor output, vehicle control system sensor output, wireless network sensor output, vehicle location, vehicle direction of travel, and cellular data sensor output.
10. A tangible and non-transient computer readable medium, storing microprocessor executable instructions that, when executed, perform the following operations:
determine vehicle configuration data wherein the computer readable medium is located in a vehicle, wherein the vehicle configuration data is updated dynamically to reflect a change in the vehicle configuration data, wherein the vehicle configuration data relates to one or more of an on board hardware and/or software resource, module, algorithm, and/or component and/or a setting and/or property thereof;
determine a requirement of a selected application in an application store, and wherein the requirement relates to a microprocessor, central processing unit, a service quality measure of network performance, available, unused, unavailable, and/or in use memory capacity, and operating system, the application store comprising information relating to a plurality of applications available for installation on a vehicle computer, the plurality of applications comprising a plurality of an application related to at least one of a handicap and accessibility graphical user interfaces, an email client, a web browser, a communications application, a game, an entertainment application, a satellite positioning system receiver application, an automotive navigation application or device, a map application, a medical information application, an emergency service application, a noise suppression application, a news-related application, a vehicle manual related application, a weather information-related application, a biometric application, a travel application, a speech recognition application, an application to read to an operator of the vehicle Really Simple Syndication (“RSS”) feeds, Twitter messages, email messages, and/or instant messages, a social networking application, a streaming media application, and a utility application; and
compare the vehicle configuration data with the requirement of the selected application to determine at least one of whether the selected application can be installed currently in the computer readable medium and/or whether the selected application can be executed currently by the vehicle computer.
11. The computer readable medium of claim 6, wherein the instructions, when executed, configure, for presentation to a user, a graphical interface of the application store based the vehicle configuration data.
12. The computer readable medium of claim 11, wherein the configure operation comprises generating and providing to the user a vehicle compatible listing of applications in the application store.
13. The computer readable medium of claim 11, wherein the configure operation comprises generating and providing to the user one of a vehicle incompatible listing of applications in the application store and a set of requirements for one or more vehicle incompatible applications to be executable by the vehicle computer.
14. The computer readable medium of claim 6, wherein the vehicle configuration data relates to one or more of a current vehicle state, configuration, on board hardware and/or software resource, module, algorithm, and/or component and/or a setting and/or property thereof, and wherein the requirement relates to one or more of hardware, vehicle local network performance, memory, operating system, software, and vehicle local network algorithm and/or messaging and/or signaling protocol.
15. The computer readable medium of claim 6, wherein the vehicle configuration data relates to one or more of a currently on board vehicle network accessible hardware and/or software resource, module, algorithm, and/or component and/or a setting and/or property thereof and wherein the requirement relates to one or more of hardware, vehicle local network performance, memory, operating system, software, and vehicle local network algorithm and/or messaging and/or signaling protocol.
16. The computer readable medium of claim 6, wherein the plurality of applications comprise an application directed to one or more of the following: a vehicle control application, and an application associated with at least one vehicle task, function, and operation, wherein the application store configuration is based on g2 sensed information received from one or more vehicle sensors, and wherein the sensed information comprises one or more of the following: wheel state, vehicle speed, acceleration, deceleration, wheel rotation, wheel speed, wheel slip, power source energy output, engine speed, energy input and/or output, turbine speed, input speed, crankshaft position, manifold absolute pressure, mass flow, switch state, a transmission setting, a gear control current setting, a setting of a power controller, a state of a braking system, a seat setting, a weight and/or identity of seated occupant, exterior sound levels, interior sound levels, safety system state, light setting, brake control setting, accelerator pedal setting or angle, clutch pedal setting, emergency brake pedal setting, door setting, engine temperature, passenger compartment or cabin temperature sensor, window setting, imaging output, odometer reading, trip mileage reading, wind speed, radar transmitter/receiver output, brake wear, steering/torque, oxygen level, ambient lighting, ranging sensor output, parking sensor output, heating, venting, and air conditioning (HVAC) sensor output, water sensor output, air-fuel ratio meter output, blind spot monitor output, hall effect sensor output, radio frequency (RF) sensor output, infrared (IR) sensor output, vehicle control system sensor output, wireless network sensor output, vehicle location, vehicle direction of travel, and cellular data sensor output.
17. A device, comprising:
a microprocessor;
a microprocessor executable application manager that, when executed by the microprocessor, is operable to:
determine vehicle configuration data;
determine a requirement of a selected application in an application store, the application store comprising information relating to a plurality of applications available for installation on a vehicle computer, the plurality of applications comprising a plurality of an application related to at least one of a handicap and accessibility graphical user interfaces, an email client, a web browser, a communications application, a game, an entertainment application, a satellite positioning system receiver application, an automotive navigation application or a device, a map application, a medical information application, an emergency service application, a noise suppression application, a news-related application, a vehicle manual related application, a weather information-related application, a biometric application, a travel application, a speech recognition application, an application to read to an operator of the vehicle Really Simple Syndication (“RSS”) feeds, Twitter messages, email messages, and/or instant messages, a social networking application, a streaming media application, and a utility application; and
compare the vehicle configuration data with the requirement of the selected application to determine at least one of whether the selected application can be installed currently in an electronic readable memory of the vehicle computer and/or whether the selected application can be executed currently by the vehicle computer, wherein the electronic readable memory is located in the vehicle, wherein the vehicle configuration data is updated dynamically to reflect a change in the vehicle configuration data, and wherein the vehicle configuration data relates to one or more of an on board hardware and/or software resource, module, algorithm, and/or component and/or a setting and/or property thereof, and wherein the requirement relates to a microprocessor, central processing unit, a service quality measure of network performance, available, unused, unavailable, and/or in use memory capacity, and operating system.
18. The device of claim 17, wherein the application manager, when executed, configures, for presentation to a user, a graphical interface of the application store based the vehicle configuration data.
19. The device of claim 18, wherein the configure operation comprises generating and providing to the user a vehicle compatible listing of applications in the application store.
20. The device of claim 18, wherein the configure operation comprises generating and providing to the user one of a vehicle incompatible listing of applications in the application store and a set of requirements for one or more vehicle incompatible applications to be executable by the vehicle computer.
21. The device of claim 17, wherein the vehicle configuration data relates to one or more of a current vehicle state, configuration, on board hardware and/or software resource, module, algorithm, and/or component and/or a setting and/or property thereof, and wherein the requirement relates to one or more of hardware, vehicle local network performance, memory, operating system, software, and vehicle local network algorithm and/or messaging and/or signaling protocol.
22. The device of claim 17, wherein the vehicle configuration data relates to one or more of a currently on board vehicle network accessible hardware and/or software resource, module, algorithm, and/or component and/or a setting and/or property thereof and wherein the requirement relates to one or more of hardware, vehicle local network performance, memory, operating system, software, and vehicle local network algorithm and/or messaging and/or signaling protocol.
23. The device of claim 17, wherein the plurality of applications comprise an application directed to one or more of the following: a vehicle control application, and an application associated with at least one vehicle task, function, and operation, wherein the application store configuration is based on sensed information received from one or more vehicle sensors, and wherein the sensed information comprises one or more of the following: wheel state, vehicle speed, acceleration, deceleration, wheel rotation, wheel speed, wheel slip, power source energy output, engine speed, energy input and/or output, turbine speed, input speed, crankshaft position, manifold absolute pressure, mass flow, switch state, a transmission setting, a gear control current setting, a setting of a power controller, a state of a braking system, a seat setting, a weight and/or identity of seated occupant, exterior sound levels, interior sound levels, safety system state, light setting, brake control setting, accelerator pedal setting or angle, clutch pedal setting, emergency brake pedal setting, door setting, engine temperature, passenger compartment or cabin temperature sensor, window setting, imaging output, odometer reading, trip mileage reading, wind speed, radar transmitter/receiver output, brake wear, steering/torque, oxygen level, ambient lighting, ranging sensor output, parking sensor output, heating, venting, and air conditioning (HVAC) sensor output, water sensor output, air-fuel ratio meter output, blind spot monitor output, hall effect sensor output, radio frequency (RF) sensor output, infrared (IR) sensor output, vehicle control system sensor output, wireless network sensor output, vehicle location, vehicle direction of travel, and cellular data sensor output.
24. The device of claim 23, further comprising:
a passenger compartment for the vehicle operator;
a transmission;
a power source to provide power to the transmission;
a plurality of sensors to collect the sensed information; and
a vehicle control system to control vehicle operations.
25. The device of claim 17, further comprising:
a passenger compartment for the vehicle operator;
a transmission;
a power source to provide power to the transmission;
a plurality of sensors to collect the sensed information;
a vehicle control system to control vehicle operations; and
a touch sensitive display adapted to access one or more selected applications, wherein an icon associated with each of plural installed applications can be moved and/or sized by a user to a desired location on the touch sensitive display to provide a user customized display configuration.
26. The device of claim 17, further comprising:
a passenger compartment for the vehicle operator;
a transmission;
a power source to provide power to the transmission;
a plurality of sensors to collect the sensed information;
a vehicle control system to control vehicle operations; and
a touch sensitive display adapted to access one or more selected applications, wherein the display comprises a console application tray, the console application tray to provide access to applications in the application store, an icon associated with plural of the applications in the application store being accessible in a first state of the console application tray and not accessible in a second state of the console application.
27. The device of claim 17, further comprising:
a passenger compartment for the vehicle operator;
a transmission;
a power source to provide power to the transmission;
a plurality of sensors to collect the sensed information;
a vehicle control system to control vehicle operations; and
a touch sensitive display adapted to access one or more selected applications, wherein an icon associated with each of plural applications, wherein an appearance of each icon indicates whether the corresponding application has been installed and/or purchased or is available for purchase via the application store.
28. The device of claim 17, further comprising:
a passenger compartment for the vehicle operator;
a transmission;
a power source to provide power to the transmission;
a plurality of sensors to collect the sensed information;
a vehicle control system to control vehicle operations; and
a touch sensitive display adapted to access one or more selected applications, wherein the plural applications in the application store are grouped and/or ranked by one or more of recommended applications for the user, popular applications based on behavior of other users, vehicle compatible application, vehicle incompatible application, and type and/or category of application based on a function provided by the application.
29. The device of claim 17, further comprising:
a passenger compartment for the vehicle operator;
a transmission;
a power source to provide power to the transmission;
a plurality of sensors to collect the sensed information;
a vehicle control system to control vehicle operations; and
a touch sensitive display adapted to access one or more selected applications, wherein the microprocessor executable application manager collects data regarding a current vehicle state, configuration, operation, location, and/or occupant(s) and determines whether or not to permit or enable access to all or part of the application store, the determination being based on one or more of a user preference, a vehicle manufacturer policy and/or rule, and/or federal, state, and/or local law.
30. The device of claim 17, further comprising:
a passenger compartment for the vehicle operator;
a transmission;
a power source to provide power to the transmission;
a plurality of sensors to collect the sensed information; and
a vehicle control system to control vehicle operations, wherein applications on a black list of applications are excluded from the application store and applications on a white list of applications are included in the application store.
US13/963,728 2012-03-14 2013-08-09 Self-configuring vehicle console application store Active 2033-09-06 US9098367B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US13/963,728 US9098367B2 (en) 2012-03-14 2013-08-09 Self-configuring vehicle console application store

Applications Claiming Priority (43)

Application Number Priority Date Filing Date Title
US13/420,240 US20130245882A1 (en) 2012-03-14 2012-03-14 Removable, configurable vehicle console
US13/420,236 US20130241720A1 (en) 2012-03-14 2012-03-14 Configurable vehicle console
US13/462,593 US20130293364A1 (en) 2012-05-02 2012-05-02 Configurable dash display
US13/462,596 US20130293452A1 (en) 2012-05-02 2012-05-02 Configurable heads-up dash display
US201261714016P 2012-10-15 2012-10-15
US201261715699P 2012-10-18 2012-10-18
US13/679,459 US9324234B2 (en) 2010-10-01 2012-11-16 Vehicle comprising multi-operating system
US13/679,204 US8793034B2 (en) 2011-11-16 2012-11-16 Feature recognition for configuring a vehicle console and associated devices
US13/678,753 US9105051B2 (en) 2011-11-16 2012-11-16 Car location
US13/679,680 US20130151065A1 (en) 2011-11-16 2012-11-16 Communications based on vehicle diagnostics and indications
US13/678,773 US8818725B2 (en) 2011-11-16 2012-11-16 Location information exchange between vehicle and device
US13/678,673 US20130144657A1 (en) 2011-11-16 2012-11-16 Insurance tracking
US13/679,292 US8862299B2 (en) 2011-11-16 2012-11-16 Branding of electrically propelled vehicles via the generation of specific operating output
US13/679,676 US20130145065A1 (en) 2011-11-16 2012-11-16 Control of device features based on vehicle state
US13/679,476 US20130145482A1 (en) 2011-11-16 2012-11-16 Vehicle middleware
US13/678,722 US8922393B2 (en) 2011-11-16 2012-11-16 Parking meter expired alert
US13/678,745 US9014911B2 (en) 2011-11-16 2012-11-16 Street side sensors
US13/679,368 US20130145279A1 (en) 2011-11-16 2012-11-16 Removable, configurable vehicle console
US13/679,857 US9020491B2 (en) 2011-11-16 2012-11-16 Sharing applications/media between car and phone (hydroid)
US13/679,875 US20130145401A1 (en) 2011-11-16 2012-11-16 Music streaming
US13/679,350 US9008856B2 (en) 2011-11-16 2012-11-16 Configurable vehicle console
US13/679,363 US20130145297A1 (en) 2011-11-16 2012-11-16 Configurable heads-up dash display
US13/679,441 US8983718B2 (en) 2011-11-16 2012-11-16 Universal bus in the car
US13/679,234 US8831826B2 (en) 2011-11-16 2012-11-16 Gesture recognition for on-board display
US13/678,691 US20130144459A1 (en) 2011-11-16 2012-11-16 Law breaking/behavior sensor
US13/679,400 US9159232B2 (en) 2011-11-16 2012-11-16 Vehicle climate control
US13/678,762 US9296299B2 (en) 2011-11-16 2012-11-16 Behavioral tracking and vehicle applications
US13/679,358 US20130152003A1 (en) 2011-11-16 2012-11-16 Configurable dash display
US13/678,726 US9043130B2 (en) 2011-11-16 2012-11-16 Object sensing (pedestrian avoidance/accident avoidance)
US13/678,699 US9330567B2 (en) 2011-11-16 2012-11-16 Etiquette suggestion
US13/679,412 US20130145360A1 (en) 2011-11-16 2012-11-16 Vehicle application store for console
US13/679,443 US9240018B2 (en) 2011-11-16 2012-11-16 Method and system for maintaining and reporting vehicle occupant information
US13/678,710 US9123058B2 (en) 2011-11-16 2012-11-16 Parking space finder based on parking meter data
US13/678,735 US9046374B2 (en) 2011-11-16 2012-11-16 Proximity warning relative to other cars
US13/679,864 US9079497B2 (en) 2011-11-16 2012-11-16 Mobile hot spot/router/application share site or network
US13/679,815 US8919848B2 (en) 2011-11-16 2012-11-16 Universal console chassis for the car
US13/679,842 US8979159B2 (en) 2011-11-16 2012-11-16 Configurable hardware unit for car systems
US13/679,369 US9176924B2 (en) 2011-11-16 2012-11-16 Method and system for vehicle data collection
US13/679,306 US20130151088A1 (en) 2011-11-16 2012-11-16 Method and system for vehicle data collection regarding traffic
US13/679,887 US8995982B2 (en) 2011-11-16 2012-11-16 In-car communication between devices
US13/679,878 US9140560B2 (en) 2011-11-16 2012-11-16 In-cloud connection for car multimedia
US13/840,240 US20130282946A1 (en) 2012-04-23 2013-03-15 Controller area network bus
US13/963,728 US9098367B2 (en) 2012-03-14 2013-08-09 Self-configuring vehicle console application store

Publications (2)

Publication Number Publication Date
US20140109080A1 US20140109080A1 (en) 2014-04-17
US9098367B2 true US9098367B2 (en) 2015-08-04

Family

ID=50476675

Family Applications (1)

Application Number Title Priority Date Filing Date
US13/963,728 Active 2033-09-06 US9098367B2 (en) 2012-03-14 2013-08-09 Self-configuring vehicle console application store

Country Status (1)

Country Link
US (1) US9098367B2 (en)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140257872A1 (en) * 2013-03-10 2014-09-11 State Farm Mutual Automobile Insurance Company Vehicle Image and Sound Data Gathering for Insurance Rating Purposes
US20150048641A1 (en) * 2011-11-16 2015-02-19 Flextronics Ap, Llc Universal console chassis for the car
US20150281002A1 (en) * 2013-09-09 2015-10-01 Tsinghua University Universal support system for internet of things
US20160006858A1 (en) * 2014-07-01 2016-01-07 Ford Global Technologies, Llc Method and system for a vehicle computing system to communicate with a nomadic device via an auxiliary port
US9537914B1 (en) * 2015-12-01 2017-01-03 International Business Machines Corporation Vehicle domain multi-level parallel buffering and context-based streaming data pre-processing system
US10031523B2 (en) 2016-11-07 2018-07-24 Nio Usa, Inc. Method and system for behavioral sharing in autonomous vehicles
US10242375B2 (en) 2016-06-29 2019-03-26 Honda Motor Co., Ltd. Methods and apparatus for connected vehicles application effectiveness estimation
US10650621B1 (en) 2016-09-13 2020-05-12 Iocurrents, Inc. Interfacing with a vehicular controller area network
CN112805211A (en) * 2018-09-28 2021-05-14 自动导向有限责任公司 Commercial logistics facility, configurable modular robot autonomous guided vehicle and method thereof
US11025753B2 (en) * 2018-07-02 2021-06-01 Samsung Electronics Co., Ltd. Method and device for inter-process communication in network
US20210349468A1 (en) * 2020-05-11 2021-11-11 Autoguide, LLC Identifying elements in an environment
US20220197630A1 (en) * 2019-03-04 2022-06-23 Autonetworks Technologies, Ltd. In-vehicle update device, update processing program, and program update method

Families Citing this family (76)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140189888A1 (en) * 2012-12-29 2014-07-03 Cloudcar, Inc. Secure data container for an ambient intelligent environment
US11021269B2 (en) 2013-01-31 2021-06-01 Bombardier Inc. System and method for representing a location of a fault in an aircraft cabin
US9650141B2 (en) 2013-01-31 2017-05-16 Bombardier Inc. System and a method of operation of the system incorporating a graphical user interface in a bulkhead of a vehicle cabin
US10452243B2 (en) 2013-01-31 2019-10-22 Bombardier Inc. System and method of operation of the system incorporating a graphical user interface in a side ledge of a vehicle cabin
US10222766B2 (en) 2013-01-31 2019-03-05 Bombardier Inc. System and method of operation of the system incorporating a graphical user interface on a mobile computing device for a member of a flight crew in a vehicle cabin
US9092309B2 (en) 2013-02-14 2015-07-28 Ford Global Technologies, Llc Method and system for selecting driver preferences
SG11201505062UA (en) * 2013-03-27 2015-08-28 Hitachi Maxell Portable information terminal
US9921714B1 (en) * 2013-07-22 2018-03-20 Rockwell Collins, Inc. Graphical method to select formats
US9454353B2 (en) 2013-10-01 2016-09-27 International Business Machines Corporation Initiating use of software as part of a messaging window
US9821713B2 (en) * 2013-10-07 2017-11-21 Jet Optoelectronics Co., Ltd. In-vehicle lighting device and operating method
US20150193093A1 (en) * 2014-01-06 2015-07-09 Ford Global Technologies, Llc Method and system for a head unit application host
DE102014203060A1 (en) * 2014-02-20 2015-08-20 Bayerische Motoren Werke Aktiengesellschaft System and method for data exchange between at least one vehicle and at least one mobile terminal
US20150262198A1 (en) * 2014-03-13 2015-09-17 GM Global Technology Operations LLC Method and apparatus of tracking and predicting usage trend of in-vehicle apps
JP6554120B2 (en) * 2014-04-24 2019-07-31 ヒョンダイ モーター カンパニー Display system
US9411572B2 (en) * 2014-06-09 2016-08-09 Paypal, Inc. Systems and methods for location-based application installation
US9296396B2 (en) * 2014-06-13 2016-03-29 International Business Machines Corporation Mitigating driver fatigue
US9315197B1 (en) * 2014-09-30 2016-04-19 Continental Automotive Systems, Inc. Hands accelerating control system
US20160098256A1 (en) * 2014-10-03 2016-04-07 General Motors Llc Visual tool and architecting logical layers of software components
AU2015338818B2 (en) * 2014-10-31 2019-12-19 Piaggio & C. Spa A method for the dynamic adjustment method of operating parameters of a vehicle
US10500955B2 (en) * 2014-12-30 2019-12-10 Visteon Global Technologies, Inc. Automatic upgrade of a vehicle-based processor based on a physical component change
US11374809B2 (en) * 2015-01-01 2022-06-28 Harman Becker Automotive Systems Gmbh Auxiliary device to enhance native in-vehicle systems by adding interfaces and computational power
KR20160098912A (en) * 2015-02-11 2016-08-19 한국전자통신연구원 Method for Re-adjusting Application Permission and User terminal for performing the same Method
JP6477281B2 (en) 2015-06-17 2019-03-06 株式会社オートネットワーク技術研究所 In-vehicle relay device, in-vehicle communication system, and relay program
EP4145263A1 (en) 2015-07-17 2023-03-08 Crown Equipment Corporation Processing device having a graphical user interface for industrial vehicle
US9910685B2 (en) 2015-08-13 2018-03-06 Samsung Electronics Co., Ltd. System and method for identifying, indexing, and navigating to deep states of mobile applications
CA2996004C (en) * 2015-09-14 2022-05-17 Vinli, Inc. Cloud integrated vehicle platform
US9983892B2 (en) * 2015-11-06 2018-05-29 Samsung Electronics Co., Ltd. Deep linking to mobile application states through programmatic replay of user interface events
US9858094B2 (en) 2015-11-10 2018-01-02 Samsung Electronics Co., Ltd. Monitoring and actuation of view controller parameters to reach deep states without manual developer intervention
US10692126B2 (en) 2015-11-17 2020-06-23 Nio Usa, Inc. Network-based system for selling and servicing cars
KR101728329B1 (en) * 2015-11-19 2017-05-02 현대자동차주식회사 Touch control device, vehicle comprising the same, and manufacturing method thereof
WO2017089861A1 (en) * 2015-11-23 2017-06-01 Bombardier Inc. System and a method of operation of the system incorporating a graphical user interface on a mobile computing device for a passenger in a vehicle cabin
EP3192692B1 (en) * 2016-01-18 2021-08-04 Parker Hannifin EMEA Sàrl Configurable digital instrument panel for a motor vehicle
US20180012196A1 (en) 2016-07-07 2018-01-11 NextEv USA, Inc. Vehicle maintenance manager
US9928734B2 (en) 2016-08-02 2018-03-27 Nio Usa, Inc. Vehicle-to-pedestrian communication systems
US10782954B2 (en) * 2016-10-05 2020-09-22 International Business Machines Corporation User defined application interface
US10694357B2 (en) 2016-11-11 2020-06-23 Nio Usa, Inc. Using vehicle sensor data to monitor pedestrian health
US10410064B2 (en) 2016-11-11 2019-09-10 Nio Usa, Inc. System for tracking and identifying vehicles and pedestrians
US10708547B2 (en) 2016-11-11 2020-07-07 Nio Usa, Inc. Using vehicle sensor data to monitor environmental and geologic conditions
US10699305B2 (en) 2016-11-21 2020-06-30 Nio Usa, Inc. Smart refill assistant for electric vehicles
BR112019006449A2 (en) * 2016-11-22 2019-06-25 Crown Equip Corp display and processing device for an industrial vehicle, and, industrial vehicle.
US10249104B2 (en) 2016-12-06 2019-04-02 Nio Usa, Inc. Lease observation and event recording
DE102016224411A1 (en) * 2016-12-07 2018-06-21 Volkswagen Aktiengesellschaft Apparatus, means of transport and method for assisting a user of a means of transportation
US10074223B2 (en) 2017-01-13 2018-09-11 Nio Usa, Inc. Secured vehicle for user use only
US10471829B2 (en) 2017-01-16 2019-11-12 Nio Usa, Inc. Self-destruct zone and autonomous vehicle navigation
US9984572B1 (en) 2017-01-16 2018-05-29 Nio Usa, Inc. Method and system for sharing parking space availability among autonomous vehicles
US10031521B1 (en) 2017-01-16 2018-07-24 Nio Usa, Inc. Method and system for using weather information in operation of autonomous vehicles
US10286915B2 (en) 2017-01-17 2019-05-14 Nio Usa, Inc. Machine learning for personalized driving
US10464530B2 (en) 2017-01-17 2019-11-05 Nio Usa, Inc. Voice biometric pre-purchase enrollment for autonomous vehicles
DE102017200854A1 (en) * 2017-01-19 2018-07-19 Bayerische Motoren Werke Aktiengesellschaft single track
CN106874418A (en) * 2017-01-24 2017-06-20 成都容豪电子信息科技有限公司 A kind of automobile model data set method for building up for serving deep learning
US10897469B2 (en) 2017-02-02 2021-01-19 Nio Usa, Inc. System and method for firewalls between vehicle networks
US10726792B2 (en) * 2017-04-17 2020-07-28 Intel Corporation Glare and occluded view compensation for automotive and other applications
US10234302B2 (en) 2017-06-27 2019-03-19 Nio Usa, Inc. Adaptive route and motion planning based on learned external and internal vehicle environment
US10710633B2 (en) 2017-07-14 2020-07-14 Nio Usa, Inc. Control of complex parking maneuvers and autonomous fuel replenishment of driverless vehicles
US10369974B2 (en) 2017-07-14 2019-08-06 Nio Usa, Inc. Control and coordination of driverless fuel replenishment for autonomous vehicles
FR3069676B1 (en) * 2017-07-28 2019-09-20 Psa Automobiles Sa DEVICE FOR PROVIDING A GRAPHICAL INTERFACE COMPRISING WIDGETS IN A VEHICLE.
US10837790B2 (en) 2017-08-01 2020-11-17 Nio Usa, Inc. Productive and accident-free driving modes for a vehicle
US10635109B2 (en) 2017-10-17 2020-04-28 Nio Usa, Inc. Vehicle path-planner monitor and controller
US10606274B2 (en) 2017-10-30 2020-03-31 Nio Usa, Inc. Visual place recognition based self-localization for autonomous vehicles
US10935978B2 (en) 2017-10-30 2021-03-02 Nio Usa, Inc. Vehicle self-localization using particle filters and visual odometry
US10717412B2 (en) 2017-11-13 2020-07-21 Nio Usa, Inc. System and method for controlling a vehicle using secondary access methods
US10476967B2 (en) * 2017-11-14 2019-11-12 Ford Global Technologies, Llc Vehicle cabin mobile device detection system
US10469589B2 (en) * 2017-11-14 2019-11-05 Ford Global Technologies, Llc Vehicle cabin mobile device sensor system
US20190168696A1 (en) * 2017-12-01 2019-06-06 At&T Intellectual Property I, L.P. Dynamic wireless configuration of a vehicle via a network slice
DE102018205690A1 (en) * 2018-04-13 2019-10-17 Bayerische Motoren Werke Aktiengesellschaft Method and system for controlling a user interface and an air conditioning unit
DE102018206557A1 (en) * 2018-04-27 2019-10-31 Bayerische Motoren Werke Aktiengesellschaft Computer-implemented method and data processing system for assisting a user of a vehicle and vehicle
US10499233B2 (en) * 2018-05-04 2019-12-03 Ford Global Technologies, Llc Dynamic vehicle disaster relief
US10369966B1 (en) 2018-05-23 2019-08-06 Nio Usa, Inc. Controlling access to a vehicle using wireless access devices
US20200062117A1 (en) * 2018-08-22 2020-02-27 GM Global Technology Operations LLC Auto-configurable vehicle-user interface
US11372527B2 (en) * 2019-01-22 2022-06-28 Ford Global Technologies, Llc Dash cards user interface
EP3693240A1 (en) * 2019-02-06 2020-08-12 Zenuity AB Control of activation threshold for vehicle safety systems
KR20210029921A (en) * 2019-09-09 2021-03-17 현대자동차주식회사 Touch screen, Vehicle having the touch screen and method for controlling the vehicle
USD941304S1 (en) 2019-10-30 2022-01-18 Ford Global Technologies, Llc Vehicle display panel with user interface
US11584232B2 (en) * 2020-02-05 2023-02-21 Paccar Inc Flexible and variability-accommodating instrument cluster display
CN112316418B (en) * 2020-11-06 2023-09-12 广州小鹏汽车科技有限公司 Control method and device for vehicle-mounted game
JP2023067569A (en) * 2021-11-01 2023-05-16 株式会社アドヴィックス Software management system

Citations (88)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4476954A (en) * 1982-09-22 1984-10-16 Johnson Engineering Corporation Remote control for motor vehicle
US4875391A (en) 1988-04-29 1989-10-24 Chrysler Motors Corporation Electronically-controlled, adaptive automatic transmission system
US5847661A (en) 1996-03-15 1998-12-08 Intelligent Ideation, Inc. Vehicle data acquisition system
US5949345A (en) 1997-05-27 1999-09-07 Microsoft Corporation Displaying computer information to a driver of a vehicle
USD429684S (en) 1997-06-03 2000-08-22 Johnson Frederick M Multiposition vehicular communications housing
US6202008B1 (en) 1995-11-29 2001-03-13 Microsoft Corporation Vehicle computer system with wireless internet connectivity
US20010010516A1 (en) 2000-02-01 2001-08-02 Roh Young Hoon Internet refrigerator and operating method thereof
US6339826B2 (en) 1998-05-05 2002-01-15 International Business Machines Corp. Client-server system for maintaining a user desktop consistent with server application user access permissions
US20020126876A1 (en) 1999-08-10 2002-09-12 Paul George V. Tracking and gesture recognition system particularly suited to vehicular control applications
US20020169551A1 (en) 2001-03-29 2002-11-14 Akira Inoue Navigation system, hand-held terminal, data transfer system and programs executed therein
US20030055557A1 (en) 2001-09-20 2003-03-20 International Business Machines Corporation Method of calibrating a car alarm depending on the crime statistics of an area VIA intergration with road navigation display systems
US6662077B2 (en) 1999-07-30 2003-12-09 Gerhard Haag Architecture for presenting and managing information in an automated parking and storage facility
US6690260B1 (en) 1999-08-25 2004-02-10 Honda Giken Kabushiki Kaisha Driver authentication apparatus and method for identifying automatically-extracted driver's operation feature data with already-registered feature data
US20040039500A1 (en) * 2000-08-01 2004-02-26 Sandro Amendola Method for loading software
US6785531B2 (en) 2001-03-22 2004-08-31 Visteon Global Technologies, Inc. Dual-function removable reversable unit for radio and telephone
US6816783B2 (en) 2001-11-30 2004-11-09 Denso Corporation Navigation system having in-vehicle and portable modes
US20040260438A1 (en) 2003-06-17 2004-12-23 Chernetsky Victor V. Synchronous voice user interface/graphical user interface
US20050065678A1 (en) * 2000-08-18 2005-03-24 Snap-On Technologies, Inc. Enterprise resource planning system with integrated vehicle diagnostic and information system
US20050085215A1 (en) 2003-10-21 2005-04-21 Nokia Corporation Method and related apparatus for emergency calling in a touch screen mobile phone from a touch screen and keypad lock active state
US20050114864A1 (en) * 2003-11-07 2005-05-26 Surace Luke A. Method and system for software installation
US20050144156A1 (en) 2001-09-12 2005-06-30 Supersoftware International Pty Ltd System and method for vehicle identification
US20060047386A1 (en) 2004-08-31 2006-03-02 International Business Machines Corporation Touch gesture based interface for motor vehicle
US7021691B1 (en) 2004-09-30 2006-04-04 Lear Corporation Moveable panel assembly
US20060125631A1 (en) 2002-08-08 2006-06-15 Jacob Sharony RF tracking system and method
US20060200587A1 (en) 1997-02-25 2006-09-07 Hindman George W Apparatus and method for a mobile navigation computer
US20060288382A1 (en) 2005-06-16 2006-12-21 Vitito Christopher J Vehicle entertainment system with retaining mechanism
US7187947B1 (en) 2000-03-28 2007-03-06 Affinity Labs, Llc System and method for communicating selected information to an electronic device
US20070182816A1 (en) * 2006-02-09 2007-08-09 Fox Stephen H Method for determining windshield condition and an improved vehicle imaging system
US20070194902A1 (en) 2006-02-17 2007-08-23 Microsoft Corporation Adaptive heads-up user interface for automobiles
US20070213090A1 (en) 2006-03-07 2007-09-13 Sony Ericsson Mobile Communications Ab Programmable keypad
US20080052627A1 (en) 2006-07-06 2008-02-28 Xanavi Informatics Corporation On-vehicle display device and display method adopted in on-vehicle display device
US20080051957A1 (en) 2002-09-03 2008-02-28 Automotive Technologies International, Inc. Image Processing for Vehicular Applications Applying Image Comparisons
US20080143085A1 (en) 1992-05-05 2008-06-19 Automotive Technologies International, Inc. Vehicular Occupant Sensing Techniques
US20080154957A1 (en) * 2006-12-26 2008-06-26 Questra Corporation Managing configurations of distributed devices
US20080216067A1 (en) 2005-04-04 2008-09-04 Volvo Lastvagnar Ab Arrangement and Method for Programming Motor Vehicles
US20090168974A1 (en) 2007-12-26 2009-07-02 General Motors Corporation Vehicle emergency call handling and routing to psaps
US20090180668A1 (en) 2007-04-11 2009-07-16 Irobot Corporation System and method for cooperative remote vehicle behavior
US20090189373A1 (en) 2005-08-10 2009-07-30 Schramm Michael R Steering Apparatus
US20090241883A1 (en) 2008-03-28 2009-10-01 Mazda Motor Coporation Control method for internal combustion engine system, and internal combustion engine system
US20090247132A1 (en) 2008-03-31 2009-10-01 General Motors Corporation System and method for processing vehicle communications
US20090278806A1 (en) 2008-05-06 2009-11-12 Matias Gonzalo Duarte Extended touch-sensitive control area for electronic device
US20090319181A1 (en) 2008-06-20 2009-12-24 Microsoft Corporation Data services based on gesture and location information of device
US20100069115A1 (en) 2008-09-16 2010-03-18 Palm, Inc. Orientation based control of mobile device
US7683771B1 (en) 2007-03-26 2010-03-23 Barry Loeb Configurable control panel and/or dashboard display
US20100076764A1 (en) 2008-09-19 2010-03-25 General Motors Corporation Method of dialing phone numbers using an in-vehicle speech recognition system
US20100082559A1 (en) 2008-09-19 2010-04-01 General Motors Corporation Method of managing a schedule-based software package update
US20100121570A1 (en) 2007-05-03 2010-05-13 Honda Access Corp. Navigation apparatus
US20100118025A1 (en) * 2005-04-21 2010-05-13 Microsoft Corporation Mode information displayed in a mapping application
US20100127847A1 (en) 2008-10-07 2010-05-27 Cisco Technology, Inc. Virtual dashboard
EP2192015A1 (en) 2008-11-26 2010-06-02 Fiat Group Automobiles S.p.A. Automatic setting of a motor vehicle performance profile
US7738462B2 (en) 2005-10-17 2010-06-15 Lg Electronics Inc. Method and apparatus for processing data in controller area network
US20100167737A1 (en) 2008-12-29 2010-07-01 General Motors Corporation Secondary connection strategy for vehicle originated cellular communication to a call center
US20100167727A1 (en) 2008-12-29 2010-07-01 General Motors Corporation Voice channel data connection retry strategy
US7802832B2 (en) 2008-10-10 2010-09-28 Carnevali Jeffrey D Reconfigurable console mount having a plurality of interchangeable tongue-and-groove blank and equipment mounting panels and quick disconnect clamps
US20100256903A1 (en) 2009-04-01 2010-10-07 General Motors Corporation Vehicle telematics communication for generating road routing informatiion
US20100268426A1 (en) 2009-04-16 2010-10-21 Panasonic Corporation Reconfigurable vehicle user interface system
US20100325626A1 (en) * 1999-04-12 2010-12-23 Greschler David M Serving software applications from servers to client computers
US7881703B2 (en) 2004-02-20 2011-02-01 Snapin Software Inc. Call intercept methods, such as for customer self-support on a mobile device
US20110028138A1 (en) 2009-07-30 2011-02-03 Davies-Moore Alexander Method and appartus for customizing a user interface menu
US20110082615A1 (en) 2009-10-05 2011-04-07 Tesla Motors, Inc. User Configurable Vehicle User Interface
US20110093154A1 (en) * 2009-10-15 2011-04-21 Airbiquity Inc. Centralized management of motor vehicle software applications and services
US20110117933A1 (en) 2009-11-17 2011-05-19 Henrik Bo Andersson Mobile Terminals, Methods and Computer Program Products for Determining a Location Proximate a Vehicle
US7969290B2 (en) 2005-11-11 2011-06-28 Volkswagen Ag Information device, preferably in a motor vehicle, and method for supplying information about vehicle data, in particular vehicle functions and their operation
US20110175754A1 (en) 2010-01-20 2011-07-21 Dmitry Karpinsky Dynamic dashboard display
US20110225527A1 (en) 2010-03-10 2011-09-15 Salesforce.Com, Inc. Configurable highlights panel for display of database records
US20110234369A1 (en) 2010-03-03 2011-09-29 Steven Cai Intuitive multiple degrees of freedom portable control device
US20120029852A1 (en) 2008-02-20 2012-02-02 Goff Lonnie C Battery monitor system attached to a vehicle wiring harness
US8131419B2 (en) 2003-10-08 2012-03-06 General Motors Llc Web-enabled configurable quality data collection tool
US20120065996A1 (en) 2009-11-18 2012-03-15 Levitate Health Inc. System and method for coordinating the communication of health related information and products to a registered user of a pharmacy
US20120081311A1 (en) 2010-10-01 2012-04-05 Imerj LLC Smartpad orientation
US20120081267A1 (en) 2010-10-01 2012-04-05 Imerj LLC Desktop reveal expansion
US20120083971A1 (en) * 2001-04-24 2012-04-05 Eagle Harbor Holdings Method and Apparatus for a Task Priority Processing System
US20120092251A1 (en) 2009-07-31 2012-04-19 Honda Motor Co., Ltd. Operation system for vehicle
US20120239242A1 (en) 2011-03-17 2012-09-20 Toyota Motor Engineering & Manufacturing North America, Inc. Vehicle maneuver application interface
US20120252364A1 (en) 2011-04-04 2012-10-04 General Motors Llc Method of using a smart phone as a telematics device interface
US20130031541A1 (en) * 2011-07-29 2013-01-31 Wilks Andrew W Systems and methods for facilitating activation of operating systems
US20130067599A1 (en) * 2011-09-12 2013-03-14 Microsoft Corporation Software distribution service federation
US20130099940A1 (en) 2011-10-21 2013-04-25 Ford Global Technologies, Llc Method and Apparatus for User Authentication and Security
US8447598B2 (en) 2007-12-05 2013-05-21 Johnson Controls Technology Company Vehicle user interface systems and methods
US20130138591A1 (en) 2011-11-16 2013-05-30 Flextronics Ap, Llc Etiquette suggestion
US20130151088A1 (en) 2011-11-16 2013-06-13 Flextronics Ap, Llc Method and system for vehicle data collection regarding traffic
US20130154298A1 (en) 2011-11-16 2013-06-20 Flextronics Ap, Llc Configurable hardware unit for car systems
US8527146B1 (en) 2012-01-30 2013-09-03 Google Inc. Systems and methods for updating vehicle behavior and settings based on the locations of vehicle passengers
US20130238165A1 (en) * 2009-10-15 2013-09-12 Airbiquity Inc. Extensible scheme for operating vehicle head unit as extended interface for mobile device
US20130241720A1 (en) 2012-03-14 2013-09-19 Christopher P. Ricci Configurable vehicle console
US20130245882A1 (en) 2012-03-14 2013-09-19 Christopher P. Ricci Removable, configurable vehicle console
US20130282946A1 (en) 2012-04-23 2013-10-24 Flextronics Ap, Llc Controller area network bus
US20140245277A1 (en) * 2008-05-20 2014-08-28 Piksel Americas, Inc. Systems and methods for realtime creation and modification of a dynamic media player and disabled user compliant video player

Patent Citations (125)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4476954A (en) * 1982-09-22 1984-10-16 Johnson Engineering Corporation Remote control for motor vehicle
US4875391A (en) 1988-04-29 1989-10-24 Chrysler Motors Corporation Electronically-controlled, adaptive automatic transmission system
US20080143085A1 (en) 1992-05-05 2008-06-19 Automotive Technologies International, Inc. Vehicular Occupant Sensing Techniques
US6202008B1 (en) 1995-11-29 2001-03-13 Microsoft Corporation Vehicle computer system with wireless internet connectivity
US5847661A (en) 1996-03-15 1998-12-08 Intelligent Ideation, Inc. Vehicle data acquisition system
US6157321A (en) 1996-03-15 2000-12-05 Inteligent Ideation, Inc. Vehicle data acquisition system
US20060200587A1 (en) 1997-02-25 2006-09-07 Hindman George W Apparatus and method for a mobile navigation computer
US5949345A (en) 1997-05-27 1999-09-07 Microsoft Corporation Displaying computer information to a driver of a vehicle
USD429684S (en) 1997-06-03 2000-08-22 Johnson Frederick M Multiposition vehicular communications housing
US6339826B2 (en) 1998-05-05 2002-01-15 International Business Machines Corp. Client-server system for maintaining a user desktop consistent with server application user access permissions
US20100325626A1 (en) * 1999-04-12 2010-12-23 Greschler David M Serving software applications from servers to client computers
US6662077B2 (en) 1999-07-30 2003-12-09 Gerhard Haag Architecture for presenting and managing information in an automated parking and storage facility
US20070195997A1 (en) 1999-08-10 2007-08-23 Paul George V Tracking and gesture recognition system particularly suited to vehicular control applications
US20020126876A1 (en) 1999-08-10 2002-09-12 Paul George V. Tracking and gesture recognition system particularly suited to vehicular control applications
US6690260B1 (en) 1999-08-25 2004-02-10 Honda Giken Kabushiki Kaisha Driver authentication apparatus and method for identifying automatically-extracted driver's operation feature data with already-registered feature data
US20010010516A1 (en) 2000-02-01 2001-08-02 Roh Young Hoon Internet refrigerator and operating method thereof
US7187947B1 (en) 2000-03-28 2007-03-06 Affinity Labs, Llc System and method for communicating selected information to an electronic device
US20040039500A1 (en) * 2000-08-01 2004-02-26 Sandro Amendola Method for loading software
US20050065678A1 (en) * 2000-08-18 2005-03-24 Snap-On Technologies, Inc. Enterprise resource planning system with integrated vehicle diagnostic and information system
US6785531B2 (en) 2001-03-22 2004-08-31 Visteon Global Technologies, Inc. Dual-function removable reversable unit for radio and telephone
US20020169551A1 (en) 2001-03-29 2002-11-14 Akira Inoue Navigation system, hand-held terminal, data transfer system and programs executed therein
US20120083971A1 (en) * 2001-04-24 2012-04-05 Eagle Harbor Holdings Method and Apparatus for a Task Priority Processing System
US20050144156A1 (en) 2001-09-12 2005-06-30 Supersoftware International Pty Ltd System and method for vehicle identification
US20030055557A1 (en) 2001-09-20 2003-03-20 International Business Machines Corporation Method of calibrating a car alarm depending on the crime statistics of an area VIA intergration with road navigation display systems
US6816783B2 (en) 2001-11-30 2004-11-09 Denso Corporation Navigation system having in-vehicle and portable modes
US20060125631A1 (en) 2002-08-08 2006-06-15 Jacob Sharony RF tracking system and method
US20080051957A1 (en) 2002-09-03 2008-02-28 Automotive Technologies International, Inc. Image Processing for Vehicular Applications Applying Image Comparisons
US20040260438A1 (en) 2003-06-17 2004-12-23 Chernetsky Victor V. Synchronous voice user interface/graphical user interface
US8131419B2 (en) 2003-10-08 2012-03-06 General Motors Llc Web-enabled configurable quality data collection tool
US20050085215A1 (en) 2003-10-21 2005-04-21 Nokia Corporation Method and related apparatus for emergency calling in a touch screen mobile phone from a touch screen and keypad lock active state
US20050114864A1 (en) * 2003-11-07 2005-05-26 Surace Luke A. Method and system for software installation
US7881703B2 (en) 2004-02-20 2011-02-01 Snapin Software Inc. Call intercept methods, such as for customer self-support on a mobile device
US20060047386A1 (en) 2004-08-31 2006-03-02 International Business Machines Corporation Touch gesture based interface for motor vehicle
US7021691B1 (en) 2004-09-30 2006-04-04 Lear Corporation Moveable panel assembly
US20080216067A1 (en) 2005-04-04 2008-09-04 Volvo Lastvagnar Ab Arrangement and Method for Programming Motor Vehicles
US20100118025A1 (en) * 2005-04-21 2010-05-13 Microsoft Corporation Mode information displayed in a mapping application
US7566083B2 (en) 2005-06-16 2009-07-28 Vitito Christopher J Vehicle entertainment system with safety for attachment mechanism
US20060288382A1 (en) 2005-06-16 2006-12-21 Vitito Christopher J Vehicle entertainment system with retaining mechanism
US20090189373A1 (en) 2005-08-10 2009-07-30 Schramm Michael R Steering Apparatus
US7738462B2 (en) 2005-10-17 2010-06-15 Lg Electronics Inc. Method and apparatus for processing data in controller area network
US7969290B2 (en) 2005-11-11 2011-06-28 Volkswagen Ag Information device, preferably in a motor vehicle, and method for supplying information about vehicle data, in particular vehicle functions and their operation
US20070182816A1 (en) * 2006-02-09 2007-08-09 Fox Stephen H Method for determining windshield condition and an improved vehicle imaging system
US20070194902A1 (en) 2006-02-17 2007-08-23 Microsoft Corporation Adaptive heads-up user interface for automobiles
US20070213090A1 (en) 2006-03-07 2007-09-13 Sony Ericsson Mobile Communications Ab Programmable keypad
US20080052627A1 (en) 2006-07-06 2008-02-28 Xanavi Informatics Corporation On-vehicle display device and display method adopted in on-vehicle display device
US20080154957A1 (en) * 2006-12-26 2008-06-26 Questra Corporation Managing configurations of distributed devices
US7683771B1 (en) 2007-03-26 2010-03-23 Barry Loeb Configurable control panel and/or dashboard display
US20090180668A1 (en) 2007-04-11 2009-07-16 Irobot Corporation System and method for cooperative remote vehicle behavior
US20100121570A1 (en) 2007-05-03 2010-05-13 Honda Access Corp. Navigation apparatus
US8447598B2 (en) 2007-12-05 2013-05-21 Johnson Controls Technology Company Vehicle user interface systems and methods
US20090168974A1 (en) 2007-12-26 2009-07-02 General Motors Corporation Vehicle emergency call handling and routing to psaps
US20120029852A1 (en) 2008-02-20 2012-02-02 Goff Lonnie C Battery monitor system attached to a vehicle wiring harness
US20090241883A1 (en) 2008-03-28 2009-10-01 Mazda Motor Coporation Control method for internal combustion engine system, and internal combustion engine system
US20090247132A1 (en) 2008-03-31 2009-10-01 General Motors Corporation System and method for processing vehicle communications
US20090278806A1 (en) 2008-05-06 2009-11-12 Matias Gonzalo Duarte Extended touch-sensitive control area for electronic device
US20140245277A1 (en) * 2008-05-20 2014-08-28 Piksel Americas, Inc. Systems and methods for realtime creation and modification of a dynamic media player and disabled user compliant video player
US20090319181A1 (en) 2008-06-20 2009-12-24 Microsoft Corporation Data services based on gesture and location information of device
US20100069115A1 (en) 2008-09-16 2010-03-18 Palm, Inc. Orientation based control of mobile device
US20100076764A1 (en) 2008-09-19 2010-03-25 General Motors Corporation Method of dialing phone numbers using an in-vehicle speech recognition system
US20100082559A1 (en) 2008-09-19 2010-04-01 General Motors Corporation Method of managing a schedule-based software package update
US20100127847A1 (en) 2008-10-07 2010-05-27 Cisco Technology, Inc. Virtual dashboard
US7802832B2 (en) 2008-10-10 2010-09-28 Carnevali Jeffrey D Reconfigurable console mount having a plurality of interchangeable tongue-and-groove blank and equipment mounting panels and quick disconnect clamps
EP2192015A1 (en) 2008-11-26 2010-06-02 Fiat Group Automobiles S.p.A. Automatic setting of a motor vehicle performance profile
US20100167727A1 (en) 2008-12-29 2010-07-01 General Motors Corporation Voice channel data connection retry strategy
US20100167737A1 (en) 2008-12-29 2010-07-01 General Motors Corporation Secondary connection strategy for vehicle originated cellular communication to a call center
US20100256903A1 (en) 2009-04-01 2010-10-07 General Motors Corporation Vehicle telematics communication for generating road routing informatiion
US20100268426A1 (en) 2009-04-16 2010-10-21 Panasonic Corporation Reconfigurable vehicle user interface system
US20110028138A1 (en) 2009-07-30 2011-02-03 Davies-Moore Alexander Method and appartus for customizing a user interface menu
US20120092251A1 (en) 2009-07-31 2012-04-19 Honda Motor Co., Ltd. Operation system for vehicle
US20110082615A1 (en) 2009-10-05 2011-04-07 Tesla Motors, Inc. User Configurable Vehicle User Interface
US20110093846A1 (en) 2009-10-15 2011-04-21 Airbiquity Inc. Centralized management of motor vehicle software applications and services
US20130238165A1 (en) * 2009-10-15 2013-09-12 Airbiquity Inc. Extensible scheme for operating vehicle head unit as extended interface for mobile device
US20110093154A1 (en) * 2009-10-15 2011-04-21 Airbiquity Inc. Centralized management of motor vehicle software applications and services
US20110117933A1 (en) 2009-11-17 2011-05-19 Henrik Bo Andersson Mobile Terminals, Methods and Computer Program Products for Determining a Location Proximate a Vehicle
US20120065996A1 (en) 2009-11-18 2012-03-15 Levitate Health Inc. System and method for coordinating the communication of health related information and products to a registered user of a pharmacy
US20110175754A1 (en) 2010-01-20 2011-07-21 Dmitry Karpinsky Dynamic dashboard display
US20110234369A1 (en) 2010-03-03 2011-09-29 Steven Cai Intuitive multiple degrees of freedom portable control device
US20110225527A1 (en) 2010-03-10 2011-09-15 Salesforce.Com, Inc. Configurable highlights panel for display of database records
US20130167159A1 (en) 2010-10-01 2013-06-27 Flextronics Ap, Llc Vehicle comprising multi-operating system
US20120081267A1 (en) 2010-10-01 2012-04-05 Imerj LLC Desktop reveal expansion
US20120081311A1 (en) 2010-10-01 2012-04-05 Imerj LLC Smartpad orientation
US20120239242A1 (en) 2011-03-17 2012-09-20 Toyota Motor Engineering & Manufacturing North America, Inc. Vehicle maneuver application interface
US20120252364A1 (en) 2011-04-04 2012-10-04 General Motors Llc Method of using a smart phone as a telematics device interface
US20130031541A1 (en) * 2011-07-29 2013-01-31 Wilks Andrew W Systems and methods for facilitating activation of operating systems
US20130067599A1 (en) * 2011-09-12 2013-03-14 Microsoft Corporation Software distribution service federation
US20130099940A1 (en) 2011-10-21 2013-04-25 Ford Global Technologies, Llc Method and Apparatus for User Authentication and Security
US20130144469A1 (en) 2011-11-16 2013-06-06 Flextronics Ap, Llc Location information exchange between vehicle and device
US20130145482A1 (en) 2011-11-16 2013-06-06 Flextronics Ap, Llc Vehicle middleware
US20130145297A1 (en) 2011-11-16 2013-06-06 Flextronics Ap, Llc Configurable heads-up dash display
US20130144461A1 (en) 2011-11-16 2013-06-06 Flextronics Ap, Llc Behavioral tracking and vehicle applications
US20130144657A1 (en) 2011-11-16 2013-06-06 Flextronics Ap, Llc Insurance tracking
US20130143601A1 (en) 2011-11-16 2013-06-06 Flextronics Ap, Llc In-car communication between devices
US20130145401A1 (en) 2011-11-16 2013-06-06 Flextronics Ap, Llc Music streaming
US20130144459A1 (en) 2011-11-16 2013-06-06 Flextronics Ap, Llc Law breaking/behavior sensor
US20130144520A1 (en) 2011-11-16 2013-06-06 Flextronics Ap, Llc Object sensing (pedestrian avoidance/accident avoidance)
US20130144462A1 (en) 2011-11-16 2013-06-06 Flextronics Ap, Llc Feature recognition for configuring a vehicle console and associated devices
US20130135118A1 (en) 2011-11-16 2013-05-30 Flextronics Ap, Llc Parking meter expired alert
US20130145279A1 (en) 2011-11-16 2013-06-06 Flextronics Ap, Llc Removable, configurable vehicle console
US20130144486A1 (en) 2011-11-16 2013-06-06 Flextronics Ap, Llc Street side sensors
US20130144470A1 (en) 2011-11-16 2013-06-06 Flextronics Ap, Llc Vehicle climate control
US20130145360A1 (en) 2011-11-16 2013-06-06 Flextronics Ap, Llc Vehicle application store for console
US20130141247A1 (en) 2011-11-16 2013-06-06 Flextronics Ap, Llc Method and system for maintaining and reporting vehicle occupant information
US20130144463A1 (en) 2011-11-16 2013-06-06 Flextronics Ap, Llc Configurable vehicle console
US20130144460A1 (en) 2011-11-16 2013-06-06 Flextronics Ap, Llc Car location
US20130145065A1 (en) 2011-11-16 2013-06-06 Flextronics Ap, Llc Control of device features based on vehicle state
US20130138714A1 (en) 2011-11-16 2013-05-30 Flextronics Ap, Llc In-cloud connection for car multimedia
US20130141252A1 (en) 2011-11-16 2013-06-06 Flextronics Ap, Llc Parking space finder based on parking meter data
US20130143495A1 (en) 2011-11-16 2013-06-06 Flextronics Ap, Llc Mobile hot spot/router/application share site or network
US20130144474A1 (en) 2011-11-16 2013-06-06 Flextronics Ap, Llc Branding of electrically propelled vehicles via the generation of specific operating output
US20130143546A1 (en) 2011-11-16 2013-06-06 Flextronics Ap, Llc Sharing applications/media between car and phone (hydroid)
US20130152003A1 (en) 2011-11-16 2013-06-13 Flextronics Ap, Llc Configurable dash display
US20130151065A1 (en) 2011-11-16 2013-06-13 Flextronics Ap, Llc Communications based on vehicle diagnostics and indications
US20130151088A1 (en) 2011-11-16 2013-06-13 Flextronics Ap, Llc Method and system for vehicle data collection regarding traffic
US20130147638A1 (en) 2011-11-16 2013-06-13 Flextronics Ap, Llc Proximity warning relative to other cars
US20130151031A1 (en) 2011-11-16 2013-06-13 Flextronics Ap, Llc Gesture recognition for on-board display
US20130154298A1 (en) 2011-11-16 2013-06-20 Flextronics Ap, Llc Configurable hardware unit for car systems
US20130158821A1 (en) 2011-11-16 2013-06-20 Flextronics Ap, Llc Method and system for vehicle data collection
US20130166097A1 (en) 2011-11-16 2013-06-27 Flextronics Ap, Llc Universal bus in the car
US20130138591A1 (en) 2011-11-16 2013-05-30 Flextronics Ap, Llc Etiquette suggestion
US20130231800A1 (en) 2011-11-16 2013-09-05 Flextronics Ap, Llc Vehicle occupant health data gathering and monitoring
US20130134730A1 (en) 2011-11-16 2013-05-30 Flextronics Ap, Llc Universal console chassis for the car
US8527146B1 (en) 2012-01-30 2013-09-03 Google Inc. Systems and methods for updating vehicle behavior and settings based on the locations of vehicle passengers
US20130241720A1 (en) 2012-03-14 2013-09-19 Christopher P. Ricci Configurable vehicle console
US20130245882A1 (en) 2012-03-14 2013-09-19 Christopher P. Ricci Removable, configurable vehicle console
US20130282946A1 (en) 2012-04-23 2013-10-24 Flextronics Ap, Llc Controller area network bus

Non-Patent Citations (32)

* Cited by examiner, † Cited by third party
Title
"A8: Technology as standard," Screen-shots from Audi.co.uk, 2014 [retrieved on Apr. 16, 2014], 1 page. Retrieved from: www.audi.co.uk/new-cars/a8/a8/technology-as-standard/mmi-touch.html.
"Audi A8 MMI Touch," Audi of America, Jan. 7, 2011, [retrieved on Apr. 16, 2014], 2 pages. Retrieved from: www.youtube.com/watch?v=O2nZ-WHo9IA.
"Cadillac: 2013 XTS Full-Size Luxury Sedan," Cadillac.com, 4 pages, Jun. 2012 internet archive, found at: (web.archive.org/web/20120606185204/http://www.cadillac.com/xts-luxury-sedan.html).
"Time-triggered CAN," CIA, � 2001-2013, 4 pages, found at: (www.can-cia.org/index.php?id+166).
"Time-triggered CAN," CIA, © 2001-2013, 4 pages, found at: (www.can-cia.org/index.php?id+166).
Cairnie et al., "Using finger-pointing to operate secondary controls in automobiles," Proceedings of the IEEE Intelligent Vehicles Symposium 2000, Oct. 3-5, 2000, 6 pages.
Davis et al. "Controller Area Network (CAN) schedulability analysis: Refuted, revisited and revised," Real-Time Systems, Apr. 2007, vol. 35, No. 3, pp. 239-272.
Di Natale "Controller Area Network," Dec. 2009, 54 pages.
Diaz, "Audi New MMI Touch Input System Makes Perfect Sense," Gizmodo.com, Dec. 1, 2009 [retrieved on Apr. 16, 2014], 12 pages. Retrieved from: http://gizmodo.com/5416342/audi-new-mmi-touch-input-system-makes-perfect-sense.
Fonseca et al. "Scheduling for a TTCAN network with a stochastic optimization algorithm," Proceedings 8th Internatioanl CAN Conference, Jan. 2002, 7 pages.
Hartwich et al. "CAN Network with Time Triggered Communication," Robert Bosch GmbH Proceedings 7th International CAN Conference, Jul. 2000, 7 pages.
Idstein et al. "Using the Controller Area Network for Communication Between Prostesis Sensors and Control Systems," Proceedings of the 2011 MyoElectric Controls/Powered Prostetics Symposium Fredericton, New Brunswick, Canada, Aug. 14-19, 2011, 4 pages.
International Preliminary Report on Patentablity for International (PCT) Patent Application No. PCT/US12/65421, mailed Oct. 17, 2013 33 pages.
International Search Report and Written Opinion for International (PCT) Patent Application No. PCT/US12/65421 mailed Feb. 20, 2013, 13 pages.
International Search Report and Written Opinion for International (PCT) Patent Application No. PCT/US12/65470 mailed Mar. 7, 2013, 14 pages.
International Search Report and Written Opinion for International (PCT) Patent Application No. PCT/US12/65474 mailed Feb. 28, 2013, 9 pages.
Lee "Cadillac revamps the instrument panel with CUE," CNET Reviews, Oct. 11, 2011, 5 pages, found at: (reviews.cnet.com/8301-12261-7-20118807-10356022/cadillac-revamps-the-instrument-panel-with-cue/).
Marturano "General Motors Takes a CUE from Customers," InContext, Nov. 8, 2011, 3 pages, found at: (incontextdesign.com/blog/general-motors-takes-a-cue-from-customers/).
Notice of Allowance for U.S. Appl. No. 13/679,204, mailed Mar. 18, 2014 7 pages.
Notice of Allowance for U.S. Appl. No. 13/679,350, mailed Jun. 26, 2014 10 pages.
Official Action for U.S. Appl. No. 13/420,236, mailed Apr. 7, 2014 30 pages.
Official Action for U.S. Appl. No. 13/420,240, mailed Dec. 17, 2013 14 pages.
Official Action for U.S. Appl. No. 13/462,593, mailed Dec. 19, 2013 18 pages.
Official Action for U.S. Appl. No. 13/679,204, mailed Nov. 14, 2013 20 pages.
Official Action for U.S. Appl. No. 13/679,350, mailed Jan. 22, 2014 13 pages.
Official Action for U.S. Appl. No. 13/679,350, mailed May 6, 2014, 14 pages.
Official Action for U.S. Appl. No. 13/679,350, mailed Nov. 13, 2013 12 pages.
Official Action for U.S. Appl. No. 13/679,358, mailed Jan. 27, 2014 18 pages.
Official Action for U.S. Appl. No. 13/679,412, mailed Jul. 18, 2014 15 pages.
Purcher "Apple Invents In-Vehicle Holistic ID for "iOS in the Car"," Patently Apple, Dec. 2013, 8 pages [retrieved on Dec. 12, 2013 from: www.patentlyapple.com/patently-apple/2013/12/apple-invents-in-vehicle-holistic-id-for-ios-in-the-car.html].
U.S. Appl. No. 13/462,593, filed May 2, 2013, Ricci et al.
U.S. Appl. No. 13/462,596, filed May 2, 2013, Ricci et al.

Cited By (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9542085B2 (en) * 2011-11-16 2017-01-10 Autoconnect Holdings Llc Universal console chassis for the car
US20150048641A1 (en) * 2011-11-16 2015-02-19 Flextronics Ap, Llc Universal console chassis for the car
US10387967B1 (en) 2013-03-10 2019-08-20 State Farm Mutual Automobile Insurance Company Systems and methods for generating vehicle insurance policy data based on empirical vehicle related data
US20140257872A1 (en) * 2013-03-10 2014-09-11 State Farm Mutual Automobile Insurance Company Vehicle Image and Sound Data Gathering for Insurance Rating Purposes
US9734537B2 (en) * 2013-03-10 2017-08-15 State Farm Mutual Automobile Insurance Company Vehicle image and sound data gathering for insurance rating purposes
US9865020B1 (en) 2013-03-10 2018-01-09 State Farm Mutual Automobile Insurance Company Systems and methods for generating vehicle insurance policy data based on empirical vehicle related data
US11610270B2 (en) 2013-03-10 2023-03-21 State Farm Mutual Automobile Insurance Company Adjusting insurance policies based on common driving routes and other risk factors
US10373264B1 (en) * 2013-03-10 2019-08-06 State Farm Mutual Automobile Insurance Company Vehicle image and sound data gathering for insurance rating purposes
US20150281002A1 (en) * 2013-09-09 2015-10-01 Tsinghua University Universal support system for internet of things
US20160006858A1 (en) * 2014-07-01 2016-01-07 Ford Global Technologies, Llc Method and system for a vehicle computing system to communicate with a nomadic device via an auxiliary port
US9961188B2 (en) * 2014-07-01 2018-05-01 Ford Global Technologies, Llc Vehicle to device communication over wired audio connection
US9537914B1 (en) * 2015-12-01 2017-01-03 International Business Machines Corporation Vehicle domain multi-level parallel buffering and context-based streaming data pre-processing system
US10726433B2 (en) 2016-06-29 2020-07-28 Honda Motor Co., Ltd. Methods and apparatus for connected vehicles application effectiveness estimation
US10242375B2 (en) 2016-06-29 2019-03-26 Honda Motor Co., Ltd. Methods and apparatus for connected vehicles application effectiveness estimation
US11232655B2 (en) 2016-09-13 2022-01-25 Iocurrents, Inc. System and method for interfacing with a vehicular controller area network
US10650621B1 (en) 2016-09-13 2020-05-12 Iocurrents, Inc. Interfacing with a vehicular controller area network
US10031523B2 (en) 2016-11-07 2018-07-24 Nio Usa, Inc. Method and system for behavioral sharing in autonomous vehicles
US11025753B2 (en) * 2018-07-02 2021-06-01 Samsung Electronics Co., Ltd. Method and device for inter-process communication in network
CN112805211B (en) * 2018-09-28 2023-09-05 莫比奥工业机器人公司 Commercial logistics facility, configurable modular robotic autonomous guided vehicle and method thereof
EP3856620A4 (en) * 2018-09-28 2021-12-15 Autoguide, LLC Commercial logistic facility, configurable modular robotic autonomous guided vehicle, and method therefor
US11305936B2 (en) 2018-09-28 2022-04-19 Autoguide, LLC Commercial logistic facility, configurable modular robotic autonomous guided vehicle, and method therefor
CN112805211A (en) * 2018-09-28 2021-05-14 自动导向有限责任公司 Commercial logistics facility, configurable modular robot autonomous guided vehicle and method thereof
US20220197630A1 (en) * 2019-03-04 2022-06-23 Autonetworks Technologies, Ltd. In-vehicle update device, update processing program, and program update method
US11630659B2 (en) * 2019-03-04 2023-04-18 Autonetworks Technologies, Ltd. In-vehicle update device, update processing program, and program update method
US20210349468A1 (en) * 2020-05-11 2021-11-11 Autoguide, LLC Identifying elements in an environment

Also Published As

Publication number Publication date
US20140109080A1 (en) 2014-04-17

Similar Documents

Publication Publication Date Title
US20190394097A1 (en) Vehicle application store for console
US9098367B2 (en) Self-configuring vehicle console application store
US10171529B2 (en) Vehicle and occupant application integration
US8979159B2 (en) Configurable hardware unit for car systems
US20200067786A1 (en) System and method for a reconfigurable vehicle display
US20160269469A1 (en) Vehicle Supervising of Occupant Applications
US20130293364A1 (en) Configurable dash display
US11005720B2 (en) System and method for a vehicle zone-determined reconfigurable display
US20130293452A1 (en) Configurable heads-up dash display
US10862764B2 (en) Universal console chassis for the car

Legal Events

Date Code Title Description
AS Assignment

Owner name: FLEXTRONICS AP, LLC, CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:RICCI, CHRISTOPHER P.;REEL/FRAME:030981/0376

Effective date: 20130801

STCF Information on status: patent grant

Free format text: PATENTED CASE

AS Assignment

Owner name: AUTOCONNECT HOLDINGS LLC, MASSACHUSETTS

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:FLEXTRONICS AP, LLC;REEL/FRAME:036503/0062

Effective date: 20150520

CC Certificate of correction
FEPP Fee payment procedure

Free format text: MAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

FEPP Fee payment procedure

Free format text: SURCHARGE FOR LATE PAYMENT, SMALL ENTITY (ORIGINAL EVENT CODE: M2554); ENTITY STATUS OF PATENT OWNER: SMALL ENTITY

Free format text: ENTITY STATUS SET TO SMALL (ORIGINAL EVENT CODE: SMAL); ENTITY STATUS OF PATENT OWNER: SMALL ENTITY

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YR, SMALL ENTITY (ORIGINAL EVENT CODE: M2551); ENTITY STATUS OF PATENT OWNER: SMALL ENTITY

Year of fee payment: 4

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YR, SMALL ENTITY (ORIGINAL EVENT CODE: M2552); ENTITY STATUS OF PATENT OWNER: SMALL ENTITY

Year of fee payment: 8