[go: up one dir, main page]

WO2016190377A1 - ソフトウェア更新装置、ソフトウェア更新システムおよびソフトウェア更新方法 - Google Patents

ソフトウェア更新装置、ソフトウェア更新システムおよびソフトウェア更新方法 Download PDF

Info

Publication number
WO2016190377A1
WO2016190377A1 PCT/JP2016/065524 JP2016065524W WO2016190377A1 WO 2016190377 A1 WO2016190377 A1 WO 2016190377A1 JP 2016065524 W JP2016065524 W JP 2016065524W WO 2016190377 A1 WO2016190377 A1 WO 2016190377A1
Authority
WO
WIPO (PCT)
Prior art keywords
update
software
electronic device
unit
condition
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.)
Ceased
Application number
PCT/JP2016/065524
Other languages
English (en)
French (fr)
Inventor
宗人 松田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kyocera Corp
Original Assignee
Kyocera Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Kyocera Corp filed Critical Kyocera Corp
Priority to US15/576,218 priority Critical patent/US20180150290A1/en
Publication of WO2016190377A1 publication Critical patent/WO2016190377A1/ja
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R16/00Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for
    • B60R16/02Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements
    • B60R16/023Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements for transmission of signals between vehicle parts or subsystems
    • B60R16/0231Circuits relating to the driving or the functioning of the vehicle
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0736Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0769Readable error formats, e.g. cross-platform generic formats, human understandable formats
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1433Saving, restoring, recovering or retrying at system level during software upgrading
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/66Updates of program code stored in read-only memory [ROM]

Definitions

  • This disclosure relates to a software update device, a software update system, and a software update method.
  • in-vehicle devices are mounted on vehicles.
  • This in-vehicle device stores a program and operates by executing this program.
  • the in-vehicle device can communicate with a center server arranged in a program provider company.
  • update information about the program of the in-vehicle device is stored.
  • the in-vehicle device requests update information from the center server when the engine stop is detected.
  • the center server transmits update information to the in-vehicle device.
  • the in-vehicle device determines whether or not an update file exists in the update information, and updates the program using the update file when the update file exists.
  • an object of the present disclosure is to provide a software update device that can update software based on dynamically changeable update conditions.
  • the software update device is connected to an electronic device that executes software.
  • the software update device includes a communication unit, a download unit, an update availability determination unit, and a transmission unit.
  • the communication unit communicates with an external device.
  • the download unit receives update software for updating software of the electronic device and update condition information indicating an update condition for executing software update from an external device via the communication unit.
  • the update availability determination unit determines whether or not the update condition is satisfied. When determining that the update condition is satisfied, the transmission unit instructs the electronic device to update the software using the updated software.
  • the software update system includes an electronic device, an external device, and a software update device.
  • the electronic device executes software.
  • the external device stores update software for updating software of the electronic device, and update condition information indicating an update condition for executing the software update.
  • the software update device includes a communication unit, a download unit, an update availability determination unit, and a transmission unit.
  • the communication unit communicates with an external device.
  • the download unit receives the update software and the update condition information from the external device via the communication unit.
  • the update availability determination unit determines whether or not the update condition is satisfied. When determining that the update condition is satisfied, the transmission unit instructs the electronic device to update the software using the update software.
  • the software update method is a software update method that instructs an electronic device that executes software to update the software.
  • the software update method receives update software for updating software and update condition information indicating an update condition for executing software update from an external device, and determines whether the update condition is satisfied, When it is determined that the update condition is satisfied, the electronic device is instructed to update the software using the updated software.
  • the software update device, the software update system, and the software update method can update software based on dynamically changeable update conditions.
  • FIG. 1 is a schematic diagram showing an example of the configuration of the software update device 1.
  • the software update device 1 is connected to an electronic device 3.
  • the connection here includes not only a wired connection but also a wireless connection.
  • the software update device 1 may be connected to a plurality of electronic devices 3.
  • the electronic device 3 includes a processing unit 31 and a storage unit 32.
  • the internal configuration of only one electronic device 3 is illustrated, but the other electronic device 3 also includes a processing unit 31 and a storage unit 32.
  • the storage unit 32 includes, for example, a storage medium such as a ROM (Read Only Memory), and stores software P1 (including programs and setting values and including firmware) that defines the operation of the electronic device 3.
  • the processing unit 31 is, for example, a CPU (Central Processing Unit) or a DSP (digital signal processor), and the electronic device 3 operates by reading the software P1 from the storage unit 32 and executing it.
  • Software update device 1 can transmit update software UP1 to each electronic device 3.
  • the processing unit 31 of each electronic device 3 can receive the update software UP1 from the software update device 1, and can update the software P1 stored in its own storage unit 32 using the update software UP1.
  • the processing unit 31 of each electronic device 3 operates with the latest software P1.
  • the operation of the processing unit 31 may be described as the operation of the electronic device 3.
  • the electronic device 3 may be described as updating the software P1.
  • the software update device 1 and the electronic device 3 may be provided in an arbitrary system, but are provided in a vehicle, for example.
  • an ECU electronic control unit
  • an engine ECU that controls the engine
  • a brake ECU that controls the brake
  • an audio ECU that controls the audio
  • an imaging ECU that controls the imaging unit (image sensor)
  • a security ECU that controls the security device, and the like.
  • a warning device that issues a warning in response to vibration while the engine is stopped, or a lock device that locks the steering while the engine is stopped can be employed.
  • the software update device 1 can communicate with the external device 2.
  • the external device 2 is a server, for example, and is a device for distributing the update software UP1.
  • the external device 2 includes, for example, an update setting unit 21, a communication unit 22, and a user interface 23.
  • the communication unit 22 is a communication circuit, and can communicate with the software update device 1, for example, wirelessly.
  • the user interface 23 includes, for example, a display unit and an input unit.
  • the display unit displays notification contents to the user, an operation menu, and the like.
  • the input unit is operated by the user, and the operation content is input to the update setting unit 21, for example.
  • the update setting unit 21 can set the update software UP1 according to the user input to the input unit.
  • the update setting unit 21 stores the update software UP1 in a storage unit (not shown) of the external device 2.
  • the update setting unit 21 can also set update condition information in accordance with a user input to the input unit.
  • the update condition information indicates a condition for executing the update software UP1.
  • the software update device 1 causes the electronic device 3 to update the software P1 using the update software UP1 when the condition indicated by the update condition information is satisfied.
  • This update condition information is also stored in the storage unit of the external device 2.
  • the update setting unit 21 may generate an update list in which the version information of the update software UP1 is associated with the update condition information.
  • the version information indicates information indicating how many times the update software UP1 corresponds to the update when the predetermined software P1 is updated a plurality of times. If this update list is transmitted to the software update device 1, the software update device 1 may know the set version of the update software UP1 and the update condition of the update software UP1 based on the update list. it can.
  • the software update device 1 includes an update control unit 11, a communication unit 12, an instruction reception unit 14, and a download unit 15.
  • the communication unit 12 is a communication circuit, and can communicate with the external device 2 by, for example, wireless.
  • the part including the update control unit 11, the instruction reception unit 14, and the download unit 15 can control the update of the software P ⁇ b> 1 in the electronic device 3. More specific description will be given below.
  • the instruction receiving unit 14 can receive an update notification from the external device 2 via the communication unit 12. This update notification is transmitted, for example, when new update software is set in the external device 2.
  • the download unit 15 can receive the update software UP1 and update condition information corresponding to the update software UP1 from the external device 2 via the communication unit 12. When the external device 2 transmits the above update list, the download unit 15 can also receive the update list via the communication unit 12.
  • FIG. 2 is a flowchart showing an example of a specific operation of the update control unit 11 when receiving the update software UP1.
  • the external device 2 transmits an update notification to the software update device 1.
  • This update notification is transmitted, for example, when the update software UP1 is set in the external device 2 or every predetermined period.
  • the notification receiving unit 14 determines whether or not an update notification from the external device 2 has been received. When it is determined that the update notification has not been received, the notification receiving unit 14 executes Step ST1 again.
  • the download unit 15 requests the external device 2 for an update list via the communication unit 12, and acquires the update list.
  • the update list includes the version of the update software UP1 for each electronic device 3 and the update condition information for each update software UP1.
  • Table 1 shows an example of an update list when an engine ECU and an imaging ECU are employed as the electronic device 3.
  • “1.01” is shown as the version of the update software UP1 of the engine ECU.
  • the engine stop is adopted as the update condition. This is because when the engine is operating, the software P1 of the engine ECU is being executed and cannot be updated.
  • the imaging ECU when traveling backward will be described.
  • four image pickup units are mounted on the front, rear, and both sides of the vehicle, respectively.
  • the imaging ECU controls the four imaging units when traveling backward, and appropriately converts and synthesizes images captured by the imaging units to generate an image when the vehicle is viewed from vertically above. Then, this video is displayed on the display unit in the vehicle. Thereby, the user can confirm the position and attitude
  • step ST3 the update control unit 11 determines whether there is update software UP1 to be executed based on the update list.
  • the version of the current software P1 stored in the electronic device 3 is compared with the version of the update software UP1, and if these are the same, the update is not necessary. That is, in this case, the update control unit 11 does not determine that update software should be executed.
  • the update condition cannot be determined, so the update is unnecessary.
  • the engine stop is an update condition
  • information indicating the engine operation / stop state may not be input from the engine ECU to the update control unit 11.
  • the update software UP1 corresponding to the update condition is not executed. Therefore, also in this case, the update control unit 11 does not determine that the update software should be executed.
  • the update control unit 11 determines that the update software should be executed. That is, the version of the update software UP1 is higher than the version of the current software P1 of the electronic device 3, and determination information necessary for determining the update condition corresponding to the update software UP1 is, for example, the electronic device 3 Is input to the update control unit 11, the update software UP1 is determined to be update software to be executed.
  • step ST3 When it is determined in step ST3 that there is no update software UP1 to be executed, the notification receiving unit 14 executes step ST1 again. If it is determined in step ST3 that there is an update software UP1 to be executed, the download unit 15 requests the external device 2 for the update software UP1 and acquires the update software UP1 in step ST4. Then, the download unit 15 outputs the update software UP1 and the update condition information to the update control unit 11.
  • the update control unit 11 acquires the update software UP1 to be executed and the update condition information corresponding thereto.
  • FIG. 3 schematically shows an example of communication between the software update device 1 and the external device 2 when there is update software UP1 to be executed.
  • an update notification is transmitted from the external device 2 to the software update device 1.
  • the software update device 1 transmits a list request to the external device 2. Receiving this request, the external device 2 transmits an update list.
  • the software update device 1 confirms the update list, determines that there is an update software UP1 to be executed, and requests the update software UP1. Receiving this request, the external device 2 transmits the update software UP1 to the software update device 1.
  • the update control unit 11 includes an update availability determination unit 111 and a transmission unit 112.
  • the update control unit 11, the notification receiving unit 14, and the download unit 15 may include, for example, a processing unit (not shown) (for example, a CPU or a DSP) and a storage unit (for example, a ROM) (not shown).
  • the storage unit stores software executed by the processing unit.
  • the processing unit executes the software to realize the function of the update control unit 11 (for example, the update availability determination unit 111 and the transmission unit 112), the function of the notification reception unit 14, and the function of the download unit 15. Good.
  • the present invention is not limited to this, and all or part of these functions may be configured by hardware.
  • the processing unit may be a circuit that executes these functions.
  • the update control unit 11, the notification reception unit 14, and the download unit 15 may each include a processing unit, and at least one processing unit executes the functions of the update control unit 11, the notification reception unit 14, and the download unit 15. May be.
  • the update availability determination unit 111 is input with update condition information of the update software UP1 to be executed and various determination information necessary for determining the update condition.
  • the update availability determination unit 111 can determine whether the update condition is satisfied based on the determination information.
  • the update software UP1 for the engine ECU information indicating the state of the engine can be adopted as the determination information.
  • the vehicle may be provided with a detection unit that detects the state of the engine key, and engine state information may be input to the update availability determination unit 111 as determination information.
  • the vehicle may be provided with a detection unit that detects the state of a shift lever for changing the gear, and the state information of the shift lever may be input to the update availability determination unit 111 as determination information.
  • the transmission unit 112 can transmit the update software UP1 to the corresponding electronic device 3. For example, when the update availability determination unit 111 determines that the update condition is satisfied, the update software UP1 corresponding to the update condition can be transmitted to the electronic device 3. In this case, the electronic device 3 promptly executes the received update software UP1.
  • the transmission unit 112 transmits the update software UP1 to the electronic device 3 regardless of the update condition, and transmits an execution instruction of the update software UP1 to the electronic device 3 when the update condition is satisfied. Also good.
  • the electronic device 3 receives the execution instruction and updates the software P1 using the update software UP1.
  • the update software UP1 since the electronic device 3 that has received the update software UP1 updates quickly, the update software UP1 also functions as an execution instruction for the electronic device 3.
  • FIG. 4 is a flowchart showing an example of the operation of the update control unit 11 when executing the update software UP1.
  • the update availability determination unit 111 determines for each acquired update software UP1 whether or not the update condition indicated by the update condition information is satisfied. This determination is executed for all acquired update software UP1. If any update software UP1 determines that the update condition is not satisfied, the update control unit 11 executes step ST10 again and waits for the next update notification.
  • step ST11 the transmission unit 112 transfers the update software UP1 corresponding to the update condition to each corresponding electronic device 3. To transmit.
  • the electronic device 3 (more specifically, the processing unit 31) updates the software P1 using the received update software UP1.
  • the update key determination unit 111 receives engine key status information. Then, the update availability determination unit 111 determines whether the engine is stopped as a determination of the update condition of the engine ECU. When it is determined that the engine is stopped, the transmission unit 112 transmits the corresponding update software UP1 to the engine ECU. The engine ECU updates its own software P1 using the received update software UP1.
  • the status information of the shift lever is input to the update availability determination unit 111. Then, the update availability determination unit 111 determines whether or not the shift lever is in a backward running state as a determination of the update condition of the imaging ECU. When it is determined that the shift lever is not in the state of traveling backward, the transmission unit 112 transmits the corresponding update software UP1 to the imaging ECU. The imaging ECU updates its own software P1 using the received update software UP1.
  • the update software UP1 is executed when the update condition is satisfied. Therefore, the update software UP1 for each electronic device 3 can be executed at an appropriate timing for each.
  • the external device 2 sets update condition information, and transmits the update condition information from the external device 2 to the software update device 1. Therefore, for example, when there are a plurality of software update apparatuses 1, it is not necessary for the worker to go to each software update apparatus 1 to set update conditions, and it is only necessary to set update conditions in the external apparatus 2. That is, the update conditions can be easily changed for substantially all software update apparatuses 1 by setting the update conditions in the external apparatus 2.
  • the update conditions need to be changed for certain software P1.
  • the imaging ECU updates the software P1 when the vehicle is not traveling backward as described above
  • the imaging ECU newly incorporates a function for capturing a scene during traveling. There is. When such a function is incorporated, the imaging ECU operates while the vehicle is traveling forward. Therefore, it is not preferable to update the software P1 of the imaging ECU while traveling forward.
  • the worker when setting the next update software UP1, the worker resets (changes) the update condition information about the imaging ECU in the external device 2.
  • the engine stop is set as the update condition.
  • Table 2 shows an example of this update list.
  • Table 2 shows that the update software UP1 of version “1.05” and the update software UP1 of version “2.00” exist for the imaging ECU.
  • the version indicates the newer the higher the number.
  • “engine stop” is adopted as the update condition of the update software UP1 of the version “2.00”. This is because a function that operates even when traveling forward is added to the imaging ECU by the update software of version “1.05”.
  • the update software UP1 of the imaging ECU can be executed at an appropriate timing.
  • the update condition needs to be changed depending on the update software UP1, but according to the present embodiment, the update condition information can be set in the external device 2. Therefore, it is easy to change such update conditions.
  • the type of electronic device 3 mounted on each vehicle may vary from vehicle to vehicle.
  • the security device of each vehicle may be different.
  • the software P1 of the security ECU is also different from each other, and the update software UP1 is also different from each other.
  • the update list may include information on all types of electronic devices 3 provided in each vehicle. That is, for a certain vehicle, information on the electronic device 3 that is not mounted may be included in the update list.
  • the update control unit 11 may extract only information on the electronic device 3 connected to itself from the update list. Such extraction can be performed based on identification information (also referred to as a device ID) of the electronic device 3.
  • the update setting unit 21 of the external device 2 does not need to generate an update list for each vehicle, and thus processing is easy.
  • FIG. 5 is a diagram schematically illustrating an example of the internal configuration of the update control unit 11. As shown in FIG. 5, the update control unit 11 further includes an error notification unit 113.
  • the update availability determination unit 111 determines not only the determination of the update condition indicated by the update condition information but also whether or not communication with the external device 2 is possible.
  • the transmission unit 112 sends the update software to the corresponding electronic device 3. To transmit. That is, when the update condition is satisfied and communication between the software update device 1 and the external device 2 is possible, the transmission unit 112 instructs the electronic device 3 to update.
  • the software updating device 1 can wirelessly communicate with the external device 2.
  • the electronic device 3 When the electronic device 3 is inadequate in updating the software P1, the electronic device 3 transmits a message to that effect to the update control unit 11.
  • the error notification unit 113 that has received this transmission notifies the external device 2 that there is a defect in the update of the software P1 of the electronic device 3 via the communication unit 12.
  • this notification is also referred to as an error notification.
  • the external device 2 that has received the error notification notifies the worker using the user interface 23 to that effect. Thereby, the worker can know that the deficiency in the update of the software P1 has occurred.
  • the worker can contact the user. Thereby, for example, it is easy to rush to the vehicle and restore the software P1.
  • FIG. 6 is a flowchart showing an example of a specific operation of the update control unit 11. Compared with FIG. 4, step ST12 is further executed. Step ST12 is executed before step ST11, and in the illustration of FIG. 6, it is executed between steps ST10 and ST11.
  • step ST12 the update control unit 11 determines whether or not the communication unit 12 can communicate with the external device 2. For example, when a signal is transmitted to the external device 2 and a response to the signal is appropriately received, it may be determined that communication with the external device 2 is possible.
  • step ST10 If a positive determination is made in both steps ST10 and ST12, the software P1 is updated using the update software UP1 in step ST11.
  • FIG. 7 is a flowchart showing an example of a specific operation of the error notification unit 113.
  • the error notification unit 113 determines whether an error notification is received from the electronic device 3. When the error notification has not been received, the error notification unit 113 executes step ST20 again. When the error notification is received from the electronic device 3, the error notification unit 113 transmits the error notification to the external device 2 via the communication unit 12 in step ST21.
  • the software update apparatus 1 cannot communicate with the external apparatus 2 because it was out of communication range.
  • the external device 2 and the software updating device 1 may not be able to communicate with each other wirelessly due to a communication failure, for example. Even in such a case, it is preferable to update the software P1 after waiting for the recovery of the communication, that is, after the software update device 1 becomes communicable with the external device 2.
  • the update of the software P1 in a state where communication with the external device 2 is possible as described above may not be applied to all the electronic devices 3.
  • the electronic device 3 that does not contribute to the traveling of the vehicle may update the software P1 in a state where the electronic device 3 cannot communicate with the external device 2. This is because even if a malfunction occurs in the electronic device 3 that does not contribute to the traveling of the vehicle, it is considered that the urgency of the recovery is low.
  • the software P1 may be updated in a state where the software update device 1 and the external device 2 can communicate. According to this, when a malfunction occurs in the running of the vehicle, the worker is automatically notified as described above.
  • the update condition may not be satisfied by the user's operation of the vehicle immediately after that.
  • the engine stop is an update condition and the user starts the engine
  • the update condition is not satisfied. In this case, it is necessary to interrupt the update of the software P1 or invalidate the operation of the vehicle by the user.
  • the software P1 may be updated after obtaining the user's permission. That is, by notifying the user that the software P1 is updated and obtaining the permission, the software P1 is executed to avoid the above situation.
  • the software update device 1 has a user interface 13.
  • the user interface 13 includes a notification unit such as a display unit or an audio output unit, and an input unit.
  • the user interface 13 may be used to inquire the user whether the software P1 can be updated. This inquiry is made, for example, by display or voice. In this inquiry, the user may be notified of the electronic device 3 to be updated and the time required for the update. The time required for the update may be set by a worker, for example.
  • the update availability determination unit 111 determines that the software P1 can be updated. That is, when the update condition indicated by the update condition information is satisfied and the update permission determination unit 111 determines that the user has permission, the transmission unit 112 instructs the corresponding electronic device 3 to update.
  • the update can be executed more reliably in a situation where the software P1 may be updated.
  • FIG. 8 is a flowchart showing an example of the operation of the update control unit 11.
  • steps ST13 and ST14 are further executed as compared to FIG.
  • Step ST13 is executed when a positive determination is made in step ST10.
  • the update control unit 11 uses the user interface 13 to inquire the user whether or not the software P1 can be updated using the update software UP1.
  • step ST14 the update control unit 11 determines which of the user's permission or rejection has been input.
  • step ST10 the update control unit 11 executes step ST10 again. If the user inputs permission, in step ST11, the electronic device 3 updates the software P1 using the update software UP1.
  • Importance may be set in the update software UP1.
  • the importance level may be set low for minor updates, and the importance level may be set high for large updates.
  • the importance setting method is arbitrary.
  • the importance level may be set appropriately by the update setting unit 21 of the external device 2. That is, the worker may set the importance level together with the setting of the update software UP1.
  • the update control unit 11 receives not only the update software UP1 but also importance information (importance information) from the external device 2. For example, this importance level information may be included in the update list.
  • Table 3 shows an example of an update list including importance information.
  • the importance of the update software UP1 of the engine ECU is large, and the importance of the update software UP1 of the imaging ECU is small. Note that the importance does not need to be represented by binary values such as “large” and “small”, but may be represented by multiple values.
  • the update availability determination unit 111 also determines whether the importance of each update software UP1 is higher than a predetermined reference value. Then, for the update software UP1 whose importance is higher than the reference value, when the update condition is satisfied, it is determined that the software P1 can be updated without the user's permission. On the other hand, for the update software UP1 having an importance level lower than a predetermined reference value, it is determined that the update of the software P1 is possible when the update condition is satisfied and the user permits it. Thereby, the software P1 with high importance can be automatically updated.
  • FIG. 9 is a flowchart showing an example of a specific operation of the update control unit 11.
  • step ST15 is further executed as compared to FIG.
  • Step ST15 is executed between steps ST10 and ST13.
  • the update control unit 11 determines whether or not the importance level of the update software UP1 corresponding to the satisfied update condition is higher than the reference value.
  • step ST11 is executed without executing steps ST13 and ST14. That is, the software P1 is updated without making an inquiry to the user.
  • the update control unit 11 executes steps ST13, ST14, and ST11.
  • the necessity of the user's inquiry is determined according to the importance.
  • the necessity information indicating the necessity of the inquiry may be transmitted from the external device 2 to the software update device 1.
  • the update control unit 11 makes a user inquiry based on the necessity information.
  • This necessity information is set by an operator, for example.
  • the necessity information corresponding to each update software UP1 may be included in the update list.
  • Table 4 shows an example of an update list including necessity information.
  • Update conditions set on the electronic device 3> the update condition information is set for all the update software UP1, but this is not necessarily the case. This is because an update condition may be set on the electronic device 3 side.
  • update conditions for its own software P ⁇ b> 1 are set in advance.
  • FIG. 10 is a diagram schematically illustrating an example of the internal configuration of the update control unit 11.
  • the update control unit 11 further includes an update condition determination unit 114.
  • the update condition determination unit 114 can also acquire update conditions set in the electronic device 3. For example, a request signal for requesting an update condition is transmitted to the electronic device 3, and the electronic device 3 returns the update condition set for itself in response to the request signal. Then, when the update condition determination unit 114 receives the update list from the external device 2 and there is update software UP1 in which update condition information is not set, the update condition determination unit 114 sets the update condition set in the electronic device 3 as the update software. It can be adopted as an update condition for UP1.
  • FIG. 11 is a diagram illustrating an example of a specific operation of the update control unit 11 when determining an update condition.
  • the update condition determination unit 114 determines whether there is update condition information corresponding to the update software UP1 to be executed based on the update list. When it is determined that there is update condition information, the update condition indicated by the update condition information is adopted. When it is determined that there is no update condition information, the update condition set in the electronic device 3 is adopted.
  • the update control unit 11 may execute the update software UP1 as soon as it is acquired, for example.
  • the update condition may be that the engine stops near the home (for example, a parking lot at home).
  • This update condition can be applied to the update of the software P1 of the engine ECU, for example. In other words, stopping the engine in the vicinity of the home can be considered that the user has returned to the home, and thereafter, the engine can be considered to stop for a relatively long period of time. In this case, a state suitable for updating the software P1 is maintained for a relatively long period.
  • the position of the vehicle is detected by, for example, a position acquisition sensor.
  • the position acquisition sensor may acquire the position using GPS (Global Positioning System).
  • GPS Global Positioning System
  • the position acquisition sensor receives signals from a plurality of artificial satellites and calculates positions based on these signals.
  • Home position information is input by a user, for example.
  • the software update device 1 has a user interface 13, for example, and the user inputs a home position (for example, an address) via the user interface 13.
  • the update availability determination unit 111 determines whether an update condition is satisfied based on the engine state, the vehicle position, and the home position information. For example, it is determined whether or not the vehicle is located near the home when the engine is switched to stop. More specifically, it is determined whether or not the distance between the vehicle position and the home position at this timing is shorter than a predetermined reference value. Then, when the distance is shorter than the predetermined reference value, it is determined that the vehicle is located near the home.
  • the update control unit 11 transmits the update software UP1 to the corresponding electronic device 3 (engine ECU).
  • the electronic device 3 (engine ECU) that has received the update software UP1 updates its own software P1 using the update software UP1.
  • Example 2 of update conditions For example, as an update condition, it may be adopted that the engine stops near a recovery place (for example, a store or a repair shop) where the software P1 can be recovered. This update condition can be applied to, for example, software update of the engine ECU.
  • the location information of the recovery location may be stored in advance in the software update device 1, for example, or may be transmitted from the external device 2, for example.
  • the update condition may be that the engine stops in a predetermined time zone.
  • This update condition can be applied to, for example, software update of the engine ECU.
  • a time zone during which the vehicle is not moved is almost determined. For example, in the time zone between 2 o'clock and 4 o'clock at night, the user may be asleep and hardly move the vehicle. Therefore, the software P1 may be updated when the engine is stopped during this time period.
  • This time zone may be input by the user, for example.
  • the user performs input using the user interface 13, for example.
  • the time can be measured, for example, by providing a clock circuit (for example, a timer circuit).
  • the software P1 can be updated in a time zone in which the engine stop is easily maintained. Therefore, it is possible to reduce the necessity of interrupting the update of the software P1 or the necessity of invalidating the operation of the vehicle by the user.
  • Example 4 of update conditions A past travel log may be recorded, and based on this log, a time zone during which engine stop is easily maintained may be determined.
  • the travel log includes the route traveled by the user and the time taken through the route.
  • a security ECU that controls the security device can be employed.
  • This security device is, for example, a device for protecting a vehicle from a malicious third party when a driver is not on the vehicle.
  • an alarm device or a lock device that locks the steering as described above can be adopted.
  • This security device works when the engine is stopped, for example.
  • engine operation may be employed as the update condition.
  • the download unit 15 receives the update software UP1 when receiving an update notification from the external device 2.
  • the reception of the update software UP1 may be at a later timing. This is because it is sufficient that the update software UP1 is received when the software P1 is updated.
  • the download unit 15 receives the update software UP1 corresponding to the update condition from the external device 2, and the transmission unit 112 receives the update software UP1. May be instructed to update the software P1 by transmitting to the corresponding electronic device 3.
  • the software update device 1 cannot communicate with the external device 2, the update software UP1 cannot be transmitted to the electronic device 3, and therefore the update of the software P1 cannot be instructed.
  • the software update apparatus 1 can be instructed to update the software P1 in a situation where the software update apparatus 1 can communicate with the external apparatus 2.
  • an error notification can be sent to the external device 2.
  • the download unit 15 determines whether the update software UP1 is necessary based on the update list.
  • the external device 2 may determine whether the update software UP1 is necessary.
  • the external device 2 stores information for determining necessity (for example, the version of the software P1 of the electronic device 3 and the determination information input to the update availability determination unit 111). Based on the information, the external device 2 determines whether or not the update software UP1 is necessary in the same manner as described above.
  • the external device 2 sends a software update instruction to receive the update software UP1. You may transmit to the apparatus 1.
  • the download unit 15 receives the instructed update software UP1 from the external device 2.
  • the software update device 1 is mounted on the vehicle.
  • the software update device 1 may be mounted on a mobile phone (including a smartphone).
  • the electronic device 3 for example, various electronic devices that wirelessly communicate with a mobile phone can be adopted.
  • a wearable device for example, an earphone, a headphone, a wristwatch-type device, or a glasses-type device that wirelessly communicates with a mobile phone.
  • the wearable terminal when the wearable terminal can detect whether or not the wearable terminal is mounted, it may be adopted that the user does not wear the wearable terminal as the update condition. That is, when the wearable terminal is not worn by the user, the wearable terminal software may be updated. Thereby, when it is assumed that the wearable terminal is not used, the software can be executed.
  • the software update device 1 has been described in detail. However, the above description is an example in all aspects, and the software update device 1 is not limited thereto. Innumerable variations not illustrated may be envisaged without departing from the scope of the present disclosure.
  • Embodiments can be implemented in combination with each other as long as they are not contradictory to each other.
  • both the first operation described with reference to FIGS. 6 and 7 and the second operation described with reference to FIG. 8 may be adopted, or the first operation and the first operation described with reference to FIG. 9 may be employed. Both of the three operations may be employed.
  • the operation described with reference to FIG. 10 can be applied to any of the first operation to the third operation.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Automation & Control Theory (AREA)
  • Mechanical Engineering (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

通信部は外部装置と通信する。ダウンロード部は、電子機器のソフトウェアを更新する更新ソフトウェアと、前記ソフトウェアの更新を実行するための更新条件を示す更新条件情報とを、通信部を介して、外部装置から受信する。更新可否判定部は、更新条件が満足しているか否かを判定する。

Description

ソフトウェア更新装置、ソフトウェア更新システムおよびソフトウェア更新方法
 本開示は、ソフトウェア更新装置、ソフトウェア更新システムおよびソフトウェア更新方法に関する。
 従来から、車両には車載装置が搭載される。この車載装置はプログラムを記憶しており、このプログラムを実行することで動作する。また車載装置は、プログラム提供会社などに配置されたセンターサーバと通信を行うことができる。このセンターサーバには、車載装置のプログラムについての更新情報が格納されている。車載装置は、エンジンの停止が検出されたときに、センターサーバに更新情報を要求する。この要求を受け取ったセンターサーバは、更新情報を車載装置へと送信する。そして、車載装置は、その更新情報に更新ファイルが存在するか否かを判断し、更新ファイルが存在するときに、その更新ファイルを用いてプログラムを更新する。
 しかしながら、ソフトウェアの更新を行うための更新条件に関して、なお工夫の余地がある。
 そこで本開示は、動的に変更可能な更新条件に基づいてソフトウェアを更新できるソフトウェア更新装置を提供することを目的とする。
 ソフトウェア更新装置、ソフトウェア更新システムおよびソフトウェア更新方法が開示される。一実施の形態においては、ソフトウェア更新装置は、ソフトウェアを実行する電子機器と接続される。ソフトウェア更新装置は、通信部と、ダウンロード部と、更新可否判定部と、伝送部とを備える。通信部は、外部装置と通信する。ダウンロード部は、電子機器のソフトウェアを更新する更新ソフトウェアと、ソフトウェアの更新を実行するための更新条件を示す更新条件情報とを、通信部を介して、外部装置から受信する。更新可否判定部は更新条件が満足しているか否かを判定する。伝送部は、更新条件が満足していると判定したときに、更新ソフトウェアを用いたソフトウェアの更新を電子機器に指示する。
 ソフトウェア更新システムは、電子機器と外部装置とソフトウェア更新装置とを備える。電子機器はソフトウェアを実行する。外部装置は、電子機器のソフトウェアを更新する更新ソフトウェアと、ソフトウェアの更新を実行するための更新条件を示す更新条件情報とを格納する。ソフトウェア更新装置は通信部とダウンロード部と更新可否判定部と伝送部とを備える。通信部は、外部装置と通信する。ダウンロード部は更新ソフトウェアと更新条件情報とを、通信部を介して外部装置から受信する。更新可否判定部は更新条件が満足しているか否かを判定する。伝送部は更新条件が満足していると判定したときに、電子機器に更新ソフトウェアを用いたソフトウェアの更新を指示する。
 ソフトウェア更新方法は、ソフトウェアを実行する電子機器へと前記ソフトウェアの更新を指示するソフトウェアの更新方法である。ソフトウェア更新方法は、ソフトウェアを更新する更新ソフトウェアと、ソフトウェアの更新を実行するための更新条件を示す更新条件情報とを、外部装置から受信し、更新条件が満足しているか否かを判定し、更新条件が満足していると判定したときに、更新ソフトウェアを用いたソフトウェアの更新を電子機器に指示する。
 本ソフトウェア更新装置、本ソフトウェア更新システムおよび本ソフトウェア更新方法によれば、動的に変更可能な更新条件に基づいてソフトウェアを更新することができる。
ソフトウェア更新システムの一例を概略的に示す図である。 更新制御部の動作の一例を示すフローチャートである。 ソフトウェア更新システムと外部装置との通信の一例を概略的に示す図である。 更新制御部の動作の一例を示すフローチャートである。 更新制御部の内部構成の一例を概略的に示す図である。 更新制御部の動作の一例を示すフローチャートである。 更新制御部の動作の一例を示すフローチャートである。 更新制御部の動作の一例を示すフローチャートである。 更新制御部の動作の一例を示すフローチャートである。 更新制御部の内部構成の一例を概略的に示す図である。 更新制御部の動作の一例を示すフローチャートである。
 図1は、ソフトウェア更新装置1の構成の一例を示す概略的な図である。このソフトウェア更新装置1は電子機器3と接続されている。なお、ここでいう接続とは、有線での接続の他、無線での接続をも含む。図1に例示するように、ソフトウェア更新装置1は複数の電子機器3と接続されていてもよい。
 電子機器3は処理部31と記憶部32とを有している。なお図1では、一つの電子機器3についてのみ、その内部構成が図示されているものの、他の電子機器3も処理部31と記憶部32とを有している。
 記憶部32は例えばROM(Read only Memory)などの記憶媒体を含み、当該電子機器3の動作を規定するソフトウェアP1(プログラムおよび設定値を含み、また、ファームウェアも含む)を記憶している。処理部31は例えばCPU(Central Processing Unit)またはDSP(digital signal processor)などであって、このソフトウェアP1を記憶部32から読み出して実行することで、電子機器3が動作する。
 ソフトウェア更新装置1は各電子機器3へと更新ソフトウェアUP1を伝送することができる。各電子機器3の処理部31はソフトウェア更新装置1から更新ソフトウェアUP1を受け取り、自身の記憶部32に記憶されたソフトウェアP1を、更新ソフトウェアUP1を用いて更新することができる。これにより、各電子機器3の処理部31は最新のソフトウェアP1で動作する。なお以下では、処理部31の動作を電子機器3の動作として説明することがある。例えば電子機器3がソフトウェアP1を更新する、と説明することがある。
 かかるソフトウェア更新装置1および電子機器3は任意のシステムに設けられてよいものの、例えば車両に設けられる。この場合、複数の電子機器3としては、例えば車両の各構成を制御するECU(electronic control unit)を採用できる。例えば、エンジンを制御するエンジンECU、ブレーキを制御するブレーキECU、オーディオを制御するオーディオECU、撮像部(画像センサ)を制御する撮像ECU、および、セキュリティー装置を制御するセキュリティーECUなどが挙げられる。セキュリティー装置としては、例えばエンジン停止中の振動に応じて警報を発する警報装置、または、エンジン停止中にステアリングをロックするロック装置などの装置を採用できる。
 図1に示すように、ソフトウェア更新装置1は外部装置2と通信可能である。外部装置2は例えばサーバであって、更新ソフトウェアUP1を配信するための装置である。外部装置2は例えば更新設定部21と通信部22とユーザインターフェース23とを備えている。通信部22は通信回路であって、例えば無線により、ソフトウェア更新装置1と通信を行うことができる。ユーザインターフェース23は例えば表示部と入力部とを備えている。表示部には、ユーザへの通知内容および操作メニューなどが表示される。入力部はユーザによって操作され、その操作内容を、例えば更新設定部21へと入力する。
 更新設定部21は、入力部に対するユーザの入力に応じて、更新ソフトウェアUP1を設定することができる。例えば更新設定部21は、更新ソフトウェアUP1を外部装置2の記憶部(不図示)に記憶する。さらに更新設定部21は、入力部に対するユーザの入力に応じて、更新条件情報も設定することができる。更新条件情報とは、更新ソフトウェアUP1を実行するための条件を示している。後に詳述するように、ソフトウェア更新装置1は、更新条件情報で示された条件が成立するときに、その更新ソフトウェアUP1を用いたソフトウェアP1の更新を電子機器3に行わせる。この更新条件情報も、外部装置2の記憶部に記憶される。
 また更新設定部21は、更新ソフトウェアUP1のバージョン情報と更新条件情報とを対応付けた更新リストを生成してもよい。バージョン情報は、所定のソフトウェアP1に対して複数回の更新を行う場合に、その更新ソフトウェアUP1が何回目の更新に相当するのかの情報を示している。この更新リストをソフトウェア更新装置1へと送信すれば、ソフトウェア更新装置1は、設定された更新ソフトウェアUP1のバージョンと、その更新ソフトウェアUP1の更新条件とを、更新リストに基づいて了知することができる。
 図1に示すように、ソフトウェア更新装置1は更新制御部11と通信部12と指示受付部14とダウンロード部15とを備えている。通信部12は通信回路であって、例えば無線により、外部装置2と通信することができる。
 更新制御部11、指示受付部14およびダウンロード部15を含む部分は、電子機器3におけるソフトウェアP1の更新を制御できる。以下に、より具体的に説明する。
 指示受付部14は通信部12を介して外部装置2から更新通知を受信できる。この更新通知は例えば外部装置2において新たな更新ソフトウェアが設定されたときに送信される。
 ダウンロード部15は通信部12を介して、更新ソフトウェアUP1と、これに対応する更新条件情報とを外部装置2から受信することができる。また、外部装置2が上述の更新リストを送信する場合には、ダウンロード部15は通信部12を介して当該更新リストを受信することもできる。
 図2は、更新ソフトウェアUP1を受信するときの更新制御部11の具体的な動作の一例を示すフローチャートである。この例では、外部装置2がソフトウェア更新装置1へと更新通知を送信する。この更新通知は、例えば外部装置2において更新ソフトウェアUP1が設定されたとき、または、所定の期間ごとに送信される。図2に示すように、まずステップST1にて、通知受付部14は、外部装置2からの更新通知を受信したか否かを判定する。更新通知を受信していないと判定したときに、通知受付部14は、再びステップST1を実行する。
 更新通知を受信したと判定した場合には、ステップST2にて、例えばダウンロード部15は通信部12を介して、更新リストを外部装置2へと要求し、更新リストを取得する。更新リストには、例えば表1に示すように、各電子機器3についての更新ソフトウェアUP1のバージョンと、その各更新ソフトウェアUP1についての更新条件情報とが含まれている。
Figure JPOXMLDOC01-appb-T000001
 表1は、電子機器3として、エンジンECUと撮像ECUとを採用した場合の更新リストの一例を示している。表1の例では、エンジンECUの更新ソフトウェアUP1のバージョンとして、「1.01」が示されている。また更新条件として、エンジンの停止が採用されている。エンジンが動作しているときには、エンジンECUのソフトウェアP1が実行中であり、これを更新できないからである。
 また表1の例では、撮像ECUの更新ソフトウェアUP1のバージョンとして、「1.05」が示されている。また更新条件として、車両が後方走行をしていないことが採用されている。ここでは、撮像部が車両の後方走行時に動作することを想定しているからである。つまり、撮像ECUのソフトウェアP1が後方走行時に実行されるので、この実行中にソフトウェアP1の更新を行わない。
 ここで、後方走行時の撮像ECUの動作の一例について説明する。例えば4台の撮像部がそれぞれ車両の前方、後方および両側に搭載される。撮像ECUは後方走行時にこの4台の撮像部を制御し、各撮像部で撮像された映像を適宜に変換して合成することで、鉛直上方から車両を見たときの映像を生成する。そしてこの映像を車内の表示部に表示する。これにより、ユーザは表示部を視認することで、車両の位置および姿勢を容易に確認することができる。ひいては、ユーザは容易に駐車することができるのである。
 ステップST2の次のステップST3にて、更新制御部11は、実行すべき更新ソフトウェアUP1があるか否かを更新リストに基づいて判定する。
 例えば電子機器3に記憶されている現在のソフトウェアP1のバージョンと、更新ソフトウェアUP1のバージョンとを比較し、これらが同一であれば、更新は不要である。つまりこの場合には、更新制御部11は更新ソフトウェアを実行すべきと判定しない。
 また、例えば更新条件を判定するための判定情報が電子機器3から更新制御部11に入力されていない場合は、更新条件の判定ができないので、更新は不要である。例えば、エンジンの停止が更新条件であるときに、エンジンの動作/停止の状態を示す情報がエンジンECUから更新制御部11に入力されていない場合がある。この場合には、この更新条件を判定することができないので、その更新条件に対応する更新ソフトウェアUP1は実行しない。よってこの場合にも、更新制御部11は更新ソフトウェアを実行すべきとは判定しない。
 逆に言えば、例えば次の場合に更新制御部11は更新ソフトウェアを実行すべきと判定する。即ち、更新ソフトウェアUP1のバージョンが電子機器3の現在のソフトウェアP1のバージョンよりも上位であり、かつ、その更新ソフトウェアUP1に対応する更新条件を判定するために必要な判定情報が、例えば電子機器3から更新制御部11に入力されているときに、その更新ソフトウェアUP1は実行すべき更新ソフトウェアであると判定する。
 ステップST3にて、実行すべき更新ソフトウェアUP1がないと判定したときには、通知受付部14は再びステップST1を実行する。ステップST3にて、実行すべき更新ソフトウェアUP1があると判定したときには、ステップST4にて、ダウンロード部15は外部装置2へとその更新ソフトウェアUP1を要求し、その更新ソフトウェアUP1を取得する。そして、ダウンロード部15は更新ソフトウェアUP1と更新条件情報とを更新制御部11へと出力する。
 以上のようにして、更新制御部11は、実行すべき更新ソフトウェアUP1と、これに対応する更新条件情報とを取得する。
 図3は、実行すべき更新ソフトウェアUP1があるときの、ソフトウェア更新装置1と外部装置2との間の通信の一例を概略的に示している。まず、外部装置2からソフトウェア更新装置1へと更新通知が送信される。次に、ソフトウェア更新装置1が外部装置2へとリスト要求を送信する。この要求を受け取った外部装置2は更新リストを送信する。ソフトウェア更新装置1は、当該更新リストを確認して、実行すべき更新ソフトウェアUP1があると判定し、更新ソフトウェアUP1を要求する。この要求を受け取った外部装置2は更新ソフトウェアUP1をソフトウェア更新装置1へと送信する。
 なお図2および図3の例では、実行すべき更新ソフトウェアUP1があるか否かを、まず判定している。そして、肯定的な判定がなされたときに、その更新ソフトウェアUP1を外部装置2から取得している。これはソフトウェア更新装置1にとって必須要件ではないものの、通信量を低減することができる。なぜなら、更新ソフトウェアUP1のデータ量が、更新リストのデータ量よりも大きいからである。つまり、まずデータ量の小さい更新リストを要求し、これを用いて必要な更新ソフトウェアUP1を判定した上で、この更新ソフトウェアUP1を要求することで、不要な更新ソフトウェアUP1の通信を回避し、以て、通信量を低減している。
 次に、ソフトウェアP1を更新する際の動作について述べる。図1に示すように、更新制御部11は更新可否判定部111と伝送部112とを有している。
 なお更新制御部11、通知受付部14およびダウンロード部15は例えば不図示の処理部(例えばCPUまたはDSPなど)と、不図示の記憶部(例えばROMなど)とを備えていてもよい。当該記憶部には、当該処理部によって実行されるソフトウェアが記憶されている。そして、この処理部が当該ソフトウェアを実行することで、更新制御部11の機能(例えば更新可否判定部111および伝送部112)、通知受付部14の機能およびダウンロード部15の機能を実現してもよい。ただしこれに限らず、これらの機能の全部または一部をハードウェアで構成しても構わない。要するに、当該処理部は、これらの機能を実行する回路であればよい。更新制御部11、通知受付部14およびダウンロード部15は、それぞれ処理部を備えていても良いし、少なくとも1つの処理部が、更新制御部11、通知受付部14およびダウンロード部15の機能を実行してもよい。
 更新可否判定部111には、実行すべき更新ソフトウェアUP1の更新条件情報が入力されるとともに、その更新条件の判定に必要な各種の判定情報も入力されている。更新可否判定部111は、更新条件が満足しているか否かを、判定情報に基づいて判定することができる。
 例えばエンジンECUについての更新ソフトウェアUP1に対しては、判定情報として、エンジンの状態を示す情報を採用できる。例えば、車両にはエンジンキーの状態を検出する検出部が設けられており、エンジンの状態情報が判定情報として更新可否判定部111に入力されていてもよい。
 また例えば撮像ECUについての更新ソフトウェアUP1に対しては、判定情報として、車両が後方走行を行っているか否かを示す情報を採用できる。例えば車両に、ギアを変更するためのシフトレバーの状態を検出する検出部が設けられており、シフトレバーの状態情報が判定情報として更新可否判定部111に入力されていてもよい。
 伝送部112は更新ソフトウェアUP1を、対応する電子機器3へと伝送できる。例えば更新条件が満足したと更新可否判定部111が判定したときに、その更新条件に対応する更新ソフトウェアUP1を電子機器3へと伝送できる。この場合、電子機器3は受け取った更新ソフトウェアUP1を速やかに実行する。
 あるいは、伝送部112は、更新条件とは無関係に更新ソフトウェアUP1を電子機器3へと伝送しておき、更新条件が満足したときに、更新ソフトウェアUP1の実行指示を電子機器3へと伝送してもよい。この場合、電子機器3は実行指示を受けて、更新ソフトウェアUP1を用いたソフトウェアP1の更新を実行する。以下では、一例として、更新条件が満足したときに更新ソフトウェアUP1を伝送する態様を説明する。この態様では、更新ソフトウェアUP1を受け取った電子機器3が速やかに更新を行うことから、更新ソフトウェアUP1は、電子機器3に対する実行指示としても機能する。
 図4は、更新ソフトウェアUP1を実行するときの更新制御部11の動作の一例を示すフローチャートである。まずステップST10にて、更新可否判定部111は、更新条件情報で示される更新条件が満足しているか否かを、取得した更新ソフトウェアUP1ごとに判定する。この判定は、取得した全ての更新ソフトウェアUP1に対して実行する。いずれの更新ソフトウェアUP1でも更新条件が満足しないと判定したときには、更新制御部11は再びステップST10を実行し、次の更新通知を待つ。
 いずれかの更新ソフトウェアUP1に対応する更新条件が満足していると判定したときには、ステップST11にて、伝送部112は、その更新条件に対応する更新ソフトウェアUP1を、対応する各電子機器3へと伝送する。電子機器3(より詳細には処理部31)は、受け取った更新ソフトウェアUP1を用いて、ソフトウェアP1を更新する。
 例えば更新可否判定部111には、エンジンキーの状態情報が入力される。そして、更新可否判定部111は、エンジンECUの更新条件の判定として、エンジンが停止しているか否かを判定する。エンジンが停止していると判定したときには、伝送部112は、対応する更新ソフトウェアUP1を、エンジンECUへと伝送する。エンジンECUは受け取った更新ソフトウェアUP1を用いて、自身のソフトウェアP1を更新する。
 また例えば更新可否判定部111には、シフトレバーの状態情報が入力される。そして更新可否判定部111は、撮像ECUの更新条件の判定として、シフトレバーの状態が後方走行時の状態であるか否かを判定する。シフトレバーが後方走行時の状態ではないと判定したときには、伝送部112は、対応する更新ソフトウェアUP1を、撮像ECUへと伝送する。撮像ECUは受け取った更新ソフトウェアUP1を用いて、自身のソフトウェアP1を更新する。
 以上のように、更新条件を満足するときに、更新ソフトウェアUP1が実行される。よって各電子機器3に対する更新ソフトウェアUP1を、各々に適切なタイミングで実行することができる。
 しかも外部装置2において、更新条件情報を設定し、その更新条件情報を外部装置2からソフトウェア更新装置1へと送信している。よって例えばソフトウェア更新装置1が複数存在する場合に、作業員がそれぞれのソフトウェア更新装置1まで出向いて、更新条件を設定する必要はなく、外部装置2において更新条件を設定するだけでよい。つまり、外部装置2における更新条件の設定によって、実質的に全てのソフトウェア更新装置1に対して、容易に更新条件を変更できるのである。
 また、あるソフトウェアP1に対して更新条件の変更を要する場合がある。例えば、上述したように車両が後方走行していないときに撮像ECUがソフトウェアP1を更新する例では、ソフトウェアP1の更新によって、撮像ECUに、走行中の景色を撮影する機能が新たに組み込まれる場合がある。このような機能が組み込まれた場合、車両の前方走行中に撮像ECUが動作するので、前方走行中にも撮像ECUのソフトウェアP1を更新することは好ましくない。
 そこで作業員は、次の更新ソフトウェアUP1を設定する際に、外部装置2において、撮像ECUについての更新条件情報を再設定(変更)する。例えばエンジンの停止を更新条件に設定する。表2は、この更新リストの一例を示している。
Figure JPOXMLDOC01-appb-T000002
 表2では、撮像ECUに対して、バージョン「1.05」の更新ソフトウェアUP1と、バージョン「2.00」の更新ソフトウェアUP1とが存在していることが示されている。なおここではバージョンは、数字が大きいほど新しいことを示している。また表2では、バージョン「2.00」の更新ソフトウェアUP1の更新条件として、「エンジンの停止」が採用されている。これは、バージョン「1.05」の更新ソフトウェアによって、前方走行のときにも動作する機能が撮像ECUに追加されたことによる。
 このように更新条件が再設定されることにより、撮像ECUの更新ソフトウェアUP1を適切なタイミングで実行することができる。
 以上のように、更新ソフトウェアUP1によっては更新条件を変更する必要があるところ、本実施の形態によれば、外部装置2において更新条件情報を設定することができる。よって、このような更新条件の変更が容易である。
 表1および表2の例示では、簡単のためにエンジンECUと撮像ECUを例示したが、実際にはより多くの電子機器3が含まれていてもよい。
 また、各車両に搭載される電子機器3の種類は車両ごとに異なり得る。例えば各車両のセキュリティー装置が相違する場合もある。このとき、セキュリティーECUのソフトウェアP1も互いに相違し、その更新ソフトウェアUP1も互いに相違する。このような場合には、更新リストには、各車両に設けられる全種の電子機器3の情報を含んでいてもよい。つまり、ある車両にとっては、搭載されていない電子機器3の情報が更新リストに含まれていてもよい。この場合、更新制御部11は、自身と接続される電子機器3の情報のみを更新リストから抽出すればよい。このような抽出は、電子機器3の識別情報(デバイスIDとも呼ばれる)に基づいて行うことができる。
 以上のように、更新リストに全種の電子機器3の情報を含めれば、外部装置2の更新設定部21は車両ごとに更新リストを生成する必要がないので、処理が容易である。
 <更新ソフトウェアの更新条件>
 更新ソフトウェアUP1を用いたソフトウェアP1の更新に不備(つまりエラー)が生じたときには、そのソフトウェアP1が実行できなくなる場合もあり得る。つまり更新によって電子機器3の機能不全を招き得る。例えばエンジンECUの機能を発揮できなくなると、ユーザは車両を移動させることができなくなる。
 そこで、更新ソフトウェアUP1を用いたソフトウェアP1の更新に不備が生じたときに、外部装置2へとその旨を通知することを考える。しかしながら、無線通信においては、通信可能な範囲が存在する。よって、ソフトウェア更新装置1がこの範囲外に位置すれば、外部装置2と通信できない場合がある。このような場合には、ソフトウェアP1の更新に不備が生じたときに、速やかにその旨を外部装置2へと通知できない。特に移動体(ここでは車両)の移動機能が不全に陥ると、移動体を外部装置2と通信可能な圏内へと移動させることができない。よって、ユーザは他の手段で外部装置2(より詳細には作業員)と連絡する必要があり、手間がかかる。ユーザは往々にして作業員の連絡先を覚えておらず、その連絡先を調べる必要があるからである。
 そこで、外部装置2と通信が可能な状態で、ソフトウェアP1の実行を行うことを企図する。図5は、更新制御部11の内部構成の一例を概略的に示す図である。図5に示すように、更新制御部11はエラー通知部113を更に備えている。
 また、更新可否判定部111は、更新条件情報で示される更新条件の判定のみならず、外部装置2と通信が可能であるか否かも判定する。そして伝送部112は、更新条件情報で示される更新条件が満足し、かつ、ソフトウェア更新装置1と外部装置2との間の通信が可能であるときに、対応する電子機器3へと更新ソフトウェアを伝送する。つまり更新条件が満足し、かつ、ソフトウェア更新装置1と外部装置2との間の通信が可能であるときに、伝送部112は更新を電子機器3に指示するのである。
 これにより、ソフトウェアP1の更新に不備が生じたとしても、このときには、ソフトウェア更新装置1は外部装置2と無線通信が可能である。そして、電子機器3はソフトウェアP1の更新に不備が生じたときに、その旨を更新制御部11へと伝送する。この伝送を受け取ったエラー通知部113は、通信部12を介して、電子機器3のソフトウェアP1の更新に不備が生じたことを外部装置2へと通知するのである。以下では、この通知をエラー通知とも呼ぶ。
 エラー通知を受け取った外部装置2は、ユーザインターフェース23を用いて、その旨を作業員に通知する。これにより、作業員は、ソフトウェアP1の更新に不備が生じたことを知ることができる。
 例えば、ユーザの連絡先情報が外部装置2に格納されている場合には、作業員はユーザに連絡することができる。これにより、例えば車両に駆けつけて、ソフトウェアP1を復旧させやすい。
 図6は更新制御部11の具体的な動作の一例を示すフローチャートである。図4と比較してステップST12を更に実行する。ステップST12は、ステップST11よりも前に実行され、図6の例示では、ステップST10,ST11の間に実行されている。
 ステップST12では、更新制御部11は、通信部12が外部装置2と通信可能か否かを判定する。例えば、外部装置2へと信号を送信し、その信号に対する応答を適切に受信したときに、外部装置2との通信が可能であると判定してもよい。
 ステップST10,ST12の両方で肯定的な判定がなされると、ステップST11にて、更新ソフトウェアUP1を用いたソフトウェアP1の更新が行われる。
 図7はエラー通知部113の具体的な動作の一例を示すフローチャートである。ステップST20にて、エラー通知部113は、電子機器3からエラー通知を受け取ったか否かを判定する。エラー通知を受け取っていないときには、エラー通知部113は再びステップST20を実行する。電子機器3からエラー通知を受け取ったときには、ステップST21にて、エラー通知部113は、通信部12を介して外部装置2にエラー通知を送信する。
 なおここでは移動可能な車両を用いて説明しているので、通信圏外により、ソフトウェア更新装置1が外部装置2と通信できない場合を説明した。しかるに、例えば通信障害によって、外部装置2とソフトウェア更新装置1とが互いに無線通信できない場合もある。このような場合でも、通信の復旧を待ってから、即ち、ソフトウェア更新装置1が外部装置2と通信可能になってから、ソフトウェアP1の更新を行うとよい。
 <エラー通知の要否>
 上述のように外部装置2と通信可能な状態でソフトウェアP1の更新を行うことは、全ての電子機器3に対して適用しなくてもよい。例えば車両の走行に寄与しない電子機器3は、外部装置2と通信できない状態で、ソフトウェアP1の更新を行ってもよい。なぜなら、車両の走行に寄与しない電子機器3に機能不全が生じても、その復旧の緊急性は低いと考えられるからである。逆にいえば、車両の走行に関する電子機器3については、ソフトウェア更新装置1と外部装置2とが通信可能な状態でソフトウェアP1の更新を行うとよい。これによれば、車両の走行に機能不全が生じたときに、上述のように、自動的に作業員へと連絡が入るからである。
 <ユーザへの問い合わせ>
 例えばある時点で更新条件が満足していても、その直後にユーザによる車両の操作によって更新条件が満足しなくなることもある。例えばエンジン停止が更新条件であるときに、ユーザがエンジンを始動すれば、更新条件が満足しなくなる。この場合には、ソフトウェアP1の更新を中断するか、あるいは、ユーザによる車両の操作を無効にする必要がある。
 このような事態を回避すべく、ユーザの許可を得てからソフトウェアP1を更新してもよい。つまり、ユーザにソフトウェアP1の更新が行われることを通知し、許可を得てからソフトウェアP1の実行を行うことで、上記事態を回避するのである。図1の例示では、ソフトウェア更新装置1はユーザインターフェース13を有している。このユーザインターフェース13は、例えば表示部または音声出力部などの報知部と、入力部とを含んでいる。
 例えば、更新可否判定部111は、更新条件を満足していると判断したときに、ユーザインターフェース13を用いて、ソフトウェアP1の更新の可否をユーザに問い合せてもよい。この問い合わせは例えば表示または音声等によって行われる。また、この問い合わせに際して、更新の対象となる電子機器3と、その更新に必要な時間とをユーザに通知してもよい。更新に必要な時間は例えば作業員によって設定されてもよい。
 ユーザは、ソフトウェアP1の更新を許可する場合に、ユーザインターフェース13を介して、その旨を入力する。更新可否判定部111は、ユーザインターフェース13から許可情報を受け取ると、ソフトウェアP1の更新が可能であると判定する。つまり、伝送部112は、更新条件情報で示される更新条件が満足し、かつ、ユーザの許可があると更新可否判定部111が判定したときに、対応する電子機器3へと更新を指示する。
 これによれば、ユーザの許可なしにはソフトウェアP1が更新されないので、より確実に、ソフトウェアP1の更新をしてもよい状況で更新を実行できる。
 図8は更新制御部11の動作の一例を示すフローチャートである。図8の例示では、図4に比して、ステップST13,ST14が更に実行される。ステップST13はステップST10にて肯定的な判定がなされたときに実行される。ステップST13においては、更新制御部11はユーザインターフェース13を用いて、更新ソフトウェアUP1を用いたソフトウェアP1の更新の可否をユーザに問い合せる。次にステップST14にて、更新制御部11はユーザの許可および拒否のいずれが入力されたのかを判定する。
 ユーザが拒否を入力したと判定したときは、更新制御部11はステップST10を再び実行する。ユーザが許可を入力した場合には、ステップST11にて、電子機器3は更新ソフトウェアUP1を用いたソフトウェアP1の更新を実行する。
 <更新ソフトウェアの重要度>
 更新ソフトウェアUP1には重要度が設定されていてもよい。例えば軽微な更新に対しては、重要度を低く設定し、大幅な更新に対しては、重要度を高く設定してもよい。勿論、重要度の設定方法は任意である。この重要度の設定は外部装置2の更新設定部21で適宜に設定すればよい。つまり作業員が更新ソフトウェアUP1の設定と共に、その重要度を設定すればよい。
 更新制御部11は、更新ソフトウェアUP1のみならず、重要度の情報(重要度情報)も外部装置2から受け取る。例えばこの重要度情報は更新リストに含まれてもよい。表3は、重要度情報を含んだ更新リストの一例を示している。
Figure JPOXMLDOC01-appb-T000003
 表3の例示では、エンジンECUの更新ソフトウェアUP1の重要度は大きく、撮像ECUの更新ソフトウェアUP1の重要度は小さい。なお重要度は、「大」「小」等の二値で示される必要はなく、多値で示されてもよい。
 更新可否判定部111は、各更新ソフトウェアUP1について、重要度が所定の基準値よりも高いか否かも判定する。そして、重要度が基準値よりも高い更新ソフトウェアUP1については、更新条件が満足するときに、ユーザの許可がなくても、ソフトウェアP1の更新が可能であると判定する。一方で、重要度が所定の基準値よりも低い更新ソフトウェアUP1については、更新条件が満足し、かつ、ユーザが許可したときに、ソフトウェアP1の更新が可能であると判定する。これにより、重要度の高いソフトウェアP1の更新を自動で行うことができる。
 図9は更新制御部11の具体的な動作の一例を示すフローチャートである。図9の例示では、図8に比して、ステップST15が更に実行される。ステップST15はステップST10,ST13の間に実行される。ステップST15においては、更新制御部11は満足した更新条件に対応する更新ソフトウェアUP1の重要度が基準値よりも高いか否かを判定する。重要度が基準値よりも高いと判定したときには、ステップST13,ST14を実行せずに、ステップST11を実行する。つまり、ユーザに問い合せることなく、ソフトウェアP1の更新が行われる。一方で、重要度が基準値よりも低いと判定したときには、更新制御部11はステップST13,ST14,ST11を実行する。
 <ユーザの問い合わせの要否>
 上述の例では、重要度に応じてユーザの問い合わせの要否を決定した。しかるに、問い合わせの要否を示す要否情報を、外部装置2からソフトウェア更新装置1へと送信してもよい。更新制御部11はこの要否情報に基づいてユーザの問い合わせを行う。この要否情報は例えば作業員によって設定される。例えば各更新ソフトウェアUP1に対応した要否情報が更新リストに含まれてもよい。表4は、要否情報を含んだ更新リストの一例を示している。
Figure JPOXMLDOC01-appb-T000004
 <電子機器3側で設定された更新条件>
 上述の例では、全ての更新ソフトウェアUP1に対して、更新条件情報が設定されているものの、必ずしもこれに限らない。電子機器3側において、更新条件が設定される場合もあるからである。例えば電子機器3の記憶部32には、自身のソフトウェアP1についての更新条件が予め設定されている。
 図10は、更新制御部11の内部構成の一例を概略的に示す図である。図10に示すように、更新制御部11は更新条件決定部114を更に備えている。更新条件決定部114は、電子機器3で設定された更新条件も取得できる。例えば電子機器3へと更新条件を要求する要求信号を伝送し、電子機器3は自身に設定された更新条件を、要求信号に応じて返送する。そして、更新条件決定部114は、更新リストを外部装置2から受信したときに、更新条件情報が設定されていない更新ソフトウェアUP1があるときには、電子機器3で設定された更新条件を、その更新ソフトウェアUP1の更新条件として採用することができる。
 これによれば、電子機器3で設定された更新条件を採用する場合には、外部装置2において更新条件情報を設定する必要がない。よって作業員の手間を低減することができる。
 図11は更新条件を決定するときの更新制御部11の具体的な動作の一例を示す図である。ステップST31にて、更新条件決定部114は、実行すべき更新ソフトウェアUP1に対応する更新条件情報があるか否かを、更新リストに基づいて判定する。更新条件情報があると判定したときには、この更新条件情報で示される更新条件を採用する。更新条件情報がないと判定したときには、電子機器3で設定された更新条件を採用する。
 なお、更新条件情報も電子機器3側の更新条件も設定されていないときには、更新制御部11は、例えば、更新ソフトウェアUP1を取得するとすぐに実行してもよい。
 <更新条件の例1>
 例えば更新条件として、自宅付近(例えば自宅の駐車場)でエンジンが停止することを採用してもよい。この更新条件は、例えばエンジンECUのソフトウェアP1の更新に対して適用することができる。つまり、自宅付近でエンジンを停止することは、ユーザが自宅へ戻ったと考えることができ、その後、比較的長い期間に亘って、エンジンが停止し続けると考えることができるのである。この場合、ソフトウェアP1の更新に適した状態が比較的長い期間に亘って維持されることとなる。
 さて、車両の位置は例えば位置取得センサによって検出される。例えば位置取得センサは、GPS(Global Positioning System)を利用して位置を取得してもよい。このGPSにおいては、位置取得センサは複数の人工衛星からの信号を受信し、この信号に基づいて位置を算出する。
 自宅位置情報は、例えばユーザによって入力される。図1の例示では、ソフトウェア更新装置1は例えばユーザインターフェース13を有しており、ユーザはこのユーザインターフェース13を介して、自宅の位置(例えば住所)を入力する。
 更新可否判定部111はエンジンの状態、車両の位置および自宅位置情報に基づいて、更新条件が成立しているか否かを判定する。例えば、エンジンが停止に切り替わったときに車両が自宅付近に位置しているか否かを判定する。より具体的には、このタイミングでの車両の位置と自宅の位置との間の距離が所定の基準値よりも短いか否かを判定する。そして、当該距離が所定の基準値よりも短いときに、車両が自宅付近に位置していると判定するのである。
 そして、更新条件を満足していると判定したときに、更新制御部11は、更新ソフトウェアUP1を、対応する電子機器3(エンジンECU)へと伝送する。更新ソフトウェアUP1を受け取った電子機器3(エンジンECU)は、この更新ソフトウェアUP1を用いて、自身のソフトウェアP1を更新する。
 <更新条件の例2>
 例えば更新条件として、ソフトウェアP1の復旧が可能な復旧場所(例えば販売店または修理店)の近傍でエンジンが停止することを採用してもよい。この更新条件は、例えばエンジンECUのソフトウェアの更新に対して適用することができる。復旧場所の位置情報は例えば予めソフトウェア更新装置1に格納されていてもよく、あるいは、例えば外部装置2から送信されてもよい。
 これによれば、たとえ更新ソフトウェアUP1を用いた更新に不備が生じても、ユーザは復旧場所へと速やかに移動して、更新に不備が生じたことを作業員に伝えることができる。
 <更新条件の例3>
 例えば更新条件として、所定の時間帯でエンジンが停止することを採用してもよい。この更新条件は、例えばエンジンECUのソフトウェアの更新に対して適用することができる。ユーザの行動パターンにおいて、車両を移動させない時間帯がほぼ決まっている場合がある。例えば夜間の2時から4時の間の時間帯では、ユーザは就寝しており、ほとんど車両を移動させないことがないことがある。そこで、この時間帯でエンジンが停止しているときに、ソフトウェアP1の更新を実行してもよい。
 この時間帯は、例えばユーザによって入力されてもよい。ユーザは例えばユーザインターフェース13を用いて入力を行う。時刻は例えば計時回路(例えばタイマ回路)を設けることで計時できる。
 これによれば、エンジンの停止が維持されやすい時間帯で、ソフトウェアP1の更新を行うことができる。よって、ソフトウェアP1の更新を中断する必要性、あるいは、ユーザによる車両の操作を無効にする必要性を低減できる。
 <更新条件の例4>
 過去の走行ログを記録し、このログに基づいて、エンジンの停止が維持されやすい時間帯を決定してもよい。走行ログは、ユーザが移動したルート、および、そのルートを通過した時間を含んでいる。
 <更新条件の例5>
 電子機器3としては、セキュリティー装置を制御するセキュリティーECUを採用できる。このセキュリティー装置は、例えば運転手が乗っていないときに車両を悪意ある第三者から守るための装置である。セキュリティー装置としては、上述のように警報装置、または、ステアリングをロックするロック装置などを採用できる。
 このセキュリティー装置は、例えばエンジンが停止しているときに動作する。この場合には、更新条件として、エンジンの動作を採用してもよい。
 なお上述の一例では、ダウンロード部15は外部装置2からの更新通知を受けたときに更新ソフトウェアUP1を受信した。しかるに、更新ソフトウェアUP1の受信は後のタイミングであってもよい。更新ソフトウェアUP1は、ソフトウェアP1の更新の際に受信していれば足りるからである。よって、例えば、更新条件が成立すると更新可否判定部111が判定したときに、ダウンロード部15が、その更新条件に対応する更新ソフトウェアUP1を外部装置2から受信し、伝送部112がその更新ソフトウェアUP1を、対応する電子機器3へと送信することで、ソフトウェアP1の更新を指示してもよい。
 これによれば、ソフトウェア更新装置1が外部装置2と通信できないときには、更新ソフトウェアUP1を電子機器3へと送信できないので、ソフトウェアP1の更新を指示できない。言い換えれば、ソフトウェア更新装置1が外部装置2と通信できる状況で、ソフトウェアP1の更新を指示できる。よって、例えばソフトウェアP1の更新に不備が生じたときに、外部装置2へとエラー通知を行うことができる。
 また上述の一例では、ダウンロード部15が更新ソフトウェアUP1の要否を更新リストに基づいて判断していた。しかるに、外部装置2が更新ソフトウェアUP1の要否を判断してもよい。例えば要否を判断するための情報(例えば電子機器3のソフトウェアP1のバージョン、および、更新可否判定部111に入力される判定情報)を、外部装置2が記憶しておく。そして、外部装置2はこれらに情報に基づいて、上述と同様にして更新ソフトウェアUP1の要否を判断し、更新ソフトウェアUP1が必要であると判断したときに、更新ソフトウェアUP1の受信指示をソフトウェア更新装置1へと送信してもよい。これに応答して、ダウンロード部15は、指示された更新ソフトウェアUP1を外部装置2から受信する。
 また上述の一例では、ソフトウェア更新装置1が車両に搭載された。しかるに、例えばソフトウェア更新装置1は携帯電話機(スマートフォンを含む)に搭載されてもよい。この場合、電子機器3としては、例えば携帯電話機と無線通信する各種の電子機器を採用できる。例えば携帯電話機と無線通信する装着型機器(例えばイヤホン、ヘッドホン、腕時計型またはメガネ型の機器など)などである。
 例えば装着型端末が装着の有無を検出できる場合には、更新条件として、ユーザが装着型端末を装着していないことを採用してもよい。つまり、装着型端末がユーザに装着されていないときに、装着型端末のソフトウェアを更新してもよい。これにより、装着型端末が使用されていないと想定されるときに、ソフトウェアを実行することができる。
 以上のように、ソフトウェア更新装置1は詳細に説明されたが、上記した説明は、すべての局面において、例示であって、本ソフトウェア更新装置1がそれに限定されるものではない。例示されていない無数の変形例が、本開示の範囲から外れることなく想定され得る。
 実施の形態は、相互に矛盾しない限り、互いに組み合わせて実施することができる。例えば、図6,7を用いて説明した第1動作と、図8を用いて説明した第2動作との両方を採用してもよいし、第1動作と、図9を用いて説明した第3動作との両方を採用してもよい。また例えば、図10を用いて説明した動作は、第1動作から第3動作のいずれにも適用可能である。
 1 ソフトウェア更新装置
 2 外部装置
 3 電子機器
 11 更新制御部
 111 更新可否判定部

Claims (9)

  1.  ソフトウェアを実行する電子機器と接続されるソフトウェア更新装置であって、
     外部装置と通信する通信部と、
     前記電子機器のソフトウェアを更新する更新ソフトウェアと、前記ソフトウェアの更新を実行するための更新条件を示す更新条件情報とを、前記通信部を介して前記外部装置から受信するダウンロード部と、
     前記更新条件が満足しているか否かを判定する更新可否判定部と、
     前記更新条件が満足していると判定したときに、前記更新ソフトウェアを用いた前記ソフトウェアの更新を前記電子機器に指示する伝送部と
    を備える、ソフトウェア更新装置。
  2.  請求項1に記載のソフトウェア更新装置であって、
     前記電子機器は、前記ソフトウェアの更新に不備が生じたときには、前記ソフトウェア更新装置へとエラー通知を行い、
     前記通信部は前記外部装置と無線通信を行い、
     前記更新可否判定部は、前記外部装置との無線通信が可能であるか否かも判定し、
     前記伝送部は、前記更新条件が満足し、かつ、前記外部装置との無線通信が可能であると、前記更新可否判定部が判定したときに、前記更新を前記電子機器に指示し、
     前記ソフトウェア更新装置は、
     前記エラー通知を前記電子機器から受け取ったときに、前記通信部を介して、その旨を前記外部装置に送信するエラー通知部を更に備える、ソフトウェア更新装置。
  3.  請求項2に記載のソフトウェア更新装置であって、
     前期電子機器は車両に設けられており、
     前記電子機器は前記車両の走行に関する機器である、ソフトウェア更新装置。
  4.  請求項1または請求項2に記載のソフトウェア更新装置であって、
     ユーザインターフェースを更に備え、
     前記更新可否判定部は、前記更新条件が満足していると判定したときに、前記ユーザインターフェースを介して、ユーザに更新の実行の可否を問い合わせる、ソフトウェア更新装置。
  5.  請求項4に記載のソフトウェア更新装置であって、
     前記更新可否判定部は、前記更新ソフトウェアの重要度を示す重要度情報を、前記通信部を介して受け取り、前記重要度が基準値よりも高いときには、前記ユーザに問い合せることになく、前記更新が可能であると判定する、ソフトウェア更新装置。
  6.  請求項1から請求項5のいずれか一つに記載のソフトウェア更新装置であって、
     前記電子機器には、前記ソフトウェアの更新を実行する更新条件が設定されており、
     前記ソフトウェア更新装置は、
     前記外部装置からの前記更新条件情報がないときには、前記電子機器側で設定された前記更新条件を採用する更新条件決定部を更に備える、ソフトウェア更新装置。
  7.  請求項1から請求項6のいずれか一つに記載のソフトウェア更新装置であって、
     前記通信部は、前記更新ソフトウェアよりも前記更新条件情報を先に受信し、
     前記更新可否判定部によって前記更新条件が満足していると判定されたときに、前記ダウンロード部が前記外部装置から前記更新ソフトウェアを受信し、前記伝送部が当該更新ソフトウェアを用いた前記ソフトウェアの更新を前記電子機器に指示する、ソフトウェア更新装置。
  8.  ソフトウェアを実行する電子機器と、
     前記電子機器のソフトウェアを更新する更新ソフトウェアと、前記ソフトウェアの更新を実行するための更新条件を示す更新条件情報とを格納する外部装置と、
     前記電子機器に接続されるとともに、前記外部装置と通信するソフトウェア更新装置と
    を備え、
     前記ソフトウェア更新装置は、
     前記外部装置と通信する通信部と、
     前記更新ソフトウェアと前記更新条件情報とを、前記通信部を介して、前記外部装置から受信するダウンロード部と、
     前記更新条件が満足しているか否かを判定する更新可否判定部と、
     前記更新条件が満足していると判定したときに、前記電子機器に前記更新ソフトウェアを用いた前記ソフトウェアの更新を指示する伝送部と
    を備える、ソフトウェア更新システム。
  9.  ソフトウェアを実行する電子機器へと前記ソフトウェアの更新を指示するソフトウェアの更新方法であって、
     前記ソフトウェアを更新する更新ソフトウェアと、前記ソフトウェアの更新を実行するための更新条件を示す更新条件情報とを、外部装置から受信し、
     前記更新条件が満足しているか否かを判定し、
     前記更新条件が満足していると判定したときに、前記更新ソフトウェアを用いた前記ソフトウェアの更新を前記電子機器に指示する、ソフトウェア更新方法。
PCT/JP2016/065524 2015-05-26 2016-05-26 ソフトウェア更新装置、ソフトウェア更新システムおよびソフトウェア更新方法 Ceased WO2016190377A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US15/576,218 US20180150290A1 (en) 2015-05-26 2016-05-26 Software update device, software update system, and software update method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2015-105959 2015-05-26
JP2015105959A JP2016218932A (ja) 2015-05-26 2015-05-26 ソフトウェア更新装置およびソフトウェア更新システム

Publications (1)

Publication Number Publication Date
WO2016190377A1 true WO2016190377A1 (ja) 2016-12-01

Family

ID=57393450

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2016/065524 Ceased WO2016190377A1 (ja) 2015-05-26 2016-05-26 ソフトウェア更新装置、ソフトウェア更新システムおよびソフトウェア更新方法

Country Status (3)

Country Link
US (1) US20180150290A1 (ja)
JP (1) JP2016218932A (ja)
WO (1) WO2016190377A1 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018100002A (ja) * 2016-12-20 2018-06-28 株式会社オートネットワーク技術研究所 車載更新装置、更新システム及び可搬型通信器
WO2018189951A1 (ja) * 2017-04-12 2018-10-18 住友電気工業株式会社 中継装置、中継方法、およびコンピュータプログラム
CN111813427A (zh) * 2019-04-12 2020-10-23 杭州海康威视数字技术股份有限公司 设备修复方法、装置、电子设备及存储介质
JP2021056655A (ja) * 2019-09-27 2021-04-08 株式会社アドヴィックス 車両リプログラミングシステム

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6281535B2 (ja) * 2015-07-23 2018-02-21 株式会社デンソー 中継装置、ecu、及び、車載システム
US20180074813A1 (en) * 2016-09-14 2018-03-15 General Motors Llc Installing vehicle updates
JP6666281B2 (ja) * 2017-02-16 2020-03-13 株式会社日立製作所 ソフトウェア更新システム、サーバ
JP6888845B2 (ja) 2017-07-04 2021-06-16 日本電気通信システム株式会社 ソフトウェア更新装置
WO2019030984A1 (ja) * 2017-08-10 2019-02-14 住友電気工業株式会社 制御装置、制御方法、およびコンピュータプログラム
JP6940365B2 (ja) * 2017-10-12 2021-09-29 日立Astemo株式会社 情報更新装置
DE102017218654A1 (de) 2017-10-19 2019-04-25 Robert Bosch Gmbh Sicherheitssystem für ein elektronisches Gerät eines Fahrzeugs, elektronisches Gerät, Fahrzeug, Verfahren
JP6915500B2 (ja) * 2017-11-06 2021-08-04 トヨタ自動車株式会社 更新システム、電子制御装置、更新管理装置、及び更新管理方法
DE102018200318A1 (de) * 2018-01-11 2019-07-11 Bayerische Motoren Werke Aktiengesellschaft Absicherung eines Softwareupdates eines Steuergerätes eines Fortbewegungsmittels
JP7311245B2 (ja) * 2018-03-07 2023-07-19 トヨタ自動車株式会社 マスタ装置、マスタ、制御方法、プログラム及び車両
US20190324858A1 (en) * 2018-04-24 2019-10-24 GM Global Technology Operations LLC Rollback recovery from partial failure in multiple electronic control unit over-the-air updates
JP7077751B2 (ja) * 2018-04-27 2022-05-31 株式会社デンソー プログラム更新装置、プログラム更新システム及びプログラム更新方法
JP6973450B2 (ja) 2018-08-10 2021-12-01 株式会社デンソー 車両用マスタ装置、インストールの指示判定方法及びインストールの指示判定プログラム
WO2020032044A1 (ja) * 2018-08-10 2020-02-13 株式会社デンソー 車両用マスタ装置、インストールの指示判定方法及びインストールの指示判定プログラム
JP2020030607A (ja) 2018-08-22 2020-02-27 株式会社デンソー 車両用ソフトウェア更新装置
JP7023588B2 (ja) * 2019-05-23 2022-02-22 矢崎総業株式会社 データ書換方法、及びデータ書換システム
CN116009909A (zh) * 2019-06-21 2023-04-25 华为技术有限公司 软件升级方法、装置及系统
JP2021005218A (ja) * 2019-06-26 2021-01-14 株式会社デンソー 機能拡張システムおよび電子制御装置
CN110442363B (zh) * 2019-07-03 2023-03-24 东风商用车有限公司 一种车辆ecu升级控制方法
JP7310891B2 (ja) * 2019-08-06 2023-07-19 日本電気株式会社 モビリティ制御システム、方法、および、プログラム
JP7585668B2 (ja) * 2019-11-01 2024-11-19 株式会社リコー 情報処理装置、情報処理システム及び情報処理方法
JP7480494B2 (ja) * 2019-11-01 2024-05-10 株式会社リコー 情報処理装置、情報処理システム及び情報処理方法
CN111240729B (zh) * 2020-01-21 2023-03-14 维沃移动通信有限公司 软件更新方法、电子设备及介质
JP7398305B2 (ja) * 2020-03-19 2023-12-14 本田技研工業株式会社 報知装置
CN112514354B (zh) * 2020-03-19 2021-10-26 华为技术有限公司 一种车辆软件升级的方法及相关系统
JP7327304B2 (ja) * 2020-07-08 2023-08-16 トヨタ自動車株式会社 ソフトウェア更新装置、方法、プログラムおよび車両
JP7257375B2 (ja) * 2020-12-22 2023-04-13 本田技研工業株式会社 制御システム、移動体、制御方法及びプログラム
JP2022121301A (ja) * 2021-02-08 2022-08-19 トヨタ自動車株式会社 車両用制御装置
JP7677030B2 (ja) * 2021-07-27 2025-05-15 日産自動車株式会社 ソフトウェア更新装置、ソフトウェア更新システム、及びソフトウェア更新方法
US12008355B2 (en) * 2022-01-18 2024-06-11 Dell Products L.P. System and method for generating a specialized upgrade notification based on client intent for an application abstention
US12164910B2 (en) * 2022-04-05 2024-12-10 Ford Global Technologies, Llc Vehicle software compatibility
JP7619342B2 (ja) * 2022-08-26 2025-01-22 トヨタ自動車株式会社 サーバ、ソフトウェア更新システム、ソフトウェア更新方法、プログラム
FR3145433B1 (fr) * 2023-01-30 2025-09-05 Valeo Comfort & Driving Assistance Procédé et système de mise à jour d’un logiciel pour un véhicule automobile
JP7760635B2 (ja) * 2024-03-27 2025-10-27 本田技研工業株式会社 移動体制御装置、移動体制御方法、及びプログラム
WO2025225286A1 (ja) * 2024-04-26 2025-10-30 株式会社デンソー マスタ装置、車両システム、ソフトウェアの更新方法及びソフトウェアの更新制御プログラム

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006268554A (ja) * 2005-03-24 2006-10-05 Hitachi Ltd プログラムの書き換えシステム及びプログラムの書き換え方法
JP2011090457A (ja) * 2009-10-21 2011-05-06 Toyota Motor Corp 車両診断装置
WO2012043008A1 (ja) * 2010-09-29 2012-04-05 三菱電機株式会社 プログラマブル・ロジック・コントローラの実行環境をバージョンアップする方法、システム、およびプログラム
JP2012091755A (ja) * 2010-10-29 2012-05-17 Honda Motor Co Ltd 車両用プログラム書換えシステム
JP2012146241A (ja) * 2011-01-14 2012-08-02 Canon Inc ソフトウェアアップデート方法、ソフトウェアアップデート装置、及びソフトウェアアップデートプログラム
JP2014106875A (ja) * 2012-11-29 2014-06-09 Denso Corp 車載プログラム更新装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070033155A1 (en) * 2005-08-02 2007-02-08 Landsman Richard A Client/server web application architectures for offline usage, data structures, and related methods
JP5454542B2 (ja) * 2011-10-05 2014-03-26 株式会社デンソー 電子制御装置
US8874653B2 (en) * 2012-11-12 2014-10-28 Maximilian A. Chang Vehicle security and customization
US9940762B2 (en) * 2013-09-25 2018-04-10 Ford Global Technologies, Llc Systems and methods for identification of a compromised module
JP5768870B2 (ja) * 2013-12-25 2015-08-26 日本電気株式会社 プログラム配信装置及びプログラム配信方法、プログラム配信システム、並びにコンピュータ・プログラム
US9716927B2 (en) * 2014-05-05 2017-07-25 General Motors Llc Status-assisted communications with a vehicle
WO2015170452A1 (ja) * 2014-05-08 2015-11-12 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 車載ネットワークシステム、電子制御ユニット及び更新処理方法
JP6216730B2 (ja) * 2015-03-16 2017-10-18 日立オートモティブシステムズ株式会社 ソフト更新装置、ソフト更新方法
JP6722198B2 (ja) * 2015-05-14 2020-07-15 エアビクティ インコーポレイテッド モバイル支援型自動車ソフトウェア・アップデート及び車両データ分析の集中管理システム

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006268554A (ja) * 2005-03-24 2006-10-05 Hitachi Ltd プログラムの書き換えシステム及びプログラムの書き換え方法
JP2011090457A (ja) * 2009-10-21 2011-05-06 Toyota Motor Corp 車両診断装置
WO2012043008A1 (ja) * 2010-09-29 2012-04-05 三菱電機株式会社 プログラマブル・ロジック・コントローラの実行環境をバージョンアップする方法、システム、およびプログラム
JP2012091755A (ja) * 2010-10-29 2012-05-17 Honda Motor Co Ltd 車両用プログラム書換えシステム
JP2012146241A (ja) * 2011-01-14 2012-08-02 Canon Inc ソフトウェアアップデート方法、ソフトウェアアップデート装置、及びソフトウェアアップデートプログラム
JP2014106875A (ja) * 2012-11-29 2014-06-09 Denso Corp 車載プログラム更新装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
DARREN MAR-ELIA: "User Profile no Shikumi o Shiru", NIKKEI WINDOWS FOR IT PROFESSIONALS, 1 August 2004 (2004-08-01), pages 112 - 117, ISSN: 1346-8308 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018100002A (ja) * 2016-12-20 2018-06-28 株式会社オートネットワーク技術研究所 車載更新装置、更新システム及び可搬型通信器
WO2018117016A1 (ja) * 2016-12-20 2018-06-28 株式会社オートネットワーク技術研究所 車載更新装置、更新システム及び可搬型通信器
CN110191822A (zh) * 2016-12-20 2019-08-30 株式会社自动网络技术研究所 车载更新装置、更新系统及移动式通信设备
WO2018189951A1 (ja) * 2017-04-12 2018-10-18 住友電気工業株式会社 中継装置、中継方法、およびコンピュータプログラム
CN111813427A (zh) * 2019-04-12 2020-10-23 杭州海康威视数字技术股份有限公司 设备修复方法、装置、电子设备及存储介质
JP2021056655A (ja) * 2019-09-27 2021-04-08 株式会社アドヴィックス 車両リプログラミングシステム
JP7423959B2 (ja) 2019-09-27 2024-01-30 株式会社アドヴィックス 車両リプログラミングシステム

Also Published As

Publication number Publication date
US20180150290A1 (en) 2018-05-31
JP2016218932A (ja) 2016-12-22

Similar Documents

Publication Publication Date Title
WO2016190377A1 (ja) ソフトウェア更新装置、ソフトウェア更新システムおよびソフトウェア更新方法
US11736916B2 (en) Method and system for integratedly managing vehicle operation state
KR101548953B1 (ko) 차량용 정보 갱신 방법 및 장치
JP5708940B2 (ja) 情報管理装置、情報通信システム
JP6755219B2 (ja) 情報配信システム及び車載装置
US9630590B2 (en) Control method, device and system for a vehicle
US20190332371A1 (en) On-board update apparatus, update system, and portable communication device
US8868289B2 (en) Vehicle location navigation system
JP4862515B2 (ja) 情報提供装置および情報提供方法
WO2017078680A1 (en) Wearable device configuration using vehicle and cloud event data
US20250159444A1 (en) Method and system for integratedly managing vehicle operation state
JP6337533B2 (ja) 端末、端末システム及びプログラム
JP6171549B2 (ja) 表示制御装置、及び、プログラム
CN108737953B (zh) 用于处理与车辆关联的用户设备的位置的方法和系统
US20230072416A1 (en) Communication apparatus, information processing apparatus, delivery system, and control methods and storage medium
JP2014194342A (ja) 車載ナビゲーション装置、携帯端末装置およびナビゲーションシステム
JP7220369B2 (ja) 電子機器および処理方法
JP6952616B2 (ja) 作業車両用盗難防止システム
KR102646657B1 (ko) 서버, 차량용 단말 및 이를 이용한 긴급 상황 알림 방법
KR102921629B1 (ko) 서버, 차량용 단말 및 이를 이용한 긴급 상황 알림 방법
WO2019239577A1 (ja) データ通信装置
KR101538553B1 (ko) 자원 배분 판단 서버 및 그 제어방법과, 그 자원 배분 판단 서버와 통신하는 통신 단말기 및 그 제어방법
JP2025079547A (ja) 携帯端末、緊急通報システム、及び、緊急通報方法
CN120113210A (zh) 设定装置
CN112788093A (zh) 车辆管理服务器、车辆管理方法以及非暂时性存储介质

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16800081

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 15576218

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16800081

Country of ref document: EP

Kind code of ref document: A1