Method and system for remote reflash
Summary by NHIP
Remote ECU Software Reflash
The method identifies vehicles via a remote database and transmits software packages to telematics devices for ECU installation. Preparation involves comparing target and installed versions to assemble packages containing specific software, flash instructions, and diagnostic tests.
Claim Score by NHIP
Abstract
A system and method for remote reflashing of software for electronic control units (ECUs). A method includes identifying vehicle groups for software updating 200, determining vehicles within the vehicle groups, each of the vehicles having a telematics device and a plurality of ECUs 202, preparing a software update package for each of the vehicles 204, transmitting the software update package over a wireless carrier system to the telematics device of each of the vehicles 206, and installing the software update package in at least one target ECU for each of the vehicles 208.

Term
Term ended
Expired 25 April 2026, 0.4 years ago.
- Priority and filed
- Granted
- Expired
- Today
18 claims: 3 independent, 15 dependent
- 1Broadest claimClaim Score 58, broad(NHIP)A method for remote reflashing of software for electronic control units (ECUs), the method comprising:identifying one or more vehicles selected to receive updated ECU software using a database of vehicle information located at a remote facility, wherein the identifying step comprises searching the database using at least one key parameter associated with the vehicle information in the database;preparing a software update package that includes the updated ECU software for each of the one or more identified vehicles;transmitting the software update package over a wireless carrier system to a telematics device of each of the identified vehicles;and installing the updated ECU software in at least one target ECU for each of the identified vehicles.
- 10A system for remote reflashing of software for electronic control units (ECUs), the system comprising:means for identifying one or more vehicles selected to receive updated ECU software using a database of vehicle information located at a remote facility, wherein the identifying step comprises searching the database using at least one key parameter associated with the vehicle information in the database;means for preparing a software update package that includes the updated ECU software for each of the one or more identified vehicles;means for transmitting the software update package over a wireless carrier system to a telematics device of each of the identified vehicles;and means for installing the updated ECU software in at least one target ECU for each of the identified vehicles.
- 15A method for remote reflashing of software for electronic control units (ECUs), comprising the steps of:wirelessly receiving a software update package at a vehicle via a telematics unit;obtaining from the software update package a set of reflash execution instructions that identify either an ECU reflash sequence or a required vehicle state, or both;obtaining from the software update package an ECU update containing new ECU operating software or calibration data, or both;carrying out the reflash execution instructions by placing the vehicle in any required vehicle state and reprogramming one or more ECUs with the ECU update, wherein reprogramming of multiple ECUs is carried out according to any ECU reflash sequence contained in the software update package.
Independent claims3
46 paragraphs in 5 sections, as filed
FIELD OF THE INVENTION
0001The invention relates to vehicles, and more particularly to methods and systems for remote reflashing of software through a mobile vehicle communication system.
BACKGROUND OF THE INVENTION
0002Vehicle systems, such as power train systems, body control systems, antilock braking systems, and the like, are increasingly controlled by one or more electronically controlled units (ECUs). Each ECU includes software for its particular vehicle system, such as operating control software and calibration files including gains and setpoints. The ECUs are responsive to driver demands and vehicle conditions to control the vehicle system operations. From time to time, the software is updated to reflect software improvements and corrections by reflashing software stored in flash memory and installing new software versions. Software is also updated to suit user preferences.
0003Software updates present several problems. Presently, the update depends on the owner bringing the vehicle to the dealer for the software update. The owner may not receive the notice of the update. The owner may skip a useful update due to the inconvenience in time and effort involved in taking the vehicle to the dealer. The vehicle manufacturer also incurs an expense, since the vehicle manufacturer typically reimburses the dealer for the update installation under the vehicle warranty.
0004Another problem with software updates is ensuring that the software version for a particular ECU is correct and compatible with the software versions present in other ECUs. In one example, a vehicle has a first ECU and a second ECU. If the first ECU is to be updated to a software version ECU1<sub>—</sub>1.1.2, the second ECU can be required to have software version ECU2<sub>—</sub>3.2.1 installed for the first ECU to operate properly. If the second ECU is using an older software version, such as ECU2<sub>—</sub>3.1.8, the second ECU must be updated before or at the same time that the first ECU is updated to software version ECU1<sub>—</sub>1.1.2.
0005Yet another problem with software updates occurs with replacement of an ECU. The dealer replaces the ECU and downloads the current software for the replaced ECU. The replaced ECU software may be incompatible with the software for other ECUs, which may result in sub-optimal vehicle performance.
0006It would be desirable to have a method and system for remote reflashing of software through a mobile vehicle communication system that overcomes the above disadvantages.
SUMMARY OF THE INVENTION
0007The present invention provides a method for remote reflashing of software for electronic control units (ECUs), including identifying vehicle groups for software updating, determining vehicles within the vehicle groups with each of the vehicles having a telematics device and a plurality of ECUs, preparing a software update package for each of the vehicles, transmitting the software update package over a wireless carrier system to the telematics device of each of the vehicles, and installing the software update package in at least one target ECU for each of the vehicles.
0008Another aspect of the invention provides a system for remote reflashing of software for electronic control units (ECUs), including means for identifying vehicle groups for software updating, means for determining vehicles within the vehicle groups with each of the vehicles having a telematics device and a plurality of ECUs, means for preparing a software update package for each of the vehicles, means for transmitting the software update package over a wireless carrier system to the telematics device of each of the vehicles, and means for installing the software update package in at least one target ECU for each of the vehicles.
0009Yet another aspect of the invention provides a computer readable medium for remote reflashing of software for electronic control units (ECUs), including computer readable code for identifying vehicle groups for software updating, computer readable code for determining vehicles within the vehicle groups with each of the vehicles having a telematics device and a plurality of ECUs, computer readable code for preparing a software update package for each of the vehicles, computer readable code for transmitting the software update package over a wireless carrier system to the telematics device of each of the vehicles, and computer readable code for installing the software update package in at least one target ECU for each of the vehicles.
0010The foregoing and other features and advantages of the invention will become further apparent from the following detailed description of the presently preferred embodiment, read in conjunction with the accompanying drawings. The detailed description and drawings are merely illustrative of the invention rather than limiting, the scope of the invention being defined by the appended claims and equivalents thereof.
BRIEF DESCRIPTION OF THE DRAWINGS
<figref idref="DRAWINGS">FIG. 1</figref> is an illustrative operating environment for remote reflashing of software through a mobile vehicle communication system in accordance with one embodiment of the present invention.
<figref idref="DRAWINGS">FIG. 2</figref> is a flow diagram of a method for remote reflashing of software through a mobile vehicle communication system in accordance with one embodiment of the present invention.
DETAILED DESCRIPTION OF THE PRESENTLY PREFERRED EMBODIMENT
0013<figref idref="DRAWINGS">FIG. 1</figref> is an illustrative operating environment for remote reflashing of software through a mobile vehicle communication system in accordance with one embodiment of the present invention. <figref idref="DRAWINGS">FIG. 1</figref> shows a mobile vehicle communication system <b>100</b>. Mobile communication system <b>100</b> includes at least one mobile vehicle <b>110</b> (vehicle) including vehicle communication network <b>112</b> and telematics device <b>120</b>; one or more wireless carrier systems <b>140</b>; one or more communication networks <b>142</b>; one or more land networks <b>144</b>; one or more client, personal or user computers <b>150</b>; one or more web-hosting portals <b>160</b>; and one or more call centers <b>170</b>. The mobile vehicle <b>110</b> includes a plurality of electronically controlled units (ECUs) <b>114</b> in communication with the telematics device <b>120</b>. In one embodiment, mobile vehicle <b>110</b> is implemented as a vehicle equipped with suitable hardware and software for transmitting and receiving voice and data communications. The telematics device <b>120</b> is also called a vehicle communications unit (VCU) or a telematics unit.
0014In one embodiment, the telematics device <b>120</b> includes a processor <b>122</b> connected to a wireless modem <b>124</b>, a global positioning system (GPS) unit <b>126</b>, an in-vehicle memory <b>128</b> such as, for example, a non-volatile flash memory, a microphone <b>130</b>, one or more speakers <b>132</b>, and an embedded or in-vehicle mobile phone <b>134</b>. In one embodiment, processor <b>122</b> is a microcontroller, controller, host processor, or vehicle communications processor. In an example, processor <b>122</b> is implemented as an application specific integrated circuit (ASIC). GPS unit <b>126</b> provides longitude and latitude coordinates of the vehicle, as well as a time and date stamp. In-vehicle mobile telephone system <b>134</b> is a cellular-type phone such as, for example, an analog, digital, dual-mode, dual-band, multi-mode, or multi-band cellular phone. In another example, the mobile telephone system is an analog mobile telephone system operating over a prescribed band nominally at 800 MHz. In another example, the mobile telephone system is a digital mobile telephone system operating over a prescribed band nominally at 800 MHz, 900 MHz, 1900 MHz, or any suitable band capable of carrying digital cellular communications.
0015Processor <b>122</b> executes various computer programs and communication control and protocol algorithms that affect communication, programming, and operational modes of electronic and mechanical systems within vehicle <b>110</b>. In one embodiment, processor <b>122</b> is an embedded system controller. In another embodiment, processor <b>122</b> controls communications between telematics device <b>120</b>, wireless carrier system <b>140</b>, and call center <b>170</b>. In yet another embodiment, processor <b>122</b> controls communications between the wireless modem <b>124</b> and nodes of a mobile ad hoc network. In still another embodiment, processor <b>122</b> provides processing, analysis, and control functions for determining engine emission performance for vehicle <b>110</b>. Processor <b>122</b> is configured to generate and receive digital signals transmitted between telematics device <b>120</b> and a vehicle communication network <b>112</b> that is connected to various electronic modules in the vehicle <b>110</b>. In one embodiment, the digital signals activate a programming mode and operation modes, as well as provide for data transfers. In another embodiment, a utility program facilitates the transfer of emission data, emission analysis data, instructions, triggers, and data requests between vehicle <b>110</b> and a call center <b>170</b>.
0016Mobile vehicle <b>110</b>, via a vehicle communication network <b>112</b>, sends signals to various units of equipment and systems within vehicle <b>110</b> to perform various functions such as monitoring the operational state of vehicle systems, collecting and storing data from the vehicle systems, providing instructions, data and programs to various vehicle systems, and calling from telematics device <b>120</b>. In facilitating interactions among the various communication and electronic modules, vehicle communication network <b>112</b> utilizes interfaces such as controller-area network (CAN), International Organization for Standardization (ISO) Standard 9141, ISO Standard 11898 for high-speed applications, ISO Standard 11519 for lower speed applications, and Society of Automotive Engineers (SAE) standard J1850 for higher and lower speed applications. In one embodiment, vehicle communication network <b>112</b> is a direct connection between connected devices.
0017Vehicle <b>110</b>, via telematics device <b>120</b>, sends and receives radio transmissions from wireless carrier system <b>140</b>. Wireless carrier system <b>140</b> is implemented as any suitable system for transmitting a signal from mobile vehicle <b>110</b> to communication network <b>142</b>. Wireless carrier system <b>140</b> incorporates any type of telecommunications in which electromagnetic waves carry signal over part of or the entire communication path. In one embodiment, wireless carrier system <b>140</b> transmits analog audio and/or video signals. In an example, wireless carrier system <b>140</b> transmits analog audio and/or video signals such as those sent from AM and FM radio stations and transmitters, or digital audio signals in the S band (approved for use in the U.S.) and L band (used in Europe and Canada). In one embodiment, wireless carrier system <b>140</b> is a satellite broadcast system broadcasting over a spectrum in the S band (2.3 GHz) that has been allocated by the U.S. Federal Communications Commission (FCC) for nationwide broadcasting of satellite-based Digital Audio Radio Service (DARS).
0018Communication network <b>142</b> includes services from one or more mobile telephone switching offices and wireless networks. Communication network <b>142</b> connects wireless carrier system <b>140</b> to land network <b>144</b>. Communication network <b>142</b> is implemented as any suitable system or collection of systems for connecting wireless carrier system <b>140</b> to mobile vehicle <b>110</b> and land network <b>144</b>. In one example, wireless carrier system <b>140</b> includes a short message service, modeled after established protocols such as IS-637 SMS standards, IS-136 air interface standards for SMS, and GSM 03.40 and 09.02 standards. Similar to paging, an SMS communication could be broadcast to a number of regional recipients. In another example, the carrier system <b>140</b> uses services in accordance with other standards such as, for example, IEEE 802.11 compliant wireless systems and Bluetooth compliant wireless systems.
0019Land network <b>144</b> is a public-switched telephone network (PSTN). In one embodiment, land network <b>144</b> is implemented as an Internet protocol (IP) network. in other embodiments, land network <b>144</b> is implemented as a wired network, an optical network, a fiber network, another wireless network, a virtual private network (VPN), or any combination thereof. Land network <b>144</b> is connected to one or more landline telephones. Land network <b>144</b> connects communication network <b>142</b> to computer <b>150</b>, web-hosting portal <b>160</b>, and call center <b>170</b>. Communication network <b>142</b> and land network <b>144</b> connect wireless carrier system <b>140</b> to web-hosting portal <b>160</b> and call center <b>170</b>.
0020Client, personal, or user computer <b>150</b> includes a computer usable medium to execute Internet-browser and Internet-access computer programs for sending and receiving data over land network <b>144</b> and, optionally, wired or wireless communication networks <b>142</b> to web-hosting portal <b>160</b> and vehicle <b>110</b>. Computer <b>150</b> sends data to web-hosting portal through a web-page interface using communication standards such as hypertext transport protocol (HTTP) and transport-control protocol Internet protocol (TCP/IP). In one embodiment, the data includes directives to change certain programming and operational modes of electronic and mechanical systems within vehicle <b>110</b>. In another embodiment, the data includes requests for certain data such as vehicle system performance information. In operation, a user, such as, for example, a vehicle designer or manufacturing engineer, utilizes computer <b>150</b> to exchange information with mobile vehicle <b>110</b> that is cached or stored in web-hosting portal <b>160</b>. In an embodiment, vehicle system performance information from client-side software is transmitted to server-side software of web-hosting portal <b>160</b>. In one embodiment, vehicle system performance information is stored at web-hosting portal <b>160</b>. In another embodiment, computer <b>150</b> includes a database (not shown) for storing received vehicle system performance data. In yet another embodiment, a private Local Area Network (LAN) is implemented for client computer <b>150</b> and web-hosting portal <b>160</b>, such that web-hosting portal is operated as a Virtual Private Network (VPN).
0021Web-hosting portal <b>160</b> includes one or more data modems <b>162</b>, one or more web servers <b>164</b>, one or more databases <b>166</b>, and a network <b>168</b>. Web-hosting portal <b>160</b> is connected directly by wire to call center <b>170</b>, or connected by phone lines to land network <b>144</b>, which is connected to call center <b>170</b>. Web-hosting portal <b>160</b> is connected to land network <b>144</b> by one or more data modems <b>162</b>. Land network <b>144</b> transmits digital data to and from modem <b>162</b>; data that is subsequently transferred to web server <b>164</b>. In one implementation, modem <b>162</b> resides inside web server <b>164</b>. Land network <b>144</b> transmits data communications between web-hosting portal <b>160</b> and call center <b>170</b>.
0022Web server <b>164</b> receives various data, requests, or instructions from computer <b>150</b> via land network <b>144</b>. In alternative embodiments, computer <b>150</b> includes a wireless modem to send data to web-hosting portal <b>160</b> through a wireless communication network <b>142</b> and a land network <b>144</b>. Data is received by modem <b>162</b> and sent to one or more web servers <b>164</b>. In one embodiment, web server <b>164</b> is implemented as any suitable hardware and software capable of providing web services to transmit and receive data from computer <b>150</b> to telematics device <b>120</b> in vehicle <b>110</b>. Web server <b>164</b> sends to or receives data transmissions from one or more databases <b>166</b> via network <b>168</b>. In an embodiment, web server <b>164</b> includes computer applications and files for managing emission performance data.
0023In one embodiment, one or more web servers <b>164</b> are networked via network <b>168</b> to distribute vehicle engine emission performance data among its network components such as database <b>166</b>. In an example, database <b>166</b> is a part of or a separate computer from web server <b>164</b>. In one embodiment, web-server <b>164</b> sends data transmissions including vehicle system performance information to call center <b>170</b> via modem <b>162</b>, and through land network <b>144</b>.
0024Call center <b>170</b> is a location where many calls are received and serviced at the same time, or where many calls are sent at the same time. In one embodiment, the call center is a telematics call center, facilitating communications to and from telematics device <b>120</b> in vehicle <b>110</b>. In an example, the call center is a voice call center, providing verbal communications between an advisor in the call center and a subscriber in a mobile vehicle. In another example, the call center contains each of these functions. In other embodiments, call center <b>170</b> and web-hosting portal <b>160</b> are located in the same or different facilities.
0025Call center <b>170</b> contains one or more voice and data switches <b>172</b>, one or more communication services managers <b>174</b>, one or more communication services databases <b>176</b>, one or more communication services advisors <b>178</b>, and one or more networks <b>180</b>.
0026Switch <b>172</b> of call center <b>170</b> connects to land network <b>144</b>. Switch <b>172</b> transmits voice or data transmissions from call center <b>170</b>, and receives voice or data transmissions from telematics device <b>120</b> in mobile vehicle <b>110</b> through wireless carrier system <b>140</b> and/or wireless modem <b>124</b>, communication network <b>142</b>, and land network <b>144</b>. Switch <b>172</b> receives data transmissions from and sends data transmissions to one or more web-hosting portals <b>160</b>. Switch <b>172</b> receives data transmissions from or sends data transmissions to one or more communication services managers <b>174</b> via one or more networks <b>180</b>.
0027Communication services manager <b>174</b> is any suitable hardware and software capable of providing communication services to telematics device <b>120</b> in mobile vehicle <b>110</b>. Communication services manager <b>174</b> sends to or receives data transmissions from one or more communication services databases <b>176</b> via network <b>180</b>. Communication services manager <b>174</b> sends to or receives data transmissions from one or more communication services advisors <b>178</b> via network <b>180</b>. Communication services database <b>176</b> sends to or receives data transmissions from communication services advisor <b>178</b> via network <b>180</b>. Communication services advisor <b>178</b> receives from or sends voice or data transmissions to switch <b>172</b>.
0028Communication services manager <b>174</b> facilitates one or more services, such as, but not limited to, enrollment services, navigation assistance, directory assistance, roadside assistance, business or residential assistance, information services assistance, emergency assistance, communications assistance, and telematics retrieval of vehicle system performance information. Communication services manager <b>174</b> transmits and receives operational status, instructions, and other types of vehicle data to telematics device <b>120</b> in mobile vehicle <b>110</b> through wireless carrier system <b>140</b>, communication network <b>142</b>, land network <b>144</b>, wireless modem <b>124</b>, voice and data switch <b>172</b>, and network <b>180</b>. Communication services manager <b>174</b> stores or retrieves vehicle system performance information from communication services database <b>176</b>. Communication services manager <b>174</b> provides requested information to communication services advisor <b>178</b>.
0029In one embodiment, communication services advisor <b>178</b> is a real advisor. In another embodiment, communication services advisor <b>178</b> is implemented as a virtual advisor. In an example, a real advisor is a human being at a service provider service center in verbal communication with a service subscriber in mobile vehicle <b>110</b> via telematics device <b>120</b>. In another example, a virtual advisor is implemented as a synthesized voice interface responding to requests from telematics device <b>120</b> in mobile vehicle <b>110</b>.
0030Communication services advisor <b>178</b> provides services to telematics device <b>120</b> in mobile vehicle <b>110</b>. Services provided by communication services advisor <b>178</b> include enrollment services, navigation assistance, real-time traffic advisories, directory assistance, roadside assistance, business or residential assistance, information services assistance, emergency assistance, and communications assistance. Communication services advisor <b>178</b> communicates with telematics device <b>120</b> in mobile vehicle <b>110</b> through wireless carrier system <b>140</b>, communication network <b>142</b>, and land network <b>144</b> using voice transmissions, or through communication services manager <b>174</b> and switch <b>172</b> using data transmissions. Switch <b>172</b> selects between voice transmissions and data transmissions.
0031Mobile vehicle <b>110</b> initiates service requests to call center <b>170</b> by sending a voice or digital-signal command to telematics device <b>120</b>, which, in turn, sends an instructional signal or a voice call through wireless modem <b>124</b>, wireless carrier system <b>140</b>, communication network <b>142</b>, and land network <b>144</b> to call center <b>170</b>. In one embodiment, one or more triggers stored in the telematics device <b>120</b> cause the vehicle to initiate a service request. The trigger is, for example, a number of ignition cycles, a specific time and date, an expired time, a number of kilometers, an absolute Global Positioning System (GPS) timestamp, a request vehicle emission performance data and the like.
0032Mobile vehicle <b>110</b> includes a plurality of electronically controlled units (ECUs) <b>114</b>. The ECUs <b>114</b> are responsive to driver demands and vehicle conditions to control vehicle system operations. Examples of vehicle systems including ECUs <b>114</b> are power train systems, body control systems, antilock braking systems, and the like. Each ECU <b>114</b> stores software for its particular vehicle system. Typically, the ECUs <b>114</b> include a processor for executing software and storage for storing software and data. In one embodiment, the storage includes flash memory that can be erased and rewritten to store new software and data. The software includes operating control software and calibration files, which include gain and setpoint values. The ECUs <b>114</b> are in communication with the telematics device <b>120</b> to send and receive information such as software, data, and status flags over the wireless carrier systems <b>140</b>.
0033<figref idref="DRAWINGS">FIG. 2</figref> is a flow diagram of a method for remote reflashing of software through a mobile vehicle communication system in accordance with one embodiment of the present invention. The method includes identifying vehicle groups for software updating <b>200</b>, determining vehicles within the vehicle groups, each of the vehicles having a telematics device and a plurality of ECUs <b>202</b>, preparing a software update package for each of the vehicles <b>204</b>, transmitting the software update package over a wireless carrier system to the telematics device of each of the vehicles <b>206</b>, and installing the software update package in at least one target ECU for each of the vehicles <b>208</b>. The method operates within an environment and using a system such as the exemplary system of <figref idref="DRAWINGS">FIG. 1</figref>. The method is embodied in a computer usable medium for remote reflashing of software for ECUs including computer readable code for executing the method described by <figref idref="DRAWINGS">FIG. 2</figref>.
0034Identifying vehicle groups for software updating <b>200</b> includes identifying groups of vehicles for which ECU software updating is desirable. The ECU software updating includes updating the ECU operating software and/or the ECU calibration file. ECU software updating is desirable for improving ECU operation, vehicle operation, vehicle operation for a particular driver profile or region, operating software functionality, and/or calibration file values, for example. In one embodiment, identifying vehicle groups for software updating <b>200</b> also includes performing preliminary software update planning, such as establishing a target ECU software version, determining ECU update criticality, identifying software dependencies with other ECUs, and/or establishing an update flash sequence when software dependencies exist.
0035Determining vehicles within the vehicle groups, each of the vehicles having a telematics device and a plurality of ECUs <b>202</b>, includes determining specific vehicles, typically by vehicle identification number (VIN), for which the software updating is desired. In one embodiment, the vehicles are determined by searching a vehicle information database, such as databases at the call center or web-hosting portal, for vehicles having at least one key parameter such as ECU model number, installed ECU software version, installed ECU calibration file version, driver profile, operating region, or the like.
0036Preparing a software update package for each of the vehicles <b>204</b> includes preparing the software update package to be transmitted over a wireless carrier system to the vehicle for installation. In one embodiment, the software update package is prepared at the call center or web-hosting portal. The software update package includes reflash execution instructions for the vehicle software update and target ECU software for each ECU to be updated. The vehicle telematics device is responsive to the reflash execution instructions to control the manner and sequence of the ECU software installation. In one embodiment, the software update package includes the required vehicle state for the software update, e.g., inactive and stationary. In an alternative embodiment, the software update package includes vehicle diagnostic tests to be performed after the software update. In yet another alternative embodiment, the software update package includes ECU diagnostic tests to be performed after each ECU software installation. In yet another alternative embodiment, the software update package includes the installed ECU software version and/or the installed ECU calibration file version.
0037In preparing a software update package, the target and installed software versions are determined for each of the ECUs in the vehicle. The target software version is the desired ECU software version after performing the software update. The installed software version is the presently installed ECU software version. The target and installed software versions are compared. Target ECU software and ECU flash instructions are obtained for each of the ECUs in which the installed software version is not the target software version.
0038The reflash execution instructions for the software update, including the ECU reflash sequence, are determined depending on the ECUs to be updated. The ECU reflash sequence provides the order in which the target ECUs are updated, maintaining ECU software compatibility among ECUs. In an alternative embodiment, update control parameters, such as the required vehicle state and/or vehicle diagnostic tests, are also determined depending on the ECUs to be updated.
0039The software update package is assembled from the target ECU software and ECU flash instructions for each target ECU, and the reflash execution instructions. In one embodiment, ECU diagnostic tests for each target ECU are also included in the software update package. In an alternative embodiment, update control parameters are also included in the software update package. In one embodiment, the software update package is secured as a secured software update package by encrypting, compressing, and/or signing the software update package.
0040Transmitting the software update package over a wireless carrier system to the telematics device of each of the vehicles <b>206</b> includes transmitting the software update package from a server to the mobile vehicle. In one embodiment, the server is located at the call center or web-hosting portal, and the wireless carrier system receives the software update package over a land network and a communication network.
0041Installing the software update package in at least one target ECU for each of the vehicles <b>208</b> includes installing the software update package at the mobile vehicle in each of the target ECUs in the sequence directed by the telematics unit. In one embodiment, the software update package includes reflash execution instructions, first target ECU software, first ECU flash instructions, second target ECU software, and second ECU flash instructions. Installing the software update package in at least one target ECU for each of the vehicles <b>208</b> includes executing the reflash execution instructions at the telematics device for a specific vehicle, transmitting the first target ECU software and the first ECU flash instructions to a first target ECU in response to the reflash execution instructions, installing the first target ECU software in the first target ECU in response to the first ECU flash instructions, transmitting the second target ECU software and the second ECU flash instructions to a second target ECU in response to the reflash execution instructions; and installing the second target ECU software in the second target ECU in response to the second ECU flash instructions. The installation is repeated for any number of ECUs until each has been updated with the appropriate target ECU software.
0042In an alternative embodiment, the installed ECU software is uninstalled before the target ECU software is installed. In another alternative embodiment, the target ECU software and ECU flash instructions is secured as a secured target ECU update package by encrypting, compressing, and/or signing the target ECU software and ECU flash instructions at the telematics device. The secured target ECU update package is transmitted to the ECU for installation, and decrypted, uncompressed, and/or signature verified at the target ECU prior to installation.
0043In alternative embodiments, pre-installation and/or post-installation checking is included in installing the software update package. Pre-installation checking includes security, vehicle state, and ECU software version checking prior to ECU software installation. Security checking includes decrypting, uncompressing, and/or signature verifying the software update package prior to installation when the software update package is a secured software update package. Vehicle state checking includes verifying that the vehicle Is in the desired state, such as inactive and stationary, prior to installation of the software update package when required vehicle state is included as an update control parameter in the software update package. ECU software version checking includes checking that the target ECU has the installed ECU software version and/or the installed ECU calibration file version that is expected, i.e., the installed ECU software version and/or the installed ECU calibration file version found in the determining vehicles within the vehicle groups <b>202</b> and used in preparing the software update package <b>204</b>. Should the pre-installation checking fail, the software update is suspended. In one embodiment, the telematics device requests further instruction from the mobile vehicle communication system, for example from the call center or web-hosting portal. In an alternative embodiment, the telematics device repeats the pre-installation testing later and proceeds with the software update when the pre-installation testing is successful.
0044Post-installation checking includes ECU diagnostic testing and vehicle diagnostic testing. ECU diagnostic testing includes testing the newly installed ECU software to verify proper operation when an ECU diagnostic test is included in the software update package. In one embodiment, the ECU reports the outcome of the ECU diagnostic testing to the telematics device. Vehicle diagnostic testing includes testing of the software update by the telematics device after all the target ECUs have been updated when a vehicle diagnostic test is included in the software update package. In one embodiment, the telematics device reports the outcome of the vehicle diagnostic testing to the mobile vehicle communication system, such as to the call center or web-hosting portal. Should the post-installation checking fail, the software update is reversed and the software configuration returned to a safe mode or the pre-installation state. In one embodiment, the telematics device requests further instruction from the mobile vehicle communication system, such as from the call center or web-hosting portal.
0045The remote reflashing method can include reports of the progress and completion of the software updates. In one embodiment, the telematics device reports successful completion of installation of the software update package in a specific vehicle to the mobile vehicle communication system, for example to the call center or web-hosting portal. In an alternative embodiment, the mobile vehicle communication system updates the installed software version recorded for each of the plurality of updated ECUs for each vehicle, for example updating databases at the call center or web-hosting portal. In another alternative embodiment, the mobile vehicle communication system issues intermediate reports showing what percentage of vehicles within the vehicle group being updated have been updated. In yet another alternative embodiment, the mobile vehicle communication system issues a successful update completion report when all vehicles within the vehicle group being updated have been updated. Those skilled in the art will appreciate that additional useful reports can show intermediate and final status of the software updating.
0046While the embodiments of the invention disclosed herein are presently considered to be preferred, various changes and modifications can be made without departing from the scope of the invention. The scope of the invention is indicated in the appended claims, and all changes that come within the meaning and range of equivalents are intended to be embraced therein.
Contents5
3 sheets
Sheet 1 Sheet 2 Sheet 3
Every citation, both ways
| Document | Relation | Office | Cited during |
|---|---|---|---|
| US9716762B2 | Cited by | United States of America | Applicant |
| US9557981B2 | Cited by | United States of America | Applicant |
| US11449327B2 | Cited by | United States of America | Applicant |
| US12205420B2 | Cited by | United States of America | Applicant |
| US2011231150A1 | Cited by | United States of America | Pre-grant |
| US12001825B2 | Cited by | United States of America | Applicant |
| US12013703B2 | Cited by | United States of America | Applicant |
| US10056008B1 | Cited by | United States of America | Applicant |
| US10146521B2 | Cited by | United States of America | Search report |
| US9807149B2 | Cited by | United States of America | Applicant |
| US8275572B2 | Cited by | United States of America | Applicant |
| US11366655B2 | Cited by | United States of America | Search report |
| US10703383B1 | Cited by | United States of America | Applicant |
| US10379837B2 | Cited by | United States of America | Applicant |
| US11442721B2 | Cited by | United States of America | Applicant |
| US2012130567A1 | Cited by | United States of America | Pre-grant |
| US2014325500A1 | Cited by | United States of America | Pre-grant |
| US2019332371A1 | Cited by | United States of America | Search report |
| US9038047B2 | Cited by | United States of America | Applicant |
| RU2743186C1 | Cited by | Russian Federation | Search report |
| US8863194B2 | Cited by | United States of America | Applicant |
| US2016013934A1 | Cited by | United States of America | Pre-grant |
| US9722781B2 | Cited by | United States of America | Search report |
| US10223935B2 | Cited by | United States of America | Applicant |
| US11314502B2 | Cited by | United States of America | Applicant |
| US11271971B1 | Cited by | United States of America | Search report |
| US10825266B2 | Cited by | United States of America | Applicant |
| US11650807B2 | Cited by | United States of America | Applicant |
| US11662732B1 | Cited by | United States of America | Applicant |
| US10691525B2 | Cited by | United States of America | Search report |
| US11984020B2 | Cited by | United States of America | Applicant |
| US12222693B1 | Cited by | United States of America | Applicant |
| US10102687B1 | Cited by | United States of America | Search report |
| US11556329B2 | Cited by | United States of America | Applicant |
| US10303460B2 | Cited by | United States of America | Search report |
| US9529584B2 | Cited by | United States of America | Search report |
| US9720680B2 | Cited by | United States of America | Applicant |
| US2010106832A1 | Cited by | United States of America | Pre-grant |
| WO2014088567A1 | Cited by | World Intellectual Property Organization (WIPO) | International search |
| US2018121188A1 | Cited by | United States of America | Search report |
| US11724698B2 | Cited by | United States of America | Applicant |
| US10353696B2 | Cited by | United States of America | Search report |
| US9225765B2 | Cited by | United States of America | Applicant |
| US11356425B2 | Cited by | United States of America | Applicant |
| US2006220900A1 | Cited by | United States of America | Pre-grant |
| US8299924B2 | Cited by | United States of America | Applicant |
| US2007288967A1 | Cited by | United States of America | Pre-grant |
| US12379726B2 | Cited by | United States of America | Applicant |
| US8289201B2 | Cited by | United States of America | Applicant |
| US2006294514A1 | Cited by | United States of America | Pre-grant |
| US8725135B2 | Cited by | United States of America | Search report |
| US2013090820A1 | Cited by | United States of America | Pre-grant |
| US2007234349A1 | Cited by | United States of America | Pre-grant |
| US9934622B2 | Cited by | United States of America | Applicant |
| US2023153097A1 | Cited by | United States of America | Search report |
| US2008059806A1 | Cited by | United States of America | Pre-grant |
| US9430220B2 | Cited by | United States of America | Applicant |
| US10585661B2 | Cited by | United States of America | Applicant |
| US10678627B1 | Cited by | United States of America | Applicant |
| US2015128123A1 | Cited by | United States of America | Pre-grant |
| US9524156B2 | Cited by | United States of America | Search report |
| US10983784B2 | Cited by | United States of America | Applicant |
| US10279757B2 | Cited by | United States of America | Applicant |
| US9880186B2 | Cited by | United States of America | Applicant |
| US11789720B2 | Cited by | United States of America | Applicant |
| US11639142B2 | Cited by | United States of America | Applicant |
| US2012053774A1 | Cited by | United States of America | Pre-grant |
| US2009125900A1 | Cited by | United States of America | Pre-grant |
| US2018246713A1 | Cited by | United States of America | Search report |
| US9208308B2 | Cited by | United States of America | Applicant |
| US10353691B2 | Cited by | United States of America | Applicant |
| US11900103B2 | Cited by | United States of America | Applicant |
| US10705826B2 | Cited by | United States of America | Search report |
| US10061574B2 | Cited by | United States of America | Applicant |
| US2010161992A1 | Cited by | United States of America | Pre-grant |
| US2005216903A1 | Cited by | United States of America | Pre-grant |
| US11099836B2 | Cited by | United States of America | Applicant |
| US9639344B2 | Cited by | United States of America | Search report |
| US12169710B2 | Cited by | United States of America | Applicant |
| US8397228B2 | Cited by | United States of America | Search report |
| US10720045B2 | Cited by | United States of America | Applicant |
| US2007019546A1 | Cited by | United States of America | Pre-grant |
| US11321972B1 | Cited by | United States of America | Applicant |
| US8424041B2 | Cited by | United States of America | Applicant |
| US2007288985A1 | Cited by | United States of America | Pre-grant |
| US10664258B2 | Cited by | United States of America | Search report |
| US7869353B2 | Cited by | United States of America | Applicant |
| US10470189B2 | Cited by | United States of America | Applicant |
| US2007288986A1 | Cited by | United States of America | Pre-grant |
| US11001265B2 | Cited by | United States of America | Search report |
| US9626175B2 | Cited by | United States of America | Applicant |
| US8332561B2 | Cited by | United States of America | Applicant |
| US11026236B2 | Cited by | United States of America | Applicant |
| US10747604B1 | Cited by | United States of America | Applicant |
| US2016070559A1 | Cited by | United States of America | Pre-grant |
| US8060873B2 | Cited by | United States of America | Search report |
| US10289651B2 | Cited by | United States of America | Search report |
| US11636716B2 | Cited by | United States of America | Applicant |
| CN106990981A | Cited by | China | Search report |
| US11137997B2 | Cited by | United States of America | Applicant |
8 members in 4 offices; this record represents the family
Priority claims2
| Document | Office | Kind | Date |
|---|---|---|---|
| 84550604 | United States of America | A | |
| US20040845506 | – | – | – |
Members8
| Document | Office | Kind | |
|---|---|---|---|
| CA2502113A1 | Canada | A1 | |
| CN1696900A | China | A | |
| US2005256614A1 | United States of America | A1 | |
| DE102005021103A1 | Germany | A1 | |
| CN100350387C | China | C | |
| US7366589B2This record | United States of America | B2 | |
| CA2502113C | Canada | C | |
| DE102005021103B4 | Germany | B4 |
24 transactions on the USPTO file
Allowed after 1 non-final rejection.
- Non-final rejections
- 1
- Final rejections
- 0
- RCEs
- 0
- Appeals
- 0
Over time
Point at a mark for the transactionTransactions
| Event | Code | |
|---|---|---|
| Payment of Maintenance Fee, 12th Year, Large EntityM1553 | M1553 | |
| Recordation of Patent Grant MailedPGM/ | PGM/ | |
| Patent Issue Date Used in PTA CalculationAllowedPTAC | PTAC | |
| Issue Notification MailedAllowedWPIR | WPIR | |
| Dispatch to FDCD1935 | D1935 | |
| Application Is Considered Ready for IssuePILS | PILS | |
| Issue Fee Payment VerifiedN084 | N084 | |
| Issue Fee Payment ReceivedIFEE | IFEE | |
| Mail Notice of AllowanceAllowedMN/=. | MN/=. | |
| Notice of Allowance Data Verification CompletedAllowedN/=. | N/=. | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Response after Non-Final ActionA... | A... | |
| Request for Extension of Time - GrantedXT/G | XT/G | |
| Mail Non-Final RejectionNon-final rejectionMCTNF | MCTNF | |
| Non-Final RejectionNon-final rejectionCTNF | CTNF | |
| IFW TSS Processing by Tech Center CompleteTSSCOMP | TSSCOMP | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Application Return from OIPEWROIPE | WROIPE | |
| Application Return TO OIPEROIPE | ROIPE | |
| Application Dispatched from OIPEOIPE | OIPE | |
| Application Is Now CompleteCOMP | COMP | |
| Cleared by OIPE CSRL194 | L194 | |
| IFW Scan & PACR Auto Security ReviewSCAN | SCAN | |
| Initial Exam Team nnIEXX | IEXX |
25 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Maintenance fee paymentMAFP | MAFP | |
| Fee paymentFPAY | FPAY | |
| AssignmentAS | AS | |
| Fee paymentFPAY | FPAY | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| Information on status: patent grantGrantedPATENTED CASESTCF | STCF | |
| AssignmentAS | AS |
Numbers
- Publication
- 07366589
- Publication, DOCDB
- 7366589
- Publication, EPODOC
- US7366589
- Application
- 10845506
- Application, DOCDB
- 84550604
- Application, EPODOC
- US20040845506
Titles
- English
- Method and system for remote reflash
Patent term adjustment
- A delay
- +743 daysthe office missed an examination deadline
- Applicant delay
- −31 days
- Net adjustment
- 712 days
Classification
- CPC, 4
- G06F8/65
- B60L3/0023
- B60L3/12
- B60L2270/40
- IPC, 6
- G06F19 00
- G06F9 445
- G06F13 00
- G06F17 00
- H04L12 24
- H04L12 26
- USPC, 6
- 701001000
- 701029300
- 701031400
- 701031500
- 717173000
- 717178000