Relay device and relay method

The relay device addresses high processing loads by determining and updating tables to directly transfer frames to newly connected ECUs, reducing payload analysis and enhancing efficiency.

JP2025100138APending Publication Date: 2025-07-03PANASONIC AUTOMOTIVE SYST CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2023217288
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-12-22
Publication Date
2025-07-03

AI Technical Summary

Technical Problem

Existing relay devices face high processing loads when transmitting frames to extended ECUs due to the need for payload analysis when the destination is not in the pre-created table, limiting the effectiveness of processing load reduction.

Method used

A relay device that includes a communication unit, control unit, and update unit to determine if an upper-layer address is in a table, analyze the payload to identify the destination address if not present, and update the table with additional information, reducing the need for subsequent payload analysis.

Benefits of technology

This approach reduces the processing load by allowing frames to be transferred directly to newly connected ECUs without payload analysis, enhancing efficiency and reducing processing overhead.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025100138000001_ABST
    Figure 2025100138000001_ABST
Patent Text Reader

Abstract

To provide a relay device and the like capable of mitigating a processing load more than before.SOLUTION: A relay device relays a frame by connection type communication between a first communication device and one or more second communication devices. The frame having a header part including a destination address whose destination is the relay device in a connection protocol for performing the connection type communication and an upper layer address whose destination is a second communication device of a transmission destination in an upper layer protocol which is a layer upper than the connection protocol. The relay device comprises: a communication unit 51 for receiving the frame from the first communication device; a control unit 52 for determining whether or not a first address exists in a table T, the first address being the upper layer address of the second communication device acquired on the basis of the header part of the frame; an analysis unit 53 that when the first address does not exist in the table T, analyzes a payload of the frame to identify a second address which is a destination address of the second communication device; and an update unit 55 for updating the table T on the basis of the first address and the second address.SELECTED DRAWING: Figure 2
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to a relay device and a relay method.

Background Art

[0002] Patent Document 1 discloses a relay device that can reduce the processing load when relaying a frame including a description by a protocol higher than the protocol used in connection-type communication.

Prior Art Document

Patent Document

[0003]

Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0004] However, in the relay device of Patent Document 1, it may happen that the processing load of the relay device cannot be reduced when transmitting a frame to an extended ECU (Electronic Control Unit) or the like.

[0005] Therefore, the present disclosure provides a relay device and a relay method capable of reducing the processing load more than before.

Means for Solving the Problems

[0006] The relay device according to one aspect of the present disclosure is a relay device that relays frames by connection-type communication transmitted and received between a first communication device and one or more second communication devices. The header portion of the frame includes a destination address that designates the relay device by a connection protocol for performing the connection-type communication, and an upper-layer address that designates the second communication device as the destination by an upper-layer protocol higher than the connection protocol. A communication unit that receives the frame from the first communication device, a control unit that determines whether a first address, which is the upper-layer address of the second communication device that is the transmission destination of the frame among the one or more second communication devices, obtained based on the header portion of the frame received by the communication unit, is included in a table in which the destination address and the upper-layer address are associated, and when the first address is not included in the table, an analysis unit that specifies a second address, which is the destination address of the second communication device that is the transmission destination of the frame, by analyzing the payload of the frame, and an update unit that updates the table based on additional information associating the first address and the second address.

[0007] The relay method according to one aspect of the present disclosure is a relay method executed by a relay device that relays frames of connection-type communication transmitted and received between a first communication device and one or more second communication devices. In the header portion of the frame, a destination address designating the relay device by a connection protocol for performing the connection-type communication and an upper-layer address designating a second communication device as a transmission destination by an upper-layer protocol higher than the connection protocol are included. The frame is received from the first communication device, and it is determined whether a first address, which is the upper-layer address of the second communication device that is the transmission destination of the frame among the one or more second communication devices and is obtained based on the header portion of the received frame, is included in a table in which the destination address and the upper-layer address are associated. If the first address is not included in the table, the payload of the frame is analyzed to identify a second address, which is the destination address of the second communication device that is the transmission destination of the frame, and the table is updated based on additional information associating the first address and the second address.

Effects of the Invention

[0008] According to one aspect of the present disclosure, it is possible to realize a relay device or the like that can reduce the processing load compared to the prior art.

Brief Description of the Drawings

[0009]

Figure 1

Figure 2

Figure 3

Figure 4

Figure 5

Figure 6

Figure 7

Figure 8

Figure 9

Figure 10

MODE FOR CARRYING OUT THE INVENTION

[0010] (Background Leading to the Present Disclosure) In an Ethernet (registered trademark, the same shall apply hereinafter) switch in a vehicle, diagnosis by DoIP (Diagnostics over Internet Protocol) or the like may be used. Since DoIP assumes an L2 network, when relaying to the in-vehicle network domain, a device (such as a switch) connected to the external vehicle L2 network needs to terminate the TCP (Transmission Control Protocol) connection and relay according to the data in the TCP payload. At this time, since the switch establishes a TCP connection with each of the tool and the ECU and further performs relay processing using the analysis result of the payload, there is a problem that the processing load of the relay processing is very large.

[0011] In the relay device of Patent Document 1, in order to solve such a problem, a connection tunnel table in which a connection destination device (ECU) and a logical address are associated is prepared, and after the TCP data from the tool is received by the switch, without performing TCP reception processing, it is directly transferred to the relay destination ECU according to the connection tunnel table.

[0012] However, in Patent Document 1, since the table (connection tunnel table) for direct transfer cannot be automatically updated, when sending a frame to a newly updated / extended ECU or the like other than the combination of destinations set in the table in advance, it is always necessary to perform payload analysis, which imposes a processing load on the relay device. Thus, in the relay device of Patent Document 1, the scenarios where the processing load can be reduced are limited, so the effect of reducing the processing load is limited.

[0013] Therefore, the inventor of the present application has intensively studied a relay device and a relay method capable of reducing the processing load more than before, and has devised the relay device and the relay method described below.

[0014] Hereinafter, embodiments will be specifically described with reference to the drawings.

[0015] Note that each of the embodiments described below shows comprehensive or specific examples. The numerical values, shapes, components, arrangement positions and connection forms of the components, steps, order of steps, etc. shown in the following embodiments are merely examples and are not intended to limit the present disclosure. In addition, among the components in the following embodiments, the components not described in the independent claims are described as optional components.

[0016] Also, in each figure, substantially the same configurations are denoted by the same reference numerals, and overlapping descriptions are omitted or simplified.

[0017] In this specification, numerical values and numerical ranges are not expressions representing only strict meanings, but are expressions meaning that they include substantially equivalent ranges, for example, differences of about several % (or about 10%).

[0018] In this specification, ordinal numbers such as "first" and "second" do not mean the number or order of components unless otherwise specified, and are used for the purpose of avoiding confusion and distinguishing between the same type of components.

[0019] (Embodiment) Hereinafter, the relay device and the relay method according to the present embodiment will be described with reference to FIGS. 1 to 10.

[0020] [1. Configuration of Communication System] First, the configuration of the communication system including the relay device according to the present embodiment will be described with reference to FIGS. 1 to 3. FIG. 1 is a diagram showing the configuration of the communication system 1 according to the present embodiment. The communication system 1 is, for example, a system in which the main part is mounted on a vehicle 100 such as a passenger car, and relays frames between each communication device inside and outside the vehicle 100.

[0021] As shown in FIG. 1, the communication system 1 includes a vehicle 100 and a tool 200. The vehicle 100 includes ECUs 10 to 40 (also referred to as ECU 10 etc.), a gateway SW 50, and a display device 60. The ECUs 10 etc. and the tool 200 are connected to the gateway SW 50 via a communication port (not shown) that functions as a transceiver for transmitting and receiving frames, for example. The ECUs 10 etc. and the tool 200 can communicate with each other via the gateway SW 50.

[0022] Note that hereinafter, an example of transmitting a frame from the tool 200 to the ECUs 10 etc. will be described, but the same applies when transmitting a frame from the ECUs 10 etc. to the tool 200.

[0023] The ECUs 10 etc. are electronic control devices having a function of controlling components of the vehicle 100 such as an engine, an air conditioner, and an audio, and in addition, have a communication function of communicating the above-described frames. The ECUs 10 etc. are an example of one or more second communication devices. Note that the number of ECUs included in the vehicle 100 is not particularly limited as long as it is one or more.

[0024] The gateway SW50 relays frames transmitted and received between the tool 200 and the ECU 10 etc. through connection-type communication. The gateway SW50 is configured as an Ethernet switch. The gateway SW50 communicates using protocols such as DoIP, Ethernet, and TCP, for example. Note that the gateway SW50 may use, as an upper-layer protocol, for example, SOME / IP (Scalable service-Oriented MiddlewarE over Internet Protocol), a dedicated protocol according to the function of the tool 200, etc., instead of DoIP. Also, the gateway SW50 may use, as a connection protocol, UDP (User Datagram Protocol), etc., instead of TCP, for example.

[0025] Also, the gateway SW50 performs a process of updating the table shown in FIG. 3 described later. The gateway SW50 is an example of a relay device.

[0026] FIG. 2 is a block diagram showing the functional configuration of the gateway SW50 according to the present embodiment.

[0027] As shown in FIG. 2, the gateway SW50 is configured as hardware including a circuit such as a semiconductor device, and includes a communication unit 51, a control unit 52, an analysis unit 53, a security check unit 54, an update unit 55, and a storage unit 56.

[0028] The communication unit 51 is a communication interface for the gateway SW50 to communicate with the ECU 10 etc. and the tool 200. The communication unit 51 may be configured to include each communication port. The communication unit 51 receives, for example, a frame from the tool 200. Also, the communication unit 51 transmits, to the ECU of the frame's destination, a frame received from the tool 200 and converted such that the destination address is the second address which is the address in the connection protocol of the destination ECU transmitted from the gateway SW50. Further, the communication unit 51 transmits, for example, the determination result etc. at the gateway SW50 to the display device 60 etc. Note that the communication method may be wired communication or wireless communication.

[0029] Note that the frame communicated in the communication system 1 includes, for example, a header portion including a MAC (Media Access Control) header, an IP (Internet Protocol) header, a TCP header, and an upper header, and a payload which is actual data. Each header constituting the header portion includes a preamble, a destination address, a source address, a type, etc. respectively. The TCP header includes a sequence number, an ACK number, and various flags in addition to these addresses etc. Further, the upper header includes data corresponding to the application. For example, the upper header includes a logical address which is the destination address used in the application. Also, this frame is generated by an application that handles protocols of the fifth layer or higher in the OSI (Open Systems Interconnection) reference model and includes a TCP header for communicating with TCP which is a protocol of the fourth layer in the OSI reference model. In the present embodiment, as the protocol of the fifth layer or higher, the above DoIP, SOME / IP, or a dedicated protocol prepared for diagnosis is used.

[0030] For example, the header part of the frame includes a destination address that targets the gateway SW50 using a connection protocol for connection-type communication, and an upper-layer address that targets the destination ECU using an upper-layer protocol higher than the connection protocol. The destination address is an address in the connection protocol, and the upper-layer address is an address in the upper-layer protocol.

[0031] The control unit 52 is a control device that controls each component of the gateway SW50. The control unit 52 performs, for example, a process for updating a table (refer to FIG. 3 described later) used for connection-type communication. The control unit 52 determines, for example, whether a first address, which is the upper-layer address of the destination ECU of the frame among the ECUs 10 etc., acquired based on the header part of the frame from the tool 200 received by the communication unit 51, is included in a pre-registered table.

[0032] When the first address is not included in the table, the analysis unit 53 identifies a second address, which is the address in the connection protocol of the destination ECU of the frame, by analyzing the payload of the frame. Analyzing the payload of the frame involves a large processing load, and reducing the processing load of the analysis unit 53 is important for reducing the processing load of the gateway SW50.

[0033] The security check unit 54 performs a security check on the tool 200 that transmitted the frame received by the communication unit 51 by using at least one of a checksum, payload analysis such as an address, TLS (Transport Layer Security), and a SID (Service IDentifier) 29 for authentication in the UDS (Unified Diagnostic Service), which is the communication protocol of the diagnostic tester (here, the tool 200). The security check on the tool 200 may be a security check on the tool 200 or a security check on the frame. The security check unit 54 is an example of a check unit.

[0034] The update unit 55 executes a process of updating the table based on additional information in which a first address determined by the control unit 52 not to be included in the table and a second address corresponding to the first address are associated with each other. The update unit 55 temporarily registers the additional information in the table, and registers (formally registers) the additional information in the table when a predetermined condition is satisfied. The predetermined condition will be described later. Note that temporary registration means temporarily (simply) registering the additional information in the table before formal registration. Also, updating the table may mean temporarily registering the additional information in the table, or may mean registering the additional information in the table.

[0035] The storage unit 56 is a storage device that stores various information, various programs, etc. for executing various processes in the gateway SW50. The storage unit 56 stores a table (see FIG. 3 described later) in which the address of the destination ECU and the logical address are associated with each other for performing connection-type communication. The storage unit 56 is realized by, for example, a semiconductor memory, but is not limited thereto.

[0036] FIG. 3 is a diagram showing an example of the table T according to the present embodiment.

[0037] As shown in FIG. 3, the table T is a table in which No., logical address, ECU address, temporary registration, and registration date and time are associated with each other.

[0038] No. is an identification number.

[0039] The logical address is a destination address used in the application. The logical address is an example of the first address.

[0040] The ECU address is a destination address used in the TCP connection, and includes, for example, an IP address or a MAC address. The ECU address is an example of the second address.

[0041] Provisional registration is information for identifying whether a pair of a logical address and an ECU address is information for which provisional registration has been performed. In the example of FIG. 3, it shows that a pair of the logical address “CCCC” and the ECU address “YYYY” has been provisionally registered. In other words, in the example of FIG. 3, it shows that the pair of the logical address “AAAA” and the ECU address “VVVV” and the pair of the logical address “BBBB” and the ECU address “XXXX” have been registered.

[0042] The registration date and time is information for identifying whether a pair of a logical address and an ECU address has been registered (formally registered), and includes information indicating the registered date and time. In the example of FIG. 3, since the date and time are entered for the pair of the logical address “AAAA” and the ECU address “VVVV” and the pair of the logical address “BBBB” and the ECU address “XXXX”, it shows that these pairs have been registered. In other words, in the example of FIG. 3, it shows that the pair of the logical address “CCCC” and the ECU address “YYYY” is not registered, that is, it is provisional registration.

[0043] Note that the table T only needs to include at least one of provisional registration and registration date and time as information indicating whether a pair of a logical address and an ECU address is registered.

[0044] Note that the table T is updated by the update unit 55.

[0045] Referring to FIG. 1 again, the display device 60 is communicably connected to the gateway SW50 and displays the information received from the gateway SW50. The display device 60 may be realized by a terminal device that can be confirmed by a user who uses the tool 200. The display device 60 may be realized, for example, as a display unit included in a navigation device, or as a display unit included in a portable terminal owned by a user such as a smartphone or a tablet. Further, the display device 60 may be realized as a stationary device or as a portable device. The display device 60 is, for example, a liquid crystal display device, but is not limited thereto. Also, the display device 60 is present inside the vehicle 100, but may be present outside the vehicle 100, for example. The information displayed by the display device 60 will be described with reference to FIGS. 5, 7, and 9 described later.

[0046] Note that the display device 60 is an example of a terminal device that presents information to the user. The terminal device is not limited to presenting information by display, and may present information by sound (for example, voice), light, vibration, or the like.

[0047] The tool 200 is configured to be detachable from the gateway SW50 (for example, a communication port of the gateway SW50) and has a predetermined function. In the present embodiment, the tool 200 has a diagnostic function for diagnosing the vehicle 100 and is connected to the gateway SW50 as needed, such as during an inspection of the vehicle 100. Note that detachable means that the tool 200 can be attached to and detached from the gateway SW50 without the gateway SW50 and the tool 200 being damaged.

[0048] When the tool 200 is connected to the gateway SW50, it communicates with one or more pre-set ECUs 10 to 40 to read information such as diag (self-diagnosis) recorded in the memories of these ECUs 10 to 40, and performs vehicle diagnosis based on the read information. The tool 200 is also referred to as a diagnostic tester. Further, the tool 200 also has a function of rewriting the program stored in the ECUs 10 to 40 by transmitting a frame to the ECUs 10 to 40.

[0049] The tool 200 can also communicate with a newly connected ECU. The newly connected ECU is, for example, a retrofitted ECU and has an ECU address that is not included in the pre-created table T. The tool 200 is an example of a first communication device.

[0050] The network N is a communication network that communicably connects the vehicle 100 and an external device. For example, a communication network such as the Internet is used, but is not limited thereto. The network N communicably connects the vehicle 100 and a security center such as a SOC (Security Operation Center), for example.

[0051] [2. Operation of the communication system] Subsequently, the operation of the communication system 1 configured as described above will be described with reference to FIGS. 4 to 10. FIG. 4 is a sequence diagram showing a first example of the operation (relay method) of the communication system 1 according to the present embodiment. FIG. 4 shows the operation when the connection between the gateway SW50 and the ECU 30 is established.

[0052] It is assumed that a connection (TCP connection) is established between the gateway SW50 and the tool 200. Further, it is assumed that the ECU 30 is a newly connected ECU and the logical address and the ECU address are not included in the table T.

[0053] As shown in FIG. 4, after the tool 200 is connected to the gateway SW50, the tool 200 transmits a frame for a connection request to the gateway SW50 (S11). The connection request is a request for communication with a desired ECU (ECU 30 in the example of FIG. 4). The connection request includes the information (header part, payload) included in the frame described above.

[0054] Next, when the gateway SW50 receives a connection request, it verifies the address based on the frame of the connection request (S12). The analysis unit 53 of the gateway SW50 obtains the first address, which is the logical address for the ECU30, based on the upper header of the header portion of the frame of the connection request.

[0055] Next, the gateway SW50 checks the table T (S13) and temporarily registers the address (S14). The control unit 52 determines whether the table T contains the first address obtained in step S12. If the control unit 52 determines that the table T does not contain the first address, the analysis unit 53 analyzes the payload of the frame of the connection request to identify the second address, which is the address in the connection protocol, and the update unit 55 temporarily registers the pair of the first address and the second address (additional information) in the table T. The temporarily registered table T becomes the table shown in FIG. 3.

[0056] Next, the gateway SW50 checks security (S15). The security check unit 54 of the gateway SW50 performs a security check on the tool 200 or the frame of the connection request using at least one of checksum, payload analysis such as address, TLS, and SID29.

[0057] Next, when the gateway SW50 determines that there is no security error (an example of an error) by the security check unit 54, it sends a connection request to the ECU30 (S16). The control unit 52 converts the destination address of the frame of the connection request from the tool 200 to the second address of the ECU30 and transmits the converted frame to the ECU30 via the communication unit 51.

[0058] Next, when the ECU30 receives a connection request, it checks the connection (S17) and, if communication is possible, sends a connection reply indicating that communication is possible to the gateway SW50 (S18).

[0059] Next, when the gateway SW50 receives a connection reply from the ECU30, it confirms the establishment of the connection (S19). For example, since the connection has been established, the control unit 52 determines that the connection has been established.

[0060] Next, the gateway SW50 registers (permanently registers) the provisional registration information in the table T (S20). For example, the update unit 55 deletes the provisional registration check (in the example of FIG. 3, "○") corresponding to the provisional registration information or adds the registration date and time to register the provisional registration information. The provisional registration information includes additional information.

[0061] Next, the gateway SW50 transmits connection establishment information indicating that the connection with the ECU30 has been established to the tool 200 (S21). As a result, connection tunneling is started between the tool 200 and the ECU30. That is, in the subsequent communication between the tool 200 and the ECU30, it is not necessary to analyze the payload by the analysis unit 53.

[0062] Note that the tool 200 may be configured to be able to present the connection establishment information to the user. The tool 200 may include, for example, a display unit that performs simple display, a light emitting unit that can emit light in different modes according to the result, a vibration generating unit that can vibrate in different modes according to the result, and other notification units.

[0063] Next, the gateway SW50 transmits the result regarding the connection with the ECU30 to the display device 60 (S22). In the example of FIG. 4, the communication unit 51 of the gateway SW50 transmits information indicating that the provisional registration information has been registered to the display device 60 of the user who uses the tool 200.

[0064] Next, when the display device 60 receives the result, it displays the received result (S23).

[0065] FIG. 5 is a diagram showing a first example of the determination result displayed by the display device 60 according to the present embodiment. FIG. 5 shows a display example of the result regarding the connection with the ECU30.

[0066] As shown in FIG. 5, the display device 60 displays that the ECU 30 has been registered as the destination of the tool 200 (the table T has been updated) and that it will be automatically recognized and connected thereafter (connection tunneling is performed). Thereby, the user of the tool 200 can be notified that the ECU 30 has been registered in the table T as the destination of the tool 200.

[0067] Subsequently, the operation when the connection with the ECU 30 is not established will be described with reference to FIG. 6. FIG. 6 is a sequence diagram showing a second example of the operation (relay method) of the communication system 1 according to the present embodiment. Note that the same operations as those in FIG. 4 are denoted by the same reference numerals as in FIG. 4, and the description thereof is omitted or simplified.

[0068] As shown in FIG. 6, after transmitting a connection request to the ECU 30 (S16), the gateway SW50 determines whether there is a connection reply within a predetermined time (S31). If there is a connection reply within the predetermined time (Yes in S31), the process proceeds to step S19 shown in FIG. 4. If there is no connection reply within the predetermined time (No in S31), the process proceeds to step S32.

[0069] Note that step S31 may be determined based on whether a frame indicating that the connection is not established is received from the ECU 30. For example, when the ECU 30 cannot recognize the connection request or the like, it is determined as No in step S31. Also, the establishment of a connection between the gateway SW50 (for example, the communication unit 51) and the second communication device of the destination (here, the ECU 30) is an example of a predetermined condition.

[0070] Next, when there is no connection reply within the predetermined time, the gateway SW50 confirms that the connection is not established (S32). For example, since the connection is not established, the control unit 52 determines that the connection has not been established.

[0071] Next, when the connection fails, that is, when a predetermined condition is not satisfied, the gateway SW50 abandons the temporary registration (S33). When the predetermined condition is not satisfied, the update unit 55 deletes the information temporarily registered from the table T.

[0072] Next, the gateway SW50 transmits connection failure information indicating that the connection with the ECU30 has failed to the tool 200 (S34). In this case, connection tunneling is not started between the tool 200 and the ECU30.

[0073] Note that the tool 200 may be configured to be able to present the connection failure information to the user. The tool 200 may include, for example, a notification unit such as the above display unit, light emitting unit, vibration generating unit, etc.

[0074] Next, the gateway SW50 transmits the result regarding the connection with the ECU30 to the display device 60 (S22). In the example of FIG. 6, when the connection between the gateway SW50 and the ECU30 is not established, the communication unit 51 of the gateway SW50 transmits information indicating that the connection is not established to the display device 60 of the user who uses the tool 200.

[0075] Next, when the display device 60 receives the result, it displays the received result (S23).

[0076] FIG. 7 is a diagram showing a second example of the determination result displayed by the display device 60 according to the present embodiment. FIG. 7 shows a display example of information indicating that the connection is not established.

[0077] As shown in FIG. 7, the display device 60 displays information indicating that the ECU30 has not been registered as the destination of the tool 200 and confirmation items such as please check the connection status, etc.

[0078] Next, the operation when a security error is detected will be described with reference to FIG. 8. FIG. 8 is a sequence diagram showing a third example of the operation (relay method) of the communication system 1 according to the present embodiment. For the operations similar to those in FIG. 4, the same reference numerals as in FIG. 4 are given, and the description will be omitted or simplified.

[0079] As shown in FIG. 8, after temporarily registering the address (S14), the gateway SW50 performs a security check to determine whether there is a security error with respect to the tool 200. If there is a security error (Yes in S41), the process proceeds to step S42. If there is no security error (No in S41), the process proceeds to step S16 shown in FIG. 4. The fact that no security error is detected in the security check is an example of a predetermined condition.

[0080] Next, when there is a security error, that is, when a predetermined condition is not satisfied, the gateway SW50 discards the temporary registration (S42). The update unit 55 deletes the information temporarily registered from the table T.

[0081] Next, the gateway SW50 transmits security error information indicating that there is a security error to the tool 200 (S43). In this case, connection tunneling is not started between the tool 200 and the ECU 30.

[0082] Note that the tool 200 may be configured to be able to present the security error information to the user. The tool 200 may include, for example, a notification unit such as the above-described display unit, light emitting unit, vibration generating unit, etc.

[0083] Next, the gateway SW50 transmits the result regarding the presence of a security error to the display device 60 (S22). In the example of FIG. 8, when a security error is detected with respect to the tool 200 in the security check, the communication unit 51 of the gateway SW50 transmits information indicating that a security error has been detected to the display device 60 of the user who uses the tool 200.

[0084] Next, when the display device 60 receives the result, it displays the received result (S23).

[0085] FIG. 9 is a diagram showing a third example of the determination result displayed by the display device 60 according to the present embodiment. FIG. 9 shows a display example of information indicating that a security error has been detected.

[0086] As shown in FIG. 9, the display device 60 displays information indicating that there is a security error in the tool 200, information indicating confirmation items such as "Please check the tool 200", and reporting to the security center.

[0087] Referring to FIG. 8 again, the gateway SW50 notifies the security center of the security error (S44). When the communication unit 51 of the gateway SW50 detects a security error regarding the tool 200 in the security check, it transmits information indicating that the security error has been detected to the security center.

[0088] Subsequently, the operation of the gateway SW50 will be described with reference to FIG. 10. FIG. 10 is a flowchart showing the operation (relay method) of the gateway SW50 according to the present embodiment.

[0089] As shown in FIG. 10, when the control unit 52 of the gateway SW50 receives a frame for a connection request, it checks the combination of the logical address of the upper layer protocol acquired based on the upper header of the frame and the ECU address (S101). The control unit 52 determines whether the combination of the logical address and the ECU address is in the table T.

[0090] When the control unit 52 determines that the combination is in the table T (Yes in S102), it starts connection tunneling (S103).

[0091] Also, when the control unit 52 determines that the combination is not in the table T (No in S102), the analysis unit 53 checks (analyzes) the payload of the frame, and the update unit 55 temporarily registers the logical address and the ECU address in the table T based on the analysis result of the analysis unit 53 (S104). The ECU address to be temporarily registered is the address specified by analyzing the payload of the frame by the analysis unit 53.

[0092] Next, the security check unit 54 determines whether the security check for the tool 200 is OK (S105).

[0093] Next, when the security check is OK (Yes in S105), the control unit 52 communicates with the destination ECU (ECU30 in the example of FIG. 4 etc.) (S106), and determines whether the communication with the destination ECU is established (for example, whether there is a connection reply within a predetermined time) (S107).

[0094] Next, when the communication (connection) is established (Yes in S107), the update unit 55 records (permanently registers) the information temporarily registered in the table T, and the control unit 52 notifies the recorded address (S108), and proceeds to step S103. In step S108, the control unit 52 causes the display device 60 to display the display shown in FIG. 5 as the notification of the recorded address.

[0095] Also, when the communication is not established (No in S107), the update unit 55 discards the information temporarily registered in the table T, and the control unit 52 notifies the unrecorded address (S109). In step S109, the control unit 52 causes the display device 60 to display the display shown in FIG. 7 as the notification of the unrecorded address.

[0096] Also, when the security check is not OK, that is, when there is a security error (No in S105), the update unit 55 discards the provisional registration information in the table T, and the control unit 52 notifies the security center of the security error (S110). Also, in step S110, the control unit 52 may cause the display device 60 to display the display shown in FIG. 9 as a notification that there is a security error.

[0097] Note that step S101 corresponds to step S12 shown in FIG. 4 etc., step S102 corresponds to step S13 shown in FIG. 4 etc., step S104 corresponds to step S14 in FIG. 4 etc., and step S105 corresponds to step S15 shown in FIG. 4 etc. or step S41 shown in FIG. 8. Also, step S106 corresponds to step S16 shown in FIG. 4 etc., step S107 corresponds to step S31 shown in FIG. 6, step S108 corresponds to S20 and S22 shown in FIG. 4, step S109 corresponds to steps S33 and S22 shown in FIG. 6, and step S110 corresponds to steps S42 and S44 shown in FIG. 8.

[0098] (Other Embodiments) As described above, the relay device etc. according to one or more aspects have been described based on the embodiments, but the present disclosure is not limited to these embodiments. Without departing from the spirit of the present disclosure, various modifications conceived by those skilled in the art applied to this embodiment, or forms constructed by combining components in different embodiments may also be included in the present disclosure.

[0099] For example, in the above embodiment, the update unit 55 has been described as an example of registering the provisional registration information when a predetermined condition is satisfied after performing provisional registration, but it is not limited to this, and the provisional registration information may be registered without performing provisional registration. In this case, the table T shown in FIG. 3 may not include information indicating whether it is provisionally registered, such as provisional registration and registration date and time.

[0100] Further, for example, in the above-described embodiment, an example where the communication system 1 is mounted on the vehicle 100 has been described. However, the vehicle 100 is not limited to a passenger car, and may be a bus, a truck, or the like. Further, the communication system 1 may be mounted on other moving bodies such as ships, railways, and aircraft (for example, drones), or may be mounted on a stationary device such as a manufacturing apparatus.

[0101] Also, for example, in the above-described embodiment, the tool 200 is exemplified as the first communication device, and the ECU 10 or the like is exemplified as the second communication device. However, the present invention is not limited to this, and the first communication device may be the ECU 10 or the like, and the second communication device may be the tool 200. The gateway SW 50 may be able to reduce the processing load on the frame transmitted from one of the ECU 10 or the like and the tool 200 to the other.

[0102] Also, in the above-described embodiment, each component may be configured by dedicated hardware or may be realized by executing a software program suitable for each component. Each component may be realized by a program execution unit such as a CPU (Central Processing Unit) or a processor reading and executing a software program recorded on a recording medium such as a hard disk or a semiconductor memory.

[0103] Also, the order in which each step in the flowchart is executed is for the purpose of exemplification for specifically explaining the present disclosure, and may be an order other than the above. Also, a part of the above steps may be executed simultaneously (in parallel) with other steps, or a part of the above steps may not be executed.

[0104] Also, the division of the functional blocks in the block diagram is an example, and a plurality of functional blocks may be realized as one functional block, one functional block may be divided into a plurality, or a part of the functions may be transferred to other functional blocks. Also, the functions of a plurality of functional blocks having similar functions may be processed by a single piece of hardware or software in parallel or in time division.

[0105] Also, the relay device according to the above embodiment may be realized as a single device or may be realized by a plurality of devices. When the relay device is realized by a plurality of devices, each component included in the relay device may be distributed among the plurality of devices in any manner. When the relay device is realized by a plurality of devices, the communication method between the plurality of devices is not particularly limited and may be wireless communication or may be wired communication. Also, wireless communication and wired communication may be combined between the devices.

[0106] Also, each component described in the above embodiment may be realized as software or typically may be realized as an LSI which is an integrated circuit. These may be individually integrated into one chip or may be integrated into one chip so as to include some or all of them. Here, LSI is mentioned, but depending on the degree of integration, it may also be referred to as IC, system LSI, super LSI, or ultra LSI. Also, the method of integrating into an integrated circuit is not limited to LSI, and it may be realized by a dedicated circuit (a general-purpose circuit that executes a dedicated program) or a general-purpose processor. After manufacturing the LSI, an FPGA (Field Programmable Gate Array) that can be programmed or a reconfigurable processor that can reconfigure the connection or setting of circuit cells inside the LSI may be used. Furthermore, if a technology for integrating into an integrated circuit that replaces the LSI appears due to the progress of semiconductor technology or a derived alternative technology, naturally, the integration of components may be performed using that technology.

[0107] A system LSI is a super multifunctional LSI manufactured by integrating a plurality of processing units on one chip. Specifically, it is a computer system including a microprocessor, a ROM (Read Only Memory), a RAM (Random Access Memory), and the like. A computer program is stored in the ROM. When the microprocessor operates according to the computer program, the system LSI achieves its function.

[0108] In addition, one aspect of the present disclosure may be a computer program that causes a computer to execute each characteristic step included in the relay method shown in any one of FIGS. 4, 6, 8, and 10.

[0109] Also, for example, the program may be a program for causing a computer to execute. Further, one aspect of the present disclosure may be a computer-readable non-transitory recording medium on which such a program is recorded. For example, such a program may be recorded on a recording medium and distributed or circulated. For example, the distributed program may be installed in a device having another processor, and by causing the processor to execute the program, it is possible to cause the device to perform each of the above processes.

[0110] (Appendix) (Technology 1) A relay device that relays frames for connection-type communication transmitted and received between a first communication device and one or more second communication devices, wherein the header portion of the frame includes a destination address that designates the relay device by a connection protocol for performing the connection-type communication, and an upper-layer address that designates a second communication device as the destination by an upper-layer protocol higher than the connection protocol. A communication unit that receives the frame from the first communication device, and a control unit that determines whether or not a first address, which is the upper-layer address of the second communication device that is the transmission destination of the frame among the one or more second communication devices, obtained based on the header portion of the frame received by the communication unit, is included in a table in which the destination address and the upper-layer address are associated. When the first address is not included in the table, an analysis unit that specifies a second address, which is the destination address of the second communication device that is the transmission destination of the frame, by analyzing the payload of the frame, and an update unit that updates the table based on additional information associating the first address and the second address.

[0111] As a result, when the first address is not included in the table T, the update unit 55 updates the table T. That is, when a frame including the first address is received again, the frame can be transferred to the second communication device at the destination without analyzing the payload by the analysis unit 53. Therefore, when a frame including a first address not included in the table T is received, a relay device capable of reducing the processing load as compared with the prior art can be realized.

[0112] (Technology 2) The update unit temporarily registers the additional information in the table, and registers the additional information in the table when a predetermined condition is satisfied. The relay device of Technology 1.

[0113] As a result, since the additional information can be registered in the table only when a predetermined condition is satisfied, an increase in the processing amount of the relay device due to registration of unnecessary additional information can be suppressed.

[0114] (Technology 3) Further, a check unit that executes a security check on the first communication device is provided, and the predetermined condition includes that no error is detected in the security check. The relay device of Technology 2.

[0115] As a result, it is possible to suppress the address included in the frame of the first communication device in which a security error is detected from being registered in the table T. This leads to an improvement in the security performance of the communication system 1.

[0116] (Technology 4) The communication unit transmits the frame in which the destination address is converted into the second address to the second communication device at the destination, and the predetermined condition includes that a connection is established between the relay device and the second communication device at the destination. The relay device of Technology 2 or 3.

[0117] As a result, it is possible to suppress the registration of the address of the second communication device with which the first communication device cannot communicate or with which communication is not permitted.

[0118] (Technology 5) The updating unit is a relay device according to any one of Technologies 2 to 4, which discards the additional information temporarily registered in the table when the predetermined condition is not satisfied.

[0119] This can prevent unused additional information from remaining in the table. It is possible to suppress an increase in the amount of information in table T.

[0120] (Technology 6) In the table, the relay device according to any one of Technologies 2 to 5 associates information indicating the destination address, the upper layer address, and whether it is a temporary registration.

[0121] This makes it possible to easily identify whether a combination of a destination address and an upper layer address registered in the table is a temporary registration based on the information.

[0122] (Technology 7) In the table, the relay device according to any one of Technologies 2 to 6 associates information indicating the destination address, the upper layer address, and the registered date and time.

[0123] This makes it possible to easily identify whether a combination of a destination address and an upper layer address registered in the table is a temporary registration based on the date and time.

[0124] (Technology 8) Further, when the additional information is registered, the communication unit is a relay device according to any one of Technologies 2 to 7 that transmits information indicating that the additional information has been registered to the terminal device of the user who uses the first communication device.

[0125] This makes it possible to notify the user that additional information has been registered in the table, that is, the processing load of the relay device can be reduced.

[0126] (Technique 9) When an error is detected regarding the first communication device in the security check, the communication unit is a relay device of Technique 3 that transmits information indicating that an error has been detected to the terminal device of the user who uses the first communication device.

[0127] Thereby, the user can be notified that a security error has been detected.

[0128] (Technique 10) When an error is detected regarding the first communication device in the security check, the communication unit is a relay device of Technique 3 that transmits information indicating that an error has been detected to the security center.

[0129] Thereby, the security center can be notified that a security error has been detected. The security error is utilized for analysis at the security center.

[0130] (Technique 11) When a connection cannot be established with the second communication device of the destination, the communication unit is a relay device of Technique 4 that transmits information indicating that the connection cannot be established to the terminal device of the user who uses the first communication device.

[0131] Thereby, the user can be notified that the connection cannot be established.

[0132] (Technique 12) The relay device is a relay device according to any one of Techniques 1 to 11, which is mounted on a vehicle.

[0133] Thereby, in an environment where resources are limited, such as in vehicle 100, the processing load of the relay device can be reduced.

[0134] (Technique 13) One of the first communication device and the second communication device is a device for diagnosing the vehicle, and the other of the first communication device and the second communication device is an ECU mounted on the vehicle. The relay device is a relay device according to Technique 12.

[0135] This makes it possible to reduce the processing load in communication between the apparatus for diagnosing the vehicle 100 and the ECU.

[0136] (Technical 14) A relay method executed by a relay device that relays frames of connection-type communication transmitted and received between a first communication device and one or more second communication devices. The header portion of the frame includes a destination address that is a connection protocol for performing the connection-type communication and that is addressed to the relay device, and an upper-layer address that is an upper-layer protocol higher than the connection protocol and that is addressed to the second communication device that is the transmission destination. The method includes receiving the frame from the first communication device, determining whether a first address, which is the upper-layer address of the second communication device that is the transmission destination of the frame among the one or more second communication devices and that is obtained based on the header portion of the received frame, is included in a pre-registered table, and when the first address is not included in the table, identifying a second address, which is the address of the connection protocol of the second communication device that is the transmission destination of the frame, by analyzing the payload of the frame, and updating the table based on additional information associating the first address and the second address.

[0137] This achieves the same effect as the above-described relay device.

Industrial Applicability

[0138] The present disclosure is useful for communication devices that perform connection-type communication and the like.

Description of Reference Numerals

[0139] 1 Communication system 10, 20, 30, 40 ECU (second communication device) 50 Gateway SW (relay device) 51 Communication unit 52 Control unit 53 Analysis unit 54 Security check unit (check unit) 55 Update unit 56 Memory unit 60 Display device (terminal device) 100 Vehicle 200 Tool (first communication device) N Network T Table

Claims

1. A relay device that relays frames for connection-type communication transmitted and received between a first communication device and one or more second communication devices, wherein the header portion of the frame includes a destination address for the relay device in a connection protocol for performing the connection-type communication and an upper-layer address for a second communication device as a transmission destination in an upper-layer protocol higher than the connection protocol, a communication unit that receives the frame from the first communication device, a control unit that determines whether a first address, which is the upper-layer address of the second communication device that is the transmission destination of the frame among the one or more second communication devices, obtained based on the header portion of the frame received by the communication unit, is included in a table in which the destination address and the upper-layer address are associated, an analysis unit that, when the first address is not included in the table, specifies a second address, which is the destination address of the second communication device that is the transmission destination of the frame, by analyzing the payload of the frame, and an update unit that updates the table based on additional information associating the first address and the second address. Relay device.

2. The update unit temporarily registers the additional information in the table and registers the additional information in the table when a predetermined condition is satisfied. The relay device according to claim 1.

3. Furthermore, it includes a check unit that executes a security check regarding the first communication device, wherein the predetermined condition includes that no error is detected in the security check. The relay device according to claim 2.

4. The communication unit transmits the frame in which the destination address is converted to the second address to the second communication device as the transmission destination, wherein the predetermined condition includes that a connection is established between the relay device and the second communication device as the transmission destination. The relay device according to claim 2.

5. The update unit discards the additional information temporarily registered in the table when the predetermined condition is not satisfied. The relay device according to any one of claims 2 to 4.

6. In the table, information indicating whether the destination address, the upper-layer address, and the registration is temporary is associated. The relay device according to any one of claims 2 to 4.

7. In the table, information indicating the destination address, the upper-layer address, and the registration date and time is associated. The relay device according to any one of claims 2 to 4.

8. Furthermore, when the additional information is registered, the communication unit transmits information indicating that the additional information has been registered to the terminal device of the user who uses the first communication device. The relay device according to any one of claims 2 to 4.

9. When an error is detected regarding the first communication device in the security check, the communication unit transmits information indicating that the error has been detected to the terminal device of the user who uses the first communication device. The relay device according to claim 3.

10. When an error is detected regarding the first communication device in the security check, the communication unit transmits information indicating that the error has been detected to the security center. The relay device according to claim 3.

11. When a connection cannot be established with the second communication device as the transmission destination, the communication unit transmits information indicating that the connection cannot be established to the terminal device of the user who uses the first communication device. The relay device according to claim 4.

12. The relay device is mounted on a vehicle. The relay device according to any one of claims 1 to 4.

13. One of the first communication device and the second communication device is a device for diagnosing the vehicle, The other of the first communication device and the second communication device is an ECU (Electronic Control Unit) mounted on the vehicle. The relay device according to claim 12.

14. A relay method executed by a relay device that relays a frame by connection-type communication transmitted and received between a first communication device and one or more second communication devices, The header portion of the frame includes a destination address that designates the relay device by a connection protocol for performing the connection-type communication, and an upper-layer address that designates the second communication device as the transmission destination by an upper-layer protocol higher than the connection protocol. Receiving the frame from the first communication device, Determining whether a first address, which is the upper-layer address of the second communication device that is the transmission destination of the frame among the one or more second communication devices, obtained based on the header portion of the received frame, is included in a table in which the destination address and the upper-layer address are associated. When the first address is not included in the table, identify the second address, which is the destination address of the second communication device of the frame, by analyzing the payload of the frame, update the table based on the additional information associating the first address and the second address Relaying method.

Citation Information

Patent Citations

  • Relay device and relay method

    JP7200803B2