Management system and management method, and vehicle computing device

The management system stabilizes job computation in grid computing by estimating user arrival and job completion times, allowing vehicles to continue processing or transfer jobs, addressing instability from unexpected vehicle use.

JP7760856B2Active Publication Date: 2025-10-28MAZDA MOTOR CORP
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
JP2021129032
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2021-08-05
Publication Date
2025-10-28
Estimated Expiration
2041-08-05

AI Technical Summary

Technical Problem

Existing grid computing systems using vehicle computing devices face instability due to unpredictable periods of vehicle non-use, leading to potential job abortion when users unexpectedly utilize their vehicles, especially for short trips.

Method used

A management system that estimates user arrival time and job completion time to determine vehicle stability, requesting users to continue job processing by restricting non-essential functions if the job cannot be completed before vehicle use, or transferring the job to another vehicle if the delay is too long.

Benefits of technology

Stabilizes job computation processing by ensuring continued execution or transfer to another vehicle, maintaining grid computing efficiency and user compliance through timely communication and incentives.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007760856000001
    Figure 0007760856000001
  • Figure 0007760856000002
    Figure 0007760856000002
  • Figure 0007760856000003
    Figure 0007760856000003
Patent Text Reader

Abstract

To stabilize job arithmetic processing in grid computing using arithmetic units of vehicles.SOLUTION: A control part estimates that a specific vehicle is in a stable mode when a job completion time is equal to or less than a user arrival time in comparison between the user arrival time of the specific vehicle and the job completion time, estimates that the specific vehicle is in an unstable mode when the job completion time is longer than the user arrival time, and when estimating that the specific vehicle is in the unstable mode, requests the user of the specific vehicle to partially limit functions of the specific vehicle and continue job arithmetic, after the user operates the specific vehicle.SELECTED DRAWING: Figure 12
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The technology disclosed herein belongs to the technical field of management systems and management methods, and vehicle computing devices. [Background technology]

[0002] In recent years, vehicles have been equipped with computing devices with relatively high computing power for electronic control. However, such computing devices have been underutilized when the vehicle is not in use, such as when the vehicle is parked. In response to this situation, grid computing using computing devices installed in multiple vehicles has been considered as a way to make effective use of the computing devices installed in the vehicles.

[0003] For example, Patent Document 1 discloses a grid computing management server that uses a communication device mounted on a vehicle. This management server includes a signal receiving unit that receives a signal indicating that the vehicle is able to participate in grid computing from the communication device, a status determining unit that determines whether the processing capacity of the processing device is insufficient, and a response transmitting unit that transmits an instruction to the communication device to participate in grid computing when the processing capacity of the processing device is insufficient.

[0004] Patent document 2 also discloses a computational resource provision method that generates vehicle group resource information, which is information regarding the time when a vehicle group formed by multiple vehicles can communicate with a user terminal and the computational resources that can be provided within that time, and accepts a request from the user terminal to execute a task that matches the vehicle group resource information.

[0005] In Patent Document 2, while a vehicle is traveling, the distance to the last vehicle in a group of vehicles that can directly communicate with the user terminal is calculated based on the location information of the user terminal, and whether the group of vehicles can complete the execution of a task within the period in which they can communicate with the user terminal is calculated based on this distance.If the time required to complete the execution of the task is less than the time in which the user terminal and the group of vehicles can communicate, the execution of the task is interrupted and the intermediate results are sent to the user terminal. [Prior art documents] [Patent documents]

[0006] [Patent Document 1] Japanese Patent Application Publication No. 2020-160661 [Patent Document 2] Japanese Patent Application Publication No. 2017-111727 Summary of the Invention [Problem to be solved by the invention]

[0007] When grid computing is performed using a computing device mounted on a vehicle, it is desirable to perform job computation processing during periods when the vehicle is not in use, particularly while the vehicle is stopped, in order to improve the stability of communications between the vehicle and a server and between vehicles. In Patent Document 1, periods when the vehicle is not in use are identified based on the vehicle's usage history, and schedule information is generated that specifies the identified periods as periods during which the computing device can participate in grid computing. In Patent Document 1, a relatively stable computing capacity can be provided based on this schedule information.

[0008] However, the period during which the vehicle is not in use is not always constant. Even if a period during which the vehicle is not in use is estimated based on the vehicle's usage history and the user's behavior history, the user may still use the vehicle, for example, to go shopping. If the vehicle is currently executing a job calculation, the calculation will be stopped. As in Patent Document 2, it is possible to interrupt the execution of the calculation and send intermediate results to the user terminal, but in the case of a job that requires a large amount of calculation, the intermediate results alone have little utility as the calculation results.

[0009] The technology disclosed herein has been made in consideration of the above points, and its purpose is to stabilize job calculation processing in grid computing using a vehicle's calculation device. [Means for solving the problem]

[0010] In order to solve the above problem, the technology disclosed herein is directed to a grid computing management system that performs job calculation processing using each of a plurality of vehicles as a calculation node when the plurality of vehicles are stopped, and includes a communication unit and a control unit. The control unit is configured to perform an estimation process that compares a user arrival time, which is the time it takes for a user of a specific vehicle among the plurality of vehicles to reach the stopped position of the specific vehicle, with a job completion time, which is the time it takes for the specific vehicle to complete the calculation of the job, and, if the job completion time is less than or equal to the user arrival time, estimates that the specific vehicle is in a stable mode in which it can stably execute the calculation processing of the job, while, if the job completion time is longer than the user arrival time, estimates that the specific vehicle is in an unstable mode in which there is a possibility that the calculation processing of the job will be aborted, and, when it is estimated that the specific vehicle is in the unstable mode, requests the user of the specific vehicle via the communication unit to continue the calculation of the job by partially restricting the functions of the specific vehicle after the user operates the specific vehicle.

[0011] In other words, when a user approaches a specific vehicle, there is a high possibility that the user will use the specific vehicle for traveling. Therefore, by estimating the user arrival time, it is possible to estimate the time during which the computing device can be used for job computation processing. Then, by comparing the estimated user arrival time with the job completion time, it is possible to estimate whether the user will be able to complete the job computation processing before using the specific vehicle.

[0012] If it is difficult for the user to complete the job calculation processing before using the specific vehicle for driving, the system determines that the vehicle is in an unstable mode and requests the user to restrict some of the functions of the specific vehicle until the job calculation processing is completed. This makes it possible to prompt the user to continue the job calculation processing until the job calculation processing is completed, allowing the job calculation processing to continue stably. Therefore, the job calculation processing can be stabilized.

[0013] In the management system, the information notified to the user in the computation continuation request process may include information about the time from the current time until the job completion time.

[0014] This configuration allows the user to understand the time remaining until the job's calculation processing is completed and the duration of the specific vehicle's function restriction. This makes it easier for the user to comply with a request to continue calculation. As a result, the job's calculation processing can be stabilized.

[0015] In the management system, the information notified to the user in the computation continuation request process may include information regarding a reward to be given to the user when the request is complied with.

[0016] According to this configuration, by presenting the user with a positive reason for accepting the request to continue computation, the user is more likely to accept the request to continue computation, thereby stabilizing the computation processing of the job.

[0017] In the management system, the information notified to the user in the computation continuation request process may include information about the restricted functions of the specific vehicle.

[0018] This configuration allows the user to understand which functions will be restricted, making it easier for the user to comply with a request to continue computation, thereby stabilizing the computation processing of the job.

[0019] In the management system, the control unit may be configured to execute the calculation continuation request process when the excess time, which is the time of the job completion time that exceeds the user arrival time, is less than a predetermined time, and when the excess time is equal to or greater than the predetermined time, not execute the calculation continuation request process but execute a transfer process to transfer job data related to the job being calculated in the specific vehicle to other vehicles parked around the specific vehicle and participating in the grid computing.

[0020] That is, if the overtime is short, the user's waiting time is short, so there is a high possibility that the user will respond to the request to continue the calculation. On the other hand, if the overtime is too long, there is a high possibility that the user will feel annoyed and will not respond to the request to continue the calculation. Therefore, when the overtime, i.e., the user's waiting time, is less than a predetermined time, a request to continue the calculation is made, and when the user's waiting time is equal to or greater than the predetermined time, the job data is transferred to another vehicle. This allows the job calculation processing to continue in a specific vehicle when the overtime is short, and the job calculation processing to be handed over to another vehicle when the overtime is long. This makes it possible to stabilize the job calculation processing.

[0021] Another aspect of the technology disclosed herein relates to a grid computing management method for performing job computation processing using each of a plurality of vehicles as a computation node while the plurality of vehicles are stopped. Specifically, the management method includes: a step of estimating a job completion time, which is a time required for a specific vehicle among the plurality of vehicles to complete computation of the job; a step of calculating a user arrival time, which is a time required for a user of the specific vehicle to arrive at a location where the specific vehicle is stopped; a mode estimation step of comparing the job completion time with the user arrival time, and estimating that the specific vehicle is in the stable mode if the job completion time is equal to or shorter than the user arrival time, and estimating that the specific vehicle is in the unstable mode if the job completion time is longer than the user arrival time; and a computation continuation request step of, when the specific vehicle is estimated to be in the unstable mode, requesting the user of the specific vehicle to continue computation of the job by partially restricting functions of the specific vehicle after the user operates the specific vehicle.

[0022] Even with this configuration, if it is difficult for the user to complete the job calculation process before using the specific vehicle for driving, the user is requested to restrict some of the functions of the specific vehicle until the job calculation process is completed. This makes it possible to prompt the user to continue the job calculation process until the job calculation process is completed, and the job calculation process can be continued. Therefore, the job calculation process can be stabilized.

[0023] Another aspect of the technology disclosed herein relates to a computing device of a vehicle, which serves as a computing resource for grid computing that performs job computation processing with each of a plurality of vehicles as a computation node when the plurality of vehicles are parked. Specifically, the computing device of the vehicle includes a control unit that performs the computation processing of the job. The control unit compares a user arrival time, which is the time it takes for a user of the vehicle to arrive at a parked position of the vehicle, with a job completion time, which is the time it takes for the vehicle to complete the computation of the job. If the job completion time is equal to or shorter than the user arrival time, the control unit estimates that the vehicle is in a stable mode in which the computation processing of the job can be stably executed, but if the job completion time is longer than the user arrival time, the control unit estimates that the vehicle is in an unstable mode in which the computation processing of the job may be aborted. Furthermore, when the control unit estimates that the vehicle is in the unstable mode, the control unit requests the user of the vehicle to continue the computation of the job by partially restricting the functions of the vehicle after the user starts the vehicle.

[0024] Even with this configuration, if it is difficult for the user to complete the job before using the vehicle for driving, the user is requested to restrict some of the functions of the specific vehicle until the job's calculation processing is completed. This makes it possible to prompt the user to continue the job's calculation processing until the job's calculation processing is completed, and the job's calculation processing can be continued. Therefore, the job's calculation processing can be stabilized. [Effects of the Invention]

[0025] As described above, the technology disclosed herein makes it possible to stabilize job computation processing in grid computing using a computing device in a vehicle. [Brief explanation of the drawings]

[0026] [Figure 1] FIG. 1 is a schematic diagram illustrating the configuration of a system according to the first embodiment. [Figure 2]FIG. 2 is a conceptual diagram for explaining grid computing. [Figure 3] FIG. 3 is a block diagram illustrating the configuration of a vehicle. [Figure 4] FIG. 4 is a block diagram illustrating the configuration of a user terminal. [Figure 5] FIG. 5 is a block diagram showing the configuration of a client server. [Figure 6] FIG. 6 is a block diagram illustrating the configuration of the facility server. [Figure 7] FIG. 7 is a block diagram showing the configuration of the management server. [Figure 8] FIG. 8 is a flowchart illustrating a grid computing process performed by the system. [Figure 9] FIG. 9 is a block diagram showing functional blocks for the control unit of the management system to perform the estimation process. [Figure 10] FIG. 10 is a flowchart illustrating an estimation process of the control unit of the management system. [Figure 11] FIG. 11 is a flowchart showing the process executed by the control unit of the management server when a specific vehicle is in the unstable mode. [Figure 12] FIG. 12 is a diagram schematically showing information exchanged between the vehicle and the user in the computation continuation request process. [Figure 13] FIG. 13 is a block diagram showing functional blocks for the control unit of the vehicle to perform estimation processing in the system according to the second embodiment. [Figure 14] FIG. 14 is a flowchart showing the processing executed by the control unit of the host vehicle when the host vehicle is in the unstable mode in the system according to the second embodiment. DETAILED DESCRIPTION OF THE INVENTION

[0027] Exemplary embodiments will now be described in detail with reference to the drawings.

[0028] [Embodiment 1] (System configuration) 1 illustrates the configuration of a system 1 including a vehicle 10 having a computing device 105 according to a first embodiment. The system 1 includes a plurality of vehicles 10, a plurality of user terminals 20, a client server 30, a facility server 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.

[0029] (Grid Computing) 2, in the system 1 of the first embodiment, grid computing is configured by the arithmetic device 105 mounted on each vehicle 10. In grid computing, grid computing processing is performed in which job data is processed by an available arithmetic device 105 among the multiple arithmetic devices 105. In other words, the arithmetic device 105 corresponds to a computing resource of grid computing that performs job computation processing using each of the multiple vehicles 10 as a computation node.

[0030] 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.

[0031] 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 is stopped and the ignition is turned off or the power is turned off, the computing power of the arithmetic device 105 becomes unnecessary, and the arithmetic device 105 enters a stopped state.

[0032] Here, when the computing power of the computing device 105 is not needed in the vehicle 10, the computing power of the computing device 105 can be provided for grid computing processing, thereby making it possible to effectively utilize the computing power of the computing device 105. Basically, the computing device 105 is used as a computing resource for grid computing when the vehicle 10 is stopped, that is, when the computing power of the computing device 105 is not being used for driving control.

[0033] (Vehicle configuration) The vehicle 10 is a vehicle 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 vehicles 10 include electric vehicles and plug-in hybrid vehicles.

[0034] 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 computing device 105.

[0035] 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.

[0036] The sensor 12 acquires various types of information used for controlling the vehicle 10. Examples of the sensor 12 include an exterior camera 121 (see FIG. 8) that takes images outside the vehicle, an interior camera that takes images inside the vehicle, a 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, a key detection sensor 122 (see FIG. 8), and an ignition sensor 123 (see FIG. 8; hereinafter referred to as the IG sensor 123).

[0037] The input unit 101 inputs information and data. Examples of the input unit 101 include a navigation system that inputs information according to an operation when operated, a camera that inputs an image showing information, and a microphone that inputs audio showing information. The information and data input to the input unit 101 are sent to the calculation device 105.

[0038] 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.

[0039] The communication unit 103 transmits and receives information and data. The information and data received by the communication unit 103 is sent to the arithmetic unit 105. The communication unit 103 is configured by, for example, a wireless communication device.

[0040] The storage unit 104 stores information and data.

[0041] The arithmetic device 105 has a control unit 106 that controls each part of the vehicle 10. In this example, the control unit 106 controls the actuator 11 in accordance with various information obtained by the sensor 12.

[0042] The control unit 106 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.

[0043] The number of processors constituting the control unit 106 may be one or more. The processor constituting the control unit 106 may be either a CPU or a GPU, or both a CPU and a GPU. In this example, the control unit 106 has both a CPU and a GPU. For example, the control unit 106 is composed of one or more ECUs (Electronic Control Units).

[0044] In this example, the storage unit 104 stores vehicle information D11, vehicle state information D12, driving history information D13, calculation device information D14, and driving schedule information D15.

[0045] <Vehicle Information> The vehicle information D11 is information related to the vehicle 10. For example, the vehicle information D11 includes a vehicle ID set for the vehicle 10, a user ID set for the user who owns the vehicle 10, vehicle performance information indicating the performance of the vehicle, etc. The vehicle ID is an example of vehicle identification information that identifies the vehicle 10. The user ID is an example of user identification information that identifies the user.

[0046] <Vehicle status information> Vehicle status information D12 indicates the status of vehicle 10. For example, vehicle status information D12 includes vehicle location information, vehicle communication information, vehicle power source information, vehicle battery remaining capacity information, vehicle charging information, etc. Vehicle location information indicates the location (latitude and longitude) of vehicle 10. Vehicle location information can be acquired, for example, by GPS (Global Positioning System). Vehicle communication information indicates the communication status of vehicle 10. Vehicle power source information indicates the power source status of vehicle 10. For example, vehicle power source information indicates whether the ignition power is on or off, whether the accessory power is on or off, etc. Vehicle battery remaining capacity information indicates the remaining capacity of a battery (not shown) installed in vehicle 10. Vehicle charging information indicates whether vehicle 10 is being charged at a charging facility (not shown).

[0047] <Driving history information> The driving history information D13 is information that indicates the driving history of the vehicle 10. For example, the driving history information D13 indicates the position of the vehicle 10 in association with the date and time.

[0048] <Calculation device information> The arithmetic device information D14 is information related to the arithmetic device 105. For example, the arithmetic device information D14 includes an arithmetic device ID set in the arithmetic device 105, a vehicle ID set in the vehicle 10 on which the arithmetic device 105 is mounted, arithmetic device performance information indicating the performance of the arithmetic device 105, etc. The arithmetic device ID is an example of arithmetic device identification information for identifying 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 of the CPU to the GPU 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.

[0049] <Schedule Information> The driving schedule information D15 is information indicating a usage schedule of the arithmetic device 105. For example, the schedule information indicates the date and time when the arithmetic device 105 is used for driving control. The schedule information may also indicate the date and time when the arithmetic device 105 is not used for driving control. The schedule information may be input from the input unit 101 or may be input from the user terminal 20. In addition, the schedule information may indicate a driving schedule estimated based on the driving history information D13.

[0050] (User terminal configuration) The user terminal 20 is a terminal device 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 laptop-type personal computers.

[0051] 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.

[0052] 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. For example, a user can operate the operation unit to access the navigation system of the vehicle 10 and thereby register a reservation for a destination. The information input to the input unit 101 is sent to the calculation device 105.

[0053] 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.

[0054] 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.

[0055] The storage unit 204 stores information and data.

[0056] 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.

[0057] In this example, the storage unit 204 stores terminal information D21, terminal state information D22, and schedule information D23.

[0058] <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.

[0059] <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.

[0060] <Schedule Information> The schedule information D23 indicates the behavior history and behavior schedule 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 the 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, the user inputs his or her own behavior history and behavior schedule into the user terminal 20 using the schedule function, thereby obtaining the schedule information D23 indicating the user's behavior history and behavior schedule. The schedule information D23 includes a schedule for driving the vehicle 10.

[0061] (Client-server configuration) The client server 30 is owned by a client, who requests the calculation of job data. Examples of such clients include companies, research institutes, and educational institutions.

[0062] As shown in FIG. 5, the client server 30 includes an input unit 301, an output unit 302, a communication unit 303, a storage unit 304, and a control unit 305.

[0063] 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.

[0064] 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.

[0065] 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.

[0066] The storage unit 304 stores information and data.

[0067] The control unit 305 controls each unit of the client server 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.

[0068] In this example, the storage unit 304 stores client information D31 and job data D1.

[0069] <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-server ID set for the client server 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-server identification information that identifies the client server 30.

[0070] <Job Data> The job data D1 is data corresponding to a job and is processed to execute the job.

[0071] 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.

[0072] Furthermore, the job data D1 can be classified according to the processing conditions of the job. 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 computing resources (i.e., the computing device 105) be able to communicate at all times in the grid computing process. Job data D1 with processing conditions that do not require constant communication does not require that the computing resources be able to communicate at all times in the grid computing process.

[0073] 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.

[0074] (Facility server configuration) The facility server 40 is owned by a facility. Examples of facilities include a user's workplace, a stadium, a theater, a movie theater, a supermarket, a restaurant, an accommodation facility, a ticket sales facility, etc. For facilities that require a reservation for a visit, the user can make a reservation for a visit to the facility via the user terminal 20.

[0075] 6, facility server 40 includes input unit 401, output unit 402, communication unit 403, storage unit 404, and control unit 405. The configurations of input unit 401, output unit 402, communication unit 403, storage unit 404, and control unit 405 of facility server 40 are the same as the configurations of input unit 301, output unit 302, communication unit 303, storage unit 304, and control unit 305 of client server 30.

[0076] In this example, the storage unit 404 stores facility information D41 and facility usage information D42.

[0077] 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 server ID set for the facility server 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 ID is an example of facility identification information that identifies a facility. The facility server ID is an example of facility server identification information that identifies the facility server 40.

[0078] <Facility Usage Information> The facility usage information D42 indicates the usage status (usage history and planned usage) of the facility. Specifically, the facility usage information D42 indicates users who use the facility and their stay period (or planned stay period) in association with each other.

[0079] (Administration Server Configuration) The management server 50 manages the operation of the system 1, which is configured as a grid computing system. The management server 50 is owned by the operator that operates the system 1.

[0080] 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, communication unit 503, storage unit 504, and control unit 505 of the management server 50 are similar to the configurations of the input unit 301, output unit 302, communication unit 303, storage unit 304, and control unit 305 of the client server 30. The processing of the control unit 505, which will be described later, is executed by a processor constituting the control unit 505, using programs and data stored in the memory of the control unit 505.

[0081] In this example, the storage unit 504 stores a user table D51, a computing device table D52, a client table D53, a job table D54, a resource table D55, a matching table D56, job data D1, and calculation result data D2.

[0082] <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 set for the vehicle 10 owned by the user, a calculation device ID set for the calculation device 105 owned by the user, a user terminal ID set for the user terminal 20 owned by the user, and the like.

[0083] <Calculation Unit Table> The arithmetic device table D52 is a table for managing the arithmetic devices 105. In the arithmetic device table D52, for each arithmetic device 105, a arithmetic device ID set in the arithmetic device 105, a user ID set for the user who owns the arithmetic device 105, a vehicle ID set for the vehicle 10 in which the arithmetic device 105 is installed, etc. are registered.

[0084] Furthermore, the arithmetic device table D52 registers, for each arithmetic device 105, the performance of that arithmetic device 105 (such as computing capacity and the ratio of CPU to GPU), the operating status of that arithmetic device 105 (operating history and operation schedule), etc. In other words, the arithmetic device table D52 includes operating status information D5 indicating the operating status of each of the multiple arithmetic devices 105, and performance information D6 indicating the performance of each of the multiple arithmetic devices 105. The performance information D6 includes computing capacity information D7 indicating the computing capacity of each of the multiple arithmetic devices 105.

[0085] <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 server ID set for the client server 30 owned by the client, the name, address, and telephone number of the person in charge of that client. The client table D53 records the usage history of grid computing for each client.

[0086] <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.

[0087] <Resource Table> The resource table D55 is a table for managing computational capabilities in grid computing processing. Specifically, the resource table D55 is a table for managing computational capability information relating to the estimated computational capabilities of computational resources. The resource table D55 registers, for each computation device 105, the computation device ID set for that computation device 105.

[0088] Matching Table The matching table D56 is a table for managing the results of a matching process that matches jobs with grid computing. For each job, the matching table D56 registers the reception number set for the job, the job data corresponding to the job, the computing device ID set for each computing device 105 that constitutes the computing resource allocated to the job data by the matching process, and the like.

[0089] <Job Data> The job data D1 stored in the storage unit 504 is the accepted job data D1.

[0090] <Calculation result data> The calculation result data D2 stored in the storage unit 504 is calculation result information calculated by grid computing processing, and indicates the results of the calculation.

[0091] (Grid computing processing) Next, the grid computing process will be described with reference to Fig. 8. In the grid computing process, the job data D1 is processed by an available arithmetic device 105 among the plurality of arithmetic devices 105. After the matching process is completed, the control unit 505 performs the following process.

[0092] First, in step S11, the control unit 505 refers to the matching table D56 and distributes job data D1 to be subjected to grid computing processing to the arithmetic devices 105 assigned to the job data D1 in the matching processing. Specifically, the control unit 505 transmits a portion of the job data D1 to each of the arithmetic devices 105 assigned to the job data D1. As a result, the job data D1 is processed in parallel by the arithmetic devices 105 assigned to the job data D1.

[0093] Next, in step S12, when each arithmetic device 105 completes the calculation of the data (part of the job data D1) transmitted to that arithmetic device 105, it transmits the partial calculation result data obtained by the calculation to the management server 50. The control unit 505 of the management server 50 receives the partial calculation result data transmitted from the arithmetic device 105 and stores the partial calculation result data in the memory unit 504.

[0094] Next, in step S13, the control unit 505 determines whether or not all of the arithmetic devices 105 to which the job data D1 was distributed in step S11 have completed calculations. If all of the arithmetic devices 105 have completed calculations, the control unit 505 proceeds to step S14, and if at least some of the arithmetic devices 105 have not completed calculations, the control unit 505 performs the processing of step S12.

[0095] In step S14, the control unit 505 generates calculation result data D2 (calculation result data D2 indicating the result of calculation of job data D1) corresponding to job data D1 that is the target of grid computing processing by combining the partial calculation result data stored in the storage unit 504. Then, the control unit 505 transmits the calculation result data D2 corresponding to job data D1 that is the target of grid computing processing to the client server 30 of the client that requested the calculation of the job data D1.

[0096] Then, in step S15, 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 users include points that can be used in the system 1, virtual currency, and product discount benefits. For example, the control unit 505 of the management server 50 performs processing to grant a reward to the user who provided the computing power of the computing device 105 for the grid computing process. Examples of the processing to grant a reward include processing to associate a "user ID" set for the user with "points" (or virtual currency) that can be used in the system 1 and register them in the user table D51, and processing to send information indicating a product discount benefit to the user terminal 20 owned by the user.

[0097] 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 control unit 305 of the client server 30 may execute processing for giving a reward to a user who has provided the computing power of the computing device 105 for grid computing processing.

[0098] (Vehicle Processing on Grid Computing) To successfully complete the grid computing process described above, it is necessary that the arithmetic device 105 of the vehicle 10 is stably supplied as a computational resource, that is, that each vehicle 10 is able to stably execute the computational process of the job. The arithmetic device 105 can estimate the time period during which the vehicle 10 will be stopped based on the travel schedule information D15 stored in the storage unit 104 and the schedule information D23 acquired from the user terminal 20. In other words, the arithmetic device 105 can schedule in advance the time period during which it can supply itself as a computational resource for grid computing (the time period during which it can participate in grid computing).

[0099] However, even during a time period that the computing device 105 estimates as a time period during which it can participate in grid computing, the user may suddenly start driving the vehicle 10, such as to go shopping or to work. As a result, the computing device 105 must use itself for driving control while executing the computational processing of a job given to it in grid computing. In this case, the computing device 105 is forced to cancel the job, which may result in the grid computing processing not being completed normally.

[0100] Therefore, in the first embodiment, the management server 50 of the system 1 performs an estimation process for each vehicle 10 participating in grid computing to estimate whether the vehicle 10 is in a stable mode in which it can stably execute the job calculation process, or in an unstable mode in which it may abort the job calculation process. When the management server 50 estimates that a specific vehicle 10a among the vehicles 10 is in the unstable mode, the management server 50 performs a calculation continuation request process to request the user to operate the specific vehicle 10a and then continue the job calculation by partially restricting the functions of the specific vehicle 10a. Note that the specific vehicle 10a is one vehicle among the multiple vehicles 10 that make up the grid computing, and all of the vehicles 10 that make up the grid computing can be the specific vehicle 10a.

[0101] Here, the functions that are restricted after the specific vehicle 10a is in operation are functions that are not directly related to the driving operation of the specific vehicle 10a, such as watching TV on the display unit of the navigation system, updating map information, and reducing the sound quality of audio equipment.

[0102] FIG. 9 shows functional blocks that constitute the functions for the management server 50 to execute the estimation process.

[0103] The management server 50 calculates a user arrival time t a The user arrival time estimation module 551 receives input of information from the exterior camera 121, the key detection sensor 122, and the position detection module 162 of the specific vehicle 10a. The user arrival time estimation module 551 receives input of the driving history information D13 from the storage unit 14.

[0104] A plurality of exterior cameras 121 are arranged on the specific vehicle 10a so as to be able to capture images of the 360-degree area around the specific vehicle 10a.

[0105] The key detection sensor 122 communicates with a keyless key or a smart key (registered trademark) owned by the user of the specific vehicle 10a, and detects the location of the keyless key or the like.

[0106] The position detection module 162 is a module that communicates with the user terminal 20 owned by the user of the specific vehicle 10a and detects the position of the user terminal 20. The position detection module 162 detects the position of the user terminal 20, for example, by using a GPS sensor mounted on the user terminal 20.

[0107] The user arrival time estimation module 551 estimates the distance between the specific vehicle 10a and the user based on the detection results from the exterior camera 121, the key detection sensor 122, and the position detection module 162 of the specific vehicle 10a. The user arrival time estimation module 551 estimates the time change of the estimated distance (i.e., the user's moving speed) from the estimated distance. Then, the user arrival time t a When it is difficult to obtain information from the vehicle exterior camera 121, the key detection sensor 122, and the position detection module 162, the user arrival time estimation module 551 estimates the user arrival time t from the stopping position of the specific vehicle 10a and the driving history information D13. a Estimate.

[0108] The management server 50 calculates a job completion time t j The job completion time estimation module 552 estimates a job completion time t , which is the time it takes for the host vehicle (strictly speaking, the computing unit of the host vehicle) to complete the job calculation, from information from the computational resource management module 166 of the specific vehicle 10a and job data allocated to the specific vehicle 10a (hereinafter referred to as partial job data D1a). j Estimate.

[0109] The computational resource management module 166 is a module that manages the current computational resources, in other words, the current computational capacity, of the computing unit of the host vehicle. Information about the current computational capacity of the computing unit is input from the computational resource management module 166 to the stability estimation module 163.

[0110] The job completion time estimation module 552 estimates the job completion time t when the partial job data Da1 is processed using the current computing capacity of the computing unit obtained from the computing resource management module 166. j Estimate.

[0111] The management server 50 calculates the user arrival time t obtained from the user arrival time estimation module 161. a and the job completion time t obtained from the job completion time estimation module 552. j and a mode estimation module 553 that estimates whether the specific vehicle 10a is in a stable mode or an unstable mode by comparing the vehicle speed and the vehicle speed.

[0112] The mode estimation module 553 estimates the user arrival time t a and job completion time t j Compared with the job completion time t j is the user arrival time t a On the other hand, the mode estimation module 553 estimates that the specific vehicle 10a is in the stable mode when the job completion time t j is the user arrival time t a If the time is longer than the predetermined time, it is estimated that the specific vehicle 10a is in the unstable mode.

[0113] Information about the mode estimated by the mode estimation module 553 is sent to the process execution management module 554 .

[0114] When the process execution management module 554 acquires information that the specific vehicle 10a is estimated to be in the stable mode, the process execution management module 554 continues the job calculation process for the specific vehicle 10a according to the schedule. On the other hand, when the process execution management module 554 acquires information that the specific vehicle 10a is estimated to be in the unstable mode, the process execution management module 554 j User arrival time t a The processing is performed according to the overtime, which is the time that exceeds the job completion time t j and user arrival time t a This corresponds to the difference between

[0115] If the excess time is less than a predetermined time, the processing execution management module 554 executes a computation continuation request process to request the user of the specific vehicle 10a to continue computation. On the other hand, if the excess time is equal to or greater than a predetermined time, the processing execution management module 554 does not execute the computation continuation request process, but executes a transfer process to transfer the partial job data 1a being processed by the specific vehicle 10a to other vehicles parked around the specific vehicle 10a and participating in the same grid computing. The predetermined time is a time that does not cause inconvenience to the user, and is set to, for example, 10 to 20 minutes.

[0116] When executing the calculation continuation request process, the processing execution management module 551 sends a calculation continuation request notification to the user terminal 20 via the communication unit 503. On the other hand, when executing the transfer process, the processing execution management module 551 sends a control signal via the communication unit 503 to the specific vehicle 10a to transfer the partial job data D1a to the other vehicle.

[0117] The user arrival time estimation module 551, the job completion time estimation module 552, the mode estimation module 553, the position detection module 162, the stability estimation module 163, the communication state management module 164, and the process execution management module 554 are examples of modules that constitute the control unit 505 of the management server 50. The position detection module 162 and the computational resource management module 166 are examples of modules that constitute the control unit 106 of the specific vehicle 10a.

[0118] <Flowchart of Estimation Processing> 10 is a flowchart illustrating an example of the estimation process executed by the management server 50. Note that the following describes a case where the user's position can be identified by the key detection sensor 122 or the like.

[0119] First, in step S21, the management server 50 acquires various pieces of information from the specific vehicle 10a.

[0120] Next, in step S22, the management server 50 detects the current location of the user of the specific vehicle 10a. Here, not only the two-dimensional position of the user but also the height position, that is, the three-dimensional position, is detected.

[0121] Next, in step S23, the management server 50 estimates the distance between the user and the specific vehicle 10a. Here, the straight-line distance between the user and the specific vehicle 10a is estimated.

[0122] Subsequently, in step S24, the management server 50 estimates the user's traveling speed from the change over time in the distance between the user and the specific vehicle 10a.

[0123] Next, in step S25, the management server 50 calculates the user arrival time t a Estimate.

[0124] Next, in step S26, the management server 50 calculates the job completion time t j Estimate.

[0125] Subsequently, in step S27, the management server 50 calculates the user arrival time t a is the job completion time t j The management server 50 determines whether the user arrival time t a is the job completion time t j If the answer is YES, the process proceeds to step S28. On the other hand, the control unit 106 determines whether the user arrival time t a is the job completion time t j If the answer is YES, that is, if the answer is less than the predetermined value, the process proceeds to step S29.

[0126] In step S28, the management server 50 estimates that the specific vehicle 10a is in the stable mode. On the other hand, in step S29, the management server 50 estimates that the specific vehicle 10a is in the unstable mode. The management server 50 returns after step S28 or S29.

[0127] In this way, the estimated distance and the time change of the estimated distance are used to calculate the user arrival time t a By estimating the user arrival time t a In other words, even if the user is located nearby, if the user's moving speed is slow, the user arrival time t a In this way, the user arrival time t a By accurately estimating the above, it is possible to accurately estimate whether the specific vehicle 10a is in the unstable mode.

[0128] <Processing in unstable mode> Next, the processing executed by the management server 50 when the specific vehicle 10a is estimated to be in the unstable mode will be described with reference to Fig. 11 and Fig. 12. Here, the case where there are other vehicles participating in the same grid computing around the specific vehicle 10a as shown in Fig. 12 will be described. Note that the flowchart starts with the estimation processing by the management server 50.

[0129] First, in step S31, the management server 50 estimates the mode of the specific vehicle 10a. The management server 50 estimates whether the specific vehicle 10a is in the stable mode or the unstable mode, particularly based on the flowchart of FIG.

[0130] Next, in step S32, the management server 50 determines whether the specific vehicle 10a is in an unstable mode. If the result is YES, which indicates that the user is approaching as shown in FIG. 12 and that the specific vehicle 10a is in an unstable mode, the management server 50 proceeds to step S33. If the result is NO, which indicates that the specific vehicle 10a is still in a stable mode, the management server 50 ends the process.

[0131] In step S33, the management server 50 calculates the user arrival time t a Job completion time t j The management server 50 determines whether the excess time is less than the predetermined time. If the excess time is less than the predetermined time (YES), the management server 50 proceeds to step S34. On the other hand, if the excess time is equal to or greater than the predetermined time (NO), the management server 50 proceeds to step S38.

[0132] In step S34, the management server 50 notifies the user of the specific vehicle 10a of a request to continue the calculation. The management server 50 sends a calculation continuation request notification to the user terminal 20. At this time, the management server 50 also notifies information to increase the possibility that the user will respond to the calculation continuation request. For example, the calculation continuation request notification may include the job completion time t j , the time from the current time to the job completion time t j The notification of the request for continuation of calculation includes information on the time until the continuation of calculation, the excess time, and a reward to be given to the user when the request for continuation of calculation is accepted. The notification of the request for continuation of calculation also includes information on the restricted functions of the specific vehicle 10a.

[0133] Next, in step S35, the management server 50 determines whether or not the user of the specific vehicle 10a has given permission to continue the calculation. If the user agrees to the request to continue the calculation (YES), the management server 50 proceeds to step S36. On the other hand, if the user does not agree to the request to continue the calculation (NO), the management server 50 proceeds to step S38.

[0134] In step S36, the management server 50 grants a reward to the user of the specific vehicle 10a. This reward is different from the reward granted to the user when the computational processing of the job is completed in grid computing, as described above. Examples of the reward include points that can be used in the system 1, virtual currency, product discount benefits, etc.

[0135] Next, in step S37, the management server 50 causes the specific vehicle 10a to continue the job calculation. After step S37, the processing ends.

[0136] In step S38, the management server 50 calculates the stability of other vehicles 10 that are present around the specific vehicle 10a and participating in the same grid computing. This stability is an index that indicates how stably the other vehicles can complete the calculation processing of the job. It is information that indicates the stability calculated by the control unit 106 of the calculation device 105. As shown in FIG. 12, the management server 50 acquires various information from the other vehicles 10 and calculates the stability. The stability of each vehicle 10 is calculated, for example, using a points system. The stability of the vehicle itself is calculated, for example, using the following criteria. Longer estimated distances are more stable than shorter estimated distances. A wider communication bandwidth provides greater stability than a narrower communication bandwidth. - Charging is more stable when it is on than when it is off. · A system with more computing resources is more stable than one with fewer computing resources. A longer period during which job processing can be performed is more stable than a shorter period. · When there are many other vehicles participating in the same grid computing in the vicinity, stability is higher than when there are few such other vehicles.

[0137] Next, in step S39, the management server 50 transmits a control signal to the specific vehicle 10a to package and transfer the partial job data D1a to the vehicle with the highest stability among the other vehicles. Upon receiving the control signal, the specific vehicle 10a stops the calculation processing of the partial job data D1a and saves the partial job data D1a. The specific vehicle 10a then packages the partial job data D1a. At this time, if partial calculation result data exists, the partial calculation result data is also packaged. After completing the packaging of the partial job data D1a, the specific vehicle 10a begins transferring the partial job data D1a to the selected other vehicles. The specific vehicle 10a transfers the partial job data D1a by vehicle-to-vehicle communication via the communication unit 103. After completing the transfer in step S39, the management server 50 ends the processing.

[0138] In this way, the management server 50 performs the calculation continuation request process or the transfer process. If the overtime is equal to or exceeds a predetermined time or the user does not respond to the calculation continuation request, and there is no other vehicle 10 in the vicinity to which the specific vehicle 10a can transfer the partial job data D1a, the management server 50 sends a control signal to the specific vehicle 10a to return the partial job data D1a to the management server 50.

[0139] Therefore, in the first embodiment, the management server 50 of the system 1 includes a communication unit 503 and a control unit 505. The control unit 505 calculates a user arrival time t a and a job completion time t j Compared with the job completion time t j is the user arrival time t a If the time is less than or equal to the job completion time t j is the user arrival time t aWhen the time lag is longer than the predetermined time lag, the system executes an estimation process to estimate that the specific vehicle 10a is in an unstable mode that may cause the job calculation processing to be suspended, and an operation continuation request process to request the user of the specific vehicle 10a via the communication unit 103 to continue the job calculation by partially restricting the functions of the specific vehicle 10a after the user operates the specific vehicle 10a when the specific vehicle 10a is estimated to be in the unstable mode. As a result, when the user unexpectedly uses the specific vehicle for traveling and it is difficult for the user to complete the job before using the specific vehicle, the system determines that the specific vehicle 10a is in an unstable mode and requests the user to partially restrict the functions of the specific vehicle 10a until the job calculation processing is completed. This allows the job calculation processing to be stably continued until the job calculation processing is completed. Therefore, the job calculation processing can be stabilized.

[0140] In particular, in the first embodiment, the notification of the request to continue the calculation to the user includes the job completion time t j The request includes information on the time until the request for continuation of computation, information on the reward to be given to the user when the request for continuation of computation is accepted, and information on the functions of the specific vehicle 10a that will be restricted. This allows the user to understand the details of the request for continuation of computation. As a result, the user can understand how long to delay use of the vehicle, and is provided with a positive reason for delaying use of the vehicle. This makes it easier for the user to accept the request for continuation of computation, and makes it possible to make the computation processing of the job more stable.

[0141] In the first embodiment, the job completion time t j User arrival time t aWhen the overtime, which is the time that the specified vehicle 10a is in, is less than a predetermined time, a computation continuation request process is executed, whereas when the overtime is equal to or greater than the predetermined time, a transfer process is executed without executing the computation continuation request process, in which partial job data D1a related to the job being computed on the specified vehicle 10a is transferred to another vehicle 10 that is parked around the specified vehicle 10a and participating in grid computing. As a result, when the user's waiting time is short and there is a high possibility that the user will comply with the computation continuation request, a computation continuation request is issued, whereas when the user's waiting time is long and there is a high possibility that the user will be annoyed and will not comply with the computation continuation request, the partial job data D1a is transferred to another vehicle 10. As a result, when the user's waiting time is short, the computation processing of the job can be continued on the specified vehicle 10a, whereas when the user's waiting time is long, the computation processing of the job can be handed over to another vehicle 10. This makes it possible to more stabilize the computation processing of the job.

[0142] [Embodiment 2] Hereinafter, the second embodiment will be described in detail with reference to the drawings. In the following description, parts common to the first embodiment will be given the same reference numerals and detailed description thereof will be omitted.

[0143] The second embodiment differs from the first embodiment in that the estimation process, the calculation continuation request process, and the transfer process are performed by the control unit 106 of the vehicle 10, rather than by the management server 50. The processing of the control unit 106, which will be described later, is executed by the processor of the control unit 106 using programs and data stored in the memory of the control unit 106.

[0144] 13 , in the second embodiment, each vehicle 10 is provided with a stability estimation module 163 that estimates the stability of job calculation processing, including the mode of the vehicle 10. The stability estimation module 163 receives information from the exterior camera 121, the key detection sensor 122, the position detection module 162, the communication status management module 164, the charge status monitoring module 165, and the computational resource management module 166. The stability estimation module 163 also receives travel history information D14 from the storage unit 104 and map information via the communication unit 103. The stability estimation module 163 also receives information about partial job data D1a being calculated by the vehicle itself.

[0145] The vehicle exterior camera 121, the key detection sensor 122, the position detection module 162, and the computational resource management module 166 are the same as those in the first embodiment, and therefore detailed description thereof will be omitted.

[0146] The communication state management module 164 is a module that manages the communication band of the vehicle. Information about the communication band of the vehicle is input from the communication state management module 164 to the stability estimation module 163.

[0147] The charging state monitoring module 165 is a module that monitors the charging state of the host vehicle. Whether or not the host vehicle is in a charging state is input from the charging state monitoring module 165 to the stability estimation module 163 in the form of an on / off signal.

[0148] The stability estimation module 163 estimates the user arrival time t a and job completion time t j and estimate whether the host vehicle is in stable mode or unstable mode. This estimation process is basically the same as that in the first embodiment except that the main body is the stability estimation module 163, and the flowchart differs from that shown in FIG. 10 only in the main body, so detailed description will be omitted.

[0149] The stability estimation module 163 estimates the stability of the vehicle based on the input information. The stability is calculated using the points formula as described in the first embodiment. The method of calculating the stability is also basically the same as in the first embodiment, so a detailed description will be omitted.

[0150] The estimation result of the stability estimation module 163 is input to the process execution management module 167 .

[0151] When the process execution management module 167 receives information that the host vehicle is estimated to be in the stable mode, the process execution management module 167 continues the job calculation process for the host vehicle according to the schedule. On the other hand, when the process execution management module 167 receives information that the host vehicle is estimated to be in the unstable mode, the process execution management module 167 sets the job completion time t j User arrival time t a The processing is performed according to the overtime, which is the time that exceeds the job completion time t j and user arrival time t a This corresponds to the difference between

[0152] If the excess time is less than a predetermined time, the processing execution management module 167 executes a calculation continuation request process to request the user of the vehicle to continue calculation. On the other hand, if the excess time is equal to or greater than a predetermined time, the processing execution management module 167 does not execute the calculation continuation request process, but executes a transfer process to transfer the partial job data D1a being calculated in the vehicle to another vehicle that is parked around the vehicle and participating in the same grid computing. The predetermined time is a time that does not cause inconvenience to the user, and is set to, for example, 10 to 20 minutes.

[0153] When executing the calculation continuation request process, the process execution management module 167 notifies the user terminal 20 of a calculation continuation request notification via the communication unit 103. On the other hand, when executing the transfer process, the process execution management module 166 transmits a control signal via the communication unit 103 to the own vehicle to transfer the partial job data D1a to another vehicle.

[0154] The position detection module 162, the stability estimation module 163, the communication status management module 164, the charging status monitoring module 165, the computational resource management module 166, and the processing execution management module 167 are examples of modules that constitute the control unit 106 of the vehicle 10.

[0155] Next, the processing executed by the control unit 106 when it is estimated that the host vehicle is in the unstable mode will be described with reference to Fig. 14. Note that the flowchart in Fig. 14 starts with the estimation processing by the control unit 106. Furthermore, since this processing is basically similar to the processing described with reference to Fig. 11 in the first embodiment, a detailed description will be omitted.

[0156] First, in step S401, the control unit 106 estimates the mode of the host vehicle.

[0157] Next, in step S402, the control unit 106 determines whether the host vehicle is in the unstable mode. If the result of the determination is YES, that is, the host vehicle is in the unstable mode, the control unit 106 proceeds to step S403. If the result of the determination is NO, that is, the host vehicle is still in the stable mode, the control unit 106 ends the process.

[0158] In step S403, the control unit 106 calculates the user arrival time t a Job completion time t j If the result is YES, meaning that the excess time is less than the predetermined time, the control unit 106 proceeds to step S404. On the other hand, if the result is NO, meaning that the excess time is equal to or greater than the predetermined time, the control unit 106 proceeds to step S408.

[0159] In step S404, the control unit 106 notifies the user of the vehicle of a request to continue the calculation.

[0160] Next, in step S405, the control unit 106 determines whether or not the user of the vehicle has given permission to continue the calculation. If the user agrees to the request to continue the calculation (YES), the control unit 106 proceeds to step S406. On the other hand, if the user does not agree to the request to continue the calculation (NO), the control unit 106 proceeds to step S408.

[0161] In step S406, the control unit 106 requests the management server 50 to provide a reward to the user who has responded to the request to continue the computation. As described in the first embodiment, this reward is different from the reward provided to the user when the computation processing of the job is completed in grid computing.

[0162] Next, in step S407, the control unit 106 causes the vehicle to continue the job calculation, and the process ends after step S407.

[0163] In step S408, the control unit 106 acquires stability information of other vehicles that are present around the subject vehicle and participating in the same grid computing from the other vehicles.

[0164] Next, in step S409, the control unit 106 packages and transfers the partial job data D1a to the vehicle with the highest stability among the other vehicles. The control unit 106 stops the calculation processing of the partial job data D1a and saves the partial job data D1a. The specific vehicle 10a then packages the partial job data D1a. At this time, if partial calculation result data exists, the partial calculation result data is also packaged. After completing the packaging of the partial job data D1a, the specific vehicle 10a starts transferring the partial job data D1a to the selected other vehicles. The specific vehicle 10a transfers the partial job data D1a by vehicle-to-vehicle communication via the communication unit 103.

[0165] Then, in step S410, the control unit 106 deletes the partial job data D1a of the own vehicle as soon as the transfer of the partial job data D1a to the other vehicle is completed. After step S410, the control unit 106 ends the process.

[0166] In this way, the arithmetic device 105 of the vehicle 10 performs the calculation continuation request process or the transfer process. Note that if the overtime is equal to or exceeds a predetermined time or if the user does not respond to the calculation continuation request and there is no other vehicle nearby to which the vehicle can transfer the partial job data D1a, the arithmetic device 105 transfers the partial job data D1a to the management server 50.

[0167] Therefore, even if the calculation device 105 of the vehicle 10 is configured to perform the estimation process and the calculation continuation request process as in the second embodiment, it is possible to restrict some of the functions of the vehicle until the calculation process of the job is completed, and to prompt the user to continue the calculation process of the job. This allows the calculation process of the job to be continued stably. Therefore, the calculation process of the job can be stabilized.

[0168] Other Embodiments The technology disclosed herein is not limited to the above-described embodiments, and can be substituted within the scope of the claims.

[0169] For example, in the above-described first and second embodiments, when the overtime is equal to or greater than a predetermined time, the partial job data D1a is transferred to another vehicle. However, the present invention is not limited to this. When the overtime is equal to or greater than a predetermined time, the reward given when responding to a request to continue calculation may be increased compared to when the overtime is less than the predetermined time.

[0170] The above-described embodiments are merely examples and should not be construed 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 scope of the claims equivalents are within the scope of the present disclosure. [Industrial Applicability]

[0171] The technology disclosed herein is useful when a plurality of vehicles are stopped and a job is processed by grid computing in which each of the vehicles acts as a computing node. [Explanation of symbols]

[0172] 1 System 10 vehicles 10a Specific vehicles 105 Arithmetic equipment 103 Communications Department 106 Control Unit 503 Communications Department 505 Control Unit D1a Partial job data

Claims

1. A grid computing management system that performs job calculation processing using each of a plurality of vehicles as a calculation node when the plurality of vehicles are stopped, comprising: The Communications Department and a control unit, The control unit an estimation process that compares a user arrival time, which is the time it takes for a user of a specific vehicle among the plurality of vehicles to reach the stopping position of the specific vehicle, with a job completion time, which is the time it takes for the specific vehicle to complete the calculation of the job, and when the job completion time is equal to or less than the user arrival time, estimates that the specific vehicle is in a stable mode in which the calculation processing of the job can be stably executed, but when the job completion time is longer than the user arrival time, estimates that the specific vehicle is in an unstable mode in which the calculation processing of the job may be aborted; a computation continuation request process for requesting the user of the specific vehicle via the communication unit to continue computation of the job by partially restricting functions of the specific vehicle after the user operates the specific vehicle when it is estimated that the specific vehicle is in the unstable mode; A management system characterized by executing the above.

2. 2. The management system according to claim 1, The management system according to claim 1, wherein the information notified to the user in the computation continuation request process includes information about the time from the current time until the job completion time.

3. 3. The management system according to claim 1, A management system characterized in that the information notified to the user in the computation continuation request process includes information regarding a reward to be given to the user when the request is accepted.

4. In the management system according to any one of claims 1 to 3, 2. A management system according to claim 1, wherein the information notified to the user in the calculation continuation request process includes information about the restricted functions of the specific vehicle.

5. In the management system according to any one of claims 1 to 4, the control unit executes the computation continuation request process when the excess time, which is the time of the job completion time that exceeds the user arrival time, is less than a predetermined time, and when the excess time is equal to or greater than the predetermined time, does not execute the computation continuation request process but executes a transfer process to transfer job data related to the job being computed in the specific vehicle to other vehicles parked around the specific vehicle and participating in the grid computing.

6. A computing device of a vehicle that, when a plurality of vehicles are stopped, serves as a computing resource for grid computing in which each of the plurality of vehicles serves as a computing node and performs job computation processing, a control unit that performs calculation processing for the job, The control unit an estimation process that compares a user arrival time, which is the time it takes for a user of the vehicle to reach the stopping position of the vehicle, with a job completion time, which is the time it takes for the vehicle to complete the calculation of the job, and when the job completion time is equal to or less than the user arrival time, estimates that the vehicle is in a stable mode in which the calculation processing of the job can be stably executed, while when the job completion time is longer than the user arrival time, estimates that the vehicle is in an unstable mode in which the calculation processing of the job may be aborted; a computation continuation request process for requesting a user of the host vehicle to continue computation of the job by partially restricting functions of the host vehicle after the user operates the host vehicle when it is estimated that the host vehicle is in the unstable mode; A vehicle computing device that executes the above.

Citation Information

Patent Citations

  • Calculation resource provision method and calculation resource provision system

    JP2017111727A

  • Controller, method for control, and computer program

    JP2019036017A

  • On-vehicle calculation device, vehicle, and system

    JP2019175216A

  • Managing computational tasks in vehicle context

    JP2020030813A

  • Management server and program

    JP2020160661A