US20150193220A1 - Autonomous global software update - Google Patents
Autonomous global software update Download PDFInfo
- Publication number
- US20150193220A1 US20150193220A1 US14/151,526 US201414151526A US2015193220A1 US 20150193220 A1 US20150193220 A1 US 20150193220A1 US 201414151526 A US201414151526 A US 201414151526A US 2015193220 A1 US2015193220 A1 US 2015193220A1
- Authority
- US
- United States
- Prior art keywords
- version
- topic
- vehicle
- software
- tree
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/20—Administration of product repair or maintenance
Definitions
- the illustrative embodiments generally relate to a method and apparatus for performing software updates.
- the vehicle may be driven to a dealership and serviced by a technician.
- the technician may utilize a system that tracks the individual software levels of every component in the vehicle as well as available software updates.
- the technician may manually apply the software updates indicated by the system and record any changes back into the system.
- a computer-implemented method includes subscribing to a first topic tree topic associated with an installed vehicle software component version and identifying a desired software component version based on a notification published in the topic. The method further includes, when the desired version and the installed version differ, updating a software component using a software update in a second topic tree topic, associated with an updated version of the installed version.
- a vehicle in a second illustrative embodiment, includes a vehicle-based computing system configured to subscribe to a first topic tree topic associated with an installed vehicle software component version and identify a desired software component version based on a published notification retrieved from the first topic.
- the vehicle-based computing system is further configured to, when the desired version and the installed version differ, update a software component using a software update retrieved from a second topic tree topic associated with software updates to the installed version
- a non-transitory computer readable storage medium stores instructions that, when executed by a processor, configure the processor to subscribe to a first topic tree topic associated with an installed vehicle software component version, and identify a desired software component version based on a published notification retrieved from the first topic.
- the computer readable storage medium further stores instructions that, when executed by a processor, configure the processor to, when the desired version and the installed version differ, update a software component using a software update retrieved from a second topic tree topic associated with software updates to the installed version.
- FIG. 1 illustrates an example block topology for a vehicle-based computing system for a vehicle
- FIG. 2 illustrates an exemplary global update system in communication with a vehicle-based computing system
- FIG. 3 illustrates an exemplary topic tree for software versions of a vehicle-based computing system
- FIG. 4A illustrates an exemplary topic tree for a software component of a vehicle 31 in which multiple versions are installed in the field
- FIG. 4B illustrates an exemplary topic tree for incrementally updating versions of a software component of a vehicle
- FIG. 5 illustrates an exemplary process for updating a software version of a component of the vehicle-based computing system.
- a vehicle software update system may utilize a publish/subscribe model to publish software updates that can be consumed by vehicle subscribers.
- the publish/subscribe model may utilize topics, also known as logical channels, through which publishers may send messages and subscribers may receive messages.
- a vehicle may be a publisher and may send vehicle alerts to a service delivery network, respond to commands from the service delivery network, or notify the service delivery network of vehicle connectivity status.
- a vehicle may be a subscriber and may receive control messages or software updates from a service delivery network.
- a topic tree structure may be utilized by the vehicle software update system to define a structure of the topics and sub-topics that are used in sending messages between the vehicles and the service delivery network.
- a vehicle-based computing system such as a telematics unit of a vehicle, may subscribe to nodes of the topic tree that correspond to the installed software/firmware version of the vehicle.
- a publisher of software updates may provide a notification message in a topic node corresponding to a vehicle to be updated or a version of the software to be updated.
- the publisher may further publish a software upgrade in a topic node associated with a version of the software to be updated by the software upgrade.
- the notification message may include or take the form of a global configuration file specifying a desired software version for which the global configuration file is applicable.
- the vehicle may retrieve the message and determine whether to upgrade its software version to the version specified by the notification. For example, if the desired software version is newer than the installed software version of the vehicle, the vehicle may target to update to the desired software version.
- the vehicle may subscribe to the topic node corresponding to its installed software version, and install the software update published to that topic node.
- a publisher of software updates may provide a software update, and publish a configuration file in a topic of the particular software version to be updated.
- FIG. 1 illustrates an example block topology for a vehicle-based computing system 1 (VCS) for a vehicle 31 .
- VCS vehicle-based computing system 1
- An example of such a vehicle-based computing system 1 is the SYNC system manufactured by THE FORD MOTOR COMPANY.
- a vehicle enabled with a vehicle-based computing system may contain a visual front end interface 4 located in the vehicle 31 .
- the user may also be able to interact with the interface if it is provided, for example, with a touch sensitive screen.
- the interaction occurs through, button presses, spoken dialog system with automatic speech recognition and speech synthesis.
- a processor 3 or central processing unit (CPU) 3 controls at least some portion of the operation of the vehicle-based computing system.
- the processor 3 allows onboard processing of commands and routines.
- the processor 3 is connected to both non-persistent 5 and persistent storage 7 .
- the non-persistent storage 5 is random access memory (RAM) and the persistent storage 7 is a hard disk drive (HDD) or flash memory.
- persistent (non-transitory) storage 7 can include all forms of memory that maintain data when a computer or other device is powered down. These include, but are not limited to, HDDs, compact disks (CDs), digital versatile disks (DVDs), magnetic tapes, solid state drives, portable universal serial bus (USB) drives and any other suitable form of persistent storage 7 .
- the processor 3 is also provided with a number of different inputs allowing the user to interface with the processor 3 .
- a microphone 29 an auxiliary input 25 (for input 33 ), a USB input 23 , a global positioning system (GPS) input 24 , a screen 4 , which may be a touchscreen display, and a BLUETOOTH input 15 are all provided.
- An input selector 51 is also provided, to allow a user to swap between various inputs. Input to both the microphone and the auxiliary connector is converted from analog to digital by a converter 27 before being passed to the processor 3 .
- numerous of the vehicle components and auxiliary components in communication with the VCS 1 may use a vehicle network (such as, but not limited to, a car area network (CAN) bus) to pass data to and from the VCS 1 (or components thereof).
- CAN car area network
- Outputs to the VCS system 1 can include, but are not limited to, a visual display 4 and a speaker 13 or stereo system output.
- the speaker 13 is connected to an amplifier 11 and receives its signal from the processor 3 through a digital-to-analog converter 9 .
- Output can also be made to a remote BLUETOOTH device such as personal navigation device (PND) 54 or a USB device such as vehicle navigation device 60 along the bi-directional data streams shown at 19 and 21 respectively.
- PND personal navigation device
- USB device such as vehicle navigation device 60 along the bi-directional data streams shown at 19 and 21 respectively.
- the system 1 uses the BLUETOOTH transceiver 15 to communicate 17 with a nomadic device (ND) 53 (e.g., cell phone, smart phone, PDA, or any other device having wireless remote network connectivity).
- ND nomadic device
- the nomadic device 53 can then be used to communicate 59 with a network 61 outside the vehicle 31 through, for example, communication 55 with a cellular tower 57 .
- tower 57 may be a WiFi access point.
- Exemplary communication between the nomadic device 53 and the BLUETOOTH transceiver is represented by communication 14 .
- Pairing a nomadic device 53 and the BLUETOOTH transceiver 15 can be instructed through a button 52 or similar input. Accordingly, the CPU is instructed that the onboard BLUETOOTH transceiver 15 will be paired with a BLUETOOTH transceiver in a nomadic device 53 .
- Data may be communicated between CPU 3 and network 61 utilizing, for example, a data-plan, data over voice, or dual-tone multiple frequency (DTMF) tones associated with nomadic device 53 .
- DTMF dual-tone multiple frequency
- the nomadic device 53 can then be used to communicate 59 with a network 61 outside the vehicle 31 through, for example, communication 55 with a cellular tower 57 .
- the modem 63 may establish communication 20 with the tower 57 for communicating with network 61 .
- modem 63 may be a USB cellular modem 63 and communication 20 may be cellular communication.
- the processor 3 is provided with an operating system including an API to communicate with modem application software.
- the modem application software may access an embedded module or firmware on the BLUETOOTH transceiver to complete wireless communication with a remote BLUETOOTH transceiver (such as that found in a nomadic device).
- Bluetooth is a subset of the Institute of Electrical and Electronics Engineers (IEEE) 802 personal area network (PAN) protocols.
- IEEE 802 local area network (LAN) protocols include wireless fidelity (WiFi) and have considerable cross-functionality with IEEE 802 PAN. Both are suitable for wireless communication within a vehicle 31 .
- Another communication means that can be used in this realm is free-space optical communication (such as infrared data association (IrDA)) and non-standardized consumer infrared (IR) protocols.
- nomadic device 53 includes a modem for voice band or broadband data communication.
- a technique known as frequency division multiplexing may be implemented when the owner of the nomadic device 53 can talk over the device while data is being transferred. At other times, when the owner is not using the device, the data transfer can use the whole bandwidth (300 Hz to 3.4 kHz in one example). While frequency division multiplexing may be common for analog cellular communication between the vehicle 31 and the Internet, and is still used, it has been largely replaced by hybrids of Code Domain Multiple Access (CDMA), Time Domain Multiple Access (TDMA), Space-Domain Multiple Access (SDMA) for digital cellular communication.
- CDMA Code Domain Multiple Access
- TDMA Time Domain Multiple Access
- SDMA Space-Domain Multiple Access
- ITU IMT-2000 (3G) compliant standards offer data rates up to 2 mbs for stationary or walking users and 385 kbs for users in a moving vehicle 31 .
- 3G standards are now being replaced by IMT-Advanced (4G) which offers 200 mbs for users in a vehicle 31 and 1 gbs for stationary users.
- 4G IMT-Advanced
- nomadic device 53 is replaced with a cellular communication device (not shown) that is installed to vehicle 31 .
- the ND 53 may be a wireless LAN device capable of communication over, for example (and without limitation), an 802.11g network (i.e., WiFi) or a WiMax network.
- incoming data can be passed through the nomadic device 53 via a data-over-voice or data-plan, through the onboard BLUETOOTH transceiver and into the processor 3 of the vehicle 31 .
- the data can be stored on the HDD or other storage media 7 until such time as the data is no longer needed.
- USB is one of a class of serial networking protocols.
- IEEE 1394 FireWireTM (Apple), i.LINKTM (Sony), and LynxTM (Texas Instruments)
- EIA Electros Industry Association
- IEEE 1284 Chipperability Port
- S/PDIF Serialony/Philips Digital Interconnect Format
- USB-IF USB Implementers Forum
- auxiliary device 65 may include, but are not limited to, personal media players, wireless health devices, portable computers, and the like.
- the CPU 3 could be connected to a vehicle-based wireless router 73 , using for example a WiFi (IEEE 803.11) 71 transceiver. This could allow the CPU 3 to connect to remote networks within range of the local router 73 .
- a WiFi IEEE 803.11
- the exemplary processes may be executed at least in part by one or more computing systems external to and in communication with a vehicle computing system.
- a vehicle computing system may include, but is not limited to, a wireless device (e.g., and without limitation, a mobile phone) or a remote computing system (e.g., and without limitation, a server) connected through the wireless device.
- a wireless device e.g., and without limitation, a mobile phone
- a remote computing system e.g., and without limitation, a server
- Collectively, such systems may be referred to as vehicle associated computing systems (VACS).
- VACS vehicle associated computing systems
- particular components of the VACS may perform particular portions of a process depending on the particular implementation of the system.
- a process includes a step of sending or receiving information with a paired wireless device, then it is likely that the wireless device is not performing the process, since the wireless device would not “send and receive” information with itself.
- the wireless device would not “send and receive” information with itself.
- FIG. 2 illustrates an exemplary service delivery network 200 in communication over the network 61 with a vehicle 31 , through a wireless device, in wireless communication with the network and the vehicle.
- the vehicle 31 may include various hardware and software components.
- a VCS 1 of the vehicle 31 may be configured to query for existence and version information for at least a portion of these hardware and software components of the vehicle 31 .
- additional information identifying the specific vehicle 31 e.g., VIN information published on the CAN bus, subscriber identity module (SIM) information of the modem 63 such as international mobile station equipment identity (IMEI), etc.
- SIM subscriber identity module
- IMEI international mobile station equipment identity
- the service delivery network 200 may receive these communications from the vehicles 31 , and may maintain a data store of the hardware configurations and software (e.g., firmware, etc.) versions linked to identifiers of the vehicles 31 .
- the service delivery network 200 may additionally provide publish/subscribe messaging functionality for communication between the service delivery network 200 and the vehicles 31 .
- the publish/subscribe model may utilize one or more topics 202 , where topics 202 are named logical channels through which publishers may send messages 204 and subscribers may receive messages 204 . Rather than receiving all the messages 204 , subscribers to the topics 202 receive the messages 204 published to the topics 202 to which they subscribe, and all subscribers to a topic 202 will receive substantially the same topic messages 204 .
- a publisher of the messages 204 may be responsible for providing messages 204 to the topics 202 that are consistent with the topic 202 .
- the publisher may include, for example, an OEM or other entity responsible for maintaining and/or updating vehicle software/firmware.
- a vehicle 31 may be a publisher and may send vehicle alerts to a topic 202 of the service delivery network 200 , respond to messages 204 from the service delivery network 200 , or notify the service delivery network 200 of vehicle 31 connectivity status to the network 61 .
- a vehicle 31 may be a subscriber and may receive control messages 204 or other information from a service delivery network 200 .
- the topics 202 may be arranged into a topic tree 206 .
- the topic tree 206 may be defined by the service delivery network 200 to provide a structure of the topics 202 and sub-topics 202 that are used in sending messages 204 between the vehicles 31 and the service delivery network 200 .
- FIG. 3 illustrates an exemplary topic tree 206 for use in updating software versions of a VCS 1 .
- the topic tree 206 may be used, for example, to allow the service delivery network 200 to define a topic 202 structure for performing vehicle 31 software updates.
- a VCS 1 such as a telematics unit of a vehicle 31 , may subscribe to nodes of the topic tree 206 that correspond to the installed region, software/firmware version, features, configuration file version of the vehicle 31 , etc.
- the particular layout of the exemplary topic tree 206 is for purpose of illustration only, and other layouts of topic tree 206 may be used.
- other topic trees 206 may be used by the service delivery network 200 that have more, fewer or different levels of categorization.
- a region node 300 of the topic tree 206 may indicate a region for which the sub-topic 202 nodes under the region node 300 may relate.
- the region nodes 300 may represent different regional market areas in which vehicles 31 may be sold, such as North America, Europe, and Asia Pacific.
- the region nodes 300 may relate to other geographical areas, such as countries, states, postal codes, and telephone area codes, as some other examples.
- the service delivery network 200 may accordingly publish different information for vehicles 31 associated with different regions.
- the topic tree 206 may include one or more vehicle-specific nodes 302 , where each vehicle-specific node 302 relates to a vehicle 31 associated with the parent regional node 300 .
- the service delivery network 200 may create vehicle-specific nodes 302 for vehicles 31 according to VIN or other unique identifier of vehicles 31 that register with the service delivery network 200 as belonging to the particular region.
- Sub-nodes to the vehicle-specific nodes 302 may be used to further organize topics 202 configured for communication to and from the individual vehicles 31 .
- the topic tree 206 may further include one or more vehicle topic nodes 304 for communication to the specific vehicles 31 .
- a vehicle 31 may subscribe to the vehicle topic node 304 that correspond to the VIN or other unique identifier of the vehicle 31 , so that the vehicle 31 may be able to receive messages 204 in topics 202 that specifically relate to the vehicle 31 itself.
- a vehicle 31 may subscribe to a time-sensitive update vehicle topic node 304 -A for receiving messages 204 for the particular vehicle 31 that are of a time-sensitive nature. Due to their time-sensitive nature, messages 204 posted to the time-sensitive update vehicle topic node 304 -A may time out and be removed from the topic 202 if they are not received by the vehicle 31 within an amount of time (e.g., specified by the message 204 , common to all time-sensitive messages 204 , etc.). As another example, a vehicle 31 may subscribe to a non-time-sensitive vehicle topic node 304 -B for receiving messages 204 for the particular vehicle 31 that not of a time-sensitive nature.
- Updates such as calendar updates, may be posted to the non-time-sensitive vehicle topic node 304 -B, and may remain in the topic 202 until received by the subscribed vehicle 31 .
- a vehicle 31 may subscribe to a feature update vehicle topic node 304 -C for receiving messages 204 in a topic 202 directed to particular vehicles 31 and relating to updates to the features 31 of the vehicle 31 .
- a feature may refer to a grouping of configuration parameters applicable to the specified vehicle 31 included in the topic tree 206 .
- a feature may, for example, represent settings to implement an available connected service (e.g., MY FORD MOBILE) or a customer-specific collection of settings (e.g., a suite of features requested to be enabled and/or disabled for use by a particular fleet purchaser).
- a vehicle 31 may subscribe to a firmware update vehicle topic node 304 -D for receiving messages 204 in a topic 202 directed to particular vehicles 31 and relating to updates to the firmware of the vehicle 31 .
- the vehicle-specific nodes 302 the topic tree 206 may further include one or more vehicle topic nodes 306 for communication from the specific vehicles 31 .
- a general alert topic node 306 -A may be used by a vehicle 31 to publish messages 204 such as indications of low fuel, erratic driving by the vehicle 31 , or periodic current vehicle 31 GPS locations.
- a connection status topic node 306 -B may be used by a vehicle 31 to publish messages 204 such as the connection status of the vehicle 31 (e.g., whether the vehicle 31 was disconnected and then reconnected to the network 61 ).
- a command response alert topic node 306 -C may be used by a vehicle 31 to publish messages 204 such as indications of success or failure of actions requested by the service delivery network 200 .
- the topic tree 206 may include one or more hardware version topic nodes 308 , where each hardware version topic node 308 relates to a installed vehicle 31 hardware version that may be shared by multiple vehicles 31 (e.g., a version of the VCS 1 hardware). These hardware version topic nodes 308 and sub-topic nodes may accordingly be used to reference the vehicles 31 according to hardware version, not according to individual vehicle 31 .
- the topic tree 206 may include one or more firmware version nodes 310 .
- Each firmware version node 310 may organize nodes of the topic tree 206 associated with a firmware version that may be installed on the parent vehicle 31 hardware for a particular region.
- the firmware version node 310 may further include feature nodes 312 organizing nodes of the topic tree 206 associated with a particular feature.
- a feature may represent settings to implement an available connected service or a customer-specific collection of settings.
- a firmware version may support multiple different features, where different portions of functionality of the firmware are engaged or disengaged for the various features.
- the feature nodes 312 may further include configuration version nodes 314 , each representing a topic 202 related to a version of a configuration file for the associated feature, firmware version, hardware version, and region.
- the configuration files may include setting and other information related to the parent features that they configure (e.g., for the version of firmware installed on the version of hardware for the particular region). Because settings and other options may change from version to version, the configuration files may also include a version number of the firmware for which they are compatible.
- a vehicle 31 may subscribe to topics of 202 the topic tree 206 that relate to the configuration of the vehicle 31 .
- a vehicle may subscribe to a vehicle topic node 304 corresponding to the VIN of the vehicle 31 , to receive any updates targeting the specific vehicle 31 .
- a VCS 1 of a vehicle 31 may subscribe to a configuration version node 314 of the topic tree 206 , to receive configuration or other updates corresponding to the installed region, hardware version, firmware version, feature, and global configuration version of the vehicle 31 .
- the subscribed vehicle 31 may check or otherwise be informed of messages 204 published to the subscribed topics 202 .
- the service delivery network 200 may publish messages 204 into topics 202 of the topic tree 206 for which updates are to be performed.
- the service delivery network 200 may publish a message 204 into a vehicle topic node 304 to cause a particular vehicle 31 to be informed that an update should be performed for the vehicle 31 .
- the service delivery network 200 may publish a message 204 into a configuration version node 314 to cause any subscribed vehicles 31 having a particular region, hardware version, firmware version, feature, and global configuration version to perform an update.
- an update may be indicated by a service delivery network 200 publishing a new configuration file in the subscribed topic 202 as the message 204 , where the new configuration file may be associated with an updated version of the software or firmware.
- a vehicle 31 receiving the configuration file may identify the version of the configuration file, and may set a desired software or firmware version for the vehicle 31 to be that of the version of the configuration file.
- the vehicle 31 may identify to upgrade its software version to the version specified by the notification.
- the vehicle 31 may further utilize the topic tree 206 to provide updates messages 204 to the service delivery network 200 with respect to the status of the software update.
- the vehicle 31 may publish alert messages 204 in an alert vehicle topic node 304 indicative of whether or not the software update was successful, and also to report the new installed version of the vehicle 31 software to the service delivery network 200 .
- the service delivery network 200 may be able to request updates for individual vehicles 31 or for vehicles 31 having specific configurations.
- a software application may be updated from an older version to a newer version by updating those parts that have changed from the previous version, rather than by uninstalling the old version and installing the new version. These incremental updates may be referred to as deltas or differentials.
- An incremental update may be applied to update a software module or application from one version to a next version.
- software may be multiple versions behind, and may require iterative updating from the old installed version to the current version through the ordered application of multiple incremental updates.
- the incremental approach may have certain advantages over full updates, such as reduced network traffic for downloaded version updates, as well as ease of testing of version upgrades from the previous version as compared to testing from all earlier versions of the software. Either approach may be used as is appropriate for a given situation.
- FIG. 4A illustrates an exemplary topic tree 206 for a software component of a vehicle 31 in which multiple versions are installed in the field.
- a software module may have some vehicles 31 in the field at version 1 , others at version 2 , and still others at version 3 .
- a bug or other issue may be identified that affects software versions 1 and 2 , but not version 3 .
- a new version of the software, version 4 may be created to correct the issue in versions 1 and 2 (and potentially correct any issues that may have been causes by the issue).
- vehicles 31 having software at version 3 are unaffected, it may be undesirable for those vehicles 31 to download and update to version 4 .
- vehicles 31 at versions 1 and 2 may be required to be updated through version 3 in order to reach version 4 .
- FIG. 4B illustrates an exemplary topic tree 206 for incrementally updating versions of a software component of a vehicle 31 .
- the service delivery network 200 may utilize the topic tree 206 to update the vehicles at version 1 and 2 to version 4 , while not updating those vehicles 31 at version 3 .
- the service delivery network 200 may publish update notifications to the configuration version node 314 topics 202 for vehicles 31 having versions 1 and 2 installed, but not to the configuration version node 314 topics for 202 vehicles 31 having version 3 installed.
- the update notifications may include configuration files 208 associated with version 4 of the software, such that the vehicles 31 at versions 1 and 2 receiving the notifications may set a desired software or firmware version for the vehicle 31 to be version 4 .
- the service delivery network 200 may further publish incremental software updates 400 to the firmware version nodes 310 .
- the service delivery network 200 may publish an incremental software update 400 -A from version 1 to version 2 in the firmware version node 310 for version 1 , an incremental software update 400 -B from version 2 to version 3 in the firmware version node 310 for version 2 , and an incremental software update 400 -C from version 3 to version 4 in the firmware version node 310 for version 3 .
- the vehicles 31 at version 3 do not receive configuration files 208 associated with version 4 , the vehicles 31 at version 3 do not set their desired version to 4 . Accordingly, even though a software update from version 3 to version 4 is published, the vehicles 31 originally at version 3 in this example will not attempt to update to version 4 .
- a vehicle 31 at version 1 receiving the notifications may identify that the desired software version (i.e., version 4 ) and the installed software version (i.e., version 1 ) differ.
- the vehicle 31 may subscribe to the firmware version node 310 topic 202 of the topic tree 206 corresponding to the region and installed firmware version of the vehicle 31 (i.e., version 1 ).
- the vehicle 31 subscribed to the firmware version node 310 for version 1 may receive the published notification of the incremental software update 400 -A from version 1 to version 2 , and may download and install the incremental update 400 -A.
- the vehicle 31 may now be at version 2 of the software.
- the vehicle 31 may unsubscribe from the configuration version node 314 of the topic tree 206 related to version 1 and the firmware version node 310 for version 1 , and may subscribe to the configuration version node 314 of the topic tree 206 related to version 2 .
- the vehicle 31 that is now at version 2 may identify that the desired software version (i.e., version 4 ) and the installed software version (i.e., version 2 ) continue to differ.
- the vehicle 31 may subscribe to the firmware version node 310 topic 202 of the topic tree 206 corresponding to the region and installed firmware version of the vehicle 31 (i.e., version 2 ).
- the vehicle 31 may accordingly receive the published notification of the incremental software update 400 -B from version 2 to version 3 , and may download and install the incremental update 400 -B.
- the vehicle 31 may now be at version 3 of the software.
- the vehicle 31 may unsubscribe from the configuration version node 314 of the topic tree 206 related to version 2 and the firmware version node 310 for version 2 , and may subscribe to the configuration version node 314 of the topic tree 206 related to version 3 .
- the vehicle 31 that is now at version 3 may identify that the desired software version (i.e., version 4 ) and the installed software version (i.e., version 3 ) continue to differ. When this occurs, the vehicle 31 may subscribe to the firmware version node 310 topic 202 of the topic tree 206 corresponding to the region and installed firmware version of the vehicle 31 (i.e., version 3 ). The vehicle 31 may accordingly receive the published notification of the incremental software update 400 -B from version 3 to version 4 , and may download and install the incremental update 400 -C. Upon successful installation, the vehicle 31 may now be at version 4 of the software.
- the vehicle 31 may unsubscribe from the configuration version node 314 of the topic tree 206 related to version 3 and the firmware version node 310 for version 3 , and may subscribe to the configuration version node 314 of the topic tree 206 related to version 4 .
- the vehicle 31 is now updated.
- the VCS 1 may be further configured to provide publish a message 204 to a command response alert topic node 306 -C of the vehicle 31 to alert the service delivery network 200 of success of the software update.
- the vehicles 31 originally at version 3 may identify that the desired software version (i.e., version 3 ) and the installed software version (i.e., version 3 ) are the same, and may elect not to perform any software updating. However, if at a later time the vehicles 31 at version 3 do receive an updated configuration file requesting an update to version 4 or later, the vehicles 31 may subscribe to the firmware version node 310 topic 202 of the topic tree 206 corresponding to the region and installed firmware version of the vehicle 31 (i.e., version 3 ), and may install the update.
- FIG. 5 illustrates an exemplary process 500 for updating a software version of a component of the VCS 1 .
- the process 500 may be performed, for example, by a VCS 1 of a vehicle 31 in communication with a service delivery network 200 over a network 61 .
- the VCS 1 subscribes to a topic 202 of a topic tree 206 associated with a software version of a component of the vehicles 31 .
- the VCS 1 may subscribe to a configuration version node 314 representing a topic 202 of the topic tree 206 served by the service delivery network 200 and related to the installed version, features, and region of the firmware component of the vehicle 31 .
- the VCS 1 determines whether a notification message 204 is received in the subscribed topic 202 .
- the service delivery network 200 may publish a notification message 204 in the configuration version node 314 , and the vehicle 31 may be notified of or may otherwise receive the notification message 204 . If a notification message 204 is received, control passes to block 506 . Otherwise, control remains at decision point 504 .
- the VCS 1 identifies a desired software version for the software component based on the notification message 204 .
- the notification message 204 may be or may include a new configuration file, where the new configuration file may be associated with an updated version of the software or firmware.
- the configuration file may include a version number of the firmware or other version indication for which the file is compatible.
- a vehicle 31 receiving the configuration file may identify the version of the configuration file, and may set a desired software version for the vehicle 31 to be that of the version of the configuration file.
- the VCS 1 determines whether the desired software version and the installed software version differ. For example, the VCS 1 may determine whether the version of the configuration file is greater than the installed version of the firmware. If so, control passes to block 510 to perform a software update. If not, then a software update is not required and control passes to decision point 504 . If the version of the configuration file is less than that of the installed version, then the VCS 1 may discard the configuration file, optionally provide an error back to the service delivery network 200 , and may either pass control to decision point 504 or terminate the process 500 .
- the VCS 1 retrieves a next incremental software update.
- the vehicle 31 may subscribe to the firmware version node 310 topic 202 of the topic tree 206 corresponding to the installed firmware version of the vehicle 31 .
- the service delivery network 200 may publish a software update to the firmware version node 310 , and the subscribed vehicle 31 may download the software update.
- the VCS 1 installs the software update.
- the VCS 1 may execute or otherwise apply the firmware update to the installed firmware version to update the firmware version.
- the VCS 1 may be further configured to provide publish a message 204 to a command response alert topic node 306 -C of the vehicle 31 to alert the service delivery network 200 of success or failure of the software update.
- the service delivery network 200 may update its records of the installed configuration status of the vehicle 31 .
- the VCS 1 may publish a failure message 204 to the command response alert topic node 306 -C, and the process 500 may end, or possibly pass control to block 510 to retry the download and installation.
- the VCS 1 updates the topic 202 subscriptions of the vehicle 31 .
- the VCS 1 may cause the vehicle 31 to unsubscribe from the configuration version node 314 of the topic tree 206 and the firmware version node 310 for the old version, and to subscribe to the configuration version node 314 of the topic tree 206 related to the new installed version of the firmware.
- control passes to decision point 508 .
- a service delivery network 200 may utilize a topic tree 206 to selectively provide updates to vehicles 31 according to installed software version, such as firmware version of a module of the vehicle 31 , or a software version of an application installed on the VCS 1 , without affecting the vehicle 31 installations of software versions on vehicles 31 of different versions. Moreover, these updates may be provided incrementally and automatically over-the-air to the vehicles 31 , without incurring manufacturer or dealer technician costs.
- installed software version such as firmware version of a module of the vehicle 31 , or a software version of an application installed on the VCS 1
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Resources & Organizations (AREA)
- Computer Security & Cryptography (AREA)
- Economics (AREA)
- Entrepreneurship & Innovation (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Strategic Management (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Information Transfer Between Computers (AREA)
Abstract
A computer-implemented method may include subscribing to a first topic tree topic associated with an installed vehicle software component version; identifying a desired software component version based on a published notification retrieved from the first topic; and when the desired version and the installed version differ, updating a software component using a software update retrieved from a second topic tree topic associated with software updates to the installed version.
Description
- The illustrative embodiments generally relate to a method and apparatus for performing software updates.
- To update a software version of a component of a vehicle, the vehicle may be driven to a dealership and serviced by a technician. The technician may utilize a system that tracks the individual software levels of every component in the vehicle as well as available software updates. The technician may manually apply the software updates indicated by the system and record any changes back into the system.
- In a first illustrative embodiment, a computer-implemented method includes subscribing to a first topic tree topic associated with an installed vehicle software component version and identifying a desired software component version based on a notification published in the topic. The method further includes, when the desired version and the installed version differ, updating a software component using a software update in a second topic tree topic, associated with an updated version of the installed version.
- In a second illustrative embodiment, a vehicle includes a vehicle-based computing system configured to subscribe to a first topic tree topic associated with an installed vehicle software component version and identify a desired software component version based on a published notification retrieved from the first topic. The vehicle-based computing system is further configured to, when the desired version and the installed version differ, update a software component using a software update retrieved from a second topic tree topic associated with software updates to the installed version
- In a third illustrative embodiment, a non-transitory computer readable storage medium stores instructions that, when executed by a processor, configure the processor to subscribe to a first topic tree topic associated with an installed vehicle software component version, and identify a desired software component version based on a published notification retrieved from the first topic. The computer readable storage medium further stores instructions that, when executed by a processor, configure the processor to, when the desired version and the installed version differ, update a software component using a software update retrieved from a second topic tree topic associated with software updates to the installed version.
-
FIG. 1 illustrates an example block topology for a vehicle-based computing system for a vehicle; -
FIG. 2 illustrates an exemplary global update system in communication with a vehicle-based computing system; -
FIG. 3 illustrates an exemplary topic tree for software versions of a vehicle-based computing system; -
FIG. 4A illustrates an exemplary topic tree for a software component of avehicle 31 in which multiple versions are installed in the field; -
FIG. 4B illustrates an exemplary topic tree for incrementally updating versions of a software component of a vehicle; and -
FIG. 5 illustrates an exemplary process for updating a software version of a component of the vehicle-based computing system. - As required, detailed embodiments of the present invention are disclosed herein; however, it is to be understood that the disclosed embodiments are merely exemplary of the invention that may be embodied in various and alternative forms. The figures are not necessarily to scale; some features may be exaggerated or minimized to show details of particular components. Therefore, specific structural and functional details disclosed herein are not to be interpreted as limiting, but merely as a representative basis for teaching one skilled in the art to variously employ the present invention.
- A vehicle software update system may utilize a publish/subscribe model to publish software updates that can be consumed by vehicle subscribers. The publish/subscribe model may utilize topics, also known as logical channels, through which publishers may send messages and subscribers may receive messages. In some cases, a vehicle may be a publisher and may send vehicle alerts to a service delivery network, respond to commands from the service delivery network, or notify the service delivery network of vehicle connectivity status. In other cases, a vehicle may be a subscriber and may receive control messages or software updates from a service delivery network.
- A topic tree structure may be utilized by the vehicle software update system to define a structure of the topics and sub-topics that are used in sending messages between the vehicles and the service delivery network. A vehicle-based computing system (VCS), such as a telematics unit of a vehicle, may subscribe to nodes of the topic tree that correspond to the installed software/firmware version of the vehicle.
- A publisher of software updates (e.g., without limitation, a remote original equipment manufacturer (OEM) server, etc.) may provide a notification message in a topic node corresponding to a vehicle to be updated or a version of the software to be updated. The publisher may further publish a software upgrade in a topic node associated with a version of the software to be updated by the software upgrade. In some examples, the notification message may include or take the form of a global configuration file specifying a desired software version for which the global configuration file is applicable. The vehicle may retrieve the message and determine whether to upgrade its software version to the version specified by the notification. For example, if the desired software version is newer than the installed software version of the vehicle, the vehicle may target to update to the desired software version. To perform the update, the vehicle may subscribe to the topic node corresponding to its installed software version, and install the software update published to that topic node. Thus, to update VCSs of a particular software version, a publisher of software updates may provide a software update, and publish a configuration file in a topic of the particular software version to be updated.
-
FIG. 1 illustrates an example block topology for a vehicle-based computing system 1 (VCS) for avehicle 31. An example of such a vehicle-basedcomputing system 1 is the SYNC system manufactured by THE FORD MOTOR COMPANY. A vehicle enabled with a vehicle-based computing system may contain a visualfront end interface 4 located in thevehicle 31. The user may also be able to interact with the interface if it is provided, for example, with a touch sensitive screen. In another illustrative embodiment, the interaction occurs through, button presses, spoken dialog system with automatic speech recognition and speech synthesis. - In the
illustrative embodiment 1 shown inFIG. 1 , aprocessor 3 or central processing unit (CPU) 3 controls at least some portion of the operation of the vehicle-based computing system. Provided within thevehicle 31, theprocessor 3 allows onboard processing of commands and routines. Further, theprocessor 3 is connected to both non-persistent 5 and persistent storage 7. In this illustrative embodiment, thenon-persistent storage 5 is random access memory (RAM) and the persistent storage 7 is a hard disk drive (HDD) or flash memory. In general, persistent (non-transitory) storage 7 can include all forms of memory that maintain data when a computer or other device is powered down. These include, but are not limited to, HDDs, compact disks (CDs), digital versatile disks (DVDs), magnetic tapes, solid state drives, portable universal serial bus (USB) drives and any other suitable form of persistent storage 7. - The
processor 3 is also provided with a number of different inputs allowing the user to interface with theprocessor 3. In this illustrative embodiment, amicrophone 29, an auxiliary input 25 (for input 33), aUSB input 23, a global positioning system (GPS)input 24, ascreen 4, which may be a touchscreen display, and a BLUETOOTHinput 15 are all provided. Aninput selector 51 is also provided, to allow a user to swap between various inputs. Input to both the microphone and the auxiliary connector is converted from analog to digital by aconverter 27 before being passed to theprocessor 3. Although not shown, numerous of the vehicle components and auxiliary components in communication with theVCS 1 may use a vehicle network (such as, but not limited to, a car area network (CAN) bus) to pass data to and from the VCS 1 (or components thereof). - Outputs to the
VCS system 1 can include, but are not limited to, avisual display 4 and aspeaker 13 or stereo system output. Thespeaker 13 is connected to anamplifier 11 and receives its signal from theprocessor 3 through a digital-to-analog converter 9. Output can also be made to a remote BLUETOOTH device such as personal navigation device (PND) 54 or a USB device such asvehicle navigation device 60 along the bi-directional data streams shown at 19 and 21 respectively. - In one illustrative embodiment, the
system 1 uses the BLUETOOTHtransceiver 15 to communicate 17 with a nomadic device (ND) 53 (e.g., cell phone, smart phone, PDA, or any other device having wireless remote network connectivity). The nomadic device 53 can then be used to communicate 59 with anetwork 61 outside thevehicle 31 through, for example,communication 55 with acellular tower 57. In some embodiments,tower 57 may be a WiFi access point. - Exemplary communication between the nomadic device 53 and the BLUETOOTH transceiver is represented by
communication 14. - Pairing a nomadic device 53 and the BLUETOOTH
transceiver 15 can be instructed through abutton 52 or similar input. Accordingly, the CPU is instructed that the onboard BLUETOOTHtransceiver 15 will be paired with a BLUETOOTH transceiver in a nomadic device 53. - Data may be communicated between
CPU 3 andnetwork 61 utilizing, for example, a data-plan, data over voice, or dual-tone multiple frequency (DTMF) tones associated with nomadic device 53. Alternatively, it may be desirable to include anonboard modem 63 havingantenna 18 in order to communicate 16 data betweenCPU 3 andnetwork 61 over the voice band. The nomadic device 53 can then be used to communicate 59 with anetwork 61 outside thevehicle 31 through, for example,communication 55 with acellular tower 57. In some embodiments, themodem 63 may establishcommunication 20 with thetower 57 for communicating withnetwork 61. As a non-limiting example,modem 63 may be a USBcellular modem 63 andcommunication 20 may be cellular communication. - In one illustrative embodiment, the
processor 3 is provided with an operating system including an API to communicate with modem application software. The modem application software may access an embedded module or firmware on the BLUETOOTH transceiver to complete wireless communication with a remote BLUETOOTH transceiver (such as that found in a nomadic device). Bluetooth is a subset of the Institute of Electrical and Electronics Engineers (IEEE) 802 personal area network (PAN) protocols. IEEE 802 local area network (LAN) protocols include wireless fidelity (WiFi) and have considerable cross-functionality with IEEE 802 PAN. Both are suitable for wireless communication within avehicle 31. Another communication means that can be used in this realm is free-space optical communication (such as infrared data association (IrDA)) and non-standardized consumer infrared (IR) protocols. - In another embodiment, nomadic device 53 includes a modem for voice band or broadband data communication. In the data-over-voice embodiment, a technique known as frequency division multiplexing may be implemented when the owner of the nomadic device 53 can talk over the device while data is being transferred. At other times, when the owner is not using the device, the data transfer can use the whole bandwidth (300 Hz to 3.4 kHz in one example). While frequency division multiplexing may be common for analog cellular communication between the
vehicle 31 and the Internet, and is still used, it has been largely replaced by hybrids of Code Domain Multiple Access (CDMA), Time Domain Multiple Access (TDMA), Space-Domain Multiple Access (SDMA) for digital cellular communication. These are all ITU IMT-2000 (3G) compliant standards and offer data rates up to 2 mbs for stationary or walking users and 385 kbs for users in a movingvehicle 31. 3G standards are now being replaced by IMT-Advanced (4G) which offers 200 mbs for users in avehicle vehicle 31. In yet another embodiment, the ND 53 may be a wireless LAN device capable of communication over, for example (and without limitation), an 802.11g network (i.e., WiFi) or a WiMax network. - In one embodiment, incoming data can be passed through the nomadic device 53 via a data-over-voice or data-plan, through the onboard BLUETOOTH transceiver and into the
processor 3 of thevehicle 31. In the case of certain temporary data, for example, the data can be stored on the HDD or other storage media 7 until such time as the data is no longer needed. - Additional sources that may interface with the
vehicle 31 include aPND 54, having, for example, aUSB connection 56 and/or anantenna 58, avehicle navigation device 60 having aUSB 62 or other connection, anonboard GPS device 24, or remote navigation system (not shown) having connectivity to network 61. USB is one of a class of serial networking protocols. IEEE 1394 (FireWire™ (Apple), i.LINK™ (Sony), and Lynx™ (Texas Instruments)), EIA (Electronics Industry Association) serial protocols, IEEE 1284 (Centronics Port), S/PDIF (Sony/Philips Digital Interconnect Format) and USB-IF (USB Implementers Forum) form the backbone of the device-device serial standards. Most of the protocols can be implemented for either electrical or optical communication. - Further, the
CPU 3 could be in communication with a variety of otherauxiliary devices 65. Thesedevices 65 can be connected through awireless 67 or wired 69 connection.Auxiliary device 65 may include, but are not limited to, personal media players, wireless health devices, portable computers, and the like. - Also, or alternatively, the
CPU 3 could be connected to a vehicle-basedwireless router 73, using for example a WiFi (IEEE 803.11) 71 transceiver. This could allow theCPU 3 to connect to remote networks within range of thelocal router 73. - In addition to having exemplary processes executed by a vehicle computing system located in a
vehicle 31, in certain embodiments, the exemplary processes may be executed at least in part by one or more computing systems external to and in communication with a vehicle computing system. Such a system may include, but is not limited to, a wireless device (e.g., and without limitation, a mobile phone) or a remote computing system (e.g., and without limitation, a server) connected through the wireless device. Collectively, such systems may be referred to as vehicle associated computing systems (VACS). In certain embodiments particular components of the VACS may perform particular portions of a process depending on the particular implementation of the system. By way of example and not limitation, if a process includes a step of sending or receiving information with a paired wireless device, then it is likely that the wireless device is not performing the process, since the wireless device would not “send and receive” information with itself. One of ordinary skill in the art will understand when it is inappropriate to apply a particular VACS to a given solution. In all solutions, it is contemplated that at least theVCS 1 located within thevehicle 31 itself is capable of performing the exemplary processes. -
FIG. 2 illustrates an exemplaryservice delivery network 200 in communication over thenetwork 61 with avehicle 31, through a wireless device, in wireless communication with the network and the vehicle. When avehicle 31 is assembled, thevehicle 31 may include various hardware and software components. Upon or after assembly, aVCS 1 of thevehicle 31 may be configured to query for existence and version information for at least a portion of these hardware and software components of thevehicle 31. Using the queried information and additional information identifying the specific vehicle 31 (e.g., VIN information published on the CAN bus, subscriber identity module (SIM) information of themodem 63 such as international mobile station equipment identity (IMEI), etc.), theVCS 1 may communicate via thenetwork 61 to establish an account with theservice delivery network 200. Theservice delivery network 200 may receive these communications from thevehicles 31, and may maintain a data store of the hardware configurations and software (e.g., firmware, etc.) versions linked to identifiers of thevehicles 31. - The
service delivery network 200 may additionally provide publish/subscribe messaging functionality for communication between theservice delivery network 200 and thevehicles 31. The publish/subscribe model may utilize one ormore topics 202, wheretopics 202 are named logical channels through which publishers may sendmessages 204 and subscribers may receivemessages 204. Rather than receiving all themessages 204, subscribers to thetopics 202 receive themessages 204 published to thetopics 202 to which they subscribe, and all subscribers to atopic 202 will receive substantially thesame topic messages 204. A publisher of themessages 204 may be responsible for providingmessages 204 to thetopics 202 that are consistent with thetopic 202. The publisher may include, for example, an OEM or other entity responsible for maintaining and/or updating vehicle software/firmware. - In some cases, a
vehicle 31 may be a publisher and may send vehicle alerts to atopic 202 of theservice delivery network 200, respond tomessages 204 from theservice delivery network 200, or notify theservice delivery network 200 ofvehicle 31 connectivity status to thenetwork 61. In other cases, avehicle 31 may be a subscriber and may receivecontrol messages 204 or other information from aservice delivery network 200. - To facilitate the publishing of
messages 204 toappropriate topics 202, thetopics 202 may be arranged into atopic tree 206. Thetopic tree 206 may be defined by theservice delivery network 200 to provide a structure of thetopics 202 and sub-topics 202 that are used in sendingmessages 204 between thevehicles 31 and theservice delivery network 200. -
FIG. 3 illustrates anexemplary topic tree 206 for use in updating software versions of aVCS 1. Thetopic tree 206 may be used, for example, to allow theservice delivery network 200 to define atopic 202 structure for performingvehicle 31 software updates. AVCS 1, such as a telematics unit of avehicle 31, may subscribe to nodes of thetopic tree 206 that correspond to the installed region, software/firmware version, features, configuration file version of thevehicle 31, etc. It should be noted that the particular layout of theexemplary topic tree 206 is for purpose of illustration only, and other layouts oftopic tree 206 may be used. For example,other topic trees 206 may be used by theservice delivery network 200 that have more, fewer or different levels of categorization. - Referring to the
topic tree 206 ofFIG. 3 , aregion node 300 of thetopic tree 206 may indicate a region for which the sub-topic 202 nodes under theregion node 300 may relate. In some cases, theregion nodes 300 may represent different regional market areas in whichvehicles 31 may be sold, such as North America, Europe, and Asia Pacific. In other examples theregion nodes 300 may relate to other geographical areas, such as countries, states, postal codes, and telephone area codes, as some other examples. By segmenting thetopic tree 206 by region, theservice delivery network 200 may accordingly publish different information forvehicles 31 associated with different regions. - Under each
region node 300, thetopic tree 206 may include one or more vehicle-specific nodes 302, where each vehicle-specific node 302 relates to avehicle 31 associated with the parentregional node 300. As one possibility, theservice delivery network 200 may create vehicle-specific nodes 302 forvehicles 31 according to VIN or other unique identifier ofvehicles 31 that register with theservice delivery network 200 as belonging to the particular region. Sub-nodes to the vehicle-specific nodes 302 may be used to further organizetopics 202 configured for communication to and from theindividual vehicles 31. - For instance, under the vehicle-
specific nodes 302, thetopic tree 206 may further include one or morevehicle topic nodes 304 for communication to thespecific vehicles 31. Avehicle 31 may subscribe to thevehicle topic node 304 that correspond to the VIN or other unique identifier of thevehicle 31, so that thevehicle 31 may be able to receivemessages 204 intopics 202 that specifically relate to thevehicle 31 itself. - As one example, a
vehicle 31 may subscribe to a time-sensitive update vehicle topic node 304-A for receivingmessages 204 for theparticular vehicle 31 that are of a time-sensitive nature. Due to their time-sensitive nature,messages 204 posted to the time-sensitive update vehicle topic node 304-A may time out and be removed from thetopic 202 if they are not received by thevehicle 31 within an amount of time (e.g., specified by themessage 204, common to all time-sensitive messages 204, etc.). As another example, avehicle 31 may subscribe to a non-time-sensitive vehicle topic node 304-B for receivingmessages 204 for theparticular vehicle 31 that not of a time-sensitive nature. - Updates, such as calendar updates, may be posted to the non-time-sensitive vehicle topic node 304-B, and may remain in the
topic 202 until received by the subscribedvehicle 31. As a further example, avehicle 31 may subscribe to a feature update vehicle topic node 304-C for receivingmessages 204 in atopic 202 directed toparticular vehicles 31 and relating to updates to thefeatures 31 of thevehicle 31. In this content, a feature may refer to a grouping of configuration parameters applicable to the specifiedvehicle 31 included in thetopic tree 206. A feature may, for example, represent settings to implement an available connected service (e.g., MY FORD MOBILE) or a customer-specific collection of settings (e.g., a suite of features requested to be enabled and/or disabled for use by a particular fleet purchaser). As yet a further example, avehicle 31 may subscribe to a firmware update vehicle topic node 304-D for receivingmessages 204 in atopic 202 directed toparticular vehicles 31 and relating to updates to the firmware of thevehicle 31. - The vehicle-
specific nodes 302 thetopic tree 206 may further include one or morevehicle topic nodes 306 for communication from thespecific vehicles 31. For example, a general alert topic node 306-A may be used by avehicle 31 to publishmessages 204 such as indications of low fuel, erratic driving by thevehicle 31, or periodiccurrent vehicle 31 GPS locations. As another example, a connection status topic node 306-B may be used by avehicle 31 to publishmessages 204 such as the connection status of the vehicle 31 (e.g., whether thevehicle 31 was disconnected and then reconnected to the network 61). As yet a further example, a command response alert topic node 306-C may be used by avehicle 31 to publishmessages 204 such as indications of success or failure of actions requested by theservice delivery network 200. - Moreover, under each
region node 300 thetopic tree 206 may include one or more hardwareversion topic nodes 308, where each hardwareversion topic node 308 relates to a installedvehicle 31 hardware version that may be shared by multiple vehicles 31 (e.g., a version of theVCS 1 hardware). These hardwareversion topic nodes 308 and sub-topic nodes may accordingly be used to reference thevehicles 31 according to hardware version, not according toindividual vehicle 31. - Under each hardware
version topic node 308, thetopic tree 206 may include one or morefirmware version nodes 310. Eachfirmware version node 310 may organize nodes of thetopic tree 206 associated with a firmware version that may be installed on theparent vehicle 31 hardware for a particular region. - The
firmware version node 310 may further includefeature nodes 312 organizing nodes of thetopic tree 206 associated with a particular feature. As mentioned above, a feature may represent settings to implement an available connected service or a customer-specific collection of settings. Thus, a firmware version may support multiple different features, where different portions of functionality of the firmware are engaged or disengaged for the various features. - The
feature nodes 312 may further includeconfiguration version nodes 314, each representing atopic 202 related to a version of a configuration file for the associated feature, firmware version, hardware version, and region. The configuration files may include setting and other information related to the parent features that they configure (e.g., for the version of firmware installed on the version of hardware for the particular region). Because settings and other options may change from version to version, the configuration files may also include a version number of the firmware for which they are compatible. - A
vehicle 31 may subscribe to topics of 202 thetopic tree 206 that relate to the configuration of thevehicle 31. As one example, a vehicle may subscribe to avehicle topic node 304 corresponding to the VIN of thevehicle 31, to receive any updates targeting thespecific vehicle 31. As another example, aVCS 1 of avehicle 31 may subscribe to aconfiguration version node 314 of thetopic tree 206, to receive configuration or other updates corresponding to the installed region, hardware version, firmware version, feature, and global configuration version of thevehicle 31. The subscribedvehicle 31 may check or otherwise be informed ofmessages 204 published to the subscribedtopics 202. - The
service delivery network 200 may publishmessages 204 intotopics 202 of thetopic tree 206 for which updates are to be performed. As one possibility, theservice delivery network 200 may publish amessage 204 into avehicle topic node 304 to cause aparticular vehicle 31 to be informed that an update should be performed for thevehicle 31. As another possibility, theservice delivery network 200 may publish amessage 204 into aconfiguration version node 314 to cause any subscribedvehicles 31 having a particular region, hardware version, firmware version, feature, and global configuration version to perform an update. - In some examples, an update may be indicated by a
service delivery network 200 publishing a new configuration file in the subscribedtopic 202 as themessage 204, where the new configuration file may be associated with an updated version of the software or firmware. Avehicle 31 receiving the configuration file may identify the version of the configuration file, and may set a desired software or firmware version for thevehicle 31 to be that of the version of the configuration file. Thus, upon becoming aware of anupdate notification message 204 in a subscribed node of thetopic tree 206, thevehicle 31 may identify to upgrade its software version to the version specified by the notification. - The
vehicle 31 may further utilize thetopic tree 206 to provideupdates messages 204 to theservice delivery network 200 with respect to the status of the software update. For example, thevehicle 31 may publishalert messages 204 in an alertvehicle topic node 304 indicative of whether or not the software update was successful, and also to report the new installed version of thevehicle 31 software to theservice delivery network 200. Accordingly, by using thetopic tree 206, theservice delivery network 200 may be able to request updates forindividual vehicles 31 or forvehicles 31 having specific configurations. - A software application may be updated from an older version to a newer version by updating those parts that have changed from the previous version, rather than by uninstalling the old version and installing the new version. These incremental updates may be referred to as deltas or differentials. An incremental update may be applied to update a software module or application from one version to a next version. In some cases, software may be multiple versions behind, and may require iterative updating from the old installed version to the current version through the ordered application of multiple incremental updates. The incremental approach may have certain advantages over full updates, such as reduced network traffic for downloaded version updates, as well as ease of testing of version upgrades from the previous version as compared to testing from all earlier versions of the software. Either approach may be used as is appropriate for a given situation.
-
FIG. 4A illustrates anexemplary topic tree 206 for a software component of avehicle 31 in which multiple versions are installed in the field. For instance, a software module may have somevehicles 31 in the field atversion 1, others atversion 2, and still others atversion 3. A bug or other issue may be identified that affectssoftware versions version 3. A new version of the software,version 4, may be created to correct the issue inversions 1 and 2 (and potentially correct any issues that may have been causes by the issue). Asvehicles 31 having software atversion 3 are unaffected, it may be undesirable for thosevehicles 31 to download and update toversion 4. However, using an incremental update approach,vehicles 31 atversions version 3 in order to reachversion 4. -
FIG. 4B illustrates anexemplary topic tree 206 for incrementally updating versions of a software component of avehicle 31. Theservice delivery network 200 may utilize thetopic tree 206 to update the vehicles atversion version 4, while not updating thosevehicles 31 atversion 3. - For example, the
service delivery network 200 may publish update notifications to theconfiguration version node 314topics 202 forvehicles 31 havingversions configuration version node 314 topics for 202vehicles 31 havingversion 3 installed. The update notifications may includeconfiguration files 208 associated withversion 4 of the software, such that thevehicles 31 atversions vehicle 31 to beversion 4. Theservice delivery network 200 may further publishincremental software updates 400 to thefirmware version nodes 310. For example, theservice delivery network 200 may publish an incremental software update 400-A fromversion 1 toversion 2 in thefirmware version node 310 forversion 1, an incremental software update 400-B fromversion 2 toversion 3 in thefirmware version node 310 forversion 2, and an incremental software update 400-C fromversion 3 toversion 4 in thefirmware version node 310 forversion 3. - As the
vehicles 31 atversion 3 do not receiveconfiguration files 208 associated withversion 4, thevehicles 31 atversion 3 do not set their desired version to 4. Accordingly, even though a software update fromversion 3 toversion 4 is published, thevehicles 31 originally atversion 3 in this example will not attempt to update toversion 4. - A
vehicle 31 atversion 1 receiving the notifications may identify that the desired software version (i.e., version 4) and the installed software version (i.e., version 1) differ. When this occurs, thevehicle 31 may subscribe to thefirmware version node 310topic 202 of thetopic tree 206 corresponding to the region and installed firmware version of the vehicle 31 (i.e., version 1). Thevehicle 31 subscribed to thefirmware version node 310 forversion 1 may receive the published notification of the incremental software update 400-A fromversion 1 toversion 2, and may download and install the incremental update 400-A. Upon successful installation, thevehicle 31 may now be atversion 2 of the software. As the vehicle is now atversion 2, thevehicle 31 may unsubscribe from theconfiguration version node 314 of thetopic tree 206 related toversion 1 and thefirmware version node 310 forversion 1, and may subscribe to theconfiguration version node 314 of thetopic tree 206 related toversion 2. - The
vehicle 31 that is now at version 2 (or anothervehicle 31 that in the example was initially at version 2) may identify that the desired software version (i.e., version 4) and the installed software version (i.e., version 2) continue to differ. When this occurs, thevehicle 31 may subscribe to thefirmware version node 310topic 202 of thetopic tree 206 corresponding to the region and installed firmware version of the vehicle 31 (i.e., version 2). Thevehicle 31 may accordingly receive the published notification of the incremental software update 400-B fromversion 2 toversion 3, and may download and install the incremental update 400-B. Upon successful installation, thevehicle 31 may now be atversion 3 of the software. As the vehicle is now atversion 3, thevehicle 31 may unsubscribe from theconfiguration version node 314 of thetopic tree 206 related toversion 2 and thefirmware version node 310 forversion 2, and may subscribe to theconfiguration version node 314 of thetopic tree 206 related toversion 3. - The
vehicle 31 that is now atversion 3 may identify that the desired software version (i.e., version 4) and the installed software version (i.e., version 3) continue to differ. When this occurs, thevehicle 31 may subscribe to thefirmware version node 310topic 202 of thetopic tree 206 corresponding to the region and installed firmware version of the vehicle 31 (i.e., version 3). Thevehicle 31 may accordingly receive the published notification of the incremental software update 400-B fromversion 3 toversion 4, and may download and install the incremental update 400-C. Upon successful installation, thevehicle 31 may now be atversion 4 of the software. As the vehicle is now atversion 4, thevehicle 31 may unsubscribe from theconfiguration version node 314 of thetopic tree 206 related toversion 3 and thefirmware version node 310 forversion 3, and may subscribe to theconfiguration version node 314 of thetopic tree 206 related toversion 4. - As the desired software version and the installed software version now match, the
vehicle 31 is now updated. In some cases, theVCS 1 may be further configured to provide publish amessage 204 to a command response alert topic node 306-C of thevehicle 31 to alert theservice delivery network 200 of success of the software update. - The
vehicles 31 originally atversion 3 may identify that the desired software version (i.e., version 3) and the installed software version (i.e., version 3) are the same, and may elect not to perform any software updating. However, if at a later time thevehicles 31 atversion 3 do receive an updated configuration file requesting an update toversion 4 or later, thevehicles 31 may subscribe to thefirmware version node 310topic 202 of thetopic tree 206 corresponding to the region and installed firmware version of the vehicle 31 (i.e., version 3), and may install the update. -
FIG. 5 illustrates anexemplary process 500 for updating a software version of a component of theVCS 1. Theprocess 500 may be performed, for example, by aVCS 1 of avehicle 31 in communication with aservice delivery network 200 over anetwork 61. - At
block 502, theVCS 1 subscribes to atopic 202 of atopic tree 206 associated with a software version of a component of thevehicles 31. For example, for a firmware component of thevehicle 31, theVCS 1 may subscribe to aconfiguration version node 314 representing atopic 202 of thetopic tree 206 served by theservice delivery network 200 and related to the installed version, features, and region of the firmware component of thevehicle 31. - At
decision point 504, theVCS 1 determines whether anotification message 204 is received in the subscribedtopic 202. For example, theservice delivery network 200 may publish anotification message 204 in theconfiguration version node 314, and thevehicle 31 may be notified of or may otherwise receive thenotification message 204. If anotification message 204 is received, control passes to block 506. Otherwise, control remains atdecision point 504. - At
block 506, theVCS 1 identifies a desired software version for the software component based on thenotification message 204. For example, thenotification message 204 may be or may include a new configuration file, where the new configuration file may be associated with an updated version of the software or firmware. The configuration file may include a version number of the firmware or other version indication for which the file is compatible. Avehicle 31 receiving the configuration file may identify the version of the configuration file, and may set a desired software version for thevehicle 31 to be that of the version of the configuration file. - At
decision point 508, theVCS 1 determines whether the desired software version and the installed software version differ. For example, theVCS 1 may determine whether the version of the configuration file is greater than the installed version of the firmware. If so, control passes to block 510 to perform a software update. If not, then a software update is not required and control passes todecision point 504. If the version of the configuration file is less than that of the installed version, then theVCS 1 may discard the configuration file, optionally provide an error back to theservice delivery network 200, and may either pass control todecision point 504 or terminate theprocess 500. - At
block 510, theVCS 1 retrieves a next incremental software update. For example, thevehicle 31 may subscribe to thefirmware version node 310topic 202 of thetopic tree 206 corresponding to the installed firmware version of thevehicle 31. Theservice delivery network 200 may publish a software update to thefirmware version node 310, and the subscribedvehicle 31 may download the software update. - At
block 512, theVCS 1 installs the software update. For example, theVCS 1 may execute or otherwise apply the firmware update to the installed firmware version to update the firmware version. In some cases, theVCS 1 may be further configured to provide publish amessage 204 to a command response alert topic node 306-C of thevehicle 31 to alert theservice delivery network 200 of success or failure of the software update. Upon receiving amessage 204 indicating success of the software update, theservice delivery network 200 may update its records of the installed configuration status of thevehicle 31. As another possibility, if the software update fails, theVCS 1 may publish afailure message 204 to the command response alert topic node 306-C, and theprocess 500 may end, or possibly pass control to block 510 to retry the download and installation. - At
block 514, theVCS 1 updates thetopic 202 subscriptions of thevehicle 31. For example, theVCS 1 may cause thevehicle 31 to unsubscribe from theconfiguration version node 314 of thetopic tree 206 and thefirmware version node 310 for the old version, and to subscribe to theconfiguration version node 314 of thetopic tree 206 related to the new installed version of the firmware. Afterblock 514, control passes todecision point 508. - Thus, a
service delivery network 200 may utilize atopic tree 206 to selectively provide updates tovehicles 31 according to installed software version, such as firmware version of a module of thevehicle 31, or a software version of an application installed on theVCS 1, without affecting thevehicle 31 installations of software versions onvehicles 31 of different versions. Moreover, these updates may be provided incrementally and automatically over-the-air to thevehicles 31, without incurring manufacturer or dealer technician costs. - While exemplary embodiments are described above, it is not intended that these embodiments describe all possible forms of the invention. Rather, the words used in the specification are words of description rather than limitation, and it is understood that various changes may be made without departing from the spirit and scope of the invention. Additionally, the features of various implementing embodiments may be combined to form further embodiments of the invention.
Claims (20)
1. A computer-implemented method comprising:
subscribing to a first topic tree topic associated with an installed vehicle software component version;
identifying a desired software component version based on a published notification retrieved from the first topic; and
when the desired version and the installed version differ, updating a software component using a software update retrieved from a second topic tree topic associated with software updates to the installed version.
2. The method of claim 1 , further comprising:
unsubscribing from the first topic tree topic; and
subscribing to a third topic tree topic associated with a version of the software component after application of the software update.
3. The method of claim 1 , further comprising subscribing to the second topic of the topic tree upon determining that the desired version and the installed version differ.
4. The method of claim 1 , further comprising unsubscribing from the second topic of the topic tree upon successful updating of the software component using the software update.
5. The method of claim 1 , further comprising ignoring a software update published to the second topic of the topic tree until receiving the notification of the desired version in the topic.
6. The method of claim 1 , wherein the published notification in the topic includes a configuration file, and further comprising determining the desired version according to a version level of the software with which the configuration file is compatible.
7. The method of claim 6 , further comprising identifying the version level of the software with which the configuration file is compatible according to a version indication included in the configuration file.
8. A vehicle, comprising:
a vehicle-based computing system configured to:
subscribe to a first topic tree topic associated with an installed vehicle software component version;
identify a desired software component version based on a published notification retrieved from the first topic; and
when the desired version and the installed version differ, update a software component using a software update retrieved from a second topic tree topic associated with software updates to the installed version.
9. The vehicle of claim 8 , wherein the vehicle-based computing system is further configured to:
unsubscribe from the first topic tree topic; and
subscribe to a third topic tree topic associated with a version of the software component after application of the software update.
10. The vehicle of claim 8 , wherein the vehicle-based computing system is further configured to subscribe to the second topic of the topic tree upon determining that the desired version and the installed version differ.
11. The vehicle of claim 8 , wherein the vehicle-based computing system is further configured to unsubscribe from the second topic of the topic tree upon successful updating of the software component using the software update.
12. The vehicle of claim 8 , wherein the vehicle-based computing system is further configured to ignore a software update published to the second topic of the topic tree until receiving the notification of the desired version in the topic.
13. The vehicle of claim 8 , wherein the published notification in the topic includes a configuration file, and wherein the vehicle-based computing system is further configured to determine the desired version according to a version level of the software with which the configuration file is compatible.
14. The vehicle of claim 13 , wherein the vehicle-based computing system is further configured to identify the version level of the software with which the configuration file is compatible according to a version indication included in the configuration file.
15. A non-transitory computer readable storage medium, storing instructions that, when executed by a processor, configure the processor to:
subscribe to a first topic tree topic associated with an installed vehicle software component version;
identify a desired software component version based on a published notification retrieved from the first topic; and
when the desired version and the installed version differ, update a software component using a software update retrieved from a second topic tree topic associated with software updates to the installed version.
16. The computer readable storage medium of claim 15 additionally storing instructions to configure the processor to:
unsubscribe from the first topic tree topic; and
subscribe to a third topic tree topic associated with a version of the software component after application of the software update.
17. The computer readable storage medium of claim 15 additionally storing instructions to configure the processor to subscribe to the second topic of the topic tree upon determining that the desired version and the installed version differ.
18. The computer readable storage medium of claim 15 additionally storing instructions to configure the processor to unsubscribe from the second topic of the topic tree upon successful updating of the software component using the software update.
19. The computer readable storage medium of claim 15 additionally storing instructions to configure the processor to ignore a software update published to the second topic of the topic tree until receiving the notification of the desired version in the topic.
20. The computer readable storage medium of claim 15 , wherein the published notification in the topic includes a configuration file, and additionally storing instructions to configure the processor to determine the desired version according to a version level of the software with which the configuration file is compatible.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/151,526 US9766874B2 (en) | 2014-01-09 | 2014-01-09 | Autonomous global software update |
DE102014118910.8A DE102014118910A1 (en) | 2014-01-09 | 2014-12-17 | Autonomous global software update |
CN201510011495.2A CN104778056B (en) | 2014-01-09 | 2015-01-09 | Autonomous type overall situation software upgrading |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/151,526 US9766874B2 (en) | 2014-01-09 | 2014-01-09 | Autonomous global software update |
Publications (2)
Publication Number | Publication Date |
---|---|
US20150193220A1 true US20150193220A1 (en) | 2015-07-09 |
US9766874B2 US9766874B2 (en) | 2017-09-19 |
Family
ID=53443220
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/151,526 Active 2034-06-09 US9766874B2 (en) | 2014-01-09 | 2014-01-09 | Autonomous global software update |
Country Status (3)
Country | Link |
---|---|
US (1) | US9766874B2 (en) |
CN (1) | CN104778056B (en) |
DE (1) | DE102014118910A1 (en) |
Cited By (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105610959A (en) * | 2016-01-14 | 2016-05-25 | 中电长城网际系统应用有限公司 | Information publishing-subscribing platform, method and system |
US20170315797A1 (en) * | 2016-05-02 | 2017-11-02 | Ford Global Technologies, Llc | Vehicle connection location regional software delivery |
US20170322791A1 (en) * | 2016-05-04 | 2017-11-09 | General Motors Llc | Providing vehicle system module updates |
US10235154B2 (en) | 2016-03-09 | 2019-03-19 | Ford Global Technologies, Llc | Over-the-air trigger to vehicle interrogator updates |
US10324463B1 (en) | 2016-01-22 | 2019-06-18 | State Farm Mutual Automobile Insurance Company | Autonomous vehicle operation adjustment based upon route |
US10353694B1 (en) * | 2014-11-13 | 2019-07-16 | State Farm Mutual Automobile Insurance Company | Autonomous vehicle software version assessment |
US10354330B1 (en) | 2014-05-20 | 2019-07-16 | State Farm Mutual Automobile Insurance Company | Autonomous feature use monitoring and insurance pricing |
US10373259B1 (en) | 2014-05-20 | 2019-08-06 | State Farm Mutual Automobile Insurance Company | Fully autonomous vehicle insurance pricing |
US10386845B1 (en) | 2016-01-22 | 2019-08-20 | State Farm Mutual Automobile Insurance Company | Autonomous vehicle parking |
US10395332B1 (en) | 2016-01-22 | 2019-08-27 | State Farm Mutual Automobile Insurance Company | Coordinated autonomous vehicle automatic area scanning |
US10475127B1 (en) | 2014-07-21 | 2019-11-12 | State Farm Mutual Automobile Insurance Company | Methods of providing insurance savings based upon telematics and insurance incentives |
US10679497B1 (en) | 2016-01-22 | 2020-06-09 | State Farm Mutual Automobile Insurance Company | Autonomous vehicle application |
US10719886B1 (en) | 2014-05-20 | 2020-07-21 | State Farm Mutual Automobile Insurance Company | Accident fault determination for autonomous vehicles |
US10748419B1 (en) | 2015-08-28 | 2020-08-18 | State Farm Mutual Automobile Insurance Company | Vehicular traffic alerts for avoidance of abnormal traffic conditions |
CN112740172A (en) * | 2019-12-31 | 2021-04-30 | 华为技术有限公司 | Method for managing software version of electronic equipment in vehicle and related equipment |
CN112740210A (en) * | 2020-09-30 | 2021-04-30 | 华为技术有限公司 | Method for verifying software security of electronic equipment in vehicle and related equipment |
US11140029B1 (en) * | 2020-10-30 | 2021-10-05 | Nutanix, Inc. | Server side filtering in hybrid cloud environments |
US11242051B1 (en) | 2016-01-22 | 2022-02-08 | State Farm Mutual Automobile Insurance Company | Autonomous vehicle action communications |
US11290330B1 (en) | 2020-10-30 | 2022-03-29 | Nutanix, Inc. | Reconciliation of the edge state in a telemetry platform |
CN114326679A (en) * | 2021-12-30 | 2022-04-12 | 重庆长安新能源汽车科技有限公司 | Method and system based on one-version integrated software flash controller |
US20220156054A1 (en) * | 2020-11-16 | 2022-05-19 | Ford Global Technologies, Llc | System for updating vehicle software |
US20220237958A1 (en) * | 2021-01-27 | 2022-07-28 | Amazon Technologies, Inc. | Vehicle data extraction service |
US11441916B1 (en) | 2016-01-22 | 2022-09-13 | State Farm Mutual Automobile Insurance Company | Autonomous vehicle trip routing |
US20220413822A1 (en) * | 2021-06-29 | 2022-12-29 | Dell Products, Lp | Delivering applications over-the-air while supporting original equipment manufacturer markers |
US11580604B1 (en) | 2014-05-20 | 2023-02-14 | State Farm Mutual Automobile Insurance Company | Autonomous vehicle operation feature monitoring and evaluation of effectiveness |
US11669090B2 (en) | 2014-05-20 | 2023-06-06 | State Farm Mutual Automobile Insurance Company | Autonomous vehicle operation feature monitoring and evaluation of effectiveness |
US11700178B2 (en) | 2020-10-30 | 2023-07-11 | Nutanix, Inc. | System and method for managing clusters in an edge network |
US11719545B2 (en) | 2016-01-22 | 2023-08-08 | Hyundai Motor Company | Autonomous vehicle component damage and salvage assessment |
US11765065B1 (en) | 2022-03-23 | 2023-09-19 | Nutanix, Inc. | System and method for scalable telemetry |
US11902374B2 (en) | 2021-11-29 | 2024-02-13 | Amazon Technologies, Inc. | Dynamic vehicle data extraction service |
US12047253B2 (en) | 2022-02-11 | 2024-07-23 | Nutanix, Inc. | System and method to provide priority based quality of service for telemetry data |
US12079618B2 (en) * | 2022-06-30 | 2024-09-03 | Huawei Technologies Co., Ltd. | Method for managing software versions of electronic device(s) in a vehicle and related device |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102015203766A1 (en) * | 2015-03-03 | 2016-09-08 | Robert Bosch Gmbh | Subsystem for a vehicle and corresponding vehicle |
CN106598636A (en) * | 2016-07-14 | 2017-04-26 | 深圳曼塔智能科技有限公司 | Firmware upgrading method and device for unmanned aerial vehicle |
DE102017207751B4 (en) | 2017-05-08 | 2020-04-16 | Volkswagen Aktiengesellschaft | Method for calibrating the steering angle sensor system of a motor vehicle |
CN112068871B (en) * | 2020-08-12 | 2021-09-14 | 海信集团有限公司 | Electronic device and application management method |
US11962455B2 (en) | 2021-11-29 | 2024-04-16 | T-Mobile Usa, Inc. | Prioritizing multiple issues associated with a wireless telecommunication network |
US12039471B2 (en) | 2021-11-29 | 2024-07-16 | T-Mobile Usa, Inc. | Tracking issues and resolution of same in a wireless communication network |
US11855831B1 (en) | 2022-06-10 | 2023-12-26 | T-Mobile Usa, Inc. | Enabling an operator to resolve an issue associated with a 5G wireless telecommunication network using AR glasses |
Citations (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6035423A (en) * | 1997-12-31 | 2000-03-07 | Network Associates, Inc. | Method and system for providing automated updating and upgrading of antivirus applications using a computer network |
US6263360B1 (en) * | 1998-06-01 | 2001-07-17 | Sri International | System uses filter tree and feed handler for updating objects in a client from a server object list |
US20020165962A1 (en) * | 2001-02-28 | 2002-11-07 | Alvarez Mario F. | Embedded controller architecture for a modular optical network, and methods and apparatus therefor |
US20040034624A1 (en) * | 2002-08-14 | 2004-02-19 | Kenneth Deh-Lee | Method and system of managing repository for a mobile workforce |
US20040117851A1 (en) * | 2002-12-11 | 2004-06-17 | Jeyhan Karaoguz | Media exchange network supporting delivery of media content to authorized vehicles via media processing system |
US20040168169A1 (en) * | 2001-05-03 | 2004-08-26 | Christophe Ebro | Lookup facility in distributed computer systems |
US20050010458A1 (en) * | 2003-06-28 | 2005-01-13 | International Business Machines Corporation | Methods, apparatus and computer programs for visualization and management of data organisation within a data processing system |
US20050055687A1 (en) * | 2003-09-04 | 2005-03-10 | Georg Mayer | Software update information via session initiation protocol event packages |
US20050149922A1 (en) * | 2004-01-06 | 2005-07-07 | International Business Machines Corporation | Dynamic software update system, method and program product |
US20050187668A1 (en) * | 2004-02-23 | 2005-08-25 | Baumgarte Joseph W. | System or method for loading software onto a vehicle |
US20050262499A1 (en) * | 2004-05-21 | 2005-11-24 | Bea Systems, Inc. | System and method for external override of annotations |
US20060047666A1 (en) * | 2004-08-28 | 2006-03-02 | Bedi Bharat V | Control of publish/subscribe messaging |
US7171661B1 (en) * | 2000-10-19 | 2007-01-30 | International Business Machines Corporation | Realtime configuration updates and software distribution to active client positions |
US20080301670A1 (en) * | 2007-05-31 | 2008-12-04 | Microsoft Corporation | Content distribution infrastructure |
US7512941B2 (en) * | 2003-05-16 | 2009-03-31 | International Business Machines Corporation | Method and system for distributing and updating heterogeneous resources |
US20100228404A1 (en) * | 2009-03-06 | 2010-09-09 | Link Ii Charles M | Method and system for configuring and provisioning a vehicle |
US20100235433A1 (en) * | 2006-12-29 | 2010-09-16 | Prodea Systems , Inc. | Subscription management of applications and services provided through user premises gateway devices |
US20110045842A1 (en) * | 2009-08-20 | 2011-02-24 | Ford Global Technologies, Llc | Method and System For Updating A Social Networking System Based On Vehicle Events |
US20110307933A1 (en) * | 2010-06-15 | 2011-12-15 | Telefonaktiebolaget L M Ericsson (Publ) | Systems and methods for implementing server side push mechanisms for internet protocol television (iptv) updates |
US20140066047A1 (en) * | 2012-09-03 | 2014-03-06 | Telefonaktiebolaget L M Ericsson (Publ) | Methods and Apparatuses for Automatic Provisioning of External Identifiers used for Machine Type Devices in a 3GPP Network |
Family Cites Families (90)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5155847A (en) | 1988-08-03 | 1992-10-13 | Minicom Data Corporation | Method and apparatus for updating software at remote locations |
US7672756B2 (en) | 1995-06-07 | 2010-03-02 | Automotive Technologies International, Inc. | Vehicle communications using the internet |
US9443358B2 (en) | 1995-06-07 | 2016-09-13 | Automotive Vehicular Sciences LLC | Vehicle software upgrade techniques |
US6694248B2 (en) | 1995-10-27 | 2004-02-17 | Total Technology Inc. | Fully automated vehicle dispatching, monitoring and billing |
US20020150050A1 (en) | 1999-06-17 | 2002-10-17 | Nathanson Martin D. | Automotive telemetry protocol |
GB9826873D0 (en) | 1998-12-07 | 1999-01-27 | Simoco Int Ltd | Position monitoring system |
EP1194903B1 (en) | 1999-05-26 | 2013-11-13 | Johnson Controls Technology Company | Wireless communications system and method |
US7904569B1 (en) | 1999-10-06 | 2011-03-08 | Gelvin David C | Method for remote access of vehicle components |
US6611755B1 (en) | 1999-12-19 | 2003-08-26 | Trimble Navigation Ltd. | Vehicle tracking, communication and fleet management system |
US6359570B1 (en) | 1999-12-22 | 2002-03-19 | Intelligent Vehicle Systems, Inc. | Vehicle-status device and system for remotely updating and locally indicating the status of a vehicle |
US7092803B2 (en) | 2000-08-18 | 2006-08-15 | Idsc Holdings, Llc | Remote monitoring, configuring, programming and diagnostic system and method for vehicles and vehicle components |
US20050203673A1 (en) | 2000-08-18 | 2005-09-15 | Hassanayn Machlab El-Hajj | Wireless communication framework |
US6704564B1 (en) | 2000-09-22 | 2004-03-09 | Motorola, Inc. | Method and system for controlling message transmission and acceptance by a telecommunications device |
US7055149B2 (en) | 2001-07-25 | 2006-05-30 | Lenovo (Singapore) Pte Ltd. | Method and apparatus for automating software upgrades |
US7155321B2 (en) | 2001-08-06 | 2006-12-26 | Idsc Holdings Llc | System, method and computer program product for remote vehicle diagnostics, monitoring, configuring and reprogramming |
US7209859B2 (en) | 2002-03-02 | 2007-04-24 | Linxberg Technology, Llc | Method and apparatus for sequentially collecting and analyzing real time data with interactive monitoring |
US20040010358A1 (en) | 2002-07-12 | 2004-01-15 | General Motors Corporation | Vehicle personalization through web portal |
US20040064385A1 (en) | 2002-09-30 | 2004-04-01 | Desmond Tamaki | Method of centralized parts segregation |
US7376832B2 (en) | 2003-04-21 | 2008-05-20 | International Business Machines Corporation | Distributed method, system and computer program product for establishing security in a publish/subscribe data processing broker network |
FR2856230B1 (en) | 2003-06-16 | 2006-02-03 | Wavecom | SYSTEM AND METHOD FOR CONTROLLING REMOTE EQUIPMENT USING API FUNCTIONS, RADIO COMMUNICATION DEVICE AND MODULE AND CORRESPONDING FUNCTION SET |
US6853910B1 (en) | 2003-08-11 | 2005-02-08 | General Motors Corporation | Vehicle tracking telematics system |
US20050090941A1 (en) | 2003-10-22 | 2005-04-28 | General Motors Corporation | Telematics based programming gateway |
CN100481005C (en) | 2003-10-27 | 2009-04-22 | 美国能量变换公司 | System and method for updating a software program |
US20050125261A1 (en) | 2003-12-09 | 2005-06-09 | Alexander Omeed Adegan | Intelligent used parts cross-referencing, search and location software application |
US7280900B2 (en) | 2004-02-23 | 2007-10-09 | General Motors Corporation | Technical virtual advisor |
US7506309B2 (en) | 2004-03-23 | 2009-03-17 | General Motors Corporation | Method for managing vehicle software configuration updates |
US20050216902A1 (en) | 2004-03-23 | 2005-09-29 | General Motors Corporation | Method and system for vehicle software configuration update management |
US7366589B2 (en) | 2004-05-13 | 2008-04-29 | General Motors Corporation | Method and system for remote reflash |
US7886180B2 (en) | 2004-05-14 | 2011-02-08 | International Business Machines Corporation | Recovery in a distributed stateful publish-subscribe system |
US7835691B2 (en) | 2004-08-30 | 2010-11-16 | General Motors Llc | Remote vehicle-related notification |
US7162339B2 (en) | 2004-08-31 | 2007-01-09 | General Motors Corporation | automated vehicle calibration and testing system via telematics |
US20060155439A1 (en) | 2005-01-12 | 2006-07-13 | Slawinski John A | System and method for using a vehicle's key to collect vehicle data and diagnose mechanical problems, to store and compare security data to allow only authorized use of vehicles and a method to automatically set vehicle features usng the key |
US20060258377A1 (en) | 2005-05-11 | 2006-11-16 | General Motors Corporation | Method and sysem for customizing vehicle services |
US20070055414A1 (en) | 2005-09-08 | 2007-03-08 | Darji Ankur K | Method and system for configuring telematics control unit |
US20120330723A1 (en) | 2006-04-24 | 2012-12-27 | Hedy Shad M | Distributed system and method for used vehicle valuation |
US8427979B1 (en) | 2006-07-27 | 2013-04-23 | Mobitrum Corporation | Method and system for dynamic information exchange on location aware mesh network devices |
US7930279B2 (en) | 2006-09-29 | 2011-04-19 | Christopher Betts | Systems and methods adapted to retrieve and/or share information via internet communications |
US7937075B2 (en) | 2006-10-06 | 2011-05-03 | At&T Intellectual Property I, L.P. | Mode changing of a mobile communications device and vehicle settings when the mobile communications device is in proximity to a vehicle |
US8219710B2 (en) | 2006-10-28 | 2012-07-10 | General Motors Llc | Method of establishing a data connection with a telematics-equipped vehicle |
GB0623917D0 (en) | 2006-11-30 | 2007-01-10 | Ibm | Method, apparatus and computer program for controlling retention of publications |
US8484328B2 (en) | 2007-02-23 | 2013-07-09 | Avaya Inc. | Apparatus and method for stateful web services enablement |
US8473938B1 (en) | 2007-06-21 | 2013-06-25 | Open Invention Network Llc | Security patch update processor |
US20090182825A1 (en) | 2007-07-04 | 2009-07-16 | International Business Machines Corporation | Method and system for providing source information of data being published |
US7822775B2 (en) | 2007-07-20 | 2010-10-26 | Sap Ag | Method and system for managing complex database information |
US8635608B2 (en) | 2007-09-04 | 2014-01-21 | Teradata Us, Inc. | Software update system and method |
US8370254B1 (en) | 2007-09-26 | 2013-02-05 | United Services Automobile Association | Enhanced vehicle identification card |
US8320893B2 (en) | 2007-09-28 | 2012-11-27 | General Motors Llc | Method and system for conference calling with vehicle occupant |
US20090119657A1 (en) | 2007-10-24 | 2009-05-07 | Link Ii Charles M | Methods and systems for software upgrades |
US8332838B2 (en) | 2007-11-14 | 2012-12-11 | Continental Automotive Systems, Inc. | Systems and methods for updating device software |
CN102203810A (en) | 2008-09-09 | 2011-09-28 | 美国联合包裹服务公司 | Systems and methods of utilizing telematics data to improve fleet management operations |
US20100082559A1 (en) | 2008-09-19 | 2010-04-01 | General Motors Corporation | Method of managing a schedule-based software package update |
US8732258B2 (en) | 2009-03-20 | 2014-05-20 | Oracle America, Inc. | Method and system for transporting telemetry data across a network |
DE102009018761A1 (en) | 2009-04-27 | 2010-10-28 | Bayerische Motoren Werke Aktiengesellschaft | Process for updating software components |
US20110083128A1 (en) | 2009-10-02 | 2011-04-07 | International Truck Intellectual Property Company, Llc | Method for selecting software and installing same via a telematic module in a motor vehicle |
US8838332B2 (en) | 2009-10-15 | 2014-09-16 | Airbiquity Inc. | Centralized management of motor vehicle software applications and services |
US8291025B2 (en) | 2009-10-23 | 2012-10-16 | International Business Machines Corporation | Controlling retention of publication |
US11042816B2 (en) | 2009-10-30 | 2021-06-22 | Getaround, Inc. | Vehicle access control services and platform |
US20110106375A1 (en) | 2009-11-03 | 2011-05-05 | Vishnu Gurusamy Sundaram | Method and system for providing an integrated platform for entertainment, information, communication, control and computing applications in vehicles |
JP2011118884A (en) | 2009-11-04 | 2011-06-16 | Fujitsu Ltd | Communication terminal apparatus, software acquiring method, and software acquiring program |
DE102009056786A1 (en) | 2009-12-03 | 2011-06-09 | Continental Automotive Gmbh | Mobile interface and system for controlling vehicle functions |
GB2492258A (en) | 2010-04-19 | 2012-12-26 | Ibm | Controlling message delivery in publish/subscribe messaging |
US8498771B2 (en) | 2010-05-05 | 2013-07-30 | Ford Global Technologies, Llc | Wireless vehicle servicing |
US8391829B2 (en) | 2010-06-10 | 2013-03-05 | General Motors Llc | Remote vehicle data access during a multi-way call with a vehicle telematics unit |
US8521424B2 (en) | 2010-09-29 | 2013-08-27 | Ford Global Technologies, Llc | Advanced map information delivery, processing and updating |
US9020487B2 (en) | 2010-10-14 | 2015-04-28 | At&T Mobility Ii Llc | Over-the-air content management of wireless equipment in confined-coverage wireless networks |
US8457686B2 (en) | 2010-12-02 | 2013-06-04 | General Motors Llc | Method of communication between a vehicle telematics unit and a call center |
US8458315B2 (en) | 2010-12-06 | 2013-06-04 | Sap Ag | In-vehicle application platform for vehicle-to-business communication |
US8788139B2 (en) | 2011-03-21 | 2014-07-22 | Webtech Wireless Inc. | Multi-protocol vehicle diagnostic interface device and method |
JP5939655B2 (en) | 2011-03-29 | 2016-06-22 | ボルボ ラストバグナー アーベー | Safe repair data package |
US9208626B2 (en) | 2011-03-31 | 2015-12-08 | United Parcel Service Of America, Inc. | Systems and methods for segmenting operational data |
GB201106555D0 (en) | 2011-04-19 | 2011-06-01 | Tomtom Int Bv | Taxi dispatching system |
DE102011100106A1 (en) | 2011-04-30 | 2012-10-31 | Daimler Ag | System for diagnosing a component in a vehicle |
US9557981B2 (en) | 2011-07-26 | 2017-01-31 | Ford Global Technologies, Llc | Method and apparatus for automatic module upgrade |
US9116786B2 (en) | 2011-11-16 | 2015-08-25 | Flextronics Ap, Llc | On board vehicle networking module |
US8744421B2 (en) | 2011-11-18 | 2014-06-03 | General Motors Llc | Method of initiating a hands-free conference call |
US8635018B2 (en) | 2012-02-03 | 2014-01-21 | International Business Machines Corporation | Managing a driver profile |
US8880277B2 (en) | 2012-02-29 | 2014-11-04 | GM Global Technology Operations LLC | Methods and systems for diagnosing a vehicle |
US8452465B1 (en) | 2012-03-30 | 2013-05-28 | GM Global Technology Operations LLC | Systems and methods for ECU task reconfiguration |
US8918231B2 (en) | 2012-05-02 | 2014-12-23 | Toyota Motor Engineering & Manufacturing North America, Inc. | Dynamic geometry support for vehicle components |
EP2680534B1 (en) | 2012-06-28 | 2017-12-27 | Harman Becker Automotive Systems GmbH | Logging for telematic systems |
WO2014088567A1 (en) | 2012-12-05 | 2014-06-12 | Bendix Commercial Vehicle Systems Llc | Methods and apparatus for updating software components in coordination with operational modes of a motor vehicle |
US9075686B2 (en) | 2013-02-25 | 2015-07-07 | GM Global Technology Operations LLC | System and method to improve control module reflash time |
US20140282470A1 (en) | 2013-03-13 | 2014-09-18 | Arynga Inc. | Remote transfer of electronic images to a vehicle |
US10061574B2 (en) | 2013-03-14 | 2018-08-28 | Ford Global Technologies, Llc | Method and apparatus for multiple vehicle software module reflash |
US8924071B2 (en) | 2013-04-26 | 2014-12-30 | Ford Global Technologies, Llc | Online vehicle maintenance |
US20140380296A1 (en) | 2013-06-20 | 2014-12-25 | General Motors Llc | Re-programming vehicle modules |
KR101500094B1 (en) | 2013-07-01 | 2015-03-06 | 현대자동차주식회사 | Message transmission/reception system and method for ethernet-based vehicle network |
US9215227B2 (en) | 2013-08-23 | 2015-12-15 | Unisys Corporation | Systems and methods for network communications |
US9529584B2 (en) | 2013-11-06 | 2016-12-27 | General Motors Llc | System and method for preparing vehicle for remote reflash event |
US9715378B2 (en) | 2013-12-18 | 2017-07-25 | International Business Machines Corporation | Automated software update scheduling |
-
2014
- 2014-01-09 US US14/151,526 patent/US9766874B2/en active Active
- 2014-12-17 DE DE102014118910.8A patent/DE102014118910A1/en active Pending
-
2015
- 2015-01-09 CN CN201510011495.2A patent/CN104778056B/en active Active
Patent Citations (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6035423A (en) * | 1997-12-31 | 2000-03-07 | Network Associates, Inc. | Method and system for providing automated updating and upgrading of antivirus applications using a computer network |
US6263360B1 (en) * | 1998-06-01 | 2001-07-17 | Sri International | System uses filter tree and feed handler for updating objects in a client from a server object list |
US7171661B1 (en) * | 2000-10-19 | 2007-01-30 | International Business Machines Corporation | Realtime configuration updates and software distribution to active client positions |
US20020165962A1 (en) * | 2001-02-28 | 2002-11-07 | Alvarez Mario F. | Embedded controller architecture for a modular optical network, and methods and apparatus therefor |
US20040168169A1 (en) * | 2001-05-03 | 2004-08-26 | Christophe Ebro | Lookup facility in distributed computer systems |
US20040034624A1 (en) * | 2002-08-14 | 2004-02-19 | Kenneth Deh-Lee | Method and system of managing repository for a mobile workforce |
US20040117851A1 (en) * | 2002-12-11 | 2004-06-17 | Jeyhan Karaoguz | Media exchange network supporting delivery of media content to authorized vehicles via media processing system |
US7512941B2 (en) * | 2003-05-16 | 2009-03-31 | International Business Machines Corporation | Method and system for distributing and updating heterogeneous resources |
US20050010458A1 (en) * | 2003-06-28 | 2005-01-13 | International Business Machines Corporation | Methods, apparatus and computer programs for visualization and management of data organisation within a data processing system |
US20050055687A1 (en) * | 2003-09-04 | 2005-03-10 | Georg Mayer | Software update information via session initiation protocol event packages |
US20050149922A1 (en) * | 2004-01-06 | 2005-07-07 | International Business Machines Corporation | Dynamic software update system, method and program product |
US20050187668A1 (en) * | 2004-02-23 | 2005-08-25 | Baumgarte Joseph W. | System or method for loading software onto a vehicle |
US20050262499A1 (en) * | 2004-05-21 | 2005-11-24 | Bea Systems, Inc. | System and method for external override of annotations |
US20060047666A1 (en) * | 2004-08-28 | 2006-03-02 | Bedi Bharat V | Control of publish/subscribe messaging |
US20100235433A1 (en) * | 2006-12-29 | 2010-09-16 | Prodea Systems , Inc. | Subscription management of applications and services provided through user premises gateway devices |
US20080301670A1 (en) * | 2007-05-31 | 2008-12-04 | Microsoft Corporation | Content distribution infrastructure |
US20100228404A1 (en) * | 2009-03-06 | 2010-09-09 | Link Ii Charles M | Method and system for configuring and provisioning a vehicle |
US20110045842A1 (en) * | 2009-08-20 | 2011-02-24 | Ford Global Technologies, Llc | Method and System For Updating A Social Networking System Based On Vehicle Events |
US20110307933A1 (en) * | 2010-06-15 | 2011-12-15 | Telefonaktiebolaget L M Ericsson (Publ) | Systems and methods for implementing server side push mechanisms for internet protocol television (iptv) updates |
US20140066047A1 (en) * | 2012-09-03 | 2014-03-06 | Telefonaktiebolaget L M Ericsson (Publ) | Methods and Apparatuses for Automatic Provisioning of External Identifiers used for Machine Type Devices in a 3GPP Network |
Cited By (140)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10685403B1 (en) | 2014-05-20 | 2020-06-16 | State Farm Mutual Automobile Insurance Company | Fault determination with autonomous feature use monitoring |
US10354330B1 (en) | 2014-05-20 | 2019-07-16 | State Farm Mutual Automobile Insurance Company | Autonomous feature use monitoring and insurance pricing |
US11710188B2 (en) | 2014-05-20 | 2023-07-25 | State Farm Mutual Automobile Insurance Company | Autonomous communication feature use and insurance pricing |
US10963969B1 (en) | 2014-05-20 | 2021-03-30 | State Farm Mutual Automobile Insurance Company | Autonomous communication feature use and insurance pricing |
US11010840B1 (en) | 2014-05-20 | 2021-05-18 | State Farm Mutual Automobile Insurance Company | Fault determination with autonomous feature use monitoring |
US10719885B1 (en) | 2014-05-20 | 2020-07-21 | State Farm Mutual Automobile Insurance Company | Autonomous feature use monitoring and insurance pricing |
US11580604B1 (en) | 2014-05-20 | 2023-02-14 | State Farm Mutual Automobile Insurance Company | Autonomous vehicle operation feature monitoring and evaluation of effectiveness |
US11238538B1 (en) | 2014-05-20 | 2022-02-01 | State Farm Mutual Automobile Insurance Company | Accident risk model determination using autonomous vehicle operating data |
US10373259B1 (en) | 2014-05-20 | 2019-08-06 | State Farm Mutual Automobile Insurance Company | Fully autonomous vehicle insurance pricing |
US11023629B1 (en) | 2014-05-20 | 2021-06-01 | State Farm Mutual Automobile Insurance Company | Autonomous vehicle operation feature evaluation |
US11436685B1 (en) | 2014-05-20 | 2022-09-06 | State Farm Mutual Automobile Insurance Company | Fault determination with autonomous feature use monitoring |
US11386501B1 (en) | 2014-05-20 | 2022-07-12 | State Farm Mutual Automobile Insurance Company | Accident fault determination for autonomous vehicles |
US11062396B1 (en) | 2014-05-20 | 2021-07-13 | State Farm Mutual Automobile Insurance Company | Determining autonomous vehicle technology performance for insurance pricing and offering |
US10504306B1 (en) | 2014-05-20 | 2019-12-10 | State Farm Mutual Automobile Insurance Company | Accident response using autonomous vehicle monitoring |
US11348182B1 (en) | 2014-05-20 | 2022-05-31 | State Farm Mutual Automobile Insurance Company | Autonomous vehicle operation feature monitoring and evaluation of effectiveness |
US10529027B1 (en) | 2014-05-20 | 2020-01-07 | State Farm Mutual Automobile Insurance Company | Autonomous vehicle operation feature monitoring and evaluation of effectiveness |
US11080794B2 (en) | 2014-05-20 | 2021-08-03 | State Farm Mutual Automobile Insurance Company | Autonomous vehicle technology effectiveness determination for insurance pricing |
US11288751B1 (en) | 2014-05-20 | 2022-03-29 | State Farm Mutual Automobile Insurance Company | Autonomous vehicle operation feature monitoring and evaluation of effectiveness |
US11282143B1 (en) | 2014-05-20 | 2022-03-22 | State Farm Mutual Automobile Insurance Company | Fully autonomous vehicle insurance pricing |
US11127083B1 (en) | 2014-05-20 | 2021-09-21 | State Farm Mutual Automobile Insurance Company | Driver feedback alerts based upon monitoring use of autonomous vehicle operation features |
US11669090B2 (en) | 2014-05-20 | 2023-06-06 | State Farm Mutual Automobile Insurance Company | Autonomous vehicle operation feature monitoring and evaluation of effectiveness |
US11869092B2 (en) | 2014-05-20 | 2024-01-09 | State Farm Mutual Automobile Insurance Company | Autonomous vehicle operation feature monitoring and evaluation of effectiveness |
US11127086B2 (en) | 2014-05-20 | 2021-09-21 | State Farm Mutual Automobile Insurance Company | Accident fault determination for autonomous vehicles |
US10719886B1 (en) | 2014-05-20 | 2020-07-21 | State Farm Mutual Automobile Insurance Company | Accident fault determination for autonomous vehicles |
US10726499B1 (en) | 2014-05-20 | 2020-07-28 | State Farm Mutual Automoible Insurance Company | Accident fault determination for autonomous vehicles |
US10748218B2 (en) | 2014-05-20 | 2020-08-18 | State Farm Mutual Automobile Insurance Company | Autonomous vehicle technology effectiveness determination for insurance pricing |
US10726498B1 (en) | 2014-05-20 | 2020-07-28 | State Farm Mutual Automobile Insurance Company | Accident fault determination for autonomous vehicles |
US11030696B1 (en) | 2014-07-21 | 2021-06-08 | State Farm Mutual Automobile Insurance Company | Methods of providing insurance savings based upon telematics and anonymous driver data |
US10475127B1 (en) | 2014-07-21 | 2019-11-12 | State Farm Mutual Automobile Insurance Company | Methods of providing insurance savings based upon telematics and insurance incentives |
US11257163B1 (en) | 2014-07-21 | 2022-02-22 | State Farm Mutual Automobile Insurance Company | Methods of pre-generating insurance claims |
US10540723B1 (en) | 2014-07-21 | 2020-01-21 | State Farm Mutual Automobile Insurance Company | Methods of providing insurance savings based upon telematics and usage-based insurance |
US11069221B1 (en) | 2014-07-21 | 2021-07-20 | State Farm Mutual Automobile Insurance Company | Methods of facilitating emergency assistance |
US10723312B1 (en) | 2014-07-21 | 2020-07-28 | State Farm Mutual Automobile Insurance Company | Methods of theft prevention or mitigation |
US11634103B2 (en) | 2014-07-21 | 2023-04-25 | State Farm Mutual Automobile Insurance Company | Methods of facilitating emergency assistance |
US11068995B1 (en) | 2014-07-21 | 2021-07-20 | State Farm Mutual Automobile Insurance Company | Methods of reconstructing an accident scene using telematics data |
US11634102B2 (en) | 2014-07-21 | 2023-04-25 | State Farm Mutual Automobile Insurance Company | Methods of facilitating emergency assistance |
US11565654B2 (en) | 2014-07-21 | 2023-01-31 | State Farm Mutual Automobile Insurance Company | Methods of providing insurance savings based upon telematics and driving behavior identification |
US10825326B1 (en) | 2014-07-21 | 2020-11-03 | State Farm Mutual Automobile Insurance Company | Methods of facilitating emergency assistance |
US10997849B1 (en) | 2014-07-21 | 2021-05-04 | State Farm Mutual Automobile Insurance Company | Methods of facilitating emergency assistance |
US10974693B1 (en) | 2014-07-21 | 2021-04-13 | State Farm Mutual Automobile Insurance Company | Methods of theft prevention or mitigation |
US10832327B1 (en) | 2014-07-21 | 2020-11-10 | State Farm Mutual Automobile Insurance Company | Methods of providing insurance savings based upon telematics and driving behavior identification |
US10821971B1 (en) | 2014-11-13 | 2020-11-03 | State Farm Mutual Automobile Insurance Company | Autonomous vehicle automatic parking |
US11720968B1 (en) | 2014-11-13 | 2023-08-08 | State Farm Mutual Automobile Insurance Company | Autonomous vehicle insurance based upon usage |
US10915965B1 (en) | 2014-11-13 | 2021-02-09 | State Farm Mutual Automobile Insurance Company | Autonomous vehicle insurance based upon usage |
US10943303B1 (en) | 2014-11-13 | 2021-03-09 | State Farm Mutual Automobile Insurance Company | Autonomous vehicle operating style and mode monitoring |
US10940866B1 (en) | 2014-11-13 | 2021-03-09 | State Farm Mutual Automobile Insurance Company | Autonomous vehicle operating status assessment |
US11175660B1 (en) | 2014-11-13 | 2021-11-16 | State Farm Mutual Automobile Insurance Company | Autonomous vehicle control assessment and selection |
US11977874B2 (en) | 2014-11-13 | 2024-05-07 | State Farm Mutual Automobile Insurance Company | Autonomous vehicle control assessment and selection |
US11247670B1 (en) | 2014-11-13 | 2022-02-15 | State Farm Mutual Automobile Insurance Company | Autonomous vehicle control assessment and selection |
US11954482B2 (en) | 2014-11-13 | 2024-04-09 | State Farm Mutual Automobile Insurance Company | Autonomous vehicle control assessment and selection |
US11748085B2 (en) | 2014-11-13 | 2023-09-05 | State Farm Mutual Automobile Insurance Company | Autonomous vehicle operator identification |
US11740885B1 (en) * | 2014-11-13 | 2023-08-29 | State Farm Mutual Automobile Insurance Company | Autonomous vehicle software version assessment |
US10831191B1 (en) | 2014-11-13 | 2020-11-10 | State Farm Mutual Automobile Insurance Company | Autonomous vehicle accident and emergency response |
US10824144B1 (en) | 2014-11-13 | 2020-11-03 | State Farm Mutual Automobile Insurance Company | Autonomous vehicle control assessment and selection |
US11726763B2 (en) | 2014-11-13 | 2023-08-15 | State Farm Mutual Automobile Insurance Company | Autonomous vehicle automatic parking |
US11014567B1 (en) | 2014-11-13 | 2021-05-25 | State Farm Mutual Automobile Insurance Company | Autonomous vehicle operator identification |
US11173918B1 (en) | 2014-11-13 | 2021-11-16 | State Farm Mutual Automobile Insurance Company | Autonomous vehicle control assessment and selection |
US11645064B2 (en) | 2014-11-13 | 2023-05-09 | State Farm Mutual Automobile Insurance Company | Autonomous vehicle accident and emergency response |
US10353694B1 (en) * | 2014-11-13 | 2019-07-16 | State Farm Mutual Automobile Insurance Company | Autonomous vehicle software version assessment |
US11127290B1 (en) | 2014-11-13 | 2021-09-21 | State Farm Mutual Automobile Insurance Company | Autonomous vehicle infrastructure communication device |
US11532187B1 (en) | 2014-11-13 | 2022-12-20 | State Farm Mutual Automobile Insurance Company | Autonomous vehicle operating status assessment |
US11500377B1 (en) | 2014-11-13 | 2022-11-15 | State Farm Mutual Automobile Insurance Company | Autonomous vehicle control assessment and selection |
US10824415B1 (en) | 2014-11-13 | 2020-11-03 | State Farm Automobile Insurance Company | Autonomous vehicle software version assessment |
US11494175B2 (en) | 2014-11-13 | 2022-11-08 | State Farm Mutual Automobile Insurance Company | Autonomous vehicle operating status assessment |
US10831204B1 (en) | 2014-11-13 | 2020-11-10 | State Farm Mutual Automobile Insurance Company | Autonomous vehicle automatic parking |
US10416670B1 (en) | 2014-11-13 | 2019-09-17 | State Farm Mutual Automobile Insurance Company | Autonomous vehicle control assessment and selection |
US10769954B1 (en) | 2015-08-28 | 2020-09-08 | State Farm Mutual Automobile Insurance Company | Vehicular driver warnings |
US11450206B1 (en) | 2015-08-28 | 2022-09-20 | State Farm Mutual Automobile Insurance Company | Vehicular traffic alerts for avoidance of abnormal traffic conditions |
US10977945B1 (en) | 2015-08-28 | 2021-04-13 | State Farm Mutual Automobile Insurance Company | Vehicular driver warnings |
US10950065B1 (en) | 2015-08-28 | 2021-03-16 | State Farm Mutual Automobile Insurance Company | Shared vehicle usage, monitoring and feedback |
US10748419B1 (en) | 2015-08-28 | 2020-08-18 | State Farm Mutual Automobile Insurance Company | Vehicular traffic alerts for avoidance of abnormal traffic conditions |
CN105610959A (en) * | 2016-01-14 | 2016-05-25 | 中电长城网际系统应用有限公司 | Information publishing-subscribing platform, method and system |
US10503168B1 (en) | 2016-01-22 | 2019-12-10 | State Farm Mutual Automotive Insurance Company | Autonomous vehicle retrieval |
US11119477B1 (en) | 2016-01-22 | 2021-09-14 | State Farm Mutual Automobile Insurance Company | Anomalous condition detection and response for autonomous vehicles |
US12055399B2 (en) | 2016-01-22 | 2024-08-06 | State Farm Mutual Automobile Insurance Company | Autonomous vehicle trip routing |
US11136024B1 (en) | 2016-01-22 | 2021-10-05 | State Farm Mutual Automobile Insurance Company | Detecting and responding to autonomous environment incidents |
US11126184B1 (en) | 2016-01-22 | 2021-09-21 | State Farm Mutual Automobile Insurance Company | Autonomous vehicle parking |
US11181930B1 (en) | 2016-01-22 | 2021-11-23 | State Farm Mutual Automobile Insurance Company | Method and system for enhancing the functionality of a vehicle |
US11189112B1 (en) | 2016-01-22 | 2021-11-30 | State Farm Mutual Automobile Insurance Company | Autonomous vehicle sensor malfunction detection |
US10828999B1 (en) | 2016-01-22 | 2020-11-10 | State Farm Mutual Automobile Insurance Company | Autonomous electric vehicle charging |
US10691126B1 (en) | 2016-01-22 | 2020-06-23 | State Farm Mutual Automobile Insurance Company | Autonomous vehicle refueling |
US11242051B1 (en) | 2016-01-22 | 2022-02-08 | State Farm Mutual Automobile Insurance Company | Autonomous vehicle action communications |
US10747234B1 (en) | 2016-01-22 | 2020-08-18 | State Farm Mutual Automobile Insurance Company | Method and system for enhancing the functionality of a vehicle |
US10679497B1 (en) | 2016-01-22 | 2020-06-09 | State Farm Mutual Automobile Insurance Company | Autonomous vehicle application |
US10579070B1 (en) | 2016-01-22 | 2020-03-03 | State Farm Mutual Automobile Insurance Company | Method and system for repairing a malfunctioning autonomous vehicle |
US10545024B1 (en) | 2016-01-22 | 2020-01-28 | State Farm Mutual Automobile Insurance Company | Autonomous vehicle trip routing |
US10829063B1 (en) | 2016-01-22 | 2020-11-10 | State Farm Mutual Automobile Insurance Company | Autonomous vehicle damage and salvage assessment |
US11920938B2 (en) | 2016-01-22 | 2024-03-05 | Hyundai Motor Company | Autonomous electric vehicle charging |
US11879742B2 (en) | 2016-01-22 | 2024-01-23 | State Farm Mutual Automobile Insurance Company | Autonomous vehicle application |
US10324463B1 (en) | 2016-01-22 | 2019-06-18 | State Farm Mutual Automobile Insurance Company | Autonomous vehicle operation adjustment based upon route |
US11348193B1 (en) | 2016-01-22 | 2022-05-31 | State Farm Mutual Automobile Insurance Company | Component damage and salvage assessment |
US11124186B1 (en) | 2016-01-22 | 2021-09-21 | State Farm Mutual Automobile Insurance Company | Autonomous vehicle control signal |
US11015942B1 (en) | 2016-01-22 | 2021-05-25 | State Farm Mutual Automobile Insurance Company | Autonomous vehicle routing |
US11625802B1 (en) | 2016-01-22 | 2023-04-11 | State Farm Mutual Automobile Insurance Company | Coordinated autonomous vehicle automatic area scanning |
US11016504B1 (en) | 2016-01-22 | 2021-05-25 | State Farm Mutual Automobile Insurance Company | Method and system for repairing a malfunctioning autonomous vehicle |
US10395332B1 (en) | 2016-01-22 | 2019-08-27 | State Farm Mutual Automobile Insurance Company | Coordinated autonomous vehicle automatic area scanning |
US11440494B1 (en) | 2016-01-22 | 2022-09-13 | State Farm Mutual Automobile Insurance Company | Detecting and responding to autonomous vehicle incidents |
US11441916B1 (en) | 2016-01-22 | 2022-09-13 | State Farm Mutual Automobile Insurance Company | Autonomous vehicle trip routing |
US10802477B1 (en) | 2016-01-22 | 2020-10-13 | State Farm Mutual Automobile Insurance Company | Virtual testing of autonomous environment control system |
US11719545B2 (en) | 2016-01-22 | 2023-08-08 | Hyundai Motor Company | Autonomous vehicle component damage and salvage assessment |
US11600177B1 (en) | 2016-01-22 | 2023-03-07 | State Farm Mutual Automobile Insurance Company | Autonomous vehicle application |
US10818105B1 (en) | 2016-01-22 | 2020-10-27 | State Farm Mutual Automobile Insurance Company | Sensor malfunction detection |
US11062414B1 (en) | 2016-01-22 | 2021-07-13 | State Farm Mutual Automobile Insurance Company | System and method for autonomous vehicle ride sharing using facial recognition |
US11513521B1 (en) | 2016-01-22 | 2022-11-29 | State Farm Mutual Automobile Insurance Copmany | Autonomous vehicle refueling |
US11526167B1 (en) | 2016-01-22 | 2022-12-13 | State Farm Mutual Automobile Insurance Company | Autonomous vehicle component maintenance and repair |
US11682244B1 (en) | 2016-01-22 | 2023-06-20 | State Farm Mutual Automobile Insurance Company | Smart home sensor malfunction detection |
US10824145B1 (en) | 2016-01-22 | 2020-11-03 | State Farm Mutual Automobile Insurance Company | Autonomous vehicle component maintenance and repair |
US11656978B1 (en) | 2016-01-22 | 2023-05-23 | State Farm Mutual Automobile Insurance Company | Virtual testing of autonomous environment control system |
US11022978B1 (en) | 2016-01-22 | 2021-06-01 | State Farm Mutual Automobile Insurance Company | Autonomous vehicle routing during emergencies |
US10386845B1 (en) | 2016-01-22 | 2019-08-20 | State Farm Mutual Automobile Insurance Company | Autonomous vehicle parking |
US10235154B2 (en) | 2016-03-09 | 2019-03-19 | Ford Global Technologies, Llc | Over-the-air trigger to vehicle interrogator updates |
US20170315797A1 (en) * | 2016-05-02 | 2017-11-02 | Ford Global Technologies, Llc | Vehicle connection location regional software delivery |
US20170322791A1 (en) * | 2016-05-04 | 2017-11-09 | General Motors Llc | Providing vehicle system module updates |
US10318269B2 (en) * | 2016-05-04 | 2019-06-11 | General Motors Llc | Providing vehicle system module updates |
WO2021134612A1 (en) | 2019-12-31 | 2021-07-08 | Huawei Technologies Co., Ltd. | Method for managing software versions of electronic device (s) in a vehicle and related device |
US20220334824A1 (en) * | 2019-12-31 | 2022-10-20 | Huawei Technologies Co., Ltd. | Method for managing software versions of electronic device(s) in a vehicle and related device |
EP4073629A4 (en) * | 2019-12-31 | 2023-01-04 | Huawei Technologies Co., Ltd. | Method for managing software versions of electronic device (s) in a vehicle and related device |
CN112740172A (en) * | 2019-12-31 | 2021-04-30 | 华为技术有限公司 | Method for managing software version of electronic equipment in vehicle and related equipment |
CN112740210A (en) * | 2020-09-30 | 2021-04-30 | 华为技术有限公司 | Method for verifying software security of electronic equipment in vehicle and related equipment |
US11290328B1 (en) | 2020-10-30 | 2022-03-29 | Nutanix, Inc. | Intelligent telemetry data collection |
US11223516B1 (en) | 2020-10-30 | 2022-01-11 | Nutanix, Inc. | Smart collection and processing in telemetry system |
US11700178B2 (en) | 2020-10-30 | 2023-07-11 | Nutanix, Inc. | System and method for managing clusters in an edge network |
US11153163B1 (en) | 2020-10-30 | 2021-10-19 | Nutanix, Inc. | Cloud-controlled configuration of edge processing units |
US11374807B2 (en) | 2020-10-30 | 2022-06-28 | Nutanix, Inc. | Handling dynamic command execution in hybrid cloud environments |
US11734100B2 (en) | 2020-10-30 | 2023-08-22 | Nutanix, Inc. | Edge side filtering in hybrid cloud environments |
US11140029B1 (en) * | 2020-10-30 | 2021-10-05 | Nutanix, Inc. | Server side filtering in hybrid cloud environments |
US11481269B2 (en) | 2020-10-30 | 2022-10-25 | Nutanix, Inc. | Recommendation engine based on classification of virtualized workload |
US11290330B1 (en) | 2020-10-30 | 2022-03-29 | Nutanix, Inc. | Reconciliation of the edge state in a telemetry platform |
US20220156054A1 (en) * | 2020-11-16 | 2022-05-19 | Ford Global Technologies, Llc | System for updating vehicle software |
US11556329B2 (en) * | 2020-11-16 | 2023-01-17 | Ford Global Technologies, Llc | System for updating vehicle software |
US11887411B2 (en) * | 2021-01-27 | 2024-01-30 | Amazon Technologies, Inc. | Vehicle data extraction service |
US20220237958A1 (en) * | 2021-01-27 | 2022-07-28 | Amazon Technologies, Inc. | Vehicle data extraction service |
US11782690B2 (en) * | 2021-06-29 | 2023-10-10 | Dell Products L.P. | Delivering applications over-the-air while supporting original equipment manufacturer markers |
US20220413822A1 (en) * | 2021-06-29 | 2022-12-29 | Dell Products, Lp | Delivering applications over-the-air while supporting original equipment manufacturer markers |
US11902374B2 (en) | 2021-11-29 | 2024-02-13 | Amazon Technologies, Inc. | Dynamic vehicle data extraction service |
CN114326679A (en) * | 2021-12-30 | 2022-04-12 | 重庆长安新能源汽车科技有限公司 | Method and system based on one-version integrated software flash controller |
US12047253B2 (en) | 2022-02-11 | 2024-07-23 | Nutanix, Inc. | System and method to provide priority based quality of service for telemetry data |
US11765065B1 (en) | 2022-03-23 | 2023-09-19 | Nutanix, Inc. | System and method for scalable telemetry |
US12086583B2 (en) | 2022-06-23 | 2024-09-10 | State Farm Mutual Automobile Insurance Company | Autonomous vehicle insurance based upon usage |
US12079618B2 (en) * | 2022-06-30 | 2024-09-03 | Huawei Technologies Co., Ltd. | Method for managing software versions of electronic device(s) in a vehicle and related device |
Also Published As
Publication number | Publication date |
---|---|
US9766874B2 (en) | 2017-09-19 |
CN104778056B (en) | 2019-10-22 |
DE102014118910A1 (en) | 2015-07-09 |
CN104778056A (en) | 2015-07-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9766874B2 (en) | Autonomous global software update | |
US10140110B2 (en) | Multiple chunk software updates | |
US9524156B2 (en) | Flexible feature deployment strategy | |
US11782691B2 (en) | Method and apparatus for over the air updates | |
US9323546B2 (en) | Targeted vehicle remote feature updates | |
US10402184B2 (en) | Module interface for vehicle updates | |
US10235154B2 (en) | Over-the-air trigger to vehicle interrogator updates | |
US10061574B2 (en) | Method and apparatus for multiple vehicle software module reflash | |
US9298649B2 (en) | Method and apparatus for dynamically updating a vehicle module configuration record | |
US20150363210A1 (en) | Vehicle download by remote mobile device | |
US10379837B2 (en) | Methods and apparatus for software updating | |
US9325650B2 (en) | Vehicle telematics data exchange | |
US20170242678A1 (en) | Method and apparatus for vehicle software update installation | |
US9841970B2 (en) | Vehicle control update methods and systems | |
US9716762B2 (en) | Remote vehicle connection status | |
US10140109B2 (en) | Silent in-vehicle software updates | |
US20150331686A1 (en) | Over-the-air vehicle issue resolution | |
US20160239317A1 (en) | Method and Apparatus for Application Management and Control | |
US20150195669A1 (en) | Method and system for a head unit to receive an application | |
US10002082B2 (en) | Method and apparatus for cyclical key-off file replacement | |
US20190014026A1 (en) | Method and apparatus for ignition state monitoring | |
US10015260B2 (en) | Method and apparatus for advanced vehicle data delivery using secondary device | |
US20200004524A1 (en) | Method and apparatus for confirming status of a remote update |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: FORD GLOBAL TECHNOLOGIES, LLC, MICHIGAN Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:RORK, JOSEPH PAUL;PETERSEN, BRIAN;PANDYA, RITESH;AND OTHERS;SIGNING DATES FROM 20140106 TO 20140108;REEL/FRAME:031935/0250 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 4 |