Communication device, communication system, and communication method
The communication device addresses the issue of unintended multiplexing and malfunctions by using a path detection and selection unit to ensure reliable service communication over a single preferred route in multi-protocol environments.
Patent Information
- Application Number
- JP2024031131
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-03-01
- Publication Date
- 2025-09-11
AI Technical Summary
Existing service-oriented communication technologies do not adequately address the issue of unintended communication multiplexing and service malfunctions when the same service is provided over multiple routes using different protocols.
A communication device equipped with a path detection unit and a route selection unit to identify and select a specific communication path based on predetermined conditions, ensuring data communication occurs over a single preferred route even when multiple paths are available.
Prevents unintended communication multiplexing and service malfunctions by selecting an optimal communication path, enabling reliable service communication in multi-protocol environments.
Smart Images

Figure 2025133276000001_ABST
Abstract
Description
[Technical Field]
[0001] The present disclosure relates to a technology for, for example, a communication device mounted on a vehicle. [Background technology]
[0002] Service-oriented communication such as SOME / IP is becoming increasingly popular for communication between devices within a vehicle (i.e., in-vehicle communication). There is also a growing need to introduce service-oriented communication into protocols other than Ethernet communication that can use SOME / IP.
[0003] Here, service-oriented communication is a technology in which a server provides a service (i.e., data) to a client in response to a client's request. Note that SOME / IP is an abbreviation for Scalable service-Oriented Middleware over IP. IP is also an abbreviation for Internet Protocol.
[0004] SOME / IP is a standard for communication between electronic control units (ECUs) in a vehicle via Ethernet using TCP / UDP, which stands for Transmission Control Protocol / User Datagram Protocol.
[0005] For example, the technology described in Patent Document 1 has been proposed as a technology for realizing service communication (i.e., communication that provides services) using multiple protocols. This technology in Patent Document 1 realizes service-oriented communication for both IP communication and non-IP communication, and also realizes route switching in the event of a failure. [Prior art documents] [Patent documents]
[0006] [Patent Document 1] International Publication No. 2021 / 070536 Summary of the Invention [Problem to be solved by the invention]
[0007] However, as a result of detailed investigation by the inventors, the following problems were found in the conventional techniques. When implementing service communication using multiple protocols, there may be cases where the same service is provided over multiple routes, which may result in unintended communication multiplexing or service malfunctions. To avoid this, it is necessary to select an appropriate route from among the routes, but this has not yet been fully considered.
[0008] The technology described in Patent Document 1 does not assume a situation in which services are provided from the same server via multiple protocol routes, and therefore cannot address the above-mentioned problem. An object of one aspect of the present disclosure is to provide a technology capable of suppressing the occurrence of problems when the same service is provided via multiple routes. [Means for solving the problem]
[0009] a) One aspect of the present disclosure relates to a communication device (3) capable of performing data communication with a communication target electronic control device (5) via multiple communication paths (7, 9). The communication device includes a path detection unit (49), a path selection unit (51), and a communication control unit (47).
[0010] The route detection unit is configured to detect a plurality of communication routes that can realize data communication of the same content using different protocols. The route selection unit is configured to select a specific communication route from among the plurality of communication routes detected by the route detection unit, based on a predetermined condition.
[0011] The communication control unit is configured to perform data communication via the communication path selected by the path selection unit. This configuration makes it possible to prevent problems from occurring when the same service is provided over multiple communication paths.
[0012] Specifically, when data communication of the same content (e.g., the same service) is possible over multiple communication paths, it is possible to select which communication path to use for data communication (e.g., determine and select which communication path is preferable for data communication), and then perform data communication over the selected communication path.
[0013] Therefore, as described above, it is possible to avoid the problem of the same service being provided via multiple routes, which can lead to unintended multiplexing of communications and malfunctioning of the service.
[0014] In this way, the present disclosure makes it possible to realize good service communication even in an environment where multi-protocol service-oriented communication is performed and under conditions where there are multiple communication paths of different protocols that can provide services.
[0015] Note that the data communication of the same content means that the content of the data communication (e.g., the service) is the same, and there may be differences in matters unrelated to the content (e.g., the configuration of the communication frame or the configuration due to differences in the protocol).
[0016] b) Another aspect of the present disclosure is a communication system (1) including the communication device (3), the electronic control device (5) that is the communication target, and the plurality of communication paths (7, 9). With this configuration, it is possible to prevent problems from occurring when the same service is provided over multiple communication paths, as described above.
[0017] c) Yet another aspect of the present disclosure relates to a communication method in a communication device (3) capable of performing data communication with a communication target electronic control device (5) via multiple communication paths (7, 9).
[0018] In this communication method, multiple communication paths that can realize data communication of the same content using different protocols are detected, a specific communication path is selected from the multiple detected communication paths based on predetermined conditions, and data communication is carried out via the selected communication path.
[0019] With this configuration, it is possible to prevent problems from occurring when the same service is provided over multiple communication paths, as described above. Furthermore, the symbols in parentheses in this column and in the claims indicate a correspondence with the specific means described in the embodiments described later as one aspect, and do not limit the technical scope of the present disclosure. [Brief explanation of the drawings]
[0020] [Figure 1] 1 is a block diagram showing the overall configuration of a communication system according to an embodiment; [Figure 2] 1 is a block diagram showing a hardware configuration of a communication system according to an embodiment; [Figure 3] FIG. 1 is an explanatory diagram functionally illustrating a communication system according to an embodiment. [Figure 4] FIG. 2 is a sequence diagram illustrating communication between components of a communication system according to an embodiment. [Figure 5] FIG. 2 is an explanatory diagram illustrating a configuration of a service client according to an embodiment. [Figure 6] 10 is an explanatory diagram showing the configuration of a B table stored in a B storage unit of the embodiment. FIG. [Figure 7] 7A is an explanatory diagram showing table A of selection setting example 1, FIG. 7B is an explanatory diagram showing table A of selection setting example 2, and FIG. 7C is an explanatory diagram showing table A of selection setting example 3. In FIG. [Figure 8] 10 is an explanatory diagram showing a flowchart and the like used in selection setting example 1. FIG. [Figure 9] 10 is an explanatory diagram showing a flowchart and the like used in selection setting example 2. FIG. [Figure 10] 10 is a flowchart used in selection setting example 3. DETAILED DESCRIPTION OF THE INVENTION
[0021] Hereinafter, exemplary embodiments of the present disclosure will be described with reference to the drawings. [1. Embodiment] In this embodiment, a technology for a communication system that enables data communication between a communication target electronic control unit and a communication client via a plurality of communication paths will be described.
[0022] [1-1. Overall structure] As shown in FIG. 1, the communication system 1 of this embodiment is an in-vehicle communication system, and includes a communication device (i.e., a client ECU) 3, another electronic control device (i.e., a server ECU) 5 with which the client ECU 3 communicates, different communication paths 7 and 9 that enable data communication between the client ECU 3 and the server ECU 5, and a relay device (i.e., a relay ECU) 11 arranged on one of the communication paths 9.
[0023] The client ECU 3 is a communication client. The different communication paths 7 and 9 are a first service providing path 7 and a second service providing path 9, which are communication interfaces that enable communication according to a predetermined communication standard. ECU is an abbreviation for Electronic Control Unit.
[0024] The number of relay ECUs 11 may be one or more, and the relay ECU 11 may be omitted. [1-2. Composition of each part] Each component will be described below.
[0025] <Client ECU> As shown in FIG. 2, the client ECU 3 includes a client control unit 13, a client communication unit 15, a nonvolatile memory 17, a first port 31, and a second port 33.
[0026] The client control unit 13 is a device that performs various calculation processes related to the operation of the client ECU 3, and is mainly configured from a microcomputer (hereinafter referred to as "microcomputer") having a CPU 13a, a ROM 13b, a RAM 13c, and the like.
[0027] The various functions of the client control unit 13 are realized by the CPU 13a executing a program stored in a non-transitory physical recording medium. In this example, for example, the ROM 13b corresponds to the non-transitory physical recording medium storing the program. Furthermore, by executing this program, a method corresponding to the program is executed.
[0028] The number of microcomputers constituting the client control unit 13 may be one or more. Furthermore, the method of realizing the various functions of the client control unit 13 is not limited to software, and some or all of the elements may be realized using one or more pieces of hardware. For example, when the functions are realized by electronic circuits that are hardware, the electronic circuits may be realized by digital circuits including multiple logic circuits, analog circuits, or a combination of these.
[0029] The client communication unit 15 is a communication device capable of communicating with the server ECU 5 via the communication paths 7 and 9. The first nonvolatile memory 17 may be a flash memory or an EEPROM, which is capable of rewriting various types of data.
[0030] <Server ECU> As shown in FIG. 2, the server ECU 5 is a device having a server function capable of providing information such as services, and includes a server control unit 21, a server communication unit 23, a nonvolatile memory 25, and a plurality of ports (not shown).
[0031] The server control unit 21 is a device that performs various calculation processes related to the operation of the server ECU 5, and similarly to the client ECU 3, is mainly configured with a microcomputer having a CPU 21a, a ROM 21b, a RAM 21c, etc. Note that the various functions of the server control unit 21 are similar to those of the client control unit 13, and therefore description thereof will be omitted.
[0032] The server communication unit 23 is a communication device capable of communicating with the client ECU 3 via the communication paths 7 and 9. The nonvolatile memory 25 may be a flash memory or an EEPROM, which allows various data to be rewritten.
[0033] <Communication path> The server ECU 5 and the client ECU 3 are connected via a first service providing path 7. Data is transmitted and received over this first service providing path 7 using, for example, a first protocol of the IP system, specifically, Ethernet. Ethernet is a registered trademark. Note that this Ethernet enables service-oriented communication using, for example, SOME / IP.
[0034] The server ECU 5 and the client ECU 3 are connected by a second service providing path 9, and a relay ECU 11 is disposed along the second service providing path 9. The relay ECU 11 has a configuration of a service proxy 11a, and the service proxy 11a has a function of converting communication according to an IP protocol using an IP address into communication according to a non-IP protocol and relaying the communication.
[0035] Of the second service providing path 9, the server ECU 5 and the relay ECU 11 are connected by a second server-side path 9a, and the relay ECU 11 and the client ECU 3 are connected by a second client-side path 9b.
[0036] The second server-side path 9a transmits and receives data using, for example, a first IP protocol, specifically Ethernet. The second client-side path 9b transmits and receives data using, for example, a second non-IP protocol, specifically CAN. CAN is an abbreviation for Controller Area Network and is a registered trademark.
[0037] In the client ECU 3, the first port 31 is connected to the first service providing path 7, and the second port 33 is connected to the second service providing path 9 (i.e., the second client-side path 9b). In the absence of the relay ECU 11, the second service providing path 9 can be configured as the second client-side path 9b.
[0038] [1-3.Functional configuration] Next, the configuration of the communication system 1 will be described functionally. <Client ECU> 3, the client ECU 3, as a service client 41, functionally comprises a C-side service control unit 43, an information storage unit 45, and a C-side service communication unit 47. The C-side service control unit 43 is a client-side service control unit, and comprises a route detection unit 49 and a route selection unit 51. Each component will be functionally described below.
[0039] The C-side service control unit 43 has the function of detecting communication paths 7, 9, which are paths for multiple service communications (i.e., communications that provide services), selecting a service communication path from the detected multiple communication paths 7, 9 in accordance with predetermined settings, and establishing the communication path.
[0040] Specifically, the route detection unit 49 has a function of detecting the existence of multiple communication routes 7, 9 that can realize data communication of the same content using different protocols. Also, the route selection unit 51 has a function of selecting a specific communication route from the multiple communication routes 7, 9 detected by the route detection unit 49 based on predetermined conditions.
[0041] The C-side service control unit 43 can be realized by the configuration of the client control unit 13 and the like. The information storage unit 45 corresponds to a memory such as the nonvolatile memory 17, and has a function of storing and holding various data using the memory. This information includes information about the communication paths 7, 9 that are given priority for data communication. For example, the information includes information about the predetermined conditions for selecting a communication path that will actually carry out data communication (i.e., provide a service) from the multiple communication paths 7, 9.
[0042] The C-side service communication unit 47 is a client-side service communication unit and has a function as a communication control unit. Specifically, it has a function to perform service communication via the communication path established by the C-side service control unit 43 (i.e., the selected communication path). In other words, the C-side service communication unit 47 has a function to perform data communication via the communication path selected by the path selection unit 51.
[0043] The C-side service communication unit 47 can be realized by the configuration of the client control unit 13, the client communication unit 15, and the like. <Server ECU> As shown in FIG. 3, the server ECU 5 functions as a service server 53 and includes an S-side service control unit 55 and an S-side service communication unit 57.
[0044] The S-side service control unit 55 is a server-side service control unit, and has the function of performing various processes required for data communication (i.e., service communication) with the client ECU 3. The S-side service communication unit 57 is a server-side service communication unit, and has the function of performing service communication with the client ECU 3.
[0045] [1-4. Service-oriented communication] Next, a description will be given of service-oriented communication performed between the client ECU 3 and the server ECU 5. Here, an example will be described in which, regarding a service provided from the server ECU 5 to the client ECU 3, the client ECU 3 receives an offer for the service, selects the communication paths 7 and 9, and receives the service from the server ECU 5.
[0046] 4, first, in process (hereinafter, SH) 1, a service request is made from C-side service communication unit 47 to C-side service control unit 43. This service request means that C-side service communication unit 47 notifies C-side service control unit 43 of information on a required service, and requests that when the required service is found in the network (i.e., communication system 1), the C-side service communication unit 47 notify C-side service control unit 43.
[0047] In SH2, the S-side service control unit 55 sends a service provision notification to the C-side service control unit 43 using the server communication unit 23 etc. The service provision notification is a message that the service server 53 that provides the service sends to the network to notify the network of information about the services that it can provide. Note that the service provision notification includes, for example, some or all of the information in Table B shown in Fig. 6, which will be described later.
[0048] In the SH3, the C-side service control unit 43 updates the service information, that is, the information on the service received in the SH2 is updated. In SH4, the C-side service control unit 43 sends a service event subscription request to the S-side service control unit 55 using the client communication unit 15 etc. For example, the C-side service control unit 43 requests the service client 41 to send information (i.e., events) that needs to be sent by the service server 53, such as information that is periodically sent from the service server 53 side.
[0049] In the SH5, the S-side service control unit 55 sends a service event subscription response to the C-side service control unit 43. That is, an ACK response, which is a well-known reply to the SH4, is sent.
[0050] In SH6, the C-side service control unit 43 notifies the C-side service communication unit 47 of the service subscription. That is, the C-side service control unit 43 notifies the C-side service communication unit 47 that the message requested in SH1 has been found.
[0051] In the SH 7, the S-side service control unit 55 sets up a service path and notifies the S-side service communication unit 57. That is, the SH 7 sets up communication paths (i.e., service paths) 7 and 9 for providing the service, and notifies the S-side service communication unit 57 of information on which communication path 7 or 9 the service will be provided over.
[0052] In addition, in SH8, the S-side service control unit 55 notifies the service proxy 11a of the service provision. Then, in SH9, the service proxy 11a notifies the C-side service control unit 43 of the service provision.
[0053] In the SH 10, the C-side service control unit 43 updates the service information, that is, the information on the service received in the SH 9 is updated. <Service route updated> Next, a process when a service route is updated will be described. Note that, here, an example will be described in which, before the update, a service is provided via the first service providing route 7, and after the update, the service is provided via the second service providing route 9.
[0054] In SH 11, the C-side service control unit 43 sends a service event subscription update notification to the service proxy 11a. The service event subscription update notification is a notification message to the service server 53 to request that the service (i.e., event) be provided over a new communication path. In other words, this service event subscription update notification represents a series of messages, such as canceling the subscription to the service over the old communication path and issuing a new service event subscription request over the new communication path.
[0055] In the SH 12, the service proxy 11a notifies the S-side service control unit 55 of the service event subscription update. In the SH 13, a service event subscription update response is sent to the service proxy 11a from the S-side service control unit 55. This service event subscription update response is a response to the service event subscription update notification from the SH 12.
[0056] In SH 14, the service proxy 11a sends the service event subscription update response to the C-side service control unit 43. In SH15, the C-side service control unit 43 notifies the C-side service communication unit 47 of the service update. That is, the C-side service control unit 43 notifies the C-side service communication unit 47 that the requested service will be received via a new communication path.
[0057] In SH16, the S-side service control unit 55 notifies the S-side service communication unit 57 of the updated service route. Here, it is notified that the updated service route is, for example, the second service providing route 9.
[0058] In SH17, the S-side service communication unit 57 transmits service data to the service proxy 11a. That is, data that is the content of the service provided by data communication is transmitted.
[0059] In SH18, the service proxy 11a transmits the service data to the C-side service communication unit 47. <No service route update> Next, a process when there is no update of the service route will be described. Note that, here, a case where the service is provided via the first service providing route 7 before the update will be described as an example.
[0060] In the SH 19 , the S-side service communication unit 57 transmits the service data to the C-side service communication unit 47 via the first service providing path 7 . [1-5. Service client functions] Next, the configuration and functions of the service client 41 used in the above-mentioned service-oriented communication will be described in detail.
[0061] 5, the service client 41 includes the above-mentioned C-side service communication unit 47, C-side service control unit 43, and information storage unit 45. The nonvolatile memory 17 used by the information storage unit 45 includes an A storage unit 17a and a B storage unit 17b.
[0062] As described above, for example, the service server 53 provides a service provision notification to the C-side service control unit 43, and the C-side service control unit 43 provides a service subscription notification to the C-side service communication unit 47.
[0063] The B storage unit 17b stores (ie, holds) information (ie, service information) that associates identification information of each data communication with a server address and a communication interface. Specifically, as shown in FIG. 6, the B memory unit 17b stores a B table that lists a service ID, which is identification information indicating the distinction between services, a server address indicating the address of a server such as the server ECU 5, and a communication interface corresponding to the communication paths 7 and 9.
[0064] In this embodiment, in Table B and Table A, which will be described later, the columns for communication interfaces corresponding to the communication paths 7 and 9 contain communication standards such as Ethernet and CAN that correspond to each communication interface.
[0065] In addition, if multiple communication standards (e.g., Ethernet and CAN) are used in a certain communication path (e.g., one communication path 9 having a relay ECU 11), the communication standard of the communication path connected to the client ECU 3 (e.g., the second client side path 9b) is described.
[0066] In Table B of each figure, a circle in the valid column (that is, valid) indicates that communication is possible through the valid communication interface. Moreover, the content of the B table can be updated by providing the above-mentioned service information from the C-side service control unit 43 to the B storage unit 17b.
[0067] As will be described later, the A storage unit 17a stores information (i.e., selection information) used when selecting communication paths (i.e., communication interfaces using Ethernet or CAN) 7 and 9. That is, the A storage unit 17a stores at least one of various A tables as shown in FIG.
[0068] Therefore, the C-side service control unit 43 can obtain the selection information written in the A table by accessing the A storage unit 17a. Here, the contents of each A table will be explained.
[0069] 7A shows a service subscription selection setting example 1. That is, it shows an example in which a preferred (i.e., selected) communication interface is specified as selection information. In this selection setting example 1, there is provided a table A in which information on the communication interface to be prioritized is stored for each service (that is, service ID).
[0070] Therefore, for example, when the service ID is 2, a communication interface using Ethernet (for example, data communication using the first service providing path 7) is selected as the communication interface.
[0071] 7B shows a service subscription selection setting example 2. That is, this shows an example in which the number of relay ECUs 11 (that is, the number of relays) is used as selection information. In this selective setting example 2, a configuration is made in which priority is given to a communication interface with a smaller number of relays using table A, which contains information on the number of relays for each communication interface.
[0072] Therefore, for example, if there is a communication interface using a CAN with one relay and a communication interface using an Ethernet with zero relays, the communication interface using the Ethernet with fewer relays (for example, data communication using the first service provision path 7) will be selected.
[0073] 7C shows a service subscription selection setting example 3. That is, this shows an example in which information included in a server provision notification (for example, a server address) is used as selection information. In this selection setting example 3, for example, a communication interface to be used preferentially is designated based on a server address notified in a service provision notification. Note that this example shows a case where there are multiple servers and each server has its own communication path leading to the client ECU 3.
[0074] [1-6. Control Processing] Next, among the processes performed by the client ECU 3 of this embodiment, the process of selecting a communication interface will be described with reference to FIGS.
[0075] <Selection setting example 1> First, the process for selection setting example 1 will be described with reference to Fig. 8. Here, table B shown in Fig. 8 is used.
[0076] 8, when a service provision notification is received from the server ECU 5, the information linking the service ID with the communication interface (for example, a communication path via Ethernet or CAN) is updated in step (hereinafter, S) 100. That is, the information received in the notification of this service provision is added to update the entire B table.
[0077] In the next step S110, it is determined whether there is existing information whose service ID matches the updated information (i.e., the added information) and whose communication interface is different. If the determination here is affirmative (YES), the process proceeds to step S120, whereas if the determination here is negative (NO), the process proceeds to step S140.
[0078] In S120, for example, since the same service provision notification is received from both Ethernet and CAN, a record with a matching service ID is obtained from Table A shown in FIG. 7A, which is the configuration.
[0079] In the next step S130, it is determined whether the communication interface in the acquired record matches the communication interface that received the service provision notification this time. If the determination here is affirmative, the process proceeds to step S150, whereas if the determination here is negative, the process is temporarily terminated.
[0080] In S150, since the newly received service provision notification is the priority interface (i.e., the communication interface to be selected), the communication interface to be used for the service is updated. In other words, the communication interface is changed to the communication interface indicated in the newly received service provision notification, and this process is temporarily terminated.
[0081] If a negative determination is made in S110, the process proceeds to S140, where it is determined whether or not there is existing information whose service ID matches the updated information. If a positive determination is made here, the process ends temporarily, whereas if a negative determination is made, the process proceeds to S150, where processing is performed, and then the process ends temporarily.
[0082] <Selection setting example 2> Next, the process for the selective setting example 2 will be described with reference to Fig. 9. Here, table B shown in Fig. 9 is used.
[0083] 9, when a service provision notification is received from the server ECU 5, in S200, the information linking the service ID, the number of relays (i.e., the number of relay ECUs 11), and the communication interface is updated. That is, the information received in the current service provision notification is added to update the entire table B.
[0084] In the next step S210, it is determined whether there is existing information whose service ID matches the updated information (i.e., the added information) and whose number of relays is different. If the determination is affirmative, the process proceeds to step S220; if the determination is negative, the process proceeds to step S240.
[0085] In S220, for example, since the same service provision notification is received from both Ethernet and CAN, the record of the matching service ID is obtained from Table A shown in FIG. 7B, which is the configuration.
[0086] In the next step S230, it is determined whether the updated information indicates the smallest number of relays. If the determination here is affirmative, the process proceeds to step S250, whereas if the determination here is negative, the process is temporarily terminated. In S250, since the updated information indicates the communication interface with the fewest relays, the communication interface to be used for the service is updated to the communication interface with the fewest relays indicated in the newly received service provision notification, and this process is terminated for the time being.
[0087] On the other hand, if a negative judgment is made in S210, the process proceeds to S240, where it is determined whether or not there is existing information whose service ID matches the updated information. If a positive judgment is made here, the process ends temporarily, but if a negative judgment is made, the process proceeds to S250, where processing is performed, and then the process ends temporarily.
[0088] <Selection setting example 3> Next, the process for the selection setting example 3 will be described with reference to Fig. 10. Here, the table B shown in Fig. 6 is used.
[0089] 10, when a service provision notification is received from the server ECU 5, the information linking the service ID, the server address, and the communication interface is updated in S300. That is, the information received in the current service provision notification is added to update the entire table B.
[0090] In the next step S310, it is determined whether there is existing information whose service ID and server address match the updated information (i.e., the added information) and whose communication interface is different. If the determination is affirmative, the process proceeds to step S320; if the determination is negative, the process proceeds to step S340.
[0091] In S320, for example, since the same service provision notification is received from both Ethernet and CAN, the record of the matching service ID is obtained from Table A shown in FIG. 7C, which is the configuration.
[0092] In the next step S330, it is determined whether the communication interface in the acquired record matches the communication interface that received the service provision notification this time. If the determination here is affirmative, the process proceeds to step S350, whereas if the determination here is negative, the process is temporarily terminated.
[0093] In S350, since the newly received service provision notification is the priority interface, the communication interface used for the service is updated, i.e., the communication interface is changed to the communication interface indicated in the newly received service provision notification, and this process is temporarily terminated.
[0094] If a negative determination is made in S310, the process proceeds to S340, where it is determined whether there is existing information whose service ID and server address match the updated information. If a positive determination is made here, the process is terminated, whereas if a negative determination is made, the process proceeds to S350, where processing is performed, and then the process is terminated.
[0095] [1-7.Effects] According to this embodiment, the following effects can be obtained. (1a) In this embodiment, the client ECU 3 is connected to the server ECU 5 via multiple communication paths (e.g., communication interfaces using Ethernet or CAN) 7, 9, and the client ECU 3 includes a C-side service control unit 43 having a path detection unit 49 and a path selection unit 51, and a C-side service communication unit 47.
[0096] With this configuration, it is possible to prevent problems from occurring when the same service is provided over multiple communication paths 7 and 9. Specifically, when data communication of the same content (for example, the same service) is possible over multiple communication paths 7 and 9, it is possible to select which communication path to use for data communication, and then perform the data communication over the selected communication path. This makes it possible to avoid the problem of unintended communication multiplexing or service malfunctions that may occur when the same service is provided over multiple paths.
[0097] In this way, in this embodiment, good service communication can be realized even in an environment where multi-protocol service-oriented communication is performed and under conditions where there are multiple communication paths of different protocols that can provide services.
[0098] Whether or not there are a plurality of communication paths 7, 9 can be determined, for example, from whether the same service ID indicating the same service is obtained from the same server ECU 5 via different communication interfaces, as shown in FIG.
[0099] (1b) In this embodiment, a nonvolatile memory 17 is provided that stores information (for example, information in table A) about the communication paths 7 and 9 that are used for data communication. Therefore, the communication paths 7 and 9 can be selected based on the information stored in the nonvolatile memory 17.
[0100] (1c) In this embodiment, the communication paths 7 and 9 can be selected based on the number of relay ECUs 11 arranged on the communication paths 7 and 9 between the client ECU 3 and the server ECU 5. In other words, if the numbers of relay ECUs 11 arranged on the communication paths 7 and 9 are different, the communication path 7 or 9 with the fewer relay ECUs 11 can be selected to perform data communication. This has the advantage of improving the communication speed, for example.
[0101] (1d) In this embodiment, the communication paths 7 and 9 can be selected based on information transmitted from the server ECU 5 (for example, the service ID, the preferred communication interface, the server address, etc.).
[0102] [1-8. Correspondence] Next, the relationship between the present disclosure and this embodiment will be described. The communication device corresponds to the client ECU 3, the electronic control device to be communicated with corresponds to the server ECU 5, the communication path corresponds to the first and second service provision paths 7 and 9, the relay device corresponds to the relay ECU 11, the path memory unit corresponds to the information memory unit 45, the path detection unit corresponds to the path detection unit 49, the path selection unit corresponds to the path selection unit 51, and the communication control unit corresponds to the C-side service communication unit 47.
[0103] 2. Other Embodiments Although the embodiments of the present disclosure have been described above, it goes without saying that the present disclosure is not limited to the above-described embodiments and can take on various forms.
[0104] (2a) As the protocol, in addition to SOME / IP, DDS or the like can be used. DDS stands for Data Distribution Service. Furthermore, as a communication standard for data communication, in addition to CAN, CAN FD or the like can be used. CAN FD stands for CAN with Flexible Data Rate.
[0105] (2b) Various known methods can be used to detect multiple communication paths that can communicate using different protocols. For example, it is possible to detect whether a communication path uses Ethernet or CAN based on the configuration of a socket used in Ethernet or the configuration of a box used in CAN.
[0106] Furthermore, multiple communication paths using different protocols may be detected by detecting the difference between addressing using MAC addresses, such as in Ethernet, and addressing that assigns an identification code for data in a communication frame to each message, such as in CAN and CAN FD.
[0107] In addition, multiple communication paths that communicate using different protocols may be detected based on differences in the configuration of the ports used, such as ports used in communication paths such as Ethernet and ports used in communication paths such as CAN, CAN, and CAN FD.
[0108] (2c) The operation of the communication devices and systems described in this disclosure may be realized by a special purpose computer provided by configuring a processor and memory programmed to perform one or more functions embodied in a computer program.
[0109] Alternatively, the operations of the communication device and communication system described in this disclosure may be implemented by a special purpose computer provided by configuring a processor with one or more special purpose hardware logic circuits.
[0110] Alternatively, the operations of the communication devices and systems described in this disclosure may be implemented by one or more special-purpose computers configured by a combination of a processor and memory programmed to perform one or more functions and a processor configured with one or more hardware logic circuits.
[0111] The computer program may also be stored as instructions for execution by a computer on a computer-readable non-transitory storage medium. The means for realizing the functions of the communication device and communication system do not necessarily have to include software, and all of the functions may be realized using one or more pieces of hardware.
[0112] (2d) In addition to the above-described communication device and communication system, the present disclosure can also be realized in various forms, such as a configuration including the communication device and communication system as components, a program for causing the computer of the communication device and communication system to function, a non-transitory tangible recording medium such as a semiconductor memory on which this program is recorded, and a communication method.
[0113] (2e) Multiple functions possessed by one component in each of the above embodiments may be realized by multiple components, or one function possessed by one component may be realized by multiple components. Also, multiple functions possessed by multiple components may be realized by one component, or one function realized by multiple components may be realized by one component. Also, part of the configuration of each of the above embodiments may be omitted. Also, at least part of the configuration of each of the above embodiments may be added to or substituted for the configuration of another embodiment. [Technical idea disclosed in this specification] [Item 1] A communication device (3) capable of performing data communication with a communication target electronic control device (5) via a plurality of communication paths (7, 9), a path detection unit (49) configured to detect the plurality of communication paths that can realize the data communication of the same content using different protocols; a route selection unit (51) configured to select a specific communication route from the plurality of communication routes detected by the route detection unit based on a predetermined condition; a communication control unit (47) configured to perform the data communication via the communication path selected by the path selection unit; A communication device comprising:
[0114] [Item 2] Item 1, the communication device The communication system further includes a route storage unit (45) that stores information about the communication route on which the data communication is prioritized, and the route selection unit is configured to select the communication route based on the information stored in the route storage unit. Communication equipment.
[0115] [Item 3] The communication device according to item 1 or 2, The communication path is selected based on the number of relay devices (11) arranged between the electronic control device to be communicated with and the communication device. Communication equipment.
[0116] [Item 4] A communication device according to any one of items 1 to 3, The data communication is service-oriented communication, and the communication control unit is configured to perform the service-oriented communication. Communication equipment.
[0117] [Item 5] A communication device according to any one of items 1 to 4, The communication path is selected based on information transmitted from the electronic control device of the communication target. Communication equipment.
[0118] [Item 6] Item 5. A communication device according to any one of items 1 to 5, Configured to use SOME / IP or DDS as the protocol; Communication equipment.
[0119] [Item 7] Item 5. A communication device according to any one of items 1 to 5, When performing the data communication on the communication path, one of CAN, CAN FD, and Ethernet is used. Communication equipment.
[0120] [Item 8] A communication device (3) according to any one of items 1 to 7, the electronic control device (5) as the communication target, and the plurality of communication paths (7, 9), Communication system.
[0121] [Item 9] A communication method for a communication device (3) capable of performing data communication with a communication target electronic control device (5) via a plurality of communication paths (7, 9), comprising: detecting the plurality of communication paths that can realize the data communication of the same content using different protocols, selecting a specific communication path from the detected plurality of communication paths based on a predetermined condition, and performing the data communication via the selected communication path; Communication method. [Explanation of symbols]
[0122] 3...client ECU, 5...server ECU, 7...first service providing path, 9...second service providing path, 11...relay ECU, 45...information storage unit, 49...path detection unit, 51...path selection unit, 47...C-side service communication unit
Claims
1. A communication device (3) capable of performing data communication with a communication target electronic control device (5) via a plurality of communication paths (7, 9), a route detection unit (49) configured to detect the plurality of communication routes that can realize the data communication of the same content using different protocols; a route selection unit (51) configured to select a specific communication route from the plurality of communication routes detected by the route detection unit based on a predetermined condition; a communication control unit (47) configured to perform the data communication via the communication path selected by the path selection unit; A communication device comprising:
2. 2. The communication device according to claim 1, Further, the communication device is configured to include a route storage unit (45) that stores information on the communication route on which the data communication is prioritized, and the route selection unit selects the communication route based on the information stored in the route storage unit. Communication equipment.
3. 2. The communication device according to claim 1, The communication path is selected based on the number of relay devices (11) arranged between the electronic control device to be communicated with and the communication device. Communication equipment.
4. 2. The communication device according to claim 1, The data communication is service-oriented communication, and the communication control unit is configured to perform the service-oriented communication. Communication equipment.
5. 2. The communication device according to claim 1, The communication path is selected based on information transmitted from the electronic control device of the communication target. Communication equipment.
6. 2. The communication device according to claim 1, Configured to use SOME / IP or DDS as the protocol; Communication equipment.
7. 2. The communication device according to claim 1, When performing the data communication on the communication path, any one of CAN, CAN FD, and Ethernet is used. Communication equipment.
8. A communication system including the communication device (3) according to any one of claims 1 to 7, the electronic control device (5) as the communication target, and the plurality of communication paths (7, 9), Communication system.
9. A communication method in a communication device (3) capable of performing data communication with a communication target electronic control device (5) via a plurality of communication paths (7, 9), comprising: detecting the presence of a plurality of communication paths that can realize the data communication of the same content using different protocols, selecting a specific communication path from the detected plurality of communication paths based on a predetermined condition, and performing the data communication via the selected communication path; Communication method.
Citation Information
Patent Citations
Communication system, electronic control device, and communication method
WO2021070536A1