Management system and management method

The management system for grid computing on mobile objects addresses the challenge of providing computational power by forming grid candidates based on estimated resource availability, ensuring rapid job execution and efficient resource utilization.

JP7799992B2Active Publication Date: 2026-01-16MAZDA MOTOR CORP
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
JP2021077867
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2021-04-30
Publication Date
2026-01-16
Estimated Expiration
2041-04-30

AI Technical Summary

Technical Problem

Existing systems do not effectively provide computational power to clients in grid computing scenarios.

Method used

A management system that utilizes computational resources mounted on mobile objects, including vehicles, to form grid candidates by estimating time-varying computational capabilities and storing this information for rapid job execution, allowing for prompt job allocation from pre-configured grids or new grid formation when necessary.

Benefits of technology

Enables quick execution of jobs by selecting from pre-configured grid candidates, reducing the need to constantly reconfigure grids, thereby enhancing the efficiency of grid computing.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007799992000001
    Figure 0007799992000001
  • Figure 0007799992000002
    Figure 0007799992000002
  • Figure 0007799992000003
    Figure 0007799992000003
Patent Text Reader

Abstract

To rapidly provide computing power of grid computing using computing resources mounted on moving bodies to a client.SOLUTION: A management server 50 references moving body information and resource information stored in a storage unit 504 and configures (S63) grid candidates which are candidates for a group of moving bodies forming a grid for executing grid computing. Resource information and moving body information are referenced for a configured grid candidate, computing resource information including secular change in computing power is estimated, and the estimated computing resource information is stored (S64) in the storage unit 504 together with data identifying the moving bodies constituting the grid candidate.SELECTED DRAWING: Figure 14
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The technology disclosed herein relates to managing grid computing. [Background technology]

[0002] Patent Document 1 discloses a system including multiple communication devices and a management server that manages grid computing. The management server includes a signal receiving unit, a status determining unit, and a response transmitting unit. The signal receiving unit receives a signal from a communication device indicating that the communication device is able to participate in grid computing. The status determining unit determines whether each of the multiple processing devices has insufficient processing capacity based on the usage status of the computational resources of each of the multiple processing devices. If the processing capacity of at least one of the multiple processing devices is insufficient, the response transmitting unit transmits an instruction to the communication device to participate in grid computing based on the signal. This configuration makes effective use of the computational resources of the multiple communication devices. [Prior art documents] [Patent documents]

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

[0004] Patent Document 1 does not disclose anything about how the computing power of grid computing is provided to clients.

[0005] The technology disclosed herein has been made in view of the above points, and its purpose is to enable the computational power of grid computing to be quickly provided to clients. [Means for solving the problem]

[0006] In order to solve the above-mentioned problems, the technology disclosed herein is a management system for managing grid computing using computational resources mounted on mobile objects, and includes a control unit and a memory unit for storing resource information, which is information about the computational resources mounted on each mobile object, and mobile object information, which is information about each mobile object. The control unit performs the following processes: by referring to the resource information and the mobile object information stored in the memory unit, constructing candidates for a group of mobile objects to form a grid to perform grid computing as grid candidates; and by referring to the resource information and the mobile object information stored in the memory unit, for the constructed grid candidates, estimating computational resource information including changes in computational capacity over time, and storing the estimated computational resource information in the memory unit together with data identifying the mobile objects that constitute the grid candidates.

[0007] According to this configuration, in a management system that manages grid computing using computational resources mounted on mobile objects, a control unit configures candidate mobile objects that form a grid to perform grid computing as grid candidates. Then, for the configured grid candidates, computational resource information, including time-varying computational capabilities, is stored in a storage unit along with data identifying the mobile objects that make up the grid candidates. As a result, when a job is requested from a client terminal, it is only necessary to select a grid to execute the job from the grid candidates stored in the storage unit, and there is no need to configure a new grid to execute the job. Therefore, the requested job can be executed promptly.

[0008] The control unit may then refer to the computational resource information of each grid candidate stored in the storage unit for a job requested by a client terminal, and perform a process of allocating a grid to execute the job from among the grid candidates.

[0009] This allows the requested job to be executed promptly.

[0010] Furthermore, when the allocation is not successful, the control unit may refer to the resource information and the mobile object information stored in the storage unit and configure a new grid to execute the job.

[0011] As a result, when a grid for executing a job cannot be allocated from among the grid candidates, a new grid for executing the job is configured.

[0012] In addition, the resource information may include at least the type and computing capacity of the computing resource, and the mobile body information may include at least location data of the mobile body, and the control unit may perform processing to configure grid candidates using at least one of the type of computing resource of each mobile body, the computing capacity of the computing resource of each mobile body, or the location data of each mobile body.

[0013] The technology disclosed herein is also a method for managing grid computing using computational resources mounted on mobile bodies by a computer, in which the computer uses resource information, which is information about the computational resources mounted on each mobile body, and mobile body information, which is information about each mobile body, stored in a memory unit, to perform the following processes: referring to the resource information and the mobile body information, the computer configures candidate mobile bodies to form a grid to perform grid computing as grid candidates; and referring to the resource information and the mobile body information, the computer estimates computational resource information for the configured grid candidates, including changes in computational capacity over time, and stores the estimated computational resource information in the memory unit together with data identifying the mobile bodies that constitute the grid candidates.

[0014] According to this configuration, in a method for managing grid computing using computational resources mounted on mobile objects, candidates for a group of mobile objects to form a grid to execute grid computing are configured as grid candidates. Then, for the configured grid candidates, computational resource information, including time-varying computational capabilities, is stored in a storage unit along with data identifying the mobile objects that make up the grid candidate. As a result, when a job is requested from a client terminal, it is only necessary to select a grid to execute the job from the grid candidates stored in the storage unit, and there is no need to configure a new grid to execute the job. Therefore, the requested job can be executed promptly. [Effects of the Invention]

[0015] As described above, the technology disclosed herein enables requested jobs to be executed quickly in a management system that manages grid computing using computational resources mounted on a mobile object. [Brief explanation of the drawings]

[0016] [Figure 1] FIG. 1 is a schematic diagram illustrating a configuration of a system according to an embodiment. [Figure 2] Conceptual diagram to explain grid computing [Figure 3] A block diagram illustrating the configuration of a vehicle [Figure 4] A block diagram illustrating the configuration of a user terminal. [Figure 5] Block diagram illustrating a client-server configuration [Figure 6] Block diagram illustrating the configuration of a facility server [Figure 7] Block diagram showing an example of the configuration of a management server [Figure 8] 10 is a flowchart illustrating a job reception process. [Figure 9] FIG. 10 is a schematic diagram illustrating an example of an image of a job reception screen. [Figure 10] 1 is a flowchart illustrating a prediction process; [Figure 11] 1 is a flowchart illustrating a matching process; [Figure 12] 1 is a flowchart illustrating a grid computing process. [Figure 13] FIG. 10 is a schematic diagram illustrating an example of an image of a confirmation screen. [Figure 14] An example of the processing flow when a management server configures grid candidates [Figure 15] Image of grid candidate table [Figure 16] Another example of the process flow when a management server configures a grid candidate DETAILED DESCRIPTION OF THE INVENTION

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

[0018] (system) 1 illustrates an example of the configuration of a system 1 according to an 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.

[0019] [Grid Computing] As shown in FIG. 2, in the system 1 of the embodiment, grid computing is configured by a plurality of computing devices 105, and grid computing processing is performed in which an available computing device 105 among the plurality of computing devices 105 processes job data.

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

[0021] On the other hand, when the computing power of the arithmetic device 105 is no longer needed in the vehicle 10, the arithmetic device 105 is stopped, and the computing power of the arithmetic device 105 is no longer used. For example, when the vehicle 10 is stopped and the power supply of the vehicle 10 is turned off, the computing power of the arithmetic device 105 is no longer needed, and the arithmetic device 105 is stopped.

[0022] Here, when the computing power of the computing device 105 is not required 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.

[0023] 〔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.

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

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

[0026] The sensor 12 acquires various types of information used to control the vehicle 10. Examples of the sensor 12 include an exterior camera 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.

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

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

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

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

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

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

[0033] The number of processors installed in the arithmetic device 105 may be one or more. The processor installed in the arithmetic device 105 may be either a CPU or a GPU, or both a CPU and a GPU. In this example, the arithmetic device 105 has both a CPU and a GPU. For example, the arithmetic device 105 is configured by one or more ECUs (Electronic Control Units).

[0034] In this example, the storage unit 104 stores vehicle information D11, vehicle state information D12, driving history information D13, arithmetic unit information D14, and operation history information D15.

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

[0036] <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. For example, vehicle location information can be acquired using a 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).

[0037] <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 time.

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

[0039] <Operation history information> The operation history information D15 is information that indicates the operation history of the arithmetic device 105. For example, the operation history information D15 indicates the utilization rate of the computing capacity of the arithmetic device 105 in association with time.

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

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

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

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

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

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

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

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

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

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

[0050] <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, when a user uses the schedule function to input their own behavior history and behavior schedule into the user terminal 20, the schedule information D23 indicating the user's behavior history and behavior schedule is obtained.

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

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

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

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

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

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

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

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

[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 server] The facility server 40 is owned by a facility. Users visit the facility. Users can make reservations to visit the facility. Examples of such facilities include stadiums, theaters, supermarkets, restaurants, accommodations, and stores.

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

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

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

[0068] <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 visit the facility and their stay period (or planned stay period) in association with each other.

[0069] [Management Server] 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.

[0070] 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 storage unit 504 and control unit 505 are examples of components of a management system that manages grid computing processing.

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

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

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

[0074] 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 operating 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.

[0075] <Client Table> The client table D53 is a table for managing clients. For each client, the client table D53 registers the client ID set for that client, the client server ID set for the client server 30 owned by the client, the name, address, telephone number, etc. of the person in charge of that client.

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

[0077] <Resource Table> The resource table D55 is a table for managing the computational capacity in grid computing processing. Specifically, the resource table D55 is a table for managing the results of a prediction process, which will be described later. For each computing device 105, the resource table D55 registers the computing device ID set for that computing device 105, the prediction result of the temporal change in the computational capacity available for grid computing processing of that computing device 105, and the like.

[0078] Matching Table The matching table D56 is a table for managing the results of the matching process described later. For each job, the matching table D56 registers the reception number set for that job, the job data corresponding to that job, the arithmetic device ID set for the arithmetic device 105 assigned to that job data by the matching process, and the like.

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

[0080] <Calculation result data> The calculation result data D2 stored in the storage unit 504 is job data calculated by grid computing processing, which will be described later, and indicates the results of that calculation.

[0081] [Update user table] Next, the updating of the user table D51 will be described. The user table D51 is updated by the control unit 505 of the management server 50.

[0082] For example, when a new user joins the system 1, the control unit 505 updates the user table D51 by registering information related to the new user in the user table D51.

[0083] Specifically, the control unit 505 sets a new user ID for the new user, associates the "user ID" set for the new user with the "vehicle ID" set for the vehicle 10 owned by the user, the "computing device ID" set for the computing device 105 installed in the vehicle 10, and the "user terminal ID" set for the user terminal 20 owned by the new user, and registers them in the user table D51.

[0084] It is possible to obtain a "vehicle ID" and a "computing device ID" related to the new user through communication between the vehicle 10 owned by the new user and the management server 50. It is also possible to obtain a "user terminal ID" related to the new user through communication between the user terminal 20 owned by the new user and the management server 50.

[0085] [Updating the arithmetic unit table] Next, the update of the arithmetic unit table D52 will be described. The arithmetic unit table D52 is updated by the control unit 505 of the management server 50.

[0086] For example, when a new arithmetic device 105 joins the system 1, the control unit 505 updates the arithmetic device table D52 by registering information related to the new arithmetic device 105 in the arithmetic device table D52.

[0087] Specifically, the control unit 505 associates the "computing device ID" set in the new computing device 105, the "user ID" set for the user who owns the computing device 105, the "vehicle ID" set for the vehicle 10 in which the computing device 105 is installed, and the "performance" and "operating status" of the computing device 105, and registers them in the computing device table D52.

[0088] It is possible to obtain the "calculation device ID," "vehicle ID," "performance," and "operation status" related to the new calculation device 105 through communication between the vehicle 10 equipped with the new calculation device 105 and the management server 50. It is also possible to obtain the "user ID" related to the new calculation device 105 by referring to the user table D51.

[0089] [Periodic update of the calculation unit table] Furthermore, the "operational status" of the arithmetic device 105 registered in the arithmetic device table D52 is updated periodically. In other words, the operational status information D5 included in the arithmetic device table D52 is updated periodically. This periodic update is performed by the control unit 505 of the management server 50.

[0090] <First update process> For example, the "operation status" of the arithmetic device 105 in the arithmetic device table D52 (in other words, the operation status information D5) may be periodically updated based on the "operation history information D15" of the vehicle 10. Specifically, the control unit 505 may execute the following first update process for each arithmetic device 105 registered in the arithmetic device table D52.

[0091] In the first update process, the control unit 505 requests the vehicle 10 equipped with the arithmetic device 105 to access the "operation history information D15." In response to the request, the arithmetic device 105 of the vehicle 10 permits access to the "operation history information D15." Based on the operation history of the arithmetic device 105 indicated in the operation history information D15, the control unit 505 updates the "operation history," which is the past operation status, of the "operation status" of the arithmetic device 105 registered in the arithmetic device table D52.

[0092] <Second update process> Furthermore, the "operational status" of the arithmetic device 105 in the arithmetic device table D52 (in other words, the operation status information D5) may be periodically updated based on the "travel history information D13" of the vehicle 10. Specifically, the control unit 505 may execute the following second update process for each arithmetic device 105 registered in the arithmetic device table D52.

[0093] In the second update process, the control unit 505 requests the vehicle 10 equipped with the arithmetic device 105 to access the "driving history information D13." In response to the request, the arithmetic device 105 of the vehicle 10 permits access to the "driving history information D13." The control unit 505 estimates the operation history of the arithmetic device 105 based on the driving history of the vehicle 10 indicated in the driving history information D13. Next, the control unit 505 updates the "operation history," which is the past operation status of the "operation status" of the arithmetic device 105 registered in the arithmetic device table D52, based on the estimated operation history of the arithmetic device 105.

[0094] <Third update process> Furthermore, the "operation status" of the arithmetic device 105 in the arithmetic device table D52 (in other words, the operation status information D5) may be periodically updated based on the "schedule information D23" of the user terminal 20. Specifically, the control unit 505 may execute the following third update process for each arithmetic device 105 registered in the arithmetic device table D52.

[0095] In the third update process, the control unit 505 requests the user terminal 20 owned by the user who owns the arithmetic device 105 to access the "schedule information D23." In response to the request, the control unit 205 of the user terminal 20 permits access to the "schedule information D23." The control unit 505 detects a behavioral situation related to the vehicle 10 equipped with the arithmetic device 105 from the user's behavioral situation (behavior history and behavior plan) shown in the schedule information D23.

[0096] For example, from among the user's behavioral status, the behavioral history, which is the past behavioral status of the user, the behavioral history in which the user has boarded the vehicle 10 is detected, and from among the user's behavioral status, the behavioral schedule, which is the future behavioral status of the user, the behavioral schedule in which the user plans to board the vehicle 10 is detected.

[0097] Next, the control unit 505 estimates the driving status (driving history and driving schedule) of the vehicle 10 based on the detected behavioral status of the user. Next, the control unit 505 estimates the operating status (operating history and operating schedule) of the arithmetic device 105 based on the estimated driving status of the vehicle 10. Then, the control unit 505 updates the "operating status" of the arithmetic device 105 registered in the arithmetic device table D52 based on the estimated operating status of the arithmetic device 105.

[0098] <Fourth update process> Furthermore, the "operation status" of the arithmetic device 105 in the arithmetic device table D52 (in other words, operation status information D5) may be periodically updated based on the "facility usage information D42" of the facility server 40. Specifically, the control unit 505 may execute the following fourth update process for each arithmetic device 105 registered in the arithmetic device table D52.

[0099] In the fourth update process, the control unit 505 requests the facility server 40 to access the "facility usage information D42." In response to the request, the facility server 40 permits access to the "facility usage information D42." The control unit 505 detects the usage status related to the vehicle 10 equipped with the calculation device 105 from the usage status (usage history and planned use) of the facility indicated in the facility usage information D42.

[0100] For example, from the usage history, which is the past usage status of the facility, usage history in which the user has boarded vehicle 10 is detected, and from the usage schedule, which is the future usage status of the facility, usage schedule in which the user plans to board vehicle 10 is detected.

[0101] Next, the control unit 505 estimates the driving status (driving history and driving schedule) of the vehicle 10 based on the detected usage status of the facility. Next, the control unit 505 estimates the operating status (operating history and operating schedule) of the arithmetic device 105 based on the estimated driving status of the vehicle 10. Next, the control unit 505 updates the "operating status" of the arithmetic device 105 registered in the arithmetic device table D52 based on the estimated operating status of the arithmetic device 105.

[0102] [Update client table] Next, the update of the client table D53 will be explained. The client table D53 is updated by the control unit 505 of the management server 50.

[0103] For example, when a new client joins the system 1, the control unit 505 updates the client table D53 by registering information related to the new client in the client table D53.

[0104] Specifically, the control unit 505 sets a new client ID for the new client, associates the "client ID" set for the new client with the "client server ID" set for the client server 30 owned by the new client, and the "person in charge," "address," and "telephone number" of the new client, and registers them in the client table D53.

[0105] By communication between the client server 30 and the management server 50, it is possible to obtain the "client server ID", "person in charge", "address" and "telephone number" of the new client.

[0106] [Processing by the control unit (management method)] The control unit 505 performs job reception processing, prediction processing, matching processing, and grid computing processing.

[0107] [Job acceptance process (job acceptance step)] Next, the job reception process will be described with reference to Fig. 8. In the job reception process, job data D1 for which a calculation is requested by a client is received. The control unit 505 performs the following process each time a calculation of the job data D1 is requested by the client.

[0108] <Step S11> 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 server 30 transmits a job request application to the management server 50. In response to the application, the control unit 505 of the management server 50 performs the following processing.

[0109] The control unit 505 requests the client server 30 to transmit information required to accept the job (specifically, client information related to the client requesting the job and job information related to the job). In this example, the control unit 505 transmits image data of the job acceptance screen to the client server 30. The control unit 305 of the client server 30 reproduces the image of the job acceptance screen from the image data, and causes the output unit 302 (display unit) to output (display) the image.

[0110] 9, the job reception screen is a screen for inputting information required to receive a job. The job reception screen has a client name input field R101 for inputting the client name, a person in charge name input field R102 for inputting the name of the person in charge of the client, an address input field R104 for inputting the client's address, a job name input field R111 for inputting the name of the job, a job content input field R112 for inputting an explanation of the job content, a calculation type input field R113 for inputting the calculation type of job data corresponding to the job, a processing condition input field R114 for inputting the processing conditions of the job data, a required calculation capacity input field R115 for inputting the required calculation capacity of the job data, a delivery date input field R116 for inputting the delivery date of the job, and a register button B100.

[0111] The person in charge of the client operates the input unit 301 (operation unit) of the client server 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 server 30 to press the registration button B100 on the job reception screen. When the registration button B100 is pressed, the control unit 305 of the client server 30 transmits the information (client information and job information) input into the job reception screen to the management server 50. The control unit 505 of the management server 50 receives the client information and job information.

[0112] Next, the control unit 505 requests the client server 30 to transmit job data D1 corresponding to the job. In response to the request, the control unit 305 of the client server 30 transmits the job data D1 corresponding to the job to the management server 50. The control unit 505 of the management server 50 receives the job data D1.

[0113] <Step S12> Next, the control unit 505 of the management server 50 analyzes the job data D1 received in step S11. Specifically, the control unit 505 analyzes the calculation type, processing conditions, required calculation capacity, etc. of the job data D1. Then, the control unit 505 modifies the job information received in step S11 based on the results of the analysis of the job data D1.

[0114] If the job information received in step S11 is sufficiently reliable, the process of step S12 may be omitted.

[0115] <Step S13> Next, the control unit 505 of the management server 50 associates the client information received in step S11 with the job information corrected as necessary in step S12 (or the job information received in step S11), and registers them in the job table D54. The control unit 505 also stores the job data D1 received in step S11 in the storage unit 504.

[0116] [Prediction process (prediction step)] Next, the prediction process will be described with reference to Fig. 10. In the prediction process, the computational capacity of a computation device 105 that can be used in grid computing processing among the multiple computation devices 105 is predicted based on the computation device table D52 (specifically, the computational capacity information D7 and the operational status information D5) stored in the storage unit 504. When the computation device table D52 (specifically, at least one of the computational capacity information D7 and the operational status information D5) stored in the storage unit 504 is updated, the control unit 505 performs the following process.

[0117] <Step S21> First, the control unit 505 acquires the "computing capacity" and "operating status" of the computing device 105 registered in the computing device table D52. In other words, the control unit 505 acquires the computing capacity information D7 and operating status information D5 included in the computing device table D52.

[0118] <Step S22> Next, for each computing device 105, the control unit 505 predicts the change over time in the computing capacity available for grid computing processing of the computing device 105 based on the computing capacity of the computing device 105 indicated in the computing capacity information D7 and the operating status of the computing device 105 indicated in the operating status information D5.

[0119] Specifically, the control unit 505 predicts a trend (pattern) of changes in the utilization rate of the computing device 105's computing capacity based on the operating status of the computing device 105 indicated in the operating status information D5. This prediction of the trend of changes in the utilization rate of the computing device 105's computing capacity may be achieved by machine learning. Then, based on the trend of changes in the utilization rate of the computing capacity of the computing device 105, the control unit 505 predicts a period when the computing capacity of the computing device 105 has spare capacity (a period when the utilization rate of the computing capacity is not 100%), and defines this period as a "period during which the computing capacity of the computing device 105 can be used for grid computing processing." For example, the control unit 505 defines a period during which the utilization rate of the computing capacity of the computing device 105 is "30%" as a period during which "70%" of the computing capacity of the computing device 105 can be used for grid computing processing.

[0120] <Step S23> Next, the control unit 505 registers in the resource table D55, for each arithmetic device 105, the change over time in the computational capacity available for grid computing processing of the arithmetic device 105 predicted in step S22. This updates the resource table D55.

[0121] [Matching process (matching step)] Next, the matching process will be described with reference to Fig. 11. The matching process is a process of assigning a computing device 105 available for grid computing processing among the multiple computing devices 105 to the job data D1 accepted in the acceptance process based on the prediction result of the prediction process. After the job acceptance process is completed, the control unit 505 performs the following process.

[0122] <Step S31> First, the control unit 505 selects a job to be subjected to the matching process from among the jobs registered in the job table D54. Then, the control unit 505 selects job data D1 corresponding to the job to be subjected to the matching process from among the job data D1 stored in the storage unit 504.

[0123] <Step S32> Next, the control unit 505 selects, from among the multiple computing devices 105, a computing device 105 that can be used in grid computing processing for the job data D1 selected in step S31, based on the predicted change over time in the computing capacity available for grid computing processing of each of the multiple computing devices 105 registered in the resource table D55.

[0124] Specifically, the control unit 505 determines a planned calculation period during which grid computing processing for job data D1 will be executed, and detects a calculation device 105 that can provide calculation capacity during the planned calculation period from among the multiple calculation devices 105. Then, the control unit 505 selects a calculation device 105 to be assigned to job data D1 from among the calculation devices 105 that can provide calculation capacity during the planned calculation period so that the "total calculation capacity provided to grid computing processing" is equal to or greater than the "computation capacity required for calculating job data D1 in grid computing processing."

[0125] <Step S33> Next, the control unit 505 assigns the arithmetic device 105 selected in step S32 to the job data D1 selected in step S31. Then, the control unit 505 registers matching result information indicating which arithmetic device 105 is assigned to which job data D1 in the matching table D56.

[0126] [Grid Computing Processing] Next, the grid computing process will be described with reference to Fig. 12. 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.

[0127] <Step S41> First, the control unit 505 refers to the matching table D56 and distributes the job data D1 to be subjected to the grid computing process to the arithmetic devices 105 assigned to the job data D1 in the matching process. 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.

[0128] <Step S42> Next, when each of the arithmetic devices 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.

[0129] <Step S43> The control unit 505 determines whether all of the arithmetic devices 105 to which the job data D1 was distributed in step S41 have completed calculations. If all of the arithmetic devices 105 have completed calculations, the process of step S44 is performed; if not, the process of step S42 is performed.

[0130] <Step S44> When all of the arithmetic devices 105 have completed the calculations, the control unit 505 generates 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 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 the job data D1 that is the target of the grid computing process to the client server 30 of the client that requested the calculation of the job data D1.

[0131] <Step S45> Next, a reward is granted by the operator of the system 1 to a user who has provided the computing power of the computing device 105 for the grid computing process. Examples of rewards granted to a user 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 a user who has 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.

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

[0133] [Job progress check] In this example, when the control unit 505 of the management server 50 receives a request from the client server 30 of the client that has requested the job to confirm the progress of the job processing, the control unit 505 responds to the request by transmitting image data of a confirmation screen for confirming the progress of the job processing to the client server 30. The client server 30 reproduces an image of the confirmation screen from the image data, and causes the output unit 302 (display unit) to output (display) the image.

[0134] As shown in Figure 13, the confirmation screen has a job name display field R201 that displays the name of the job, a processing progress display field R202 that displays the processing progress of the job, a calculation start date and time display field R203 that indicates the date and time when job processing will start, a calculation end date and time display field R204 that indicates the date and time when job processing will end, and a participating user display field R205 that indicates users who will provide the computing power of the computing device 105 for grid computing processing for the job.

[0135] [Effects of the embodiment] As described above, the system 1 of the embodiment can provide the computing power of grid computing to clients.

[0136] Furthermore, by providing a reward to a user who provides the computing power of the computing device 105 to grid computing, it is possible to encourage the provision of the computing power of the computing device 105 to grid computing. This makes it easier to secure computing power for grid computing.

[0137] (Modification 1 of the embodiment) The matching process may be performed taking into consideration the calculation type of the job data D1.

[0138] In a first variant of the embodiment, in the matching process, the control unit 505 assigns, to the job data D1, one of the multiple computing devices 105 that can be used in grid computing processing and has performance corresponding to the calculation type of the job data D1.

[0139] With the above configuration, it is possible to appropriately allocate arithmetic units 105 to job data D1 according to the calculation type of the job data D1. For example, it is possible to allocate arithmetic units 105 in which the CPU ratio is higher than the GPU ratio to job data D1 of a CPU-based calculation type. Also, it is possible to allocate arithmetic units 105 in which the GPU ratio is higher than the CPU ratio to job data D1 of a GPU-based calculation type.

[0140] (Modification 2 of the embodiment) Furthermore, the matching process may be performed taking into consideration the execution conditions of the job data D1.

[0141] In a second variant of the embodiment, in the matching process, the control unit 505 assigns, to the job data D1, one of the multiple computing devices 105 that can be used in grid computing processing and has performance that corresponds to the execution conditions of the job data D1.

[0142] With the above configuration, it is possible to appropriately allocate the arithmetic device 105 to the job data D1 according to the execution conditions of the job data D1. For example, it is possible to allocate the arithmetic device 105 capable of constant communication to the job data D1 whose processing conditions require constant communication. Also, it is possible to allocate the arithmetic device 105 that does not allow constant communication to the job data D1 whose processing conditions do not require constant communication.

[0143] (Modification 3 of the embodiment) Furthermore, the matching process may be performed taking into consideration the delivery date of the job data D1.

[0144] In the third variation of the embodiment, in the matching process, the control unit 505 assigns, to the job data D1, one of the multiple computing devices 105 that can be used for grid computing processing so that the grid computing processing for the job data D1 is completed by the deadline set in the job data D1.

[0145] With the above configuration, it is possible to appropriately allocate the arithmetic device 105 to the job data D1 in accordance with the deadline of the job data D1.

[0146] (Fourth Modification of the Embodiment) Furthermore, the matching process may be performed taking into consideration the communication state of the arithmetic device 105.

[0147] In the fourth modification of the embodiment, the control unit 505 monitors the quality of the communication state of each arithmetic device 105, and predicts (learns) a temporal change in the quality of the communication state of the arithmetic device 105 from the history of the communication state of the arithmetic device 105. Then, in the matching process, the control unit 505 assigns, to the job data D1, a arithmetic device 105 that is available for grid computing processing and has a communication state quality that exceeds a predetermined quality, from among the multiple arithmetic devices 105.

[0148] With the above configuration, it is possible to appropriately allocate the arithmetic devices 105 to the job data D1 in accordance with the quality of the communication state of the arithmetic devices 105.

[0149] (Fifth Modification of the Embodiment) Furthermore, the matching process may be performed taking into consideration the remaining battery power of the vehicle 10 in which the arithmetic device 105 is installed.

[0150] In the fifth modification of the embodiment, the control unit 505 monitors the remaining battery charge of each vehicle 10, and predicts (learns) a change in the remaining battery charge of each vehicle 10 over time from the history of the remaining battery charge of each vehicle 10. Then, in the matching process, the control unit 505 assigns, to the job data D1, a calculation device 105 from among the plurality of calculation devices 105 that is available for grid computing processing and is installed in a vehicle 10 whose remaining battery charge exceeds a predetermined amount.

[0151] With the above configuration, it is possible to appropriately allocate the arithmetic device 105 to the job data D1 in accordance with the remaining battery power of the vehicle 10 in which the arithmetic device 105 is mounted.

[0152] (Modification 6 of the embodiment) Furthermore, the matching process may be performed taking into consideration whether the vehicle 10 in which the arithmetic device 105 is installed is parked.

[0153] In the sixth modification of the embodiment, the control unit 505 monitors the position of each vehicle 10 and predicts (learns) the parking period of the vehicle 10 from the position history of the vehicle 10. Then, in the matching process, the control unit 505 assigns, to the job data D1, a computing device 105 among the multiple computing devices 105 that is available for grid computing processing and is installed in the parked vehicle 10.

[0154] With the above-described example, it is possible to appropriately allocate the arithmetic device 105 to the job data D1 depending on whether the vehicle 10 equipped with the arithmetic device 105 is parked or not.

[0155] (Seventh Modification of the Embodiment) Furthermore, the matching process may be performed taking into consideration whether the vehicle 10 equipped with the arithmetic device 105 is currently being charged at a charging facility.

[0156] In the seventh modification of the embodiment, the control unit 505 monitors, for each vehicle 10, whether the vehicle 10 is being charged (charging at a charging facility) and predicts (learns) the charging period of the vehicle 10 from the history of whether the vehicle 10 is being charged. Then, in the matching process, the control unit 505 assigns, to the job data D1, a calculation device 105 from among the multiple calculation devices 105 that is available for grid computing processing and is installed in the vehicle 10 that is being charged at a charging facility.

[0157] With the above configuration, it is possible to appropriately allocate the arithmetic device 105 to the job data D1 depending on whether the vehicle 10 equipped with the arithmetic device 105 is currently being charged at a charging facility.

[0158] (Predicting a Computable Schedule for a Fleet of Vehicles) In the present disclosure, the management server 50 may estimate the computational capacity of a vehicle "group" consisting of multiple vehicles that make up a grid, based on information about the computational resources of each vehicle 10. The vehicle group that makes up this group becomes a candidate grid (grid candidate) for the actual grid computing.

[0159] FIG. 14 shows an example of a processing flow. The management server 50 acquires information about the computational resources of each vehicle 10 based on transmitted data and the like (S61). The acquired information may be, for example, the computational amount, computation type, or computational availability schedule of the computational device 105 installed in the vehicle 10. The computational amount and computation type may be ascertained from the data transmitted from the vehicle 10. The computational availability schedule may be estimated by, for example, analyzing the past usage trends of the vehicle 10 and the computational device 105 of the vehicle 10 stored in the storage unit 504. The management server 50 registers the acquired or predicted results in, for example, the computational device table D52 of the storage unit 504 (S62). Note that if information about the computational resources of each vehicle 10 has already been registered in the storage unit 504, that information may be used in subsequent processing.

[0160] The management server 50 configures a group of vehicles (grid candidates) to form a grid, by referencing the information on the computational resources of each vehicle 10 stored in the storage unit 504 (S63). The management server 50 configures the grid candidates by using, in addition to the information on the computational resources of each vehicle 10, information about the vehicle 10, such as the vehicle's 10 location data and user schedule information, stored in the storage unit 504. Then, the management server 50 estimates computational resource information, including changes in computational capacity over time, for the configured grid candidates by referencing the computation device table D52 stored in the storage unit 504, and registers this information in the grid candidate table D61 in the storage unit 504 (S64).

[0161] FIG. 15 is a data image diagram of the grid candidate table D61. In FIG. 15, the grid candidate table D61 stores information on multiple grid candidates No. 001 to No. XXX. The information on each grid candidate includes a list of vehicles that make up the grid candidate and computational resource information for the grid candidate. The vehicle list includes data that identifies the vehicles that make up the grid candidate, such as vehicle numbers. The computational resource information includes changes over time in the computational capacity of the grid candidate and the computation types that the grid candidate can execute. Note that it is permissible for one vehicle 10 to belong to multiple grid candidates. The information in the grid candidate table D61 is updated as needed depending on the movement status of the vehicle 10, the operating status of the computation device 105 of the vehicle 10, etc.

[0162] Specifically, grid candidates are configured, for example, as follows: For example, multiple vehicles 10 equipped with arithmetic devices 105 of the same calculation type are configured as grid candidates. Alternatively, multiple vehicles 10 equipped with arithmetic devices 105 of different calculation types are configured as grid candidates. Alternatively, multiple vehicles 10 with the same calculable schedule are configured as grid candidates. Alternatively, multiple vehicles 10 that stop in close proximity are configured as grid candidates.

[0163] Note that grid candidates may be configured by combining multiple conditions. For example, a vehicle whose parking position is within a predetermined range (for example, within a circle with a radius of 1 km), that is capable of calculation between 7 PM and midnight on weekdays, and that is equipped with a GPU-based calculation device 105 may be configured as a grid candidate.

[0164] When a request to execute a job is received from a client terminal 30 (S71), the management server 50 registers the received request in the job table D54 (S65). Then, by referencing the computational resource information of each grid candidate in the grid candidate table D61, the management server 50 matches the requested job with the grid candidates and allocates a grid to execute the job from among the grid candidates (S66). Then, the management server 50 distributes the divided processing of the job to each vehicle 10 that constitutes the allocated grid (S67).

[0165] Fig. 16 shows another example of a processing flow. In Fig. 16, a requested job is matched with grid candidates, and a grid for executing the job is allocated from among the grid candidates (S66). If the allocation is successful (YES in S81), the processing of the divided job is distributed to each vehicle 10 that makes up the allocated grid (S67).

[0166] On the other hand, if the allocation is not successful (NO in S81), the management server 50 refers to the arithmetic device table D52 stored in the storage unit 504 and configures a new grid to execute the requested job (S82). If the configuration of the new grid is successful (YES in S83), the divided processes of the job are distributed to the vehicles 10 that configure the grid (S67). On the other hand, if the configuration of the new grid is not successful (NO in S83), measures are taken, such as sending incentives to the owners of each vehicle 10 to increase the computing resources.

[0167] In this way, in the management server 50, candidates for a group of vehicles 10 that form a grid to perform grid computing are configured as grid candidates. Then, for the configured grid candidates, computational resource information, including changes in computational capacity over time, is stored in the storage unit 504 together with data identifying the vehicles 10 that make up the grid candidates. As a result, when a job is requested from the client terminal 30, it is only necessary to select a grid to execute the job from the grid candidates stored in the storage unit 504, and there is no need to configure a new grid to execute the job. Therefore, the requested job can be executed promptly.

[0168] (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.

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

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

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

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

[0173] The above embodiments may be combined as appropriate. 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. [Industrial Applicability]

[0174] The technology disclosed herein is useful as a technology for managing grid computing. [Explanation of symbols]

[0175] 1 System 10 vehicles 105 Arithmetic equipment 20 User terminal 30 Client Server 50 Management Server 504 Storage section 505 Control Unit D61 Grid Candidate Table

Claims

1. A management system for managing grid computing using computational resources mounted on a mobile object, comprising: A control unit; a storage unit for storing resource information, which is information about computational resources installed in each mobile body, and mobile body information, which is information about each mobile body; The control unit a process of configuring, as grid candidates, candidates for a group of mobile objects that will be organized into a grid for performing grid computing, by referring to the resource information and the mobile object information stored in the storage unit; For the configured grid candidate, processing is performed to estimate computational resource information including time-varying computational capacity by referring to the resource information and the mobile entity information stored in the storage unit, and to store the estimated computational resource information in the storage unit together with data identifying the mobile entities that configure the grid candidate. Management system.

2. 2. The management system according to claim 1, The control unit For a job requested by a client terminal, the processing refers to the computational resource information of each grid candidate stored in the storage unit, and performs processing to allocate a grid to execute the job from among the grid candidates. Management system.

3. 3. The management system according to claim 2, The control unit If the allocation is not successful, the resource information and the mobile entity information stored in the storage unit are referenced to newly configure a grid for executing the job. Management system.

4. In the management system according to any one of claims 1 to 3, The resource information includes at least the type and computing power of the computing resource, and the mobile unit information includes at least location data of the mobile unit; The control unit performs a process of forming grid candidates using at least one of the type of computing resource of each mobile body, the computing power of the computing resource of each mobile body, and the position data of each mobile body. Management system.

5. A method for managing grid computing using computational resources mounted on a mobile object by a computer, comprising: Using resource information, which is information about the computing resources installed in each mobile body and mobile body information, which is information about each mobile body, stored in the storage unit, The computer a process of configuring, as grid candidates, a group of mobile objects that form a grid for performing grid computing, by referring to the resource information and the mobile object information; For the configured grid candidate, processing is performed to estimate computation resource information including time-varying computational capabilities by referring to the resource information and the mobile entity information, and to store the estimated computation resource information in the storage unit together with data identifying the mobile entities that configure the grid candidate. Management method.

Citation Information

Patent Citations

  • Distributed processing system, on-board terminal, and base station

    JP2007089021A

  • Division processing management device, division processing management system, arithmetic processing execution system and division processing management method

    JP2007241394A

  • Management server and program

    JP2020160661A

  • Using predictive analytics to determine expected use patterns of vehicles to recapture under-utilized computational resources of vehicles

    US20200128066A1