WO2024111175A1 - ネットワークシステム、およびネットワーク管理方法 - Google Patents

ネットワークシステム、およびネットワーク管理方法 Download PDF

Info

Publication number
WO2024111175A1
WO2024111175A1 PCT/JP2023/028821 JP2023028821W WO2024111175A1 WO 2024111175 A1 WO2024111175 A1 WO 2024111175A1 JP 2023028821 W JP2023028821 W JP 2023028821W WO 2024111175 A1 WO2024111175 A1 WO 2024111175A1
Authority
WO
WIPO (PCT)
Prior art keywords
communication
application
requirements
network
communication path
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/JP2023/028821
Other languages
English (en)
French (fr)
Inventor
裕司 大石
勇太 武藤
和 三村
功治 前田
隆 村上
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Astemo Ltd
Original Assignee
Hitachi Astemo Ltd
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 Hitachi Astemo Ltd filed Critical Hitachi Astemo Ltd
Priority to CN202380060698.3A priority Critical patent/CN119654848A/zh
Priority to DE112023002997.0T priority patent/DE112023002997T5/de
Publication of WO2024111175A1 publication Critical patent/WO2024111175A1/ja
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • H—ELECTRICITY
    • H04—ELECTRIC COMMUNICATION TECHNIQUE
    • H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5041—Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service
    • H04L41/5054—Automatic deployment of services triggered by the service manager, e.g. service implementation by automatic configuration of network components
    • H—ELECTRICITY
    • H04—ELECTRIC COMMUNICATION TECHNIQUE
    • H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12—Discovery or management of network topologies

Definitions

  • the present invention relates to a network system and a network management method for deploying applications to multiple computing devices on a network.
  • new or updated in-vehicle applications (hereafter simply referred to as apps) are delivered to the vehicle via a wireless network from a server such as the cloud.
  • the delivered apps are then deployed to the vehicle's system and applied/executed.
  • a vehicle system is made up of multiple electronic control units (ECUs) connected via a network.
  • ECU is used as a general term for sensors such as cameras, actuators that operate the engine and steering, etc., and devices that perform calculations for control.
  • the ECU sends and receives data via the in-vehicle network, and obtains information for vehicle control by calculating the data using apps. Sending and receiving data places a strain on the in-vehicle network, but the load on the in-vehicle network varies depending on the placement of the apps.
  • Patent Document 1 discloses a method for selecting an ECU that will run an app when adding an app.
  • an in-vehicle system equipped with multiple ECUs on which additional apps acquired by an app acquisition unit can be installed includes a request specification unit, a resource specification unit, and a selection unit.
  • the request specification unit specifies requested resources, which are resources required by the additional app.
  • the resource specification unit specifies provided resources, which are resources that can be provided by each ECU.
  • the selection unit selects an ECU whose provided resources satisfy the requested resources as the installation destination for the additional app.
  • Patent Document 1 can select the ECU where an app is to be placed based on the ECU's computational resources, but it cannot place apps while taking into account communication resources between ECUs, such as the load status of the in-vehicle network.
  • the present invention has been made in consideration of the above problems, and its purpose is to provide a network system and a network management method that enable the placement of applications taking into account the computing resources of each computing device on the network and the communication resources between the computing devices.
  • the present invention provides a network system that places an application on one of a plurality of computing devices on a network so as to satisfy the execution requirements of the application, the network system comprising: an application requirement storage unit that stores the execution requirements and communication requirements of the application; a free resource information storage unit that stores free resource information of the plurality of computing devices; an application placement selection unit that selects a computing device capable of executing the application from among the plurality of computing devices based on the execution requirements and the free resource information, and creates a list of computing device candidates for application placement; a topology information storage unit that stores topology information indicating the communication connection relationship of the plurality of computing devices; a communication performance information storage unit that stores communication performance information of each link of the network; a communication path selection unit that selects a communication path for the application when the application is placed on each computing device in the computing device candidate list for application placement based on the topology information, and creates a communication path candidate list; a performance verification unit that verifies whether the communication requirements are satisfied by each communication path
  • the present invention also provides a network management method for placing an application on one of a plurality of computing devices on a network so as to satisfy the execution requirements of the application, the method comprising: an application requirement holding step for holding the execution requirements and communication requirements of the application; a free resource information holding step for holding free resource information of the plurality of computing devices; an application placement selection step for selecting a computing device capable of executing the application from among the plurality of computing devices based on the execution requirements and the free resource information, and creating a list of computing device candidates for application placement; a topology information holding step for holding topology information indicating the communication connection relationship of the plurality of computing devices; a communication performance information holding step for holding communication performance information of each link of the network; a communication path selection step for selecting a communication path for the application when the application is placed on each computing device in the computing device candidate list for application placement based on the topology information, and creating a communication path candidate list; a performance verification step for verifying whether the communication requirements are satisfied on each communication path in the communication path candidate list based on the
  • the computing resources of each computing device and the communication resources between the computing devices are taken into consideration, thereby ensuring the execution and communication performance of the app, thereby enabling the app to operate stably.
  • FIG. 1 is a diagram of the electrical and electronic architecture of an in-vehicle device incorporating an in-vehicle network system according to the present invention
  • Hardware configuration diagram of domain ECU, zone ECU, central ECU, and gateway Functional block diagram of an in-vehicle network system according to the present invention is a diagram of the electrical and electronic architecture of an in-vehicle device incorporating an in-vehicle network system according to the present invention.
  • ECU free resource information table held by free resource information holding unit Example of the configuration of OTA data received by the application requirement storage unit via the TCU Application requirement table held by the application requirement holding unit Topology information table held by the topology information holding unit An excerpt from the communication performance information table stored in the communication performance information storage unit Flowchart showing the operation of the application placement selection unit A list of ECU candidates for application placement that is the output of the application placement selection unit Flowchart showing the operation of the communication path selection unit A flowchart showing an example of detailed processing of step S209 in FIG. A flowchart showing an example of detailed processing of step S221 in FIG. 12. An example of the results of executing the process of FIG.
  • FIG. 13 on a network of a zone architecture
  • a list of application communication route candidates output from the communication route selection unit and input to the performance verification unit Flowchart showing the operation of the performance verification unit
  • a flowchart showing an example of detailed processing of step S302 in FIG. A flowchart showing an example of detailed processing of step S303 in FIG. 16.
  • a communication path list output from the performance verification unit and input to the configuration application unit Flowchart showing the operation of the setting application unit
  • FIG. 13 is a configuration diagram of a performance verification unit in the second embodiment.
  • 17 is a flowchart showing the operation of step S305 in FIG. 16 among the operations of the performance verification unit in the second embodiment.
  • a functional block diagram of an in-vehicle network system according to a third embodiment.
  • Application requirement table held by the application requirement holding unit in the fourth embodiment Application requirement table held by the application requirement holding unit in the fourth embodiment
  • Application requirement table held by the application requirement holding unit in the fifth embodiment Flowchart showing the operation of the performance verification unit
  • FIG. 1 shows the electrical and electronic architecture of an in-vehicle device equipped with an in-vehicle network system according to the present invention.
  • Two configurations are shown here as representative electrical and electronic architectures, but the application of the present invention is not limited to these.
  • Figure 1(a) shows the logical structure of an architecture called domain-specific architecture. This is a method of classifying ECUs (electronic control units) inside a vehicle 1 into functional divisions called domains, and systematically connecting ECUs belonging to the same domain.
  • a domain ECU 3 is placed for each domain to manage that domain.
  • the domain ECUs 3 are connected to each other via a gateway 2 to enable communication between domains.
  • domains examples include the ADAS (Advanced Driver Assistance System) domain, which is responsible for safe driving assistance; the PT/CH (Power Train/Chassis) domain, which controls the vehicle's forward/rearward and left/right movements; the BODY domain, which controls electrical equipment such as power windows; and the Infotainment domain, which controls navigation and audio.
  • ADAS Advanced Driver Assistance System
  • PT/CH Power Train/Chassis
  • BODY which controls electrical equipment such as power windows
  • Infotainment domain which controls navigation and audio.
  • An ADAS ECU 3a, PT/CH ECU 3b, BODY ECU 3c, and Infotainment ECU 3d are placed for each domain.
  • ECUs 4, 5 such as sensors 4a-4d (hereinafter collectively referred to as 4) and actuators 5a-5d (hereinafter collectively referred to as 5) are connected to the domain ECU 3 via links 6a-6d (hereinafter collectively referred to as 6) appropriate for each domain, such as a Controller Area Network (CAN) or a Local Interconnect Network (LIN).
  • CAN Controller Area Network
  • LIN Local Interconnect Network
  • Multiple ECUs 4, 5 may be connected to a single link 6.
  • a TCU (Telematics Control Unit) 7 that communicates with servers outside the vehicle, clouds, etc. via a wireless network is connected to the gateway 2.
  • ADAS ECUs and Infotainment ECUs use hardware with high processing performance to handle large volumes of data such as video.
  • PT/CH ECUs use highly reliable hardware to ensure a safe direct connection.
  • Figure 1(b) shows the physical configuration of an architecture called zone architecture.
  • zone architecture This is a method of classifying ECUs 4, 5 according to their spatial positions inside the vehicle 1, and connecting them to zone ECUs 9a to 9d (hereinafter collectively referred to as 9) that manage these positions. It is composed of one or more zone ECUs 9, a central ECU 8 that is connected to the zone ECU 9 and executes multiple applications across multiple domains, and sensors 4 and actuators 5 that are connected to the zone ECU 9.
  • the zone ECUs 9 are arranged corresponding to positions (zones) such as front, rear, left and right in the vehicle, and are connected to sensors 4 or actuators 5, or both, that are close to the installation position.
  • zone ECUs 9 are connected to other zone ECUs 9 by shared links 10 that use a common communication method between domains.
  • the common communication method is assumed to be a switching network using Ethernet (registered trademark).
  • the TCU 7 is connected to the central ECU 8 or any zone ECU 9, but Figure 1(b) shows an example of connection to the central ECU 8.
  • Figure 2 shows the hardware configuration of the domain ECU 3, zone ECU 9, central ECU 8, and gateway 2.
  • the thick lines in Figure 2 represent the common communication method, which is the connection method between communication devices 2 in the zone architecture or domain architecture, and the thin lines represent other communication methods.
  • FIG. 2(a) shows the hardware configuration of the domain ECU 3.
  • a CPU Central Processing Unit
  • FIG. 1 shows the hardware configuration of the domain ECU 3.
  • a CPU Central Processing Unit
  • FIG. 1 shows the hardware configuration of the domain ECU 3.
  • a CPU Central Processing Unit
  • FIG. 1 shows the hardware configuration of the domain ECU 3.
  • a CPU Central Processing Unit
  • FIG. 1 shows the hardware configuration of the domain ECU 3.
  • a CPU Central Processing Unit
  • memory 12 for holding data used for calculations by the CPU 11.
  • From the CPU 11 there are links for connecting to the gateway 2 and to the sensors 4 and actuators 5.
  • FIG. 2(b) shows the hardware configuration of the zone ECU 9.
  • the zone ECU 9 has a network switch 13 that accommodates a shared link 10 for connecting to other zone ECUs 9 or for connecting to the sensor 4 or actuator 5.
  • the zone ECU 9 also has a CPU 11 for processing information received from the sensor 4 and actuator 5 or the shared link 10, and is connected to the network switch 13.
  • the CPU 11 is also connected to a memory 12. If the sensor 4 and actuator 5 support a common communication method, they may be directly connected to the network switch 13. If the sensor 4 and actuator 5 do not support a common communication method, they can be connected to the CPU 11 and converted to the common communication method.
  • FIG. 2(c) shows the hardware configuration of the gateway 2 in the domain-specific architecture.
  • the gateway 2 includes a CPU 11, a memory 12, and a network switch 13 for connecting to the domain ECU 3.
  • FIG. 2(d) shows the hardware configuration of the central ECU 8 in the zone-specific architecture.
  • the central ECU 8 has a configuration similar to that of the gateway 2, and includes a CPU 11, memory 12, and a network switch 13 for connecting to the zone ECUs 9.
  • FIG. 3 is a functional block diagram of an in-vehicle network system according to the present invention.
  • the functional blocks may be implemented as independent devices not shown in FIG. 1, or may be implemented as software and executed by any of the ECUs in FIG. 1.
  • the present invention comprises the following functional blocks: free resource information holding unit 20, application requirement holding unit 21, topology information holding unit 22, communication performance information holding unit 23, application placement selection unit 24, communication path selection unit 25, performance verification unit 26, and setting application unit 27.
  • the free resource information storage unit 20 periodically collects and stores information about the resource status within each ECU, such as free CPU capacity and free memory capacity.
  • the application requirement storage unit 21 stores execution requirements for applications executed by each ECU in the vehicle.
  • the application requirement storage unit 21 stores requirements for applications that are pre-installed when the vehicle is shipped, and requirements for applications added via OTA are received via the TCU 7 together with OTA data. Specific examples of requirements will be explained using Figure 6.
  • the topology information storage unit 22 stores topology information that indicates the connection relationships of the in-vehicle network.
  • the communication performance information storage unit 23 stores performance information of the currently ongoing communication for each link in the in-vehicle network, i.e., the communication resource status between ECUs.
  • the application placement selection unit 24 determines candidate ECUs for placement of the application based on the resource status inside each ECU obtained from the free resource information storage unit 20 and execution requirement information related to the application's ECU internal resources (computational resources) obtained from the application requirement storage unit 21.
  • the communication path selection unit 25 determines communication path candidates for communication performed by the app based on the candidate ECUs for placement of the app determined by the app placement selection unit 24, the communication destination information of the app obtained from the app requirement storage unit 21, and the topology information of the in-vehicle network obtained from the topology information storage unit 22.
  • the performance verification unit 26 verifies the communication performance of the application when the communication route candidate is selected for the application's communication route candidate determined by the communication route selection unit 25, based on the application's communication requirements acquired from the application requirement storage unit 21 and the communication performance information acquired from the communication performance information storage unit 23. From the route candidates that satisfy the communication performance of the application as a result of the verification, one communication route to be actually used is selected.
  • the setting application unit 27 applies the communication path determined by the performance verification unit 26 to the in-vehicle network. To this end, it obtains the data transmission/reception destination addresses of the application from the application requirement storage unit 21, and sets transfer rules in the network switch 13 inside the ECU on the path.
  • FIG. 4 shows the intra-ECU free resource information table 30 held by the free resource information holding unit 20.
  • the intra-ECU free resource information table 30 holds information in a computational resource column 32, a memory resource column 33, and a spec column 34 for an ECU column 31.
  • the specs refer to the characteristics of an ECU, such as high performance and high reliability.
  • FIG. 5 shows an example of the configuration of OTA data 40 received by application requirement storage unit 21 via TCU 7.
  • OTA data 40 includes a header 41 including the application ID, version information, etc., application data 42 storing the code of the application itself in binary format, etc., and metadata 43 related to the application referenced in the present invention.
  • Metadata 43 holds execution requirements 53, communication specifications 58, and communication requirements 64 similar to those in application requirement table 50 shown in FIG. 6, corresponding to communication ID 54, which is an identification number for communication in the application.
  • communication ID 54 which is an identification number for communication in the application.
  • an application performs multiple communications, it has multiple sets of communication ID, execution requirements 53, communication specifications 58, and communication requirements 64. Details of execution requirements 53, communication specifications 58, and communication requirements 64 are the same as those in FIG. 6, and will be explained together with FIG. 6.
  • Application requirement table 50 holds an application column 51 holding the ID of an application, a deployed flag 52 indicating that the application has been deployed to any ECU, execution requirements 53 holding requirements related to ECU internal resources (computational resources), communication specifications 58 holding specifications for communication between ECUs, and communication requirements 64 holding requirements related to communication resources between ECUs.
  • Execution requirements 53 include a computational resource column 55, a storage resource column 56, and a spec column 57.
  • communication specifications 58 include, as application requirements related to communication between ECUs, a communication direction column 59 indicating whether the application is sending or receiving, a communication partner column 60 identifying the communication partner of the application, a communication cycle column 61, a packet size column 62, and application identification information 63 which is information for identifying the application from a communication packet.
  • application identification information include the CAN ID of a CAN, source and destination MAC addresses in Ethernet, source and destination IP addresses in IP (Internet Protocol), and source and destination port numbers in TCP (Transmission Control Protocol) or UDP (User Datagram Protocol).
  • the communication requirements 64 include a communication bandwidth column 65, a communication delay column 66, a jitter column 67, and a discard rate column 68. If a single application performs multiple communications, the application uses multiple rows to represent the multiple communications, as in application A3. Also, if an application does not perform communications, only the execution requirements can be set for the application, as in application A4.
  • FIG. 7 shows a topology information table 70 held by the topology information holding unit 22.
  • the topology information table 70 has a link column 71 representing each link connecting ECUs in the in-vehicle network, a type column 72 indicating whether the type of link is a bus type (a form in which multiple ECUs are connected to one common communication path) or a mesh type (a form in which one ECU is connected one-to-one to another ECU), and a connection information column 73 holding the IDs of the ECUs connected to the link.
  • a link column 71 representing each link connecting ECUs in the in-vehicle network
  • a type column 72 indicating whether the type of link is a bus type (a form in which multiple ECUs are connected to one common communication path) or a mesh type (a form in which one ECU is connected one-to-one to another ECU)
  • a connection information column 73 holding the IDs of the ECUs connected to the link.
  • Figure 8 shows an excerpt from a communication performance information table 80 held by the communication performance information holding unit 23.
  • the communication performance information table 80 has a link column 81, a communication direction 82, a total bandwidth column 83 indicating the total bandwidth of the link for each link and communication direction, a used bandwidth column 84 indicating the bandwidth used by existing applications, a delay time column 85 indicating the maximum delay time, a jitter column 86, a discard rate column 87, and a buffer usage column 88.
  • step S100 the application requirement table 50 is obtained from the application requirement storage unit 21.
  • step S101 the following processing is looped for each application registered in the application requirement table 50.
  • step S102 the placement flag of the target application is checked, and if the application has been placed (Yes), nothing is done and the process moves to the next application. If the application has not been placed (No), steps S103 and after are executed.
  • step S103 it is checked whether the execution requirements of the target application have been registered in the application requirement table 50.
  • step S108 the predefined ECU candidate list is sorted in descending order of total resources, and the ECU is set as a candidate ECU for placement of the application, and the process moves to the next application. If the application has been registered (Yes), the following processing is performed.
  • step S104 the ECU free resource information table 30 is obtained from the free resource information storage unit 20.
  • step S105 from among the ECUs in the ECU free resource information table 30, ECUs whose computational and memory resources are greater than the computational and memory resources in the execution requirements of the app and that satisfy the specifications required by the app are selected, thereby selecting ECUs that satisfy the execution requirements required by the app, and creating a list of candidate ECUs for placement.
  • step S106 the ECU candidate list is sorted in descending order of free resources to determine the candidate ECUs for placement of the app.
  • step S107 it is determined whether the loop for the app has ended, and if processing has been completed for all apps, this processing ends.
  • FIG. 10 shows the application placement ECU candidate list 90, which is the output of the application placement selection unit 24.
  • the application placement ECU candidate list 90 holds placement ECU candidates 92 for each application sequence 91.
  • the application placement ECU candidate list 90 becomes the input to the next communication path selection unit 25.
  • step S200 the application placement ECU candidate list 90 is obtained from the application placement selection unit 24.
  • step S201 the topology information table 70 of the in-vehicle network is obtained from the topology information storage unit 22.
  • step S202 it is confirmed whether the topology information of the in-vehicle network is included in the topology information table 70, and if not (No), default topology information defined in advance is used in step S204. If the topology information is included in step S202 (Yes), the topology information in the topology information table 70 is used in step S203.
  • step S206 communication partner information is obtained from the application requirement storage unit 21 for each communication data (packet) of the application.
  • communication partner information collectively refers to the data sender in received data and the data destination in transmitted data.
  • step S207 the communication partner information is checked, and if information about the communication partner is not included (No), it is determined that communication will not be performed and the processing proceeds to the next application. If information about the communication partner is included in step S207 (Yes), the processing proceeds to step S208 and subsequent steps.
  • step S208 a loop is started for the placement ECU candidates 92 in the application placement ECU candidate list 90.
  • step S209 route candidates from the data transmission source to the data reception destination are obtained by a process defined separately. When the process of S209 is completed for all placement ECU candidates, the loop for the placement ECU candidates is ended in S210.
  • step S211 If processing has been completed for all apps in the app placement destination ECU candidate list 90, the loop ends in step S211, and processing by the communication path selection unit 25 ends.
  • FIG. 12 is a flowchart showing an example of detailed processing of step S209 in FIG. 11.
  • step S220 a loop is started for each communication belonging to the application.
  • step S221 a route from the source ECU to the destination ECU is searched for using a process defined separately.
  • step S222 if the destination ECU is reached, the searched route is added to a route candidate list.
  • step S223 When processing has been completed for all communication data, the loop is ended in step S223, and this process is terminated.
  • FIG. 13 is a flowchart showing an example of detailed processing of step S221 in FIG. 12.
  • a path from the source ECU to the destination ECU is searched for using a breadth-first search, but other search algorithms such as a depth-first search may also be used.
  • FIG. 14 is an example of a search list 100 used in this search process.
  • the search list 100 has a phase 101 indicating the stage of the search, communication path candidates 102 indicating route candidates that have already been searched for from the source ECU to the destination ECU, and a state 103 indicating the state of the communication path candidates 102.
  • step S230 the variable "phase" is set to 0, the source ECU is selected with a status of incomplete, and added to the first entry in the search list.
  • step S231 the phase is incremented by 1.
  • step S232 from among the communication path candidates 102 whose status is incomplete in the search list of the previous phase, ECUs that are directly connected in the topology to the ECU at the end of the path candidates are extracted, and the ECU added to the end of the communication path candidates 102 is added to the search list 100 of the current phase.
  • step S233 a loop is started for the search list 100 of the current phase created as described above.
  • step S234 the status of the communication path candidate 102 is checked.
  • the communication path status 103 is set to "destination reached" in step S235, and is added to the route candidate list, which is the output of the communication path selection unit 25, in step S236.
  • step S234b the end of the communication path candidate 102 is a searched ECU in step S234 (S234b), that is, if the communication path candidate includes multiple identical ECUs
  • the communication path candidate status 103 is set to "searched and reached" in step S237.
  • step S234 S234c
  • the communication path candidate status 103 is set to incomplete in step S238. Then, if processing has been completed up to the end of the search list of the current phase, the loop ends in step S239.
  • step S240 it is checked whether there are any communication path candidates 102 whose status is incomplete in the search list of the current phase, and if there are any communication path candidates 102 whose status is incomplete, the process returns to step S231 to continue. If there are no communication path candidates 102 whose status is incomplete, that is, if the search for the topology of the in-vehicle network is completed, this process ends.
  • Figure 14 shows an example of the results of executing the process of Figure 13 on a network of zone architecture. For those whose status was incomplete in the previous phase, in the current phase, a list of communication path candidates is created by adding the next reachable ECU. Then, in phase 5, the status becomes destination reached (ECU C shown in underline) or searched and reached (ECU A shown in italics), and the search is completed.
  • FIG. 15 shows the application communication path candidate list 110, which is output from the communication path selection unit 25 and input to the performance verification unit 26.
  • the application communication path candidate list 110 holds communication path candidates 112 for an application sequence 111.
  • FIG 16 is a flowchart showing the operation of the performance verification unit 26.
  • step S300 the communication route candidate list 110 for the application is received from the communication route selection unit 25.
  • step S301 a loop is performed for the application listed in the communication route candidate list 110.
  • step S302 communication requirement information for the application is obtained from the application requirement storage unit 21 using a procedure defined separately.
  • step S303 communication performance information for each link on the in-vehicle network is obtained from the communication performance information storage unit 23 using a procedure defined separately.
  • step S304 a loop is performed for the route candidates for the application listed in the communication route candidate list 110.
  • step S305 the communication performance of the application when using the selected route is evaluated from the communication performance information of the route candidate and the communication requirements of the application using a procedure defined separately.
  • the evaluation result is determined in step S306, and if the communication requirements of the application cannot be met (No), the loop for the route candidate list is continued. If a communication path that satisfies the communication requirements of the application exists in step S306 (Yes), the application placement is deemed successful in step S310, and communication path information is output to the setting application unit 27.
  • step S311 the information in the free resource information storage unit 20 and the communication performance information storage unit 23 is updated. If a communication path that satisfies the communication requirements of the application does not exist and the loop ends in step S307, the application placement is deemed to have failed in step S308. Finally, these processes are executed in step S309 until the loop for each application ends.
  • FIG. 17 is a flowchart showing an example of detailed processing of step S302 in FIG. 16. After this processing, the processing is related to a specific application.
  • step S320 communication requirements are obtained from the application requirement storage unit 21 for each communication data of the application. Note that communication requirements are not obtained for applications that do not communicate.
  • step S321 it is checked whether the obtained communication requirement data includes communication requirements of the application, such as communication bandwidth and delay. If communication requirements are included (Yes), in step S322, the communication requirements of the application obtained from the application requirement storage unit 21 are used. If communication requirements are not included in step S321 (No), in step S323, predefined default communication requirements are used.
  • FIG. 18 is a flowchart showing an example of detailed processing of step S303 in FIG. 16.
  • step S330 communication performance information for each link on the in-vehicle network is obtained from the communication performance information storage unit 23.
  • step S331 a loop is started for each link on the in-vehicle network.
  • step S332 it is checked whether or not any communication performance information is included in the communication performance information obtained for each link. If communication performance information is included (Yes), in step S333, the communication performance information obtained from the communication performance information storage unit 23 is used. If communication performance information is not included in step S332 (No), in step S335, it is assumed that no communication is taking place on that link. Once processing has been completed for all links, the loop ends in step S334.
  • FIG 19 is a flowchart showing an example of detailed processing of step S305 in Figure 16.
  • four values, communication bandwidth, delay, jitter, and packet loss rate are calculated by numerical calculation as the communication performance on the link for each application. Since the four values can be calculated independently, the following steps are allowed to be executed either consecutively or in parallel.
  • step S340 a loop is started for each link constituting a route candidate. Steps S341 to S344 can be executed independently.
  • the communication bandwidth of the application is added to the bandwidth used on the link to calculate the communication bandwidth when the application is added.
  • the delay when the application is added is calculated by adding the packet length of the application to the delay on the link.
  • step S343 since the jitter is defined by the maximum packet length transmitted on the link, the jitter on the link is compared with the packet length of the application, and if the packet length of the application is greater than the jitter on the link, the jitter is updated to the packet length of the application.
  • step S344 because the packet loss rate occurs due to overflow of the transmission buffer on the link, the buffer usage on the link plus the packet length of the application is set as SUM, and if SUM is greater than the buffer size, the packet loss rate is calculated using the formula (SUM - buffer size) / SUM.
  • step S345 the loop is terminated for each link that constitutes the route candidate.
  • FIG. 20 shows the communication path list 120 that is output from the performance verification unit 26 and input to the setting application unit 27.
  • the communication path list 120 holds the communication path 122 selected by the performance verification unit 26 for each application sequence 121.
  • step S400 the included applications are extracted from the communication path list 120 received from the performance verification unit 26 to obtain an application list.
  • step S401 the identification information of the applications included in the obtained application list is obtained from the application requirement storage unit 21.
  • step S402 the communication path information is reconstructed, and a communication path setting table 130 is generated in which, for each ECU, the identification information of the application through which the communication data passes corresponds to the next destination ECU of the communication data.
  • An example of the configuration of the communication path setting table 130 will be described with reference to FIG. 22.
  • step S403 the process of step S404 is looped for each ECU in the communication path setting table 130.
  • step S404 the application identification information and the next destination ECU are set for the ECU.
  • step S405 the loop for the ECU in the communication path setting table 130 is ended.
  • the applications included in the application list are placed in the placement destination ECU.
  • the destination ECU is the ECU that is at the beginning of the transmitted data or the end of the received data on the application's communication path.
  • FIG. 22 shows an example of the configuration of the communication path setting table 130 used inside the setting application unit 27.
  • the communication path setting table 130 holds, for an ECU column 131, application identification information 132 of the application through which communication data passes and the next destination ECU 133. Note that for data received by an application in the ECU where the application is located, the destination is represented as the CPU.
  • the above operations allow the in-vehicle network system to place apps in the ECU when a new app is added via OTA, taking into account the computational and storage resources within the ECU and the communication resources between ECUs. App placement can also be performed in a similar manner when updating an existing app via OTA.
  • the system in a network system in which an application is placed on one of a plurality of computing devices 3, 9 present on a network so as to satisfy an execution requirement 53 of the application, the system includes an application requirement holding unit 21 which holds the execution requirement 53 and communication requirement 64 of the application, a free resource information holding unit 20 which holds free resource information of the plurality of computing devices 3, 9, an application placement selection unit 24 which selects a computing device capable of executing the application from the plurality of computing devices 3, 9 based on the execution requirement 53 and the free resource information, and creates an application placement destination computing device candidate list 90, a topology information holding unit 22 which holds topology information indicating a communication connection relationship of the plurality of computing devices 3, 9, and a network configuration information holding unit 23 which holds the network configuration information of the plurality of computing devices 3, 9.
  • the communication path selection unit 25 which selects a communication path of the application when the application is placed on each computing device in the application placement destination computing device candidate list 90 based on the topology information, and creates a communication path candidate list 110; a performance verification unit 26 which verifies whether or not the communication requirement 64 is satisfied on each communication path in the communication path candidate list 110 based on the communication performance information and the communication requirement 64; and a setting application unit 27 which deploys the application on a computing device corresponding to a communication path verified by the performance verification unit 26 to satisfy the communication requirement 64 among the computing devices in the application placement destination computing device candidate list 90.
  • the method in a network management method for placing an application on one of a plurality of computing devices 3, 9 present on a network so as to satisfy an execution requirement 53 of the application, the method includes an application requirement holding step for holding the execution requirement 53 and communication requirement 64 of the application, an available resource information holding step for holding available resource information of the plurality of computing devices 3, 9, an application placement selection step for selecting a computing device capable of executing the application from the plurality of computing devices 3, 9 based on the execution requirement 53 and the available resource information, and creating a candidate computing device list 90 for application placement, a topology information holding step for holding topology information indicating the communication connection relationship of the plurality of computing devices 3, 9, and
  • the method includes a communication performance information holding step for holding communication performance information of each link of the network, a communication path selection step for selecting a communication path of the application when the application is placed on each computing device in the application placement destination computing device candidate list 90 based on the topology information to create a communication path candidate list 110, a performance verification step for verifying whether or not the communication requirement
  • the execution performance and communication performance of the app can be ensured by taking into consideration the computing resources of each computing device 3, 9 and the communication resources between the computing devices, making it possible to operate the app stably.
  • the communication requirements 64 and communication performance information in this embodiment include one or more of the communication bandwidth, communication delay, communication jitter, and packet loss rate of the application. This makes it possible to define the communication requirements 64 and communication performance information of the application.
  • the performance verification unit 26 in this embodiment verifies whether or not the communication requirements 64 are satisfied for each communication path in the communication path candidate list 110 by performing a numerical calculation based on the communication performance information and the communication requirements 64. This makes it possible to easily verify whether or not the communication requirements 64 are satisfied for each communication path in the communication path candidate list 110.
  • the performance verification unit 26 in this embodiment verifies whether or not the communication requirements 64 are satisfied for each communication path in the communication path candidate list 110 by performing a simulation based on the communication performance information and the communication requirements 64. It becomes possible to verify with high accuracy whether or not the communication requirements 64 are satisfied for each communication path in the communication path candidate list 110.
  • the metadata 43 that is input to the network together with the app when the app is deployed includes execution requirements 53 including one or more of computational resources, storage resources, and specifications, communication specifications 58 including one or more of communication direction, communication partner, communication cycle, communication data size, and communication identification information, and communication requirements 64 including one or more of communication bandwidth, communication delay, communication jitter, and packet loss rate.
  • execution requirements 53 including one or more of computational resources, storage resources, and specifications
  • communication specifications 58 including one or more of communication direction, communication partner, communication cycle, communication data size, and communication identification information
  • communication requirements 64 including one or more of communication bandwidth, communication delay, communication jitter, and packet loss rate.
  • the network in this embodiment is an in-vehicle network mounted on a vehicle
  • the multiple computing devices 3, 9 are multiple in-vehicle electronic control devices 3, 9 mounted on the vehicle. This makes it possible to stably operate a newly deployed app on the in-vehicle network.
  • the in-vehicle device in this embodiment also includes the network system. This allows the newly installed app to run stably on the in-vehicle device.
  • the communication requirements 64 in this embodiment include items related to sensor data output from the sensors 4 mounted on the vehicle, control data for controlling the vehicle, and intermediate data obtained during the calculation to derive the control data from the sensor data. This makes it possible to define the communication requirements 64 according to the required performance of the vehicle-mounted device.
  • communication performance is estimated by numerical calculation. This method requires a small amount of calculation and is simple, but the accuracy of the estimation is low. Therefore, in the second embodiment, an alternative method is shown, in which communication performance is estimated by network simulation.
  • Figure 23 is a configuration diagram of the performance verification unit 26 in the second embodiment.
  • the performance verification unit 26 in this embodiment can be configured in two main ways.
  • Figure 23(a) is a configuration diagram when a simulation is performed inside the vehicle.
  • the performance verification unit 26 has a simulation unit 28 inside, which is used to perform performance verification by simulation.
  • Figure 23(b) is a configuration diagram when a simulation is performed outside the vehicle.
  • outside the vehicle means a computing resource other than the vehicle itself, such as the cloud, Multi-access Edge Computing (MEC), a roadside unit, or another vehicle.
  • the performance verification unit 26 communicates with the simulation unit 28 installed outside the vehicle by wireless communication, etc., sends the necessary settings to the simulation unit 28, instructs the simulation unit 28 to perform a simulation, and receives the results from the simulation unit 28.
  • MEC Multi-access Edge Computing
  • FIG. 24 is a flow chart showing the operation of step S305 in FIG. 16, among the operations of the performance verification unit 26 in the second embodiment.
  • step S500 a simulation setting is created.
  • step S501 the simulation unit 28 is operated to execute a simulation.
  • step S502 a performance evaluation result is obtained for each section (link) of the route candidate from the simulation result.
  • the performance evaluation result includes the communication bandwidth, delay, jitter, packet discard rate, etc.
  • the invention of this embodiment enables more accurate performance evaluation, making it possible to increase the number of stored apps and improve the stability of app operation.
  • the network system performance verification unit 26 in this embodiment verifies whether or not the communication requirements 64 are satisfied by each communication path in the communication path candidate list 110 by performing a simulation based on the communication performance information and the communication requirements 64 .
  • the topology of the in-vehicle network is assumed to be fixed. However, the topology of the in-vehicle network can change due to the addition of a new device to the CAN or a communication interruption caused by a hardware abnormality. Therefore, in the third embodiment, an in-vehicle network system that can follow such topology changes is shown.
  • FIG. 25 is a functional block diagram of an in-vehicle network system in the third embodiment. Compared to FIG. 3, a topology change monitoring unit 29 has been added.
  • the topology change monitoring unit 29 monitors the status of the in-vehicle network by detecting "bus failure” or "error state” in the case of CAN, and by using methods such as LLDP (Link Level Discovery Protocol) in the case of Ethernet.
  • the status of the in-vehicle network means whether or not the links on the in-vehicle network are in a state in which communication is possible normally. If the state is normal, no action is taken. If an abnormality is detected, the information on the link is deleted from the topology information table 70 of the topology information storage unit 22 or marked as being in an abnormal state, and the link is not used. After that, the apps are relocated, including the apps that have already been deployed. In other words, the communication path selection unit 25, performance verification unit 26, and setting application unit 27 are operated to set up app deployment and communication paths that avoid the link that has become abnormal.
  • the network system in this embodiment further includes a topology change monitor 29 that detects changes in the network topology and notifies the topology information holder 22 of the changes.
  • the fourth embodiment therefore shows a device that places apps while taking into account the priority between apps.
  • FIG. 26 shows the application requirement table 50 held by the application requirement holding unit 21 in the fourth embodiment.
  • the difference from the first to third embodiments is that a priority column 69 is added to the communication specifications 58.
  • priority is set in eight levels from 0 to 7, with 0 being the lowest priority and 7 being the highest priority.
  • execution requirements 53 and communication requirements 64 are the same as those in the first and third embodiments, so descriptions of the individual columns are omitted.
  • FIG. 27 is a flowchart showing the operation of the application placement selection unit 24 in the fourth embodiment. Processes similar to those in the flowchart of embodiment 1 (FIG. 9) are given the same numbers. The only difference from embodiments 1 to 3 is that the loop process of step S101 is changed to step S600. In step S600, a loop related to applications is performed in descending order of priority in the application requirement table 50 in this embodiment. As a result, the ECU placement and communication path are determined earlier for applications with higher priority.
  • the application requirement holding unit 21 in this embodiment holds a priority for each application, and the application placement selection unit 24 creates the application placement destination computing device candidate list 90 in descending order of priority of the applications.
  • each communication requirement is treated with equal priority, but depending on the application, the degree to which the requirements must be satisfied may differ between communication requirements. Therefore, the fifth embodiment shows a configuration that allows the specification of communication requirements that must be satisfied for each application.
  • FIG. 28 shows the application requirement table 50 held by the application requirement holding unit 21 in the fifth embodiment.
  • the difference from the first to fourth embodiments is that priority columns 69a to 69d for each item of the communication requirement have been added.
  • priority is set on eight levels from 0 to 7, with 0 being the lowest priority and 7 being the highest priority. Using the priority for each item of the communication requirement, applications can be arranged to satisfy communication requirements that should be particularly satisfied for each application.
  • FIG. 29 is a flowchart showing the operation of the performance verification unit 26. Processes similar to those in the flowchart of the first embodiment 1 (FIG. 16) are given the same numbers. The differences from the first embodiment are that step S306 is changed to step S700, and that rather than immediately determining in step S308 that the app placement has failed after step S307 is completed, the lowest priority item is removed from the communication requirements in steps S700 and S701, and then app placement is attempted again.
  • step S700 the application communication performance evaluation is used to determine whether the application's communication performance satisfies the communication requirements with a priority level greater than 0. If it does (Yes), the application placement is deemed successful and steps S310 and onward are executed. If it does not (No), the loop on the route candidate list is terminated in step S307.
  • step S701 the priority of each communication requirement of the application is checked from application requirement table 50. If the priority of two or more communication requirements is greater than 0, it is determined that the communication requirement with the lowest priority greater than 0 can be excluded. If it is determined that it can be excluded in step S701 (Yes), in step S702 the priority of the communication requirement determined to be excludable in step S700 is overwritten with 0. If it is determined that it cannot be excluded in step S701 (No), the process proceeds to step S308 and the application deployment is deemed to have failed.
  • the application requirement storage unit 21 stores a priority for each item of the application's communication requirements 64, and if there are one or more items of the communication requirements 64 that are not satisfied, the performance verification unit 26 excludes the item with the lowest priority from the communication requirements 64 and re-verifies whether the communication requirements 64 are satisfied.
  • the present invention is not limited to the above-mentioned embodiments and includes various modified examples.
  • the above-mentioned embodiments have been described in detail to explain the present invention in an easy-to-understand manner, and the present invention is not necessarily limited to those having all of the configurations described.
  • jitter column 68 ... discard rate column, 69, 69a to 69d ... priority column, 70 ... topology information table, 71 ... link column, 72 ... type column, 73 ... connection information column, 80 ... communication performance information table, 81 ... link column, 82 ... communication direction, 83 ... total bandwidth column, 84 ... bandwidth column, 85 ...
  • delay time column 86 ...jitter column, 87...discard rate column, 88...buffer usage column, 90...list of candidate ECUs for application placement (list of candidate computing devices for application placement), 91...application column, 92...destination ECU candidates, 100...search list, 101...phase, 102...candidate communication paths, 103...state, 110...candidate communication path list, 111...application column, 112...candidate communication paths, 120...communication path list, 121...application column, 122...communication path, 130...communication path setting table, 131...ECU column, 132...application identification information, 133...destination ECU.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Small-Scale Networks (AREA)

Abstract

本発明は、ネットワーク上に存在する各演算装置の演算リソースおよび演算装置間の通信リソースを考慮したアプリケーションの配置が可能なネットワークシステムおよびネットワーク管理方法を提供することを目的とする。そのために、複数の演算装置3,9の通信接続関係を示すトポロジ情報に基づいて、アプリ配置先演算装置候補リスト90内の各演算装置にアプリを配置した場合の前記アプリの通信経路を選択し、通信経路候補リスト110を作成する通信経路選択部25と、通信性能情報と通信要件64とに基づいて、通信経路候補リスト110内の各通信経路にて通信要件64が満たされるか否かを検証する性能検証部26と、アプリ配置先演算装置候補リスト90内の演算装置のうち、性能検証部26によって通信要件64が満たされることが検証された通信経路に対応する演算装置に前記アプリを配置する設定適用部27とを備える。

Description

ネットワークシステム、およびネットワーク管理方法
 本発明は、ネットワーク上に存在する複数の演算装置へのアプリケーションの配置を行うネットワークシステムおよびネットワーク管理方法に関する。
 自動運転や安全運転支援技術は日進月歩であり、今後も進化が続く。自動車メーカにおいてはこれらの技術進歩を新型車両へ適用するだけでなく、販売済み車両にも適用することを検討している。そのための技術にOTA(Over-the-Air)アップデート技術がある。
 OTAでは新規または更新された車載アプリケーション(以降、単にアプリと呼ぶ)を、クラウド等のサーバから無線ネットワークを介して車両へ配信する。車両側では配信されたアプリを車両システムに展開し適用・実行する。
 車両システムは複数の電子制御ユニット(ECU:Electronic Control Unit)がネットワークにより接続された構成となっている。ここでECUはカメラ等のセンサ、エンジンやステアリング等を操作するアクチュエータ、および制御のための演算を実行する装置の総称として用いる。ECUでは車載ネットワークを介してデータを送受信し、アプリによりデータを演算することで車両制御のための情報を得る。データの送受信により車載ネットワークには負荷がかかるが、アプリの配置状況によって車載ネットワークの負荷状況は異なる。
 ここでOTAにより新規アプリが追加された場合、車両システムは新規アプリを実行するECUを選択する必要がある。特許文献1にはアプリ追加時にアプリを実行するECUを選択する方法が開示されている。これは、アプリ取得部の取得した追加アプリをインストール可能なECUを複数備えた車載システムは、要求特定部、リソース特定部、および選択部を備える。要求特定部は、追加アプリの要求するリソースである要求リソースを特定する。リソース特定部は、各ECUの提供可能なリソースである提供リソースを特定する。選択部は、提供リソースが要求リソースを満たしているECUを追加アプリのインストール先として選択する。
特開2020-86522号公報
 特許文献1に記載の発明ではECUの演算リソースに基づいてアプリ配置先のECUを選択することができるが、車載ネットワークの負荷状況などECU間の通信リソースを考慮したアプリ配置を行うことができない。
 本発明は、上記課題に鑑みてなされたものであり、その目的は、ネットワーク上に存在する各演算装置の演算リソースおよび演算装置間の通信リソースを考慮したアプリケーションの配置が可能なネットワークシステムおよびネットワーク管理方法を提供することにある。
 上記目的を達成するために、本発明は、アプリの実行要件を満たすように、ネットワーク上に存在する複数の演算装置のいずれかへ前記アプリを配置するネットワークシステムにおいて、前記アプリの実行要件および通信要件を保持するアプリ要件保持部と、前記複数の演算装置の空きリソース情報を保持する空きリソース情報保持部と、前記実行要件と前記空きリソース情報とに基づいて、前記複数の演算装置の中から前記アプリを実行可能な演算装置を選択し、アプリ配置先演算装置候補リストを作成するアプリ配置選択部と、前記複数の演算装置の通信接続関係を示すトポロジ情報を保持するトポロジ情報保持部と、前記ネットワークの各リンクの通信性能情報を保持する通信性能情報保持部と、前記トポロジ情報に基づいて、前記アプリ配置先演算装置候補リスト内の各演算装置に前記アプリを配置した場合の前記アプリの通信経路を選択して通信経路候補リストを作成する通信経路選択部と、前記通信性能情報と前記通信要件とに基づいて、前記通信経路候補リスト内の各通信経路にて前記通信要件が満たされるか否かを検証する性能検証部と、前記アプリ配置先演算装置候補リスト内の演算装置のうち、前記性能検証部によって前記通信要件が満たされることが検証された通信経路に対応する演算装置に前記アプリを配置する設定適用部とを備えるものとする。
 また、本発明は、アプリの実行要件を満たすように、ネットワーク上に存在する複数の演算装置のいずれかへ前記アプリを配置するネットワーク管理方法において、前記アプリの実行要件および通信要件を保持するアプリ要件保持ステップと、前記複数の演算装置の空きリソース情報を保持する空きリソース情報保持ステップと、前記実行要件と前記空きリソース情報とに基づいて、前記複数の演算装置の中から前記アプリを実行可能な演算装置を選択し、アプリ配置先演算装置候補リストを作成するアプリ配置選択ステップと、前記複数の演算装置の通信接続関係を示すトポロジ情報を保持するトポロジ情報保持ステップと、前記ネットワークの各リンクの通信性能情報を保持する通信性能情報保持ステップと、前記トポロジ情報に基づいて、前記アプリ配置先演算装置候補リスト内の各演算装置に前記アプリを配置した場合の前記アプリの通信経路を選択して通信経路候補リストを作成する通信経路選択ステップと、前記通信性能情報と前記通信要件とに基づいて、前記通信経路候補リスト内の各通信経路にて前記通信要件が満たされるか否かを検証する性能検証ステップと、前記アプリ配置先演算装置候補リスト内の演算装置のうち、前記性能検証ステップによって前記通信要件が満たされることが検証された通信経路に対応する演算装置に前記アプリを配置する設定適用ステップとを備えるものとする。
 本発明によれば、ネットワーク上に存在する複数の演算装置のいずれかへアプリを配置する際に、各演算装置の演算リソースおよび演算装置間の通信リソースを考慮することにより、アプリの実行性能および通信性能を確保することができるため、アプリを安定的に動作させることが可能となる。
本発明による車載ネットワークシステムを搭載する車載装置の電気電子アーキテクチャの図 ドメインECU、ゾーンECU、セントラルECU、およびゲートウェイのハードウェア構成図 本発明による車載ネットワークシステムの機能ブロック図 空きリソース情報保持部の保持するECU内空きリソース情報テーブル アプリ要件保持部がTCU経由で受信するOTAデータの構成例 アプリ要件保持部の保持するアプリ要件テーブル トポロジ情報保持部の保持するトポロジ情報テーブル 通信性能情報保持部の保持する通信性能情報テーブルの抜粋 アプリ配置選択部の動作を表すフローチャート アプリ配置選択部の出力であるアプリ配置先ECU候補リスト 通信経路選択部の動作を表すフローチャート 図11中ステップS209の詳細な処理の一例を示すフローチャート 図12中ステップS221の詳細な処理の一例を示すフローチャート 図13の処理をゾーンアーキテクチャのネットワークに対して実行した結果の例 通信経路選択部から出力され性能検証部へ入力される、アプリの通信経路候補リスト 性能検証部の動作を表すフローチャート 図16中ステップS302の詳細な処理の一例を表すフローチャート 図16中ステップS303の詳細な処理の一例を表すフローチャート 図16中ステップS305の詳細な処理の一例を表すフローチャート 性能検証部から出力され設定適用部へ入力される通信経路リスト 設定適用部の動作を表すフローチャート 設定適用部で使用する通信経路設定テーブルの構成例 第2の実施例における性能検証部の構成図 第2の実施例における性能検証部の動作のうち、図16中ステップS305の動作を示すフローチャート 第3の実施例における車載ネットワークシステムの機能ブロック図 第4の実施例におけるアプリ要件保持部の保持するアプリ要件テーブル 第4の実施例におけるアプリ要件保持部の保持するアプリ要件テーブル 第5の実施例におけるアプリ要件保持部の保持するアプリ要件テーブル 性能検証部の動作を表すフローチャート
 以下、本発明の実施形態について図面を用いて説明する。なお、各図中、同等の要素には同一の符号を付し、重複した説明は適宜省略する。
 以下、図を用いて車載ネットワークシステムの第1の実施例を説明する。
 図1は本発明による車載ネットワークシステムを搭載する車載装置の電気電子アーキテクチャを示す図である。ここでは代表的な電気電子アーキテクチャとして2つの構成を取り上げるが、本発明の適用先はこれに限定されるものではない。
 図1(a)はドメイン別アーキテクチャと呼ばれるアーキテクチャの論理的構成を示す図である。これは車両1内部のECU(車載電子制御装置)をドメインと呼ばれる機能別区分に分類し、同一ドメインに属するECUを体系的に接続する方式である。ドメイン毎にそのドメインを統括するドメインECU3が置かれる。またドメイン間で通信を行うために、ドメインECU3はゲートウェイ2を介して相互に接続される。ドメインには例えば安全運転支援を司るADAS(Advanced Driver Assistance System)ドメイン、車両の前後方向および左右方向の運動を制御するPT/CH(Power Train/Chassis)ドメイン、パワーウィンドウ等の電装機器を制御するBODYドメイン、ナビゲーションやオーディオを制御するInfotainmentドメインなどがある。それぞれのドメインに対してADAS ECU3a、PT/CH ECU3b、BODY ECU3c、Infotainment ECU3d(以下これらをまとめて3とも表記する)が設置される。ドメインECU3にはセンサ4a~4d(以下まとめて4とも表記する)やアクチュエータ5a~5d(以下まとめて5とも表記する)などのECU4,5がCAN(Controller Area Network)、LIN(Local Interconnect Network)等、ドメイン毎に適したリンク6a~6d(以下まとめて6とも表記する)により接続される。単一のリンク6に複数のECU4,5が接続される場合がある。またゲートウェイ2には、車外のサーバやクラウド等と無線ネットワークを介して通信を行うTCU(Telematics Control Unit)7が接続される。
 ドメインECUはどのドメインごとに性能や機能要件が異なることがある。例えばADAS ECUやInfotainment ECUはビデオ等の大容量データを扱うため処理性能の高いハードウェアが用いられる。一方PT/CH ECUは安全に直結するため信頼性の高いハードウェアが用いられる。
 図1(b)はゾーンアーキテクチャと呼ばれるアーキテクチャの物理的構成を示す図である。これはECU4,5を車両1内部の空間的な位置によって分類し、その位置を統括するゾーンECU9a~9d(以下まとめて9とも表記する)へ接続する方式である。1つ以上のゾーンECU9、ゾーンECU9に接続し複数ドメインにまたがる複数のアプリを実行するセントラルECU8、ゾーンECU9に接続するセンサ4およびアクチュエータ5などから構成される。このゾーンECU9はその名の通り、車両内での前後左右等の位置(ゾーン)に対応して配置されており、その設置位置に近接するセンサ4またはアクチュエータ5、あるいはその両方と接続される。またゾーンECU9はドメイン間で共通通信方式を用いた共有リンク10により他のゾーンECU9と接続される。共通通信方式はEthernet(登録商標)によるスイッチングネットワークが想定される。TCU7はセントラルECU8または任意のゾーンECU9に接続されるが、図1(b)ではセントラルECU8に接続する例を示している。
 図2はドメインECU3、ゾーンECU9、セントラルECU8、およびゲートウェイ2のハードウェア構成である。図2中の太線はゾーンアーキテクチャまたはドメインアーキテクチャにおける通信装置2間の接続方式である共通通信方式を表しており、細線はその他の通信方式を表している。
 図2(a)はドメインECU3のハードウェア構成である。ドメインECU3は内部に、センサ4およびアクチュエータ5あるいはゲートウェイ2から受信した情報を処理するためのCPU(Central Processing Unit)11、およびCPU11で演算を行うために用いるデータを保持するメモリ12を持ち、CPU11からはゲートウェイ2へ接続するためのリンクおよびセンサ4やアクチュエータ5へ接続するためのリンクが出ている。
 図2(b)はゾーンECU9のハードウェア構成である。ゾーンECU9は他のゾーンECU9へ接続するため、あるいはセンサ4やアクチュエータ5へ接続するための共有リンク10を収容するネットワークスイッチ13を備える。またゾーンECU9は、センサ4およびアクチュエータ5、あるいは共有リンク10から受信した情報を処理するためのCPU11を備え、ネットワークスイッチ13と接続される。またCPU11はメモリ12とも接続される。センサ4およびアクチュエータ5が共通通信方式に対応している場合はネットワークスイッチ13へ直接接続してよい。センサ4およびアクチュエータ5が共通通信方式に対応していない場合はCPU11へと接続した上で共通通信方式へ変換することができる。
 図2(c)はドメイン別アーキテクチャにおけるゲートウェイ2のハードウェア構成である。ゲートウェイ2は、CPU11、メモリ12、およびドメインECU3へ接続するためのネットワークスイッチ13を備える。
 図2(d)はゾーン別アーキテクチャにおけるセントラルECU8のハードウェア構成である。セントラルECU8は、ゲートウェイ2と概ね同様の構成となっており、CPU11、メモリ12、およびゾーンECU9へ接続するためのネットワークスイッチ13を備える。
 図3は本発明による車載ネットワークシステムの機能ブロック図である。なお機能ブロックは図1に表示のない独立した装置として実装してもよいし、ソフトウェアとして実装し図1中いずれかのECUにて実行してもよい。ソフトウェアとして実装する場合、図1中の任意のECUにて機能を損なうことなく実行可能であるが、典型的には車載ネットワーク全体を管理するために、ドメイン別アーキテクチャであればゲートウェイに、ゾーンアーキテクチャであればセントラルECUに実装されると想定される。
 本発明は空きリソース情報保持部20、アプリ要件保持部21、トポロジ情報保持部22、通信性能情報保持部23、アプリ配置選択部24、通信経路選択部25、性能検証部26、設定適用部27の機能ブロックからなる。
 空きリソース情報保持部20は各ECU内部のリソース状況、例えばCPU空き容量やメモリ空き容量に関する情報を定期的に収集して保持する。
 アプリ要件保持部21は車内の各ECUで実行するアプリに関する実行要件を保持する。アプリ要件保持部21には車両の出荷時においてプリインストールされるアプリの要件は出荷時に格納されているものとし、OTAにより追加されるアプリの要件はOTAデータとともにTCU7を介して受信するものとする。要件の具体例については図6を用いて説明する。
 トポロジ情報保持部22では車載ネットワークの接続関係を表すトポロジ情報を保持する。
 通信性能情報保持部23では車載ネットワーク内の各リンクごとに、現在行われている通信の性能情報、つまりECU間の通信リソース状況を保持する。
 アプリ配置選択部24は空きリソース情報保持部20から取得する各ECU内部のリソース状況およびアプリ要件保持部21から取得するアプリのECU内部リソース(演算リソース)に関する実行要件情報をもとに、アプリの配置先ECU候補を決定する。
 通信経路選択部25はアプリ配置選択部24の決定したアプリの配置先ECU候補、アプリ要件保持部21から取得したアプリの通信先情報、およびトポロジ情報保持部22から取得する車載ネットワークのトポロジ情報をもとに、アプリが行う通信の通信経路候補を決定する。
 性能検証部26は通信経路選択部25の決定したアプリの通信経路候補に対し、アプリ要件保持部21から取得するアプリの通信要件および通信性能情報保持部23から取得した通信の性能情報をもとに、通信経路候補を選択した場合のアプリの通信性能を検証する。検証の結果アプリが通信性能を満たす経路候補より、実際に使用する通信経路を1つ選択する。
 設定適用部27では性能検証部26が決定した通信経路を車載ネットワークへ適用する。そのためにアプリ要件保持部21からアプリのデータ送受信先アドレス等を取得し、経路上のECU内部にあるネットワークスイッチ13に転送ルールを設定する。
 以降、各機能ブロックの詳細について説明する。
 図4は空きリソース情報保持部20の保持するECU内空きリソース情報テーブル30である。ECU内空きリソース情報テーブル30はECU列31に対し、計算リソース列32、記憶リソース列33、およびスペック列34の情報を保持する。スペックは高性能、高信頼等のECUが持つ特性を意味する。
 図5はアプリ要件保持部21がTCU7経由で受信するOTAデータ40の構成例である。OTAデータ40はアプリのID、バージョン情報などを含むヘッダ41、バイナリ形式等でアプリ本体のコードを格納したアプリデータ42、および本発明にて参照するアプリに関するメタデータ43を含む。メタデータ43には当該アプリにおける通信の識別番号である通信ID54に対応して、図6に記載するアプリ要件テーブル50と同様の実行要件53、通信仕様58および通信要件64を保持する。アプリが複数の通信を行う場合は通信ID、実行要件53、通信仕様58および通信要件64の組を複数持つ。実行要件53、通信仕様58および通信要件64の詳細は図6と同様であるので、図6とともに説明する。
 図6はアプリ要件保持部21の保持するアプリ要件テーブル50である。アプリ要件テーブル50はアプリのIDを保持するアプリ列51に対し、アプリがいずれかのECUに配置済みであることを示す配置済みフラグ52、ECU内部リソース(演算リソース)に関する要件を保持する実行要件53、ECU間通信の仕様を保持する通信仕様58およびECU間の通信リソースに関する要件を保持する通信要件64を保持する。実行要件53は計算リソース列55、記憶リソース列56、スペック列57を含む。また通信仕様58はECU間通信に関するアプリの要件として、アプリから見た場合の送信または受信の別を表す通信方向列59、アプリの通信相手を特定する通信相手列60、通信周期列61、パケットサイズ列62、および通信パケットからアプリを特定するための情報であるアプリ識別情報63を含む。アプリ識別情報は例えばCANのCAN ID、イーサネットにおける送信元・宛先MACアドレス、IP(Internet Protocol)における送信元・宛先IPアドレス、TCP(Transmission Control Protocol)またはUDP(User Datagram Protocol)における送信元・宛先ポート番号などがある。通信要件64は通信帯域列65、通信遅延列66、ジッタ列67、および廃棄率列68を含む。なお単一のアプリが複数の通信を行う場合、当該アプリはアプリA3のように複数の行を用いて複数の通信を表現する。また、アプリが通信を行わない場合、当該アプリはアプリA4のように実行要件のみ設定することができる。
 図7はトポロジ情報保持部22の保持するトポロジ情報テーブル70である。トポロジ情報テーブル70は車載ネットワーク内のECU間を接続する各リンクを表すリンク列71に対して、当該リンクの種別がバス型(複数のECUが一つの共通の通信路に接続する形態)であるかメッシュ型(1つのECUが他のECUと一対一で接続する形態)であるかを記載する種別列72および当該リンクに接続されるECUのIDを保持する接続情報列73を持つ。
 図8は通信性能情報保持部23の保持する通信性能情報テーブル80の一部を抜粋したものである。通信性能情報テーブル80はリンク列81に対し、通信方向82を持ち、リンクおよび当該通信方向ごとにリンクの総帯域を表す総帯域列83、既存のアプリによって使用されている帯域を表す使用済み帯域列84、最大の遅延時間を表す遅延時間列85、ジッタ列86、廃棄率列87、およびバッファ使用量列88を持つ。
 図9はアプリ配置選択部24の動作を表すフローチャートである。本フローチャートはOTAによるアプリの追加によるアプリ要件テーブル50の更新を契機として開始される。まずステップS100にてアプリ要件保持部21からアプリ要件テーブル50を取得する。続いてS101にて、アプリ要件テーブル50に登録されているアプリ毎に以下の処理をループする。ステップS102にて対象アプリの配置済みフラグをしらべ、配置済みである場合(Yes)には何も行わず次のアプリの処理へ移る。配置済みでない場合(No)は、ステップS103以降を実行する。ステップS103では対象アプリの実行要件がアプリ要件テーブル50に登録済みであるかを調べる。登録済みでない場合(No)、ステップS108にて事前に定義されたECU候補リストを総リソースの大きい順にソートしアプリの配置先ECU候補として、次のアプリの処理へ移る。登録済みの場合(Yes)、以下の処理を行う。ステップS104にて空きリソース情報保持部20からECU内空きリソース情報テーブル30を取得する。続くステップS105にて、ECU内空きリソース情報テーブル30内のECUのうち、計算リソースおよび記憶リソースがアプリの実行要件にある計算リソースおよび記憶リソースより大きく、かつ、アプリの要求するスペックを満足するECUを選択することにより、アプリの要求する実行要件を満たすECUを選択し、配置先ECU候補リストを作成する。そしてステップS106にてECU候補リストを空きリソースの大きい順にソートしてアプリの配置先ECU候補とする。ステップS107にてアプリに対するループの終了判定を行い、全アプリに対して処理が完了した場合は本処理を終了する。
 図10はアプリ配置選択部24の出力であるアプリ配置先ECU候補リスト90である。アプリ配置先ECU候補リスト90はアプリ列91ごとに配置先ECU候補92を保持する。アプリ配置先ECU候補リスト90は次の通信経路選択部25の入力となる。
 図11は通信経路選択部25の動作を表すフローチャートである。本フローチャートはアプリ配置選択部24からのアプリ配置先ECU候補リスト90の入力を契機として開始される。まずステップS200にてアプリ配置選択部24からのアプリ配置先ECU候補リスト90を取得する。ステップS201にてトポロジ情報保持部22より車載ネットワークのトポロジ情報テーブル70を取得する。ステップS202にてトポロジ情報テーブル70に車載ネットワークのトポロジ情報が含まれているか確認し、含まれていない場合(No)はステップS204にて事前に定義されたデフォルトのトポロジ情報を使用する。ステップS202にてトポロジ情報が含まれる場合(Yes)は、ステップS203にてトポロジ情報テーブル70のトポロジ情報を使用する。
続くステップS205ではアプリ配置先ECU候補リスト90のアプリ列91にあるアプリ毎に以下のループ処理を行う。まずステップS206にてアプリ要件保持部21からアプリの通信データ(パケット)ごとに、通信相手情報を取得する。ここで通信相手情報とは、受信データにおけるデータ送信元、ならびに送信データにおけるデータ宛先を総称していう。ステップS207では前記通信相手情報を調べ、通信相手に関する情報が含まれない場合(No)は通信が行われないものと判断して次のアプリに関する処理に移る。ステップS207で通信相手に関する情報が含まれる場合(Yes)、ステップS208以降に進む。
ステップS208ではアプリ配置先ECU候補リスト90の配置先ECU候補92に対するループを開始する。ステップS209では別途定義する処理によりデータの送信元から受信先までの経路候補を求める。すべての配置先ECU候補に関してS209の処理が完了した場合、S210にて配置先ECU候補に関するループを終了する。
 アプリ配置先ECU候補リスト90のすべてのアプリに関して処理が完了した場合、ステップS211にてループを終了し、通信経路選択部25の処理を終了する。
 図12は図11中ステップS209の詳細な処理の一例を示すフローチャートである。まずステップS220にてアプリに属する通信ごとにループを開始する。続くステップS221では別途定義する処理にて送信元ECUから宛先ECUまでの経路を探索する。そしてステップS222では宛先ECUに到達した場合は探索した経路を経路候補リストへ追加する。すべての通信データに対して処理が完了した場合、ステップS223にてループを終了し、本処理を終了する。
 図13は図12中ステップS221の詳細な処理の一例を示すフローチャートである。ここでは幅優先探索にて送信元ECUから宛先ECUまでの経路を探索するが、深さ優先探索など他の探索アルゴリズムにて実施してもよい。また図14は本探索処理で用いる探索リスト100の例である。探索リスト100は探索の段階を示すフェーズ101、送信元ECUから宛先ECUまでのすでに探索した経路候補を示す通信経路候補102、および通信経路候補102の状態を示す状態103を持つ。
 まずステップS230にて変数「フェーズ」を0に設定、状態を未完了として送信元ECUを選択し、探索リストの最初のエントリに追加する。続くステップS231ではフェーズを1だけ増加する。次いでステップS232では前フェーズの探索リストで状態が未完了である通信経路候補102のうち、経路候補の末尾にあるECUからトポロジ上で直結するECUを抽出の上、通信経路候補102の末尾に追加したものを、現フェーズの探索リスト100に追加する。
 ステップS233では前記のようにして作成した現フェーズの探索リスト100に対してループを開始する。ステップS234にて通信経路候補102の状態をチェックする。まず通信経路候補102の末尾が宛先ECUであった場合(S234a)はステップS235にて通信経路の状態103を「宛先到達」に設定し、ステップS236にて通信経路選択部25の出力である経路候補リストへ追加する。次にステップS234にて通信経路候補102の末尾が探索済みECUであった場合(S234b)、つまり通信経路候補に同一ECUが複数含まれる場合は、ステップS237にて通信経路候補の状態103を「探索済み到達」に設定する。ステップS234にてそれ以外であった場合(S234c)、ステップS238にて通信経路候補の状態103を未完了に設定する。そして現フェーズの探索リスト末尾まで処理が完了した場合、ステップS239にてループを終了する。
 最後にステップS240にて現フェーズの探索リストに状態が未完了の通信経路候補102があるか否かを確認し、状態が未完了の通信経路候補102がある場合はステップS231に戻って処理を継続する。状態が未完了の通信経路候補102がない場合、つまり車載ネットワークのトポロジに対する探索を完了した場合は、本処理を終了する。
 図14は図13の処理をゾーンアーキテクチャのネットワークに対して実行した結果の例である。前フェーズで状態が未完了となったものに対し、現フェーズでは次に到達可能なECUを追加した通信経路候補をリスト化する。そしてフェーズ5にて状態が宛先到達の場合(下線で示すECU Cの箇所)または探索済み到達(イタリック体で示すECU Aの箇所)となり、探索を完了する。
 図15は通信経路選択部25から出力され性能検証部26へ入力される、アプリの通信経路候補リスト110である。アプリの通信経路候補リスト110はアプリ列111に対する通信経路候補112を保持する。
 図16は性能検証部26の動作を表すフローチャートである。まずステップS300にて、通信経路選択部25からアプリの通信経路候補リスト110を受信する。次にステップS301にて通信経路候補リスト110に記載のアプリについてループする。次にステップS302では別途定義する手順にてアプリ要件保持部21よりアプリの通信要件情報を取得する。次にステップS303では別途定義する手順にて通信性能情報保持部23より車載ネットワーク上の各リンクにおける通信性能情報を取得する。次にステップS304にて通信経路候補リスト110に記載の当該アプリに対する経路候補についてループする。次にステップS305にて別途定義する手順により、経路候補の通信性能情報とアプリの通信要件から、選択経路使用時の当該アプリの通信性能を評価する。この評価結果をステップS306にて判定し、アプリの通信要件を満たせない場合(No)は経路候補リストに関するループを継続する。ステップS306にてアプリの通信要件を満たせる通信経路が存在した場合(Yes)、ステップS310にてアプリの配置成功とし、設定適用部27へ通信経路情報を出力する。続いてステップS311にて空きリソース情報保持部お20よび通信性能情報保持部23の情報を更新する。アプリの通信要件を満たせる通信経路が存在せずステップS307にてループが終了した場合、ステップS308にてアプリ配置を失敗とする。最後にこれらの処理をステップS309にてアプリ毎のループが終了するまで実行する。
 図17は図16中ステップS302の詳細な処理の一例を表すフローチャートである。この処理次点で特定アプリに関する処理となっている。まずステップS320にてアプリ要件保持部21より当該アプリの各通信データについて通信要件を取得する。なお通信を行わないアプリについては通信要件を取得しないものとする。次にステップS321にて取得した通信要件データに、通信帯域や遅延などアプリの通信要件が含まれるか否かを調べる。通信要件が含まれる場合(Yes)、ステップS322にてアプリ要件保持部21より取得したアプリの通信要件を使用する。ステップS321にて通信要件が含まれない場合(No)、ステップS323にて事前に定義されたデフォルトの通信要件を使用する。
 図18は図16中ステップS303の詳細な処理の一例を表すフローチャートである。まずステップS330にて、通信性能情報保持部23より車載ネットワーク上の各リンクにおける通信性能情報を取得する。次にステップS331にて車載ネットワーク上のリンクごとにループを開始する。ステップS332にてリンクごとの取得した通信性能情報に何かしらの通信性能情報が含まれるか否かを調べる。通信性能情報が含まれる場合(Yes)、ステップS333にて通信性能情報保持部23より取得した通信性能情報を使用する。ステップS332にて通信性能情報が含まれない場合(No)、ステップS335にて当該リンク上では通信が行われていないものと仮定する。全リンクについて処理を完了すれば、ステップS334にてループを終了する。
 図19は図16中ステップS305の詳細な処理の一例を表すフローチャートである。ここではアプリごとにリンク上の通信性能として、通信帯域、遅延、ジッタ、パケット廃棄率の4つの値を数値計算により求める。前記4つの値は独立に計算可能であるため、以下のステップは連続でも並列でも実行することが許可される。まずステップS340で経路候補を構成する各リンクについてループを開始する。ステップS341からステップS344は独立に実行可能である。ステップS341ではリンク上の使用帯域にアプリの通信帯域を加算することにより、アプリを追加した場合の通信帯域を求める。ステップS342ではリンク上の遅延にアプリのパケット長を加算することにより、アプリを追加した場合の遅延を求める。ステップS343では、ジッタがリンク上に送信されるパケット長の最大値で規定されることより、リンク上のジッタとアプリのパケット長を比較し、リンク上のジッタよりもアプリのパケット長が大きい場合、ジッタをアプリのパケット長に更新する。ステップS344では、パケット廃棄率がリンク上の送信バッファあふれにより発生することより、リンク上のバッファ使用量にアプリのパケット長を加算した値をSUMとし、SUMがバッファサイズよりも大きい場合、パケット廃棄率を(SUM-バッファサイズ)/SUMの式により求める。ステップS345にて経路候補を構成する各リンクについてループを終了する。
 図20は性能検証部26から出力され設定適用部27へ入力される通信経路リスト120である。通信経路リスト120はアプリ列121ごとに性能検証部26によって選択された通信経路122を保持する。
 図21は設定適用部27の動作を表すフローチャートである。まずステップS400にて、性能検証部26より受信した通信経路リスト120から、含まれるアプリを抽出しアプリ一覧を取得する。次にステップS401にて前記取得したアプリ一覧に含まれるアプリについて、その識別情報をアプリ要件保持部21より取得する。次にステップS402にて、通信経路情報を再構成し、ECUごとに、通信データが通過するアプリの識別情報と当該通信データの次の転送先ECUとを対応付けた通信経路設定テーブル130を生成する。通信経路設定テーブル130の構成例は図22を用いて説明する。次にステップS403では、通信経路設定テーブル130のECUごとにステップS404の処理をループする。ステップS404では当該ECUに対し、アプリ識別情報と次の転送先ECUを設定する。ステップS405では通信経路設定テーブル130中のECUに関するループを終了する。最後にアプリ一覧に含まれるアプリについて、配置先ECUへ配置する。配置先ECUはアプリの通信経路において、送信データの先頭または受信データの末尾にあるECUである。
 図22は設定適用部27内部で使用する通信経路設定テーブル130の構成例である。通信経路設定テーブル130はECU列131に対し、通信データが通過するアプリのアプリ識別情報132および次の転送先ECU133を保持する。なおアプリの配置先ECUにおいてアプリが受信するデータは転送先をCPUと表現する。
 以上の動作により、車載ネットワークシステムはOTAによる新規アプリの追加に伴うアプリのECUへの配置を、ECU内の計算・記憶リソースおよびECU間の通信リソースを考慮して行うことができる。またOTAによる既存アプリ更新時にも同様の方法にてアプリ配置を行うことができる。
 (まとめ)
 本実施例では、アプリの実行要件53を満たすように、ネットワーク上に存在する複数の演算装置3,9のいずれかへ前記アプリを配置するネットワークシステムにおいて、前記アプリの実行要件53および通信要件64を保持するアプリ要件保持部21と、複数の演算装置3,9の空きリソース情報を保持する空きリソース情報保持部20と、実行要件53と空きリソース情報とに基づいて、複数の演算装置3,9の中から前記アプリを実行可能な演算装置を選択し、アプリ配置先演算装置候補リスト90を作成するアプリ配置選択部24と、複数の演算装置3,9の通信接続関係を示すトポロジ情報を保持するトポロジ情報保持部22と、前記ネットワークの各リンクの通信性能情報を保持する通信性能情報保持部23と、前記トポロジ情報に基づいて、アプリ配置先演算装置候補リスト90内の各演算装置に前記アプリを配置した場合の前記アプリの通信経路を選択して通信経路候補リスト110を作成する通信経路選択部25と、通信性能情報と通信要件64とに基づいて、通信経路候補リスト110内の各通信経路にて通信要件64が満たされるか否かを検証する性能検証部26と、アプリ配置先演算装置候補リスト90内の演算装置のうち、性能検証部26によって通信要件64が満たされることが検証された通信経路に対応する演算装置に前記アプリを配置する設定適用部27とを備える。
 また、本実施例では、アプリの実行要件53を満たすように、ネットワーク上に存在する複数の演算装置3,9のいずれかへ前記アプリを配置するネットワーク管理方法において、前記アプリの実行要件53および通信要件64を保持するアプリ要件保持ステップと、複数の演算装置3,9の空きリソース情報を保持する空きリソース情報保持ステップと、実行要件53と空きリソース情報とに基づいて、複数の演算装置3,9の中から前記アプリを実行可能な演算装置を選択し、アプリ配置先演算装置候補リスト90を作成するアプリ配置選択ステップと、複数の演算装置3,9の通信接続関係を示すトポロジ情報を保持するトポロジ情報保持ステップと、前記ネットワークの各リンクの通信性能情報を保持する通信性能情報保持ステップと、前記トポロジ情報に基づいて、アプリ配置先演算装置候補リスト90内の各演算装置に前記アプリを配置した場合の前記アプリの通信経路を選択して通信経路候補リスト110を作成する通信経路選択ステップと、通信性能情報と通信要件64とに基づいて、通信経路候補リスト110内の各通信経路にて通信要件64が満たされるか否かを検証する性能検証ステップと、アプリ配置先演算装置候補リスト90内の演算装置のうち、前記性能検証ステップによって通信要件64が満たされることが検証された通信経路に対応する演算装置に前記アプリを配置する設定適用ステップとを備える。
 以上のように構成した本実施例によれば、ネットワーク上に存在する複数の演算装置3,9のいずれかへアプリを配置する際に、各演算装置3,9の演算リソースおよび演算装置間の通信リソースを考慮することにより、アプリの実行性能および通信性能を確保することができるため、アプリを安定的に動作させることが可能となる。
 また、本実施例における通信要件64および通信性能情報は、アプリの通信帯域、通信遅延、通信ジッタ、およびパケット廃棄率のいずれか1つ以上を含む。これにより、アプリの通信要件64および通信性能情報を定義することが可能となる。
 また、本実施例における性能検証部26は、通信経路候補リスト110内の各通信経路にて通信要件64が満たされるか否かを、通信性能情報と通信要件64とに基づく数値計算により検証する。これにより、通信経路候補リスト110内の各通信経路にて通信要件64が満たされるか否かを簡易的に検証することが可能となる。
 また、本実施例における性能検証部26は、通信経路候補リスト110内の各通信経路にて通信要件64が満たされるか否かを、通信性能情報と通信要件64とに基づくシミュレーションにより検証する。通信経路候補リスト110内の各通信経路にて通信要件64が満たされるか否かを高い精度で検証することが可能となる。
 また、本実施例における、前記アプリを配置する際に前記アプリとともに前記ネットワークに入力されるメタデータ43は、計算リソース、記憶リソース、およびスペックのいずれか1以上を含む実行要件53と、通信方向、通信相手、通信周期、通信データサイズ、および通信識別情報のいずれか1以上を含む通信仕様58と、通信帯域、通信遅延、通信ジッタ、パケット廃棄率のいずれか1以上を含む通信要件64とを含む。これにより、アプリの実行要件53、通信仕様58、および通信要件64を定義することが可能となる。
 また、本実施例におけるネットワークは、車両に搭載された車載ネットワークであり、複数の演算装置3,9は、前記車両に搭載された複数の車載電子制御装置3,9である。これにより、車載ネットワークにおいて、新たに配置したアプリを安定的に動作させることが可能となる。
 また、本実施例における車載装置は、前記ネットワークシステムを備える。これにより、車載装置において、新たに配置したアプリを安定的に動作させることが可能となる。
 また、本実施例における通信要件64は、前記車両に搭載されたセンサ4から出力されるセンサデータ、前記車両を制御するための制御データ、および前記センサデータから前記制御データを求める演算の途中で得られる中間データに関する項目を含む。これにより、車載装置の要求性能に応じた通信要件64を定義することが可能となる。
 第1の実施例では数値計算により通信性能を推定した。この方法は計算量が小さく簡便であるが、推定の精度は低い。そこで第2の実施例では別の方法として、ネットワークシミュレーションによる通信性能の推定を行う方法を示す。
 本実施例における主な構成および動作のフローは第1の実施例と同様である。以下、第1の実施例との差分のみ説明することとする。
 図23は第2の実施例における性能検証部26の構成図である。本実施例における性能検証部26は大きく2つの構成が可能である。図23(a)は車内でシミュレーションを実行する場合の構成図である。性能検証部26はその内部にシミュレーション部28を有し、これを用いてシミュレーションによる性能検証を行う。図23(b)は車外でシミュレーションを行う場合の構成図である。ここで車外とは、クラウド、Multi-access Edge Computing(MEC)、路側機、あるいは他の車両など、自車両以外の計算リソースを意味する。性能検証部26は無線通信等により車外に設置されたシミュレーション部28と通信を行い、必要な設定をシミュレーション部28へ送信後にシミュレーション部28へシミュレーション実行を指示し、結果をシミュレーション部28から受信する。
 図24は第2の実施例における性能検証部26の動作のうち、図16中ステップS305の動作を示すフローチャートである。まずステップS500にてシミュレーション設定を作成する。次にステップS501にてシミュレーション部28を動作させ、シミュレーションを実行する。最後にステップS502にてシミュレーション結果より経路候補の区間(リンク)別に性能評価結果を取得する。ここで性能評価結果には通信帯域、遅延、ジッタ、パケット廃棄率などを含む。
 以上により本実施例による発明によって、より精度の高い性能評価が可能となり、収容アプリ数の増加やアプリ動作の安定性向上が可能となる。
 (まとめ)
 本実施例におけるネットワークシステムの性能検証部26は、通信経路候補リスト110内の各通信経路にて通信要件64が満たされるか否かを、通信性能情報と通信要件64とに基づくシミュレーションにより検証する。
 以上のように構成した本実施例によれば、通信経路候補リスト110内の各通信経路にて通信要件64が満たされるか否かを高い精度で検証することが可能となる。
 また、本実施例におけるネットワーク管理方法の性能検証ステップでは、通信経路候補リスト110内の各通信経路にて通信要件64が満たされるか否かを、車両内部の計算機を用いた、通信性能情報と通信要件64とに基づくシミュレーションにより検証する。これにより、ネットワークシステムが外部と通信できない環境下でもシミュレーションを行うことが可能となる。
 また、本実施例におけるネットワーク管理方法の性能検証ステップでは、通信経路候補リスト110内の各通信経路にて通信要件64が満たされるか否かを、車両外部の計算機を用いた、通信性能情報と通信要件64とに基づくシミュレーションにより検証する。これにより、シミュレーションを行うリソースが制限されないため、シミュレーションの精度を向上させることが可能となる。
 第1および第2の実施例においては車載ネットワークのトポロジを固定的なものと仮定していた。一方で車載ネットワークのトポロジは、CAN等への新たなデバイスの追加やハードウェア異常等による通信断にて変化しうる。そこで第3の実施例では、このようなトポロジ変化に対し追従可能な車載ネットワークシステムを示す。
 図25は第3の実施例における車載ネットワークシステムの機能ブロック図である。図3と比較してトポロジ変更監視部29が追加されている。
 トポロジ変更監視部29はCANでは「バス障害」や「エラー状態」により、またイーサネットではLLDP(Link Level Discovery Protocol)等の方式を用いて車載ネットワークの状態を監視する。ここで車載ネットワークの状態とは、車載ネットワーク上のリンクが正常に通信可能な状態であるか否かを意味する。正常状態であれば何も動作は行わない。異常が検出された場合、当該リンクの情報をトポロジ情報保持部22のトポロジ情報テーブル70上で削除するか異常状態としてマークし、使用しないこととする。その後、配置済みアプリを含めてアプリの再配置を行う。つまり通信経路選択部25、性能検証部26、設定適用部27を動作させ、異常状態となったリンクを避けたアプリ配置および通信経路を設定する。
 (まとめ)
 本実施例におけるネットワークシステムは、ネットワークのトポロジ変化を検出してトポロジ情報保持部22に通知するトポロジ変更監視部29をさらに備える。
 以上のように構成した本実施例によれば、ネットワークのトポロジが変化した場合であっても、実行要件53と通信要件64とを満たすようにアプリを演算装置3,9へ配置することが可能となる。
 第1および第2の実施例は複数のアプリがOTAにより追加される場合、アプリ間の追加順序を考慮しない。そのため先に追加されたアプリがECU内部のリソースやECU間の通信リソースを消費してしまい、後から追加するアプリが追加不能となる場合がある。そのため、アプリ間で優先度が異なる場合に、高優先アプリが追加されないこととなる。
 そこで第4の実施例ではアプリ間の優先度を考慮したアプリ配置を行う装置を示す。
 図26は第4の実施例におけるアプリ要件保持部21の保持するアプリ要件テーブル50である。実施例1から3との違いは、通信仕様58に優先度列69が追加される点である。図26では0~7の8段階で優先度を設定しており、0が最低、7が最高の優先度である。なお実行要件53および通信要件64は第1および第3の実施例と同一であるため個別の列の記載を省略している。
 図27は第4の実施例におけるアプリ配置選択部24の動作を表すフローチャートである。実施例1のフローチャート(図9)と同様の処理は同じ番号を付与している。実施例1から3との違いはステップS101のループ処理がステップS600のように変更されている点のみである。ステップS600ではアプリに関するループを本実施例におけるアプリ要件テーブル50の優先度の降順に行う。これにより優先度の高いアプリほど先にECU配置および通信経路が決定される。
 (まとめ)
 本実施例におけるアプリ要件保持部21は、アプリごとに優先度を保持し、アプリ配置選択部24は、優先度の高いアプリから順にアプリ配置先演算装置候補リスト90を作成する。
 以上のように構成した本実施例によれば、優先度の高いアプリから順に演算装置3,9へ配置することが可能となる。
 第1から第4の実施例では通信要件の各項目を等しい優先度で扱っているが、アプリによっては通信要件間で要件を充足すべき度合いが異なる場合がある。そこで第5の実施例では、アプリ毎に特に充足すべき通信要件を指定できる構成を示す。
 図28は第5の実施例におけるアプリ要件保持部21の保持するアプリ要件テーブル50である。第1から第4の実施例との違いは、通信要件の各項目に対する優先度列69a~69dが追加されている点である。図28では0~7の8段階で優先度を設定しており、0が最低、7が最高の優先度である。通信要件の各項目に対する優先度を用いて、アプリ毎に特に充足すべき通信要件を満たすようなアプリ配置を行うことができる。
 図29は性能検証部26の動作を表すフローチャートである。第1の実施例1のフローチャート(図16)と同様の処理は同じ番号を付与している。第1の実施例との違いは、ステップS306がステップS700に変更された点と、ステップS307終了後にすぐステップS308にてアプリ配置失敗とするのではなく、ステップS700およびS701にて最低優先度の項目を通信要件から除外した上で再度アプリ配置を試みる点である。
 ステップS700ではアプリ通信性能評価の結果、アプリの通信性能が優先度が0より大きい通信要件を満たせるか否かを判断する。満たせる場合(Yes)はアプリ配置成功としてステップS310以降を実行する。満たせない場合(No)はステップS307にて経路候補リストに対するループを終了する。
 ステップS701ではアプリ要件テーブル50よりアプリの通信要件毎の優先度を調べる。2つ以上の通信要件にて優先度が0より大きい値である場合、当該優先度が0より大きい通信要件のうち優先度が最も低いものを除外可能と判断する。ステップS701で除外可能と判断された場合(Yes)は、ステップS702ではステップS700で除外可能と判断した通信要件の優先度を0にて上書きする。ステップS701で除外不可能と判断された場合(No)は、ステップS308へと進みアプリ配置失敗とする。
 以上により通信要件のうち特に充足すべき要件を指定し、その要件を満たすアプリ配置を実現することができる。
 (まとめ)
 本実施例におけるアプリ要件保持部21は、アプリの通信要件64の項目ごとに優先度を保持し、性能検証部26は、通信要件64のうち満足されない項目が1つ以上あった場合に、優先度が最も低い項目を通信要件64から除外し、通信要件64が満たされるか否かを再度検証する。
 以上のように構成した本実施例によれば、アプリの通信要件64から優先度の低い項目を除外することにより、より多くのアプリを演算装置3,9へ配置することが可能となる。
 以上、本発明の実施例について詳述したが、本発明は、上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は、本発明を分かり易く説明するために詳細に説明したものであり、本発明は必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成に他の実施例の構成の一部を加えることも可能であり、ある実施例の構成の一部を削除し、あるいは、他の実施例の一部と置き換えることも可能である。
 1…車両、2…ゲートウェイ、3,3a~3d…ドメインECU(演算装置、車載電子制御装置)、4,4a~4d…センサ、5,5a~5d…アクチュエータ、6,6a~6d…リンク、7…TCU、8…セントラルECU(演算装置、車載電子制御装置)、9,9a~9d…ゾーンECU(演算装置、車載電子制御装置)、10…共有リンク、11…CPU、12…メモリ、13…ネットワークスイッチ、20…空きリソース情報保持部、21…アプリ要件保持部、22…トポロジ情報保持部、23…通信性能情報保持部、24…アプリ配置選択部、25…通信経路選択部、26…性能検証部、27…設定適用部、28…シミュレーション部、29…トポロジ変更監視部、30…ECU内空きリソース情報テーブル、31…ECU列、32…計算リソース列、33…記憶リソース列、34…スペック列、40…OTAデータ、41…ヘッダ、42…アプリデータ、43…メタデータ、50…アプリ要件テーブル、51…アプリ列、52…配置済みフラグ、53…実行要件、54…通信ID、55…計算リソース列、56…記憶リソース列、57…スペック列、58…通信仕様、59…通信方向列、60…通信相手列、61…通信周期列、62…パケットサイズ列、63…アプリ識別情報、64…通信要件、65…通信帯域列、66…通信遅延列、67…ジッタ列、68…廃棄率列、69,69a~69d…優先度列、70…トポロジ情報テーブル、71…リンク列、72…種別列、73…接続情報列、80…通信性能情報テーブル、81…リンク列、82…通信方向、83…総帯域列、84…帯域列、85…遅延時間列、86…ジッタ列、87…廃棄率列、88…バッファ使用量列、90…アプリ配置先ECU候補リスト(アプリ配置先演算装置候補リスト)、91…アプリ列、92…配置先ECU候補、100…探索リスト、101…フェーズ、102…通信経路候補、103…状態、110…通信経路候補リスト、111…アプリ列、112…通信経路候補、120…通信経路リスト、121…アプリ列、122…通信経路、130…通信経路設定テーブル、131…ECU列、132…アプリ識別情報、133…転送先ECU。

Claims (15)

  1.  アプリの実行要件を満たすように、ネットワーク上に存在する複数の演算装置のいずれかへ前記アプリを配置するネットワークシステムにおいて、
     前記アプリの実行要件および通信要件を保持するアプリ要件保持部と、
     前記複数の演算装置の空きリソース情報を保持する空きリソース情報保持部と、
     前記実行要件と前記空きリソース情報とに基づいて、前記複数の演算装置の中から前記アプリを実行可能な演算装置を選択し、アプリ配置先演算装置候補リストを作成するアプリ配置選択部と、
     前記複数の演算装置の通信接続関係を示すトポロジ情報を保持するトポロジ情報保持部と、
     前記ネットワークの各リンクの通信性能情報を保持する通信性能情報保持部と、
     前記トポロジ情報に基づいて、前記アプリ配置先演算装置候補リスト内の各演算装置に前記アプリを配置した場合の前記アプリの通信経路を選択して通信経路候補リストを作成する通信経路選択部と、
     前記通信性能情報と前記通信要件とに基づいて、前記通信経路候補リスト内の各通信経路にて前記通信要件が満たされるか否かを検証する性能検証部と、
     前記アプリ配置先演算装置候補リスト内の演算装置のうち、前記性能検証部によって前記通信要件が満たされることが検証された通信経路に対応する演算装置に前記アプリを配置する設定適用部とを備える
     ことを特徴とするネットワークシステム。
  2.  請求項1に記載のネットワークシステムにおいて、
     前記通信要件および前記通信性能情報は、前記アプリの通信帯域、通信遅延、通信ジッタ、およびパケット廃棄率のいずれか1つ以上を含む
     ことを特徴とするネットワークシステム。
  3.  請求項1に記載のネットワークシステムにおいて、
     前記性能検証部は、前記通信経路候補リスト内の各通信経路にて前記通信要件が満たされるか否かを、前記通信性能情報と前記通信要件とに基づく数値計算により検証する
     ことを特徴とするネットワークシステム。
  4.  請求項1に記載のネットワークシステムにおいて、
     前記性能検証部は、前記通信経路候補リスト内の各通信経路にて前記通信要件が満たされるか否かを、前記通信性能情報と前記通信要件とに基づくシミュレーションにより検証する
     ことを特徴とするネットワークシステム。
  5.  請求項1に記載のネットワークシステムにおいて、
     前記ネットワークのトポロジ変化を検出して前記トポロジ情報保持部に通知するトポロジ変更監視部をさらに備える
     ことを特徴とするネットワークシステム。
  6.  請求項1に記載のネットワークシステムにおいて、
     前記アプリ要件保持部は、アプリごとに優先度を保持し、
     前記アプリ配置選択部は、優先度の高いアプリから順に前記アプリ配置先演算装置候補リストを作成する
     ことを特徴とするネットワークシステム。
  7.  請求項1に記載のネットワークシステムにおいて、
     前記アプリ要件保持部は、前記通信要件の項目ごとの優先度を保持し、
     前記性能検証部は、前記通信要件のうち満足されない項目が1つ以上あった場合に、優先度が最も低い項目を前記通信要件から除外し、前記通信要件が満たされるか否かを再度検証する
     ことを特徴とするネットワークシステム。
  8.  請求項1に記載のネットワークシステムにおいて、
     前記アプリを配置する際に前記アプリとともに前記ネットワークに入力されるメタデータは、
     計算リソース、記憶リソース、およびスペックのいずれか1以上を含む実行要件と、
     通信方向、通信相手、通信周期、通信データサイズ、および通信識別情報のいずれか1以上を含む通信仕様と、
     通信帯域、通信遅延、通信ジッタ、パケット廃棄率のいずれか1以上を含む通信要件とを含む
     ことを特徴とするネットワークシステム。
  9.  請求項1に記載のネットワークシステムにおいて、
     前記ネットワークは、車両に搭載された車載ネットワークであり、
     前記複数の演算装置は、前記車両に搭載された複数の車載電子制御装置である
     ことを特徴とするネットワークシステム。
  10.  請求項9に記載のネットワークシステムを備える
     ことを特徴とする車載装置。
  11.  請求項9に記載のネットワークシステムにおいて、
     前記通信要件は、前記車両に搭載されたセンサから出力されるセンサデータ、前記車両を制御するための制御データ、および前記センサデータから前記制御データを求める演算の途中で得られる中間データに関する項目を含む
     ことを特徴とするネットワークシステム。
  12.  アプリの実行要件を満たすように、ネットワーク上に存在する複数の演算装置のいずれかへ前記アプリを配置するネットワーク管理方法において、
     前記アプリの実行要件および通信要件を保持するアプリ要件保持ステップと、
     前記複数の演算装置の空きリソース情報を保持する空きリソース情報保持ステップと、
     前記実行要件と前記空きリソース情報とに基づいて、前記複数の演算装置の中から前記アプリを実行可能な演算装置を選択し、アプリ配置先演算装置候補リストを作成するアプリ配置選択ステップと、
     前記複数の演算装置の通信接続関係を示すトポロジ情報を保持するトポロジ情報保持ステップと、
     前記ネットワークの各リンクの通信性能情報を保持する通信性能情報保持ステップと、
     前記トポロジ情報に基づいて、前記アプリ配置先演算装置候補リスト内の各演算装置に前記アプリを配置した場合の前記アプリの通信経路を選択して通信経路候補リストを作成する通信経路選択ステップと、
     前記通信性能情報と前記通信要件とに基づいて、前記通信経路候補リスト内の各通信経路にて前記通信要件が満たされるか否かを検証する性能検証ステップと、
     前記アプリ配置先演算装置候補リスト内の演算装置のうち、前記性能検証ステップによって前記通信要件が満たされることが検証された通信経路に対応する演算装置に前記アプリを配置する設定適用ステップとを備える
     ことを特徴とするネットワーク管理方法。
  13.  請求項12に記載のネットワーク管理方法において、
     前記ネットワークは、車両に搭載された車載ネットワークであり、
     前記複数の演算装置は、前記車両に搭載された複数の車載電子制御装置である
     ことを特徴とするネットワーク管理方法。
  14.  請求項13に記載のネットワーク管理方法において、
     前記性能検証ステップでは、前記通信経路候補リスト内の各通信経路にて前記通信要件が満たされるか否かを、前記車両内部の計算機を用いた、前記通信性能情報と前記通信要件とに基づくシミュレーションにより検証する
     ことを特徴とするネットワーク管理方法。
  15.  請求項13に記載のネットワーク管理方法において、
     前記性能検証ステップでは、前記通信経路候補リスト内の各通信経路にて前記通信要件が満たされるか否かを、前記車両外部の計算機を用いた、前記通信性能情報と前記通信要件とに基づくシミュレーションにより検証する
     ことを特徴とするネットワーク管理方法。
PCT/JP2023/028821 2022-11-24 2023-08-07 ネットワークシステム、およびネットワーク管理方法 Ceased WO2024111175A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202380060698.3A CN119654848A (zh) 2022-11-24 2023-08-07 网络系统和网络管理方法
DE112023002997.0T DE112023002997T5 (de) 2022-11-24 2023-08-07 Netzwerksystem, fahrzeuginnengerät, und netzwerkverwaltungsverfahren

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2022-187538 2022-11-24
JP2022187538A JP7828268B2 (ja) 2022-11-24 2022-11-24 ネットワークシステム、およびネットワーク管理方法

Publications (1)

Publication Number Publication Date
WO2024111175A1 true WO2024111175A1 (ja) 2024-05-30

Family

ID=91195337

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2023/028821 Ceased WO2024111175A1 (ja) 2022-11-24 2023-08-07 ネットワークシステム、およびネットワーク管理方法

Country Status (4)

Country Link
JP (1) JP7828268B2 (ja)
CN (1) CN119654848A (ja)
DE (1) DE112023002997T5 (ja)
WO (1) WO2024111175A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2026046804A (ja) * 2024-09-03 2026-03-13 株式会社オートネットワーク技術研究所 車載ネットワーク管理システム、車載ネットワーク管理装置および車載ネットワーク管理プログラム

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017143365A (ja) * 2016-02-09 2017-08-17 日本電信電話株式会社 アプリケーション配備システム及び方法
JP2020086522A (ja) * 2018-11-15 2020-06-04 株式会社デンソー 車載システム
JP2020137073A (ja) * 2019-02-25 2020-08-31 日本電信電話株式会社 アプリケーション配置装置及びアプリケーション配置プログラム
JP2020149480A (ja) * 2019-03-14 2020-09-17 富士通株式会社 ソフトウェア配信プログラム、ソフトウェア配信方法、および情報処理装置
JP2021197570A (ja) * 2020-06-09 2021-12-27 株式会社日立製作所 コンピューティングサービス管理装置、方法、およびプログラム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017143365A (ja) * 2016-02-09 2017-08-17 日本電信電話株式会社 アプリケーション配備システム及び方法
JP2020086522A (ja) * 2018-11-15 2020-06-04 株式会社デンソー 車載システム
JP2020137073A (ja) * 2019-02-25 2020-08-31 日本電信電話株式会社 アプリケーション配置装置及びアプリケーション配置プログラム
JP2020149480A (ja) * 2019-03-14 2020-09-17 富士通株式会社 ソフトウェア配信プログラム、ソフトウェア配信方法、および情報処理装置
JP2021197570A (ja) * 2020-06-09 2021-12-27 株式会社日立製作所 コンピューティングサービス管理装置、方法、およびプログラム

Also Published As

Publication number Publication date
CN119654848A (zh) 2025-03-18
JP2024076132A (ja) 2024-06-05
JP7828268B2 (ja) 2026-03-11
DE112023002997T5 (de) 2025-04-30

Similar Documents

Publication Publication Date Title
US7570597B2 (en) Discovery process in a vehicle network
JP2018120422A (ja) 車載通信システム、ドメインマスタ、及びファームウェア更新方法
JP2017212727A (ja) 電子制御ユニット、通信方法及び車載ネットワークシステム
WO2019202965A1 (ja) 車載更新装置、車載更新システム、更新処理方法及び更新処理プログラム
JP4987760B2 (ja) 中継装置、通信システム及び通信方法
CN113168314A (zh) 更新管理装置、更新管理系统及更新管理方法
JP7828268B2 (ja) ネットワークシステム、およびネットワーク管理方法
US10300923B2 (en) Device for storing data in a motor vehicle
CN104683126B (zh) 基于can总线的网络管理方法
US20130151660A1 (en) Delay system, delay device and communication device constituting delay system
CN106506252B (zh) 用于通信节点的符合性测试设备和方法
US10771400B2 (en) Relay device
CN112968821A (zh) 电子控制单元、通信方法以及车载网络系统
JP7839284B2 (ja) スリープ/ウェイクアップ方法、システム、および装置
JP2010231407A (ja) 入出力装置
CN117234187A (zh) 车辆的诊断方法、车辆、设备及存储介质
JP7704038B2 (ja) 中継装置、プログラム及び、中継方法
WO2023063068A1 (ja) 車載装置、プログラム及び、プログラムの更新方法
CN118869573B (zh) 面向分布式存储系统的网络数据流调度方法、设备、程序产品及介质
CN117581515A (zh) 车载控制装置、车载系统、信息处理方法及程序
CN104821888B (zh) 用于运行尤其是机动车的通信网络的方法和装置
JP2013106077A (ja) 経路決定装置、ノード装置及び経路決定方法
CN120186086A (zh) 数据传输方法、系统、设备、存储介质及程序产品
JP5728043B2 (ja) ゲートウェイ装置
EP1632062A1 (en) Vehicle network and method of communicating data packets in a vehicle network

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: 23894191

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 202380060698.3

Country of ref document: CN

WWE Wipo information: entry into national phase

Ref document number: 112023002997

Country of ref document: DE

WWP Wipo information: published in national office

Ref document number: 202380060698.3

Country of ref document: CN

WWP Wipo information: published in national office

Ref document number: 112023002997

Country of ref document: DE

122 Ep: pct application non-entry in european phase

Ref document number: 23894191

Country of ref document: EP

Kind code of ref document: A1