On-vehicle device, control method, and computer program
The in-vehicle device with an evaluation and processing unit maintains cloud-linked services by evaluating external conditions and executing redundant processes, addressing resource shortages and communication fluctuations.
Patent Information
- Application Number
- JP2022118601
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2022-07-26
- Publication Date
- 2025-09-03
- Estimated Expiration
- Not applicable · inactive patent
AI Technical Summary
Existing cloud-linked services in vehicles face interruptions due to resource shortages and fluctuating wireless communication conditions, which are not addressed by existing distributed processing systems like Patent Document 1.
An in-vehicle device with a communication unit, evaluation unit, and processing unit that evaluates the external environment, determining whether to execute a first process to maintain service continuity, allowing the external device to perform a redundant second process.
Ensures cloud-linked services are maintained even when external environmental conditions deteriorate by implementing a redundant system within the vehicle, avoiding interruptions and optimizing processing.
Smart Images

Figure 2025128423000001_ABST
Abstract
Description
[Technical Field]
[0001] The present disclosure relates to an in-vehicle device, a control method, and a computer program. [Background technology]
[0002] Systems that aggregate and analyze sensor data from multiple sensors on a server computer (hereafter referred to as the server) for use in driving assistance are becoming increasingly common. Sensor data is transmitted from sensors mounted on vehicles and sensors attached to infrastructure equipment installed on the roadside (hereafter referred to as infrastructure sensors). In such systems, vehicles connect to nearby wireless base stations via wireless communication and communicate with the server via those wireless base stations. Direct communication between vehicles (so-called vehicle-to-vehicle communication) can also be used to transmit sensor data from one vehicle to another, or to transmit information held by one vehicle to another.
[0003] Cloud servers, which provide various services to vehicles via wireless communication, are becoming increasingly popular. For example, they provide traffic information, manage vehicle dispatch schedules for transportation vehicles, provide information on tourist attractions and events near roads, diagnose vehicle malfunctions, and provide route guidance. Using cloud servers not only makes vehicles safer on the roads, but also allows people to live more meaningful lives by using their vehicles.
[0004] Patent Document 1 below discloses a distributed processing system configured with multiple ECUs (Electronic Control Units) mounted on a vehicle. This distributed processing system performs load balancing control by transferring a task being executed by an ECU with a heavy processing load to an ECU with a lighter processing load for execution. [Prior art documents] [Patent documents]
[0005] [Patent Document 1] Japanese Patent Application Laid-Open No. 2009-70135 Summary of the Invention [Problem to be solved by the invention]
[0006] Various services (hereinafter referred to as cloud-linked services) provided to vehicles from cloud servers are realized via fluctuating wireless communication. As the number of cloud-linked services increases, the number of applications (i.e., computer programs) required to provide each service also increases, resulting in a shortage of resources (e.g., applications) required to provide the cloud-linked services. This can lead to problems such as interruptions to the cloud-linked services. Resources required to provide cloud-linked services include, for example, wireless communication resources and resources of the cloud servers that provide each service. These can be considered the external environment of the in-vehicle device.
[0007] The distributed processing system disclosed in Patent Document 1 is intended to distribute the load among multiple ECUs in a vehicle, and does not take into consideration the situation outside the vehicle (for example, the state of wireless communication). In other words, the technology disclosed in Patent Document 1 cannot solve the above-mentioned problems in cloud-linked services.
[0008] Therefore, an object of the present disclosure is to provide an in-vehicle device, a control method, and a computer program that can maintain cloud-linked services and enable services to be provided from a server even when the external environmental conditions of the in-vehicle device deteriorate. [Means for solving the problem]
[0009] An in-vehicle device according to one aspect of the present disclosure is an in-vehicle device mounted on a vehicle and receiving services from an external device, and includes a communication unit that transmits specified data to the external device, an evaluation unit that evaluates the state of the external environment of the in-vehicle device, a judgment unit that determines whether to execute a first process based on the evaluation result by the evaluation unit, and a processing unit that executes the first process on the specified data in response to the judgment unit's determination to execute the first process, wherein the external environment includes the wireless communication speed between the in-vehicle device and the external device, and the service is provided by the external device executing a second process on the specified data and transmitting the result to the in-vehicle device, and the first process constitutes at least a part of the second process.
[0010] A control method according to another aspect of the present disclosure is a control method for an in-vehicle device that is mounted on a vehicle and receives services from an external device, and includes a communication step of transmitting specified data to the external device, an evaluation step of evaluating the state of the external environment of the in-vehicle device, a judgment step of determining whether to execute a first process based on the evaluation result of the evaluation step, and a processing step of executing the first process on the specified data in response to the determination in the judgment step that the first process should be executed, wherein the external environment includes the wireless communication speed between the in-vehicle device and the external device, and the service is provided by the external device executing a second process on the specified data and transmitting the result to the in-vehicle device, and the first process constitutes at least a part of the second process.
[0011] A computer program according to yet another aspect of the present disclosure is provided for a computer mounted on a vehicle and receiving a service from an external device, and includes the following functions: a communication function for transmitting specified data to the external device; an evaluation function for evaluating the state of the computer's external environment; a judgment function for determining whether or not to execute a first process based on the evaluation result of the evaluation function; and a processing function for executing the first process on the specified data upon the judgment function determining that the first process should be executed; wherein the external environment includes the wireless communication speed between the computer and the external device; the service is provided by the external device executing a second process on the specified data and transmitting the result to the computer; and the first process constitutes at least a part of the second process.
[0012] The present invention can be realized not only as an in-vehicle device having such a characteristic processing unit, but also as a control method having such characteristic processing steps, as a program for causing a computer to execute such steps, as a semiconductor integrated circuit that realizes part or all of the in-vehicle device, or as a service providing system including the in-vehicle device. [Effects of the Invention]
[0013] According to the present disclosure, it is possible to provide an in-vehicle device, a control method, and a computer program that can maintain cloud-linked services and enable services to be provided from a server even when the external environmental conditions of the in-vehicle device deteriorate. [Brief explanation of the drawings]
[0014] [Figure 1] FIG. 1 is a schematic diagram showing a usage pattern of an in-vehicle device according to an embodiment of the present disclosure. [Figure 2] FIG. 2 is a block diagram showing a hardware configuration of the in-vehicle device shown in FIG. [Figure 3] FIG. 3 is a block diagram showing a hardware configuration of the vehicle gateway shown in FIG. [Figure 4] FIG. 4 is a block diagram showing a hardware configuration of the function-enhanced ECU shown in FIG. [Figure 5] FIG. 5 is a block diagram showing a hardware configuration of the server shown in FIG. [Figure 6] FIG. 6 is a block diagram showing the functional configuration of the in-vehicle device. [Figure 7] FIG. 7 is a flowchart showing the processing executed by the function-enhanced ECU. [Figure 8] FIG. 8 is a flowchart showing the process executed by the vehicle gateway. [Figure 9] FIG. 9 is a flowchart showing the processing executed by the server. [Figure 10] FIG. 10 is a block diagram showing the functional configuration of an in-vehicle device according to the third modification. DETAILED DESCRIPTION OF THE INVENTION
[0015] [Description of the embodiments of the present disclosure] The contents of the embodiments of the present disclosure will be listed and explained below. At least some of the embodiments described below may be combined in any combination.
[0016] (1) A first aspect of the present disclosure provides an in-vehicle device mounted on a vehicle and receiving a service from an external device, the in-vehicle device including: a communication unit that transmits predetermined data to the external device; an evaluation unit that evaluates the state of the external environment of the in-vehicle device; a determination unit that determines whether to execute a first process based on the evaluation result by the evaluation unit; and a processing unit that executes the first process on the predetermined data in response to the determination unit's determination to execute the first process. The external environment includes a wireless communication speed between the in-vehicle device and the external device. The service is provided by the external device executing a second process on the predetermined data and transmitting the result to the in-vehicle device, and the first process constitutes at least a part of the second process. This realizes a redundant system in which, when the state of the external environment of the in-vehicle device deteriorates, the in-vehicle device executes at least a part of the process for the external device (e.g., a server) to provide the service. Therefore, even when the state of the external environment of the in-vehicle device deteriorates, cloud-linked services can be maintained, and services can be provided from the external device.
[0017] (2) In the above (1), the first process can be the same as the second process, which eliminates the need for the in-vehicle device to transmit the result of the first process to the external device, thereby avoiding unnecessary communication.
[0018] (3) In the above (2), the predetermined data may be image data or video data detected by a sensor mounted on the vehicle, and the second process may be an authentication process. This allows instructions to the vehicle (e.g., unlocking the doors) to be executed by facial recognition or the like.
[0019] (4) In the above (1), the first processing may constitute part of the second processing, and the communication unit may further transmit to the external device the results of the first processing performed by the processing unit on the predetermined data. This allows the external device to efficiently provide services even when the external environment of the in-vehicle device deteriorates. It also allows for short-term declines in communication speed to be accommodated. That is, the in-vehicle device can complete processing in a shorter time than if the external device were to execute all of the processing. Therefore, even when the decline in communication speed is resolved within a short period of time, the processing results of the in-vehicle device can be effectively utilized. On the other hand, if the in-vehicle device starts all of the processing performed by the external device when the communication speed drops, and the communication speed returns to a good state within a short period of time, the processing results will be transmitted from the external device to the in-vehicle device, and the processing by the in-vehicle device will be wasted.
[0020] (5) In the above (4), the predetermined data may be image data or video data detected by a sensor mounted on the vehicle, and the second process may be an authentication process. The authentication process may include an image processing process for processing the image data or video data, a feature extraction process for extracting features of an object from an image obtained by the image processing process, and a matching process for matching the features extracted by the feature extraction process with reference features. The first process may be an image processing process or an image processing process and a feature extraction process. Thus, upon receiving the results of the first process from the in-vehicle device, the external device can provide services to the in-vehicle device by performing only the matching process. This allows the external device to provide services efficiently even when the external environment of the in-vehicle device deteriorates. In particular, the external device can provide services even when the external environment is poor due to a slow execution speed of the external device's face recognition process, such as due to resource constraints.
[0021] (6) In any one of (1) to (5) above, the communication unit may further receive an execution program for the first process from an external device, thereby enabling the in-vehicle device to optimally execute the first process, which is executed to maintain the state of the external environment even when it deteriorates, using the latest program.
[0022] (7) In any one of (1) to (6) above, after the communication unit transmits the predetermined data to the external device and the processing unit executes the first process, the processing unit may terminate the first process upon receiving a result of the second process from the communication unit. This prevents the first process from being unnecessarily continued in the in-vehicle device.
[0023] (8) In any one of (1) to (7) above, the vehicle may further include a route identification unit that identifies a planned driving route of the vehicle, wherein the evaluation unit evaluates a wireless communication speed between the in-vehicle device and the external device by evaluating a wireless communication speed along the planned driving route identified by the route identification unit, and the determination unit may determine to execute the first process when the vehicle is located on a route portion along the planned route where the wireless communication speed is equal to or lower than a predetermined value. This allows the in-vehicle device to know in advance that the vehicle will be traveling on a route with a low wireless communication speed, thereby making it possible to prepare for executing the first process before traveling on that route and to execute the first process more quickly.
[0024] (9) In the above (8), the evaluation unit may evaluate the wireless communication speed along the planned travel route based on a map that associates roads with actual values of wireless communication speeds on the roads. This allows the in-vehicle device to easily determine whether the vehicle is planning to travel along a route with a low wireless communication speed.
[0025] (10) A control method according to a second aspect of the present disclosure is a control method for an in-vehicle device mounted on a vehicle and receiving a service from an external device, the control method including: a communication step of transmitting predetermined data to the external device; an evaluation step of evaluating the state of the external environment of the in-vehicle device; a determination step of determining whether to execute a first process based on the evaluation result; and a processing step of executing the first process on the predetermined data in response to the determination step, wherein the external environment includes a wireless communication speed between the in-vehicle device and the external device; the service is provided by transmitting to the in-vehicle device a result of the external device executing a second process on the predetermined data; and the first process constitutes at least a part of the second process. This realizes a redundant system in which, when the state of the external environment of the in-vehicle device deteriorates, the in-vehicle device executes at least a part of the process for the external device (e.g., a server) to provide the service. Therefore, even when the state of the external environment of the in-vehicle device deteriorates, cloud-linked services can be maintained and services can be provided from the external device.
[0026] (11) A computer program according to a third aspect of the present disclosure provides a computer mounted on a vehicle that receives a service from an external device with the following functions: a communication function that transmits predetermined data to the external device; an evaluation function that evaluates the state of the external environment of the computer; a determination function that determines whether to execute a first process based on the evaluation result; and a processing function that executes the first process on the predetermined data in response to the determination function's decision to execute the first process. The external environment includes a wireless communication speed between the computer and the external device, and the service is provided by the external device executing a second process on the predetermined data and transmitting the result to the computer, and the first process constitutes at least a part of the second process. This realizes a redundant system in which, if the state of the external environment of the computer deteriorates, the computer executes at least a part of the process required for the external device (e.g., a server) to provide the service. Therefore, even when the state of the external environment of the computer deteriorates, cloud-linked services can be maintained, and services can be provided from the external device.
[0027] [Details of the embodiments of the present disclosure] In the following embodiments, the same components are denoted by the same reference numerals, and their names and functions are also the same, so detailed descriptions thereof will not be repeated.
[0028] (Overall composition) 1, an in-vehicle device 100 according to an embodiment of the present disclosure is mounted on a vehicle 102. The in-vehicle device 100 receives a cloud-linked service (hereinafter also simply referred to as a service) from a server 104, which is a cloud server. Here, the cloud-linked service is assumed to be a driving assistance service.
[0029] Communication between the in-vehicle device 100 and the server 104 is performed via a base station 106. The base station 106 provides mobile communication services, for example, via 4G lines and 5G lines. The base station 106 is connected to a network 108. The in-vehicle device 100 mounted on the vehicle 102 has a communication function according to the communication specifications (4G lines, 5G lines, etc.) provided by the base station 106.
[0030] The server 104 also receives sensor data from infrastructure sensors (not shown) that are fixedly installed on the roadside (i.e., on roads (including intersections) and their surrounding areas). The infrastructure sensors are, for example, image sensors (digital surveillance cameras, etc.), radars (millimeter-wave radars, etc.), or laser sensors (LiDAR (Light Detection and Ranging)), etc.). The infrastructure sensors have a communication function with the base station 106, and transmit acquired sensor data to the server 104 via the base station 106 and the network 108.
[0031] The vehicle 102 and pedestrians (not shown) are detection targets of infrastructure sensors. The vehicle 102 is equipped with sensors as described below. Pedestrians are also detection targets of the sensors equipped on the vehicle 102.
[0032] Sensor data acquired by sensors mounted on the vehicle 102 is transmitted to the server 104 via the base station 106 and the network 108. The server 104 analyzes the sensor data received from the vehicle 102 and infrastructure sensors, and transmits, for example, dynamic information as driving assistance information to an on-board device mounted on the vehicle.
[0033] Dynamic information is information about dynamic objects detected by sensors (i.e., infrastructure sensors and vehicle-mounted sensors). Dynamic objects are not limited to moving objects (e.g., people, vehicles, etc.), but also include stationary objects that have the ability to move. Dynamic information may include information about the dynamic object itself and information about the displacement of the dynamic object (i.e., position, moving speed, moving direction, time, etc.).
[0034] FIG. 1 shows, as an example, one base station 106 and one vehicle 102 equipped with an on-board device 100. However, this is merely an example. Typically, multiple base stations are provided and multiple vehicles equipped with on-board devices are in operation. There may be vehicles that do not have on-board devices. Vehicles that do not have on-board devices are detected as dynamic objects.
[0035] (Hardware configuration of the in-vehicle device) 2, an example of the hardware configuration of an in-vehicle device 100 mounted on a vehicle 102 is shown. The in-vehicle device 100 includes a communication unit 120, an in-vehicle gateway 122, a sensor 124, an autonomous driving ECU 126, an ECU 128, a function expansion ECU 130, and a bus 132. Note that the in-vehicle device 100 includes multiple ECUs in addition to the autonomous driving ECU 126 and the function expansion ECU 130, and FIG. 2 shows ECU 128 as a representative of these ECUs.
[0036] The communication unit 120 performs wireless communication with external devices of the vehicle 102 (for example, communication with the server 104 via the base station 106). The communication unit 120 includes an integrated circuit (IC) for performing modulation and multiplexing employed in wireless communication, an antenna for transmitting and receiving radio waves at a predetermined frequency, and an RF (Radio Frequency) circuit. The communication unit 120 also has a function of communicating with a global navigation satellite system (GNSS) such as a global positioning system (GPS). The communication unit 120 may also have a communication function such as Wi-Fi.
[0037] The in-vehicle gateway 122, which is an in-vehicle device, plays a role in connecting communication functions (specifically, communication specifications) with the outside of the vehicle and communication functions (communication specifications) within the vehicle (for example, communication protocol conversion, etc.). The autonomous driving ECU 126 and the function expansion ECU 130 can each communicate with external devices via the in-vehicle gateway 122 and the communication unit 120. When receiving a driving assistance service, the function expansion ECU 130 acquires, for example, dynamic information from information received from the outside via the communication unit 120, and generates and updates driving assistance information. The driving assistance information is transmitted to the autonomous driving ECU 126. The bus 132 handles communication functions within the vehicle, and communication (i.e., data exchange) between the in-vehicle gateway 122, the sensor 124, the autonomous driving ECU 126, the ECU 128, and the function expansion ECU 130 is performed via the bus 132. For example, a CAN (Controller Area Network) is used for the bus 132.
[0038] The sensors 124 are mounted on the vehicle 102 and include sensors for acquiring information outside the vehicle 102 (video image capturing devices (e.g., digital cameras (CCD (Charge-Coupled Device) cameras, CMOS (Complementary Metal-Oxide Semiconductor) cameras)), laser sensors (LiDAR), etc.), and sensors for acquiring information about the vehicle itself (e.g., acceleration sensors, load sensors, etc.). The sensors 124 acquire information within their detection ranges (imaging ranges in the case of cameras) and output it as sensor data. In the case of digital cameras, they output digital image data. The detection signals (i.e., analog or digital signals) of the sensors 124 are output as digital data to the bus 132 via an I / F unit (not shown), and are then transmitted to the autonomous driving ECU 126, the function extension ECU 130, etc.
[0039] The autonomous driving ECU 126 controls the driving of the vehicle 102. For example, the autonomous driving ECU 126 acquires sensor data, analyzes the data, and understands the situation around the vehicle 102, and controls mechanisms related to autonomous driving (i.e., mechanisms such as the engine, transmission, steering, and brakes). The autonomous driving ECU 126 uses driving assistance information acquired from the function extension ECU 130 for autonomous driving.
[0040] As will be described later, the function expansion ECU 130 is intended to ensure that the service provided by the server 104 is maintained normally without interruption even when the external environment of the in-vehicle device 100 is in a poor state (for example, when the wireless communication speed is low). That is, the function expansion ECU 130 provides redundancy to the system for providing the cloud-linked service, which is configured by the in-vehicle device 100 and the server 104, thereby enabling the service to be maintained even when the external environment of the in-vehicle device 100 is in a poor state.
[0041] (Hardware configuration of the in-vehicle gateway) Referring to FIG. 3, the in-vehicle gateway 122 includes a control unit 140 and a memory 142. The control unit 140 is configured to include a CPU (Central Processing Unit) and controls the memory 142. The memory 142 is, for example, a rewritable non-volatile semiconductor memory, and stores a computer program (hereinafter simply referred to as a program) executed by the control unit 140. The memory 142 provides a work area for the program executed by the control unit 140. The control unit 140 obtains data to be processed directly from the communication unit 120 and obtains the data from sources other than the communication unit 120 via the bus 132. The control unit 140 stores the data received from the communication unit 120 and the data received via the bus 132 in the memory 142 as appropriate. The control unit 140 stores the processing results in the memory 142 and outputs the results to the bus 132.
[0042] (Hardware configuration of the function expansion ECU) The function expansion ECU 130 is configured in the same manner as the in-vehicle gateway 122. That is, referring to FIG. 4, the function expansion ECU 130 includes a control unit 150 and a memory 152. The control unit 150 is configured to include a CPU and controls the memory 152. The memory 152 is, for example, a rewritable non-volatile semiconductor memory, and stores programs executed by the control unit 150. The memory 152 provides a work area for the programs executed by the control unit 150. The control unit 150 acquires data to be processed via the bus 132. The control unit 150 stores the data received via the bus 132 in the memory 152 as appropriate. The control unit 150 stores the processing results in the memory 152 and outputs them to the bus 132.
[0043] (Server hardware configuration) Referring to FIG. 5, the server 104 includes a control unit 160 that controls each unit, a memory 162 that stores data, a communication unit 164 that performs communication, and a bus 166 for exchanging data among the units. The control unit 160 includes a CPU and realizes the functions described below by controlling each unit. The memory 162 includes a rewritable semiconductor nonvolatile memory and a large-capacity storage device such as a hard disk drive. The communication unit 164 receives sensor data uploaded from the in-vehicle device 100 and infrastructure sensors installed on the road via the base station 106. The data received by the communication unit 164 is transmitted to and stored in the memory 162. This allows the server 104 to generate traffic information (e.g., accidents, congestion, road regulations, statistical information, etc.) and dynamic information, and transmit the information to the in-vehicle device 100 of the vehicle 102 as driving assistance information.
[0044] (Functional configuration of the in-vehicle device) The functions of the vehicle 102 related to the present disclosure will be described below. The in-vehicle device 100 acquires driving assistance information such as dynamic information from the server 104 as a predetermined service (i.e., a driving assistance service).
[0045] 6, the in-vehicle device 100 includes a storage unit 200, an evaluation unit 202, a determination unit 204, a processing unit 206, and an output unit 208. The storage unit 200 is realized by the memory 142 of the in-vehicle gateway 122 (see FIG. 3) and the memory 152 of the function expansion ECU 130 (see FIG. 4). Other functions, which will be described later, are realized by the control unit 140 of the in-vehicle gateway 122 or the control unit 150 of the function expansion ECU 130. The storage unit 200 stores evaluation results, processing results, sensor data, processing programs, and service data. The evaluation results are results obtained by evaluating the state of the external environment of the in-vehicle device 100 by the evaluation unit 202, which will be described later. The processing results are results obtained by executing a processing program by the processing unit 206, which will be described later. The sensor data is data output from a sensor 124 mounted on the vehicle 102 and transmitted via the bus 132. The service data is data relating to a predetermined service received from the server 104, and is, for example, driving support information such as dynamic information.
[0046] The evaluation unit 202 evaluates the state of the external environment of the in-vehicle device 100 at a predetermined timing (for example, at a regular interval or at a preset time). The evaluation unit 202 is realized by the control unit 140 of the in-vehicle gateway 122. The external environment refers to hardware and software resources outside the in-vehicle device 100, which resources affect a predetermined service that the in-vehicle device 100 receives from the server 104. For example, the external environment includes wireless communication resources (including network resources) and resources of the server 104. The evaluation unit 202 measures, for example, the communication speed of wireless communication by the communication unit 120. The evaluation unit 202 may also measure the response speed of the server 104, as described below. The evaluation unit 202 stores the evaluation results (for example, the wireless communication speed and the response speed of the server 104) in the storage unit 200.
[0047] The determination unit 204 reads the evaluation result from the storage unit 200 at a predetermined timing (for example, at a fixed cycle or a preset time), and determines whether the state of the external environment of the in-vehicle device 100 is bad. The determination unit 204 is implemented by the control unit 150 of the function expansion ECU 130. For example, the determination unit 204 determines whether the state of the external environment of the in-vehicle device 100 is bad by determining whether the wireless communication speed read from the storage unit 200 is equal to or lower than a predetermined threshold. If the wireless communication speed read from the storage unit 200 is equal to or lower than a predetermined threshold (hereinafter referred to as a first threshold), the determination unit 204 determines that the state of the external environment of the in-vehicle device 100 is bad. If the determination unit 204 determines that the state of the external environment of the in-vehicle device 100 is bad, it instructs the processing unit 206 to execute a predetermined process.
[0048] It should be noted that even if the wireless communication speed is not reduced, the external environment of the in-vehicle device 100 may be in a bad state. That is, a reduction in the processing speed related to the service provision by the server 104, such as a shortage of resources in the server 104, may cause a disruption to the service provision. In such a case, the external environment of the in-vehicle device 100 should be determined to be in a bad state. Therefore, if the response speed of the server 104 is included in the evaluation result read from the storage unit 200, the response speed of the server 104 may be compared with a predetermined threshold value (hereinafter referred to as a second threshold value) to determine the external environment of the in-vehicle device 100. For example, even if the wireless communication speed is higher than the first threshold value, if the response speed of the server 104 is equal to or lower than the second threshold value, the determination unit 204 determines that the external environment of the in-vehicle device 100 is in a bad state.
[0049] The processing unit 206 executes a predetermined process upon receiving an instruction from the determination unit 204. The processing unit 206 is realized by the control unit 150 of the function expansion ECU 130. Specifically, the processing unit 206 reads a processing program for executing the predetermined process from the storage unit 200 and executes the processing program on the sensor data read from the storage unit 200. The sensor data to be processed is sensor data transmitted from the in-vehicle device 100 to the server 104. Furthermore, while the processing program is being executed, the processing unit 206 determines whether service data has been received by the communication unit 120 and stored in the storage unit 200. The service data is data for implementing a service provided by the server 104 to the in-vehicle device 100. The service data is, for example, driving assistance information generated by the server 104 performing an analysis process on the sensor data transmitted from the in-vehicle device 100 to the server 104. If the service data is stored while the processing unit 206 is executing the processing program, the processing unit 206 terminates the processing program being executed. When the processing unit 206 completes the execution of the processing program before the service data is stored, the processing unit 206 outputs the processing result to the output unit 208 .
[0050] The processing program executed by the processing unit 206 is, for example, a program received from the server 104 by the communication unit 120. When the external environment of the in-vehicle device 100 is in a good state, the in-vehicle device 100 (specifically, the function extension ECU 130) receives a program (for example, a sensor data analysis processing program) for executing processing required for a service provided by the server 104 by the communication unit 120 and stores the program in the storage unit 200.
[0051] The output unit 208 determines whether data has been input from the processing unit 206 and whether service data has been stored in the storage unit 200. When data (e.g., driving assistance information) is input from the processing unit 206, the output unit 208 transmits the input data to a target ECU (hereinafter referred to as an end ECU). When service data (e.g., driving assistance information) is stored in the storage unit 200, the output unit 208 reads the service data from the storage unit 200 and transmits it to the end ECU. The end ECU uses the input data. For example, if the end ECU is the autonomous driving ECU 126, the autonomous driving ECU 126 uses the input driving assistance information to control the traveling of the vehicle 102.
[0052] As described above, when the external environment is in a good state, the in-vehicle device 100 can receive service data (e.g., driving assistance information) provided from the server 104 and transmit it to the corresponding end ECU. Furthermore, when the external environment is in a bad state and it takes a long time for the in-vehicle device 100 to receive the service data provided from the server 104, the in-vehicle device 100 can generate data equivalent to the service data by the processing unit 206 and transmit it to the corresponding end ECU. Therefore, even when the external environment of the in-vehicle device 100 is in a bad state, it is possible to avoid interruption of the cloud-linked service provided from the server 104 to the in-vehicle device 100. In other words, the cloud-linked service provided from the server 104 to the in-vehicle device 100 can be maintained.
[0053] In this way, when the external environment is in a bad state, the in-vehicle device 100 and the server 104 execute the same processing in parallel. That is, the in-vehicle device 100 and the server 104 configure a redundant system. One of the reasons why the in-vehicle device 100 receives services from the server 104 is that the processing performance of the server 104 is higher than that of the in-vehicle device 100. Therefore, even when the external environment is in a bad state, service data may be received from the server 104 before the processing by the processing unit 206 is completed. In that case, the processing unit 206 ends the processing. This makes it possible to prevent the in-vehicle device 100 from continuing processing unnecessarily.
[0054] For example, the processing program executed by the processing unit 206 is a program that executes the same processing as the program executed by the server 104 to generate service data to be provided to the in-vehicle device 100. In other words, the programs themselves do not need to be the same, as long as the processing content is the same. This eliminates the need for the in-vehicle device 100 to transmit the processing results of the processing unit 206 to the server 104, thereby avoiding unnecessary communication.
[0055] As described above, by receiving the processing program to be executed by the processing unit 206 from the server 104 in advance and storing it in the storage unit 200, the latest program can be received from the server 104, and the processing unit 206 can execute optimal processing.
[0056] Furthermore, as will be described later, the processing program executed by the processing unit 206 may be part of a program executed by the server 104 to generate service data to be provided to the in-vehicle device 100. If the processing unit 206 transmits the results of its execution to the server 104, the server 104 can use the received data to perform subsequent processing, allowing the server 104 to provide services efficiently even if the external environmental conditions of the in-vehicle device deteriorate.
[0057] (Operation of the expanded ECU) With reference to Fig. 7, the operation of the function-enhanced ECU 130 will be described with reference to the functions shown in Fig. 6. The processing shown in Fig. 7 is realized by the control unit 150 (see Fig. 4) reading a predetermined program from the memory 152 and executing it.
[0058] 7, in step 300, control unit 150 transmits a service provision request to server 104. The service provision request is data including, for example, sensor data and a request for analysis of the data and transmission of driving assistance information. The sensor data is sensor data output from sensor 124 and stored in memory 152. Thereafter, control proceeds to step 302.
[0059] In step 302, the control unit 150 acquires data representing the state of the external environment of the in-vehicle device 100. Specifically, the control unit 150 reads out the above-mentioned evaluation result from the memory 152 (see the storage unit 200 in FIG. 6). The evaluation result is the evaluation result of the evaluation unit 202 in FIG. 6, and is the wireless communication speed and the response speed of the server 104 measured by the in-vehicle gateway 122, as will be described later. Thereafter, control proceeds to step 304.
[0060] In step 304, the control unit 150 determines whether the state of the external environment has deteriorated. Specifically, the control unit 150 determines whether the data acquired in step 302 (i.e., the wireless communication speed and the response speed of the server 104) are equal to or lower than predetermined thresholds. For example, the control unit 150 compares the wireless communication speed with a first threshold and the response speed of the server 104 with a second threshold, and determines whether either of them is equal to or lower than the corresponding threshold. If the wireless communication speed is reduced, the service provided by the server 104 may be affected, resulting in delays or interruptions of the service. Furthermore, even if the wireless communication speed is high, if the response speed of the server 104 is reduced, the analysis of the sensor data transmitted to the server 104 and the generation of driving assistance information may not be performed promptly, which may also result in interruptions of the service. If the state of the external environment is determined to be poor, control proceeds to step 306. Otherwise, control proceeds to step 320. The processing in steps 302 and 304 corresponds to the function of the determination unit 204 shown in FIG. 6.
[0061] In step 306, the control unit 150 executes a predetermined process. The process in step 306 corresponds to the function of the processing unit 206 in Fig. 6. That is, the control unit 150 reads out a processing program and the sensor data to be processed from the memory 152, and executes the processing program.
[0062] In step 308, the control unit 150 determines whether or not service data has been received. The processing in step 308 corresponds to the function of the processing unit 206 in FIG. 6. That is, the control unit 150 determines whether or not service data has been stored in the memory 152 (see the storage unit 200 in FIG. 6). As described above, the service data is data received from the server 104 by the communication unit 120. If it is determined that service data has been stored, control proceeds to step 312. Otherwise, control proceeds to step 310.
[0063] In step 310, the control unit 150 determines whether the processing of step 306 (i.e., the processing program) has been completed. The processing of step 308 corresponds to the function of the processing unit 206 in Fig. 6. If it is determined that the processing has been completed, control proceeds to step 314. If not, control returns to step 306 to continue the processing.
[0064] In step 312, the control unit 150 ends the processing program. Thereafter, the control proceeds to step 314. The processing in step 312 corresponds to the function of the processing unit 206 in FIG.
[0065] In step 314, the control unit 150 determines whether the data resulting from the processing by the processing program or the service data received from the server 104 is usable. If it is determined that the data is usable, control proceeds to step 316. If not, control proceeds to step 318. For example, the control unit 150 determines whether the data resulting from the processing or the service data is effectively usable by the target ECU, taking into account delay times (including, for example, processing delay times and communication delay times). For example, if the target ECU is the autonomous driving ECU 126 and the original data (e.g., sensor data) of the driving assistance information is old data (i.e., data acquired a predetermined time or more ago), the autonomous driving ECU 126 cannot effectively use the driving assistance information.
[0066] In step 316, the control unit 150 transmits to the target ECU data resulting from the processing program or service data received from the server 104. The processing in step 316 corresponds to the function of the output unit 208 in FIG.
[0067] In step 318, the control unit 150 determines whether an instruction to end the program has been received. The instruction to end the program is given, for example, by turning off the start button of the vehicle 102. If it is determined that the program should be ended, the program ends. If not, the control returns to step 300, and the above processing is repeated.
[0068] If the determination result in step 304 is NO, in step 320, the control unit 150 determines whether or not a program for executing a predetermined process, i.e., the processing program executed in step 306, is stored in the memory 152. If it is stored, control proceeds to step 324. If not, control proceeds to step 322.
[0069] In step 322, the control unit 150 controls the communication unit 120 to request the server 104 for a program that executes a predetermined process (for example, by transmitting a program transmission request to the server 104), and stores the received program in the memory 152. The program transmission request is, for example, data (for example, a predetermined code) that requests the server 104 to transmit a program that is executed by the server 104 in order for the server 104 to provide a service to the in-vehicle device 100. The program transmitted from the server 104 is, for example, a program that executes the same process as the program that the server 104 executes in order to provide a service to the in-vehicle device 100.
[0070] In step 324, the control unit 150 determines whether or not service data has been received, similarly to step 308. That is, the control unit 150 determines whether or not service data has been stored in the memory 152 (see the storage unit 200 in FIG. 6). If it is determined that service data has been stored, control proceeds to step 314. If not, step 324 is repeated.
[0071] As described above, when the external environment of the in-vehicle device 100 is in a bad state, the function expansion ECU 130 of the in-vehicle device 100 executes the same processing as that executed by the server 104 that requested the provision of the service. If the function expansion ECU 130 obtains a processing result before receiving service data from the server 104, it can output the processing result to the target ECU for use. If service data can be received from the server 104 before the processing of the function expansion ECU 130 is completed, it can output the received service data to the target ECU for use. Therefore, even when the external environment of the in-vehicle device 100 is in a bad state, problems such as interruptions to the service can be avoided. Furthermore, the function expansion ECU 130 can receive and store a program to be executed by the server 104 to realize the service from the server 104 when the external environment of the in-vehicle device 100 is in a good state.
[0072] (Operation of the in-vehicle gateway) With reference to Fig. 8, the operation of the in-vehicle gateway 122 corresponding to the function of the evaluation unit 202 shown in Fig. 6 will be described. The processing shown in Fig. 8 is realized by the control unit 140 (see Fig. 3) reading out a predetermined program from the memory 142 and executing it.
[0073] 8, in step 400, control unit 140 measures the wireless communication speed. Specifically, control unit 140 measures the data communication speed between in-vehicle device 100 and the outside, which is executed by communication unit 120. Thereafter, control proceeds to step 402. If the data communication speed between in-vehicle device 100 and the outside decreases, it will become impossible to receive stable service from server 104.
[0074] In step 402, the control unit 140 measures the response speed of the server 104. Specifically, the control unit 140 measures the time from when the control unit 120 controls the communication unit 120 to transmit predetermined data to the server 104 until the control unit 140 receives a response to the data, and defines the reciprocal of the time as the response speed. For example, the control unit 140 measures the time from when the function expansion ECU 130 issues a service provision request until the control unit 140 receives the corresponding service data. Thereafter, control proceeds to step 402. Even if the communication state between the in-vehicle device 100 and the server 104 is good, the speed of the processing performed by the server 104 to provide the service to the in-vehicle device 100 may be slowed down for some reason. For example, if there is a process that takes priority over providing the service to the in-vehicle device 100 and most of the server 104's resources are allocated to the process with priority, the response time of the server 104 to the in-vehicle device 100 will be long and the response speed will be slow. In such a case, a situation may arise in which the server 104 is unable to provide the service to the in-vehicle device 100.
[0075] In step 404, the control unit 140 stores the measurement results (that is, the wireless communication speed and the response speed) from steps 400 and 404 as evaluation results (see FIG. 6) in the memory 142. Thereafter, the control proceeds to step 406.
[0076] In step 406, the control unit 140 determines whether or not a request for the evaluation results stored in the memory 142 in step 404 has been received from the function-enhanced ECU 130. If it is determined that a request has been received, control proceeds to step 408. If not, control proceeds to step 410.
[0077] In step 408, the control unit 140 reads the requested data (i.e., the evaluation results) from the memory 142 and transmits them to the function-enhanced ECU 130 via the bus 132. For example, if the memory 142 stores evaluation results in chronological order, the control unit 140 transmits the most recent evaluation result. Alternatively, the control unit 140 may transmit statistical values (e.g., the average value of the wireless communication speed and the average value of the response speed) obtained from a plurality of evaluation results over the most recent predetermined period.
[0078] In step 410, the control unit 140 determines whether an instruction to end the program has been received. The instruction to end the program is given, for example, by turning off the start button of the vehicle 102. If it is determined that the program should be ended, the program ends. If not, the control returns to step 400, and the above processing is repeated.
[0079] As described above, the in-vehicle gateway 122 of the in-vehicle device 100 can monitor the state of the external environment of the in-vehicle device 100, and upon receiving a request from the function expansion ECU 130, can transmit information indicating the state of the external environment of the in-vehicle device 100 (i.e., the evaluation result) to the function expansion ECU 130. Therefore, the function expansion ECU 130 can execute processing according to the state of the external environment of the in-vehicle device 100 as described above.
[0080] (Server behavior) The operation of the server 104, i.e., the provision of services to the in-vehicle device 100, will be described with reference to Fig. 9. The process shown in Fig. 9 is realized by the control unit 160 of the server 104 shown in Fig. 5 reading out a predetermined program from the memory 162 and executing it.
[0081] In step 500, the control unit 160 determines whether or not a service provision request has been received. If it is determined that a service provision request has been received, control proceeds to step 502. Otherwise, control proceeds to step 510. The service provision request is transmitted from the in-vehicle device 100 in step 300 shown in FIG. 7.
[0082] In step 502, the control unit 160 reads from the memory 162 and executes a program for executing the processing specified by the service request received in step 500. Thereafter, the control proceeds to step 504.
[0083] In step 504, the control unit 160 determines whether the processing in step 502 is complete. If it is determined that the processing is complete, the control proceeds to step 506. If not, the control returns to step 502.
[0084] In step 506, the control unit 160 transmits the result of the processing in step 502 to the sender of the service request (e.g., the in-vehicle device 100). The control unit 160 can identify the destination from the sender address (e.g., the IP address) of the data received in step 500. Thereafter, control proceeds to step 508.
[0085] In step 508, control unit 160 determines whether an instruction to terminate has been received. The instruction to terminate is given, for example, by operating an operation unit (not shown) such as a keyboard or mouse provided on server 104. If it is determined that the program should be terminated, the program ends. If not, control returns to step 500, and the above processing is repeated.
[0086] If the determination result in step 500 is NO, in step 510, the control unit 160 determines whether or not a program transmission request has been received. If it is determined that the program transmission request has been received, control proceeds to step 512. Otherwise, control proceeds to step 508. The program transmission request is transmitted from the in-vehicle device 100 in step 322 shown in FIG. 7.
[0087] In step 512, the control unit 160 identifies a program corresponding to the program transmission request received in step 510, reads it from the memory 162, and transmits it to the sender of the program transmission request (e.g., the in-vehicle device 100). The control unit 160 can identify the destination from the sender address of the program transmission request received in step 510. Thereafter, control proceeds to step 508.
[0088] As described above, the server 104 can receive a service request from an in-vehicle device, execute a predetermined process, and transmit the process result to the in-vehicle device that made the request. The server 104 can also receive a request to send a program for executing a service, and transmit the corresponding program to the requestor.
[0089] As described above, even if the external environment of the in-vehicle device 100 is in a bad state, the service provided from the server 104 to the in-vehicle device 100 can be prevented from being interrupted and the service can be maintained.
[0090] In the above description, the in-vehicle gateway 122 monitors the state of the external environment of the in-vehicle device 100, and the function expansion ECU 130 executes the same program as the server 104 in accordance with the state of the external environment. However, the present invention is not limited to this. The function expansion ECU 130 may monitor the state of the external environment of the in-vehicle device 100 in addition to the above processing. Furthermore, the in-vehicle gateway 122 may execute the above processing by the function expansion ECU 130 in addition to the processing of monitoring the state of the external environment of the in-vehicle device 100. In this case, the in-vehicle device 100 does not need to include the function expansion ECU 130.
[0091] (First Modification) In the above description, a case has been described in which an in-vehicle device receives a service from a server while the vehicle in which the in-vehicle device is installed is traveling, but this is not limiting. The in-vehicle device according to the first modification receives a service from a server while the vehicle in which the in-vehicle device is installed is stopped. The in-vehicle device according to the first modification has the same configuration and functions as the in-vehicle device 100 shown in FIG. 2. Hereinafter, for convenience, the in-vehicle device according to the first modification will be described as the in-vehicle device 100.
[0092] Referring to FIG. 2, the in-vehicle device 100 receives from the server 104 a service for unlocking the doors of the vehicle 102 equipped with the in-vehicle device 100 through facial recognition (hereinafter referred to as a facial recognition unlocking service). In this case, a camera is used as the sensor 124, and an ECU for controlling the door lock is used as the ECU 128. The sensor 124 captures an image of a person approaching the vehicle 102 (i.e., a person who is a target of facial recognition processing). The obtained image data is included in a service request and transmitted from the communication unit 120 to the server 104 (see step 300 in FIG. 7). The service request includes, for example, a code for requesting facial recognition processing of the image data (hereinafter referred to as a facial recognition request code).
[0093] Upon receiving the service request, the server 104 executes a facial authentication process on the received image data as a process corresponding to the facial authentication request code (see step 502 in FIG. 9). For example, the server 104 cuts out a face from the received image data, extracts facial features using edge detection or other processing, and executes a matching process to determine the degree of match with the facial features of the owner of the vehicle 102 that are pre-stored in the vehicle 102. If the degree of match is equal to or greater than a predetermined value, the server 104 transmits information to the in-vehicle device 100 indicating that authentication has been passed (see step 506 in FIG. 9). The function extension ECU 130 receives the information via the communication unit 120, transmits it to the ECU 128, and unlocks the door (see step 316 in FIG. 7). In this manner, if the external environment of the in-vehicle device 100 is in good condition, the server 104 provides a facial authentication unlocking service.
[0094] On the other hand, if the external environment of the in-vehicle device 100 is in a bad state (if the determination result in step 304 in FIG. 7 is YES), the function expansion ECU 130 executes a program for executing face recognition processing that has been previously received from the server 104 and stored (see step 306 in FIG. 7). The executed program is the same program as the program executed by the server 104. If the degree of match obtained as a processing result is equal to or greater than a predetermined value, the function expansion ECU 130 transmits information to the ECU 128 that the server 104 has passed the authentication, and unlocks the door (see step 316 in FIG. 7). Therefore, even if the external environment of the in-vehicle device 100 is in a bad state, a face recognition unlocking service can be realized.
[0095] (Second Modification) In the above description, the function extension ECU 130 executes the same program as the program executed by the server 104 to provide the service, but this is not limiting. The in-vehicle device according to the second modification executes part of the program executed by the server 104 to provide the service.
[0096] The service provided by the server 104 is assumed to be a face recognition unlocking service, as in the first modified example. The face recognition process executed by the server 104 to provide the service is assumed to be composed of, for example, an image processing process as preprocessing of the target image, a feature extraction process for extracting a face portion from the processed image, and a matching process for determining the degree of match of the extracted feature amounts. The function extension ECU 130 receives and stores in advance programs for executing the image processing process and the feature extraction process from the server 104.
[0097] If the external environment of the in-vehicle device 100 is in a good state, the server 104 provides a face authentication unlocking service, as in the first modified example. On the other hand, if the external environment of the in-vehicle device 100 is in a bad state, the function expansion ECU 130 reads and executes a program for executing image processing and feature extraction processing. The function expansion ECU 130 includes the extracted feature amount in a service provision request and transmits the request from the communication unit 120 to the server 104. At this time, the service provision request includes a code (hereinafter referred to as a matching request code) different from the above-mentioned face authentication processing code.
[0098] Upon receiving the service request, the server 104 executes a matching process on the received feature quantity as a process corresponding to the matching request code. If the degree of match is equal to or greater than a predetermined value, the server 104 transmits information indicating that authentication has been passed to the in-vehicle device 100. The function expansion ECU 130 receives the information via the communication unit 120 and transmits it to the ECU 128, causing the door to be unlocked. In this way, even if the external environment of the in-vehicle device 100 is in a poor state, the server 104 provides a face recognition unlocking service. The server 104 can execute the matching process, which is only a part of the face recognition process, rather than the entire process, and therefore can execute the process quickly. This is particularly effective when, for example, the poor external environment of the in-vehicle device 100 is not due to a decrease in wireless communication speed but rather to a decrease in the execution speed of the face recognition process by the server 104 due to a resource shortage of the server 104. The server 104 can execute the matching process with significantly fewer resources than those required for executing the face recognition process. Therefore, even if the resources of the server 104 are tight, the server 104 can quickly complete the matching process and transmit the matching result to the in-vehicle device 100.
[0099] For example, when the external environment of the in-vehicle device 100 is in a good state, the in-vehicle device 100 requests the server 104 for a face recognition unlocking service, and the server 104 starts face recognition processing, and then the external environment of the in-vehicle device 100 may become worse. In this case, since the server 104 is executing face recognition processing, the server 104, upon receiving the service provision request including the matching request code, may terminate the face recognition processing and execute matching processing. The server 104 can quickly complete the matching processing and transmit the matching result to the in-vehicle device 100.
[0100] (Third Modification) In the above description, the on-board device itself observes the state of the external environment of the on-board device, but this is not limiting. The on-board device according to the third modification acquires information from an external device for determining the state of the external environment of the on-board device.
[0101] The functional configuration of an in-vehicle device according to the third modified example will be described with reference to Fig. 10. The hardware configuration of the in-vehicle device according to the third modified example is the same as that of the in-vehicle device 100 shown in Fig. 2. For convenience, the in-vehicle device according to the third modified example will be described below as the in-vehicle device 100. The in-vehicle device 100 includes a storage unit 200, an evaluation unit 202, a determination unit 204, a processing unit 206, an output unit 208, and a route identification unit 210. The configuration shown in Fig. 9 is the same as that shown in Fig. 6, except that the route identification unit 210 and the communication speed record map 212 are added to the storage unit 200. The configuration other than the route identification unit 210 and the communication speed record map 212 is the same as that shown in Fig. 2, and the same functions are realized. Therefore, redundant explanations will not be repeated, and only the differences will be described.
[0102] The route identification unit 210 identifies a planned driving route for the vehicle 102 equipped with the in-vehicle device 100. The planned driving route for the vehicle 102 is identified by a car navigation system installed in the vehicle 102, for example, after a destination is set in the car navigation system. The car navigation system can identify the planned driving route by referring to a road map using the set destination and the current position of the vehicle 102, which can be obtained from a GPS. The route identification unit 210 acquires the planned driving route identified by the car navigation system from the car navigation system. The route identification unit 210 may independently identify the planned driving route for the vehicle 102, similar to the car navigation system. The route identification unit 210 inputs information about the identified planned driving route to the determination unit 204.
[0103] The communication speed record map 212 is a map that associates positions on a road with actual communication speeds at those positions. The communication speed record map 212 is generated, for example, by a server (e.g., a server other than the server 104) collecting communication speeds with on-board devices installed in vehicles traveling on each road. The server identifies the position on the road from the position information of each vehicle and associates the communication speed with the on-board device of that vehicle with the identified position. The server may also collect communication speeds with infrastructure sensors installed on the roadside of each road (i.e., upload speeds of sensor data). Each on-board device may also store the position of the traveling vehicle, the communication speed at that position, and information indicating the time the communication speed was observed, in association with each other, and periodically upload the information to the server. The server can generate the communication speed record map 212 from the received information.
[0104] The determination unit 204 reads the communication speed record map 212 from the storage unit 200 and identifies the wireless communication speed on the planned driving route by referring to the communication speed record map 212 using the information on the planned driving route input from the route identification unit 210. The determination unit 204 determines the state of the external environment of the in-vehicle device 100 by comparing the wireless communication speed on the planned driving route of the vehicle 102 with a predetermined threshold. For example, the determination unit 204 determines that the state of the external environment of the in-vehicle device 100 is poor on the planned driving route where the wireless communication speed is equal to or lower than the threshold. Therefore, if there is a route on the planned driving route where the external environment of the in-vehicle device 100 is poor, the in-vehicle device 100 can prepare in advance (for example, activate and put into standby) a program to be executed in step 306 shown in FIG. 7 shortly before the vehicle 102 actually drives that route. Therefore, the in-vehicle device 100 can execute the program more quickly when the vehicle 102 actually drives that route.
[0105] The determination unit 204 may determine the state of the external environment of the on-vehicle device 100 not only based on the wireless communication speed obtained from the communication speed record map 212 read from the storage unit 200, but also based on the response speed of the server 104 included in the evaluation result by the evaluation unit 202. In this case, the determination unit 204 may substitute the wireless communication speed included in the evaluation result by the evaluation unit 202 for the wireless communication speed obtained from the communication speed record map 212 read from the storage unit 200, and determine the state of the external environment of the on-vehicle device 100 as described above.
[0106] Each process (each function) in the above-described embodiments may be realized by a processing circuit including one or more processors. The processing circuit may be configured by an integrated circuit or the like that combines one or more memories, various analog circuits, and various digital circuits in addition to the one or more processors. The one or more memories store programs (instructions) that cause the one or more processors to execute each of the processes. The one or more processors may execute each of the processes according to the program read from the one or more memories, or according to a logic circuit designed in advance to execute each of the processes. The processor may be various processors suitable for computer control, such as a CPU, a GPU (Graphics Processing Unit), a DSP (Digital Signal Processor), an FPGA (Field Programmable Gate Array), or an ASIC (Application Specific Integrated Circuit). The physically separated processors may execute each of the processes in cooperation with each other. For example, the above-mentioned processors mounted on each of a plurality of physically separated computers may cooperate with each other via a network such as a LAN (Local Area Network), a WAN (Wide Area Network), or the Internet to execute the above-mentioned processes.
[0107] In addition, a recording medium can be provided that stores a program that causes a computer to execute the processes (e.g., the processes shown in Figures 7 and 8) that are executed by the in-vehicle device 100 (specifically, the function-enhanced ECU 130 and the in-vehicle gateway 122). The recording medium is, for example, an optical disc (such as a DVD (Digital Versatile Disc)) or a removable semiconductor memory (such as a USB (Universal Serial Bus) memory). Although a computer program can be transmitted over a communication line, the recording medium means a non-transitory recording medium. By having a computer load the program stored in the recording medium, the computer can maintain cloud-linked services and enable the provision of services from the server even when the external environmental conditions of the in-vehicle device deteriorate, as described above.
[0108] (Addendum) That is, the computer-readable non-transitory recording medium is A computer installed in a vehicle receives services from an external device. a communication function for transmitting predetermined data to the external device; an evaluation function for evaluating the state of the external environment of the computer; a determination function that determines whether or not to execute a first process according to an evaluation result by the evaluation function; a processing function of executing the first processing on the predetermined data in response to the determination function of executing the first processing, the external environment includes a wireless communication speed between the computer and the external device; the service is provided by the external device performing a second process on the predetermined data and transmitting the result to the computer; The first process stores a computer program that constitutes at least a part of the second process.
[0109] Although the present disclosure has been described above by explaining the embodiments, the above-described embodiments are merely examples, and the present disclosure is not limited to only the above-described embodiments. The scope of the present disclosure is defined by the claims in the claims, taking into consideration the description of the detailed description of the invention, and includes all modifications within the meaning and scope equivalent to the wordings described therein. [Explanation of symbols]
[0110] 100 In-vehicle equipment 102 vehicles 104 Server 106 Base Station 108 Network 120, 164 Communications Department 122 In-vehicle gateway 124 sensors 126 Autonomous Driving ECU 128 ECU 130 Function Enhancement ECU Buses 132 and 166 140, 150, 160 Control unit 142, 152, 162 memory 200 Storage section 202 Evaluation Department 204 Judgment section 206 Processing section 208 Output section 210 Route Identification Unit 212 Communication speed performance map 300, 302, 304, 306, 308, 310, 312, 314, 316, 318, 320, 322, 324, 400, 402, 404, 406, 408, 410, 500, 502, 504, 506, 508, 510, 512 steps
Claims
1. An in-vehicle device that is mounted in a vehicle and receives a service from an external device, a communication unit that transmits predetermined data to the external device; an evaluation unit that evaluates a state of an external environment of the in-vehicle device; a determination unit that determines whether or not to execute a first process according to an evaluation result by the evaluation unit; a processing unit that executes the first processing on the predetermined data in response to the determination unit that the first processing is to be executed, the external environment includes a wireless communication speed between the in-vehicle device and the external device; the service is provided by the external device performing a second process on the predetermined data and transmitting the result to the in-vehicle device; The in-vehicle device, wherein the first processing constitutes at least a part of the second processing.
2. The in-vehicle device according to claim 1 , wherein the first process is the same as the second process.
3. the predetermined data is image data or video data detected by a sensor mounted on the vehicle, The in-vehicle device according to claim 2 , wherein the second process is an authentication process.
4. the first process constitutes a part of the second process, The in-vehicle device according to claim 1 , wherein the communication unit further transmits to the external device a result of the first processing performed by the processing unit on the predetermined data.
5. the predetermined data is image data or video data detected by a sensor mounted on the vehicle, the second process is an authentication process, The authentication process includes: an image processing process for processing the image data or the moving image data; a feature extraction process for extracting a feature amount of an object from the image obtained by the image processing; a comparison process for comparing the feature amount extracted by the feature extraction process with a reference feature amount, The in-vehicle device according to claim 4 , wherein the first processing is the image processing, or the image processing and the feature extraction processing.
6. The in-vehicle device according to claim 1 , wherein the communication unit further receives an execution program for the first process from the external device.
7. 6. The in-vehicle device according to claim 1, wherein after the communication unit transmits the predetermined data to the external device and the processing unit executes the first processing, the processing unit terminates the first processing upon receiving a result of the second processing from the communication unit.
8. Further, a route specifying unit that specifies a planned driving route of the vehicle is included, the evaluation unit evaluates a wireless communication speed along the planned travel route identified by the route identification unit, thereby evaluating the wireless communication speed between the in-vehicle device and the external device; 6. The in-vehicle device according to claim 1, wherein the determination unit determines to execute the first process when the vehicle is located in a route portion on the planned route where the wireless communication speed is equal to or lower than a predetermined value.
9. The in-vehicle device according to claim 8 , wherein the evaluation unit evaluates the wireless communication speed on the planned travel route based on a map in which roads are associated with actual values of wireless communication speeds on the roads.
10. A method for controlling an in-vehicle device that is mounted in a vehicle and receives a service from an external device, comprising: a communication step of transmitting predetermined data to the external device; an evaluation step of evaluating a state of an external environment of the in-vehicle device; a determination step of determining whether or not to execute a first process depending on an evaluation result obtained by the evaluation step; a processing step of executing the first processing on the predetermined data in response to the determination step that the first processing is to be executed, the external environment includes a wireless communication speed between the in-vehicle device and the external device; the service is provided by the external device performing a second process on the predetermined data and transmitting the result to the in-vehicle device; A control method, wherein the first process constitutes at least a part of the second process.
11. A computer installed in a vehicle receives services from an external device. a communication function for transmitting predetermined data to the external device; an evaluation function for evaluating the state of the external environment of the computer; a determination function that determines whether or not to execute a first process according to an evaluation result by the evaluation function; a processing function of executing the first processing on the predetermined data in response to the determination function of executing the first processing, the external environment includes a wireless communication speed between the computer and the external device; the service is provided by the external device performing a second process on the predetermined data and transmitting the result to the computer; The first process constitutes at least a part of the second process.
Citation Information
Patent Citations
Distributed processing system
JP2009070135A