WO2023171242A1 - 通信制御装置、通信制御方法及び通信制御プログラム - Google Patents

通信制御装置、通信制御方法及び通信制御プログラム Download PDF

Info

Publication number
WO2023171242A1
WO2023171242A1 PCT/JP2023/004646 JP2023004646W WO2023171242A1 WO 2023171242 A1 WO2023171242 A1 WO 2023171242A1 JP 2023004646 W JP2023004646 W JP 2023004646W WO 2023171242 A1 WO2023171242 A1 WO 2023171242A1
Authority
WO
WIPO (PCT)
Prior art keywords
communication
network
change
ecu
network settings
Prior art date
Application number
PCT/JP2023/004646
Other languages
English (en)
French (fr)
Inventor
康広 山崎
邦裕 宮内
英樹 後藤
生祥 大武
祐輔 山本
達也 泉
秀幸 田中
賢太 小方
慶剛 菊地
博史 浦山
ダルマワン 呉
Original Assignee
トヨタ自動車株式会社
住友電気工業株式会社
住友電装株式会社
株式会社オートネットワーク技術研究所
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 トヨタ自動車株式会社, 住友電気工業株式会社, 住友電装株式会社, 株式会社オートネットワーク技術研究所 filed Critical トヨタ自動車株式会社
Publication of WO2023171242A1 publication Critical patent/WO2023171242A1/ja

Links

Classifications

    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/085Retrieval of network configuration; Tracking network configuration history
    • H04L41/0859Retrieval of network configuration; Tracking network configuration history by keeping history of different configuration generations or by rolling back to previous configuration versions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0823Errors, e.g. transmission errors

Definitions

  • the present disclosure relates to a communication control device, a communication control method, and a communication control program.
  • SDN Software Defined Networking
  • Japanese Unexamined Patent Publication No. 2017-169044 discloses a configuration device that contributes to updating the settings of communication devices that constitute the network while operating the network.
  • the present disclosure has been made in view of the above points, and provides a communication control device, a communication control method, and a communication control program that prevent a communication error from occurring even when a communication error occurs after changing network settings.
  • the purpose is to provide
  • a communication control device includes a setting unit that performs processing related to changing network settings, and a communication device connected to the network that sends a notification that the changing of network settings is completed. and an output unit that outputs the changed settings of the network to the state before the change when a communication error regarding the communication of the network is received from the communication device that performs communication according to the change of the settings of the network based on the notification. and a control unit that performs processing to return to the original state.
  • the communication error occurs after changing the network settings, it is possible to prevent the communication error from occurring by returning the network settings to the state before the change.
  • a communication control device is the communication control device according to the first aspect, wherein the control unit receives a communication error from the communication device for a predetermined period of time from a change in the network settings. If not, it is determined that the change in the network settings is valid.
  • the network can be controlled.
  • a communication control device is the communication control device according to the second aspect, in which the control unit notifies an external device that the change in the network settings is valid.
  • a communication control device is the communication control device according to any one of the first to third aspects, wherein the control unit is configured to control the communication control device that causes the communication error from the communication device. Processing is performed for the communication device connected to the network whose network settings have been changed to return the network settings to the state before the change.
  • the range in which the network settings are returned to the state before the change can be minimized.
  • a communication control device is a communication control device according to any one of the first to fourth aspects, wherein the communication error occurs when continuity cannot be confirmed with the communication device of the communication destination. Communication is not possible at a predetermined period, communication is not possible using a predetermined protocol, or communication is not possible because a predetermined port is not open.
  • a predetermined communication-impossible state can be determined to be a communication error.
  • a communication control device is the communication control device according to any one of the first to fifth aspects, wherein the control unit controls the software that caused the change in the network settings.
  • a request is made to the distributed server to return the software to the state before the update.
  • software can be rolled back to a state where no communication error occurs.
  • a communication control device is a communication control device according to any one of the first to sixth aspects, and the communication control device determines whether or not there is a notification of a communication error from a communication device connected to the network.
  • the control unit further includes a monitoring unit that periodically monitors, and the control unit changes the network settings of the communication device whose network settings are to be changed to the state before the change, in response to the detection of a notification of a communication error by the monitoring unit. Perform processing to return to the state.
  • the occurrence of a communication error can be monitored, and if a communication error occurs as a result of the monitoring, the network settings can be returned to the state before the change.
  • a communication control device is a communication control device according to any one of the first to seventh aspects, and the network is an in-vehicle network built in a vehicle.
  • the network settings can be returned to the state before the change.
  • a processor performs processing related to changing network settings, and notifies a communication device connected to the network that the changing of the network settings is completed. and upon receiving a communication error regarding the network communication from the communication device that performs communication according to the change in the network settings based on the notification, processing for returning the changed network settings to the state before the change. Execute the process that performs.
  • the ninth aspect of the present disclosure if a communication error occurs after changing the network settings, it is possible to prevent the communication error from occurring by returning the network settings to the state before the change.
  • a communication control program causes a computer to perform processing related to changing network settings, and notifies a communication device connected to the network that the changing of network settings is completed. and upon receiving a communication error regarding the network communication from the communication device that performs communication according to the change in the network settings based on the notification, processing for returning the changed network settings to the state before the change. Execute the process that performs the following.
  • a communication error occurs after changing the network settings, it is possible to prevent the communication error from occurring by returning the network settings to the state before the change.
  • a communication control device a communication control method, and a communication control program that prevent a communication error from occurring by returning the network settings to before the change when a communication error occurs after changing the network settings. can be provided.
  • FIG. 1 is a diagram showing a schematic configuration of a communication system according to the present embodiment.
  • FIG. 2 is a block diagram showing the hardware configuration of an ECU.
  • FIG. 2 is a block diagram showing an example of a functional configuration of an ECU.
  • FIG. 2 is a block diagram showing the hardware configuration of an ECU.
  • FIG. 2 is a block diagram showing an example of a functional configuration of an ECU. It is a sequence diagram explaining operation of each device of a communication system.
  • FIG. 1 is a diagram showing a schematic configuration of a communication system according to this embodiment.
  • the communication system shown in FIG. 1 has a configuration in which a vehicle 1 and an OTA (Over The Air) server 20 are connected via a network 30.
  • the vehicle 1 includes an antenna 2 and an in-vehicle network that is an example of a network according to the present disclosure and includes ECUs (Electronic Control Units) 10, 200A, 200B, 200C, 200D, and switches 210A and 210B.
  • the ECUs 10, 200A, 200B, 200C, and 200D and the switches 210A and 210B are each connected via Ethernet (registered trademark). Note that the number of ECUs and switches is not limited to the example shown in FIG. 1, and the connection form between the ECU and switches is not limited to the example shown in FIG. 1 either.
  • the ECU 10 is an ECU that controls the entire in-vehicle network.
  • the ECU 10 communicates with the OTA server 20 via the antenna 2 and exchanges various data with the OTA server 20.
  • ECUs 200A, 200B, 200C, and 200D are ECUs for controlling each part of vehicle 1, respectively.
  • the ECUs 200A, 200B, 200C, and 200D control the operations of devices mounted on the vehicle 1, such as an engine, a motor, a brake, a camera, and a light.
  • the ECU 10 does not change the hardware configuration of the in-vehicle network, but changes the configuration of the in-vehicle network through software settings using SDN technology.
  • the switches 210A and 210B are controlled by software using OpenFlow, etc., instead of connecting and disconnecting cables or making settings for each switch 210A and 210B individually. make it work.
  • the ECU 10 sets the destination of the packet transmitted from each ECU to the switches 210A and 210B under software control.
  • the switches 210A and 210B allow or discard the packet based on the settings set by the ECU 10.
  • the OTA server 20 is a server for updating software for each ECU of the vehicle 1.
  • the software stored in each ECU of the vehicle 1 is updated, the updated software is transmitted from the OTA server 20 to the vehicle 1.
  • the software may be automatically sent from the OTA server 20 to the vehicle 1, or the software may be updated based on instructions from the user riding in the vehicle 1. Based on this, the software may be transmitted from the OTA server 20 to the vehicle 1.
  • the updated software may specify that new communication be performed with another ECU in the in-vehicle network.
  • the ECU 200A may start new communication with the ECU 200C via the switches 210A and 210B.
  • the ECU 10 changes the communication settings of the switches 210A and 210B when the software of the ECU connected to the in-vehicle network is updated.
  • ECU 200A may cause communication errors.
  • the software is updated so that ECU 200A starts communicating with ECU 200D, and the communication settings of switches 210A and 210B are changed by ECU 10, but ECU 200A cannot communicate with ECU 200D even if a continuity test is performed. think of. In such a case, the ECU 200A notifies the ECU 10 that a communication error has occurred in communication with the ECU 200D.
  • the ECU 10 if there is an ECU in which a communication error occurs as a result of changing the communication settings of the switches 210A and 210B using software, the ECU 10 according to the present embodiment returns the communication settings of the switches 210A and 210B to the state before the change. The ECU 10 then instructs the OTA server 20 to roll back the software. If there is an ECU in which a communication error has occurred, the ECU 10 according to the present embodiment can stop the ECU from causing a communication error by returning the communication settings of the switches 210A and 210B to the state before the change.
  • FIG. 2 is a block diagram showing the hardware configuration of the ECU 10.
  • the ECU 10 includes a CPU (Central Processing Unit) 11, a ROM (Read Only Memory) 12, a RAM (Random Access Memory) 13, a storage 14, and a first communication interface ( I/F) 15, and 2 communication interfaces 16.
  • a CPU Central Processing Unit
  • ROM Read Only Memory
  • RAM Random Access Memory
  • storage 14 and a first communication interface ( I/F) 15, and 2 communication interfaces 16.
  • I/F first communication interface
  • Each configuration is communicably connected to each other via a bus 19.
  • the CPU 11 is a central processing unit that executes various programs and controls various parts. That is, the CPU 11 reads a program from the ROM 12 or the storage 14 and executes the program using the RAM 13 as a work area. The CPU 11 controls each of the above components and performs various arithmetic operations according to programs recorded in the ROM 12 or the storage 14. In this embodiment, the ROM 12 or the storage 14 stores a communication control program that controls communication of the in-vehicle network of the vehicle 1.
  • the ROM 12 stores various programs and various data.
  • the RAM 13 temporarily stores programs or data as a work area.
  • the storage 14 is composed of a storage device such as a flash memory, and stores various programs including an operating system and various data.
  • the first communication interface 15 is an interface for communicating with the OTA server 20, and uses a wireless communication standard such as 4G, 5G, or Wi-Fi (registered trademark), for example.
  • the second communication interface 16 is an interface for communicating with other devices such as the ECUs 200A to 200D, and uses, for example, a wired communication standard such as Ethernet (registered trademark).
  • the ECU 10 When executing the above communication control program, the ECU 10 uses the above hardware resources to realize various functions. The functional configuration realized by the ECU 10 will be explained.
  • FIG. 3 is a block diagram showing an example of the functional configuration of the ECU 10.
  • the ECU 10 has an acquisition section 101, a setting section 102, a control section 103, a monitoring section 104, an output section 105, and a storage section 106 as functional configurations.
  • Each functional configuration is realized by the CPU 11 reading and executing a communication control program stored in the ROM 12 or the storage 14.
  • the functions of the acquisition section 101, the setting section 102, the control section 103, the monitoring section 104, the output section 105, and the storage section 106 may be realized in a plurality of ECUs.
  • the acquisition unit 101 acquires data from the OTA server 20 and the ECUs 200A to 200D of the in-vehicle network. Specifically, the acquisition unit 101 acquires new software from the OTA server 20 when software executed by the ECUs 200A to 200D is updated. The acquisition unit 101 also acquires data for changing the communication settings of the switches 210A and 210B, if necessary in response to software updates of the ECUs 200A to 200D.
  • the setting unit 102 performs communication settings for the in-vehicle network using software. For example, if it is necessary to update the software of the ECUs 200A to 200D, the setting unit 102 changes the communication settings of the switches 210A and 210B. That is, the setting unit 102 changes the configuration of the in-vehicle network through software settings. Changes in the communication settings performed by the setting unit 102 include, for example, setting a route that allows communication with the communication partner of the ECU 200, setting the opening or closing of a port, setting the priority of packets to be passed, and setting the size of a packet queue. , bandwidth settings, packet filtering settings, etc.
  • the setting unit 102 sets the switch 210A, the switch 210A, and the other ECUs 200A to 200C that communicate with the ECU 200D to enable communication with the ECU 200D. 210B.
  • the switches 210A and 210B hold communication settings in the form of a table, for example.
  • the switches 210A and 210B refer to the table and process frames or packets flowing through the in-vehicle network.
  • the control unit 103 controls the operation of the ECU 10 and the in-vehicle network. Specifically, when the software executed by the ECUs 200A to 200D is updated, the control unit 103 controls the output unit 105 to output new software acquired by the acquisition unit 101. In addition, the control unit 103 outputs data necessary for communication setting change processing in the setting unit 102 to the switches 210A and 210B when necessary in response to software updates of the ECUs 200A to 200D. Control the output from.
  • the monitoring unit 104 monitors the communication status in the in-vehicle network. Specifically, the monitoring unit 104 monitors whether a communication error has been notified from each ECU connected to the in-vehicle network.
  • the output unit 105 outputs data to the OTA server 20 and each device of the in-vehicle network. Data output from the output unit 105 is performed under control from the control unit 103.
  • the storage unit 106 stores various information such as information referenced during operation of the ECU 10 and information used to control the in-vehicle network. Specifically, the storage unit 106 is configured to restore the communication settings of the switches 210A and 210B to their original state when a communication error occurs in an ECU with an in-vehicle network after changing the communication settings of the switches 210A and 210B. The communication settings before the change are memorized.
  • a communication error may occur in an ECU on the in-vehicle network.
  • the monitoring unit 104 confirms that the communication error has occurred, it notifies the control unit 103 that there is an ECU 200 in the in-vehicle network in which the communication error has occurred.
  • the control unit 103 confirms that there is an ECU 200 in which a communication error has occurred in the in-vehicle network due to a software update and a change in communication settings, the control unit 103 sends the updated software to the pre-update software to the OTA server 20. Request a rollback.
  • control unit 103 reads out the communication settings before the change stored in the storage unit 106, and performs control to return the communication settings of the switches 210A and 210B to their original state. I do.
  • control unit 103 does not receive a communication error occurrence notification from the ECU 200 for a predetermined time after changing the in-vehicle network settings for the switches 210A and 210B, the change in the in-vehicle network settings is effective. You may judge that. Then, the control unit 103 may notify the OTA server 20 that the change in the in-vehicle network is valid. The OTA server 20 can understand that the software update has been successfully completed by receiving a notification from the vehicle 1 that the change in the in-vehicle network has been effective.
  • the ECU 10 Since the ECU 10 has the configuration shown in FIG. 3, when an ECU whose network settings are not to be changed causes a communication error, the ECU 10 transmits the communication before the change to the switches 210A and 210B whose network settings are to be changed. You can revert to the settings. By returning the switches 210A and 210B to the communication settings before the change, the ECU 10 can prevent the ECU whose network settings are not to be changed from causing a communication error.
  • FIG. 4 is a block diagram showing the hardware configuration of ECU 200.
  • the ECU 200 includes a CPU 201, a ROM 202, a RAM 203, a storage 204, and a communication interface (I/F) 205. Each configuration is communicably connected to each other via a bus 209.
  • the CPU 201 is a central processing unit that executes various programs and controls various parts. That is, the CPU 201 reads a program from the ROM 202 or the storage 204 and executes the program using the RAM 203 as a work area. The CPU 201 controls each of the above components and performs various calculation processes according to programs recorded in the ROM 202 or the storage 204.
  • the ROM 202 stores various programs and various data.
  • the RAM 203 temporarily stores programs or data as a work area.
  • the storage 204 is configured with a storage device such as a flash memory, and stores various programs including an operating system and various data.
  • the communication interface 205 is an interface for communicating with other devices such as the ECU 10 and other ECUs 200, and uses, for example, a wired communication standard such as Ethernet (registered trademark).
  • the ECU 200 When executing the above communication control program, the ECU 200 uses the above hardware resources to realize various functions. The functional configuration realized by ECU 200 will be explained.
  • FIG. 5 is a block diagram showing an example of the functional configuration of the ECU 200.
  • the ECU 200 has an acquisition section 211, a control section 212, an output section 213, and a storage section 214 as functional configurations.
  • Each functional configuration is realized by the CPU 201 reading and executing a program stored in the ROM 202 or the storage 204.
  • the acquisition unit 211 acquires data from the ECU 10 and other ECUs 200 of the in-vehicle network. Specifically, the acquisition unit 211 acquires new software from the ECU 10 when the software executed by the ECU 200 is updated.
  • the control unit 212 controls the operation of the ECU 200. Specifically, when the software executed by the ECU 200 is updated, the control unit 212 performs a process of updating the software of its own device with the new software acquired by the acquisition unit 211. Furthermore, when a communication error occurs with the ECU 200 as the communication partner, the control unit 212 notifies the ECU 10 that a communication error has occurred.
  • the output unit 213 outputs data to the ECU 10 and other ECUs 200 of the in-vehicle network. Data output from the output unit 213 is performed under control from the control unit 212.
  • the storage unit 214 stores various information such as information referenced during operation of the ECU 10 and information used to control the in-vehicle network. Specifically, storage unit 214 stores software executed by ECU 200 and data referenced by the software.
  • FIG. 6 is a sequence diagram explaining the operation of each device in the communication system.
  • the CPU 11 reads a communication control program from the ROM 12 or the storage 14, expands it to the RAM 13, and executes it, thereby performing communication control processing.
  • FIG. 6 shows the operation of each device when the software executed by the ECU 200 of the in-vehicle network is updated and the communication settings of the switches 210A and 210B are changed in accordance with the software update. It is something.
  • FIG. 6 is a sequence diagram assuming a case where communication between ECU 200A and ECU 200C is started by communication settings of switches 210A and 210B before software update.
  • the OTA server 20 When updating the software executed by the ECU 200 of the in-vehicle network, the OTA server 20 first transmits software data to the vehicle 1 in step S101.
  • the software data transmitted from the OTA server 20 is first acquired by the ECU 10.
  • the ECU 10 outputs the software data acquired from the OTA server 20 to the ECU 200 to be updated.
  • the ECUs 200A and 200C are the targets of software update.
  • the ECU 10 outputs software data to the ECUs 200A and 200C to be updated.
  • ECU 200A updates the software using the software data sent from ECU 10 in step S103.
  • the ECU 200C updates the software using the software data sent from the ECU 10 in step S105.
  • the ECU 10 outputs new communication setting information in step S106.
  • the switches 210A and 210B reflect the communication settings using the communication setting information sent from the ECU 10.
  • the ECU 10 updates the communication settings of the switches 210A and 210B to enable communication between the ECU 200A and the ECU 200C by updating the software of the ECUs 200A and 200C.
  • the ECU 200A checks continuity with the ECU 200C in step S108. However, there may be cases where communication cannot be established between the ECU 200A and the ECU 200C due to reasons such as incorrect communication settings of the switches 210A and 210B. ECU 200A notifies ECU 10 that a communication error has occurred with ECU 200C in step S109.
  • step S110 the ECU 10 updates the software for the ECUs 200A and 200C and changes the communication settings of the switches 210A and 210B, thereby confirming that a communication error has occurred. is sent to the OTA server 20.
  • the ECU 10 transmits to the OTA server 20 that a communication error has occurred, it also transmits a reason code that is information about the cause of the communication error.
  • the reason code information is information indicating what kind of communication error is coming from which ECU.
  • the details of the communication error include the contents of a frame or packet that was sent to the communication partner but did not receive a response from the communication partner.
  • Communication errors include, for example, failure to confirm continuity with the communication device at the communication destination, failure to communicate at a specified cycle, failure to communicate using a specified protocol, or a specified port being open. At least one of the following is the case: communication is not possible because the
  • the OTA server 20 Upon receiving the notification that a communication error has occurred, the OTA server 20 transmits a rollback instruction to the vehicle 1 in step S111.
  • Rollback refers to returning to the software before the update.
  • the ECUs 200A and 200C return the software to the state before the update using the data of the software held before the update.
  • the ECU 10 Upon receiving the rollback instruction from the OTA server 20, the ECU 10 outputs the rollback instruction to the ECU 200 targeted for rollback.
  • the ECUs 200A and 200C are targets for software rollback.
  • the ECU 10 outputs a rollback instruction to the ECUs 200A and 200C whose software is to be rolled back.
  • ECU 200A rolls back the software based on the instruction from ECU 10 in step S113.
  • the ECU 200C rolls back the software based on the instruction from the ECU 10 in step S115.
  • the ECU 10 also instructs the switches 210A and 210B to return the communication settings to the state before the change in step S116.
  • the switches 210A and 210B return the communication settings to the state before the change.
  • the OTA server 20 When the OTA server 20 receives the occurrence of a communication error and a reason code from the ECU 10, the OTA server 20 retransmits to the vehicle 1 software that has been modified so that the communication error will not occur based on the contents of the reason code.
  • the targets for distribution of the corrected software are not limited to the ECUs 200A and 200C, but may include the ECU 200D that is unrelated to the communication error.
  • the flow from sending the software from the OTA server 20 to updating the software in the ECU 200 is the same as from step S101 to step S105 described above, and therefore a detailed explanation will be omitted. Additionally, the ECU 10 executes processing for updating the communication settings of the switches 210A and 210B in response to software updates.
  • the ECU 10 can prevent the ECU from causing a communication error by returning the communication settings of the switch whose network settings are to be changed to the state before the change.
  • the OTA server 20 distributes software, but if the OTA server 20 does not distribute software, and when the ECU 10 detects a communication abnormality by the ECU 200, the ECU 10 sends a message to the switches 210A and 210B. Execute the process to return the communication settings to the state before the change.
  • the present disclosure can also be applied to changes in communication settings when an ECU is newly connected to an in-vehicle network and the newly connected ECU is enabled to communicate with other ECUs. Further, in the above-described embodiment, an example was shown regarding changing communication settings in an in-vehicle network that is a network built in a vehicle, but the present disclosure is not limited to such an example.
  • the present disclosure can be applied to networks in general whose configurations are changed by software settings.
  • the communication control processing that the CPU reads and executes the software (program) in each of the above embodiments may be executed by various processors other than the CPU.
  • the processors include FPGA (Field-Programmable Gate Array), PLD (Programmable Logic Device) whose circuit configuration can be changed after manufacturing, and ASIC (Application Specific I).
  • FPGA Field-Programmable Gate Array
  • PLD Programmable Logic Device
  • ASIC Application Specific I
  • An example is a dedicated electric circuit that is a processor having a specially designed circuit configuration.
  • the communication control process may be executed by one of these various processors, or a combination of two or more processors of the same type or different types (for example, a combination of multiple FPGAs, and a combination of a CPU and an FPGA). etc.).
  • the hardware structure of these various processors is, more specifically, an electric circuit that is a combination of circuit elements such as semiconductor elements.
  • the communication control processing program is stored (installed) in the ROM or storage in advance, but the present invention is not limited to this.
  • the program can be installed on CD-ROM (Compact Disk Read Only Memory), DVD-ROM (Digital Versatile Disk Read Only Memory), and USB (Universal Serial Bus) recorded on a non-transitory recording medium such as memory It may be provided in the form of Further, the program may be downloaded from an external device via a network.
  • the processor includes: Performs processing related to changing network settings, outputting a notification that the change of the network settings has been completed to a communication device connected to the network; Upon receiving a communication error regarding the network communication from the communication device that performs communication in accordance with the change in the network settings based on the notification, processing is performed to return the changed network settings to the state before the change.
  • a communication control device that executes processing.
  • the communication control device according to supplementary note 2, wherein the processor notifies an external device that the change in the network settings is valid.
  • the processor restores the network settings of a communication device connected to the network that has changed the network settings that caused a communication error from the communication device to the state before the change.
  • the communication control device according to any one of Supplementary Notes 1 to 3, which performs processing for.
  • the above communication errors include failure to confirm continuity with the communication device at the communication destination, failure to communicate at a prescribed cycle, failure to communicate with a prescribed protocol, and failure to open a prescribed port. 4.
  • the communication control device according to any one of Supplementary Notes 1 to 4, wherein the communication control device is unable to perform communication due to the above.

Abstract

ネットワークの設定の変更に係る処理を行う設定部と、前記ネットワークの設定の変更が完了したことの通知を、前記ネットワークに接続されている通信装置へ出力する出力部と、前記通知に基づき前記ネットワークの設定の変更に応じた通信を行う前記通信装置から前記ネットワークの通信についての通信エラーを受信すると、変更した前記ネットワークの設定を変更前の状態に戻すための処理を行う制御部と、を備える、通信制御装置としてのECUが提供される。

Description

通信制御装置、通信制御方法及び通信制御プログラム
 本開示は、通信制御装置、通信制御方法及び通信制御プログラムに関する。
 ハードウェアの構成を変更せず、ソフトウェアによる設定によりネットワークの構成を変更するSDN(Software Defined Networking)の利用が進んでいる。例えば、特開2017-169044号公報には、ネットワークを稼働させつつ、当該ネットワークを構成する通信装置の設定更新を行うことに寄与する、設定装置が開示されている。
 ネットワークの設定を変更した後に、ネットワークに接続されている通信装置が通信相手との導通を確認する際に、正常な通信が出来ずに通信エラーとなる場合がある。
 本開示は、上記の点に鑑みてなされたものであり、ネットワークの設定を変更した後に通信エラーが発生した場合に、通信エラーが発生しないようにする通信制御装置、通信制御方法及び通信制御プログラムを提供することを目的とする。
 本開示の第1態様に係る通信制御装置は、ネットワークの設定の変更に係る処理を行う設定部と、前記ネットワークの設定の変更が完了したことの通知を、前記ネットワークに接続されている通信装置へ出力する出力部と、前記通知に基づき前記ネットワークの設定の変更に応じた通信を行う前記通信装置から前記ネットワークの通信についての通信エラーを受信すると、変更した前記ネットワークの設定を変更前の状態に戻すための処理を行う制御部と、を備える。
 本開示の第1態様によれば、ネットワークの設定を変更した後に通信エラーが発生した場合に、ネットワークの設定を変更前の状態に戻すことで、通信エラーが発生しないようにすることができる。
 本開示の第2態様に係る通信制御装置は、第1態様に係る通信制御装置であって、前記制御部は、前記ネットワークの設定の変更から、前記通信装置からの通信エラーを所定時間受信しなかった場合に、前記ネットワークの設定の変更が有効であると判断する。
 本開示の第2態様によれば、ネットワークの設定を変更してから通信異常が検出されなかった場合に、ネットワークの設定の変更が有効だとして、ネットワークの制御が可能となる。
 本開示の第3態様に係る通信制御装置は、第2態様に係る通信制御装置であって、前記制御部は、前記ネットワークの設定の変更が有効である旨を外部の装置へ通知する。
 本開示の第3態様によれば、ネットワークの設定の変更が有効であると外部の装置に認識させることができる。
 本開示の第4態様に係る通信制御装置は、第1態様~第3態様のいずれかに係る通信制御装置であって、前記制御部は、前記通信装置からの通信エラーの原因となった前記ネットワークの設定の変更を行った、前記ネットワークに接続されている通信装置に対して、前記ネットワークの設定を変更前の状態に戻すための処理を行う。
 本開示の第4態様によれば、ネットワークの設定を変更前の状態に戻す範囲を最小限にすることができる。
 本開示の第5態様に係る通信制御装置は、第1態様~第4態様のいずれかに係る通信制御装置であって、前記通信エラーは、通信先の通信装置との間の導通確認が取れないこと、所定の周期での通信が出来ないこと、所定のプロトコルで通信が出来ないこと、所定のポートが開放されていないために通信が出来ないこと、の少なくともいずれかである。
 本開示の第5態様によれば、所定の通信不可能な状態を通信エラーと判断することができる。
 本開示の第6態様に係る通信制御装置は、第1態様~第5態様のいずれかに係る通信制御装置であって、前記制御部は、前記ネットワークの設定の変更の要因となったソフトウェアを配布したサーバに対して、前記ソフトウェアを更新前の状態に戻すよう要求する。
 本開示の第6態様によれば、通信エラーが発生しない状態にソフトウェアをロールバックすることが出来る。
 本開示の第7態様に係る通信制御装置は、第1態様~第6態様のいずれかに係る通信制御装置であって、前記ネットワークに接続されている通信装置からの通信エラーの通知の有無を定期的に監視する監視部をさらに備え、前記制御部は、前記監視部による通信エラーの通知の検出に応じて前記ネットワークの設定の変更対象の通信装置に対して前記ネットワークの設定を変更前の状態に戻すための処理を行う。
 本開示の第7態様によれば、通信エラーの発生を監視し、監視の結果、通信エラーが発生するとネットワークの設定を変更前の状態に戻すことができる。
 本開示の第8態様に係る通信制御装置は、第1態様~第7態様のいずれかに係る通信制御装置であって、前記ネットワークは、車両内に構築された車載ネットワークである。
 本開示の第8態様によれば、車載ネットワークに接続された通信装置において通信異常が発生すると、ネットワークの設定を変更前の状態に戻すことができる。
 本開示の第9態様に係る通信制御方法は、プロセッサが、ネットワークの設定の変更に係る処理を行い、前記ネットワークの設定の変更が完了したことを、前記ネットワークに接続されている通信装置へ通知し、前記通知に基づき前記ネットワークの設定の変更に応じた通信を行う前記通信装置から前記ネットワークの通信についての通信エラーを受信すると、変更した前記ネットワークの設定を変更前の状態に戻すための処理を行う処理を実行する。
 本開示の第9態様によれば、ネットワークの設定を変更した後に通信エラーが発生した場合に、ネットワークの設定を変更前の状態に戻すことで、通信エラーが発生しないようにすることができる。
 本開示の第10態様に係る通信制御プログラムは、コンピュータに、ネットワークの設定の変更に係る処理を行い、前記ネットワークの設定の変更が完了したことを、前記ネットワークに接続されている通信装置へ通知し、前記通知に基づき前記ネットワークの設定の変更に応じた通信を行う前記通信装置から前記ネットワークの通信についての通信エラーを受信すると、変更した前記ネットワークの設定を変更前の状態に戻すための処理を行う処理を実行させる。
 本開示の第10態様によれば、ネットワークの設定を変更した後に通信エラーが発生した場合に、ネットワークの設定を変更前の状態に戻すことで、通信エラーが発生しないようにすることができる。
 本開示によれば、ネットワークの設定を変更した後に通信エラーが発生した場合に、ネットワークの設定を変更前に戻すことで通信エラーが発生しないようにする通信制御装置、通信制御方法及び通信制御プログラムを提供することができる。
本実施形態に係る通信システムの概略構成を示す図である。 ECUのハードウェア構成を示すブロック図である。 ECUの機能構成の例を示すブロック図である。 ECUのハードウェア構成を示すブロック図である。 ECUの機能構成の例を示すブロック図である。 通信システムの各装置の動作を説明するシーケンス図である。
 以下、本開示の実施形態の一例を、図面を参照しつつ説明する。なお、各図面において同一または等価な構成要素および部分には同一の参照符号を付与している。また、図面の寸法比率は、説明の都合上誇張されており、実際の比率とは異なる場合がある。
 図1は、本実施形態に係る通信システムの概略構成を示す図である。図1に示した通信システムは、車両1及びOTA(Over The Air)サーバ20がネットワーク30を介して接続されている構成を有する。車両1は、アンテナ2と、ECU(Electronic Control Unit)10、200A、200B、200C、200D、及びスイッチ210A、210Bを含んだ、本開示のネットワークの一例である車載ネットワークと、を有する。ECU10、200A、200B、200C、200Dと、スイッチ210A、210Bとは、それぞれイーサネット(登録商標)で接続されている。なお、ECU及びスイッチの数は図1に示した例に限定されるものでは無く、ECUとスイッチとの接続形態についても図1に示した例に限定されるものでは無い。
 ECU10は、車載ネットワーク全体を制御するECUである。ECU10は、アンテナ2を介してOTAサーバ20との間で通信を行って、様々なデータをOTAサーバ20との間でやり取りする。ECU200A、200B、200C、200Dは、それぞれ車両1の各部を制御するためのECUである。例えば、ECU200A、200B、200C、200Dは、エンジン、モータ、ブレーキ、カメラ、ライト等の車両1に搭載される機器の動作を制御する。
 また、ECU10は、車載ネットワークのハードウェアの構成を変更せず、SDN技術を用いたソフトウェアによる設定により車載ネットワークの構成を変更する。つまり、車載ネットワークの構成を変更する際に、ケーブルを抜き差ししたり、個々のスイッチ210A、210Bに対して個別に設定したりするのではなく、OpenFlow等を利用したソフトウェアによる制御でスイッチ210A、210Bを動作させる。詳細には、ECU10は、ソフトウェアによる制御で、スイッチ210A、210Bに対して各ECUから送信されたパケットの宛先を設定する。スイッチ210A、210BはECU10で設定された内容に基づいてパケットを通過させ、又は破棄する。
 OTAサーバ20は、車両1の各ECUに対してソフトウェアを更新するためのサーバである。車両1の各ECUに記憶されているソフトウェアに更新が生じた場合は、OTAサーバ20から車両1に対して更新されたソフトウェアを送信する。車両1の各ECUに記憶されているソフトウェアを更新する際は、OTAサーバ20から車両1に対して自動的にソフトウェアを送信してもよいし、車両1に乗車しているユーザからの指示に基づいてOTAサーバ20から車両1に対してソフトウェアを送信してもよい。
 車載ネットワークに接続されているECUのソフトウェアの更新が生じた際に、車載ネットワークの別のECUとの間で新たな通信を行うように、更新後のソフトウェアで指定されている場合がある。例えば、ECU200Aでソフトウェアが更新された結果、ECU200Aがスイッチ210A、210Bを経由してECU200Cと新たに通信を開始するような場合がある。ECU10は、車載ネットワークに接続されているECUのソフトウェアの更新が生じた際に、スイッチ210A、210Bの通信設定を変更する。
 しかし、ソフトウェアの更新の結果、通信エラーを起こすECUが生じる可能性がある。例えば、ECU200AがECU200Dとの通信を開始するようソフトウェアが更新され、ECU10によってスイッチ210A、210Bの通信設定が変更されたが、ECU200AがECU200Dとの間で導通試験を行っても通信が出来ない場合を考える。このような場合、ECU200AはECU200Dとの間の通信で通信エラーが起きたことをECU10に通知する。
 そこで本実施形態に係るECU10は、ソフトウェアによりスイッチ210A、210Bの通信設定を変更した結果、通信エラーが発生したECUが存在した場合は、スイッチ210A、210Bの通信設定を変更前の状態に戻す。そしてECU10は、OTAサーバ20に対してソフトウェアのロールバックを指示する。本実施形態に係るECU10は、通信エラーが発生したECUが存在すると、スイッチ210A、210Bの通信設定を変更前の状態に戻すことで、当該ECUが通信エラーを起こすことを停止できる。
 続いて、ECU10のハードウェア構成を説明する。図2は、ECU10のハードウェア構成を示すブロック図である。
 図2に示すように、ECU10は、CPU(Central Processing Unit)11、ROM(Read Only Memory)12、RAM(Random Access Memory)13、ストレージ14、第1通信インタフェース(I/F)15、及び第2通信インタフェース16を有する。各構成は、バス19を介して相互に通信可能に接続されている。
 CPU11は、中央演算処理ユニットであり、各種プログラムを実行したり、各部を制御したりする。すなわち、CPU11は、ROM12またはストレージ14からプログラムを読み出し、RAM13を作業領域としてプログラムを実行する。CPU11は、ROM12またはストレージ14に記録されているプログラムにしたがって、上記各構成の制御および各種の演算処理を行う。本実施形態では、ROM12またはストレージ14には、車両1の車載ネットワークの通信制御を行う通信制御プログラムが格納されている。
 ROM12は、各種プログラムおよび各種データを格納する。RAM13は、作業領域として一時的にプログラムまたはデータを記憶する。ストレージ14は、フラッシュメモリ等の記憶装置により構成され、オペレーティングシステムを含む各種プログラム、および各種データを格納する。
 第1通信インタフェース15は、OTAサーバ20と通信するためのインタフェースであり、たとえば、4G、5G、又はWi-Fi(登録商標)等の無線通信の規格が用いられる。第2通信インタフェース16は、ECU200A~200D等の他の機器と通信するためのインタフェースであり、たとえば、イーサネット(登録商標)等の有線通信の規格が用いられる。
 上記の通信制御プログラムを実行する際に、ECU10は、上記のハードウェア資源を用いて、各種の機能を実現する。ECU10が実現する機能構成について説明する。
 図3は、ECU10の機能構成の例を示すブロック図である。
 図3に示すように、ECU10は、機能構成として、取得部101、設定部102、制御部103、監視部104、出力部105および記憶部106を有する。各機能構成は、CPU11がROM12またはストレージ14に記憶された通信制御プログラムを読み出し、実行することにより実現される。なお、取得部101、設定部102、制御部103、監視部104、出力部105および記憶部106の機能は、複数のECUにおいて実現されてもよい。
 取得部101は、OTAサーバ20及び車載ネットワークのECU200A~200Dからデータを取得する。詳細には、取得部101は、OTAサーバ20からは、ECU200A~200Dで実行されるソフトウェアに更新が生じた場合に新しいソフトウェアを取得する。また取得部101は、ECU200A~200Dのソフトウェアの更新に応じて必要がある場合は、スイッチ210A、210Bの通信設定を変更するためのデータを取得する。
 設定部102は、ソフトウェアによる車載ネットワークの通信設定を行う。例えば、ECU200A~200Dのソフトウェアの更新に応じて必要がある場合、設定部102はスイッチ210A、210Bの通信設定を変更する。すなわち、設定部102は、ソフトウェアによる設定により、車載ネットワークの構成を変更する。設定部102が行う通信設定の変更は、例えば、ECU200の通信相手と通信できるような経路の設定、ポートの開放又は閉鎖の設定、通過させるパケットの優先度の設定、パケットのキューのサイズの設定、帯域の設定、パケットのフィルタリングの設定等がある。例えば、車載ネットワークにECU200Dが新たに追加されたような場合、設定部102は、ECU200Dと通信を行う他のECU200A~200Cに対して、ECU200Dとの間で通信が出来るための設定をスイッチ210A、210Bに対して施す。
 スイッチ210A、210Bは、例えばテーブルの形式で通信設定を保持している。スイッチ210A、210Bは、テーブルを参照して、車載ネットワークを流れるフレーム又はパケットを処理する。
 制御部103は、ECU10の動作の制御及び車載ネットワークの制御を行う。詳細には、制御部103は、ECU200A~200Dで実行されるソフトウェアに更新が生じた場合に、取得部101が取得した新しいソフトウェアを出力部105から出力させる制御を行う。また制御部103は、ECU200A~200Dのソフトウェアの更新に応じて必要がある場合は、スイッチ210A、210Bに対して、設定部102での通信設定の変更処理のために必要なデータを出力部105から出力させる制御を行う。
 監視部104は、車載ネットワークにおける通信状況を監視する。詳細には、監視部104は、車載ネットワークに接続されている各ECUから、通信エラーが通知されてきているかどうかを監視する。
 出力部105は、OTAサーバ20及び車載ネットワークの各装置へデータを出力する。出力部105からのデータの出力は、制御部103からの制御によって行われる。
 記憶部106は、ECU10の動作の際に参照される情報、車載ネットワークの制御に用いられる情報等の種々の情報を記憶する。詳細には、記憶部106は、スイッチ210A、210Bの通信設定を変更した後で、車載ネットワークのあるECUにおいて通信エラーが起きた場合に、スイッチ210A、210Bの通信設定を元の状態に戻すために、変更前の通信設定を記憶している。
 ECU200A~200Dの少なくともいずれかに対してソフトウェアの更新が行われるとともに、スイッチ210A、210Bの通信設定が変更された後に、車載ネットワークのあるECUにおいて通信エラーが起こる可能性がある。監視部104は、通信エラーの発生が通知されたことを確認すると、制御部103に対して車載ネットワークに通信エラーが起きているECU200が存在している旨を通知する。制御部103は、ソフトウェアの更新及び通信設定の変更によって、車載ネットワークに通信エラーが起きているECU200が存在していることを確認すると、OTAサーバ20に対して、更新したソフトウェアを更新前のソフトウェアに戻すロールバックを要求する。そして、OTAサーバ20からのロールバックの指示を受けると、制御部103は、記憶部106に記憶されている変更前の通信設定を読み出し、スイッチ210A、210Bの通信設定を元の状態に戻す制御を行う。
 制御部103は、スイッチ210A、210Bに対して車載ネットワークの設定を変更してから、ECU200からの通信エラーの発生通知を所定時間受信しなかった場合に、車載ネットワークの設定の変更が有効であると判断してもよい。そして、制御部103は、OTAサーバ20に対して、車載ネットワークの変更が有効であった旨の通知を行ってもよい。OTAサーバ20は、車載ネットワークの変更が有効であった旨の通知を車両1から受け取ることで、ソフトウェアの更新が正常に完了したことを把握することができる。
 ECU10は、図3に示した構成を有することで、ネットワークの設定の変更対象ではないECUが通信エラーを起こした場合に、ネットワークの設定の変更対象のスイッチ210A、210Bに対して変更前の通信設定に戻すことができる。ECU10は、スイッチ210A、210Bに対して変更前の通信設定に戻すことで、ネットワークの設定の変更対象ではないECUが通信エラーを起こさないようにすることができる。
 続いて、ECU200A~200Dのハードウェア構成を説明する。以下では、ECU200A~200Dを総称してECU200とする。図4は、ECU200のハードウェア構成を示すブロック図である。
 図4に示すように、ECU200は、CPU201、ROM202、RAM203、ストレージ204、及び通信インタフェース(I/F)205を有する。各構成は、バス209を介して相互に通信可能に接続されている。
 CPU201は、中央演算処理ユニットであり、各種プログラムを実行したり、各部を制御したりする。すなわち、CPU201は、ROM202またはストレージ204からプログラムを読み出し、RAM203を作業領域としてプログラムを実行する。CPU201は、ROM202またはストレージ204に記録されているプログラムにしたがって、上記各構成の制御および各種の演算処理を行う。
 ROM202は、各種プログラムおよび各種データを格納する。RAM203は、作業領域として一時的にプログラムまたはデータを記憶する。ストレージ204は、フラッシュメモリ等の記憶装置により構成され、オペレーティングシステムを含む各種プログラム、および各種データを格納する。
 通信インタフェース205は、ECU10及び他のECU200等の他の機器と通信するためのインタフェースであり、たとえば、イーサネット(登録商標)等の有線通信の規格が用いられる。
 上記の通信制御プログラムを実行する際に、ECU200は、上記のハードウェア資源を用いて、各種の機能を実現する。ECU200が実現する機能構成について説明する。
 図5は、ECU200の機能構成の例を示すブロック図である。
 図5に示すように、ECU200は、機能構成として、取得部211、制御部212、出力部213および記憶部214を有する。各機能構成は、CPU201がROM202またはストレージ204に記憶されたプログラムを読み出し、実行することにより実現される。
 取得部211は、車載ネットワークのECU10及び他のECU200からデータを取得する。詳細には、取得部211は、ECU10からは、ECU200で実行されるソフトウェアに更新が生じた場合に新しいソフトウェアを取得する。
 制御部212は、ECU200の動作の制御を行う。詳細には、制御部212は、ECU200で実行されるソフトウェアに更新が生じた場合に、取得部211が取得した新しいソフトウェアで自装置のソフトウェアを更新する処理を行う。また、制御部212は、通信相手のECU200との間の通信エラーが発生した場合は、通信エラーが起きたことをECU10へ通知する。
 出力部213は、車載ネットワークのECU10及び他のECU200へデータを出力する。出力部213からのデータの出力は、制御部212からの制御によって行われる。
 記憶部214は、ECU10の動作の際に参照される情報、車載ネットワークの制御に用いられる情報等の種々の情報を記憶する。詳細には、記憶部214は、ECU200で実行されるソフトウェア及び当該ソフトウェアが参照するデータを記憶する。
 次に、通信システムの作用について説明する。
 図6は、通信システムの各装置の動作を説明するシーケンス図である。ECU10においては、CPU11がROM12又はストレージ14から通信制御プログラムを読み出して、RAM13に展開して実行することにより、通信制御処理が行なわれる。
 図6に示したシーケンス図は、車載ネットワークのECU200で実行されるソフトウェアが更新されるとともに、ソフトウェアの更新に応じてスイッチ210A、210Bの通信設定が変更される場合の各装置の動作を示したものである。図6は、ソフトウェアの更新前は、スイッチ210A、210Bの通信設定によってECU200AとECU200Cとの間での通信が開始される場合を想定したシーケンス図である。
 車載ネットワークのECU200で実行されるソフトウェアを更新する際には、まずOTAサーバ20は、ステップS101において、車両1に対してソフトウェアのデータを送信する。OTAサーバ20から送信されたソフトウェアのデータはまずECU10が取得する。ECU10は、OTAサーバ20から取得したソフトウェアのデータを更新対象のECU200に出力する。ここでは、ECU200A、200Cがソフトウェアの更新対象であるとする。ECU10は、ステップS102及びS104において、ソフトウェアの更新対象のECU200A、200Cにソフトウェアのデータを出力する。ECU200Aは、ステップS103において、ECU10から送られてきたソフトウェアのデータを用いてソフトウェアを更新する。同様に、ECU200Cは、ステップS105において、ECU10から送られてきたソフトウェアのデータを用いてソフトウェアを更新する。
 また、ECU10は、ソフトウェアの更新に応じてスイッチ210A、210Bの通信設定を更新するため、ステップS106において新しい通信設定の情報を出力する。スイッチ210A、210Bは、ステップS107において、ECU10から送られてきた通信設定の情報を用いて通信設定を反映する。例えば、ECU10は、ECU200A、200Cのソフトウェアの更新によって、ECU200AとECU200Cとの間で通信を可能とするようにスイッチ210A、210Bの通信設定を更新する。
 スイッチ210A、210Bの通信設定が更新されることで、ECU200AとECU200Cとの間で通信が可能となるはずである。そこで、ECU200Aは、ステップS108においてECU200Cとの間で導通確認を行う。しかし、スイッチ210A、210Bの通信設定の内容が誤っている等の理由で、ECU200AとECU200Cとの間で通信が出来ない場合があり得る。ECU200Aは、ステップS109においてECU200Cとの間で通信エラーが発生したことを、ECU10に通知する。
 ECU10は、ECU200Aから送られた通信エラーの発生通知を取得すると、ステップS110において、ECU200A、200Cに対してソフトウェアを更新し、スイッチ210A、210Bの通信設定を変更した結果、通信エラーが発生したことをOTAサーバ20に送信する。ECU10は、通信エラーが発生したことをOTAサーバ20に送信する際に、通信エラーが発生した原因の情報であるリーズンコードを併せて送信する。リーズンコードの情報は、どのECUからのどのような通信エラーであるかを示す情報である。通信エラーの内容は、詳細には、通信相手へ送信したが該通信相手から応答が来なかった、フレーム又はパケットの内容等がある。通信エラーの内容は、例えば、通信先の通信装置との間の導通確認が取れないこと、所定の周期での通信が出来ないこと、所定のプロトコルで通信が出来ないこと、所定のポートが開放されていないために通信が出来ないこと、の少なくともいずれかである。
 通信エラーが発生したことを受信したOTAサーバ20は、ステップS111において、車両1に対してロールバックの指示を送信する。ロールバックは、更新前のソフトウェアに戻すことをいう。OTAサーバ20からロールバックの指示が送信された場合は、ECU200A、200Cは、保持していた更新前のソフトウェアのデータを用いてソフトウェアを更新前の状態に戻す。
 ECU10は、OTAサーバ20からロールバックの指示を受信すると、ロールバック対象のECU200にロールバックの指示を出力する。ここでは、ECU200A、200Cがソフトウェアのロールバック対象である。ECU10は、ステップS112及びS114において、ソフトウェアのロールバック対象のECU200A、200Cにロールバックの指示を出力する。ECU200Aは、ステップS113において、ECU10からの指示に基づいてソフトウェアをロールバックする。同様に、ECU200Cは、ステップS115において、ECU10からの指示に基づいてソフトウェアをロールバックする。また、ECU10は、ソフトウェアのロールバックと共に、ステップS116において、スイッチ210A、210Bに対して通信設定を変更前の状態に戻すよう指示する。スイッチ210A、210Bは、ステップS117において、通信設定を変更前の状態に戻す。
 OTAサーバ20は、ECU10から通信エラーの発生及びリーズンコードを受信すると、リーズンコードの内容に基づき、通信エラーが発生しないように修正されたソフトウェアを改めて車両1に送信する。ここで、修正されたソフトウェアの配布対象は、ECU200A、200Cに限らず、通信エラーとは関係が無いECU200Dが含まれていてもよい。OTAサーバ20からのソフトウェアの送信から、ECU200でソフトウェアが更新されるまでの流れは、上述のステップS101からステップS105までと同様であるため、詳細な説明は割愛する。また、ECU10は、ソフトウェアの更新に応じて、スイッチ210A、210Bの通信設定を更新するための処理を実行する。
 以上説明したように、本開示の実施形態によれば、ネットワークの設定の変更後にECUが通信エラーを起こした場合に、ネットワークの設定の変更対象のスイッチの通信設定を変更前の状態に戻すことができる。ECU10は、ネットワークの設定の変更対象のスイッチの通信設定を変更前の状態に戻すことで、ECUが通信エラーを起こさないようにすることができる。
 上述の実施形態では、OTAサーバ20がソフトウェアを配布する場合を示したが、OTAサーバ20がソフトウェアを配布しない場合、ECU10は、ECU200による通信異常の検出を取得すると、スイッチ210A、210Bに対して通信設定を変更前の状態に戻す処理を実行する。
 本開示は、車載ネットワークに新たにECUが接続され、当該新たに接続されたECUが他のECUと通信を可能にするための通信設定の変更にも適用が可能である。また、上述の実施形態では、車両内に構築されているネットワークである車載ネットワークにおける通信設定の変更に関する例を示したが、本開示は係る例に限定されるものでは無い。本開示は、ソフトウェアによる設定により構成を変更するネットワーク全般について適用することが可能である。
 なお、上記各実施形態でCPUがソフトウェア(プログラム)を読み込んで実行した通信制御処理を、CPU以外の各種のプロセッサが実行してもよい。この場合のプロセッサとしては、FPGA(Field-Programmable Gate Array)等の製造後に回路構成を変更可能なPLD(Programmable Logic Device)、及びASIC(Application Specific Integrated Circuit)等の特定の処理を実行させるために専用に設計された回路構成を有するプロセッサである専用電気回路等が例示される。また、通信制御処理を、これらの各種のプロセッサのうちの1つで実行してもよいし、同種又は異種の2つ以上のプロセッサの組み合わせ(例えば、複数のFPGA、及びCPUとFPGAとの組み合わせ等)で実行してもよい。また、これらの各種のプロセッサのハードウェア的な構造は、より具体的には、半導体素子等の回路素子を組み合わせた電気回路である。
 また、上記各実施形態では、通信制御処理のプログラムがROMまたはストレージに予め記憶(インストール)されている態様を説明したが、これに限定されない。プログラムは、CD-ROM(Compact Disk Read Only Memory)、DVD-ROM(Digital Versatile Disk Read Only Memory)、及びUSB(Universal Serial Bus)メモリ等の非一時的(non-transitory)記録媒体に記録された形態で提供されてもよい。また、プログラムは、ネットワークを介して外部装置からダウンロードされる形態としてもよい。
(付記項1)
 プロセッサを備え、
 前記プロセッサは、
 ネットワークの設定の変更に係る処理を行い、
 前記ネットワークの設定の変更が完了したことの通知を、前記ネットワークに接続されている通信装置へ出力し、
 前記通知に基づき前記ネットワークの設定の変更に応じた通信を行う前記通信装置から前記ネットワークの通信についての通信エラーを受信すると、変更した前記ネットワークの設定を変更前の状態に戻すための処理を行う
処理を実行する、通信制御装置。
(付記項2)
 前記プロセッサは、前記ネットワークの設定の変更から、前記通信装置からの通信エラーを所定時間受信しなかった場合に、前記ネットワークの設定の変更が有効であると判断する、付記項1に記載の通信制御装置。
(付記項3)
 前記プロセッサは、前記ネットワークの設定の変更が有効である旨を外部の装置へ通知する、付記項2に記載の通信制御装置。
(付記項4)
 前記プロセッサは、前記通信装置からの通信エラーの原因となった前記ネットワークの設定の変更を行った、前記ネットワークに接続されている通信装置に対して、前記ネットワークの設定を変更前の状態に戻すための処理を行う、付記項1~3のいずれか1項に記載の通信制御装置。
(付記項5)
 前記通信エラーは、通信先の通信装置との間の導通確認が取れないこと、所定の周期での通信が出来ないこと、所定のプロトコルで通信が出来ないこと、所定のポートが開放されていないために通信が出来ないこと、の少なくともいずれかである、付記項1~4のいずれか1項に記載の通信制御装置。
(付記項6)
 前記プロセッサは、前記ネットワークの設定の変更の要因となったソフトウェアを配布したサーバに対して、前記ソフトウェアを更新前の状態に戻すよう要求する、付記項1~5のいずれか1項に記載の通信制御装置。
(付記項7)
 前記ネットワークに接続されている通信装置からの通信エラーの通知の有無を定期的に監視する監視部をさらに備え、
 前記制御部は、前記監視部による通信エラーの通知の検出に応じて前記ネットワークの設定の変更対象の通信装置に対して前記ネットワークの設定を変更前の状態に戻すための処理を行う、付記項1~6のいずれか1項に記載の通信制御装置。
(付記項8)
 前記ネットワークは、車載ネットワークである、付記項1~7のいずれか1項に記載の通信制御装置。
 日本出願特願2022-037539号の開示はその全体が参照により本明細書に取り込まれる。
 本明細書に記載された全ての文献、特許出願、及び技術規格は、個々の文献、特許出願、及び技術規格が参照により取り込まれることが具体的かつ個々に記された場合と同程度に、本明細書中に参照により取り込まれる。

Claims (10)

  1.  ネットワークの設定の変更に係る処理を行う設定部と、
     前記ネットワークの設定の変更が完了したことの通知を、前記ネットワークに接続されている通信装置へ出力する出力部と、
     前記通知に基づき前記ネットワークの設定の変更に応じた通信を行う前記通信装置から前記ネットワークの通信についての通信エラーを受信すると、変更した前記ネットワークの設定を変更前の状態に戻すための処理を行う制御部と、
    を備える、通信制御装置。
  2.  前記制御部は、前記ネットワークの設定の変更から、前記通信装置からの通信エラーを所定時間受信しなかった場合に、前記ネットワークの設定の変更が有効であると判断する、請求項1に記載の通信制御装置。
  3.  前記制御部は、前記ネットワークの設定の変更が有効である旨を外部の装置へ通知する、請求項2に記載の通信制御装置。
  4.  前記制御部は、前記通信装置からの通信エラーの原因となった前記ネットワークの設定の変更を行った、前記ネットワークに接続されている通信装置に対して、前記ネットワークの設定を変更前の状態に戻すための処理を行う、請求項1~3のいずれか1項に記載の通信制御装置。
  5.  前記通信エラーは、通信先の通信装置との間の導通確認が取れないこと、所定の周期での通信が出来ないこと、所定のプロトコルで通信が出来ないこと、所定のポートが開放されていないために通信が出来ないこと、の少なくともいずれかである、請求項1~4のいずれか1項に記載の通信制御装置。
  6.  前記制御部は、前記ネットワークの設定の変更の要因となったソフトウェアを配布したサーバに対して、前記ソフトウェアを更新前の状態に戻すよう要求する、請求項1~5のいずれか1項に記載の通信制御装置。
  7.  前記ネットワークに接続されている通信装置からの通信エラーの通知の有無を定期的に監視する監視部をさらに備え、
     前記制御部は、前記監視部による通信エラーの通知の検出に応じて前記ネットワークの設定の変更対象の通信装置に対して前記ネットワークの設定を変更前の状態に戻すための処理を行う、請求項1~6のいずれか1項に記載の通信制御装置。
  8.  前記ネットワークは、車載ネットワークである、請求項1~7のいずれか1項に記載の通信制御装置。
  9.  プロセッサが、
     ネットワークの設定の変更に係る処理を行い、
     前記ネットワークの設定の変更が完了したことを、前記ネットワークに接続されている通信装置へ通知し、
     前記通知に基づき前記ネットワークの設定の変更に応じた通信を行う前記通信装置から前記ネットワークの通信についての通信エラーを受信すると、変更した前記ネットワークの設定を変更前の状態に戻すための処理を行う
     処理を実行する、通信制御方法。
  10.  コンピュータに、
     ネットワークの設定の変更に係る処理を行い、
     前記ネットワークの設定の変更が完了したことを、前記ネットワークに接続されている通信装置へ通知し、
     前記通知に基づき前記ネットワークの設定の変更に応じた通信を行う前記通信装置から前記ネットワークの通信についての通信エラーを受信すると、変更した前記ネットワークの設定を変更前の状態に戻すための処理を行う
     処理を実行させる、通信制御プログラム。
PCT/JP2023/004646 2022-03-10 2023-02-10 通信制御装置、通信制御方法及び通信制御プログラム WO2023171242A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2022-037539 2022-03-10
JP2022037539A JP2023132307A (ja) 2022-03-10 2022-03-10 通信制御装置、通信制御方法及び通信制御プログラム

Publications (1)

Publication Number Publication Date
WO2023171242A1 true WO2023171242A1 (ja) 2023-09-14

Family

ID=87936636

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2023/004646 WO2023171242A1 (ja) 2022-03-10 2023-02-10 通信制御装置、通信制御方法及び通信制御プログラム

Country Status (2)

Country Link
JP (1) JP2023132307A (ja)
WO (1) WO2023171242A1 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013232767A (ja) * 2012-04-27 2013-11-14 Seiko Epson Corp 通信装置,画像形成装置,情報処理方法及びそのプログラム
JP2017079369A (ja) * 2015-10-19 2017-04-27 トヨタ自動車株式会社 車両システムおよび認証方法
JP2020047992A (ja) * 2018-09-14 2020-03-26 株式会社デンソー 車両用中継装置
JP2020201986A (ja) * 2020-09-03 2020-12-17 日立オートモティブシステムズ株式会社 ソフトウェア更新装置、ソフトウェア更新方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013232767A (ja) * 2012-04-27 2013-11-14 Seiko Epson Corp 通信装置,画像形成装置,情報処理方法及びそのプログラム
JP2017079369A (ja) * 2015-10-19 2017-04-27 トヨタ自動車株式会社 車両システムおよび認証方法
JP2020047992A (ja) * 2018-09-14 2020-03-26 株式会社デンソー 車両用中継装置
JP2020201986A (ja) * 2020-09-03 2020-12-17 日立オートモティブシステムズ株式会社 ソフトウェア更新装置、ソフトウェア更新方法

Also Published As

Publication number Publication date
JP2023132307A (ja) 2023-09-22

Similar Documents

Publication Publication Date Title
CN109344014B (zh) 一种主备切换方法、装置及通信设备
US20090257431A1 (en) Global broadcast communication system
US10560550B1 (en) Automatic configuration of a replacement network device in a high-availability cluster
JP2011131762A (ja) データ中継用制御装置および車両制御システム
EP3316555B1 (en) Mac address synchronization method, device and system
CN107070731B (zh) 一种主从仲裁方法及系统
KR20150088559A (ko) 네트워크의 장애를 복구하는 방법 및 장치
CN107508694B (zh) 一种集群内的节点管理方法及节点设备
US10250406B2 (en) Communication system for allowing one of multiple nodes connected via a network to control hardware of another node by transmitting interrupt data
WO2016095344A1 (zh) 链路切换方法、装置及线卡
CN111989898A (zh) 车载通信系统、交换机装置、通信控制方法和通信控制程序
CN107948063B (zh) 一种建立聚合链路的方法和接入设备
WO2023171242A1 (ja) 通信制御装置、通信制御方法及び通信制御プログラム
CN108667640B (zh) 通信方法及设备、网络接入系统
KR101750673B1 (ko) 리던던트 시스템 및 통신 유닛
JP2023132284A (ja) 通信制御装置、通信制御方法及び通信制御プログラム
US11349685B2 (en) Relay device
EP3364618A1 (en) Data processing method and device
US11599678B2 (en) Method for ensuring the integrity of data to ensure operational safety and vehicle-to-X device
JP2023132285A (ja) 通信制御システム、通信制御方法及び通信制御プログラム
JP2017114406A (ja) ネットワークシステム
US20210029061A1 (en) A control apparatus, in-vehicle communication system, monitoring method and program
JP5335869B2 (ja) 制御システム
WO2024101115A1 (ja) 車載装置、機能制御方法および機能制御プログラム
CN113055286B (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: 23766422

Country of ref document: EP

Kind code of ref document: A1