Patent ID: 12236225

DESCRIPTION OF EXEMPLARY EMBODIMENTS

While the present invention will be described below by means of embodiments of the invention, these embodiments below are not intended to limit the invention defined by the claims. In addition, all combinations of features set forth in the embodiments are not necessarily essential to the solutions of the present invention.

FIG.1schematically illustrates an update system10according to an embodiment. The update system10comprises a vehicle20, an external device70, an information processing apparatus72, and a program registration device74. The vehicle20comprises a control system200. The control system200is responsible for control of the vehicle20and communication with the external device70via a communication network90. The communication network90includes an IP network such as the Internet, a P2P network, a dedicated line including a VPN, a virtual network, a mobile communication network, and the like.

In the vehicle20, the control system200comprises a plurality of ECUs (Electronic Control Units) for controlling the vehicle20. The control system200acquires an update program from the outside for the ECU provided in the control system200. For example, the control system200receives the update program60transmitted by wireless communication from the external device70over the communication network90. The control system200reprograms the ECU provided in the control system200by means of the update program60. Reprogramming is performed aiming for upgrading or the like of functions of the ECU provided in the control system200. In this manner, the control system200updates the ECU by reprogramming the ECU through an OTA (Over The Air). In this embodiment, updating a device such as the ECU with the update program is referred to as a “program update”.

InFIG.1, the update program60is created by a software creator, for example, and registered in a program registration device74. The update program60contains a program body and identification information. The program body is program codes executed by the ECU. The identification information is information for identifying a function to be limited in the vehicle20when the program update is performed with the update program60. For example, when the update program60is a program for the ECU that controls a battery in the vehicle20, a charging function of the battery may be limited during the program update with the update program60. In this case, the identification information of the update program60may be flag information indicating the “charging function”. A creator of the update program60embeds the identification information in the update program60when generating the update program60. The program registration device74uploads the update program60to the information processing apparatus72over the communication network90.

The information processing apparatus72gives a descriptive text relating to the update program60to the update program60. The descriptive text is, for example, a text describing a function to be added by the program update with the update program60. The descriptive text is input by a creator of the descriptive text into the information processing apparatus72. The information processing apparatus72gives the descriptive text to the update program60and, based on the identification information embedded in the update program60, automatically generates a message to be notified to a user before the program update is performed with the update program60to give the message to the update program60. The information processing apparatus72uploads an update package62containing the update program60, the descriptive text, and the message to the external device70. The external device70transmits the update package62to the vehicle20.

The control system200, before the program update is performed with the update program60contained in the update package62, displays the descriptive text and the message contained in the update package62for notification to the user. In addition, the control system200, based on the identification information contained in the update program60, notifies the user of the function to be limited during the program update. This allows explicitly informing the user of the function to be limited before a function limitation occurs due to the program update. In addition, in the information processing apparatus72, the message is automatically generated by means of the identification information embedded in the update program60and given to the update package62, which can reduce the possibility, due to human errors or the like, for the update package62to be transmitted to the vehicle20before the descriptive text related to the function limitation is given.

FIG.2schematically illustrates a system configuration provided in the information processing apparatus72. The information processing apparatus72comprises a processing unit300, a storage unit380, and a communication unit390. The processing unit300comprises an update program acquisition unit310, an identification information acquisition unit320, a message generation unit330, and an output control unit340.

The processing unit300is embodied by a computational processing device including a processor, for example. The storage unit380is embodied by comprising a non-volatile storage medium. The processing unit300performs processing using information stored in the storage unit380. The communication unit390is responsible for communication between the external device70and the program registration device74.

The information processing apparatus72generates function limitation information indicative of the function to be limited in the vehicle20during the update of the ECU provided in the vehicle20with the update program. For the update program, the identification information is given for identifying the function to be limited in the vehicle20during the update of the ECU with the update program. The update program acquisition unit310acquires the update program. For example, the update program acquisition unit310acquires the update program created by the software creator.

The identification information acquisition unit320acquires the identification information given to the update program. The message generation unit330, based on the identification information acquired by the identification information acquisition unit320, generates a message to be output when the ECU is updated with the update program. For example, the message generation unit330generates a predetermined fixed message that is corresponded to the identification information. The output control unit340controls an output of the message generated by the message generation unit330. For example, the output control unit340outputs the message while corresponding it to the update program acquired by the update program acquisition unit310.

FIG.3schematically illustrates a system configuration provided in the control system200. The control system200comprises a TCU201, an ECU202, an ECU204, an ECU205, an ECU206, an MID298, and an IVI299. InFIG.3, an FI294, a high voltage battery295, a locking device296, and a low voltage battery297are examples of controlled devices provided in the vehicle20.

The ECU202is connected with the TCU201, the ECU204, the ECU205, and the ECU206over in-vehicle communication lines280. The ECU202communicates mutually with the TCU201, the ECU204, the ECU205, the ECU206, the MID298, and the IVI299over the in-vehicle communication lines280. The ECU202integrally controls the TCU201, the ECU204, the ECU205, the ECU206, the MID298, and the IVI299. The in-vehicle communication lines280may be configured including a CAN (Controller Area Network) or an EtherNetwork, for example.

The TCU201is a Telematics Control Unit. The TCU201is mainly responsible for mobile communications. The TCU201transmits and receives data to and from the external device70based on the control by the ECU202. The TCU201receives the update program transmitted from the external device70through the mobile communications based on the control by the ECU202. The TCU201can function as a wireless communication unit.

The MID298is a multi-information display. The IVI299is an in-vehicle infotainment (IVI) information device, for example. The MID298and the IVI299may function as display control units. The IVI299comprises a wireless LAN communication function. The IVI299receives the update program transmitted from the external device70through the wireless LAN communication based on the control by the ECU202.

The ECU204, the ECU205, and the ECU206are each the ECU as the vehicle control unit for controlling the vehicle20. The ECU204, the ECU205, and the ECU206are examples of “mobile object control units”. The ECU204, the ECU205, and the ECU206control various types of devices provided in the vehicle20. For example, the ECU204controls the FI294or the like as a fuel injection device. The ECU205controls, e.g. the high voltage battery295. The high voltage battery295is, for example, a battery that accumulates power supplied to a motor for running provided in the vehicle20. The ECU206controls, e.g. the locking device296and low voltage battery297. The locking device296is a device for locking a door or the like of the vehicle20. The low voltage battery297functions as a12-V power supply for the vehicle, for example. The low voltage battery297is, for example, a lead storage battery or the like.

While this embodiment illustrates the system configuration in which the control system200comprises the TCU201, the ECU202, the ECU204, the ECU205, the ECU206, the MID298, and the IVI299, the system configuration of the control system200is not limited to the example in this embodiment. In addition, this embodiment describes an illustration in which the ECU205and the ECU206are the mobile object control units that can be targeted for the program update and the ECU202functions as the update control unit for controlling the program update. Note that the mobile object control unit that can be targeted for the program update is not limited to these ECUs. The mobile object control unit that can be targeted for the program update may be any of the TCU201, the ECU202, the ECU204, the ECU205, the ECU206, the MID298, and the IVI299.

The ECU202comprises an update control unit220, a notification control unit230, a specifying unit240, and a selection unit260.

The update control unit220controls reception of the update program for the ECU from the external device, and controls the update of the ECU with the update program. The notification control unit230notifies the user of the information on the function to be limited in the vehicle20that occurs during the update of the ECU. The user is, for example, an occupant of the vehicle20. For the update program, the identification information is given for identifying the function to be limited in the vehicle20during the update of the ECU with the update program. The notification control unit230, based on the identification information given to the update program, controls notification to the user of the information on the function to be limited. For example, the notification control unit230may cause the MID298and the IVI299to perform notification to the user.

For the update program, the identification information is given as well as vehicle specifying information for specifying the vehicle20in which the function limitation occurs. The specifying unit240, based on the identification information and the vehicle specifying information given to the update program, specifies the function to be limited in the vehicle20during the update of the ECU with the update program. The notification control unit230, based on the function specified by the specifying unit240, controls notification to the user of the information on the function to be limited.

The update control unit220controls reception of a plurality of update programs from the external device. The selection unit260selects the update program for updating the ECU from among the plurality of the update programs. The specifying unit240, based on the identification information and the vehicle specifying information given to each of the plurality of the update programs, specifies the function to be limited in the vehicle20during the update of the ECU with the update program selected by the selection unit260. The notification control unit230, before the update of the ECU starts with the update program selected by the selection unit260, notifies the user of the function specified by the specifying unit240.

The selection unit260, based on a remaining amount of the low voltage battery297provided in the vehicle20, may select one update program for updating the ECU from among the plurality of the update programs. The selection unit260, based on an amount of power to be consumed when the ECU to be targeted for the update is updated with each of the plurality of update program and the remaining amount of the low voltage battery297, selects one update program for updating the ECU. Information on the amount of power to be consumed when the ECU is updated may be contained in the update package transmitted from the external device70.

Here, the program update will be described. Program update processing will be described in the case where a device to be targeted for the program update is the ECU and a memory in the ECU for storing firmware is a single bank memory (so-called one-sided ROM). In this case, since there is only one program storage area in the ECU for storing the firmware, the update program cannot be written in the program storage area while the ECU is operating in accordance with the program stored in the program storage area. When the program update for the ECU is performed, the update control unit220transfers the update program to the ECU to store the update program in a predetermined data storage area in the ECU, and then instructs the ECU to perform the program update. The ECU, when the program update is instructed, executes a control code for performing the program update to write the update program transferred to the data storage area in the program storage area and activate the update program. Activation of the update program includes processing of setting a startup parameter of the ECU so as to load the update program upon starting up the ECU, for example, to start controlling based on the update program.

Next, program update processing will be described in the case where an internal memory in the ECU is a double bank memory (so-called two-sided ROM). In this case, since there are two program storage areas in the ECU for storing the firmware, the update program can be written in a second program storage area while the ECU is operating in accordance with the program stored in a first program storage area. That is, so-called back face writing enables the update program to be written in the second, or back face, program storage area. Accordingly, even while the vehicle20is running, for example, the update program can be written in the second program storage area. As such, the update control unit220transfers the update program to the ECU and then instructs the ECU to write the update program in the second program storage area. Upon completion of writing of the update program in the second program storage area in the ECU, the program update of the ECU is enabled. When the update control unit220performs the program update of the ECU, the update control unit220instructs the ECU to activate the update program written in the second program storage area. Activation of the update program includes processing of setting a startup parameter of the ECU so as to load the update program stored in the second program storage area upon starting up the ECU, for example, to start controlling based on the update program. For example, activation of the update program includes processing of validating the second program storage area as a readout area of the program while invalidating the first program storage area as the readout area of the program. In this manner, the “program update” is a concept that includes instruction to write the update program in the program storage area in the ECU. In addition, the “program update” is a concept that includes instruction to activate the update program written in the program storage area.

For the program update in the ECU with the single bank memory, there occurs the possibility that the ECU cannot control the vehicle during time frames in which the update program is written in the program storage area and in which the update program is activated. Accordingly, a time frame in which the function limitation occurs for the vehicle corresponds to the time frames in which the update program is written in the program storage area and in which the update program is activated. On the other hand, for the program update in the ECU with the double bank memory, the ECU can control the vehicle during the time frame in which the update program is written in the back face program storage area. Accordingly, for the program update in the ECU with the double bank memory, the time frame in which the function limitation occurs for the vehicle corresponds to the time frame in which the update program is activated. In this embodiment, the case will be described where the ECU205and the ECU206to be targeted for the update is the ECU comprising the double bank memory.

FIG.4schematically illustrates a flow of generating an update package62transmitted to the vehicle20. The update program60is created by the software creator and uploaded to the information processing apparatus72through the program registration device74. In a step of creating the update program60by the software creator, the update program60is embedded with the identification information for indicating the function to be limited in the vehicle during the program update.

In the information processing apparatus72, the update program acquisition unit310stores the update program60received from the program registration device74in the storage unit380. A program administrator490inputs the descriptive text for the update program60into the information processing apparatus72. For example, when the update program60is an update program for the ECU205, the descriptive text is input describing the function to be added by the update program60. The descriptive text is to input the sentence, e.g. “XX is enabled during quick charging.” In the information processing apparatus72, the storage unit380stores the descriptive text while corresponding it to the update program60.

In the information processing apparatus72, the identification information acquisition unit320reads out the identification information from the update program60. The message generation unit330generates a fixed message based on the identification information read out from the update program60. For example, the storage unit380stores the fixed message while corresponding it to the identification information. For example, the storage unit380stores the message “Charging function may be disabled while updating.” while corresponding it to the identification information that indicates the “charging function.” The message generation unit330generates the message stored in the storage unit380while corresponding it to the identification information read out from the update program60.

The output control unit340attaches the message generated by the message generation unit330to the update program60. In addition, the output control unit340attaches power consumption information that indicates an amount of power to be consumed when the update of the ECU is performed to the update program60. For example, the storage unit380stores the power consumption information indicating the amount of power to be consumed when the update of the ECU is performed while corresponding it to the identification information of the update program60. The output control unit340attaches the power consumption information, which is stored in the storage unit380while corresponding it to the identification information of the update program60, to the update program60. In the example inFIG.4, the power consumption information is attached to the update program60indicating that the amount of power consumed when the update of the ECU is performed is “XXAh.”

The output control unit340generates the update package62containing the update program that contains the program body and the identification information, a descriptive text410, a message420, and amount of power information430. The output control unit340transmits the generated update package62to the external device70through the communication unit390.

FIG.5illustrates a data structure, in a table format, of the identification information given to the update program.FIG.5illustrates the data structures of the identification information of the update program for the ECU205and the identification information of the update program for the ECU206. The identification information includes a function ID, vehicle type information, and ECU information. The function ID is information for identifying the function to be limited in the vehicle during the program update.

The vehicle type information is information indicating a vehicle type for which the function is limited during the program update. “0” represents that the function is not limited during the program update, and “1” represents that the function is limited during the program update. When the program update is performed, the function limitation may occur for a specific vehicle type. For example, the limitation on the charging function occurs only for an electric vehicle comprising the high voltage battery295, while the limitation on the charging function does not occur when the program update is performed for a gasoline vehicle not comprising the high voltage battery295. The vehicle type information sets for which type of vehicles the function limitation occurs. The example inFIG.5indicates that, for vehicles of “vehicle type1,” the function is not limited during the program update, and for vehicles of “vehicle type2” and “vehicle type3,” the functions are limited during the program update. The vehicle20, by referring to the vehicle type information, can determine whether the function is limited during the program update of the ECU.

The ECU information is information indicating a combination with the ECU for which the function limitation occurs during the program update. “0” represents that the function is not limited during the program update, and “1” represents that the function is limited during the program update. When the program update is performed for a plurality of ECUs, the function limitation may occur only when the program update is performed for a combination with the specific ECU. The ECU information sets for which ECU combination the function limitation occurs during the program update. The vehicle20, by referring to the ECU information, can determine whether the function is limited during the program update.

FIG.6illustrates an example of user notification information600displayed on the IVI299. The notification control unit230, when the update package62is downloaded from the external device70and before the update program is written in the program storage area in the ECU, displays the user notification information600on the IVI299. Information610of the user notification information600is a descriptive text contained in the update package62. Information620of the user notification information600is a message contained in the update package62. The user notification information600can notify the user which function is added by the program update. In addition, it can notify the user in advance which function is to be limited in activation of the update program60.

The user can touch an UI button630in the user notification information600to instruct that the program update is started after an IG switch of the vehicle is turned off. When the user touches the UI button630, the update control unit220starts writing the update program60in the back face program storage area in the ECU205. The update control unit220, after completion of writing the update program60in the back face program storage area and after the IG switch of the vehicle20is turned off, performs activation of the update program60.

FIG.7illustrates an example of user notification information700displayed on the IVI299before activation is performed. The notification control unit230, when the IG switch of the vehicle20is turned off, displays the user notification information700on the IVI299before the activation is performed if writing of the update program60in the back face program storage area is completed. At this time, the notification control unit230displays function limitation information720corresponding to the identification information contained in the update package62on the IVI299. The function limitation information720includes an icon indicating that the charging function is limited. Displaying the icon allows the user to know the function to be limited at a glance. The notification control unit230controls the IVI299so that the function limitation information720is displayed on the foreground of the display surface.

In this manner, the notification control unit230causes the function limitation information720to be displayed before the activation is performed. It enables the user to recognize that the charging function is limited even when displaying the user notification information600inFIG.6fails to cause the user to fully recognize that the charging function is limited.

FIG.8,FIG.9, andFIG.10illustrate flows of processing to be performed in activation of the update program.FIG.8illustrates a program update in the case where the vehicle20is a vehicle A corresponding to the “vehicle type1” inFIG.5.FIG.9illustrates a program update in the case where the vehicle20is a vehicle B corresponding to the “vehicle type2” inFIG.5.FIG.10illustrates a program update in the case where the vehicle20is a vehicle corresponding to the “vehicle type3” inFIG.5. Assume that, in the cases ofFIG.8andFIG.9, the writing is completed of the update program in the back face program storage areas of the ECU205and the ECU206.FIG.10is the case in which the program update is performed only for the ECU206, and it is assumed that the writing is completed of the update program in the back face program storage area of the ECU206.

InFIG.8, the IG switch is turned off at time t1, and then the selection unit260selects the update program for performing the program update from among the update program for the ECU205and the update program for the ECU206. The selection unit260acquires a remaining capacity of the low voltage battery297and calculates the amount of power available for the program update from the remaining capacity of the low voltage battery297. The selection unit260, from the amount of power indicated by the power consumption information attached to the respective update packages for the ECU205and the ECU206, specifies the power consumption during the program update for the ECU205and the power consumption during the program update for the ECU206. The selection unit260selects the update program so that a total value of the specified power consumption does not exceed the amount of power available for the program update.

FIG.8illustrates the case in which the update program for the ECU206is selected on an IG-off at the time t1. As shown inFIG.5, for the vehicle A corresponding to the “vehicle type1,” the locking function is limited when the program update is performed for the ECU206. As such, the specifying unit240, based on the vehicle type information of the vehicle20itself, specifies the “locking function” as the function to be limited when the program update is performed for the ECU206. The notification control unit230, at time t2, displays function limitation information820indicating that the locking function is limited on the IVI299. Thereafter, the update control unit220performs processing for activating the update program for the ECU206and turns off a power status of the vehicle20.

After the IG switch is turned on at time t3and the vehicle20runs, the IG switch is turned off at time t4. When the IG switch is turned off, the selection unit260, based on the remaining capacity of the low voltage battery297and the power consumption during the program update for the ECU205, determines that the program update can be performed for the ECU205, and then selects the ECU205as the ECU for which the program update is performed. As shown inFIG.5, for the vehicle A corresponding to the “vehicle type1,” the charging function is not limited when the program update for the ECU205is performed. As such, the update control unit220performs processing for activating the update program for the ECU205without the notification control unit230displaying the function limitation information on the IVI299, and turns off the power status of the vehicle20.

Next, with reference toFIG.9, the case will be described in which the vehicle20is the vehicle B corresponding to the “vehicle type2” inFIG.5. Here, it is assumed that the update program for the ECU206is selected on the IG-off at the time t1, as with the case inFIG.8, and the update program for the ECU205is selected on the next IG-off.

As shown inFIG.5, for the vehicle B corresponding to the “vehicle type2,” the locking function is limited when the program update is performed for the ECU206. As such, the specifying unit240specifies the “locking function” as the function to be limited when the program update is performed for the ECU206. The notification control unit230, at the time t2, displays the function limitation information820indicating that the locking function is limited on the IVI299. Thereafter, the update control unit220performs processing for activating the update program for the ECU206and turns off the power status of the vehicle20.

After the IG switch is turned on at the time t3and the vehicle20runs, the IG switch is turned off at the time t4. The selection unit260selects the ECU205as the ECU for which the program update is performed. As shown inFIG.5, for the vehicle B corresponding to the “vehicle type2,” the charging function is limited when the program update is performed for the ECU205. As such, the notification control unit230displays the function limitation information720indicating that the charging function is limited on the IVI299. Thereafter, the update control unit220performs processing for activating the update program for the ECU205and turns off the power status of the vehicle20.

Next, with reference toFIG.10, the case will be described in which the vehicle20is the vehicle C corresponding to the “vehicle type3” inFIG.5. Assume that, as with the case inFIG.8, the selection unit260selects the update program for the ECU206on the IG-off at the time t1based on the remaining capacity of the low voltage battery297and the power consumption information.

As shown inFIG.5, for the vehicle C corresponding to the “vehicle type3,” the locking function is limited when the program update is performed for the ECU206. As such, the specifying unit240specifies the “locking function” as the function to be limited when the program update is performed for the ECU206. The notification control unit230, at the time t2, displays the function limitation information820indicating that the locking function is limited on the IVI299. Thereafter, the update control unit220performs processing for activating the update program for the ECU206and turns off a power status of the vehicle20. Then, after the IG switch is turned on at the time t3and the vehicle20runs, the IG switch is turned off at the time t4. The power status of the vehicle20is turned off at time t5because there is no ECU to be targeted for the program update.

As described with reference toFIG.8toFIG.10, the update system10enables proper notification to the user of the function to be limited when the program update is performed for each vehicle.

FIG.11illustrates a flowchart of an exemplary execution procedure of processing related to the program update performed by the control system200. The flowchart inFIG.11is started when the IG switch of the vehicle20is turned off. At S1002, the selection unit260acquires the remaining capacity of the low voltage battery297.

At S1004, the selection unit260selects the update program for performing the program update for the ECU. For example, the selection unit260, based on the remaining capacity of the low voltage battery297and the power consumption information attached to the update package, selects the update program for performing the program update for the ECU. Note that the selection unit260may select the update program based on a free memory capacity held in the ECU to be targeted for the program update. For example, the selection unit260may select the update program for performing the program update for the ECU provided that the free memory capacity in the ECU exceeds the capacity required for processing the program update.

At S1006, the specifying unit240specifies the function to be limited during the program update by the update program selected at S1004. The specifying unit240, based on the vehicle type information of the vehicle20and the identification information contained in the update package, specifies the function to be limited during the program update. At S1008, the notification control unit230notifies the user of the information indicating the function specified at S1006.

Subsequently, at S1010, the update control unit220starts the program update. Note that, at S1010, the update control unit220instructs the ECU to perform activation when the program update is to be performed for the ECU comprising the double bank memory. On the other hand, when the program update is to be performed for the ECU comprising the single bank memory, the update control unit220instructs writing of the update program in the program storage area in the ECU and instructs the ECU to perform activation.

At S1012, when the processing of the program update is completed, the power status of the vehicle20is turned off and the processing of this flowchart is terminated.

As described above, according to the update system10of this embodiment, the information processing apparatus72, based on the identification information embedded in the update program60, automatically generates the message to be notified to the user before the program update is performed with the update program to attach the message to the update package containing the update program. This can reduce the possibility, due to the human errors or the like, that the update package is transmitted to the vehicle before the message regarding the function limitation is given. In addition, before the program update is performed with the update program, the control system200displays the message contained in the update package for notification to the user. Moreover, the control system200, based on the identification information contained in the update program, notifies the user of the function to be limited during the program update. This allows explicitly informing the user of the function to be limited before the function limitation occurs due to the program update, even when the user fails to notice the message contained in the update package.

Note that the vehicle20is a vehicle as an example of transportation equipment. The vehicle may be an automobile such as an automobile comprising an internal combustion engine, an electric vehicle, and a fuel cell vehicle (FCV). The automobile includes, e.g. a bus, a truck, and a two-wheeled vehicle. The vehicle may be a saddle type vehicle or the like, and may be a motorcycle. The transportation equipment includes, aside from the vehicle, equipment such as an aircraft including an unmanned aircraft, and a ship. The transportation equipment may be any equipment for transporting people or items. The transportation equipment is an example of the mobile object. The mobile object is not limited to the transportation equipment but may be any movable equipment.

FIG.12illustrates an exemplary computer2000in which some embodiments of the present invention may be wholly or partially embodied. A program installed in the computer2000can cause the computer2000to function as a system such as a control system or each part of the system or an apparatus such as an information processing apparatus or each part the apparatus according to the embodiments, perform operations associated with the system or each part of the system or the apparatus or each part of the apparatus, and/or perform a process or steps of the process according to the embodiments. Such a program may be executed by a CPU2012to cause the computer2000to perform specific operations associated with some or all of blocks in the processing procedures and block diagrams described in the specification.

The computer2000according to this embodiment includes the CPU2012and a RAM2014, which are connected to each other by a host controller2010. The computer2000also includes a ROM2026, a flash memory2024, a communication interface2022, and an I/O chip2040. The ROM2026, the flash memory2024, the communication interface2022, and the I/O chip2040are connected to the host controller2010via an I/O controller2020.

The CPU2012operates in accordance with programs stored in the ROM2026and the RAM2014, thereby controlling each unit.

The communication interface2022communicates with other electronic devices via a network. The flash memory2024stores a program and data used by the CPU2012in the computer2000. The ROM2026stores a boot program or the like executed by the computer2000upon activation, and/or a program dependent on hardware of the computer2000. The I/O chip2040may also connect various I/O units, such as a keyboard, a mouse, and a monitor, to the I/O controller2020via I/O ports, such as a serial port, a parallel port, a keyboard port, a mouse port, a monitor port, an USB port, and an HDMI (registered trademark) port.

The program is provided via a computer-readable storage medium, such as a CD-ROM, a DVD-ROM, or a memory card, or via a network. The RAM2014, the ROM2026, or the flash memory2024are examples of the computer-readable storage medium. The program is installed in the flash memory2024, the RAM2014, or the ROM2026, and executed by the CPU2012. Information processing described in such a program is read by the computer2000to link the program with the various types of hardware resources as mentioned above. The apparatus or method may be configured by embodying the information operation or processing using the computer2000.

For example, upon performing the communication between the computer2000and an external device, the CPU2012may execute a communication program loaded in the RAM2014and, based on the processing described in the communication program, instruct the communication interface2022to perform communication processing. The communication interface2022, under control of the CPU2012, reads transmission data stored in a transmission buffer processing area provided in a recording medium such as the RAM2014and the flash memory2024, transmits the read transmission data to the network, and writes the received data received from the network in a reception buffer processing area or the like provided on a recording medium.

In addition, the CPU2012may allow the RAM2014to read all or necessary parts of a file or database stored in the recording medium such as the flash memory2024, and perform various types of processing for the data stored on the RAM2014. The CPU2012then writes back the processed data in the recording medium.

Various types of information such as various types of programs, data, tables, and databases may be stored in the recording medium for information processing. On the data read from the RAM2014, the CPU2012may perform various types of processing including various types of operations, information processing, condition determination, conditional branching, unconditional branching, and information retrieval/conversion, which are described in the specification and specified by an instruction sequence of the program, and writes back the results in the RAM2014. The CPU2012may also retrieve information in a file, database, or the like in the recording medium. For example, when the recording medium stores a plurality of entries each having an attribute value of a first attribute associated with an attribute value of a second attribute, the CPU2012may retrieve an entry from the plurality of entries that matches a condition in which the attribute value of the first attribute is specified, and read the attribute value of the second attribute stored in the entry, thereby acquiring the attribute value of the second attribute associated with the first attribute that satisfies a predetermined condition.

The programs or software modules described above may be stored in the computer-readable storage medium on the computer2000or in the vicinity of the computer2000. A storage medium such as a hard disk or a RAM provided in a server system connected to a dedicated communication network or the Internet is usable as the computer-readable storage medium. The program stored in the computer-readable storage medium may be provided to the computer2000via the network.

The program installed in the computer2000and causes the computer2000to function as the control system200may operate on the CPU2012or the like to cause the computer2000to function as each part of the control system200. The information processing described in these programs are read in the computer2000, thereby functioning as each part of the control system200which serves as specific means under cooperation of the software and the various types of hardware resources as described above. Thus, these specific means embody arithmetic operation or processing of information depending on a purpose of use of the computer2000in this embodiment, thereby establishing the control system200specific to the purpose of use.

The program installed in the computer2000and causes the computer2000to function as the information processing apparatus72may operate on the CPU2012or the like to cause the computer2000to function as each part of the information processing apparatus72. The information processing described in these programs are read in the computer2000, thereby functioning as each part of the information processing apparatus72which serves as specific means under cooperation of the software and the various types of hardware resources as described above. Thus, these specific means embody arithmetic operation or processing of information depending on a purpose of use of the computer2000in this embodiment, thereby establishing the information processing apparatus72specific to the purpose of use.

Various embodiments have been described with reference to the block diagrams or the like. In the block diagrams, each block may represent: (1) a step of a process for performing an operation; or (2) each part of an apparatus having a function to perform an operation. A specific step or each part may be implemented by a dedicated circuit, a programmable circuit provided along with computer-readable instructions stored on a computer-readable storage medium, and/or a processor provided along with computer-readable instructions stored on a computer-readable storage medium. The dedicated circuit may include a digital and/or analog hardware circuit, and may include an integrated circuit (IC) and/or a discrete circuit. The programmable circuit may include a reconfigurable hardware circuit, including, e.g. logic operations such as logic AND, logic OR, logic XOR, logic NAND, logic NOR, and the like, as well as memory elements such as a flip-flop, a register, a field programmable gate array (FPGA), a programmable logic array (PLA), and the like.

The computer-readable storage medium may include any tangible device that can store instructions to be performed by a suitable device, so that the computer-readable storage medium having the instructions stored therein constitutes at least a part of a product containing the instructions that can be executed to provide means for performing the operations specified in the processing procedures or block diagrams. Examples of the computer-readable storage medium may include an electronic storage medium, a magnetic storage medium, an optical storage medium, a magneto-electric storage medium, a semiconductor storage medium, and the like. More specific examples of the computer-readable storage medium may include a floppy (registered trademark) disk, a diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an electrically-erasable programmable read-only memory (EEPROM), a static random access memory (SRAM), a compact disc read-only memory (CD-ROM), a digital versatile disk (DVD), a Blu-ray (registered trademark) disk, a memory stick, an integrated circuit card, and the like.

The computer-readable instructions may include assembler instructions, instruction set architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcodes, firmware instructions, state setting data, or any of source codes or object codes described in any combination of one or more programming languages, including object-oriented programming languages, such as Smalltalk (registered trademark), JAVA (registered trademark), or C++, and conventional procedural programming languages, such as C programming languages or similar programming languages.

The computer-readable instructions are provided to processors or programmable circuits of general-purpose computers, special-purpose computers, or other programmable data processing apparatuses, locally or via a local area network (LAN) or a wide area network (WAN) such as the Internet, wherein the computer-readable instructions may be executed to provide means for performing the operations specified in the described processing procedures or block diagrams. Examples of the processors include a computer processor, a processing unit, a microprocessor, a digital signal processor, a controller, a microcontroller, and the like.

While the embodiments of the present invention have been described, the technical scope of the present invention is not limited to the scope described in the above embodiments. It is apparent to persons skilled in the art that various alterations or improvements can be added to the above embodiments. It is also apparent from the description of the claims that the embodiments added with such alterations or improvements can be included in the technical scope of the present invention.

Each processing of the operations, procedures, steps, stages, and the like performed by the apparatus, system, program, and method illustrated in the claims, specification, or diagrams can be embodied in any order unless the execution order is explicitly specified by terms “prior to,” “before,” or the like and unless the output from a previous process is used in a later process. Even if the operational flow is described using terms “first,” “next,” or the like in the claims, specification, or diagrams, it does not necessarily mean that the flow must be performed in that order.

EXPLANATION OF REFERENCES

10: update system20: vehicle60: update program62: update package70: external device72: information processing apparatus74: program registration device90: communication network200: control system201: TCU202: ECU204: ECU205: ECU206: ECU220: update control unit230: notification control unit240: specifying unit260: selection unit280: in-vehicle communication line294: FI295: high voltage battery296: locking device297: low voltage battery298: MID299: IVI300: processing unit310: update program acquisition unit320: identification information acquisition unit330: message generation unit340: output control unit380: storage unit390: communication unit410: descriptive text420: message430: amount of power information490: program administrator600: user notification information610: information620: information630: UI button700: user notification information720: function limitation information820: function limitation information2000: computer2010: host controller2012: CPU2014: RAM2020: I/O controller2022: communication interface2024: flash memory2026: ROM2040: I/O chip