On-vehicle information processing device, information processing method and server program

The in-vehicle information processing apparatus and method address version mismatches by temporarily adjusting server versions to match client requests, ensuring seamless service provision.

JP2025094952AActive Publication Date: 2025-06-25AUTONETWORKS TECH LTD +2
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
JP2025034566
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2025-03-05
Publication Date
2025-06-25
Estimated Expiration
2040-03-26

AI Technical Summary

Technical Problem

In SOME/IP systems, version mismatches between server and client programs can prevent clients from receiving desired services, leading to service disruptions.

Method used

An in-vehicle information processing apparatus and method that temporarily adjusts the version information of services provided by a server to match client requests, verifies the compatibility, and provides services only if compatibility is confirmed.

Benefits of technology

Prevents service disruptions due to version mismatches by ensuring that clients can receive services with compatible versions, thereby maintaining smooth operation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025094952000001_ABST
    Figure 2025094952000001_ABST
Patent Text Reader

Abstract

To provide an on-vehicle information processing device capable of expecting that a client can avoid not receiving a service due to a mismatch between versions as much as possible, and provide an information processing method and a server program.SOLUTION: In an on-vehicle information processing device according to this embodiment, a server processing part receives a retrieval message for retrieving a service to be requested from a client processing part for requesting service provision, the retrieval message includes the identification information and version information of the service to be requested, the server processing part determines whether the version information included in the received retrieval message coincides with version information of a service provided by the server processing part itself, verifies whether to provide a client processing part with a service having different version information if it is determined that both pieces of version information are not coincident, and provides the client processing part with the service if the service having different version information can be provided.SELECTED DRAWING: Figure 8
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to an in-vehicle information processing apparatus, an information processing method, and a server program that perform a process of providing a service to a client.

Background Art

[0002] In recent years, the development of automatic driving functions of vehicles has been advanced, and control of a more highly functional in-vehicle system has been demanded. As an architecture of service-oriented middleware for realizing this, SOME / IP (Scalable service-Oriented MiddlewarE over IP) has attracted attention.

[0003] In Patent Document 1, before starting the provision of a new service, its identification information is transmitted to an external device, a test of the new service is performed in response to a test instruction from the external device, and the test result is transmitted to the external device. When determination information indicating permission to provide the new service is received from the external device, an ECU (Electronic Control Unit) that starts providing the new service has been proposed. After receiving the identification information from the ECU, the external device transmits a test instruction to the ECU and receives the result, determines whether to permit the provision of the new service based on the received result, and transmits the determination information to the ECU.

Prior Art Documents

Patent Documents

[0004]

Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0005] In SOME / IP, information such as service ID and version is set for the services provided by the server. A client desiring to receive a service searches for whether the service is provided by specifying the service ID and version. For example, if the server program providing the service is updated in version and the client program has not been updated in version, the version of the service provided by the server may not match the version of the service desired by the client, and a situation may occur where the client cannot receive the desired service.

[0006] The present disclosure has been made in view of such circumstances, and an object thereof is to provide an in-vehicle information processing apparatus, an information processing method, and a server program that can be expected to avoid as much as possible the situation where a client cannot receive a service due to a version mismatch.

Means for Solving the Problem

[0007] The in-vehicle information processing apparatus according to this aspect is an in-vehicle information processing apparatus including a server processing unit that performs processing to provide a service in response to a request. The server processing unit receives a search message for searching for a requested service from a client processing unit that requests the provision of a service. The search message includes identification information and version information of the requested service. The server processing unit determines whether the version information included in the received search message matches the version information of the service it provides. If it is determined that the two version information do not match, the server processing unit temporarily changes the version information of the service it provides to the version information included in the search message, performs message transmission and reception with the client processing unit based on the temporarily changed version information, verifies whether it is possible to provide a service with different version information to the client processing unit based on the result of the message transmission and reception, and provides the service to the client processing unit if it is possible to provide a service with different version information.

[0008] This application can be realized not only as an apparatus including such a characteristic processing unit, but also as a method including such a characteristic process as steps, or as a computer program for causing a computer to execute such steps. It can be realized as a semiconductor integrated circuit that realizes part or all of these apparatuses, or as other apparatuses or systems including these apparatuses.

Advantages of the Invention

[0009] According to the above, it can be expected to avoid as much as possible the situation where a client cannot receive a service due to a version mismatch.

Brief Description of the Drawings

[0010]

Figure 1

Figure 2

Figure 3

Figure 4

Figure 5

Figure 6

Figure 7

Figure 8

Figure 9

Figure 10

Figure 11

Figure 12

Figure 13

Figure 14

Figure 15

[0011] [Description of Embodiments of the Present Disclosure] First, the embodiments of the present disclosure will be listed and described. At least a part of the embodiments described below may be arbitrarily combined.

[0012] (1) The in-vehicle information processing device according to this aspect is an in-vehicle information processing device including a server processing unit that performs processing for providing a service in response to a request. The server processing unit receives a search message for searching for a requested service from a client processing unit that requests the provision of a service. The search message includes identification information and version information of the requested service. The server processing unit determines whether the version information included in the received search message matches the version information of the service provided by itself. When it is determined that both version information do not match, it verifies whether it is possible to provide a service with different version information to the client processing unit. When it is possible to provide a service with different version information, the server processing unit provides the service to the client processing unit.

[0013] In this aspect, the server processing unit of the in-vehicle information processing device receives a search message for searching for a service from the client processing unit that requests the provision of the service. This search message includes the identification information and version information of the service required by the client processing unit, and the server processing unit determines whether the version information included in the received search message matches the version information of the service it provides. When both version information matches, the server processing unit performs a process of providing this service to the client processing unit. When both version information does not match, the server processing unit verifies whether the client processing unit can receive the provision of a service with different version information. As a result of the verification, if the client processing unit can receive the provision of a service with different version information, the server processing unit performs information processing for providing the service requested by the client processing unit. Thereby, it can be expected that the server processing unit of the in-vehicle information processing device avoids as much as possible the situation where the client processing unit cannot receive the service due to the mismatch of the version information of the service.

[0014] (2) When the server processing unit can provide services with different version information, it is preferable to change the version information of the services to be provided to the client processing unit later to the version information included in the search message.

[0015] In this aspect, as a result of the verification, if the client processing unit can receive the provision of a service with different version information, the server processing unit changes the version information of the service it provides to this client processing unit later to the version information included in the search message received from the client processing unit. Thereby, it can be expected that there will be no more mismatch of version information in the future, and the processing of the client processing unit can be smoothly performed.

[0016] (3) The server processing unit preferably temporarily changes the version information of the service it provides to the version information included in the search message, performs message transmission and reception with the client processing unit based on the temporarily changed version information, and verifies whether it is possible to provide services with different version information based on the result of the message transmission and reception.

[0017] In this aspect, when verifying whether the client processing unit can receive services with different version information, the server processing unit first temporarily changes the version information of the service it provides to the version information included in the search message received from the client processing unit. Then, the server processing unit performs message transmission and reception regarding service provision with the client processing unit based on the changed version information. The server processing unit verifies whether the client processing unit can receive services with different version information based on the result of this message transmission and reception. Thereby, the in-vehicle information processing device can verify whether a problem occurs when the version information of the service it provides is changed to the version information of the service requested by the client processing unit.

[0018] (4) The server processing unit preferably gives an instruction to cause the client processing unit to transmit a predetermined message, receives the message transmitted by the client processing unit in response to the instruction, and performs verification based on the received message.

[0019] In this aspect, the server processing unit gives an instruction to cause the client processing unit to transmit a predetermined message, and performs verification based on the message transmitted by the client processing unit in response to this instruction. Thereby, the server processing unit can more accurately verify whether the client processing unit can receive services with different version information.

[0020] (5) Preferably, the server processing unit receives a search message transmitted by the client processing unit to search for the presence or absence of a service desired to be provided, and transmits a provision message including identification information and version information of the services provided by itself as a response to the search message.

[0021] In this aspect, the server processing unit of the in-vehicle information processing device receives a search message transmitted from the client processing unit to search for the presence or absence of a service desired to be provided, and transmits a provision message including identification information and version information of the services provided by itself as a response to this search message. As a result, when the client processing unit needs the provision message of the server processing unit, it can transmit a search message and receive the provision message.

[0022] (6) Preferably, the server processing unit repeatedly transmits a provision message including identification information and version information of the services provided by itself at a predetermined cycle.

[0023] In this aspect, the server processing unit of the in-vehicle information processing device repeatedly transmits a provision message including identification information and version information of the services provided by itself at a predetermined cycle. As a result, the client processing unit can receive the provision message transmitted periodically and determine whether the services necessary for itself are provided, and can also determine which server processing unit provides the services.

[0024] (7) Preferably, the server processing unit transmits and receives messages to and from other devices including the client processing unit.

[0025] In this aspect, the server processing unit of the in-vehicle information processing device transmits and receives messages to and from other devices including the client processing unit. As a result, the in-vehicle information processing device can perform processing for providing the services required by other devices.

[0026] (8) Preferably, it includes the client processing unit.

[0027] In this aspect, an in-vehicle information processing device including a server processing unit includes a client processing unit. Thereby, the in-vehicle information processing device can perform a process of providing a service to the client processing unit inside the device in the same manner as when providing a service to an external device.

[0028] (9) The information processing method according to this aspect is an information processing method in which a server processing unit of an in-vehicle information processing device performs a process of providing a service in response to a request from a client processing unit. The server processing unit receives a search message for searching for a requested service from the client processing unit that requests the provision of the service. The search message includes identification information and version information of the requested service. The server processing unit determines whether the version information included in the received search message matches the version information of the service it provides. When the server processing unit determines that the two version information does not match, it verifies whether it is possible to provide a service with different version information to the client processing unit. When the server processing unit can provide a service with different version information, it provides the service to the client processing unit.

[0029] In this aspect, similar to aspect (1), it can be expected to avoid as much as possible the situation where the service cannot be received due to a mismatch in the version information of the service.

[0030] (10) The server program according to this aspect receives, from a client program that requests service provision, a search message for searching for a requested service on a computer mounted on a vehicle. The search message includes identification information and version information of the requested service. It determines whether the version information included in the received search message matches the version information of the service it provides. When it is determined that both version information do not match, it verifies whether it is possible to provide a service with different version information to the client program. When it is possible to provide a service with different version information, it executes a process of providing the service to the client program.

[0031] In this aspect, similar to aspect (1), it can be expected to avoid as much as possible the situation where the service cannot be received due to the mismatch of the version information of the service.

[0032] [Details of Embodiments of the Present Disclosure] A specific example of an in-vehicle information processing system according to an embodiment of the present disclosure will be described below with reference to the drawings. The present disclosure is not limited to these examples, but is shown by the claims, and is intended to include all changes within the meaning and scope equivalent to the claims.

[0033] [System Configuration] FIG. 1 is a schematic diagram for explaining the configuration of an in-vehicle information processing system according to the present embodiment. The in-vehicle information processing system according to the present embodiment is a system in which a plurality of ECUs 2 and 3 mounted on a vehicle 1 communicate via a relay 4, and these plurality of ECUs 2 and 3 cooperate to perform various information processes related to running control of the vehicle 1. The illustrated in-vehicle information processing system has a star network configuration in which one ECU 2 and three ECUs 3 are respectively connected to one relay 4 via individual communication lines. However, the number of devices and the network configuration included in the in-vehicle information processing system are examples and are not limited thereto. The total number of ECUs 2 and 3 included in the in-vehicle information processing system may be three or less, or may be five or more. Also, the plurality of ECUs 2 and 3 may be connected in a network configuration such as a bus type or a ring type.

[0034] The ECUs 2 and 3 are information processing devices mounted on the vehicle 1. For example, the ECUs 2 and 3 may include various ECUs such as an ECU that controls the automatic driving of the vehicle 1, an ECU that controls the operation of the engine, an ECU that controls the locking / unlocking of the door, an ECU that controls the lighting / extinguishing of the light, an ECU that controls the operation of the airbag, and an ECU that controls the operation of the ABS (Antilock Brake System). In the present embodiment, the in-vehicle information processing device is the ECUs 2 and 3, but it is not limited thereto, and the in-vehicle information processing device may be various devices other than the ECUs 2 and 3.

[0035] The relay 4 includes a plurality of ports for connecting communication lines, and is a device that relays the transmission and reception of messages between the communication lines connected to these ports. For example, the relay 4 is a device such as a switching hub or a gateway. The relay 4 relays the transmission and reception of messages by transmitting a message received on one communication line from another communication line. Note that the in-vehicle information processing system may not include the relay 4, for example, when a bus type network configuration in which a plurality of ECUs 2 and 3 are connected to a common communication line is adopted.

[0036] In the in-vehicle information processing system according to this embodiment, message transmission and reception between ECUs 2 and 3 are performed in accordance with the SOME / IP communication standard. SOME / IP is a standard classified into the fifth layer and above of the OSI reference model, and communication is performed between application programs in the form of service requests and their responses. In this embodiment, it is assumed that ECU 2 is a server-side device that provides a service, and ECU 3 is a client-side device that receives the service. However, this relationship between the client and the server is an example, and each of ECUs 2 and 3 can be either a client or a server. Regarding the communication below the fourth layer of the OSI reference model, any standard may be adopted. For example, standards such as Ethernet (registered trademark), TCP (Transmission Control Protocol), or UDP (User Datagram Protocol) may be adopted.

[0037] Figures 2 and 3 are schematic diagrams for explaining the communication of the in-vehicle information processing system according to this embodiment. In this figure, different reference numerals ECU3a, 3b, and 3c are assigned to the three ECUs 3 for distinction. For example, as shown in Figure 2, after a predetermined timing such as startup or restart, ECU 3a transmits a search message (search frame) for searching for the services it needs. In this embodiment, ECU 3a transmits the search message by means of so-called multicast, a transmission method in which one message is transmitted to a plurality of devices simultaneously. As a result, the search message transmitted by ECU 3a is received by ECUs 2, 3b, and 3c (in Figure 2, the transmission and reception of the search message are indicated by dashed arrows).

[0038] The search message sent by ECU3a includes a service ID for identifying the service required by ECU3a and a service version for identifying the version of the software (server program) that provides this service. The ECUs 2, 3b, and 3c that receive the search message determine whether they can provide a service that matches the service ID and service version included in the received search message. In this example, ECU2 can provide this service, and ECU2 sends a provision message (provision frame) to ECU3a, which sent the search message, notifying that it can provide the service. At this time, ECU2 sends the provision message in a so-called unicast transmission method, where the destination of the provision message is one of the ECU3as (in Fig. 2, the transmission and reception of the provision message are indicated by the dashed arrow).

[0039] ECU3a that receives the provision message sent from ECU2 can determine based on the provision message that there is a device capable of providing the service and that this device is ECU2. The provision message includes information on the service ID and service version, as well as information such as the IP address and port number of the server (ECU2) that provides the service. Thereafter, ECU3a sends requests for information provision related to this service to ECU2, and in response to this request, ECU2 sends a response including information related to the service to ECU3a. As a result, the service is provided from ECU2, which is the server, to ECU3a, which is the client, and ECU3a can perform various information processes using the service provided by ECU2.

[0040] Also, in the present embodiment, the transmission of the provision message is not limited to being performed as a response to the search message. The ECU 2 that provides the service also spontaneously transmits the provision message at a predetermined period. The ECU 2 that can provide the service repeatedly transmits a provision message including information on the service it provides, for example, at a predetermined period of about several milliseconds to several seconds. As shown in FIG. 3, when the ECU 2 performs periodic transmission of the provision message, it uses a transmission method called multicast to simultaneously transmit one provision message to a plurality of devices. Thus, the provision message transmitted by the ECU 2 is received by the ECUs 3a, 3b, and 3c (in FIG. 3, the transmission and reception of the provision message are indicated by the arrows of the dashed line).

[0041] The provision message transmitted in response to the search message and the provision message transmitted periodically may be the same. The ECU 3a that has received this can know, as described above, that the ECU 2 provides the service it needs, and can then transmit a request regarding the service to the ECU 2. When the ECUs 3b and 3c that do not need the service receive the provision message transmitted periodically, they may discard (ignore) it.

[0042] Thus, in the in-vehicle information processing system according to the present embodiment, the ECU 3a on the client side that needs the service needs to know in advance the ECU 2 that provides this service based on the provision message. After it is determined that the ECU 2 provides the service, the ECU 3a can perform message transmission and reception with the ECU 2 and perform information processing by receiving the service from the ECU 2. The ECU 3a transmits a request message for requesting the provision of the service to the ECU 2, and the ECU 2 transmits a response message to the ECU 3a as a response to this request message.

[0043] In this embodiment, the service provided by the ECU2 serving as the server can be a process of transmitting a message including the provision of information possessed by the ECU2, for example, various information such as the vehicle speed of the vehicle 1 or the object detection result around the vehicle 1, to the requesting ECU3a. Also, for example, when the ECU2 is a device that controls in-vehicle devices such as the lights or door locks of the vehicle 1, the ECU2 can provide a service of controlling these in-vehicle devices in response to a request from the ECU3a. The service provided by the ECU2 serving as the server is not limited to the above, and can be various processes.

[0044] Here, in the ECUs 2, 3a to 3c included in the in-vehicle information processing system, version updates may be performed by software updates. The version update may be performed all at once for all devices in the in-vehicle information processing system, or may be performed individually for each device. For this reason, for example, a situation may occur in which the software of the ECU3a receiving this service is updated, and the software of the ECU2 providing the service is not updated. In such a situation, even if the ECU3a transmits a search message specifying the service in the new version, the received ECU2 does not transmit a provision message to the ECU3a because the version is different from the service it provides, and the ECU3a cannot receive the service. Also, the ECU2 periodically transmits a provision message specifying the service in the old version, but the received ECU3a does not transmit a message requesting the service to the ECU2 because the version is different from the version of the service it desires. That is, the provision of the service from the ECU2 to the ECU3a becomes impossible.

[0045] Therefore, in the in-vehicle information processing system according to the present embodiment, when there is a client-side ECU 3a that desires to provide services with the same service ID as the services provided by itself but different service versions, the server-side ECU 2 verifies whether the client-side ECU 3a can receive the provision of this service. As a result of the verification, if it is determined that the client-side ECU 3a can receive the provision of services with different service versions, the server-side ECU 2 can perform processing for providing services to this client's ECU 3a.

[0046] <Device Configuration> FIG. 4 is a block diagram showing the configuration of the client-side ECU 3 according to the present embodiment. The ECU 3 according to the present embodiment includes a processing unit (processor) 31, a storage unit (storage) 32, a communication unit (transceiver) 33, and the like. The processing unit 31 is configured using an arithmetic processing device such as a CPU (Central Processing Unit) or an MPU (Micro-Processing Unit), for example. By reading and executing the client program 32a stored in the storage unit 32, the processing unit 31 can perform various processes such as a process of searching for a server that provides necessary services and information processing according to the services provided by the server.

[0047] The storage unit 32 is configured using a non-volatile memory element such as a flash memory or an EEPROM (Electrically Erasable Programmable Read Only Memory), for example. The storage unit 32 stores various programs executed by the processing unit 31 and various data necessary for the processing of the processing unit 31. In the present embodiment, the storage unit 32 stores the client program 32a executed by the processing unit 31.

[0048] The client program 32a may be written into the storage unit 32, for example, during the manufacturing stage of the ECU 3. Also, for example, the client program 32a may be distributed by a remote server device or the like, and the ECU 3 may acquire the client program 32a through communication with the server device and write it into the storage unit 32. Further, for example, the ECU 3 may read out the client program 32a recorded on a recording medium 99 such as a memory card or an optical disk and store it in the storage unit 32. Also, for example, a writing device may read out the client program 32a recorded on the recording medium 99 and write it into the storage unit 32 of the ECU 3. The client program 32a may be provided in a mode of distribution via a network or in a mode recorded on the recording medium 99.

[0049] The communication unit 33 is connected to a communication line disposed in the vehicle 1, and transmits and receives messages to and from other ECUs 2, 3 via this communication line. In the present embodiment, the communication unit 33 transmits and receives messages, for example, in accordance with the communication standard of Ethernet. The communication unit 33 may be configured using, for example, an IC (Integrated Circuit) of an Ethernet PHY (physical layer). However, the communication standard used by the communication unit 33 is not limited to Ethernet, and various communication standards such as CAN (Controller Area Network) or FlexRay may be adopted. The communication unit 33 performs message transmission by outputting the data given from the processing unit 31 to the communication line as an electrical signal. Also, the communication unit 33 samples and acquires the potential of the communication line, thereby converting the electrical signal on the communication line into digital data, and gives the converted data to the processing unit 31 as a received message.

[0050] Also, in this embodiment, the ECU 3 realizes the client processing unit 310 as a software functional unit in the processing unit 31 by the processing unit 31 reading and executing the client program 32a stored in the storage unit 32. The client processing unit 310 performs various processes as a client that receives service provision in accordance with the SOME / IP standard. In this embodiment, the client processing unit 310 includes a service search unit 310a, an application processing unit 310b, and the like.

[0051] The service search unit 310a performs a process of searching for a server that provides a service necessary for its own process. The service search unit 310a multicasts a search message specifying the service ID and service version of the service necessary for its own process from the communication unit 33. The service search unit 310a receives a provision message transmitted from the server in response to the transmitted search message, and determines the presence or absence of a server that provides the service and acquires information necessary for communication with the server by acquiring information such as the IP address and port number included in the received provision message. Also, the service search unit 310a receives a provision message periodically transmitted by the server, and determines the presence or absence of a server that provides the service and acquires information necessary for communication with the server by acquiring information such as the IP address and port number included in the received provision message.

[0052] The application processing unit 310b performs information processing related to applications specific to each ECU 3 by using the provided services. The application processing unit 310b transmits a request message specifying a service ID and a service version to the server searched by the service search unit 310a, and receives a response message transmitted in response thereto. The application processing unit 310b acquires the information included in the received response message, and performs various information processes based on the acquired information. For example, the application processing unit 310b transmits a request message requesting the server to transmit information on the vehicle speed of the vehicle 1, acquires the information on the vehicle speed included in the response message received from the server in response thereto, and can perform various information processes using the vehicle speed. The information processing performed by the application processing unit 310b using the services provided by the server may be any kind of processing.

[0053] FIG. 5 is a block diagram showing the configuration of the server-side ECU 2 according to the present embodiment. The ECU 2 according to the present embodiment includes a processing unit (processor) 21, a storage unit (storage) 22, a communication unit (transceiver) 23, and the like. The processing unit 21 is configured by using an arithmetic processing device such as a CPU or an MPU. The processing unit 21 can perform various processes such as a process of notifying a service provided for a service search and a process of providing a service to a client by reading and executing the server program 22a stored in the storage unit 22.

[0054] The storage unit 22 is configured by using a non-volatile memory element such as a flash memory or an EEPROM. The storage unit 22 stores various programs executed by the processing unit 21 and various data necessary for the processing of the processing unit 21. In the present embodiment, the storage unit 22 stores the server program 22a executed by the processing unit 21.

[0055] The server program 22a may be written into the storage unit 22, for example, at the manufacturing stage of the ECU 2. Also, for example, the server program 22a may be distributed by a remote server device or the like, and the ECU 2 may acquire the server program 22a through communication with the server device and write it into the storage unit 22. Further, for example, the ECU 2 may read the server program 22a recorded on a recording medium 98 such as a memory card or an optical disk and store it in the storage unit 22. Also, for example, a writing device may read the server program 22a recorded on the recording medium 98 and write it into the storage unit 22 of the ECU 2. The server program 22a may be provided in a mode of distribution via a network or in a mode recorded on the recording medium 98.

[0056] The communication unit 23 is connected to a communication line disposed in the vehicle 1, and transmits and receives messages to and from other ECUs 3 via this communication line. In the present embodiment, the communication unit 23 transmits and receives messages according to, for example, the communication standard of Ethernet. The communication unit 23 may be configured using, for example, an IC of an Ethernet PHY or the like. However, the communication standard used by the communication unit 23 is not limited to Ethernet, and various communication standards such as CAN or FlexRay may be adopted. The communication unit 23 performs message transmission by outputting the data given from the processing unit 21 to the communication line as an electrical signal. Also, the communication unit 23 samples and acquires the potential of the communication line, thereby converting the electrical signal on the communication line into digital data, and gives the converted data to the processing unit 21 as a received message.

[0057] Also, in the present embodiment, when the processing unit 21 reads and executes the server program 22a stored in the storage unit 22 of the ECU 2, the server processing unit 210 is realized as a software functional unit in the processing unit 21. The server processing unit 210 performs various processes as a server that provides services according to the SOME / IP standard. In the present embodiment, the server processing unit 210 includes a service information providing unit 210a, a service verification unit 210b, an application processing unit 210c, and the like.

[0058] The service information providing unit 210a performs a process of transmitting a provision message including information about the service it provides. When the service information providing unit 210a receives a search message from a client, it determines whether the service ID and service version included in this search message match the service ID and service version of the service it provides. If the service ID and service version match, the service information providing unit 210a unicasts the provision message to the client that is the source of the search message. Also, the service information providing unit 210a multicasts a provision message including information about the service it provides at a predetermined period.

[0059] When it is requested from the client's ECU 3 to provide a service whose service ID matches the service provided by itself but whose service version is different, the service verification unit 210b performs a process of verifying whether the ECU 3 can receive the provision of this service with a different service version. The service verification unit 210b obtains the service ID and service version included in the search message received from the client's ECU 3, and starts the verification process when the service ID of the search message matches the service ID of the service it provides and the service version of the search message does not match the service version of the service it provides. The service verification unit 210b temporarily changes the service version of the service it provides to the service version of the search message for the ECU 3 of the client to be verified. The service verification unit 210b transmits a provision message set with the changed service version to the ECU 3 to be verified.

[0060] Upon receiving this offering message, ECU3 determines that ECU2 is offering the service it desires and sends a request message to ECU2 to utilize this service. The request message includes information such as the service ID and service version of the service it requests. The service verification unit 210b of ECU2 receives the request message from ECU3 and determines the validity of the received request message. The service verification unit 210b receives a predetermined number (e.g., 10) of request messages from ECU3. When the number of request messages determined to be correct among the predetermined number of request messages exceeds a threshold value (e.g., 5), it is determined that ECU3 can receive the offering of services with different service versions. If the number of request messages determined to be correct does not exceed the threshold value, the service verification unit 210b determines that it is impossible for ECU3 to receive the offering of services with different service versions.

[0061] Also, the service verification unit 210b can determine the validity of each request message received from ECU3, for example, in the following ways. · Whether various ID information etc. included in the request message are legitimate values. · Regarding values such as session IDs that change incrementally or decrementally each time the request message is sent, whether the change in the value is legitimate. · Whether values such as arguments or return values related to requests for services are within a legitimate range.

[0062] However, the method for determining the validity of the request message is not limited to the above. For example, when the message transmission and reception between ECU2 and ECU3 comply with the SOME / IP standard, the service verification unit 210b may use whether it is determined as an error in the SOME / IP standard as the above-mentioned validity determination.

[0063] When the service verification unit 210b determines that it is impossible for the ECU 3 to receive services with different service versions, it reverts the service version of the temporarily changed service and does not respond to search messages and request messages received from this ECU 3 later (however, only messages including the same service ID as the service ID for which verification was performed). For this reason, the client's ECU 3 becomes unable to receive services from this ECU 2.

[0064] When the service verification unit 210b determines that it is possible for the ECU 3 to receive services with different service versions, it maintains the service version of the temporarily changed service without reverting it, that is, permanently changes the service version. The service verification unit 210b responds to search messages and request messages received from this ECU 3 later with the changed service version. That is, the ECU 2 sets the service version included in the provided message and response message transmitted to this ECU 3 to the changed service version.

[0065] The application processing unit 210c performs information processing for providing services specific to the ECU 2. The application processing unit 210c receives a request message from the client's ECU 3 and acquires the service ID and service version included in the received request message. The application processing unit 210c performs information processing for providing the service corresponding to the acquired service ID and service version. The application processing unit 210c generates a response message including the information obtained as a result of the information processing and transmits the response message to the client that is the transmission source of the request message.

[0066] <Processing of Client and Server> FIG. 6 is a schematic diagram showing a configuration example of a search message and a provision message transmitted and received in the in-vehicle information processing system according to the present embodiment. The search message transmitted by the ECU 3 of the client and the provision message transmitted by the ECU 2 of the server according to the present embodiment are configured to include information such as header information, message type, service ID, service version, and option information.

[0067] The header information of the message is, for example, an Ethernet header, an IP header, a TCP / UDP header, and a SOME / IP header, etc., and is for storing information defined by the communication standard. Information such as a MAC address, an Ethernet type, an IP address, or a port number can be stored in the header information. The format of the header information may be any format, and the information stored in the header information may be any information.

[0068] The message type stores information indicating whether this message is a search message or a provision message. For example, when "0" is set in the message type, this message becomes a search message, and when "1" is set, it becomes a provision message.

[0069] The service ID is identification information uniquely assigned to the service provided by the server. The service version is information for identifying the version of the service to be provided, and is, for example, the version of the software that the server operates to provide the service identified by the service ID. In the present embodiment, it is assumed that the larger the numerical value of the service version, the newer the version. The service ID and service version included in the search message are the service ID and service version of the service that the client desires the server to provide. The service ID and service version included in the provision message are the service ID and service version of the service that the server can provide.

[0070] Option information is information attached to a provision message in the present embodiment, and includes information such as the IP address and port number of a server that provides a service. However, similarly for a search message, information such as the IP address and port number of a client may be attached to the message as option information.

[0071] FIG. 7 is a schematic diagram showing a configuration example of a request message and a response message transmitted and received in the in-vehicle information processing system according to the present embodiment. The request message is a message for a client to request a server to provide a service. The response message is a message transmitted by the server as a response to the request message from the client. The request message transmitted by the ECU 3 of the client and the response message transmitted by the ECU 2 of the server according to the present embodiment include header information including header information for SOME / IP standard and header information for other standards, and a SOME / IP payload. The SOME / IP header information may include information such as a service ID, a method ID, a service version, a session ID, and a message type. The SOME / IP payload may include information such as an argument related to a service request or a return value related to a service request.

[0072] The service ID and service version included in the SOME / IP header information are as described above. The method ID is an ID for specifying which of a plurality of methods provided for the service specified by the service ID is to be used. For example, when a numerical value specifying a vehicle information provision service is set as the service ID, numerical values specifying a method for providing a vehicle speed, a method for providing an acceleration, a method for providing a steering angle, or the like may be set as the method ID.

[0073] The session ID is numerical information that is incremented (its value is increased by 1), for example, for each service request and provision. For example, when a client sends a service request with session ID = 1 and receives a service response with session ID = 1 in response, the client sends the next request with session ID = 2. If the client does not receive the desired service response, it can resend the service request with the same session ID set.

[0074] The message type is set with a numerical value indicating, for example, whether this message is a request message from the client to the server or a response message from the server to the client.

[0075] The arguments of the service request included in the SOME / IP payload are the information included in the request message from the client to the server. The arguments of the service request are information such as numerical values used for processing related to the service performed by the client, and are used for the client to set conditions for service processing. For services that do not require arguments, the request message may not include argument information.

[0076] The return value of the service request is the information included in the response message from the server to the client. For example, when the transmission of vehicle speed information is requested in the request message, the vehicle speed information is set as the return value in the response message. Also, for example, when a request is made for a service such as control of in-vehicle equipment rather than information transmission in the request message, a value indicating whether the requested control, etc. was performed normally is set as the return value in the response message.

[0077] FIG. 8 and FIG. 9 are schematic diagrams for explaining an example of processing performed by the in-vehicle information processing system according to the present embodiment. In this figure, an example is shown in which the service version of the service provided by the ECU 2 of the server is "1.1", and the service version of the service requested by the ECU 3 of the client is upgraded from "1.1" to "1.2". Before the version upgrade, the ECU 3 of the client transmits a request message with the service version set to "1.1" to the ECU 2 of the server. The ECU 2 of the server performs information processing for providing the service with the service version of "1.1" in response to the reception of this request message, and transmits a response message including the result of the information processing to the ECU 3 that is the request source. At this time, the service version of the response message transmitted by the ECU 2 is "1.1".

[0078] Thereafter, the version of the software (client program 32a) for performing information processing using the service in the ECU 3 of the client is upgraded, and the service version is updated from "1.1" to "1.2". On the other hand, the software (server program 22a) of the ECU 2 of the server that provides the service has not been upgraded, and the ECU 2 provides the service with the service version of "1.1". In this situation, even if the ECU 3 transmits a search message and a request message with the service version set to "1.2" to the ECU 2, there is a possibility that the ECU 2 cannot transmit a provision message and a response message to the ECU 3 because the service versions are different.

[0079] After the completion of the version upgrade, the ECU 3 of the client transmits a search message with the service version set to "1.2". By receiving this search message, the ECU 2 of the server according to the present embodiment can recognize that the service ID of the service provided by itself matches and that a service with a different service version is requested by the ECU 3.

[0080] Therefore, the ECU2 temporarily changes the version of the service provided to the ECU3 from "1.1" to "1.2". The ECU2 sends a provision message with the service version set to "1.2" to the ECU3 that sent the search message. After that, the ECU2 starts a verification process to verify whether the service with the service version of "1.1" it provides can be used in the information processing of the ECU3 that requests the service with the service version of "1.2".

[0081] The ECU2 then receives a request message with the service version of "1.2" sent from the ECU3, determines the validity of the received request message, and sends a response message to the request message to the original requesting ECU3. At this time, the service version of the response message sent by the ECU2 is set to "1.2". The ECU2 determines the validity of the request message received from the ECU3 based on, for example, whether various ID information etc. included in the request message are legitimate values, whether the change in the session ID of the request message is legitimate, and whether the value of the payload of the request message is within a legitimate range, etc.

[0082] The ECU2 continues the verification process until it receives a predetermined number of request messages from the ECU3. When it receives a predetermined number of request messages, it makes a final determination based on the validity determination results of each request message as to whether the ECU3 can receive services with different service versions. For example, when the number of messages determined to be legitimate among the received predetermined number of request messages exceeds the threshold, the ECU2 determines that the ECU3 can receive services with different service versions. If the number of messages determined to be legitimate does not exceed the threshold, the ECU2 determines that it is impossible for the ECU3 to receive services with different service versions.

[0083] In the verification process, when it is determined that ECU3 can use the service with the service version "1.1" (see Fig. 8), ECU2 permanently changes the version of the service provided to ECU3 to "1.2". After that, ECU2 receives a request message with the service version set to "1.2" sent from this ECU3, performs information processing for providing the service with the service version "1.1", sets the service version of the response message including this processing result to "1.2", and sends it to ECU3.

[0084] In the verification process, when it is determined that ECU3 cannot use the service with the service version "1.1" (see Fig. 9), ECU2 returns the service version temporarily changed for the verification process from "1.2" to "1.1". After that, when ECU2 receives a request message and a search message with the service version set to "1.2" from ECU3, it does not send a response message and a provision message in response thereto. That is, ECU2 does not respond to request messages and search messages with different received service versions for ECU3 determined to be unable to provide services in the verification process, and does not repeat the verification process.

[0085] Fig. 10 is a flowchart showing the procedure of the process performed by ECU3 of the client according to the present embodiment. The ECU3 according to the present embodiment is activated, for example, at the timing when the ignition switch of the vehicle 1 is switched from the off state to the on state (step S1). After activation, the service search unit 310a of the processing unit 31 of ECU3 multicasts a search message for searching for a server that provides the service required by itself (step S2). After that, the service search unit 310a determines whether it has received a provision message sent by the server as a response to the sent search message, or a provision message periodically sent by the server (step S3). If the provision message has not been received (S3: NO), the service search unit 310a waits until the provision message is received.

[0086] When a provision message is received (S3: YES), the application processing unit 310b starts information processing using the service provided by the ECU 2 that is the source of the provision message, and transmits a request message to the ECU 2 of the server (step S4). The application processing unit 310b determines whether a response message has been received from the ECU 2 of the server for the request message transmitted in step S4 (step S5). If a response message has not been received (S5: NO), the application processing unit 310b waits until a response message is received. If a response message has been received (S5: YES), the application processing unit 310b performs information processing according to the information included in the received response message (step S6), and returns the processing to step S4.

[0087] FIG. 11 is a flowchart showing the procedure of the processing performed by the ECU 2 of the server according to the present embodiment. The service information providing unit 210a of the processing unit 21 of the ECU 2 of the server according to the present embodiment determines whether a search message transmitted by the ECU 3 of the client has been received (step S11). When a search message is received (S11: YES), the service information providing unit 210a determines whether the service ID included in the search message matches the service ID of the service provided by itself (step S12). If the service IDs do not match (S12: NO), the service information providing unit 210a ends the processing without transmitting a provision message.

[0088] If the service IDs match (S12: YES), the service information providing unit 210a determines whether the service version included in the received search message matches the service version of the service provided by itself (step S13). If the service versions match (S13: YES), the service information providing unit 210a transmits a provision message to the ECU 3 that is the source of the search message (step S14), and ends the processing.

[0089] If the service versions do not match (S13: NO), the service information providing unit 210a temporarily changes the service version of the service it provides to the service version included in the received search message (step S15). After that, the service information providing unit 210a transmits a providing message with the temporarily changed service version set to the ECU 3 that is the transmission source of the search message (step S16).

[0090] After that, the service verification unit 210b of the processing unit 21 performs verification processing based on the request message and the response message transmitted and received with the ECU 3 (step S17). Based on the result of the verification processing in step S17, the service verification unit 210b determines whether it is possible to provide a service with a service version different from the service version included in the search message, that is, a service with the service version that the ECU 2 can provide, to the ECU 3 (step S18). If it is determined that the service can be provided (S8: YES), the service verification unit 210b permanently changes the service version of the service to be provided to the client's ECU 3 (step S19) and ends the processing.

[0091] If it is determined that the service cannot be provided (S18: NO), the service verification unit 210b returns the service version temporarily changed in step S15 to the original service version (step S20). The service verification unit 210b prohibits the acceptance of search messages and request messages with different service versions received from the client's ECU 3 later as the target of the verification processing (step S21) and ends the processing.

[0092] Note that the ECU 2 stores in the storage unit 22 a table or the like that associates the identification information of the ECU 3 of the client that has performed the verification process, information such as the service ID and service version of the service requested by this ECU 3, and the result of the verification process. When receiving a similar search message or request message from the verified ECU 3, it may be determined whether to respond to the received message by referring to this table. In the above flowchart, the process of permanently changing the service version in step S19 and the process of prohibiting the reception of messages after step S21 can be performed by the ECU 2 setting appropriate information in this table.

[0093] FIG. 12 is a flowchart showing the procedure of the verification process performed by the ECU 2 of the server according to the present embodiment, and is the detail of the process performed in step S17 of the flowchart shown in FIG. 11. The service verification unit 210b of the processing unit 21 of the ECU 2 according to the present embodiment determines whether a request message has been received from the ECU 3 to be verified (step S31). If a request message has not been received (S31: NO), the service verification unit 210b waits until a request message is received.

[0094] When a request message is received (S31: YES), the service verification unit 210b determines the validity of the received request message (step S32). At this time, the service verification unit 210b can determine the validity of the received request message based on, for example, whether various ID information etc. included in the request message are legitimate values, whether the change in the session ID of the request message is legitimate, and whether the value of the payload of the request message is within a legitimate range. The service verification unit 210b transmits a response message for the received request message to the ECU 3 that is the source of the request message (step S33). At this time, the response message transmitted by the ECU 2 may be a response message storing regular information or a response message storing a predetermined value for verification. The service verification unit 210b determines whether it has finished receiving request messages a predetermined number of times from the ECU 3 to be verified (step S34). If it has not finished receiving request messages a predetermined number of times (S34: NO), the service verification unit 210b returns the process to step S31.

[0095] When it has finished receiving request messages a predetermined number of times (S34: YES), the service verification unit 210b determines whether the number of request messages determined to be legitimate among the received predetermined number of request messages exceeds a threshold value (step S35). If the number of legitimate request messages exceeds the threshold value (S35: YES), the service verification unit 210b determines that it is possible to provide this service to the ECU 3 to be verified (step S36), ends the verification process, and returns the process to the flowchart of FIG. 11. If the number of legitimate request messages does not exceed the threshold value (S35: NO), the service verification unit 210b determines that it is impossible to provide this service to the ECU 3 to be verified (step S37), ends the verification process, and returns the process to the flowchart of FIG. 11.

[0096] Figure 13 is a flowchart showing the procedure of other processes performed by the ECU 2 of the server according to the present embodiment. The application processing unit 210c of the processing unit 21 of the ECU 2 of the server according to the present embodiment determines whether or not it has received a request message transmitted by the ECU 3 of the client (step S51). When the request message is received (S51: YES), the application processing unit 210c determines whether or not the service ID and service version included in the received request message match the service ID and service version of the service provided by itself (step S52). When the service ID and service version do not match (S52: NO), the application processing unit 210c returns the process to step S51.

[0097] When the service ID and service version match (S52: YES), the application processing unit 210c performs information processing for providing the requested service based on the information included in the received request message (step S53). The application processing unit 210c transmits a response message including the information obtained as a result of the information processing to the ECU 3 that is the transmission source of the request message (step S54), and returns the process to step S51.

[0098] When the request message has not been received (S51: NO), the service information providing unit 210a of the processing unit 21 determines whether or not a predetermined period has elapsed since the previous transmission regarding the transmission of the periodic provision message (step S55). When the predetermined period has elapsed (S55: YES), the service information providing unit 210a transmits a periodic provision message (step S56), and returns the process to step S51. When the predetermined period has not elapsed (S55: NO), the service information providing unit 210a returns the process to step S51.

[0099] <Summary> The server processing unit 210 of the ECU 2 of the server according to the present embodiment with the above configuration receives a search message for searching for a service from the client processing unit 310 of the ECU 3 of the client that requests the provision of the service. This search message includes the service ID and service version of the service required by the client processing unit 310, and the server processing unit 210 determines whether the service version included in the received search message matches the service version of the service it provides. When both service versions match, the server processing unit 210 performs information processing for providing this service to the client processing unit 310. When both service versions do not match, the server processing unit 210 performs verification processing to determine whether the client processing unit 310 can receive the provision of a service with a different service version. As a result of the verification processing, if the client processing unit 310 can receive the provision of a service with a different service version, the server processing unit 210 performs information processing for providing the service requested by the client processing unit 310. Thereby, the server processing unit 210 of the ECU 2 of the server can avoid as much as possible the situation where the client processing unit 310 cannot receive the service due to the mismatch of the service versions of the services.

[0100] Also, in the present embodiment, as a result of the verification processing, if the client processing unit 310 can receive the provision of a service with a different service version, the server processing unit 210 first changes the service version of the service it provides to the service version included in the search message received from the client processing unit 310. Thereby, hereafter, a mismatch of the service versions will not occur, and the processing of the client processing unit 310 can be performed smoothly.

[0101] Also, in this embodiment, when verifying whether the client processing unit 310 can receive services with different service versions, the server processing unit 210 first temporarily changes the service version of the service it provides to the service version included in the search message received from the client processing unit 310. After that, the server processing unit 210 transmits and receives messages regarding the provision of services to and from the client processing unit 310 based on the changed service version. The server processing unit 210 verifies whether the client processing unit 310 can receive services with different service versions based on the result of the transmission and reception of this message. As a result, the ECU 2 can verify whether a problem occurs when the service version of the service it provides is changed to the service version of the service requested by the client processing unit 310 of the ECU 3, and so on.

[0102] Also, in this embodiment, the server processing unit 210 of the ECU 2 receives a search message for searching for the presence or absence of a service desired to be provided from the client processing unit 310 of the ECU 3, and as a response to this search message, transmits a provision message including information such as the service ID and service version of the service it provides. As a result, the client processing unit 310 can transmit a search message and receive a provision message when it needs the provision message of the server processing unit 210.

[0103] Also, in this embodiment, the server processing unit 210 of the ECU 2 repeatedly transmits a provision message including information such as the service ID and service version of the service it provides at a predetermined cycle. As a result, the client processing unit 310 can receive the provision message transmitted periodically and determine whether the service it needs is being provided, and can determine which server processing unit 210 provides the service.

[0104] In the in-vehicle information processing system according to this embodiment, the server processing unit 210 is provided in the ECU 2, and the client processing unit 310 is provided in the ECU 3. The server processing unit 210 of the ECU 2 transmits and receives messages to and from the ECU 3 including the client processing unit 310. Thereby, the ECU 2 can perform information processing for providing services required by other devices.

[0105] In this embodiment, the ECUs 2 and 3 of the in-vehicle information processing system are configured to transmit and receive messages related to services according to the SOME / IP standard. However, the present invention is not limited to this, and a configuration in which messages are transmitted and received according to a standard other than SOME / IP may be used. The technology described in this embodiment can be used in any system as long as it is a system in which a server and a client transmit and receive messages.

[0106] (Modification Example 1) FIG. 14 is a schematic diagram for explaining an example of processing performed in the in-vehicle information processing system according to Modification Example 1. In the in-vehicle information processing system according to Modification Example 1, when verifying whether the ECU 2 of the server can provide services with different service versions to the ECU 3, first, a verification command message is transmitted to the ECU 3 to be verified. The verification command message is a message for temporarily stopping normal information processing for the ECU 3 and causing the ECU 2 to transmit a request message required for the verification process to the ECU 3. The verification command message may include information such as the type of message to be transmitted by the ECU 3 and the order of transmission.

[0107] Upon receiving the verification command message, the ECU3 of the client temporarily halts its own information processing and repeatedly sends request messages and receives response messages based on the information contained in the verification command message. The ECU2 of the server receives the request message sent by the ECU3, determines its validity, and sends a response message to the ECU3 for the request message. At this time, the service versions of the request message and the response message transmitted and received are set to "1.2".

[0108] The ECU3 sends a predetermined number of request messages according to the verification command message. After sending the predetermined number of request messages, the ECU3 may resume its temporarily halted information processing. The ECU2 continues the verification process until it receives a predetermined number of request messages from the ECU3. When it receives a predetermined number of request messages, it makes a final determination as to whether the ECU3 can receive services with different service versions based on the validity determination results of each request message. In the verification process, if the ECU2 determines that the ECU3 can use a service with a service version of "1.1", it permanently changes the service version provided to the ECU3 to "1.2". After that, the ECU2 receives a request message with a service version set to "1.2" sent from this ECU3, performs information processing for providing a service with a service version of "1.1", sets the service version of the response message including this processing result to "1.2", and sends it to the ECU3.

[0109] In the in-vehicle information processing system according to Modification Example 1 of the above configuration, the server processing unit 210 of the server ECU 2 transmits a verification instruction message for causing the client processing unit 310 of the client ECU 3 to transmit a predetermined request message. The client processing unit 310 transmits a request message in response to this verification instruction message. The server processing unit 210 performs verification based on the request message transmitted by the client processing unit 310 in response to the verification instruction message. As a result, the server processing unit 210 can more accurately verify whether the client processing unit 310 can receive services with different service versions.

[0110] (Modification Example 2) FIG. 15 is a schematic diagram for explaining the configuration of the in-vehicle information processing system according to Modification Example 2. In the in-vehicle information processing system according to Modification Example 2, one ECU 5 includes both the client processing unit 310 and the server processing unit 210. The ECU 5 according to Modification Example 2 includes a processing unit 51, a storage unit 52, a communication unit 53, and the like. The storage unit 52 stores the client program 32a and the server program 22a. In the ECU 5, the processing unit 51 reads and executes the client program 32a stored in the storage unit 52, whereby the client processing unit 310 is realized as a software functional unit in the processing unit 51. Similarly, in the ECU 5, the processing unit 51 reads and executes the server program 22a, whereby the server processing unit 210 is realized as a software functional unit in the processing unit 51. The processing unit 51 can operate a plurality of programs in parallel by, for example, time sharing, and the client processing unit 310 and the server processing unit 210 operate in parallel.

[0111] In the ECU 5 according to Modification 2, without communicating with an external device by the communication unit 53, the client processing unit 310 and the server processing unit 210 can exchange request messages and response messages, and can exchange search messages and provision messages. The client processing unit 310 can perform processes such as searching for the server processing unit 210 that provides services necessary for its own processing regardless of whether the server processing unit 210 exists inside or outside the device, verifying whether it can receive services with different service versions, and requesting the server processing unit 210 to provide services.

[0112] In the in-vehicle information processing system according to Modification 2 with the above configuration, the ECU 5 including the server processing unit 210 has the client processing unit 310. Thereby, the server processing unit 210 of the ECU 5 can provide services to the client processing unit 310 inside the device in the same manner as when providing services to an external device.

[0113] Each device in the in-vehicle system includes a computer configured to include a microprocessor, a ROM, a RAM, and the like. An arithmetic processing unit such as a microprocessor may read and execute a computer program including some or all of the steps of a sequence diagram or a flowchart as shown in FIGS. 10 to 13 from a storage unit such as a ROM and a RAM. The computer programs of these multiple devices can each be installed from an external server device or the like. Further, the computer programs of these multiple devices are each distributed in a state stored in a recording medium such as a CD-ROM, a DVD-ROM, or a semiconductor memory.

[0114] The embodiments disclosed this time should be considered to be illustrative in all respects and not restrictive. The scope of the present disclosure is shown not by the above meaning but by the claims, and is intended to include all modifications within the meaning and scope equivalent to the claims.

Explanation of Reference Numerals

[0115] 1 Vehicle 2 ECU (In-Vehicle Information Processing Device) 3, 3a~3c ECU 4 Repeater 5 ECU 21 Processing Unit 22 Memory Unit 22a Server Program 23 Communication Unit 31 Processing Unit 32 Memory Unit 32a Client Program 33 Communication Unit 51 Processing Unit 52 Memory Unit 53 Communication Unit 98, 99 Recording Medium 210 Server Processing Unit 210a Service Information Provision Unit 210b Service Verification Unit 210c Application Processing Unit 310 Client Processing Unit 310a Service Search Unit 310b Application Processing Unit

Claims

1. An in-vehicle information processing device including a server processing unit that performs processing for providing a service in response to a request, The server processing unit receives a search message for searching for a requested service from a client processing unit that requests the provision of a service; The search message includes identification information and version information of a requested service; The server processing unit: determining whether or not version information included in the received search message matches version information of the service provided by the service providing device; If it is determined that the two version information do not match, the version information of the service provided by the service providing device is temporarily changed to the version information included in the search message; transmitting and receiving messages to and from the client processing unit based on the temporarily changed version information; Verifying whether a service having different version information can be provided to the client processing unit based on a result of the message transmission and reception; If it is possible to provide a service with different version information, the service is provided to the client processing unit. In-vehicle information processing device.

2. The server processing unit: Providing an instruction to the client processing unit to transmit a predetermined message; receiving a message sent by the client processing unit in response to the command; Perform validation based on received messages, The in-vehicle information processing device according to claim 1 .

3. The server processing unit: receiving a search message transmitted by the client processing unit to search for the presence or absence of a desired service; In response to the search message, the service providing device transmits a provision message including identification information and version information of the service provided by the service providing device. The in-vehicle information processing device according to claim 1 or 2.

4. the server processing unit repeatedly transmits a provision message including identification information and version information of a service provided by the server processing unit at a predetermined interval; The vehicle-mounted information processing device according to any one of claims 1 to 3.

5. The server processing unit transmits and receives messages to and from other devices that include the client processing unit.

5. The vehicle-mounted information processing device according to claim 1.

6. The client processing unit is provided.

5. The vehicle-mounted information processing device according to claim 1.

7. An information processing method in which a server processing unit of an in-vehicle information processing device performs processing to provide a service in response to a request from a client processing unit, the server processing unit receives a search message for searching for a requested service from a client processing unit requesting the provision of a service; The search message includes identification information and version information of a requested service; the server processing unit determines whether or not version information included in the received search message matches version information of the service that the server processing unit provides; When the server processing unit determines that the two pieces of version information do not match, the server processing unit temporarily changes the version information of the service it provides to the version information included in the search message; the server processing unit transmits and receives messages to and from the client processing unit based on the temporarily changed version information; the server processing unit verifies whether or not a service having different version information can be provided to the client processing unit based on a result of the message transmission and reception; When the server processing unit is capable of providing a service with different version information, the server processing unit provides the service to the client processing unit. Information processing methods.

8. The vehicle's on-board computer receiving a search message from a client program requesting the provision of a service to search for the requested service; The search message includes identification information and version information of a requested service; determining whether or not version information included in the received search message matches version information of the service provided by the service providing device; If it is determined that the two version information do not match, the version information of the service provided by the service providing device is temporarily changed to the version information included in the search message; Transmitting and receiving messages to and from the client program based on the temporarily changed version information; Verifying whether a service having different version information can be provided to the client program based on a result of the message transmission and reception; When a service with different version information is available, the service is provided to the client program. A server program that executes processing.

Citation Information

Patent Citations

  • Information processing apparatus, updating method of program thereof and program

    JP2015219565A

  • Electronic control units and service management system for vehicles

    JP2017220220A

  • Vehicular communication system

    JP2019139315A

  • System and method for providing software updates

    US20170329599A1

  • Service provision system, ECU, and external device

    JP2016163244A