WO2018078805A1 - 車載ゲートウェイ装置を用いた移動体のソフトウェア更新システム - Google Patents
車載ゲートウェイ装置を用いた移動体のソフトウェア更新システム Download PDFInfo
- Publication number
- WO2018078805A1 WO2018078805A1 PCT/JP2016/082092 JP2016082092W WO2018078805A1 WO 2018078805 A1 WO2018078805 A1 WO 2018078805A1 JP 2016082092 W JP2016082092 W JP 2016082092W WO 2018078805 A1 WO2018078805 A1 WO 2018078805A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- software
- vehicle
- reception
- log information
- update
- Prior art date
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60R—VEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
- B60R16/00—Electric 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/02—Electric 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/023—Electric 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4411—Configuring for operating with peripheral devices; Loading of device drivers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
Definitions
- Embodiments of the present invention relate to a software update technique executed on a mobile body via an in-vehicle gateway device provided in the mobile body such as a vehicle.
- the entire vehicle is managed by a vehicle control system.
- the vehicle control system controls a vehicle by executing a plurality of control programs.
- Software used in the vehicle control system may be appropriately updated (installation of a correction program or / and a new program).
- the software update can be performed by data communication via a network, or at a dealer or a factory.
- a software update system is a system for updating software executed in a predetermined system for controlling a mobile body.
- the in-vehicle gateway device provided in the mobile body and connected to the predetermined system; and a network And a software updating device connected to the in-vehicle gateway device via the.
- the software update device performs a distribution control for distributing the software to the in-vehicle gateway device, a first storage unit that stores distribution-side log information related to the software distributed to the in-vehicle gateway device, and the in-vehicle gateway device.
- a software update control unit that receives the reception OK or reception NG of the software from and records it in the distribution-side log information.
- the in-vehicle gateway device corresponds to the distribution side log information, and stores the mobile side log information in which the reception OK or reception NG of the software distributed from the software update device is recorded;
- a software update management unit that records the reception OK or reception NG in the mobile-side log information based on the reception result of the software and transmits the reception OK or reception NG on the mobile side to the software update device; .
- the software update management unit refers to the mobile-side log information and permits the software update to the predetermined system when the reception history of the software is the reception OK.
- FIG. 1 is a network configuration diagram inside and outside a vehicle to which an in-vehicle gateway device of a first embodiment is applied. It is a figure which shows the structural block of the vehicle-mounted gateway apparatus of 1st Embodiment. It is a figure which shows the structural block of the software update apparatus of 1st Embodiment. It is a figure which shows an example of the software management information of the Tree structure with respect to the some mobile body of 1st Embodiment. It is a figure for demonstrating the specific key of the moving body based on the group key encryption system of 1st Embodiment.
- FIG. 1 is a schematic diagram of a software update system according to the first embodiment.
- the software update system of the present embodiment is a software update system that is executed by a mobile body and used for control of the mobile body.
- a vehicle is described as an example of the moving body.
- the present invention can also be applied to other moving bodies (such as trains, robots or flying bodies operated automatically or wirelessly).
- the mobile unit is provided with an in-vehicle gateway device 200 (hereinafter referred to as an in-vehicle GW device), and is connected to the software update device 100 via a predetermined network.
- the software updating apparatus 100 distributes software composed of one or a plurality of program modules to a plurality of mobile units.
- the mobile body receives the software distributed from the software updating apparatus 100 via the in-vehicle GW apparatus 200, and updates the software executed on the mobile body and the software used for controlling the mobile body.
- the software distributed to the mobile object can include, for example, parameters, various data, procedures, and the like for controlling the execution of each program module in addition to the program module such as a control program.
- FIG. 2 is a network configuration diagram of the inside and outside of a moving body to which the in-vehicle GW apparatus 200 is applied.
- the in-vehicle GW apparatus 200 provided in the moving body performs update control of software distributed from the software update apparatus 100 (software reception control and software update execution control).
- the in-vehicle GW apparatus 200 is an in-vehicle device that is directly connected to an in-vehicle data source or connected to an in-vehicle network to which the data source is connected.
- the in-vehicle GW apparatus 200 can be connected to a network outside the vehicle, and is configured as a network node that relays between the inside and outside the vehicle.
- the in-vehicle GW apparatus 200 includes each communication interface for wireless communication complying with a wireless LAN standard such as Wi-Fi via an access point and mobile phone communication such as 3G or LTE (Long Term Evolution) relaying a base station. ing.
- the in-vehicle GW apparatus 200 can be connected to an external network outside the vehicle through a plurality of communication paths (external communication methods).
- the outside-vehicle network is, for example, an IP (Internet Protocol) network.
- the in-vehicle GW apparatus 200 can be connected to the software update apparatus 100 via the IP network.
- the in-vehicle GW apparatus 200 can perform data communication with the software update apparatus 100 and can transmit a mobile log file (including information to be written to the log file), which will be described later, to the software update apparatus 100. Can do.
- data communication can be performed with an external service system other than the software update device 100, and various data acquired from an in-vehicle data source can be transmitted to the software update device 100 or a predetermined external service system.
- the in-vehicle GW apparatus 200 can also be connected to an external network via a portable information terminal equipped with a Wi-Fi or 3G / LTE communication interface.
- the in-vehicle GW apparatus 200 can be connected to a portable information terminal by USB, or by short-range communication based on a standard such as wireless communication or Bluetooth (registered trademark) / NFC.
- the portable information terminal is a mobile device having a communication function such as a multi-function mobile phone such as a smartphone, a mobile phone, and a tablet terminal.
- the in-vehicle GW apparatus 200 can be connected to a data source in the vehicle directly or via an existing in-vehicle network.
- Data sources include, for example, microphones (sound collectors), sensor devices such as human sensors and vital sensors worn by users, drive recorders equipped with cameras (imaging devices), and in-vehicle cameras such as in-car cameras
- in-vehicle information terminals such as navigation systems equipped with display means such as liquid crystal display devices, and in-vehicle LANs.
- the in-vehicle LAN is connected to the vehicle control system 300, multimedia audio devices, and the like, and these are data sources.
- the in-vehicle GW apparatus 200 performs data communication using a different communication method for each data source according to the communication method provided in each data source or in-vehicle network.
- the sensor device performs data communication by short-range wireless communication.
- the in-vehicle camera performs data communication by serial (UART) communication (RS232C, RS422, RS485) connected to the in-vehicle GW apparatus 200 with a cable.
- the in-vehicle information terminal performs data communication by Ethernet communication connected by a LAN cable.
- the in-vehicle LAN has an in-vehicle network built in a communication method such as CAN (controller area network), FlexRay, LIN, and MOST (media oriented systems transport).
- the in-vehicle GW apparatus 200 is connected to each of one or a plurality of in-vehicle networks constituting the in-vehicle LAN, and performs data communication by each communication method.
- FIG. 3 is a diagram illustrating a configuration block of the in-vehicle GW apparatus 200.
- the in-vehicle GW apparatus 200 includes, as a hardware configuration, a communication device 210 that configures a communication interface with each data source and a portable information terminal, and a control device 220 that controls the entire in-vehicle GW apparatus 200. .
- the communication device 210 includes an in-vehicle communication (internal communication) interface 211 such as Ethernet, CAN, UART, USB, and short-range wireless communication, and an out-of-vehicle communication (external communication) interface 212 such as wireless communication and mobile phone communication.
- the in-vehicle communication interface 211 can include a wireless communication function with the portable information terminal and a connection interface such as a USB.
- the control device 220 is configured to include each functional unit that operates mainly by software. First, the control device 220 can control each data source. For example, sensor control (operation and data detection) of the sensor device, shooting control (including video output control) of the in-vehicle camera, and terminal control of the in-vehicle information terminal can be performed.
- sensor control operation and data detection
- shooting control including video output control
- terminal control of the in-vehicle information terminal can be performed.
- control device 220 can output data received from the external network to each data source, or control each data source based on the received data.
- one or both data sources can be controlled between data sources. For example, it is possible to perform control for displaying detection data acquired by a sensor device or video captured by an in-vehicle camera on a display of the in-vehicle information terminal.
- the control device 220 of this embodiment includes an in-vehicle communication control unit 221, an out-of-vehicle communication control unit 222, a gateway control unit (GW control unit) 223, a software update management unit 224, and a storage unit 225.
- GW control unit gateway control unit
- the in-vehicle GW apparatus 200 is installed with respective device drivers such as wireless communication, mobile phone communication, UART, USB, and short-range wireless communication.
- the in-vehicle communication control unit 221 and the out-of-vehicle communication control unit 222 perform communication control via the in-vehicle communication interface 211 and the out-of-vehicle communication interface 212 through each device driver.
- the in-vehicle communication control unit 221 can also control communication with, for example, an in-vehicle LAN (vehicle control system 300) without using a device driver.
- outside-vehicle communication control unit 222 can perform access point registration processing for wireless communication such as Wi-Fi.
- the out-of-vehicle communication control unit 222 can detect and register access points at various places as the vehicle physically moves.
- the GW control unit 223 includes a network control unit 223A and a communication control unit 223B.
- the network control unit 223A includes a routing control unit 2231, a protocol conversion unit 2232, and a security unit 2233.
- the routing control unit 2231 includes routing control when data collected from each data source (including the vehicle control system 300 via the in-vehicle LAN) is transmitted to the outside network, and data received from the outside network is each data source. Performs routing control when transmitting to. It also performs routing control in data communication between data sources in the in-vehicle network.
- the protocol conversion unit 2232 performs a protocol conversion process between different communication methods corresponding to each data source.
- a communication method for each data source can be stored in advance as a protocol conversion table. For example, protocol conversion is performed when data received from an external network is transmitted to a data source.
- the security unit 2233 performs communication setting and communication processing of SSL (Secure Sockets Layer) / TLS (Transport Layer Layer Security) protocol. SSL / TLS communication can be set for each data source, and the security unit 2233 checks whether SSL / TLS is set and performs encryption processing when data is transmitted from the in-vehicle network to the external network. be able to.
- SSL Secure Sockets Layer
- TLS Transport Layer Layer Security
- the communication control unit 223B includes a communication state monitoring unit 2234, a communication path selection unit 2235, a monitoring control unit 2236, and a Config setting control unit 2237. Based on the Config setting information, the communication control unit 223B can perform communication route selection control, data monitoring control, and data transmission control for transmitting data collected from the data source to the external network.
- the communication path selection unit 2235 can perform communication path selection control based on the communication connection config setting information.
- the communication connection Config setting information includes a communication path setting at the time of data reception from the outside network to the in-vehicle network and a communication path setting at the time of data transmission from the in-vehicle network to the outside network.
- the in-vehicle GW apparatus 200 of this embodiment is mounted on a moving body such as a vehicle. For this reason, for example, the in-vehicle GW apparatus 200 is assigned a dynamic IP address as a network node. The in-vehicle GW apparatus 200 actively connects to and establishes a connection with the software update apparatus 100 in the outside-vehicle network when transmitting and receiving data.
- the communication connection settings include automatic setting and / or priority setting.
- the in-vehicle GW apparatus 200 can be connected to a network outside the vehicle through a plurality of communication method paths. For example, one of the three routes of Wi-Fi, via a portable information terminal, and 3G / LTE can be selected, and priority can be set for the three routes. Also, the priority of “automatic” can be arbitrarily determined in advance, for example, Wi-fi> via mobile information terminal> 3G / LTE.
- Communication connection settings can be set for the type of data received. For example, the priority of the communication path is changed between the software distributed from the software update apparatus 100 and the data distributed from the other system, or the communication path is determined depending on the data capacity of the software distributed from the software update apparatus 100 You can change the priority.
- automatic setting and / or priority setting can be similarly performed in a communication path for uploading vehicle information acquired from the vehicle control system 300 and a communication path for updating video and images taken by an in-vehicle camera. .
- the communication connection config setting includes URL designation (registration) of the software update device 100 that is a connection destination of the outside-vehicle network.
- a plurality of software updating apparatuses 100 can be provided at a plurality of bases. In this case, each URL of the software update device 100 at each site can be registered. The same applies to the external service system.
- the communication connection config setting includes a setting for valid / invalid of each of a plurality of communication paths used by the in-vehicle GW apparatus 200.
- Wi-Fi communication use settings, 3G / LTE communication use settings, and portable information terminal communication use settings can be set to valid (ON) / invalid (OFF).
- the in-vehicle GW apparatus 200 acquires communication connection config setting information after activation, and performs communication connection processing for a communication path whose connection flag is ON.
- the connection flag is valid (ON) / invalid (OFF) in the communication use setting of each communication method.
- control is performed so as to maintain communication connections of all the plurality of communication paths. That is, regardless of the monitoring control and data collection / transmission control of the in-vehicle GW apparatus 200, control is performed so as to always maintain the connection state for all the plurality of communication paths whose connection flags are ON.
- an appropriate communication path is selected based on the Config setting according to the communication state of each communication path, and data communication is performed with the network outside the vehicle.
- the communication status monitoring unit 2234 monitors the communication status (connected / blocked) of the communication path whose connection flag is ON.
- the communication state monitoring unit 2234 outputs the communication state of each communication path to the communication control unit 223B.
- the communication state monitoring unit 2234 checks whether or not there is a connection state monitoring end signal (for example, an ignition switch OFF signal of the vehicle).
- a connection state monitoring end signal for example, an ignition switch OFF signal of the vehicle.
- the communication control unit 223B continues to monitor the communication state when it is determined that the communication path whose connection flag is ON is not blocked.
- the communication control unit 223B performs the communication connection process again for the communication path whose connection flag is ON and is interrupted.
- all the communication paths being connected are blocked.
- the monitoring control unit 2236 can monitor data output from each data source, and can also set Config setting information used by the monitoring control unit 2236.
- the in-vehicle LANConfig setting information includes setting information such as a cycle in which vehicle information acquired from the vehicle control system 300 is uploaded to an external network (external system), an average vehicle speed threshold, and a driving time threshold.
- the sensor device can measure or / and calculate, for example, the user's heart rate, pulse interval, blood pressure, and the like and output the measured value to the in-vehicle GW apparatus 100.
- the sensor device Config setting information includes setting information such as a vital information transfer (upload) cycle, a heart rate transfer threshold, and a heart rate abnormality threshold.
- the monitoring control unit 2236 performs monitoring control based on the Config setting information set for each data source, for example.
- the data source can output time-sequential data to the in-vehicle GW apparatus 200.
- the monitoring control based on the Config setting information monitors the data collected from the data source. For example, when the data exceeding the threshold is detected, the abnormality detection control for detecting the occurrence of the abnormality and the data collected from the data source are used. And data collection / transmission control to be transmitted to the outside network.
- the monitoring control unit 2236 performs abnormality detection for each data source for data output from the data source, and when an abnormality is detected, for example, a notification process for displaying that the abnormality is detected on the in-vehicle information terminal It can be performed.
- the monitoring control can be performed by confirming the presence or absence of a signal for ending the monitoring control of the data source, such as the OFF signal of the ignition switch of the vehicle, as in the communication state monitoring.
- Config setting information can be set in advance on the external service system side, or can be set by the user connecting to the external service system.
- the in-vehicle GW apparatus 200 can be activated by receiving power supply from a vehicle battery or the like in conjunction with ON / OFF of an ignition switch of the vehicle, for example.
- the in-vehicle GW apparatus 200 can acquire Config setting information by connecting to an external service system at the time of activation. At this time, the in-vehicle GW apparatus 200 can perform a communication route selection process based on the communication connection config setting information.
- the Config setting control unit 2237 sets (updates) the Config setting information input from the external service system to the control device 220 in the storage unit 225 so that the communication path selection unit 2235 and the monitoring control unit 2236 can use them.
- data communication between the in-vehicle GW apparatus 200 and the software update apparatus 100 is performed by using both a user identification ID set in advance and a solid identifier (for example, a MAC address) of the vehicle GW apparatus 200 to perform authentication. It can be carried out.
- the in-vehicle GW apparatus 200 performs control so that a solid identifier is included in data communication with the software update apparatus 100.
- the storage unit 225 stores various types of data processed by the control device 220 including the software update management unit 224, information used for each processing, data and information received from the network outside the vehicle, and the like.
- the storage unit 225 is built in the in-vehicle GW device 200, but the storage unit 225 may be externally attached to the in-vehicle GW device 200, for example.
- the in-vehicle GW apparatus 200 is connected to the vehicle control system 300 via the in-vehicle LAN, and receives software executed by a control apparatus such as a vehicle ECU configuring the vehicle control system 300 from the software update apparatus 100.
- the software update apparatus 100 can distribute not only software for updating existing software on a mobile body but also new software executed on the mobile body.
- the software update apparatus 100 can be executed on the mobile body. Therefore, it is positioned as a management device that performs distribution management of software used for control of a mobile object.
- FIG. 4 is a diagram showing a configuration block of the software update device 100 of the present embodiment.
- the software update device 100 includes a communication device 110, a control device 120, and a storage device 130.
- the communication device 110 controls data communication and connection with the in-vehicle GW device 200 of the mobile body.
- the communication device 110 communicates with the in-vehicle GW device 200 according to a wireless LAN standard such as Wi-Fi via an access point, and a portable device such as 3G or LTE (Long Term Evolution) relaying a base station. Telephone communication can be performed.
- the software update device 100 can be connected to the mobile in-vehicle GW device 200 through a plurality of communication paths.
- the update software can be distributed through an IP (Internet Protocol) network.
- the control device 120 includes a software management unit (SW management unit) 121, a key management unit 122, and a software update control unit (SW update control unit) 123.
- SW management unit software management unit
- key management unit 122 key management unit
- SW update control unit software update control unit
- the software update system distributes software used for controlling each mobile object to a plurality of mobile objects.
- FIG. 5 is a diagram illustrating an example of software management information having a tree structure for a plurality of moving objects.
- the vehicle control system includes a plurality of control systems, and hardware operation control by software is performed in each control system.
- These control systems are, for example, commonly used among different vehicle types or commonly used in each year of the vehicle. Conversely, there may be differences between the same model and the same model year.
- the software used for the control of the vehicle control system needs to be associated with the software used for each of the plurality of control systems and with the vehicle to which the software is applied. Management is extremely complex. Therefore, in this embodiment, as shown in the example of FIG. 5, the control system, the software used in the control system, the vehicle type to which the software is applied, the model year, and the vehicle body number are used as the nodes, and the nodes are connected in a tree structure. Group management.
- the SW management unit 121 receives input of attributes (vehicle type, model year, body number, etc.) of each of the plurality of moving objects and information regarding each software used in the control system of each moving object, and each node illustrated in FIG. And a group management function in which each node is linked by a tree structure.
- the software management information having a tree structure is stored in the storage device 130.
- the SW management unit 121 receives registration of update software in each node of the tree-structured software management information, and stores the update software in the storage device 130 in association with each node.
- FIG. 6 is a diagram for explaining a unique key of a mobile object based on the group key encryption method.
- the key management unit 122 assigns a node key to each node of the software management information having the Tree structure.
- the node key is an encryption key.
- energy control is managed as an upper node
- battery control software and heat management software are managed as lower nodes. Therefore, the node key “K0XXX” is assigned to the upper node, the node key “K00XXX” is assigned to the lower node “battery control software”, and the node key “K01XXX” is assigned to the “thermal management software”.
- node keys “K000XX” and “K001XX” corresponding to a plurality of vehicle types that are lower nodes are assigned to the node “battery control software”, and further, the node key “K0000X” is assigned to “year” that is a lower node of the vehicle type. , “K0001X” is assigned. Then, node keys of “K00000” and “K00001” are assigned to the lowest node, that is, the vehicle body number that uniquely identifies the moving object.
- the mobile unit has five encryption keys, for example, “K00000”, “K0000X”, “K000XX”, “K00XXX”, and “K0XXX” as unique keys.
- the key management unit 122 generates a unique key for each mobile body by decrypting these encryption keys, and registers and manages them.
- FIG. 7 is a flowchart showing the registration process of the mobile unit unique key based on the group key encryption method.
- the SW management unit 121 accepts input of information about each software used in the control system, such as the attributes of the plurality of moving objects (vehicle type, year, body number, etc.), and sets each node and sets each node to a tree structure.
- the software management information having the Tree structure linked in the above is generated and stored in the storage device 130 (S101).
- the key management unit 122 assigns a node key to each node of the generated software management information of the Tree structure (S102), combines each node key from the highest node to the lowest node, A unique key is generated (S103).
- the key management unit 122 stores the generated unique keys of the mobile objects in the storage device 130 (S104), and also stores the unique keys of the mobile objects registered in the software updating apparatus 100 in the respective mobile objects (the in-vehicle GW device 200). (S105).
- FIG. 8 is a diagram for explaining simultaneous update of software using a unique key according to the present embodiment.
- the SW update control unit 123 determines the node key “K00XXX” of “battery control software” from the correspondence between the software management information and the node key.
- the node key “K0XXXX” of the upper node is extracted.
- the SW update control unit 123 encrypts software to be distributed using a group key in which the node key “K00XXX” and the node key “K0XXX” are combined, and distributes it to each mobile unit belonging to the lower node of “battery control software” To do.
- the encrypted software received from the software updating apparatus 100 is decrypted with the group key obtained by decrypting the node key “K00XXX” and the node key “K0XXXX”. Return to plaintext.
- the SW update control unit 123 determines the node key “K000XX” corresponding to “car model A” from the correspondence between the software management information and the node key. Can be encrypted using group keys “K000XX”, “K00XXX”, and “K0XXX” and further distributed to each mobile unit belonging to the lower node of “vehicle type A”.
- the software update method of this embodiment will be described with reference to FIGS.
- the reliability of software distribution to the mobile body is improved by sharing the log file between the software updating apparatus 100 and the mobile body (vehicle-mounted GW apparatus 200) and collating them. I am letting.
- FIG. 9 is a diagram for explaining software distribution control using the distribution-side log file and the mobile unit-side log file.
- the distribution-side log file is generated for each piece of software to be distributed, and the unique key (including the node key of the upper node) of the mobile object to be distributed is recorded.
- Distribution OK / NG is recorded for each of a plurality of program modules constituting the software.
- the mobile unit log file has the same configuration, in which the mobile unit's own key (including the node key of the upper node) is recorded, and the received OK / NG is recorded for each of a plurality of program modules constituting the software. Is done.
- the software update device 100 and the mobile unit each have the same log file.
- the distribution history indicating distribution OK / NG corresponds to the reception history indicating reception OK / NG, and the distribution history does not change from distribution NG to distribution OK just by distributing software from the software update device 100. Transition from distribution NG to distribution OK is based solely on the reception history (received record) on the mobile unit side.
- the present invention is not limited to this, and includes, for example, a mode in which software is divided into a plurality of distributions. Further, in software composed of a plurality of program modules, an arbitrary program module can be distributed, or only one program module can be distributed.
- FIG. 10 is a flowchart showing the software update process via the in-vehicle GW apparatus 200.
- the in-vehicle GW apparatus 200 transmits an activation signal to the software updating apparatus 100 when the moving body is activated, for example, when an ignition switch of the vehicle is turned on (S301).
- the software update device 100 checks the distribution-side log file related to the fixed key of the mobile object (S112).
- the correspondence between the fixed key of the mobile object and the in-vehicle GW apparatus 200 can be stored in the storage device 130 in advance.
- the SW update control unit 123 uses the MAC address and the vehicle body number of the in-vehicle GW device 200 included in the activation signal transmitted from the in-vehicle GW device 200 to identify the moving body and extract the corresponding distribution side log file. Can do. That is, the mobile body (vehicle-mounted GW apparatus 200), the distribution-side log file, and the fixed key are associated with each other.
- the SW update control unit 123 refers to the extracted distribution-side log file and checks whether or not the distribution NG is stored in the log file (S112).
- the distribution log file for which distribution has been completed has the distribution OK for each program module. If no distribution NG is recorded in the distribution-side log file, it is determined that there is no program module for distribution NG (S113), and it is determined whether update software to be newly updated is registered (S114).
- the SW management unit 121 accepts registration of update software.
- the update flag of the update software before distribution can be set to “undistributed”.
- the SW update control unit 123 refers to the update flag and determines that the software to be newly updated is registered (YES in S114)
- the SW update control unit 123 generates and stores a distribution-side log file related to the software to be updated. It memorize
- update software information including a combination of the update software and its program module group is registered for the update software.
- the SW update control unit 123 can generate the distribution-side log file listing the program module groups of the software A to be updated with reference to the updated software information, for example.
- a distribution OK / NG recording area is set for each program module, and in the software log file distributed for the first time, “distribution NG” is written to all program modules by default.
- the update flag of the update software before distribution is set to “undistributed”, and when the distribution side log file is generated for the update software having the update flag of “undistributed”, the update flag is set to “distributed”
- the update flag becomes “distributed” when the distribution history of the distribution side log file is all distributed according to the reception history transmitted from the in-vehicle GW apparatus 200.
- the SW update control unit 123 generates a group key of newly registered software from the correspondence relationship between the software management information and the node key, and encrypts the software to be distributed (S116).
- the SW update control unit 123 can individually encrypt the program modules and sequentially distribute the program modules.
- the distribution order of the plurality of program modules is arbitrary and may be distributed in a predetermined order. Further, after confirming that one program module is received on the mobile unit side (after receiving the reception OK), the next program module may be distributed. Alternatively, each program module may be distributed in sequence without confirming that the program module has been received on the mobile unit side. Even in this case, the in-vehicle GW device 200 records the reception history for each received program module in the moving body side log file and transmits the reception history to the software update device 100.
- the in-vehicle GW apparatus 200 receives each program module of the update software.
- the software update management unit 224 of the in-vehicle GW apparatus 200 returns the encrypted program module to plain text using the unique key stored in the storage unit 225 in advance. That is, key authentication using a unique key is performed on the mobile body side (S302).
- the software update apparatus 100 that is a transmission source can be authenticated by a digital signature of a public key cryptosystem.
- the software update management unit 224 performs reception processing for storing the program module returned to the plaintext using the unique key in the storage unit 225 (S303), and generates a mobile log file (S304).
- the received program module may be stored in a predetermined storage area provided in the vehicle control system 300 instead of the storage unit 225.
- the software update device 100 can include a flag representing new update software and the like.
- the software update management unit 224 newly generates the above-described mobile-side log file related to the update software.
- the software update management unit 224 searches the mobile log file already generated, and the mobile log related to the received update software. It is possible to determine whether or not a file exists. When it is determined that there is no corresponding mobile-side log file, a new mobile-side log file can be generated.
- the mobile unit log file corresponding to the update software that has never been received by the mobile unit can be provided from the software update device 100. That is, the software update apparatus 100 generates a distribution-side log file (a log file in which all logs are distribution NG) along with distribution, and transmits the log file to the mobile unit, thereby moving the mobile-side log file. Can be used as is.
- a distribution-side log file a log file in which all logs are distribution NG
- the SW update control unit 123 can also distribute the updated software information referred to when generating the distribution-side log file to the mobile body.
- the software update management unit 224 is the log file of the software that is distributed for the first time in the same way as the distribution-side log file. Therefore, the mobile-side log file in which “distribution NG” is written by default for all program modules is stored. Can be generated.
- the software update management unit 224 records the received OK / NG in the mobile log file for each received program module (S305).
- the software update management unit 224 transmits the reception history (reception OK / NG) recorded in the mobile log file to the software update device 100 (S306).
- the software update device 100 receives the reception history from the in-vehicle GW device 200, and records distribution OK / NG in the distribution-side log file for each corresponding program module (S118). In the present embodiment, unless a reception history is received from the in-vehicle GW device 200, the distribution history of the distribution side log file does not transition to “distribution OK”.
- the software update device 100 repeats steps S117 and S118 until the distribution process is completed (S119).
- the in-vehicle GW apparatus 200 repeats steps S302 to S306 until the reception process is completed (S307). Note that the end of the distribution process and the end of the reception process include a distribution interruption due to interruption of the communication path.
- the software update management unit 224 refers to the mobile-side log file and determines whether or not all program modules are “reception OK” (S308).
- the software update management unit 224 permits the update of the software corresponding to the moving body side log file in which all the program modules are “reception OK”.
- the software update management unit 224 outputs the software stored in the storage unit 225 to the vehicle control system 300 and outputs a software update instruction (S309).
- a vehicle ECU that controls the entire vehicle executes software update at a predetermined timing or in real time.
- the execution result (update OK / NG) of the software update is output from the vehicle control system 300 to the software update management unit 224.
- the software update management unit 224 can transmit a software update execution result (update OK / NG) to the software update management apparatus 100.
- FIG. 11 is a flowchart showing the software update process via the in-vehicle GW apparatus 200, and is a diagram showing the difference update process after the distribution of the update software is finished in an unfinished state in step S113 of FIG.
- the distribution incomplete state means that the distribution side log file is generated and the update software is distributed (the update flag is “distributing”), but at least one distribution NG is included in the distribution log of the distribution side log file. It is included.
- the SW update control unit 123 transmits the mobile-side log file to the in-vehicle GW apparatus 200 to the software update apparatus 100.
- the transmission request to be output is output (S121).
- the in-vehicle GW apparatus 200 transmits the corresponding mobile body side log file to the software update apparatus 100 based on the transmission request (S321).
- the SW update control unit 123 compares the mobile-side log file received from the in-vehicle GW apparatus 200 with the distribution-side log file, and matches OK / NG of the distribution history and OK / NG of the reception history for each program module. (S122). The SW update control unit 123 performs a log file rewrite process when there is even one program module that does not match OK / NG in the distribution history and the reception history (YES in S123).
- the SW update control unit 123 transmits a request for discarding the moving body side log file to the in-vehicle GW apparatus 200 to the in-vehicle GW apparatus 200 (S124).
- the in-vehicle GW apparatus 200 discards (deletes) the stored mobile-side log file based on the log file discard request received from the software updating apparatus 100 (S323).
- the SW update control unit 123 specifies an OK / NG mismatch program module between the distribution history and the reception history in the distribution history of the distribution-side log file (S125), and rewrites all the mismatched logs into distribution NG (S126).
- the SW update control unit 123 rewrites the distribution-side log file, generates the same mobile-side log file as the distribution-side log file whose content has been rewritten, and transmits it to the in-vehicle GW apparatus 200 (S127).
- the in-vehicle GW apparatus 200 receives the log file having the same content as the distribution side log file from the software update apparatus 100 and stores it in the storage unit 225 as the mobile body side log file (S324).
- both the distribution log of the distribution side log file and the reception history of the mobile unit log file for the mismatched program module are displayed.
- This configuration makes it possible to realize an environment for reliably updating software. Since the communication environment of the mobile object changes, communication is cut off in the middle. That is, it is sufficient that the update software can be received collectively on the mobile unit side, but the entire update software (program module) may not be completely received due to a change in the communication environment. In such a case, only the distribution result managed by the software update apparatus 100 on the distribution side cannot grasp the reception state on the mobile unit side, and there is a possibility that the update software may be lost.
- the software update method of this embodiment manages the distribution history and the reception history in both the distribution side log file and the mobile side log file, and when the distribution of the update software is interrupted for some reason, Control is performed so that the distribution history and reception history are rewritten to NG and reset for program modules whose histories do not match and are retransmitted.
- the update software can be reliably distributed to the mobile unit, and when all program modules are “receive OK” with reference to the mobile unit side log file, the corresponding software is updated.
- the software can be surely updated.
- step S123 if it is determined that there is no OK / NG mismatch between the distribution history and the reception history, the SW update control unit 123 refers to the distribution-side log file and determines the program module of the distribution NG. To extract. Thereafter, the software update device 100 performs the processing from step S116 onward, and sequentially performs encryption, distribution based on the group key, and log recording processing of the reception history received from the in-vehicle GW device 200. Similarly, the in-vehicle GW apparatus 200 sequentially performs the processes from step S302 onward, and sequentially performs a reception history log recording process, a process of transmitting log records to the software update apparatus 100, and the like. Since the example of FIG. 11 is a difference update process, step S304 is omitted. If the retransmitted program module is duplicated, the software update management unit 224 can overwrite and save it.
- the in-vehicle gateway device 200 can be configured as an in-vehicle gateway system.
- the communication device 210 and the control device 220 can be configured as individual devices, and can be configured as an in-vehicle gateway system in which these are connected to each other.
- each functional unit of the control device 220 can be appropriately configured as an individual processing device and configured as an in-vehicle gateway system.
- Each function of the software update device 100 and the control device 220 of the in-vehicle gateway device 200 can be realized by a program.
- a computer program prepared in advance for realizing each function is stored in the auxiliary storage device, and the CPU or the like.
- the control unit reads the program stored in the auxiliary storage device to the main storage device, and the control unit executes the program read to the main storage device, thereby enabling the functions of the respective units to operate.
- Computer-readable recording media include optical disks such as CD-ROMs, phase change optical disks such as DVD-ROMs, magneto-optical disks such as MO (Magnet-Optical) and MD (Mini-Disk), floppy (registered trademark) disks, Examples include magnetic disks such as removable hard disks, memory cards such as compact flash (registered trademark), smart media, SD memory cards, and memory sticks.
- a hardware device such as an integrated circuit (IC chip or the like) specially designed and configured for the purpose of the present invention is also included as a recording medium.
- a program for realizing each unit from the network outside the vehicle to the in-vehicle GW apparatus 200 can be provided and installed via the communication device 210.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Quality & Reliability (AREA)
- Mechanical Engineering (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Stored Programmes (AREA)
- Information Transfer Between Computers (AREA)
Abstract
【課題】移動体内に設けられる車載GW装置を介した、移動体で実行されるソフトウェアの更新システムを提供する。 【解決手段】実施形態のソフトウェア更新システムは、移動体を制御するための所定のシステムで実行されるソフトウェアを更新するシステムであり、移動体内に設けられ、所定のシステムと接続される車載GW装置と、ネットワークを介して車載GW装置に接続されるソフトウェア(SW)更新装置とを含む。SW更新装置は、ソフトウェアを車載GW装置に配信し、車載GW装置からソフトウェアの受信OK又は受信NGを受信して配信側ログ情報に記録する。車載GW装置は、配信側ログ情報に対応した移動体側ログ情報にソフトウェアの受信OK又は受信NGを記録するとともに、受信結果をSW更新装置に送信する。車載GW装置は、移動体側ログ情報のソフトウェアの受信履歴が受信OKである場合に、所定のシステムに対するソフトウェアの更新を許可する。
Description
本発明の実施形態は、車両などの移動体内に設けられる車載ゲートウェイ装置を介して、移動体で実行されるソフトウェアの更新技術に関する。
例えば、車両は、車両制御システムによって全体が管理されている。車両制御システムは、複数の制御プログラムを実行して車両を制御している。車両制御システムで使用されるソフトウェア(制御プログラムや制御プログラムの実行に使用されるデータ)は、適宜更新(修正プログラム又は/及び新規プログラムのインストール)することがある。ソフトウェアの更新は、ネットワークを介したデータ通信で行ったり、ディーラーや工場で行ったりすることができる。
移動体内に設けられる車載ゲートウェイ装置を介した、移動体で実行されるソフトウェアの更新システムを提供する。
実施形態のソフトウェア更新システムは、移動体を制御するための所定のシステムで実行されるソフトウェアを更新するシステムであり、移動体内に設けられ、前記所定のシステムと接続される車載ゲートウェイ装置と、ネットワークを介して前記車載ゲートウェイ装置に接続されるソフトウェア更新装置と、を含んで構成される。前記ソフトウェア更新装置は、前記車載ゲートウェイ装置に配信するソフトウェアに関連する配信側ログ情報を記憶する第1記憶部と、前記ソフトウェアを前記車載ゲートウェイ装置に配信する配信制御を行うとともに、前記車載ゲートウェイ装置から前記ソフトウェアの受信OK又は受信NGを受信して、前記配信側ログ情報に記録するソフトウェア更新制御部と、を有する。前記車載ゲートウェイ装置は、前記配信側ログ情報に対応し、前記ソフトウェア更新装置から配信される前記ソフトウェアの前記受信OK又は受信NGが記録される移動体側ログ情報を記憶する第2記憶部と、前記ソフトウェアの受信結果に基づいて、前記移動体側ログ情報に前記受信OK又は受信NGを記録するとともに、移動体側の前記受信OK又は受信NGを前記ソフトウェア更新装置に送信するソフトウェア更新管理部と、を有する。前記ソフトウェア更新管理部は、前記移動体側ログ情報を参照して、前記ソフトウェアの受信履歴が前記受信OKである場合に、前記所定のシステムに対する前記ソフトウェアの更新を許可する。
以下、実施形態につき、図面を参照して説明する。
(第1実施形態)
図1は、第1実施形態のソフトウェア更新システムの概略図である。本実施形態のソフトウェア更新システムは、移動体で実行され、移動体の制御に用いられるソフトウェアの更新システムである。なお、本実施形態では、移動体として車両を一例に説明するが、他の移動体(電車、自動で又は無線により遠隔操作されるロボットや飛行体など)にも適用可能である。
図1は、第1実施形態のソフトウェア更新システムの概略図である。本実施形態のソフトウェア更新システムは、移動体で実行され、移動体の制御に用いられるソフトウェアの更新システムである。なお、本実施形態では、移動体として車両を一例に説明するが、他の移動体(電車、自動で又は無線により遠隔操作されるロボットや飛行体など)にも適用可能である。
移動体には、車載ゲートウェイ装置200(以下、車載GW装置と称する)が設けられており、所定のネットワークを介してソフトウェア更新装置100と接続されている。ソフトウェア更新装置100は、複数の各移動体に、1つ又は複数のプログラムモジュールで構成されたソフトウェアを配信する。移動体は、ソフトウェア更新装置100から配信されるソフトウェアを車載GW装置200を介して受信し、移動体で実行されるソフトウェアや移動体の制御に用いられるソフトウェアを更新する。
なお、移動体に配信されるソフトウェアは、制御プログラムなどのプログラムモジュール以外にも、例えば、各プログラムモジュールの実行を制御するためのパラメータや各種データ、手順などを含むことができる。
図2は、車載GW装置200が適用された移動体の車内及び車外のネットワーク構成図である。本実施形態では、移動体内に設けられる車載GW装置200が、ソフトウェア更新装置100から配信されるソフトウェアの更新制御(ソフトウェアの受信制御及びソフトウェアの更新実行制御)を行う。
<車載GW装置200>
まず、車載GW装置200について説明する。車載GW装置200は、車内のデータソースと直接接続されたり、データソースが接続される車載ネットワークと接続されたりする車載器である。車載GW装置200は、車外ネットワークと接続することができ、車内と車外を中継するネットワークノードとして構成される。車載GW装置200は、アクセスポイントを経由したWi-Fiなどの無線LAN規格に準拠する無線通信、及び基地局を中継した3GやLTE(Long Term Evolution)などの携帯電話通信の各通信インターフェースを備えている。車載GW装置200は、車両外部の車外ネットワークと複数の通信経路(外部通信方式)で接続することができる。
まず、車載GW装置200について説明する。車載GW装置200は、車内のデータソースと直接接続されたり、データソースが接続される車載ネットワークと接続されたりする車載器である。車載GW装置200は、車外ネットワークと接続することができ、車内と車外を中継するネットワークノードとして構成される。車載GW装置200は、アクセスポイントを経由したWi-Fiなどの無線LAN規格に準拠する無線通信、及び基地局を中継した3GやLTE(Long Term Evolution)などの携帯電話通信の各通信インターフェースを備えている。車載GW装置200は、車両外部の車外ネットワークと複数の通信経路(外部通信方式)で接続することができる。
車外ネットワークは、例えば、IP(Internet Protocol)網である。車載GW装置200は、IP網を経由してソフトウェア更新装置100に接続することができる。車載GW装置200は、ソフトウェア更新装置100との間でデータ通信を行うことができるとともに、後述する移動体側ログファイル(ログファイルに書き込まれる情報を含む)をソフトウェア更新装置100に送信したりすることができる。また、ソフトウェア更新装置100以外の外部サービスシステムとの間でデータ通信を行ったり、車内のデータソースから取得した各種データをソフトウェア更新装置100や所定の外部サービスシステムに送信したりすることもできる。
図2に示すように、車載GW装置200は、Wi-Fiや3G/LTEの通信インターフェースを備えた携帯情報端末を介して、車外ネットワークと接続することもできる。車載GW装置200は、携帯情報端末に対し、USB接続したり、無線通信やBluetooth(登録商標)/NFCなどの規格に基づく近距離通信で接続したりすることができる。携帯情報端末は、スマートフォンなどの多機能携帯電話機、携帯電話機、タブレット端末などの通信機能を備えたモバイル機器である。
車載GW装置200は、車内のデータソースに、直接または既設の車載ネットワークを介して接続することができる。データソースは、例えば、マイク(集音装置)、人感センサやユーザが装着するバイタルセンサなどのセンサ機器、カメラ(撮影装置)が搭載されたドライブレコーダーや車内を撮影する車内カメラなどの車載カメラ、液晶ディスプレイ装置などの表示手段を備えたナビゲーションシステムなどの車載情報端末、及び車載LANなどがある。車載LANは、車両制御システム300やマルチメディア系のオーディオ機器などと接続され、これらがデータソースとなる。
車載GW装置200は、各データソース又は車載ネットワークが備える通信方式に応じて、データソース毎に異なる通信方式でデータ通信を行う。例えば、センサ機器は、近距離無線通信でデータ通信を行う。車載カメラは、車載GW装置200とケーブルで接続されたシリアル(UART)通信(RS232C,RS422,RS485)でデータ通信を行う。車載情報端末は、LANケーブルで接続されたEthernet通信でデータ通信を行う。
車載LANは、CAN(controller area network)、FlexRay、LIN、MOST(media oriented systems transport)などの通信方式で車載ネットワークが組まれている。車載GW装置200は、車載LANを構成する1つ又は複数の車載ネットワークそれぞれに接続し、各通信方式でデータ通信を行う。
図3は、車載GW装置200の構成ブロックを示す図である。車載GW装置200は、ハードウェア構成として、各データソースや携帯情報端末との間の通信インターフェースを構成する通信デバイス210と、車載GW装置200全体の制御を行う制御デバイス220と、を含んでいる。
通信デバイス210は、Ethernet、CAN、UART、USB、近距離無線通信などの車内通信(内部通信)インターフェース211と、無線通信、携帯電話通信などの車外通信(外部通信)インターフェース212と、を含む。なお、車内通信インターフェース211は、携帯情報端末との間の無線通信機能やUSB等の接続インターフェースを含むことができる。
制御デバイス220は、主にソフトウェアによって動作する各機能部を含んで構成されている。制御デバイス220は、まず、各データソースに対する制御を行うことができる。例えば、センサ機器のセンサ制御(動作やデータ検出)、車載カメラの撮影制御(映像出力制御を含む)、車載情報端末の端末制御を行うことができる。
したがって、制御デバイス220は、車外ネットワークから受信したデータを各データソースに出力したり、受信したデータに基づいて各データソースを制御したりすることができる。また、データソース間で、一方又は双方のデータソースを制御することができる。例えば、センサ機器で取得された検出データや車載カメラで撮影された映像を、車載情報端末のディスプレイに表示する制御を行うこともできる。
そして、本実施形態の制御デバイス220は、車内通信制御部221、車外通信制御部222、ゲートウェイ制御部(GW制御部)223、ソフトウェア更新管理部224、及び記憶部225を含んでいる。
車載GW装置200は、無線通信や携帯電話通信、UART、USB、近距離無線通信等の各デバイスドライバがインストールされている。車内通信制御部221及び車外通信制御部222は、各デバイスドライバを通じて、車内通信インターフェース211及び車外通信インターフェース212を介した通信制御を行う。また、車内通信制御部221は、デバイスドライバを介さずに、例えば、車載LAN(車両制御システム300)との間の通信制御を行うこともできる。
なお、車外通信制御部222は、Wi-Fiなどの無線通信のアクセスポイント登録処理を行うことができる。例えば、車外通信制御部222は、車両の物理的な移動に伴って各所のアクセスポイントを検出し、登録することができる。
GW制御部223は、ネットワーク制御部223Aと、通信制御部223Bとを含んで構成されている。ネットワーク制御部223Aは、ルーティング制御部2231、プロトコル変換部2232及びセキュリティ部2233を含んでいる。ルーティング制御部2231は、各データソース(車載LANを介した車両制御システム300を含む)から収集されるデータを車外ネットワークに送信する際のルーティング制御、及び車外ネットワークから受信されたデータを各データソースに伝送する際のルーティング制御を行う。また、車内ネットワーク内でのデータソース間でのデータ通信におけるルーティング制御も行う。
プロトコル変換部2232は、各データソースに対応する異なる通信方式間でのプロトコル変換処理を行う。データソース別の通信方式をプロトコル変換表として予め保持しておくことができ、例えば、車外ネットワークから受信されたデータをデータソースに伝送する際にプロトコル変換を行う。
セキュリティ部2233は、SSL(Secure Sockets Layer)/TLS(Transport Layer Security)プロトコルの通信設定及び通信処理を行う。SSL/TLS通信は、データソース毎に設定することができ、セキュリティ部2233は、車内ネットワークから車外ネットワークにデータが送信される際に、SSL/TLSの設定有無を確認し、暗号化処理を行うことができる。
通信制御部223Bは、通信状態監視部2234、通信経路選択部2235、監視制御部2236、及びConfig設定制御部2237を含んでいる。通信制御部223Bは、Config設定情報に基づいて、通信経路選択制御、データ監視制御、及びデータソースから収集されたデータを車外ネットワークに伝送するデータ伝送制御を行うことができる。
通信経路選択部2235は、通信接続Config設定情報に基づいて、通信経路選択制御を行うことができる。通信接続Config設定情報は、車外ネットワークから車内ネットワークへのデータ受信時の通信経路設定と、車内ネットワークから車外ネットワークへのデータ伝送時の通信経路設定と、が含まれる。
本実施形態の車載GW装置200は、車両などの移動体に搭載される。このため、例えば、車載GW装置200は、ネットワークノードとして動的IPアドレスが割り当てられる。車載GW装置200は、データの送受信の際、能動的に車外ネットワークのソフトウェア更新装置100に接続してコネクションを張る。
通信接続の設定内容は、自動設定又は/及び優先設定がある。車載GW装置200は、複数の通信方式の経路で、車外ネットワークに接続することができる。例えば、Wi-Fi、携帯情報端末経由及び3G/LTEの3つの経路の中から1つを選択したり、3つの経路に優先度を設定したりすることができる。また、「自動」の優先度は、例えば、Wi-fi>携帯情報端末経由>3G/LTEのように、予め任意に決めておくことができる。
通信接続の設定内容は、受信するデータ種別に設定することもできる。例えば、ソフトウェア更新装置100から配信されるソフトウェアとそれ以外のシステムから配信されるデータとで通信経路の優先度を変えたり、ソフトウェア更新装置100から配信されるソフトウェアのデータ容量の大きさで通信経路の優先度を変えたりすることができる。
車内ネットワークから車外ネットワークへのデータ伝送時の通信接続についても同様である。例えば、車両制御システム300から取得される車両情報をアップロードする通信経路や車載カメラで撮影された映像や画像をアップデートする通信経路などにおいても、同様に自動設定又は/及び優先設定を行うことができる。
また、通信接続Config設定には、車外ネットワークの接続先であるソフトウェア更新装置100のURL指定(登録)が含まれる。なお、ソフトウェア更新装置100は、複数の拠点に、複数設けることもできる。この場合、各拠点のソフトウェア更新装置100の各URLが登録されるように構成することができる。外部サービスシステムについても同様である。
さらに、通信接続Config設定は、車載GW装置200が利用する複数の通信経路それぞれの有効/無効の設定が含まれる。Wi-Fi通信利用設定、3G/LTE通信利用設定、携帯情報端末通信利用設定の有効(ON)/無効(OFF)を設定することができる。
車載GW装置200(通信制御部223B)は、起動後、通信接続Config設定情報を取得し、接続フラグがONの通信経路に対して通信接続処理を行う。接続フラグとは、各通信方式の通信利用設定における有効(ON)/無効(OFF)である。接続フラグがONの通信経路が複数ある場合、複数の通信経路全ての通信接続を維持するように、制御される。すなわち、車載GW装置200の監視制御やデータ収集・伝送制御に関係なく、接続フラグがONの複数の通信経路全てに対し、常時接続状態を維持するように制御される。そして、データソース毎に、各通信経路の通信状態に応じてConfig設定に基づく適切な通信経路選択を行い、車外ネットワークとの間でデータ通信を行う。
通信状態監視部2234は、接続フラグがONの通信経路の通信状態(接続中/遮断)を監視する。通信状態監視部2234は、各通信経路の通信状態を通信制御部223Bに出力する。次に、通信状態監視部2234は、接続状態監視終了信号(例えば、車両のイグニッションスイッチのOFF信号)の有無を確認する。監視を終了しない場合は、通信制御部223Bは、接続フラグがONの通信経路が遮断されていないと判別された場合、通信状態の監視を継続する。一方、遮断されていると判別された場合、通信制御部223Bは、接続フラグがONで、遮断されている通信経路に対し、再度通信接続処理を行う。一方、接続状態監視終了信号の入力があり、監視を終了する場合は、接続中の全ての通信経路の遮断処理を行う。
一方で、監視制御部2236は、各データソースから出力されるデータを監視することができ、監視制御部2236で利用されるConfig設定情報を設定することもできる。例えば、車載LANConfig設定情報は、車両制御システム300から取得される車両情報を、車外ネットワーク(外部システム)にアップロードする周期、平均車速閾値、運転時間閾値などの設定情報が含まれる。また、センサ機器は、例えば、ユーザの心拍数、脈拍の間隔、血圧などを測定又は/及び算出して車載GW装置100に出力することができる。センサ機器Config設定情報は、バイタル情報転送(アップロード)周期、心拍数転送閾値、心拍数異常閾値などの設定情報が含まれる。
監視制御部2236は、例えば、データソース毎に設定されたConfig設定情報に基づく監視制御を行う。データソースは、時系列に連続したデータを車載GW装置200に出力することができる。Config設定情報に基づく監視制御は、データソースから収集されるデータを監視し、例えば、閾値を超えるデータが検出された場合に異常発生を検知する異常検出制御と、データソースから収集されたデータを、車外ネットワークに伝送するデータ収集・伝送制御とが含まれる。
監視制御部2236は、データソースから出力されるデータを対象に、データソース毎に異常検出を行い、異常が検出された場合、例えば、車載情報端末に異常が検出された旨を表示する通知処理を行うことができる。
なお、監視制御は、通信状態監視と同様に、車両のイグニッションスイッチのOFF信号などのデータソースの監視制御を終了する信号の有無を確認して、行うことができる。
これらのConfig設定情報は、外部サービスシステム側で予め設定したり、ユーザが外部サービスシステムに接続して設定したりすることができる。車載GW装置200は、例えば、車両のイグニッションスイッチのON/OFFに連動して、車両のバッテリなどから電力供給を受けて起動することができる。車載GW装置200は、起動時に外部サービスシステムに接続して、Config設定情報を取得することができる。このとき、車載GW装置200は、通信接続Config設定情報に基づいて、通信経路選択処理を行うことができる。
Config設定制御部2237は、外部サービスシステムから制御デバイス220に入力されたConfig設定情報を、通信経路選択部2235及び監視制御部2236が利用できるように記憶部225にセット(更新)する。
なお、車載GW装置200とソフトウェア更新装置100との間のデータ通信は、予め設定されるユーザの識別IDや車両GW装置200の固体識別子(例えば、MACアドレス)などを用いて、双方で認証を行うことができる。車載GW装置200は、ソフトウェア更新装置100との間のデータ通信において、固体識別子が含まれるように制御する。
記憶部225は、ソフトウェア更新管理部224を含む制御デバイス220で処理される各種データ、各処理のために使用される情報、車外ネットワークから受信したデータや情報などを記憶する。図3の例では、記憶部225が車載GW装置200に内蔵されているが、例えば、記憶部225が車載GW装置200に対して外付けされてもよい。
<車載GW装置200を介したソフトウェア更新>
本実施形態では、車載GW装置200が、車載LANを介して車両制御システム300に接続され、車両制御システム300を構成する車両ECUなどの制御装置で実行されるソフトウェアをソフトウェア更新装置100から受信する。なお、ソフトウェア更新装置100は、移動体における既存のソフトウェアの更新用ソフトウェアの配信のみならず、移動体で実行される新たなソフトウェアを配信することもでき、ソフトウェア更新装置100は、移動体で実行され、移動体の制御に用いられるソフトウェアの配信管理を行う管理装置として位置付けられる。
本実施形態では、車載GW装置200が、車載LANを介して車両制御システム300に接続され、車両制御システム300を構成する車両ECUなどの制御装置で実行されるソフトウェアをソフトウェア更新装置100から受信する。なお、ソフトウェア更新装置100は、移動体における既存のソフトウェアの更新用ソフトウェアの配信のみならず、移動体で実行される新たなソフトウェアを配信することもでき、ソフトウェア更新装置100は、移動体で実行され、移動体の制御に用いられるソフトウェアの配信管理を行う管理装置として位置付けられる。
図4は、本実施形態のソフトウェア更新装置100の構成ブロックを示す図である。ソフトウェア更新装置100は、通信装置110、制御装置120及び記憶装置130を含んで構成されている。
通信装置110は、移動体の車載GW装置200との間のデータ通信及び接続を制御する。通信装置110は、車載GW装置200との間で、アクセスポイントを経由したWi-Fiなどの無線LAN規格に準拠する無線通信、及び基地局を中継した3GやLTE(Long Term Evolution)などの携帯電話通信を行うことができる。ソフトウェア更新装置100は、移動体の車載GW装置200と、複数の通信経路で接続することができ、例えば、IP(Internet Protocol)網を通じて、更新ソフトウェアを、配信することができる。
制御装置120は、ソフトウェア管理部(SW管理部)121、鍵管理部122及びソフトウェア更新制御部(SW更新制御部)123を含んで構成されている。
本実施形態のソフトウェア更新システムは、複数の移動体を対象に、各移動体の制御に用いられるソフトウェアを配信する。図5は、複数の移動体に対するTree構造のソフトウェア管理情報の一例を示す図である。
図5に示すように、例えば、車両制御システムは、複数の制御システムで構成され、各制御システムでソフトウェアによるハードウェアの動作制御などが行われている。これらの制御システムは、例えば、異なる車種間で共通で用いられたり、車両の各年式で共通で用いられたりする。逆に、同じ車種間や同じ年式であっても異なることもある。
したがって、車両制御システムの制御に用いられるソフトウェアは、複数の制御システム毎に使用されるソフトウェアの関連付けと、そのソフトウェアが適用される車両との関連付けとが必要となり、車両毎に適用されるソフトウェアの管理は、極めて複雑である。そこで、本実施形態では、図5の例のように、制御システム、制御システムに使用されるソフトウェア、ソフトウェアが適用される車種、年式、車体番号を各ノードとして、各ノードをTree構造で結び付けたグループ管理を行う。
SW管理部121は、複数の各移動体の属性(車種、年式、車体番号など)や各移動体の制御システムで使用される各ソフトウェアに関する情報の入力を受け付け、図5に示した各ノードの設定及び各ノードをTree構造で結び付けたグループ管理機能を提供する。Tree構造のソフトウェア管理情報は、記憶装置130に記憶される。また、SW管理部121は、Tree構造のソフトウェア管理情報の各ノードにおける更新用ソフトウェアの登録を受け付け、各ノードに関連付けて更新用ソフトウェアを記憶装置130に記憶する。
一方で、ソフトウェア管理を行う移動体の数が多くなると、ソフトウェアの配信制御も煩雑になる。例えば、セキュリティ上、各移動体それぞれに異なる秘密鍵を設定し、移動体に対して異なる秘密鍵でソフトウェアを暗号化して、対象の移動体それぞれに個別に配信する必要があった。また、車両は、例えば、年間で数万台、数十万台の車両が生産、販売されるため、各車両に一意の秘密鍵を割り当てて管理することは現実的ではない。特に、近年、車種や年式間でのソフトウェア共通化も進んでおり、毎年増え続ける膨大な車両数に対して効率的なソフトウェア管理が必要となる。
本実施形態では、Tree構造のソフトウェア管理情報の各ノードをグループ管理しつつ、グループ鍵暗号化方式を応用し、配信するソフトウェアを共通のグループ鍵を用いて暗号化して各移動体に送信する。図6は、グループ鍵暗号化方式に基づく移動体の固有鍵を説明するための図である。
鍵管理部122は、Tree構造のソフトウェア管理情報の各ノードに、ノード鍵を割り当てる。ノード鍵は、暗号鍵である。例えば、図4の例と対比して説明すると、エネルギー制御を上位ノードとして、バッテリ制御ソフトウェア、熱マネジメントソフトウェアがその下位ノードとして管理される。そこで、上位ノードにノード鍵「K0XXXX」を割り当て、その下位ノード「バッテリ制御ソフトウェア」にノード鍵「K00XXX」と、「熱マネジメントソフトウェア」にノード鍵「K01XXX」を割り当てる。
また、ノード「バッテリ制御ソフトウェア」に対して下位ノードである複数の車種に対応するノード鍵「K000XX」、「K001XX」を割り当て、さらに車種の下位ノードである「年式」にノード鍵「K0000X」、「K0001X」を割り当てる。そして、最下位のノード、すなわち移動体を一意に識別する車体番号に対して「K00000」、「K00001」のノード鍵を割り当てる。
したがって、移動体は、固有鍵として、例えば、「K00000」、「K0000X」、「K000XX」、「K00XXX」、「K0XXXX」の5つの暗号鍵を保有することになる。鍵管理部122は、これらの暗号鍵を複合化して各移動体の固有鍵を生成し、登録・管理する。
図7は、グループ鍵暗号化方式に基づく移動体の固有鍵の登録処理を示すフローチャートである。SW管理部121は、上述した複数の移動体の属性(車種、年式、車体番号など)や制御システムで使用される各ソフトウェアに関する情報の入力を受け付け、各ノードの設定及び各ノードをTree構造で結び付けたTree構造のソフトウェア管理情報を生成し、記憶装置130に記憶する(S101)。
鍵管理部122は、生成されたTree構造のソフトウェア管理情報の各ノードに、ノード鍵を割り当て(S102)、最上位のノードから最下位のノードまでの各ノード鍵を複合化して、移動体別の固有鍵を生成する(S103)。鍵管理部122は、生成された移動体の各固有鍵を記憶装置130に記憶すると共に(S104)、ソフトウェア更新装置100に登録された移動体の固有鍵を、各移動体(車載GW装置200)に送信する(S105)。
各移動体が保有する固有鍵は、グループ鍵暗号方式に基づく複数のノード鍵を用いて生成され、ソフトウェア更新装置100と移動体との間で共有される。図8は、本実施形態の固有鍵によるソフトウェアの一斉更新を説明するための図である。図8に示すように、例えば、「バッテリ制御ソフトウェア」を更新する場合、SW更新制御部123は、ソフトウェア管理情報とノード鍵との対応関係から、「バッテリ制御ソフトウェア」のノード鍵「K00XXX」と、上位ノードのノード鍵「K0XXXX」とを抽出する。SW更新制御部123は、ノード鍵「K00XXX」とノード鍵「K0XXXX」とを複合化したグループ鍵を用いて配信するソフトウェアを暗号化し、「バッテリ制御ソフトウェア」の下位ノードに属する各移動体に配信する。
移動体は、予め各ノード鍵を保有しているので、ソフトウェア更新装置100から受信した暗号化されたソフトウェアを、ノード鍵「K00XXX」とノード鍵「K0XXXX」とを複合化したグループ鍵で復号して平文に戻す。
このように本実施形態では、「バッテリ制御ソフトウェア」を更新する場合、ノード鍵「K00XXX」を指定するだけで、下位のノード、すなわち、移動体を個別に指定することなく、セキュリティ性が確保されつつ、一斉に複数の移動体を対象としたソフトウェアの配信を行うことができる。
また、「バッテリ制御ソフトウェア」の更新を「車種A」だけに行いたい場合、SW更新制御部123は、ソフトウェア管理情報とノード鍵との対応関係から、「車種A」に対応するノード鍵「K000XX」をさらに含むグループ鍵「K000XX」、「K00XXX」、「K0XXXX」を用いて配信するソフトウェアを暗号化し、「車種A」の下位ノードに属する各移動体に配信することができる。
次に、図9から図11を参照して、本実施形態のソフトウェア更新方法について説明する。本実施形態では、ソフトウェア更新装置100と移動体(車載GW装置200)との間で、ログファイルを共有し、両者を照合(マッチング)することで、移動体へのソフトウェア配信の確実性を向上させている。
図9は、配信側ログファイル及び移動体側ログファイルを使用したソフトウェアの配信制御を説明するための図である。まず、配信側ログファイルは、配信するソフトウェア毎に生成されるとともに、配信する対象である移動体の固有鍵(上位ノードのノード鍵を含む)が記録されている。そして、ソフトウェアを構成する複数のプログラムモジュール毎に、配信OK/NGがそれぞれ記録される。
移動体側ログファイルも同様の構成であり、移動体自身の固有鍵(上位ノードのノード鍵を含む)が記録されており、ソフトウェアを構成する複数のプログラムモジュール毎に、受信OK/NGがそれぞれ記録される。ソフトウェア更新装置100と移動体とは、同じログファイルをそれぞれ保有している。配信OK/NGを示す配信履歴は、受信OK/NGを示す受信履歴と対応しており、配信履歴は、ソフトウェア更新装置100からソフトウェアを配信しただけでは、配信NGから配信OKには変わらず、あくまでも移動体側の受信履歴(受信した実績)に基づいて配信NGから配信OKに遷移する。
なお、本実施形態では、ソフトウェアが複数のプログラムモジュールで構成されている例について説明しているがこれに限らず、例えば、ソフトウェアを複数に分割して配信する態様も含まれる。また、複数のプログラムモジュールで構成されたソフトウェアにおいて、任意のプログラムモジュールを配信したり、1つのプログラムモジュールだけを配信したりすることもできる。
図10は、車載GW装置200を介したソフトウェア更新処理を示すフローチャートである。車載GW装置200は、移動体の起動、例えば、車両のイグニッションスイッチがオンされたとき、起動信号をソフトウェア更新装置100に送信する(S301)。ソフトウェア更新装置100は、車載GW装置200から起動信号を受信すると(S111のYES)、移動体の固定鍵に関連する配信側ログファイルをチェックする(S112)。
例えば、移動体の固定鍵と車載GW装置200との対応関係を予め記憶装置130に記憶しておくことができる。SW更新制御部123は、車載GW装置200から送信される起動信号に含まれる車載GW装置200のMACアドレスや車体番号を用いて、移動体を特定し、該当する配信側ログファイルを抽出することができる。つまり、移動体(車載GW装置200)、配信側ログファイル及び固定鍵は、互いに関連付けられている。
SW更新制御部123は、抽出された配信側ログファイルを参照し、ログファイル内に配信NGが記憶されているか否かをチェックする(S112)。配信が完了した配信側ログファイルは、各プログラムモジュールの配信履歴が全て配信OKとなっている。配信側ログファイル内に配信NGが記録されていない場合、配信NGのプログラムモジュールがないと判断し(S113)、新たに更新する更新用ソフトウェアが登録されているか否かを判別する(S114)。
例えば、SW管理部121は、更新用ソフトウェアの登録を受け付けるが、このとき、配信前の更新用ソフトウェアの更新フラグを「未配信」に設定することができる。SW更新制御部123は、更新フラグを参照して、新たに更新するソフトウェアが登録されていると判別した場合(S114のYES)、更新するソフトウェアに関連する配信側ログファイルを生成して、記憶装置130に記憶する(S115)。
図9に示すように、更新用ソフトウェアに対し、更新用ソフトウェアとそのプログラムモジュール群との組み合わせを含む更新ソフトウェア情報が登録される。SW更新制御部123は、更新ソフトウェア情報を参照し、例えば、更新するソフトウェアAのプログラムモジュール群を羅列した配信側ログファイルを生成することができる。このとき、各プログラムモジュールそれぞれに配信OK/NGの記録領域が設定され、初めて配信されるソフトウェアのログファイルでは、全てのプログラムモジュールに対して、「配信NG」がデフォルトで書き込まれる。
配信前の更新用ソフトウェアの更新フラグは「未配信」に設定され、「未配信」の更新フラグを有する更新用ソフトウェアに対して配信側ログファイルが生成された時点で、更新フラグは、「配信中」となり、車載GW装置200から送信される受信履歴によって配信側ログファイルの配信履歴が全て配信OKとなった時点で、更新フラグは「配信済」となる。これらのフラグ制御は、SW管理部121又はSW更新制御部123によって行われる。
SW更新制御部123は、ソフトウェア管理情報とノード鍵との対応関係から、新たに登録されたソフトウェアのグループ鍵を生成して、配信するソフトウェアを暗号化する(S116)。SW更新制御部123は、配信するソフトウェアが複数のプログラムモジュールで構成されている場合、各プログラムモジュールを個別に暗号化して、順次プログラムモジュールを配信することができる。
なお、複数のプログラムモジュールの配信順は、任意であり、予め決められた順序で配信してもよい。また、1つプログラムモジュールが移動体側で受信されたことを確認した後(受信OKを受信した後)に、次のプログラムモジュールを配信するように構成してもよい。また、プログラムモジュールが移動体側で受信されたことを確認せずに、各プログラムモジュールを順次配信してもよい。この場合であっても、車載GW装置200は、受信した各プログラムモジュール別に受信履歴を移動体側ログファイルに記録するとともに、受信履歴をソフトウェア更新装置100に送信する。
次に、移動体側では、車載GW装置200が、更新用ソフトウェアの各プログラムモジュールを受信する。このとき、車載GW装置200のソフトウェア更新管理部224は、予め記憶部225に記憶されている固有鍵を用いて、暗号化されたプログラムモジュールを平文に戻す。つまり、移動体側で固有鍵を用いた鍵認証を行う(S302)。このとき、例えば、公開鍵暗号方式のデジタル署名により、送信元であるソフトウェア更新装置100を認証するように構成することもできる。
ソフトウェア更新管理部224は、固有鍵を用いて平文に戻したプログラムモジュールを記憶部225に記憶する受信処理を行うと共に(S303)、移動体側ログファイルを生成する(S304)。なお、受信したプログラムモジュールは、記憶部225ではなく、車両制御システム300に設けられた所定の記憶領域に記憶されてもよい。
例えば、新たに更新されるソフトウェアを配信するとき、ソフトウェア更新装置100は、新たな更新用ソフトウェアを表すフラグ等を含ませて配信することができる。この場合、ソフトウェア更新管理部224は、更新用ソフトウェアに関連する上述した移動体側ログファイルを新たに生成する。また、更新用ソフトウェアと移動体側ログファイルは、互いに関連付いているので、ソフトウェア更新管理部224が、既に生成された移動体側ログファイルを検索して、受信した更新用ソフトウェアに関連する移動体側ログファイルがあるか否かを判別することができる。該当する移動体側ログファイルがないと判別された場合に、新たに移動体側ログファイルを生成することもできる。
また、移動体側で一度も受信していない更新用ソフトウェアに対応する移動体側ログファイルは、ソフトウェア更新装置100から提供することもできる。つまり、ソフトウェア更新装置100は、配信に伴って配信側ログファイル(全てのログが配信NGであるログファイル)を生成しており、このログファイルを移動体に送信することで、移動体側ログファイルとしてそのまま利用することができる。
また、SW更新制御部123は、配信側ログファイルを生成する際に参照した更新ソフトウェア情報を、移動体に配信することもできる。この場合、ソフトウェア更新管理部224が、配信側ログファイルと同様に、初めて配信されるソフトウェアのログファイルなので、全てのプログラムモジュールに対して「配信NG」がデフォルトで書き込まれた移動体側ログファイルを生成することができる。
そして、ソフトウェア更新管理部224は、受信されるプログラムモジュール毎に、受信OK/NGを移動体側ログファイルに記録する(S305)。ソフトウェア更新管理部224は、移動体側ログファイルに記録される受信履歴(受信OK/NG)を、ソフトウェア更新装置100に送信する(S306)。ソフトウェア更新装置100は、車載GW装置200から受信履歴を受信し、該当するプログラムモジュール毎に配信側ログファイルに配信OK/NGを記録する(S118)。本実施形態では、車載GW装置200から受信履歴を受信しない限り、配信側ログファイルの配信履歴は、「配信OK」に遷移しない。
ソフトウェア更新装置100は、配信処理が終了するまでステップS117,S118を繰り返し行う(S119)。また、車載GW装置200でも同様に、受信処理が終了するまでステップS302からステップS306を繰り返し行う(S307)。なお、配信処理の終了及び受信処理の終了には、通信経路の遮断による配信中断も含まれる。
ソフトウェア更新管理部224は、受信処理が終了した後、移動体側ログファイルを参照して、全てのプログラムモジュールが「受信OK」であるか否かを判別する(S308)。ソフトウェア更新管理部224は、全てのプログラムモジュールが「受信OK」である移動体側ログファイルに該当するソフトウェアの更新を許可する。具体的には、ソフトウェア更新管理部224は、記憶部225に記憶されたソフトウェアを車両制御システム300に出力するとともに、ソフトウェア更新指示を出力する(S309)。車両制御システム300は、例えば、車両全体を制御する車両ECUが、所定のタイミング又はリアルタイムに、ソフトウェア更新を実行する。ソフトウェア更新の実行結果(更新OK/NG)は、車両制御システム300からソフトウェア更新管理部224に出力される。ソフトウェア更新管理部224は、ソフトウェア更新の実行結果(更新OK/NG)をソフトウェア更新管理装置100に送信することができる。
図11は、車載GW装置200を介したソフトウェア更新処理を示すフローチャートであり、図10のステップS113で更新用ソフトウェアの配信が未完の状態で終了した後の差分更新処理を示す図である。配信が未完の状態とは、配信側ログファイルが生成されて更新用ソフトウェアの配信が行われたものの(更新フラグが「配信中」)、配信側ログファイルの配信履歴に配信NGが少なくとも1つ含まれている状態である。
図11の例は、更新用ソフトウェアの配信中に途中で通信が遮断されたり、データ容量や配信タイミングの関係から、ソフトウェアの各プログラムモジュールの全て又は一部が移動体側で受信されたか否かが不明なプログラムモジュールを差分配信する処理である。
SW更新制御部123は、ステップS113において、作成済の配信側ログファイル内に配信NGが記録されていると判別された場合、車載GW装置200に、移動体側ログファイルをソフトウェア更新装置100に送信する送信要求を出力する(S121)。車載GW装置200は、送信要求に基づいて、該当する移動体側ログファイルをソフトウェア更新装置100に送信する(S321)。
SW更新制御部123は、車載GW装置200から受信した移動体側ログファイルと、配信側ログファイルとを照合し、プログラムモジュール毎に配信履歴のOK/NGと受信履歴のOK/NGとをマッチングする(S122)。SW更新制御部123は、配信履歴と受信履歴とで、OK/NGの不一致であるプログラムモジュールが1つでもある場合(S123のYES)、ログファイルの書き換え処理を行う。
SW更新制御部123は、車載GW装置200に、移動体側ログファイルの破棄要求を車載GW装置200に送信する(S124)。車載GW装置200は、ソフトウェア更新装置100から受信したログファイルの破棄要求に基づいて、保存されていた移動体側ログファイルを破棄(削除)する(S323)。
SW更新制御部123は、配信側ログファイルの配信履歴において、配信履歴と受信履歴とでOK/NGの不一致のプログラムモジュール特定し(S125)、不一致のログ全てを配信NGに書き換える(S126)。SW更新制御部123は、配信側ログファイルの書き換えと共に、ログファイルの内容を書き換えた配信側ログファイルと同一の移動体側ログファイルを生成して、車載GW装置200に送信する(S127)。車載GW装置200は、配信側ログファイルと同一の内容のログファイルをソフトウェア更新装置100から受信して、移動体側ログファイルとして記憶部225に記憶する(S324)。
つまり、本実施形態では、配信側ログファイルと移動体側ログファイルのログ内容に不一致が生じている場合、不一致のプログラムモジュールに対する配信側ログファイルの配信履歴と移動体側ログファイルの受信履歴の双方をNGに書き換え、プログラムモジュールを再送するように制御する。例えば、移動体側ログファイルの受信履歴が受信OKであっても、配信側ログファイルの配信履歴が配信NGの場合や、配信側ログファイルの配信履歴が配信OKであっても、移動体側ログファイルの受信履歴が受信NGの場合、ログファイルの内容を一度リセットし(NGに書き換え)、再送処理を行うようにしている。
このように構成することで、ソフトウェアの更新を確実に行うための環境を実現することができる。移動体は、通信環境が変化するため、通信が途中で切断されたりする。つまり、更新用ソフトウェアが移動体側で一括して受信できればよいが、通信環境の変化により、更新用ソフトウェア(プログラムモジュール)全体が完全に受信できないことがある。このような場合、配信側のソフトウェア更新装置100で管理される配信結果だけでは、移動体側の受信状況を把握できず、更新用ソフトウェアに欠損が生ずるおそれがある。
そこで、本実施形態のソフトウェア更新方法は、配信側ログファイルと移動体側ログファイルの双方で配信履歴及び受信履歴を管理し、更新用ソフトウェアの配信が何らかの理由で中断した場合、互いのログファイルを照合して、履歴が不一致なプログラムモジュールについて配信履歴及び受信履歴をNGに書き換えてリセットし、再送するように制御する。
このように構成することで、移動体に確実に更新用ソフトウェアを配信することができ、移動体側ログファイルを参照して、全てのプログラムモジュールが「受信OK」であるとき、該当するソフトウェアの更新を許可するので、ソフトウェアの更新を確実に行うことができる。
一方、ステップS123において、SW更新制御部123は、配信履歴と受信履歴とで、OK/NGの不一致が一つもないと判別された場合、配信側ログファイルを参照して、配信NGのプログラムモジュールを抽出する。その後、ソフトウェア更新装置100は、ステップS116以降の処理を行い、グループ鍵に基づく暗号化、配信、車載GW装置200から受信した受信履歴のログ記録処理を順次行う。車載GW装置200も同様に、ステップS302以降の処理を順次行い、受信履歴のログ記録処理、ログ記録をソフトウェア更新装置100に送信する処理等を順次行う。なお、図11の例は差分更新処理なので、ステップS304は省略される。また、再送されたプログラムモジュールが重複する場合、ソフトウェア更新管理部224は、上書きして保存することができる。
以上、本実施形態について説明したが、車載ゲートウェイ装置200は、車載ゲートウェイシステムとして構成することができる。例えば、通信デバイス210及び制御デバイス220を個別の装置として構成し、これらを相互に接続した車載ゲートウェイシステムとして構成することができる。また、同様に、制御デバイス220の各機能部も、適宜個別の処理装置として構成して、車載ゲートウェイシステムとして構成することもできる。
また、ソフトウェア更新装置100及び車載ゲートウェイ装置200の制御デバイス220の各機能は、プログラムによって実現可能であり、各機能を実現するために予め用意されたコンピュータプログラムが補助記憶装置に格納され、CPU等の制御部が補助記憶装置に格納されたプログラムを主記憶装置に読み出し、主記憶装置に読み出された該プログラムを制御部が実行することで、各部の機能を動作させることができる。
また、上記プログラムは、コンピュータ読取可能な記録媒体に記録された状態で、車載GW装置200に提供することも可能である。コンピュータ読取可能な記録媒体としては、CD-ROM等の光ディスク、DVD-ROM等の相変化型光ディスク、MO(Magnet Optical)やMD(Mini Disk)などの光磁気ディスク、フロッピー(登録商標)ディスクやリムーバブルハードディスクなどの磁気ディスク、コンパクトフラッシュ(登録商標)、スマートメディア、SDメモリカード、メモリスティック等のメモリカードが挙げられる。また、本発明の目的のために特別に設計されて構成された集積回路(ICチップ等)等のハードウェア装置も記録媒体として含まれる。また、通信デバイス210を介して車外ネットワークから車載GW装置200に各部を実現するためのプログラムを提供し、インストールさせることもできる。
なお、本発明の実施形態を説明したが、当該実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。この新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
100 ソフトウェア更新装置
110 通信装置
120 制御装置
121 ソフトウェア管理部(SW管理部)
122 鍵管理部
123 ソフトウェア更新制御部(SW更新制御部)
200 車載ゲートウェイ装置(車載GW装置)
210 通信デバイス
211 車内通信インターフェース
212 車外通信インターフェース
220 制御デバイス
221 車内通信制御部
222 車外通信制御部
223 ゲートウェイ制御部(GW制御部)
223A ネットワーク制御部
2231 ルーティング制御部
2232 プロトコル変換部
2233 セキュリティ部
223B 通信制御部
2234 通信状態監視部
2235 通信経路選択部
2236 監視制御部
2237 Config設定制御部
224 ソフトウェア更新管理部
225 記憶部
300 車両制御システム
110 通信装置
120 制御装置
121 ソフトウェア管理部(SW管理部)
122 鍵管理部
123 ソフトウェア更新制御部(SW更新制御部)
200 車載ゲートウェイ装置(車載GW装置)
210 通信デバイス
211 車内通信インターフェース
212 車外通信インターフェース
220 制御デバイス
221 車内通信制御部
222 車外通信制御部
223 ゲートウェイ制御部(GW制御部)
223A ネットワーク制御部
2231 ルーティング制御部
2232 プロトコル変換部
2233 セキュリティ部
223B 通信制御部
2234 通信状態監視部
2235 通信経路選択部
2236 監視制御部
2237 Config設定制御部
224 ソフトウェア更新管理部
225 記憶部
300 車両制御システム
Claims (5)
- 移動体を制御するための所定のシステムで実行されるソフトウェアを更新するソフトウェア更新システムであって、
移動体内に設けられ、前記所定のシステムと接続される車載ゲートウェイ装置と、ネットワークを介して前記車載ゲートウェイ装置に接続されるソフトウェア更新装置と、を含み、
前記ソフトウェア更新装置は、
前記車載ゲートウェイ装置に配信するソフトウェアに関連する配信側ログ情報を記憶する第1記憶部と、
前記ソフトウェアを前記車載ゲートウェイ装置に配信する配信制御を行うとともに、前記車載ゲートウェイ装置から前記ソフトウェアの受信OK又は受信NGを受信して、前記配信側ログ情報に記録するソフトウェア更新制御部と、を有し、
前記車載ゲートウェイ装置は、
前記配信側ログ情報に対応し、前記ソフトウェア更新装置から配信される前記ソフトウェアの前記受信OK又は受信NGが記録される移動体側ログ情報を記憶する第2記憶部と、
前記ソフトウェアの受信結果に基づいて、前記移動体側ログ情報に前記受信OK又は受信NGを記録するとともに、移動体側の前記受信OK又は受信NGを前記ソフトウェア更新装置に送信するソフトウェア更新管理部と、を有し、
前記ソフトウェア更新管理部は、前記移動体側ログ情報を参照して、前記ソフトウェアの受信履歴が前記受信OKである場合に、前記所定のシステムに対する前記ソフトウェアの更新を許可することを特徴とするソフトウェア更新システム。 - 前記ソフトウェアは、複数のプログラムモジュールで構成され、
前記ソフトウェア更新制御部は、前記複数のプログラムモジュールそれぞれを前記車載ゲートウェイ装置に配信するとともに、前記車載ゲートウェイ装置から前記複数のプログラムモジュールそれぞれの前記受信OK又は前記受信NGを受信して、前記配信側ログ情報に記録し、
前記ソフトウェア更新管理部は、
前記ソフトウェア更新装置から配信される前記複数のプログラムモジュールそれぞれの前記受信OK又は受信NGを前記移動体側ログ情報に記録するとともに、
前記移動体側ログ情報を参照して、前記ソフトウェアを構成する前記複数のプログラムモジュール全ての受信履歴が前記受信OKである場合に、前記所定のシステムに対する前記ソフトウェアの更新を許可することを特徴とする請求項1に記載のソフトウェア更新システム。 - 前記ソフトウェア更新制御部は、
前記車載ゲートウェイ装置から送信される前記移動体側ログ情報と前記配信側ログ情報とをマッチングし、少なくとも1つの前記プログラムモジュールのログ情報の前記受信OK又は前記受信NGが不一致であるか否かを判別するとともに、
不一致であると判別された場合に、前記配信側ログ情報における不一致と判別された前記プログラムモジュールのログ情報を前記受信NGに書き換えて更新するとともに、前記車載ゲートウェイ装置に対して、前記移動体側ログ情報において不一致と判別される前記プログラムモジュールのログ情報を受信NGに更新するように制御し、
更新された前記配信側ログ情報に基づいて、ログ情報が受信NGの前記プログラムモジュールを前記車載ゲートウェイ装置に配信することを特徴とする請求項2に記載のソフトウェア更新システム。 - 前記ソフトウェア更新制御部は、
前記ソフトウェアの前記配信側ログ情報を参照して、少なくとも1つの前記プログラムモジュールのログ情報が前記受信NGであるか否かを判別し、少なくとも1つの前記プログラムモジュールのログ情報が前記受信NGであると判別された場合に、前記車載ゲートウェイ装置に、前記移動体側ログ情報を前記ソフトウェア更新装置に送信させるための送信要求を伝送し、
前記車載ゲートウェイ装置から送信される前記移動体側ログ情報と前記配信側ログ情報とをマッチングし、少なくとも1つの前記プログラムモジュールのログ情報の前記受信OK又は前記受信NGが不一致であると判別された場合に、前記車載ゲートウェイ装置に、前記移動体側ログ情報を破棄させるための破棄要求を伝送し、
不一致と判別された前記プログラムモジュールのログ情報を前記受信NGに書き換えて更新された前記配信側ログ情報とログ内容を同期させた前記移動体側ログ情報を生成して、前記車載ゲートウェイ装置に送信することを特徴とする請求項3に記載のソフトウェア更新システム。 - 前記第1記憶部は、前記所定のシステムで実行される複数の前記ソフトウェア、前記ソフトウェアが適用される複数の移動体を分類する属性、及び複数の移動体がノードとして設定され、各ノードをTree構造で結び付けたソフトウェア管理情報を記憶し、
前記ソフトウェア更新装置は、前記ソフトウェア管理情報の各ノードに、ノード鍵を割り当てるとともに、上位のノードから下位のノードまでの各ノード鍵を複合化して、前記ソフトウェア更新装置及び移動体で共有される移動体別の固有鍵を生成する鍵管理部をさらに有し、
前記ソフトウェア更新制御部は、複数の移動体に配信する前記ソフトウェアのノード鍵を用いて前記ソフトウェアを暗号化して、前記車載ゲートウェイ装置に配信することを特徴とする請求項1から4のいずれか1つに記載のソフトウェア更新システム。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP16920285.0A EP3534257B1 (en) | 2016-10-28 | 2016-10-28 | System for updating software in moving body using vehicle-mounted gateway |
JP2018506621A JP6526906B2 (ja) | 2016-10-28 | 2016-10-28 | 車載ゲートウェイ装置を用いた移動体のソフトウェア更新システム |
PCT/JP2016/082092 WO2018078805A1 (ja) | 2016-10-28 | 2016-10-28 | 車載ゲートウェイ装置を用いた移動体のソフトウェア更新システム |
US16/342,063 US10901724B2 (en) | 2016-10-28 | 2016-10-28 | Software update system for mobile body using vehicle-mounted gateway apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2016/082092 WO2018078805A1 (ja) | 2016-10-28 | 2016-10-28 | 車載ゲートウェイ装置を用いた移動体のソフトウェア更新システム |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2018078805A1 true WO2018078805A1 (ja) | 2018-05-03 |
Family
ID=62023323
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2016/082092 WO2018078805A1 (ja) | 2016-10-28 | 2016-10-28 | 車載ゲートウェイ装置を用いた移動体のソフトウェア更新システム |
Country Status (4)
Country | Link |
---|---|
US (1) | US10901724B2 (ja) |
EP (1) | EP3534257B1 (ja) |
JP (1) | JP6526906B2 (ja) |
WO (1) | WO2018078805A1 (ja) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6436608B1 (ja) * | 2018-08-30 | 2018-12-12 | 三菱日立パワーシステムズインダストリー株式会社 | 車両用保守システム |
CN109358877A (zh) * | 2018-09-30 | 2019-02-19 | 上海碳蓝网络科技有限公司 | 一种用于对用户设备中应用进行升级的方法与设备 |
JP2020198104A (ja) * | 2018-06-12 | 2020-12-10 | ドコモ・システムズ株式会社 | 管理サーバ、通信機器、管理者端末、通信方法 |
JP2020199879A (ja) * | 2019-06-10 | 2020-12-17 | マツダ株式会社 | 車載ネットワークシステム |
JP2021026633A (ja) * | 2019-08-08 | 2021-02-22 | 矢崎エナジーシステム株式会社 | 車載器管理システム |
CN113050967A (zh) * | 2021-03-12 | 2021-06-29 | 卡斯柯信号有限公司 | 一种列车车载软件的远程更新方法 |
JP7545924B2 (ja) | 2021-03-31 | 2024-09-05 | 三菱重工業株式会社 | 管理システム、管理方法、管理プログラム |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7123843B2 (ja) * | 2019-03-29 | 2022-08-23 | 日立Astemo株式会社 | 演算装置、判定方法 |
US11050611B2 (en) * | 2019-09-05 | 2021-06-29 | Ford Global Technologies, Llc | Systems and methods for node configuration settings |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11239126A (ja) | 1998-02-19 | 1999-08-31 | Kodo Ido Tsushin Security Gijutsu Kenkyusho:Kk | グループ暗号通信装置 |
WO2004028112A1 (en) | 2002-09-20 | 2004-04-01 | Qualcomm Incorporated | A communication manager for providing multimedia in a group communication network |
JP2004254120A (ja) | 2003-02-20 | 2004-09-09 | Toyota Motor Corp | 暗号化通信方法、移動端末および移動体 |
JP2013069005A (ja) * | 2011-09-21 | 2013-04-18 | Hitachi Automotive Systems Ltd | 自動車用電子制御装置 |
WO2016158547A1 (ja) * | 2015-03-30 | 2016-10-06 | 本田技研工業株式会社 | プログラム書換装置及びプログラム書換方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10332360B4 (de) * | 2003-07-17 | 2023-06-29 | Abb Schweiz Ag | Verfahren und System zur Verwaltung und Übertragung von Ereignissen einer zu überwachenden technischen Anlage in einer web-basierten Client-Server-Umgebung |
US8290659B2 (en) * | 2003-12-15 | 2012-10-16 | Hitachi, Ltd. | Information updating method of vehicle-mounted control apparatus, update information communication system, vehicle-mounted control apparatus, and information management base station apparatus |
US8938735B2 (en) * | 2007-08-31 | 2015-01-20 | Thomson Reuters Global Resources | Bootstrapper and software download manager |
US7783667B2 (en) * | 2007-11-14 | 2010-08-24 | Sap Ag | Key management and high performance runtime for view business objects |
US10140109B2 (en) | 2014-02-25 | 2018-11-27 | Ford Global Technologies, Llc | Silent in-vehicle software updates |
-
2016
- 2016-10-28 WO PCT/JP2016/082092 patent/WO2018078805A1/ja active Application Filing
- 2016-10-28 EP EP16920285.0A patent/EP3534257B1/en active Active
- 2016-10-28 JP JP2018506621A patent/JP6526906B2/ja active Active
- 2016-10-28 US US16/342,063 patent/US10901724B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11239126A (ja) | 1998-02-19 | 1999-08-31 | Kodo Ido Tsushin Security Gijutsu Kenkyusho:Kk | グループ暗号通信装置 |
WO2004028112A1 (en) | 2002-09-20 | 2004-04-01 | Qualcomm Incorporated | A communication manager for providing multimedia in a group communication network |
JP2004254120A (ja) | 2003-02-20 | 2004-09-09 | Toyota Motor Corp | 暗号化通信方法、移動端末および移動体 |
JP2013069005A (ja) * | 2011-09-21 | 2013-04-18 | Hitachi Automotive Systems Ltd | 自動車用電子制御装置 |
WO2016158547A1 (ja) * | 2015-03-30 | 2016-10-06 | 本田技研工業株式会社 | プログラム書換装置及びプログラム書換方法 |
Non-Patent Citations (1)
Title |
---|
See also references of EP3534257A4 |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020198104A (ja) * | 2018-06-12 | 2020-12-10 | ドコモ・システムズ株式会社 | 管理サーバ、通信機器、管理者端末、通信方法 |
JP7075967B2 (ja) | 2018-06-12 | 2022-05-26 | ドコモ・システムズ株式会社 | 管理サーバ、通信機器、管理者端末、通信方法 |
JP6436608B1 (ja) * | 2018-08-30 | 2018-12-12 | 三菱日立パワーシステムズインダストリー株式会社 | 車両用保守システム |
JP2020035192A (ja) * | 2018-08-30 | 2020-03-05 | 三菱日立パワーシステムズインダストリー株式会社 | 車両用保守システム |
CN109358877A (zh) * | 2018-09-30 | 2019-02-19 | 上海碳蓝网络科技有限公司 | 一种用于对用户设备中应用进行升级的方法与设备 |
CN109358877B (zh) * | 2018-09-30 | 2023-08-18 | 上海碳蓝网络科技有限公司 | 一种用于对用户设备中应用进行升级的方法与设备 |
JP2020199879A (ja) * | 2019-06-10 | 2020-12-17 | マツダ株式会社 | 車載ネットワークシステム |
JP7354600B2 (ja) | 2019-06-10 | 2023-10-03 | マツダ株式会社 | 車載ネットワークシステム |
JP7231514B2 (ja) | 2019-08-08 | 2023-03-01 | 矢崎エナジーシステム株式会社 | 車載器管理システム |
JP2021026633A (ja) * | 2019-08-08 | 2021-02-22 | 矢崎エナジーシステム株式会社 | 車載器管理システム |
CN113050967B (zh) * | 2021-03-12 | 2022-08-26 | 卡斯柯信号有限公司 | 一种列车车载软件的远程更新方法 |
CN113050967A (zh) * | 2021-03-12 | 2021-06-29 | 卡斯柯信号有限公司 | 一种列车车载软件的远程更新方法 |
JP7545924B2 (ja) | 2021-03-31 | 2024-09-05 | 三菱重工業株式会社 | 管理システム、管理方法、管理プログラム |
Also Published As
Publication number | Publication date |
---|---|
EP3534257A1 (en) | 2019-09-04 |
US20190235857A1 (en) | 2019-08-01 |
US10901724B2 (en) | 2021-01-26 |
JPWO2018078805A1 (ja) | 2018-10-25 |
EP3534257A4 (en) | 2020-05-06 |
JP6526906B2 (ja) | 2019-06-05 |
EP3534257B1 (en) | 2021-09-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2018078805A1 (ja) | 車載ゲートウェイ装置を用いた移動体のソフトウェア更新システム | |
CN106576096B (zh) | 用于对具有不等能力的设备的认证的装置、方法及介质 | |
JP2019201423A (ja) | 不正検知ルール更新方法、不正検知電子制御ユニット及び車載ネットワークシステム | |
CN106664311B (zh) | 支持异构电子设备之间差异化的安全通信 | |
US10127804B2 (en) | Trainable transceiver and cloud computing system architecture systems and methods | |
EP3104584B1 (en) | Data synchronization between an in-vehicle computing device and a mobile device | |
US11930021B2 (en) | Unauthorized frame detection device and unauthorized frame detection method | |
US20130070925A1 (en) | Communication device, recording medium, and method thereof | |
CN113056898B (zh) | 获取密钥的方法、装置及密钥管理系统 | |
US20150180840A1 (en) | Firmware upgrade method and system thereof | |
KR20220092606A (ko) | 차량의 업그레이드 패키지를 처리하는 방법 및 장치 | |
WO2015067217A1 (zh) | 汽车信息处理系统、方法、车载装置以及存储介质 | |
US20240179137A1 (en) | Control apparatus, in-vehicle communication system, communication control method and program | |
JP6702581B2 (ja) | 車載ゲートウェイ装置を用いた移動体のソフトウェア更新システム | |
JP2020508595A (ja) | データソースの動作状態に基づくテレメトリデータの処理 | |
JP2024023912A (ja) | 不正検知ルール更新方法、不正検知電子制御ユニット及び車載ネットワークシステム | |
EP3910906A1 (en) | Communication security apparatus, control method, and storage medium storing a program | |
JP7476896B2 (ja) | 中継装置、車両通信方法および車両通信プログラム | |
JP6436608B1 (ja) | 車両用保守システム | |
US20240007271A1 (en) | In-vehicle device, encrypted communication method, and encrypted communication program | |
WO2018016183A1 (ja) | 通信システム及び通信装置 | |
JP7580541B2 (ja) | クロスドメインセキュアコネクション転送方法 | |
JP2008182320A (ja) | 装置認証システム | |
US20150113014A1 (en) | Communication device, method for identifying communication partner identification information, method for transmitting reply information, and recording medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WWE | Wipo information: entry into national phase |
Ref document number: 2018506621 Country of ref document: JP |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 16920285 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
ENP | Entry into the national phase |
Ref document number: 2016920285 Country of ref document: EP Effective date: 20190528 |