Vehicle control systems
By implementing an external communication network for secondary computing units in vehicles, the system prevents data tampering, ensuring data integrity in grid computing scenarios.
Patent Information
- Application Number
- JP2021174906
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2021-10-26
- Publication Date
- 2025-10-22
- Estimated Expiration
- 2041-10-26
AI Technical Summary
The risk of data tampering in computing devices used for grid computing, particularly in vehicles, exists when additional computing resources are added by service technicians or owners, as these resources can directly communicate with the primary computing unit, allowing for potential data rewriting.
The communication control system for vehicles with added computing resources is configured such that the secondary computing unit communicates via an external network, preventing direct data transmission to the primary unit, thereby preventing data tampering.
This configuration effectively prevents data tampering in the primary computing unit by ensuring indirect communication, maintaining data integrity in grid computing environments.
Smart Images

Figure 0007757708000001 
Figure 0007757708000002 
Figure 0007757708000003
Abstract
Description
[Technical Field]
[0001] The technology disclosed herein relates to a control system for a mobile object that includes a computing device used as a computing resource in grid computing. [Background technology]
[0002] Patent Document 1 discloses a mobile electronic device that prevents a decrease in reliability of vehicle driving control due to various inappropriate external information from an external communication system. The mobile electronic device of Patent Document 1 includes a first gateway connected to an information and communication network that connects information and communication devices, and a second gateway that connects the first gateway to a mobile control network that connects mobile control devices. The second gateway includes a determination means that determines the operating state of the first gateway and a connection switching means that stops or starts the connection with the first gateway based on the determination result. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Japanese Patent Application Laid-Open No. 2006-240610 Summary of the Invention [Problem to be solved by the invention]
[0004] Incidentally, a control device (central processing unit) that controls each part of a vehicle may be used as a computing resource for grid computing. In this case, computing resources may be added to the control device to improve the calculation capacity of the control device. Hereinafter, the control device may be referred to as a first computing device, and the computing resource added to the first computing device may be referred to as a second computing device.
[0005] The second arithmetic unit may be added by a service technician or by the vehicle owner himself / herself. Therefore, there is a risk that the data in the first arithmetic unit may be tampered with by rewriting the data in the second arithmetic unit.
[0006] The technology disclosed herein has been made in view of the above points, and its purpose is to prevent data tampering in a computing device used in grid computing. [Means for solving the problem]
[0007] In order to solve the above problem, the technology disclosed herein is a communication control system for a mobile body equipped with a computing device used as a computing resource in grid computing, wherein the computing device is configured to include a first computing device that controls the operation of the mobile body, and a second computing device that is added to the first computing device and communicates via a communication network that is external to the first computing device.
[0008] According to the above aspect, the second arithmetic unit added to the first arithmetic unit does not communicate directly with the first arithmetic unit, but communicates with the first arithmetic unit via an external communication network. This prevents direct data transmission from the second arithmetic unit to the first arithmetic unit, thereby preventing data tampering in the first arithmetic unit due to data rewriting in the second arithmetic unit. [Effects of the Invention]
[0009] As described above, the technology disclosed herein can prevent data tampering in a computing device used in grid computing. [Brief explanation of the drawings]
[0010] [Figure 1] FIG. 1 is a schematic diagram illustrating a configuration of a system according to an embodiment. [Figure 2] FIG. 1 is a conceptual diagram illustrating grid computing. [Figure 3] FIG. 1 is a block diagram illustrating a configuration of a vehicle. [Figure 4] FIG. 2 is a block diagram illustrating the configuration of a user terminal. [Figure 5] FIG. 2 is a block diagram illustrating an example of a client server configuration. [Figure 6] FIG. 2 is a block diagram illustrating an example of the configuration of a facility server. [Figure 7] FIG. 2 is a block diagram illustrating a configuration of a management server. [Figure 8] FIG. 10 is a schematic diagram illustrating an example of a registration form for a client to request a job from an operating server. [Figure 9] 2 is a schematic diagram showing information transmitted between a facility terminal, a vehicle, a client terminal, and a management server. FIG. [Figure 10] 10 is a flowchart illustrating an example of the operation of the management system. [Figure 11] FIG. 10 is a diagram illustrating an example of grid organization. [Figure 12] FIG. 10 is a diagram illustrating an example of grid organization. [Figure 13] 10 is a flowchart illustrating a grid organization process. [Figure 14] 10 is a flowchart illustrating a job reception process. [Figure 15] 10 is a flowchart illustrating a matching process. [Figure 16] 1 is a flowchart illustrating a grid computing process. [Figure 17] FIG. 2 is a schematic perspective view showing the front part of the vehicle. [Figure 18] FIG. 2 is a block diagram showing a communication path of the vehicle control system. [Figure 19] 3 is a flowchart illustrating an example of the operation of the vehicle control system. DETAILED DESCRIPTION OF THE INVENTION
[0011] Hereinafter, exemplary embodiments will be described in detail with reference to the drawings. In the drawings, the same or corresponding parts are designated by the same reference numerals, and repeated explanations may be omitted.
[0012] <Embodiment> (Grid Computing System) 1 illustrates an example of the configuration of a grid computing system 1 (hereinafter simply referred to as "system 1") according to an embodiment. A communication control system for a vehicle (mobile body) according to this embodiment is configured as a part of the grid computing system 1.
[0013] The system 1 includes a plurality of vehicles 10, a plurality of user terminals 20, and a client terminal 3. 0, a facility terminal 40, and a management server 50. These components can communicate with each other via a communication network 5. Each of the plurality of vehicles 10 is equipped with a computing device 105.
[0014] [Grid Computing] As shown in FIG. 2, in the embodiment of the system 1, grid computing (hereinafter also referred to simply as "grid G") is configured using a plurality of computing devices 105, and grid computing processing is performed in which job data is processed by an available computing device 105 among the plurality of computing devices 105.
[0015] When the vehicle 10 needs the computing power of the arithmetic device 105, the arithmetic device 105 enters an operating state and uses the computing power of the arithmetic device 105. For example, when the vehicle 10 is traveling, the computing power of the arithmetic device 105 is required for traveling control of the vehicle 10, and the arithmetic device 105 enters an operating state.
[0016] On the other hand, when the computing power of the arithmetic device 105 becomes unnecessary in the vehicle 10, the arithmetic device 105 enters a stopped state, and the computing power of the arithmetic device 105 is not used. For example, when the vehicle 10 stops and the power supply of the vehicle 10 is turned off, the computing power of the arithmetic device 105 becomes unnecessary, and the arithmetic device 105 enters a stopped state.
[0017] 〔vehicle〕 The vehicle 10 is owned by a user. The user drives the vehicle 10. In this example, the vehicle 10 is a four-wheeled automobile. The vehicle 10 is also equipped with a battery (not shown). Power from the battery is supplied to on-board devices such as the computing device 105. Examples of such a vehicle 10 include an electric vehicle and a plug-in hybrid vehicle.
[0018] As shown in FIG. 3, the vehicle 10 includes an actuator 11, a sensor 12, an input unit 101, an output unit 102, a communication unit 103, a storage unit 104, and a calculation device (processor) 105.
[0019] The actuators 11 include drive system actuators, steering system actuators, braking system actuators, etc. Examples of drive system actuators include an engine, a transmission, and a motor. Examples of braking system actuators include a brake. Examples of steering system actuators include a steering wheel.
[0020] The sensor 12 acquires various types of information used for controlling the vehicle 10. Examples of the sensor 12 include an exterior camera (camera 601) that captures images outside the vehicle, an interior camera that captures images inside the vehicle, radar that detects objects outside the vehicle, a vehicle speed sensor, an acceleration sensor, a yaw rate sensor, an accelerator opening sensor, a steering sensor, and a brake oil pressure sensor.
[0021] The input unit 101 inputs information and data. Examples of the input unit 101 include an operation unit that is operated to input information corresponding to the operation, a camera that inputs an image representing information, and a microphone that inputs audio representing information. The information and data input to the input unit 101 are sent to the calculation device 105.
[0022] The output unit 102 outputs information and data. Examples of the output unit 102 include a display unit that outputs an image representing information, and a speaker that outputs sound representing information.
[0023] The communication unit 103 transmits and receives information and data. The information and data received by the communication unit 103 are sent to the calculation device 105.
[0024] The storage unit 104 stores information and data. The specific configuration of the storage unit 104 is not particularly limited. For example, the storage unit 104 may be realized by a memory built into a chip, a hard disk drive (HDD), a solid state drive (SSD), or an optical disc such as a DVD or BD. In the present disclosure, the storage area installed in the vehicle 10 and capable of storing and accumulating data is collectively referred to as storage 108. In other words, the storage unit 104 is realized by a portion of the storage area of the storage 108.
[0025] In this example, the storage unit 104 stores vehicle information D10. The vehicle information D10 includes vehicle identification information D11, vehicle state information D12, vehicle driving information D13, resource information D14, operation history information D15, and operation schedule information D16.
[0026] <Vehicle Identification Information> The vehicle identification information D11 is information for identifying each vehicle 10. Specifically, the vehicle identification information D11 includes vehicle identification information for identifying the vehicle 10, user identification information for identifying the user who owns the vehicle 10, grade information of the vehicle 10 indicating the performance of the vehicle 10 (driving condition of the vehicle), and the like. system performance, including optional status.
[0027] <Vehicle status information> The vehicle status information D12 is information indicating the status of the vehicle 10. For example, the vehicle status information D12 includes vehicle position information, vehicle communication information, vehicle power supply information, vehicle battery remaining capacity information, vehicle charging information, etc. The vehicle position information indicates the position (latitude and longitude) of the vehicle 10. For example, the vehicle position information can be acquired by a GPS (Global Positioning System). Vehicle communication information indicates the communication status of the vehicle 10. Vehicle power supply information indicates the power supply status of the vehicle 10. For example, the vehicle power supply information indicates whether the ignition power supply is on or off, whether the accessory power supply is on or off, etc. Vehicle battery remaining capacity information indicates the remaining capacity of a battery (not shown) installed in the vehicle 10. Vehicle charging information indicates whether the vehicle 10 is being charged at a charging facility (not shown).
[0028] <Vehicle driving information> The vehicle driving information D13 is information indicating the driving history of the vehicle 10. For example, the vehicle driving information D13 indicates the position of the vehicle 10 in association with the time. In addition to the driving history information, driving schedule information indicating future driving schedules of the vehicle 10 may be included.
[0029] <Resource Information> The resource information D14 is information relating to the computational resources 109 (including the CPU 106, GPU 107, and storage 108) described later.
[0030] The resource information D14 includes, for example, a calculation device ID set in the calculation device 105 (including the CPU 106 and the GPU 107), a vehicle ID set in the vehicle 10 on which the calculation device 105 is mounted, and calculation device performance information indicating the performance of the calculation device 105. The calculation device ID may be set, for example, for each of the CPU 106 and the GPU 107. The calculation device performance information includes, for example, performance information for each of the CPU 106 and the GPU 107.
[0031] The resource information D14 includes, for example, information about the storage 108 that can be allocated to grid computing processing, such as storage capacity values, storage types (HDD, SSD, flash memory, etc.), write speeds / read speeds for each storage 108, and error rates. Resource information about the storage 108 may also include storage capacity values installed in the entire vehicle and current free space values.
[0032] The arithmetic device ID is an example of arithmetic device identification information that identifies the arithmetic device 105. The performance of the arithmetic device 105 indicated in the arithmetic device performance information includes a calculation capacity indicating the calculation capacity (specifically, the maximum calculation capacity) of the arithmetic device 105, a ratio between the CPU 106 and the GPU 107 in the arithmetic device 105, etc. The calculation capacity of the arithmetic device 105 is the amount of data that the arithmetic device 105 can calculate per unit time.
[0033] <Operation history information> The operation history information D15 is information indicating the operation history of the computing device 105. For example, the operation history information D15 indicates the utilization rate of the computing capacity of the computing device 105 and / or the job processing volume in association with time. The operation history information D15 includes a normal operation history and a grid operation history. The normal operation history is information indicating the history of operating the computing device 105 for user use, such as providing services such as vehicle driving, car navigation, and music playback. The grid operation history is information indicating the history of operating the computing device 105 to execute grid computing processing.
[0034] <Operation schedule information> The operation schedule information D16 is information indicating an operation schedule of the arithmetic device 105. Specifically, the operation schedule information D16 indicates usage history information indicating the past usage status of the arithmetic device 105, usage schedule information indicating the future usage status of the arithmetic device 105, etc.
[0035] The arithmetic device 105 controls each part of the vehicle 10. In this example, the arithmetic device 105 controls the actuator 11 in accordance with various pieces of information obtained by the sensor 12.
[0036] The arithmetic device 105 includes a processor, a memory, etc. Examples of the processor include a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), etc. The memory stores a program for operating the processor, information and data indicating the processing results of the processor, etc.
[0037] The number of processors installed in the arithmetic device 105 may be one or more. The processors installed in the arithmetic device 105 may be only one of the CPU 106 and the GPU 107, or may be both the CPU 106 and the GPU 107. In this example, the arithmetic device 105 has both the CPU 106 and the GPU 107. For example, the arithmetic device 105 is configured by one or more ECUs (Electronic Control Units).
[0038] The computing device 105 includes at least one of a CPU 106 and a GPU 107. In this disclosure, resources available for grid computing calculations and processing are referred to as "computational resources 109." The computational resources 109 include some or all of the CPU 106, GPU 107, and storage 108 installed in the vehicle 10. For example, in FIG. 12 (described later), the master vehicle CM is equipped with three CPUs 106, one GPU 107, and one storage 108 as computational resources. Similarly, vehicle C1 is equipped with one CPU 106, two GPUs 107, and one storage 108, vehicle C2 is equipped with two CPUs 106, one GPU 107, and one storage 108, and vehicle C3 is equipped with one CPU 106, one GPU 107, and two storages 108. Note that some of the CPU 106, GPU 107, and storage 108 mounted on the vehicle 10 may be used as the computational resources 109. That is, for example, the CPU 106, GPU 107, and storage unit 104 may include some that cannot be used as the computational resources 109 or some that have usage restrictions.
[0039] The computational resources 109 also include an ECU 110 and a micro-processing unit (MPU) 111, which will be described later. The ECU 110 is a computational resource that mainly operates to control each part of the vehicle 10. The MPU 111 is a computational resource that is mainly used to perform calculations and processing for grid computing. As will be described in detail later, the MPU 111 is a computational resource that is added to the ECU 110 in order to improve the calculation and processing capabilities of the ECU 110. Therefore, when the vehicle 10 is stopped, the ECU 110 does not perform calculations or processing related to driving, and therefore there is little need to control the internal temperature of the ECU 110. On the other hand, even when the vehicle 10 is stopped, the MPU 111 performs calculations and processing for vehicle grid computing, and therefore it becomes necessary to control the internal temperature of the MPU 111.
[0040] Furthermore, for example, time periods during which use as the computational resource 109 is permitted and time periods during which use as the computational resource 109 is restricted may be separated. That is, a single CPU 106 may be counted as a computational resource 109 during one time period and not be counted as a computational resource 109 during another time period. The same applies to the GPU 107 and the storage 108.
[0041] Furthermore, when the CPU 106 is implemented with a single core or multiple cores, some of the multiple cores may be counted as the computing resources 109, and the remaining cores may not be counted as the computing resources 109. The same applies to the GPU 107. Similarly, some of the memory area of the storage 108 may be counted as the computing resources 109, and the remaining memory area may not be counted as the computing resources 109.
[0042] [User terminal] The user terminal 20 is owned by a user. The user operates the user terminal 20 to use various functions. The user can also carry the user terminal 20. Examples of such user terminals 20 include smartphones, tablets, and notebook personal computers.
[0043] As shown in FIG. 4, the user terminal 20 includes an input unit 201, an output unit 202, a communication unit 203, a storage unit 204, and a control unit 205.
[0044] The input unit 201 inputs information and data. Examples of the input unit 201 include an operation unit that is operated to input information corresponding to the operation, a camera that inputs an image showing information, and a microphone that inputs audio showing information. The information input to the input unit 101 is sent to the calculation device 105.
[0045] The output unit 202 outputs information and data. Examples of the output unit 202 include a display unit that outputs an image representing information, and a speaker that outputs sound representing information.
[0046] The communication unit 203 transmits and receives information and data. The information and data received by the communication unit 303 are sent to the control unit 205.
[0047] The control unit 205 controls each unit of the user terminal 20. The control unit 205 has a processor, a memory, etc. The memory stores a program for operating the processor, information and data indicating the processing results of the processor, etc.
[0048] The storage unit 204 stores information and data. In this example, the storage unit 204 stores terminal information D21, terminal state information D22, and schedule information D23.
[0049] <Device Information> The terminal information D21 is information related to the user terminal 20. For example, the terminal information D21 includes a user terminal ID set in the user terminal 20, user terminal performance information indicating the performance of the user terminal 20, etc. The user terminal ID is an example of user terminal identification information that identifies the user terminal 20.
[0050] <Device status information> The terminal status information D22 is information indicating the status of the user terminal 20. The terminal status information D22 includes user terminal position information indicating the position of the user terminal 20, user terminal communication status information indicating the communication status of the user terminal 20, and the like.
[0051] <Schedule Information> The schedule information D23 includes the behavior history and behavior forecast of the user who owns the user terminal 20. For example, the schedule information D23 indicates the user's location and the length of stay (or planned length of stay) in association with each other. The schedule information D23 can be acquired by a schedule function installed in the user terminal 20. Specifically, when a user uses the schedule function to input his or her own behavior history and behavior plan into the user terminal 20, the schedule information D23 indicating the user's behavior history and behavior plan can be obtained.
[0052] [Client Server] The client terminal 30 is owned by a client. The client requests the calculation of job data. Examples of such clients include companies, research institutes, and educational institutions.
[0053] As shown in FIG. 5, the client terminal 30 includes an input unit 301, an output unit 302, a communication unit 303, a storage unit 304, and a control unit 305.
[0054] The input unit 301 inputs information and data. Examples of the input unit 301 include an operation unit that is operated to input information corresponding to the operation, a camera that inputs an image representing information, and a microphone that inputs audio representing information. The information and data input to the input unit 301 is sent to the control unit 305.
[0055] The output unit 302 outputs information and data. Examples of the output unit 302 include a display unit that outputs an image representing information, and a speaker that outputs sound representing information.
[0056] The communication unit 303 transmits and receives information and data. The information and data received by the communication unit 303 are sent to the control unit 305.
[0057] The control unit 305 controls each unit of the client terminal 30. The control unit 305 has a processor, a memory, etc. The memory stores a program for operating the processor, information and data indicating the processing results of the processor, etc.
[0058] The storage unit 304 stores information and data. In this example, the storage unit 304 stores client information D31 and job data D1.
[0059] <Client Information> The client information D31 is information about the client. The client information D31 includes a client ID set for the client, a client terminal ID set for the client terminal 30 owned by the client, a person in charge's name, address, telephone number, etc. The client ID is an example of client identification information that identifies the client. The client server ID is an example of client identification information that identifies the client terminal 30.
[0060] <Job Data> The job data D1 is data corresponding to a job and is processed to execute the job.
[0061] The job data D1 can be classified by calculation type. Examples of calculation types include CPU-based calculation types and GPU-based calculation types. Job data D1 of the CPU-based calculation type tend to require complex calculations with many conditional branches, such as simulation calculations. Job data D1 of the GPU-based calculation type tend to require a huge amount of simple calculations, such as image processing and machine learning.
[0062] Furthermore, the job data D1 can be classified by processing conditions. Examples of processing conditions include processing conditions that require constant communication and processing conditions that do not require constant communication. Job data D1 with processing conditions that require constant communication requires that the arithmetic device 105 be always available for communication in grid computing processing. Job data D1 with processing conditions that do not require constant communication does not require that the arithmetic device 105 be always available for communication in grid computing processing.
[0063] <Job Information> Note that job information related to a job may be stored in the storage unit 304. The job information includes job name information indicating the name of the job, job content information explaining the content of the job, job data information regarding job data corresponding to the job, job deadline information indicating the deadline for the job, etc. The job data information indicates the calculation type, processing conditions, required calculation capacity, etc. of the job data.
[0064] [Facility terminal] The facility terminal 40 is owned by a facility. A user visits the facility. A user can make a reservation to visit the facility. Examples of such facilities include a retail store, a stadium, a theater, a supermarket, a restaurant, and a lodging facility.
[0065] In this example, the facility is a dealership or a repair shop that is configured to perform vehicle maintenance, and the facility terminal 40 is a terminal installed in the dealership or repair shop. The facility terminal 40 may be replaced by a facility server installed in the facility. Even in this case, the block configuration may be the same as that of the facility terminal 40.
[0066] 6, facility terminal 40 includes an input unit 401, an output unit 402, a communication unit 403, a storage unit 404, and a control unit 405. The configurations of the input unit 401, output unit 402, communication unit 403, storage unit 404, and control unit 405 of facility terminal 40 are the same as the configurations of the input unit 301, output unit 302, communication unit 303, storage unit 304, and control unit 305 of client terminal 30.
[0067] In this example, the storage unit 404 stores facility information D41, facility usage information D42, and computing resource expansion information D43.
[0068] Facility Information The facility information D41 is information related to a facility. The facility information D41 includes a facility ID set for the facility, a facility terminal ID set for the facility terminal 40 owned by the facility, facility location information indicating the location (latitude and longitude) of the facility, the name of a person in charge, an address, a telephone number, etc. The facility terminal ID is an example of facility identification information that identifies the facility terminal 40.
[0069] <Facility Usage Information> The facility usage information D42 includes usage history information, maintenance information, and facility usage reservation information for facilities such as dealerships and repair shops. The maintenance information includes information such as the maintenance schedule information for each vehicle, the type of maintenance, the details of the maintenance to be performed, inquiry information about the maintenance, and information to be communicated during the maintenance. The facility usage information D42 also includes the user's reserved visit date and time and the purpose of the visit to the facility, including the expansion or replacement of computing resources. If the purpose of the visit includes "expansion or replacement of computing resources," the user facility usage information is associated with expansion information D43 for the computing resources 109, which will be described later. The facility usage information D42 may also include information associating the user visiting the facility with the length of stay (or planned length of stay).
[0070] <Information on expansion of computing resources> The expansion information D43 of the computing resource 109 is information in which the vehicle identification information D11 of the vehicle to be expanded and the information of the computing resource 109 to be expanded or replaced are associated with each other.
[0071] The expansion form of the computing resource 109 is not particularly limited. For example, an all-in-one MPU (Micro-processing unit) in which the CPU 106, the GPU 107, and the storage 108 are implemented may be used. ) board, or may be a stand-alone board specialized for the computing resources (one or more of the CPU 106, GPU 107, and storage 108) that are desired to be added.
[0072] Information on the computational resource 109 to be added or replaced is, for example, the name and identification code of the board as described above, and is registered in a format that is easy to understand for users of the facility terminal 40 and workers who add boards (computational resources), etc.
[0073] [Management Server] The management server 50 manages the operation of grid computing. In other words, a management system that manages grid computing utilizing the computing resources 109 installed in each of the multiple vehicles 10 includes the management server 50. The management server 50 is owned by the operator that operates the system 1.
[0074] 7, the management server 50 includes an input unit 501, an output unit 502, a communication unit 503, a storage unit 504, and a control unit 505. The configurations of the input unit 501, output unit 502, and communication unit 503 of the management server 50 are similar to the configurations of the input unit 301, output unit 302, and communication unit 303 of the client terminal 30. The storage unit 504 and the control unit 505 are examples of components of a management system that manages grid computing.
[0075] In this example, the control unit 505 has the function of executing a series of controls and processes related to the operation and management of grid computing. More specifically, it executes controls and processes to realize the flow indicated by the arrows in FIG. 9 and controls and processes in the flow diagrams in FIG. 10 and subsequent figures. Note that, for the sake of convenience, the following description is given assuming the management server 50 as the main body, but the control unit 505 may contribute to the realization of the processes and controls. For example, the control unit 505 is configured to mainly execute the "extraction process," "guidance process," "update process," "computational capacity estimation process," "job estimation process," and "determination process," which will be described later. Each process will be described in detail later with reference to drawings such as flow charts.
[0076] The control unit 505 includes a processor, a memory, etc. Examples of the processor include a CPU (Central Processing Unit) and a GPU (Graphics Processing Unit). The memory stores programs for operating the processor, information and data indicating the processing results of the processor, etc. The number of processors for realizing the control unit 505 may be one or more.
[0077] The storage unit 504 stores information and data. The specific configuration of the storage unit 104 is not particularly limited. For example, it may be realized by a memory built into a chip, a hard disk drive (HDD), a solid state drive (SSD), or an optical disc such as a DVD or BD.
[0078] In this example, the memory unit 504 stores various data such as a user table D51, a computational resource table D52, a client table D53, a job table D54, a grid table D55, a matching table D56, job data D1, calculation result data D2, and job tendency information D9.
[0079] <User table> The user table D51 is a table for managing users. For each user, the user table D51 registers a user ID set for the user, a vehicle ID (e.g., VIN) set for the vehicle 10 owned by the user (hereinafter also referred to as the owned vehicle), a computing resource ID set for the computing resource 109 owned by the user, a user terminal ID set for the user terminal 20 owned by the user, and the like. Furthermore, the user table D51 may register usage history information of dealers and repair shops related to the user, maintenance information D4 including maintenance due date information D3 such as the next maintenance due date or regular maintenance due date for the owned vehicle, grade information of the owned vehicle, information on whether or not computing resources can be added to the owned vehicle, and the like.
[0080] <Operation Resource Table> The computational resource table D52 is a table for managing the computational resources 109. In the computational resource table D52, for each computational resource 109, a computational resource ID set for that computational resource 109, a user ID set for the user who owns that computational resource 109, a vehicle ID set for the vehicle 10 on which that computational resource 109 is installed, etc. are registered.
[0081] Furthermore, the computational resource table D52 registers, for each computational resource 109, the type of computational resource 109, the specifications (computing power, storage capacity, etc.) of the computational resource 109, the operation status (operation history and operation schedule) of the computational resource 109, etc. In other words, the computational resource table D52 includes operation status information D5 indicating the operation status of each of the multiple computational resources 109, and computational resource information D6 indicating the performance of each of the multiple computational resources 109.
[0082] When the computing resources 109 are CPUs 106 or GPUs 107, the computing resource information D6 includes computing capacity information D7 indicating the computing capacity of each of the computing resources 109. The computing capacity here includes changes in the computing capacity over time. In other words, the computing capacity information D7 includes the computing capacity that can be exerted in a predetermined period of time, taking into account changes in the computing capacity over time.
[0083] Furthermore, when the computing resource 109 is storage 108, storage performance information D8 indicating the performance of the storage 108, such as storage capacity, data write / read speed, error rate, etc., is included. The storage performance here includes changes in storage performance over time. In other words, the storage performance information D8 includes the storage performance that can be exhibited in a predetermined period of time, taking into account changes in performance over time.
[0084] <Client Table> The client table D53 is a table for managing clients. For each client, the client table D53 registers a client ID set for that client, a client terminal ID set for the client terminal 30 owned by the client, the name, address, telephone number, etc. of the person in charge of that client.
[0085] <Job Table> The job table D54 is a table for managing jobs requested by clients. For each job, the job table D54 registers the reception number set for that job, the client ID set for the client that requested the job, the name and content of the job, etc. The job table D54 also registers for each job the calculation type and processing conditions of the job data corresponding to that job, the required calculation capacity that is the calculation capacity required to calculate the job data, the delivery date set for that job, etc.
[0086] Grid Table The grid table D55 is a table for managing grids G and the computing capabilities of each grid G in grid computing processing.
[0087] The grid table D55 registers, for each grid G, a grid ID for identifying that grid G, vehicle identification information D11 of the vehicles that make up the grid G, and the computational capacity of the computational resources 109 that make up that grid G. The computational capacity here includes not only the basic performance (computational specifications) that is the premise of the calculation, but also the predicted results of changes in computational capacity over time.
[0088] In other words, the grid table D55 stores executable job information D59, which is a rough estimate of jobs that are expected to be processable on the grid G in a given period in grid computing processing.
[0089] Note that other vehicle information D10 (for example, resource information D14) may be registered in the grid table D55 in association with the vehicle identification information D11.
[0090] Matching Table The matching table D56 is a table for managing the results of the matching process described below. For each job, the matching table D56 registers the reception number set for that job, the job data ID set in the job data D1 corresponding to that job, the grid ID of the grid G assigned to that job data by the matching process, and the like.
[0091] <Job Data> The job data D1 stored in the storage unit 504 is job data D1 accepted by a job acceptance process, which will be described later.
[0092] <Calculation result data> The calculation result data D2 stored in the storage unit 504 is data of the calculation result of a job executed by grid computing processing, which will be described later.
[0093] [Grid Computing System Operation] Fig. 9 is a schematic diagram showing information exchanged between the facility terminal, the vehicle, the client terminal, and the management server, and Fig. 10 is a flow diagram showing an example of the operation of the management system.
[0094] <Step S1> In step S1, the management server 50 estimates the computing power of each vehicle 10.
[0095] First, the management server 50 requests each vehicle 10 to transmit the latest vehicle information D10. Each vehicle 10 that has received a request from the management server 50 to transmit the vehicle information D10 transmits the participant information to the management server 50. The vehicle information D10 transmitted at this time may be a portion of the vehicle information D10, or all of the vehicle information D10. The transmitted vehicle information D10 includes vehicle identification information D11 and resource information D14. The management server 50 registers the vehicle information D10 received from each vehicle 10 in the computational resource table D52. Note that for vehicles 10 whose vehicle information D10 is already registered in the management server 50, the vehicle 10 may transmit necessary information from among the difference information from the registered registration information to the management server 50.
[0096] Next, the management server 50 executes a computational capacity estimation process to estimate computational resource information D6, for example, by referring to the vehicle information D10 registered in the computational resource table D52. The computational resource information D6 includes computational capacity information D7 and storage performance information D8 of each vehicle.
[0097] In the computational capacity estimation process, the information referenced by the management server 50 is, for example, the vehicle status of each vehicle 10, the amount of computation available on the computational resources 109, the type of computation that can be handled by the computational resources 109, or the available computation time. With regard to the available computation time, for example, a specific schedule may be received from the vehicle 10, or the past usage trends of the vehicle 10 and the computation device 105 of the vehicle 10 stored in the storage unit 504 may be analyzed to predict a schedule of time periods when the computation device 105 can be used as a computational resource. Note that when information equivalent to the computational resource information D6 is received from each vehicle 10, that information may be used.
[0098] The management server 50 registers the acquired or predicted computing resource information D6 in the computing resource table D52.
[0099] The management server 50 associates the estimated computing resource information D6 with the vehicle identification information D11 of each vehicle 10 and registers the information in the computing resource table D52.
[0100] <Step S2> In step S2, the management server 50 executes a grid organizing process for organizing a grid G for executing grid computing processes.
[0101] The grid organization process will be described below with reference to FIG.
[0102] -Step S21- First, the management server 50 configures each grid G. The grid G is configured based on the computational resources 109 (also simply referred to as "computational resources 109") available for grid computing processing among the computational devices 105 and storages 108 mounted on each vehicle 10.
[0103] The method for constructing the grid G is not particularly limited, but for example, the grid G may be constructed from vehicles that are likely to be parked in a specific area at a specific time. In this case, for example, the grid G may be constructed based on the location of the user's home, or if the user commutes by car, the grid G may be constructed from the user's workplace or sales office. Also, for example, the grid G may be constructed from vehicles that have a complementary relationship in terms of computational resources 109.
[0104] Furthermore, for example, the management server 50 may configure the grid G according to the requested job, the job that is likely to be requested, the difficulty of the job to be handled, etc., such as configuring the grid G so that jobs specialized for use with the GPU 107 can be executed.
[0105] Alternatively, the management server 50 may create multiple grid candidates in advance and finally determine the grid G depending on the job. In this case, the grid G is organized or reorganized between steps S3 and S6.
[0106] Furthermore, the management server 50 may dissolve the grid G once after the grid computing process described below is completed, and then reassemble a new grid G. In other words, the grid G may be reconstructed during the loop process of steps S3 to S8 described below. For the sake of convenience, in the following explanation, it is assumed that the grid G organized in step S2 is maintained, and the process from step S3 onwards proceeds.
[0107] FIG. 11 shows an example in which grids GA, GB, GC, . . . , GX are configured by grouping multiple vehicles.
[0108] The management server 50 may configure the grid G according to the tendency or type of jobs requested from the client terminal 30, which will be described later. Also, the number and combination of vehicles 10 that configure the grid G may be changed as appropriate according to the requested jobs.
[0109] 12, the management server 50 may determine a master vehicle CM from among the vehicles 10 that make up a grid G to manage jobs assigned to that grid G. The management server 50 may then basically exchange data with the master vehicle CM. In this case, the master vehicle CM has a management function for managing other vehicles 10 (e.g., vehicles C1 to C3 in FIG. 12) that belong to the same grid, and a function as a relay device between the other vehicles (e.g., vehicles C1 to C3 in FIG. 12) and the management server 50. The method for selecting the master vehicle CM is not particularly limited, but may be based on, for example, the participation rate in the grid computing process, the performance of the onboard computing resources 109, etc.
[0110] -Step S22- Next, the management server 50 executes a process of estimating the computational capacity and storage performance of each grid G.
[0111] Specifically, the management server 50 refers to the computational resource table D52 of each vehicle 10 that constitutes the grid G, and estimates the computational capacity and storage performance of the grid G based on the computational resource information D6 of each vehicle 10.
[0112] -Step S23- When the management server 50 organizes the grid G in step S21, it associates a grid ID for identifying the grid G with the vehicle information D10 of each vehicle 10 and registers them in the grid table D55. At that time, the management server 50 also associates and registers the computational capacity and storage performance of the grid G estimated in step S22.
[0113] <Step S3> In step S3, the management server 50 executes a job reception process. The job reception process will be described below with reference to FIG.
[0114] In the job reception process, the management server 50 performs the following process every time job data D1 (job request) is received from the client terminal 30.
[0115] -Step S31- First, the management server 50 accepts a job request from a client. Specifically, in response to an operation by a person in charge of the client, the client terminal 30 transmits a job request application to the management server 50. In response to the application, the management server 50 performs the following process.
[0116] The management server 50 requests the client terminal 30 to transmit information required to accept the job (specifically, client information D31 related to the client requesting the job and job information related to the job). In this example, the management server 50 transmits image data of the job acceptance screen to the client terminal 30. The client terminal 30 reproduces the image of the job acceptance screen from the image data and outputs (displays) the image on the output unit 302 (display unit).
[0117] 8 shows an example of a registration form R10 for a client to request a job from the management server 50. This registration form R10 is displayed, for example, in a format that can be input on the display unit of a computer owned by the client. The input information in the registration form R10 includes information required when the management server 50 matches a grid G (also simply referred to as "grid G") made up of multiple vehicles with a job.
[0118] The registration form R10 includes, for example, an overview of the company (corresponding to the client), such as an input field for the company name R101, an input field for the name of the person in charge R102, an input field for the company address R103, and an input field for the phone number R104. For example, the registration form R10 includes, for example, an input field for the job name R111, an input field for the job content R112, an input field for the job's computation type R113, an input field for the job's execution conditions R114, an input field for the job's required computational capacity R115, and a due date for the calculation results R116. For example, the job content includes the purpose of the job and the importance of the job to the client. For example, the job's computation type includes information such as CPU-based or GPU-based, similar to the "computation type" in the computational capacity information described above. For example, the job execution conditions include whether or not continuous communication with the client terminal 30 is required and the recommended communication capacity. As the required computing power for a job, for example, the computing power required to execute the job is input in units of FLOPS, similar to the "computing power" in the computing power information described above. As the due date of the calculation results, the year, month, date, and time are input. Note that information other than the above may also be input into the registration form R10. For example, the registration form R10 may have a field for inputting the data format of the calculation results desired by the client. Furthermore, the registration form R10 may have a field for attaching the program required to execute the job.
[0119] The person in charge of the client operates the input unit 301 (operation unit) of the client terminal 30 to input the necessary information into the job reception screen. This inputs client information about the client requesting the job and job information about the job. Then, after completing input of this information, the person in charge of the client operates the input unit 301 (operation unit) of the client terminal 30 to press the registration button B100 on the job reception screen. When the registration button B100 is pressed, the client terminal 30 transmits the information input into the job reception screen (client information and job information) to the management server 50. The management server 50 receives the client information and job information.
[0120] Next, the management server 50 requests the client terminal 30 to transmit job data D1 corresponding to the requested job. In response to the request, the client terminal 30 transmits the job data D1 corresponding to the requested job to the management server 50. The management server 50 receives the job data D1.
[0121] -Step S32- Next, the management server 50 analyzes the job data D1 received in step S31. Specifically, the management server 50 analyzes the calculation type, processing conditions, required calculation capacity, etc. of the job data D1. The management server 50 estimates the tendency of jobs requested by client terminals based on the analysis results of the calculation type, processing conditions, required calculation capacity, etc. of the job data D1. The estimated job tendency is stored in the storage unit 504 as job tendency information D9.
[0122] If necessary, the management server 50 may modify the job information received in step S31 based on the results of analyzing the job data D1.
[0123] -Step S33- Next, the management server 50 associates the client information and job information received in step S31, registers them in the job table D54, and updates the job table D54. Furthermore, the management server 50 stores the job data D1 received in step S31 in the storage unit 504 in a format that can be referenced based on the corresponding client information and job information. Once the job table D54 has been updated and the job data D1 has been stored, the job acceptance process is complete.
[0124] It is sufficient that the job data D1 be available before the grid computing process, so for example, the job data D1 may be received after the matching process described below is completed. This makes it possible to avoid unnecessary data transmission and reception when matching is not successful.
[0125] <Step S4> In step S4, the management server 50 executes a matching process, which will be described below with reference to FIG.
[0126] -Step S41- First, the management server 50 compares the estimated computing power with the computing power required for the accepted job. The management server 50 not only compares simple processing power, but also compares the time period in which the service can be provided with the deadline for the job, and the communication status of the location in which the service can be provided with whether continuous communication is required for the job.
[0127] -Step S42- Next, the management server 50 determines whether or not any of the currently registered jobs can be executed with the estimated computing power. If an executable job exists (YES in S42), the flow proceeds to step S43. On the other hand, if no job can be executed with the estimated computing power (NO in S42), the flow proceeds to step S44.
[0128] -Step S43- The management server 50 determines, from among the executable jobs, the job to be actually calculated on that grid G. If there is one job, that job is assigned to the target grid G. On the other hand, if there are multiple executable jobs, the job to be assigned to the target grid G is determined based on a predetermined priority. The method of assigning priorities here can be set arbitrarily and is not particularly limited. For example, priorities can be set based on deadlines and execution schedules, such as giving a higher priority to jobs with an approaching deadline. Furthermore, priorities can be set based on the uniqueness of the job or the difficulty of the job, such as whether the job can be executed on another grid G.
[0129] -Step S44- In step S42, the management server 50 analyzes the reason why there are no jobs that can be executed with the estimated computational capacity of the target grid G. Specifically, the management server 50 refers to the job trend information D9 in the storage unit 504, and extracts the computational resources 109 of the target grid G that are insufficient based on the trends of jobs requested by the client terminals 30.
[0130] In other words, the management server 50 monitors the supply-demand balance between jobs (demand) requested by clients and the computing capacity (supply) of the target grid G. Then, based on the monitoring results, future demand trends are predicted, and based on the prediction results, computational resources 109 that are insufficient in the target grid G or computational resources 109 that are insufficient or likely to be insufficient when organizing the grid G in step S2 are extracted. After the computational resources 109 are extracted, The flow proceeds to step S45.
[0131] In addition, in the target vehicle extraction process of step S45 described later, if information on the computational resources 109 that is insufficient or likely to be insufficient is not used, step S44 may be omitted. In that case, after a NO determination is made in step S42, the process proceeds to step S45.
[0132] -Step S45- The management server 50 refers to the resource information D14 and operation history information D15 stored in the memory unit 504 and performs an extraction process to extract target vehicles 10 (hereinafter simply referred to as target vehicles 10) that are targets for increasing the computational resources 109 from among the vehicles 10 that constitute the target grid G.
[0133] The method for extracting the target vehicles 10 is not particularly limited, but for example, the computational resources to be augmented are identified based on the job trends registered in the job trend information D9 and the estimated computational capacity of the target grid G, and vehicles with the computational resources that can be augmented are extracted as the target vehicles 10. This makes it possible to augment the computational resources 109 in accordance with the trends of the requested job, thereby achieving the effect of further increasing the job matching rate.
[0134] Furthermore, for example, a vehicle 10 that can be augmented with the computing resources 109 that are determined to be insufficient in step S44 may be set as the target vehicle 10. This allows the computing resources 109 that are actually insufficient to be targeted for augmentation, that is, the computing resources 109 can be augmented in accordance with the most recent actual demand.
[0135] Furthermore, for example, the management server 50 may refer to the maintenance due date information D3 in the user table D51 and, in the extraction process described above, set a high priority for vehicles 10 in the target grid G whose maintenance due date is approaching. By allowing the user to set an expansion to coincide with the maintenance due date, the user can make an expansion to coincide with the scheduled maintenance. This can encourage users to make an expansion.
[0136] Also, for example, when a master vehicle CM is designated, the master vehicle CM or a vehicle 10 that is scheduled to become the master vehicle may be set as the target vehicle 10. As described above, the master vehicle CM performs grid computing processing on the own vehicle, manages other vehicles 10 that belong to the same target grid G, and functions as a relay device between the other vehicles 10 and the management server 50. Therefore, increasing the computational resources 109 of the master vehicle CM not only improves its capabilities as a terminal that performs grid computing processing, but also contributes to improving the performance and stability of the grid G.
[0137] After the extraction process in step S45, the flow proceeds to step S46.
[0138] -Step S46- The management server 50 executes a guidance process for transmitting a guidance for increasing the computing resources 109 to the owner of the target vehicle 10 .
[0139] Specifically, the management server 50 presents to the user terminal 20 a guide to expanding the computing resources 109 and a reward for expanding the computing resources 109 .
[0140] The expansion guide for the computing resource 109 includes, for example, reservation guide information for dealerships and repair shops (such as sending a reservation form), and entry guide information (entry date and time, facility name, facility address, etc.).
[0141] In conjunction with the notification regarding the expansion of the computing resources 109, the management server 50 may also inform the owner of the target vehicle 10 of additional functions and services that will become available when using the vehicle 10 by increasing the computing resources 109.
[0142] For example, upgrading the computing device 105 (CPU 106, GPU 107, and / or storage 108) directly leads to improved vehicle performance when grid computing processing is not being performed, i.e., when the vehicle is being driven daily. Therefore, by making it possible to inform vehicle owners of additional functions and services that can be obtained by upgrading computing resources, it is possible to increase the user's motivation to upgrade.
[0143] -Step S47- In step S47, it is determined whether or not the addition information has been received from facility terminal 40 to management server 50. The following describes the flow up to when the addition information is received from facility terminal 40 to management server 50.
[0144] After the guidance process in step S46, the user terminal 20 transmits information indicating that the user intends to add equipment to the management server 50. In response, the management server 50 transmits to the facility terminal 40 the warehousing reservation information for the target vehicle 10 and the addition information D43, which is information on the computing resources 109 (e.g., MPU board) to be added to the target vehicle 10.
[0145] When the facility terminal 40 receives the expansion information D43, it registers it in the storage unit 404. Then, when the user actually visits the facility, the facility staff carries out the expansion work based on the warehousing reservation information and the expansion information D43. For example, as shown in FIG. 9, at the facility, an old MPU-A1 may be replaced with a new MPU-A2, or a new MPU-A3 may be added to an available slot, etc.
[0146] When the expansion work of the computing resource 109 is completed, the information is registered in the facility terminal 40 and transmitted to the management server 50.
[0147] When the management server 50 receives the expansion information, the determination in step S47 is YES, and the flow proceeds to the next step S48.
[0148] On the other hand, if the user has not yet received the inventory or if the request for expansion has been refused, the result of step S47 is NO. In this case, for example, the process returns to step S41 to match the grid G with a new job, or the process returns to step S2 to rearrange the grid G.
[0149] [Grid Computing Processing] Next, the grid computing process in step S5 will be described with reference to Fig. 16. In the grid computing process, the job data D1 is processed by an available computing device 105 among the multiple computing devices 105. After completing the matching process in step S4, the management server 50 performs the following process.
[0150] <Step S51> First, the management server 50 refers to the matching table D56 and distributes the job data D1 to be subjected to the grid computing process to the computational resources 109 allocated to the job data D1 in the matching process. Specifically, the management server 50 transmits a portion of the job data D1 to each of the computational resources 109 allocated to the job data D1. As a result, the job data D1 is processed in parallel by the computational resources 109 (CPU 106, GPU 107) allocated to the job data D1.
[0151] <Step S52> Next, when each of the computational resources 109 (CPU 106, GPU 107) completes the calculation of the data (part of the job data D1) transmitted to that computational resource 109, it transmits the partial calculation result data obtained by the calculation to the management server 50. The management server 50 receives the partial calculation result data transmitted from the computational resources 109 and stores the partial calculation result data in the storage unit 504.
[0152] <Step S53> In step S51, the management server 50 determines whether all of the arithmetic devices 105 to which the job data D1 has been distributed have completed calculations. If all of the arithmetic devices 105 have completed calculations, the process of step S54 is performed; if not, the process of step S52 is performed.
[0153] <Step S54> When all of the arithmetic devices 105 have completed the calculations, the management server 50 combines the partial calculation result data stored in the storage unit 504 to generate calculation result data D2 (calculation result data D2 indicating the results of the calculation of the job data D1) corresponding to the job data D1 that is the target of the grid computing process. Then, the management server 50 transmits the calculation result data D2 corresponding to the job data D1 that is the target of the grid computing process to the client terminal 30 of the client that requested the calculation of the job data D1.
[0154] <Step S55> Next, a reward is granted by the operator of the system 1 to the user who provided the computing power of the computing device 105 for the grid computing process. Examples of rewards granted to the user include points that can be used in the system 1, virtual currency, and product discount benefits. For example, the management server 50 performs a process for granting a reward to the user who provided the computing power of the computing device 105 for the grid computing process. Examples of the process for granting a reward include a process for registering in the user table D51 a "user ID" set for the user and "points" (or virtual currency) that can be used in the system 1, and a process for transmitting information indicating a product discount benefit to the user terminal 20 owned by the user.
[0155] Furthermore, a reward may be given by the client to a user who has provided the computing power of the computing device 105 for grid computing processing. For example, the client terminal 30 may execute a process for giving a reward to a user who has provided the computing power of the computing device 105 for grid computing processing.
[0156] Next, a vehicle control system according to the embodiment will be described. As described above, the vehicle control system according to the embodiment is configured as a part of the grid computing system 1.
[0157] FIG. 17 is a schematic perspective view showing the front part of the vehicle according to the embodiment, and FIG. 18 is a block diagram showing the communication paths of the vehicle control system.
[0158] As shown in FIG. 17, vehicle 10 is provided with a cooling pipe CP for cooling various parts of the vehicle. Coolant CL circulates inside this cooling pipe CP by the drive of a pump 602. The cooling pipe CP connects the outlet and inlet of a radiator 603. This cooling pipe CP has a first pipe section CP1 extending from the outlet of the radiator 603, a second pipe section CP2 extending from the inlet of the radiator 603, and a third pipe section CP3 and a fourth pipe section CP4 connected in parallel between the first pipe section CP1 and the second pipe section CP2. A distribution valve (not shown) is provided in the cooling pipe CP to distribute the coolant CL flowing out from the radiator 603 to the third pipe section CP3 and the fourth pipe section CP4.
[0159] A portion of the first piping section CP1 passes through the inside of the inverter 604. A portion of the first piping section CP1 downstream of the portion passing through the inverter 604 (opposite the radiator 603 side) passes through the inside of the charger 605. A pump 602 is interposed in the first piping section CP1 downstream of the portion passing through the charger 605 (opposite the radiator 603 side). This pump 602 sends the coolant CL in the first piping section CP1 to the side opposite the radiator 603. An end of the first piping section CP1 opposite the radiator 603 is connected to one end of the third piping section CP3 and one end of the fourth piping section CP4 via a distribution valve.
[0160] A portion of the second piping section CP2 passes through the inside of the motor 606. A pump 602 is provided upstream (opposite the radiator 603 side) of the portion of the second piping section CP2 where the motor 606 passes. The pump 602 sends the coolant CL in the second piping section CP2 to the radiator 603 side.
[0161] A midway portion of the third piping section CP3 passes through the inside of the battery 607.
[0162] A middle portion of the fourth piping section CP4 is embedded in a housing that houses the ECU 110.
[0163] The end of the second pipe section CP2 on the side opposite to the radiator 603, the other end of the third pipe section CP3, and the other end of the fourth pipe section CP4 are connected to one another.
[0164] Therefore, when the pump 602 is driven, the coolant CL, which has been cooled by dissipating heat in the radiator 603, passes through the inside of the inverter 604 and the inside of the charger 605 in this order, and is then split into two by the distribution valve. Part of the coolant CL passes through the inside of the battery 607, and the remaining coolant CL passes through the ECU 110. These coolant CL then join together, pass through the inside of the motor 606, and return to the radiator 603.
[0165] 17 illustrates a case where an MPU 111 is added to an ECU 110. When the MPU 111 is added to an ECU 110 as illustrated in FIG. 17, the housing that houses the ECU 110 and the housing that houses the MPU 111 are disposed adjacent to each other. In this case, the MPU 111 is cooled by a fourth piping section CP4 provided inside the ECU 110 via the housing that houses the ECU 110.
[0166] A refrigerant pipe RP is also arranged in the vehicle 10. The refrigerant pipe RP includes a first refrigerant pipe RP1, and a second refrigerant pipe RP2 and a third refrigerant pipe RP3 connected in parallel between both ends of the first refrigerant pipe RP1.
[0167] An air conditioner condenser 611 is disposed in the first refrigerant pipe RP1. An expansion valve 612 is disposed downstream of the air conditioner condenser 611.
[0168] An evaporator 614 of an HVAC (Heating, Ventilation and Air Conditioning) 613 is provided in the second refrigerant pipe RP2.
[0169] A chiller 615 is interposed in the third refrigerant pipe RP3.
[0170] An upstream end of the first refrigerant pipe RP1, a downstream end of the second refrigerant pipe RP2, and a downstream end of the third refrigerant pipe RP3 are connected to a compressor 616.
[0171] In the refrigerant piping RP configured as described above, freon F circulates as a refrigerant. More specifically, freon F compressed by compressor 616 passes through air conditioner condenser 611 in a semi-liquid state and is vaporized by being sprayed from expansion valve 612. The vaporized freon F cools evaporator 614 and returns to compressor 616. Meanwhile, a portion of the freon F sprayed from expansion valve 612 is also sent to chiller 615. Chiller 615 lowers the temperature of the freon F. After passing through chiller 615, freon F returns to compressor 616.
[0172] Here, when the evaporator 614 is cooled and an unillustrated fan rotates, cooled air flows from the HVAC 613 into the MPU 111 and the ECU 110. As a result, the MPU 111 and the ECU 110 are cooled.
[0173] 18, the vehicle 10 is equipped with a camera 601 that captures video of the outside of the vehicle. For example, the camera 601 is provided at the front, rear, left and right sides of the vehicle 10, and sequentially captures video of the periphery of the vehicle 10. The camera 601 transmits image data of the periphery of the vehicle to the MPU 111.
[0174] The MPU 111 transmits the image data received from the camera 601 to the software update server 60 via the communication network 5. At this time, the MPU 111 compresses the received image data before transmitting it to the software update server 60. This makes it possible to reduce the volume of image data transmitted from the MPU 111 to the software update server 60 via the communication network 5.
[0175] The software update server 60 stores image data received from the MPU 111. Based on the stored image data, the software update server 60 generates update programs for various software executed by the ECU 110. The ECU 110 is installed with, for example, software for operating an advanced driver-assistance system (ADAS) including an automatic braking device and a sudden acceleration prevention device, an autonomous driving system, a map application used in a navigation system, and software for controlling the operation of various components such as the engine and battery. The software update server 60 generates update programs for various software installed in the ECU 110 from the stored image data using technology such as AI (artificial intelligence). The software update programs may be generated by a software developer or the like. The software update server 60 then transmits the generated update programs to the ECU 110 via the communication network 5.
[0176] The ECU 110 updates the software installed therein in accordance with the received update program. In consideration of safety, the ECU 110 does not update the software while the vehicle is moving, but updates the software while the vehicle is stopped.
[0177] In this way, the MPU 111 communicates with the ECU 110 via the externally provided communication network 5 (software update server 60).
[0178] The ECU 110 communicates directly with the MPU 111 without going through the communication network 5 (see FIG. 18). For example, the ECU 110 transmits signals to the MPU 111 to control the operation of the MPU 111. Specifically, the ECU 110 transmits signals to the MPU 111 to instruct it to start or stop. The MPU 111 starts or stops in accordance with these signals.
[0179] [Temperature Control System Operation] FIG. 19 is a flowchart illustrating the operation of the vehicle control system.
[0180] -Step S101- The camera 601 captures an image of the outside of the vehicle 10 .
[0181] -Step S102- The camera 601 transmits captured image data to the MPU 111 .
[0182] -Step S103- When the MPU 111 receives image data from the camera 601, it compresses the received image data.
[0183] -Step S104- The MPU 111 transmits the compressed image data to the software update server 60 via an external communication network 5. This reduces the volume of image data transmitted from the MPU 111 to the software update server 60 via the communication network 5.
[0184] -Step S105- The software update server 60 stores the image data received from the MPU 111. Then, the software update server 60 generates an update program for the software installed in the ECU 110 based on the stored image data using AI technology or the like.
[0185] -Step S106- The software update server 60 transmits the update program to the MPU 111 via the communication network 5 .
[0186] -Step S107- The ECU 110 updates the software (for example, an advanced driver assistance system, an automatic driving system, a map application, etc.) installed in itself in accordance with the update program received from the software update server 60.
[0187] [Effects of the embodiment] As described above, according to this embodiment, the MPU 111 (second arithmetic unit) added to the ECU 110 (first arithmetic unit) does not communicate directly with the ECU 110, but communicates with the ECU 110 via the external communication network 5. This prevents direct data transmission from the MPU 111 to the ECU 110, thereby preventing data tampering in the ECU 110 due to data rewriting in the MPU 111.
[0188] Furthermore, the ECU 110 communicates directly with the MPU 111 without going through the communication network 5. This allows the ECU 110 to directly control the operation of the MPU 111.
[0189] The vehicle control system according to this embodiment also includes a software update server 60 that generates an update program for the software installed in the ECU 110. The MPU 111 transmits image data to the software update server 60 via the communication network 5. As a result, an update program for the ECU 110 is generated based on the image data transmitted by the MPU 111.
[0190] Furthermore, the software update server 60 transmits the generated update program to the ECU 110. This allows the ECU 110 to update various pieces of software installed therein.
[0191] (Other embodiments) In the above description, an example has been given in which the storage unit 504 and the control unit 505 of the management system are integrated into a single management server 50, but this is not limiting. For example, the storage unit 504 and the control unit 505 may be distributed among multiple management servers 50 (not shown) that communicate with each other via the communication network 5.
[0192] In the above description, the storage unit 504 of the management system may be configured with a single storage device or multiple storage devices. The multiple storage devices may be consolidated into a single management server 50, or may be distributed among multiple management servers 50 (not shown) that communicate with each other via the communication network 5.
[0193] In the above description, the control unit 505 of the management system may be configured by a single control unit or may be configured by multiple control units. The multiple control units may be aggregated into a single management server 50, or may be distributed among multiple management servers 50 (not shown) that communicate with each other via the communication network 5.
[0194] In the above description, the arithmetic device 105 may be configured with a single arithmetic unit or may be configured with multiple arithmetic units. The multiple arithmetic units may be aggregated in a single management server 50, or may be distributed among multiple management servers 50 (not shown) that communicate with each other via the communication network 5.
[0195] In the above description, the case where the arithmetic device 105 is mounted on the vehicle 10 (specifically, a four-wheeled motor vehicle) has been described as an example, but the present invention is not limited to this. For example, the arithmetic device 105 may be mounted on a moving body other than the vehicle 10. Examples of such moving bodies include transportation machinery and personal digital assistants. Examples of transportation machinery include motorcycles, railroad vehicles, ships, aircraft, drones, etc. A vehicle is one example of transportation machinery. Examples of personal digital assistants include notebook personal computers, tablets, smartphones, etc.
[0196] In the above description, the MPU 111 directly receives image data transmitted from the camera 601, but the image data may be received via the communication network 5. The MPU 111 may also receive image data provided in another vehicle via the communication network 5 and perform various types of image processing on the received image data.
[0197] Furthermore, the above embodiments may be implemented in appropriate combinations. The above embodiments are essentially preferred examples and are not intended to limit the scope of the technology disclosed herein, its applications, or its uses. In other words, the above embodiments are merely examples and should not be interpreted as limiting the scope of the present disclosure. The scope of the present disclosure is defined by the claims, and all modifications and variations that fall within the equivalent scope of the claims are within the scope of the present disclosure. [Industrial Applicability]
[0198] As described above, the technology disclosed herein is useful as a technology for managing grid computing. [Explanation of symbols]
[0199] 10 Vehicles (moving objects) 5. Communication Network 109 Computing resources 110 ECU (1st computing unit) 111 MPU (secondary processing unit) 601 Camera
Claims
1. A communication control system for a mobile object including a computing device used as a computing resource in grid computing, The computing device a first arithmetic unit that controls the operation of the moving body; a second arithmetic unit that is added to the first arithmetic unit and does not directly communicate with the first arithmetic unit; the second computing device transmits data to a server via an external communication network; The first computing device receives a program generated based on the data from the server via the communication network.
2. The control system for a moving body according to claim 1 , wherein the first arithmetic unit communicates directly with the second arithmetic unit without using the communication network.
3. The server is a software update server, The control system for a moving body according to claim 1 or 2, wherein the program is an update program for the first arithmetic unit.
Citation Information
Patent Citations
Mobile electronic device
JP2006240610A
Management server and program
JP2020160661A
Method and apparatus for distributed computation using vehicle computers
US20020188384A1