Communication system, vehicle, and communication method
The communication system enhances safety and efficiency by authenticating communication partners using client IDs within the SOME/IP protocol, addressing authentication issues in existing systems and reducing server load in transportation systems.
Patent Information
- Application Number
- JP2022058654
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2022-03-31
- Publication Date
- 2025-12-15
- Estimated Expiration
- 2042-03-31
AI Technical Summary
Existing communication systems using SOME/IP protocol face challenges in authenticating the communication device of the communication destination, which compromises safety and traffic safety in transportation systems.
A communication system and method that utilizes client IDs assigned to services within the SOME/IP protocol's Configuration Option to authenticate subscribe request messages and messages related to services, allowing legitimate communication partners to be recognized and unauthorized ones to be discarded, thereby enhancing security and reducing server load.
The solution effectively authenticates communication partners, improves safety and reduces server load by preventing unauthorized access, ensuring secure and efficient data transmission in transportation systems.
Smart Images

Figure 0007785596000001 
Figure 0007785596000002 
Figure 0007785596000003
Abstract
Description
[Technical Field]
[0001] The present invention relates to a communication system, a vehicle, and a communication method. [Background technology]
[0002] Patent Document 1 describes a technique related to SOME / IP. [Prior art document] [Patent documents] Patent Document 1: International Publication No. 2021 / 002261 Patent Document 2: International Publication No. 2021 / 002264 Summary of the Invention [Problem to be solved by the invention]
[0003] However, in SOME / IP, authenticating the communication device of the communication destination is an issue. The present application aims to improve safety in order to solve the above issue. Furthermore, it is intended to further improve traffic safety and contribute to the development of a sustainable transportation system. [Means for solving the problem]
[0004] In a first aspect of the present invention, there is provided a communication system. The communication system transmits and receives messages among a plurality of communication devices in accordance with the SOME / IP (Scalable service-Oriented Middleware over IP) protocol. The communication system includes a first communication device that provides a service. The communication system includes a second communication device that uses a service provided by the first communication device. The second communication device assigns a client ID to each of one or more services to which the second communication device subscribes among the services provided by the first communication device, includes the client ID in a Configuration Option of a SOME / IP-Service Discovery header (SOME / IP-SD header), and transmits a subscribe request message to the first communication device. When the first communication device receives a subscribe request message, it authenticates the received subscribe request message based on the contents of a Configuration Option in the received subscribe request message, and sends a message regarding the service requested to be subscribed to in the received subscribe request message, including the client ID included in the Configuration Option of the received subscribe request message, to the sender of the received subscribe request message; when the second communication device receives a message regarding the service requested to be subscribed to in the subscribe request message, it authenticates the received message regarding the service based on the contents of a Configuration Option included in the received message.
[0005] The first communication device may discard the received subscribe request message if the authentication result of the received subscribe request message is negative.The second communication device may discard the received message regarding the service if the authentication result of the received message regarding the service is negative.
[0006] When the authentication result of the received message related to the service is negative, the second communication device may discard a new message sent from the sender of the received subscribe request message.
[0007] The service provided by the first communication device may be a service for repeatedly transmitting time-varying data. When an authentication result of the received subscribe request message is positive, the first communication device may start transmitting a message including the data to a sender of the received subscribe request message. In the messages successively transmitted by the first communication device, an amount of change in the data included in the successive messages may be smaller than a predetermined value.
[0008] The second communication device provides a service that is used by the second communication device. 1 When the communication device is discovered by service discovery, the client ID may be assigned to the service and the subscribe request message may be transmitted.
[0009] The total length of the SOME / IP header and the Configuration Option included in the message relating to the service may be equal to or less than half the data length of the message to be sent.
[0010] In a second aspect of the present invention, there is provided a vehicle, the vehicle comprising the above-described communication system.
[0011] A third aspect of the present invention provides a communication method for transmitting and receiving messages between a plurality of communication devices in accordance with the SOME / IP (Scalable service-Oriented Middleware over IP) protocol. The communication method includes a step in which a second communication device assigns a client ID to each of one or more services to be subscribed to among services provided by a first communication device, includes the client ID in a Configuration Option of a SOME / IP-Service Discovery header (SOME / IP-SD header), and transmits a subscribe request message to the first communication device. When the first communication device receives a subscribe request message, the communication method further comprises the steps of: authenticating the received subscribe request message based on the content of a Configuration Option of the received subscribe request message; Receiving the second communication device, when receiving a message related to the service for which subscription has been requested in the subscribe request message, including the client ID included in a Configuration Option of the received subscribe request message, and transmitting the message related to the service to a sender of the received subscribe request message. cormorant Provide stages.
[0013] The above summary of the invention does not list all of the features of the present invention, and subcombinations of these features may also constitute inventions. [Brief explanation of the drawings]
[0014] [Figure 1] 1 conceptually illustrates a system configuration of a vehicle 10 in one embodiment. [Figure 2] 2 is a block diagram showing a schematic configuration of a control device 112 included in a rearview camera 110. FIG. [Figure 3] 2 is a block diagram showing a schematic functional configuration of an ECU 120. FIG. [Figure 4] The format of the SubscribeEventgroup message sent by the ECU 120 is shown. [Figure 5] 10 is a diagram conceptually showing the allocation of client IDs to services provided by the rear camera 110. FIG. [Figure 6] 1 shows the flow of processing executed by the rear camera 110 and the ECU 120. [Figure 7] An example of a computer 2000 is shown. DETAILED DESCRIPTION OF THE INVENTION
[0015] The present invention will be described below through embodiments of the invention, but the following embodiments do not limit the scope of the invention according to the claims. Furthermore, not all of the combinations of features described in the embodiments are necessarily essential to the solution of the invention.
[0016] 1 conceptually illustrates the system configuration of a vehicle 10 according to one embodiment. The vehicle 10 includes a communication system 20. The communication system 20 includes an ECU 120, a front camera 130, a right camera 140, a left camera 150, and a rear camera 110, and a communication network 180. The CAN communication network 180 includes a switch 181 and a switch 182.
[0017] The ECU 120 is an electronic control unit that controls, for example, an advanced driver assistance system (ADAS). The front camera 130 is a camera that captures images in the forward direction of the vehicle 10. The right camera 140 is a camera that captures images on the right side as the vehicle 10 moves forward, and the left camera 150 is a camera that captures images on the left side as the vehicle 10 moves forward. The rear camera 110 is a camera that captures images in the reverse direction of the vehicle 10.
[0018] The ECU 120, the front camera 130, the right camera 140, the left camera 150, and the rear camera 110 have a communication function. The ECU 120, the front camera 130, the right camera 140, the left camera 150, and the rear camera 110 are examples of communication devices.
[0019] The ECU 120 is communicably connected to the front camera 130, the right camera 140, the left camera 150, and the rear camera 110 via a communication network 180. The right camera 140, the rear camera 110, and the switch 181 are connected to a switch 181. The ECU 120, the front camera 130, the left camera 150, and the switch 181 are connected to a switch 182. The ECU 120 can receive information acquired by each of the front camera 130, the right camera 140, the left camera 150, and the rear camera 110 via the communication network 180.
[0020] In this embodiment, at least the ECU 120 and the rear camera 110 have a function of transmitting and receiving messages to each other in accordance with the SOME / IP (Scalable service-oriented middleware over IP) protocol. In this embodiment, the rear camera 110 functions as a server, which is a communication device that provides a service. The ECU 120 functions as a client, which is a communication device that uses the service.
[0021] In this embodiment, when rear camera 110 is connected to switch 181, rear camera 110 notifies a communication device connected to communication system 20 of services that rear camera 110 can provide via communication network 180 using SOME / IP service discovery (SD). Rear camera 110 provides a service of notifying information acquired by recognizing an image acquired by rear camera 110, for example. For example, when rear camera 110 acquires new information by recognizing an image of a road sign acquired by image recognition, it provides a service of notifying the newly recognized information as an event.
[0022] The ECU 120 can learn about services provided by the rear camera 110 through service discovery. When the ECU 120 uses a service provided by the rear camera 110, the ECU 120 transmits a subscribe request message to the rear camera 110. For example, when the ECU 120 requests the rear camera 110 to provide an event, the ECU 120 transmits a SubscribeEventgroup to the rear camera 110. At this time, the ECU 120 assigns a client ID to the event that the ECU 120 requests the rear camera 110 to provide, and transmits a SubscribeEventgroup including the client ID in a ConfigurationOption of a SOME / IP-SD header to the rear camera 110.
[0023] When the rear camera 110 receives the SubscribeEventgroup sent by the ECU 120, it determines whether or not a client ID is included in the ConfigurationOption of the SOME / IP-SD header, thereby authenticating the SubscribeEventgroup, and determines whether or not to start sending events to the ECU 120 according to the authentication result. For example, if the client ID is included in the ConfigurationOption, the rear camera 110 accepts the SubscribeEventgroup and sends a SubscribeEventgroupAck, and starts sending events to the ECU 120. On the other hand, if the client ID is not included in the ConfigurationOption, the rear camera 110 discards the SubscribeEventgroup and sends a SubscribeEventgroupNack, or does not send a SubscribeEventgroupAck.
[0024] In this way, the rear camera 110 uses the information included in the ConfigurationOption to authenticate that the client that has requested the service subscription is a legitimate client. This reduces the possibility that a service will be provided in response to a subscription request from an unauthorized client. Therefore, it is possible to prevent the load on the rear camera 110 for providing the service from increasing due to unauthorized access.
[0025] Fig. 2 is a block diagram showing a schematic functional configuration of the control device 112 provided in the rear camera 110. Fig. 3 is a block diagram showing a schematic functional configuration of the ECU 120. The control device 112 and the ECU 120 transmit and receive messages between multiple communication devices in accordance with the SOME / IP protocol. The control device 112 provides services, and the ECU 120 uses the services provided by the control device 112.
[0026] The control device 112 of the rear camera 110 includes a processing unit 200 and a storage unit 280. The processing unit 200 includes an authentication unit 210 and a setting unit 220. The ECU 120 includes a processing unit 300 and a storage unit 380. The processing unit 300 includes an authentication unit 310 and an allocation unit 320.
[0027] In the ECU 120, the allocation unit 320 allocates a client ID to each of one or more services to be subscribed to among the services provided by the control device 112. The processing unit 300 includes the client ID allocated by the allocation unit 320 in the ConfigurationOption of the SOME / IP-SD (Service Discovery) header, and transmits a subscribe request message to the control device 112. The subscribe request message is a SubscribeEventgroup message or the like.
[0028] In the control device 112 of the rear camera 110, when a subscribe request message is received, the authentication unit 210 authenticates the received subscribe request message based on the contents of the ConfigurationOption in the received subscribe request message. The control device 112 transmits a message related to the service for which subscription is requested in the received subscribe request message. At this time, the setting unit 220 includes the client ID included in the ConfigurationOption in the received subscribe request message in the message related to the service, and causes the message to be transmitted to the sender of the received subscribe request message. The message related to the service for which subscription is requested is, for example, a SubscribeEventgroupAck message, an Event Notification message, a Field Notification message, etc.
[0029] In ECU 120, when an authentication unit 310 receives a message related to a service for which a subscription has been requested in a subscribe request message, it authenticates the received message related to the service based on the contents of the ConfigurationOption included in the received message. In this way, the client assigns a client ID to the subscribe request message, and the server assigns the client ID to a message sent to the client, thereby making it possible to recognize that the communication partner is not an unauthorized communication partner.
[0030] The control device 112 of the rear camera 110 may discard the received subscribe request message if the authentication result of the received message related to the service is negative. The processing unit 300 of the ECU 120 may discard the received message related to the service if the authentication result of the received message related to the service is negative. The processing unit 300 of the ECU 120 may discard a new message sent from the sender of the received subscribe request message if the authentication result of the received message related to the service is negative. In this way, even if an unauthorized communication party sends a message using a spoofed IP address and MAC address, it is possible to recognize that the communication party is an unauthorized communication party based on the contents of the Configuration Option included in the message.
[0031] The service provided by the control device 112 may be a service that repeatedly transmits data that may change over time. The service provided by the control device 112 may be a service that transmits a weather forecast, a service that transmits the current location information of the vehicle 10, etc. If the authentication result of the received subscribe request message is positive, the control device 112 may start transmitting a message including the data to the sender of the received subscribe request message. In messages that are successively transmitted by the control device 112, it is desirable that the amount of change in the data included in successive messages is smaller than a predetermined value. This can reduce the impact caused by discarding some messages.
[0032] The ECU 120 provides the services that the ECU 120 uses. Control device 112 When a service is discovered by service discovery, a client ID is assigned to the service and a subscribe request message is transmitted. This allows a client ID to be assigned and a subscribe request message to be transmitted when a new server is connected to the communication network 180 or when a server connected to the communication network 180 is updated.
[0033] It is desirable that the total length of the portion of a service-related message, including the SOME / IP header and the SOME / IP-SD header's Configuration Option, be less than half the data length of the message being sent, which can improve data communication efficiency.
[0034] The processing unit 200 may be implemented by a processor such as a CPU that performs arithmetic processing. The storage unit 280 may include a non-volatile storage medium such as a flash memory, or a volatile storage medium such as a random access memory. The control device 112 may be configured to include a computer. The control device 112 performs various controls by causing the processing unit 200 to operate in accordance with a program stored in the non-volatile storage medium.
[0035] Similarly, processing unit 300 may be implemented by a processor such as a CPU that performs arithmetic processing. Storage unit 380 may include a nonvolatile storage medium such as a flash memory, or a volatile storage medium such as a random access memory. ECU 120 may be configured to include a computer. ECU 120 performs various types of control by processing unit 300 operating in accordance with programs stored in the nonvolatile storage medium.
[0036] Fig. 4 shows the format of the SubscribeEventgroup message sent by ECU 120. The message shown in Fig. 5 is stored in the payload section of Ethernet (registered trademark). One line in Fig. 5 is 32 bits long. The SubscribeEventgroup message includes a SOME / IP section 410 that is a SOME / IP header and a SOME / IP-SD section 420 that is a SOME / IP-SD header.
[0037] In the SOME / IP section 410, the Message ID stores 0xFFFF8100, which is made up of 0xFFFF as the Service ID and 0x8100 as the Method ID. The Length stores the number of bytes of data after the Length field. The Request ID stores a numeric value made up of the Client ID and Session ID. The Protocol Version stores the version of SOME / IP to be used (currently 0x01), the Interface Version stores the version of SOME / IP-SD to be used (currently 0x01), the Message Type stores 0x02, and the Return Code stores 0x00.
[0038] The SOME / IP-SD section 420 includes an entry section 421 and an option section 422 .
[0039] The entry section 421 includes Flags, Reserved, Length of Entries Array in Bytes, Type, Index 1st Options, Index 2nd Options, Number of Option 1, Number of Option 2, Service ID, Instance ID, Major Version, TTL, Reserved, Initial Data Requested Flag, Reserved 2, Counter, and Eventgroup ID.
[0040] In entry section 421, Flags stores Reboot Flag. Reserved is a reserved area. Length of Entries Array in Bytes stores the number of bytes of the entry. Type stores a value indicating Subscribe as the type of service. Index 1st options stores a value indicating the position of the first option. Index 2nd options stores a value indicating the position of the second option. Number of opt1 stores the number of option 1. Number of opt2 stores the number of option 2.
[0041] The Service ID stores an ID that indicates the type of service. The Instance ID stores an ID that indicates the instance of the service. The Major Version stores information used for version management of the service. The TTL stores the number of seconds that indicates the expiration time of the service. It is set.
[0042] Reserved is a reserved field and 0x00 is stored. Initial Data Requested Flag stores a value indicating whether the first subscription will trigger the initial event transmission. Reserved2 is a reserved field and 0x00 is stored. Counter stores a value to distinguish between parallel subscriptions to the same event group of the same service, and if not used, 0x00 is stored. Eventgroup ID stores the event group ID.
[0043] The option section 422 stores Length of Options Array in Bytes, Length, Type, Reserved, and Configuration String. Length of Options Array in Bytes stores the length of the option section 422. Length stores the length of the option. Type stores 0x01, which indicates ConfigurationOption as the type of information. Reserved stores 0x00. Reserved is a reserved area and stores 0. Configuration String stores a character string indicating the client ID assigned to the event that ECU 120 requests to be notified. In this embodiment, Configuration String stores a character string including the client ID assigned to the event service used by ECU 120.
[0044] 5 conceptually illustrates a process in which ECU 120 assigns client IDs to services provided by rear camera 110. Rear camera 110 provides service 1, which is a service provided through a Method interface, and service 2, which is provided through an Event interface. In this embodiment, service 2 is a service that notifies the user of information that satisfies predetermined conditions by recognizing an image captured by rear camera 110.
[0045] In ECU 120, service 1 that uses service 2 of rear camera 110, service 2 that uses service 1 of rear camera 110, and service 3 that uses services 1 and 2 of rear camera 110 are assumed to be activated.
[0046] The allocation unit 320 not only allocates a client ID 1 to service 1 provided by the rear camera 110 through the Method interface, but also allocates a client ID 2 to service 2 provided by the rear camera 110 through the Event interface. Then, the ECU 120 includes the client ID in the Configuration String of the Configuration Option of the SubscribeEventgroup that is transmitted when requesting subscription to service 2 provided by the rear camera 110 through the Event interface.
[0047] 6 shows the flow of processing executed by the rear camera 110 and the ECU 120. As part of service discovery, in S610, the ECU 120 transmits a Find Service message to the communication network 180 to search for services available in the communication system 20. Upon receiving the Find Service message, the rear camera 110 transmits an Offer Service message indicating services offered by the rear camera 110 via the communication network 180 in S620.
[0048] When the ECU 120 receives the Offer Service from the rear camera 110, in S622 the allocation unit 320 allocates a client ID 2 to the service 2 provided by the Event interface. In S630, the ECU 120 transmits a SubscribeEventgroup message, the Configuration String of which includes the client ID 2 allocated to the service 2 of the rear camera 110, to the rear camera 110 via the communication network 180. The SubscribeEventgroup message transmitted to the rear camera 110 includes identification information of the service 2 for which subscription is requested.
[0049] In S632, when the rear camera 110 receives the SubscribeEventgroup message, the authentication unit 210 authenticates the SubscribeEventgroup message based on the contents of the option section 422 of the SubscribeEventgroup message. Specifically, if the authentication unit 210 determines that the Configuration String contains a character string of a valid client ID that meets a predetermined condition, it generates a positive authentication result. On the other hand, if the authentication unit 210 determines that the Configuration String does not contain a character string of a valid client ID, or if the Configuration String is not included in the option section, it generates a negative authentication result. If a positive authentication result is generated, the storage unit 280 of the rear camera 110 stores the client ID extracted from the Configuration String in association with the identification information of the ECU 120 that is the sender of the SubscribeEventgroup message and the service identification information of service 2 for which subscription is requested in the SubscribeEventgroup message.
[0050] If a negative authentication result is generated in S632, the rear camera 110 may discard the SubscribeEventgroup. At this time, the rear camera 110 may send a SubscribeEventgroupNack without sending a SubscribeEventgroupAck. If a negative authentication result is generated in S632, the rear camera 110 may simply discard the SubscribeEventgroup and not send either a SubscribeEventgroupAck or a SubscribeEventgroupNack.
[0051] If a positive authentication result is generated in S632, in S640, the rear camera 110 transmits a SubscribeEventgroupAck message to the ECU 120 via the communication network 180. At this time, the setting unit 220 includes the client ID extracted from the Configuration String of the SubscribeEventgroup in the Configuration String of the options section of the transmitted SubscribeEventgroupAck message.
[0052] In S642, when ECU 120 receives the SubscribeEventgroupAck message, authentication unit 310 of ECU 120 authenticates the SubscribeEventgroupAck message based on the contents of the options section of the SubscribeEventgroupAck message. Specifically, if authentication unit 310 determines that the character string of the client ID assigned in S622 is included in the Configuration String, it generates a positive authentication result. If the character string of the client ID assigned in S622 is not included in the Configuration String or if the Configuration String is not included in the options section, it generates a negative authentication result. If a negative authentication result is generated, ECU 120 discards the SubscribeEventgroupAck message. If a negative authentication result is generated, ECU 120 may discard messages sent from the sender of the SubscribeEventgroupAck message for a predetermined period of time. This completes the service discovery processing.
[0053] After the process related to service discovery is completed, if rear camera 110 acquires information that satisfies predetermined conditions by recognizing the image acquired by capturing an image, rear camera 110 generates an Event Notification message including the acquired information and notifies ECU 120. At this time, setting unit 220 of rear camera 110 acquires a client ID stored in storage unit 280 in association with the identification information of ECU 120 and the service identification information of service 2, and includes the client ID in a Configuration String in the option section of the Event Notification message to be transmitted.
[0054] In S652, when ECU 120 receives the Event Notification message, authentication unit 310 of ECU 120 authenticates the Event Notification message based on the contents of the options section of the Event Notification message. Specifically, if authentication unit 310 determines that the character string of the client ID assigned in S622 is included in the Configuration String, it generates a positive authentication result. If the character string of the client ID assigned in S622 is not included in the Configuration String or if the Configuration String is not included in the options section, it generates a negative authentication result. If a negative authentication result is generated, ECU 120 discards the received Event Notification message. If a negative authentication result is generated, ECU 120 may discard messages sent from the sender of the received Event Notification message for a predetermined period of time.
[0055] Although the embodiment relating to the service provided by the event interface has been described above, other embodiments can also be applied to a service notified by Field Notification in the service provided by the field interface.
[0056] In SOME / IP-SD, when there are multiple client-side service instance subscribe requests for one server-side service instance, one service instance is created for each request. Therefore, even if the server receives a SOME / IP-SD Subscribe request from an unauthorized device, it will create instances for each received Subscribe, which may increase the server load. To address this issue, as described above, the client sends a subscribe request message to the server, including the client ID in the options section for the service to be notified by Event or Field Notification. This allows the server to recognize that the subscribe request message is from a legitimate client. This reduces the load on the server.
[0057] In this embodiment, in order to easily explain the present invention, the rearview camera 110 has been described as an example of a communication device functioning as a server that provides a service. However, the communication device that provides the service is not limited to the rearview camera 110, and may be any communication device included in the vehicle 10. The communication device that provides the service may be a communication device that provides information acquired from sensor information detected by various sensors other than a camera. The communication device that provides the service may be a communication device that provides current location information of the vehicle 10 acquired from signals received from GNSS satellites. The communication device that provides the service may be a communication device that provides weather information or road information received from outside the vehicle 10. In this embodiment, the ECU 120 has been described as a communication device that functions as a client that uses a service. However, the communication device that uses the service is not limited to the ECU 120, and may be any communication device included in the vehicle 10.
[0058] 7 shows an example of a computer 2000 in which multiple embodiments of the present invention may be embodied in whole or in part. A program installed on the computer 2000 may cause the computer 2000 to function as a system or each part of a system, such as the communication system 20 according to an embodiment, or an apparatus or each part of an apparatus, such as the rearview camera 110 or the ECU 120, or each part of the apparatus, to perform operations associated with the system or each part of the system or the apparatus or each part of the apparatus, and / or to perform a process or steps of the process according to an embodiment. Such a program may be executed by the CPU 2012 to cause the computer 2000 to perform specific operations associated with some or all of the processing procedures and blocks of the block diagrams described herein.
[0059] The computer 2000 according to this embodiment includes a CPU 2012 and a RAM 2014, which are interconnected by a host controller 2010. The computer 2000 also includes a ROM 2026, a flash memory 2024, a communication interface 2022, and an input / output chip 2040. The ROM 2026, the flash memory 2024, the communication interface 2022, and the input / output chip 2040 are connected to the host controller 2010 via the input / output controller 2020.
[0060] The CPU 2012 operates according to programs stored in the ROM 2026 and RAM 2014, thereby controlling each unit.
[0061] The communication interface 2022 communicates with other electronic devices via a network. The flash memory 2024 stores programs and data used by the CPU 2012 in the computer 2000. The ROM 2026 stores a boot program and the like executed by the computer 2000 upon activation, and / or programs dependent on the hardware of the computer 2000. The input / output chip 2040 may also connect various input / output units such as a keyboard, mouse, and monitor to the input / output controller 2020 via input / output ports such as a serial port, a parallel port, a keyboard port, a mouse port, a monitor port, a USB port, an HDMI (registered trademark) port, etc.
[0062] The programs are provided via a computer-readable storage medium such as a CD-ROM, a DVD-ROM, or a memory card, or via a network. The RAM 2014, the ROM 2026, or the flash memory 2024 are examples of computer-readable storage media. The programs are installed in the flash memory 2024, the RAM 2014, or the ROM 2026 and executed by the CPU 2012. Information processing described in these programs is read by the computer 2000, and causes cooperation between the programs and the various types of hardware resources described above. An apparatus or a method may be configured by implementing operations or processing of information in accordance with the use of the computer 2000.
[0063] For example, when communication is performed between the computer 2000 and an external device, the CPU 2012 may execute a communication program loaded into the RAM 2014 and instruct the communication interface 2022 to perform communication processing based on the processing described in the communication program. Under the control of the CPU 2012, the communication interface 2022 reads transmission data stored in a transmission buffer processing area provided in a recording medium such as the RAM 2014 or flash memory 2024, transmits the read transmission data to a network, and writes received data received from the network to a reception buffer processing area or the like provided on the recording medium.
[0064] The CPU 2012 may also cause all or a necessary portion of a file or database stored on a recording medium such as the flash memory 2024 to be read into the RAM 2014, and perform various types of processing on the data on the RAM 2014. The CPU 2012 then writes the processed data back to the recording medium.
[0065] Various types of information, such as various types of programs, data, tables, and databases, may be stored on the recording medium and subjected to information processing. The CPU 2012 may perform various types of processing on data read from the RAM 2014, including various types of operations, information processing, conditional judgment, conditional branching, unconditional branching, information search / replacement, etc., as described herein and specified by the instruction sequences of the programs, and write the results back to the RAM 2014. The CPU 2012 may also search for information in a file, database, etc. on the recording medium. For example, if multiple entries each having an attribute value of a first attribute associated with an attribute value of a second attribute are stored on the recording medium, the CPU 2012 may search for an entry that matches a condition specified by the attribute value of the first attribute from among the multiple entries, read the attribute value of the second attribute stored in the entry, and thereby obtain the attribute value of the second attribute associated with the first attribute that satisfies a predetermined condition.
[0066] The above-described programs or software modules may be stored in a computer-readable storage medium on or near the computer 2000. A recording medium such as a hard disk or RAM provided in a server system connected to a dedicated communication network or the Internet can be used as the computer-readable storage medium. The programs stored in the computer-readable storage medium may be provided to the computer 2000 via a network.
[0067] A program installed in the computer 2000 and causing the computer 2000 to function as the control device 112 of the rear camera 110 may act on the CPU 2012 or the like to cause the computer 2000 to function as each unit of the control device 112. When the information processing described in these programs is read into the computer 2000, the computer 2000 functions as each unit of the control device 112, which is a specific means formed by the software and the various hardware resources described above working together. These specific means then perform calculations or processing of information according to the intended use of the computer 2000 in this embodiment, thereby constructing a specific control device 112 according to the intended use.
[0068] A program installed in computer 2000 and causing computer 2000 to function as ECU 120 may act on CPU 2012 or the like to cause computer 2000 to function as each unit of ECU 120. When the information processing described in these programs is read into computer 2000, it functions as each unit of ECU 120, which is a specific means formed by the software and the various hardware resources described above working together. These specific means then perform calculations or processing of information according to the intended use of computer 2000 in this embodiment, thereby constructing a specific ECU 120 according to the intended use.
[0069] Various embodiments have been described with reference to block diagrams. In the block diagrams, each block may represent (1) a stage of a process where an operation is performed or (2) a portion of an apparatus responsible for performing the operation. Particular stages and portions may be implemented by dedicated circuitry, programmable circuitry provided with computer-readable instructions stored on a computer-readable storage medium, and / or a processor provided with computer-readable instructions stored on a computer-readable storage medium. Dedicated circuitry may include digital and / or analog hardware circuitry, and may include integrated circuits (ICs) and / or discrete circuits. Programmable circuitry may include reconfigurable hardware circuitry including logical AND, logical OR, logical XOR, logical NAND, logical NOR, and other logic operations, flip-flops, registers, memory elements such as field programmable gate arrays (FPGAs), programmable logic arrays (PLAs), and the like.
[0070] A computer-readable storage medium may include any tangible device capable of storing instructions that are executed by an appropriate device, such that the computer-readable storage medium with instructions stored thereon constitutes at least a portion of an article of manufacture containing instructions that can be executed to provide means for performing the operations specified in a process or block diagram. Examples of computer-readable storage media may include electronic storage media, magnetic storage media, optical storage media, electromagnetic storage media, semiconductor storage media, etc. More specific examples of computer-readable storage media may include floppy disks, diskettes, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), electrically erasable programmable read-only memory (EEPROM), static random access memory (SRAM), compact disc read-only memory (CD-ROM), digital versatile disc (DVD), Blu-ray disc, memory stick, integrated circuit card, etc.
[0071] The computer readable instructions may include either assembler instructions, instruction set architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, state-setting data, or source or object code written in any combination of one or more programming languages, including object-oriented programming languages such as Smalltalk®, JAVA®, C++, etc., and conventional procedural programming languages such as the “C” programming language or similar programming languages.
[0072] The computer-readable instructions may be provided to a processor or programmable circuitry of a general-purpose computer, special-purpose computer, or other programmable data processing apparatus, either locally or over a wide-area network (WAN) such as a local area network (LAN), the Internet, etc., and executed to provide means for performing the operations specified in the process steps or block diagrams described. Examples of processors include computer processors, processing units, microprocessors, digital signal processors, controllers, microcontrollers, etc.
[0073] Although the present invention has been described above using embodiments, the technical scope of the present invention is not limited to the scope described in the above embodiments. It will be apparent to those skilled in the art that various modifications and improvements can be made to the above embodiments. It is clear from the claims that such modifications and improvements can also be included within the technical scope of the present invention.
[0074] It should be noted that the execution order of each process, such as operations, procedures, steps, and stages, in the devices, systems, programs, and methods shown in the claims, specifications, and drawings is not specifically stated as "before," "prior to," etc., and that the processes can be performed in any order unless the output of a previous process is used in a subsequent process. Even if the operational flow in the claims, specifications, and drawings is described using "first," "next," etc. for convenience, this does not mean that the processes must be performed in this order. [Explanation of symbols]
[0075] 10 vehicles 20 Systems 110 Rear camera 112 Control device 120 ECU 130 Front camera 140 Right Camera 150 left camera 180 Communication Network 181, 182 switches 200 Processing section 210 Authentication Department 220 Setting Section 280 Storage section 300 Processing section 310 Authentication Department 320 Allocation Section 380 Storage section 410 SOME / IP Department 420 SOME / IP-SD Department 421 Entry Section 422 Optional Part 2000 Computer 2010 Host Controller 2012 CPU 2014 RAM 2020 Input / Output Controller 2022 Communication Interface 2024 flash memory 2026 ROM 2040 Input / Output Chip
Claims
1. A communication system that transmits and receives messages between multiple communication devices in accordance with the SOME / IP (Scalable service-oriented Middleware over IP) protocol, a first communication device providing a service; a second communication device that uses a service provided by the first communication device; Equipped with the second communication device assigns a client ID to each of one or more services to be subscribed to among the services provided by the first communication device, includes the client ID in a ConfigurationOption of a SOME / IP-Service Discovery header (SOME / IP-SD header), and transmits a subscribe request message to the first communication device; the first communication device, When a subscribe request message is received, the received subscribe request message is authenticated based on the contents of the Configuration Option of the received subscribe request message; sending a message relating to the service requested to be subscribed to in the received subscribe request message, the message including the client ID included in the ConfigurationOption of the received subscribe request message, to a sender of the received subscribe request message; When the second communication device receives a message related to the service for which the subscription has been requested in the subscribe request message, the second communication device authenticates the received message related to the service based on the content of ConfigurationOption included in the received message. Communication system.
2. When an authentication result of the received subscribe request message is negative, the first communication device discards the subscribe request message; When the authentication result of the received message regarding the service is negative, the second communication device discards the received message regarding the service. The communication system of claim 1 .
3. If the authentication result of the received message regarding the service is negative, the second communication device discards a new message sent from the sender of the received subscribe request message.
3. A communication system according to claim 1 or 2.
4. the service provided by the first communication device is a service of repeatedly transmitting data that changes over time, when a result of authentication of the received subscribe request message is positive, the first communication device starts transmitting a message including the data to a sender of the received subscribe request message; In the messages successively transmitted by the first communication device, a change amount of data included in the successive messages is smaller than a predetermined value. A communication system according to any one of claims 1 to 3.
5. When the second communication device discovers, by service discovery, the first communication device that provides the service used by the second communication device, the second communication device assigns the client ID to the service and transmits the subscribe request message. A communication system according to any one of claims 1 to 4.
6. The total length of the SOME / IP header and the ConfigurationOption included in the message related to the service is equal to or less than half the data length of the message to be sent. A communication system according to any one of claims 1 to 5.
7. A vehicle comprising a communication system according to any one of claims 1 to 6.
8. A communication method for transmitting and receiving messages between a plurality of communication devices in accordance with the SOME / IP (Scalable service-oriented middleware over IP) protocol, comprising: a step in which the second communication device assigns a client ID to each of one or more services to be subscribed to among the services provided by the first communication device, includes the client ID in a ConfigurationOption of a SOME / IP-Service Discovery header (SOME / IP-SD header), and transmits a subscribe request message to the first communication device; a step in which, when the first communication device receives a subscribe request message, the first communication device authenticates the received subscribe request message based on the content of a Configuration Option of the received subscribe request message, and includes a client ID included in the Configuration Option of the received subscribe request message in a message related to a service requested to be subscribed to in the received subscribe request message, and transmits the message to a sender of the received subscribe request message; when the second communication device receives a message related to the service for which the second communication device has requested to subscribe in the subscribe request message, authenticating the received message related to the service based on the contents of ConfigurationOption included in the received message; A communication method comprising:
Citation Information
Patent Citations
Subscription message processing method, device, computer device, and storage medium
JP2022513769A
Method and apparatus for processing a some / IP stream through interworking with AVB technology
US20160142303A1
Method and device for analyzing service-oriented communication
US20210014340A1
Improvements in the transmission of data or messages on board a vehicle using a some / IP communication protocol
WO2020217202A1