VEHICLE MIDDLEWARE
4 Assignments
0 Petitions
Accused Products
Abstract
The present disclosure describes a vehicle implementing one or more processing modules. These modules are configured to connect and interface with the various buses in the vehicle, where the various buses are connected with the various components of the vehicle to facilitate information transfer among the vehicle components. Each processing module is further modularized with the ability to add and replace other functional modules now or in the future. These functional modules can themselves act as distinct vehicle components. Each processing modules may hand-off processing to other modules depending on its health, processing load, or by third-party control. Thus, the plurality of processing modules helps to implement a middleware point of control to the vehicle with redundancy in processing and safety and security awareness in their applications.
-
Citations
40 Claims
-
1-20. -20. (canceled)
-
21. A vehicle, comprising:
a non-transient, tangible computer readable memory; a computational module selector to identify and select a computational module from among plural computation modules in communication with the computational module selector to perform a selected task, operation, and/or function, the selected task, operation, and/or function having performance requirements, wherein each of the plural computation modules has processing capabilities and operating system capabilities;
wherein at least a pair of the plural computation modules has non-identical processing capabilities wherein one of the pair has a cellular capability and the other of the pair does not have a cellular capability;a network selector module to select one of plural communication networks local to the vehicle for transmitting a selected signal and wherein the network selector module selects one of plural communication networks local to the vehicle for transmitting a selected signal based on one or more of network/node status, signal/noise ratio, type of signal, available and/or unavailable bandwidth, network performance parameter(s), and quality of service, wherein the network selector module configures the selected signal in accordance with the selected network'"'"'s transmission protocol; wherein the computational module selector selects a computational module from among the plural computation modules that has processing capabilities that satisfy the performance requirements of the selected task, operation, and/or function; wherein each of the computational module selector, computation modules and the network selector module are stored in the non-transient, tangible computer readable memory. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40)
-
22. The vehicle of claim 21, wherein the vehicle further comprises a plurality of processing modules, a first processing module being in an active mode whereby the first processing module is in primary control of at least most vehicle functions and a second processing module being in a standby mode whereby the second processing module is ready to assume primary control of at least most vehicle functions, wherein the first and second processing modules are in wireless communication with one another, and wherein a state of the second processing module is maintained substantially in synchronicity with a state of the first processing module to a enable a stateful failover from the first processing module to the second processing module, wherein each of the afore-mentioned modules are stored in a non-transient, tangible computer readable memory.
-
23. The vehicle of claim 21, wherein the vehicle further comprises an arbitration module to arbitrate hand-off conflicts between duplicated first and second processing modules and wherein the arbitration module selects one of the first and second processing modules to currently possess and/or own a token, the token indicating which processing module is an active processing module and/or which processing module is a standby processing module, wherein each of the afore-mentioned modules are stored in a non-transient, tangible computer readable memory.
-
24. The vehicle of claim 23, wherein the vehicle further comprises a health check module to determine a corresponding state of health of each of the duplicated first and second processing modules to perform at least one of critical and non-critical tasks, functions, and operations and wherein the health check module performs a check and/or test, in response to an internally generated interrupt and/or request to determine a selected processing module'"'"'s ability to perform critical and/or non-critical vehicle tasks, functions, and/or operations, assign a score to the selected processing module based on the check and/or test results, and compare the score to one or more thresholds and/or to a score of a different processing module to determine a state of health to determine a state of health of the selected processing module, wherein each of the afore-mentioned modules are stored in a non-transient, tangible computer readable memory.
-
25. The vehicle of claim 21, wherein the vehicle further comprises a displayed object movement module to move displayed objects from a source input/output system to a target input/output system, the source and target input/output systems corresponding to different vehicle occupants and wherein the displayed object movement module selects the target input/output system from among plural input/output systems on board the vehicle based on input from a user of the source input/output system, wherein each of the afore-mentioned modules are stored in a non-transient, tangible computer readable memory.
-
26. The vehicle of claim 21, wherein the vehicle further comprises a media filter module to apply a selected rule to filter third party sourced signals received by a vehicle processing module for presentation to a vehicle occupant via a corresponding input/output system and wherein the selected rule is one or more of a whitelist, blacklist, user preference, sensed occupant context, and/or governing federal, state, provincial, and/or local law and/or regulation applicable to a current sensed spatial location of the vehicle, wherein each of the afore-mentioned modules are stored in a non-transient, tangible computer readable memory.
-
27. The vehicle of claim 21, wherein the vehicle further comprises a diagnostic module to receive a warning and/or error signal from a vehicle component and select a destination for the signal, the possible destinations including a vehicle input/output system to present the warning and/or error to a vehicle occupant, an emergency service provider, an emergency responder, and a remotely located diagnostic service to diagnose a cause of the warning and/or error signal and wherein the diagnostic module provides the warning and/or error signal to the vehicle occupant and interactively communicates a likely cause of the warning and/or error signal to the occupant and receives a command from the occupant to contact one or more of an emergency service provider, an emergency responder, and a remotely located diagnostic service, wherein each of the afore-mentioned modules are stored in a non-transient, tangible computer readable memory.
-
28. The vehicle of claim 21, wherein the vehicle further comprises a remote control module to receive a request from a remote source to command a vehicle function, authenticate the requestor, and, when successfully authenticated and when privileged to request the performance of the vehicle function, execute or cause execution of the request and wherein the remote control module is associated with one or more of the vehicle owner, a law enforcement authority, a lender associated with a loan having the vehicle as collateral, and a vehicle manufacturer and wherein the requested vehicle function is executed or caused to be executed notwithstanding a contrary command from the vehicle operator, wherein each of the afore-mentioned modules are stored in a non-transient, tangible computer readable memory.
-
29. The vehicle of claim 21, wherein the vehicle further comprises a media controller module to receive a media stream from a remote node, identify which of a plurality of vehicle input/output systems are disabled due to operator command and/or as a result of a rule, and, when enabled, provide the media stream to an input/output system associated with an associated vehicle occupant and wherein the media controller module, in a dependent mode, provides common content synchronously to each of the input/output systems and, in an independent mode, provides different content to different ones of the input/output systems, wherein each of the afore-mentioned modules are stored in a non-transient, tangible computer readable memory.
-
30. The vehicle of claim 21, wherein the vehicle further comprises an installation supervisor module to determine, for a newly installed software and/or hardware and/or other component, whether the newly installed component satisfies defined functional and/or source or reuse requirements and/or restrictions for the component and/or license restrictions, and, when satisfied, create data structures in the component and/or a memory in the vehicle to bind the component to the current vehicle and thereby prevent the component from communicating with a processing module in a different vehicle and wherein the newly installed software and/or hardware and/or other component is one or more of an on-board sensor, a processing module or component thereof, a software application, a circuit board, an expansion module or component thereof, a critical or non-critical device, and a cellular upgrade module, wherein each of the afore-mentioned modules are stored in a non-transient, tangible computer readable memory.
-
31. The vehicle of claim 21, wherein the plural computational modules comprise one or more vehicle processing devices and one or more occupant computational devices, the one or more occupant computational devices comprising one or more of a mobile phone, personal digital assistant, tablet computer, and laptop computer.
-
32. The vehicle of claim 21, wherein the plural computational modules comprise multiple software applications corresponding to different versions, releases, and/or vendors of a common type of software application.
-
33. The vehicle of claim 21, wherein the vehicle further comprises a network security module to isolate a component encountering a security breach and/or isolate a primary processing module from one or more other components in a local vehicle network and wherein the network security module filters and/or prohibits communications between the isolated one of the component and/or processing module with other network components, wherein each of the afore-mentioned modules are stored in a non-transient, tangible computer readable memory.
-
34. The vehicle of claim 21, wherein the vehicle further comprises a network controller module to cache automatically streaming media in response to a vehicle state change, function, and/or operation and wherein the network controller module caches automatically streaming media in response to the vehicle state changing from a parked state to an unparked state, wherein the computational module selector continuously checks if excess processing power is available from at least among the plural computation modules, an expansion module and an external computational device, whereby the selected task, operation and/or function is off-loaded, wherein each of the afore-mentioned modules are stored in a non-transient, tangible computer readable memory.
-
35. The vehicle of claim 21, wherein the vehicle further comprises a unified communications presence reporting module to determine whether a vehicle occupant is present and/or by what communication channel to contact the occupant based on a requirement of a law applicable to a current location of the vehicle and wherein the unified communications presence reporting module determines that the vehicle occupant is the operator of the vehicle and that the vehicle operator is not present by a selected communication channel when the vehicle is in motion, wherein each of the afore-mentioned modules are stored in a non-transient, tangible computer readable memory.
-
36. The vehicle of claim 21, wherein the vehicle further comprises a social networking module to enable processing modules of different vehicles to wirelessly connect to exchange vehicle information, wherein each of the afore-mentioned modules are stored in a non-transient, tangible computer readable memory.
-
37. The vehicle of claim 21, wherein at least one of the plural computation modules is a software application of an on board or portable device located physically within the vehicle.
-
38. The vehicle of claim 37, wherein the selected task, operation, and/or function is running a software application, wherein the computational module selector selects a computational module from among the plural computation modules based on operating system capabilities that satisfy the software application operating system performance requirements.
-
39. The vehicle of claim 38, wherein the vehicle further comprises a display, wherein the software application is displayed on the display.
-
40. The vehicle of claim 39, wherein the display is configured to allow the user to interact with the software application.
-
22. The vehicle of claim 21, wherein the vehicle further comprises a plurality of processing modules, a first processing module being in an active mode whereby the first processing module is in primary control of at least most vehicle functions and a second processing module being in a standby mode whereby the second processing module is ready to assume primary control of at least most vehicle functions, wherein the first and second processing modules are in wireless communication with one another, and wherein a state of the second processing module is maintained substantially in synchronicity with a state of the first processing module to a enable a stateful failover from the first processing module to the second processing module, wherein each of the afore-mentioned modules are stored in a non-transient, tangible computer readable memory.
Specification
- Resources
-
Current AssigneeAutoConnect Holdings LLC
-
Original AssigneeAutoConnect Holdings LLC
-
InventorsRicci, Christopher P., Swartz, Douglas W.
-
Application NumberUS14/875,411Publication NumberTime in Patent OfficeDaysField of SearchUS Class Current1/1CPC Class CodesB60K 2360/11 Instrument graphical user i...B60K 2360/1438 Touch screensB60K 2360/146 Instrument input by gestureB60K 2360/1464 3D-gestureB60K 2360/1472 Multi-touch gestureB60K 2360/1476 HandwritingB60K 2360/164 InfotainmentB60K 2360/166 NavigationB60K 2360/21 using camerasB60K 2360/566 Mobile devices displaying v...B60K 2360/5894 SIM cardsB60K 2360/5899 InternetB60K 2360/691 HousingsB60K 35/00 Instruments specially adapt...B60K 35/10 Input arrangements, i.e. fr...B60K 35/28 characterised by the type o...B60K 35/50 Instruments characterised b...B60K 35/60 Instruments characterised b...B60K 35/80 Arrangements for controllin...B60K 35/85 Arrangements for transferri...B60K 37/00 : Dashboards as road-vehicle ...B60R 16/037 : for occupant comfort , e.g....B60R 21/01512 : Passenger detection systemsB60R 7/04 : in driver or passenger spac...B60W 2040/0872 : Driver physiologyB60W 2040/0881 : Seat occupation; Driver or...B60W 2050/0095 : Automatic control mode changeB60W 2540/043 : Identity of occupantsB60W 2540/22 : Psychological state; Stress...B60W 2540/221 : Physiology, e.g. weight, he...B60W 2540/26 : IncapacityB60W 2555/60 : Traffic rules, e.g. speed l...B60W 30/182 : Selecting between different...B60W 40/04 : Traffic conditionsB60W 40/08 : related to drivers or passe...B60W 40/09 : Driving style or behaviourB60W 50/0098 : Details of control systems ...B60W 50/08 : Interaction between the dri...G01C 21/20 : Instruments for performing ...G01S 19/13 : ReceiversG02B 27/0101 : characterised by optical fe...G06F 11/2023 : Failover techniquesG06F 11/3013 : where the computing system ...G06F 11/3065 : Monitoring arrangements det...G06F 11/328 : Computer systems status dis...G06F 13/14 : Handling requests for inter...G06F 13/364 : using independent requests ...G06F 16/24 : QueryingG06F 16/29 : Geographical information da...G06F 17/00 : Digital computing or data p...G06F 21/10 : Protecting distributed prog...G06F 21/1062 : EditingG06F 21/121 : Restricting unauthorised ex...G06F 21/32 : using biometric data, e.g. ...G06F 21/335 : for accessing specific reso...G06F 21/42 : using separate channels for...G06F 21/629 : to features or functions of...G06F 2203/04808 : Several contacts: gestures ...G06F 3/017 : Gesture based interaction, ...G06F 3/0481 : based on specific propertie...G06F 3/04817 : using icons graphical or vi...G06F 3/0482 : Interaction with lists of s...G06F 3/0484 : for the control of specific...G06F 3/04842 : Selection of displayed obje...G06F 3/04847 : Interaction techniques to c...G06F 3/0486 : Drag-and-dropG06F 3/0488 : using a touch-screen or dig...G06F 3/04883 : for inputting data by handw...G06F 8/61 : InstallationG06F 9/44505 : Configuring for program ini...G06F 9/54 : Interprogram communicationG06N 5/02 : Knowledge representation; S...G06N 5/048 : Fuzzy inferencingG06Q 30/0265 : Vehicular advertisementG06Q 40/08 : InsuranceG06Q 50/26 : Government or public servic...G06T 19/006 : Mixed reality object pose d...G06V 20/59 : inside of a vehicle, e.g. r...G06V 40/10 : Human or animal bodies, e.g...G06V 40/15 : Biometric patterns based on...G06V 40/28 : Recognition of hand or arm ...G07C 5/006 : Indicating maintenanceG07C 5/008 : communicating information t...G07C 5/02 : Registering or indicating d...G07C 5/08 : Registering or indicating p...G07C 5/0808 : Diagnosing performance data...G07C 5/0825 : using optical meansG07C 5/0833 : using audio meansG07C 5/085 : using electronic data carriersG07C 5/0866 : the electronic data carrier...G08C 19/00 : Electric signal transmissio...G08G 1/0112 : from the vehicle, e.g. floa...G08G 1/0116 : from roadside infrastructur...G08G 1/012 : from other sources than veh...G08G 1/0129 : for creating historical dat...G08G 1/0133 : for classifying traffic sit...G08G 1/0137 : for specific applicationsG08G 1/0141 : for traffic information dis...G08G 1/017 : identifying vehicles G08G1/...G08G 1/09 : Arrangements for giving var...G08G 1/096716 : where the received informat...G08G 1/096725 : where the received informat...G08G 1/096775 : where the origin of the inf...G08G 1/096783 : where the origin of the inf...G08G 1/096791 : where the origin of the inf...G08G 1/096827 : where the route is computed...G08G 1/096844 : where the complete route is...G08G 1/143 : inside the vehiclesG08G 1/16 : Anti-collision systems road...H04L 41/14 : Network analysis or designH04L 51/56 : Unified messaging, e.g. int...H04L 63/10 : for controlling access to d...H04L 67/02 : based on web technology, e....H04L 67/12 : specially adapted for propr...H04L 67/125 : involving control of end-de...H04N 21/41422 : located in transportation m...H04N 21/4331 : Caching operations, e.g. of...H04N 21/482 : End-user interface for prog...H04W 4/40 : for vehicles, e.g. vehicle-...H04W 4/48 : for in-vehicle communicationH04W 4/50 : Service provisioning or rec...H04W 4/80 : Services using short range ...H04W 4/90 : Services for handling of em...H04W 8/22 : Processing or transfer of t...H04W 84/005 : Moving wireless networksH04W 84/12 : WLAN [Wireless Local Area N...