Management device, management method, management program, and vehicle computing device
The management device enhances grid computing efficiency by estimating continuous non-operating time and capacity of vehicles, forming groups for accurate job-resource matching, ensuring efficient and reliable job processing.
Patent Information
- Application Number
- JP2021176419
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2021-10-28
- Publication Date
- 2026-01-14
- Estimated Expiration
- 2041-10-28
AI Technical Summary
Existing grid computing systems fail to efficiently match jobs with computing resources due to varying computing capabilities of vehicles, leading to inefficient job processing and potential over-specification of computing power.
A management device that estimates continuous non-operating time periods and computational capacity of vehicles, forming specific device groups with overlapping non-operating times to accurately match jobs with suitable resources, considering battery charging status and computing power.
This approach allows for efficient job processing by accurately estimating and matching jobs with appropriate computing resources, improving processing efficiency and reliability, especially for jobs with deadlines.
Smart Images

Figure 0007797826000001 
Figure 0007797826000002 
Figure 0007797826000003
Abstract
Description
[Technical Field]
[0001] The technology disclosed herein belongs to the technical field of a management device, a management method, and a management program for managing computational resources for grid computing processing, as well as a vehicle's computational device that serves as a computational resource for grid computing processing. [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 not been effectively utilized when the vehicle is not in use, such as when the vehicle is parked. In response to this situation, studies have been conducted to effectively utilize the computing devices installed in multiple vehicles by performing grid computing processing using the computing devices installed in each vehicle.
[0003] For example, Patent Document 1 discloses a management server for grid computing processing that uses a communication device mounted on a vehicle. This management server includes a signal receiving unit that receives a signal from the communication device indicating that the vehicle is able to participate in the grid computing processing, 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 the grid computing processing when the processing capacity of the processing device is insufficient. [Prior art documents] [Patent documents]
[0004] [Patent Document 1] Japanese Patent Application Publication No. 2020-160661 Summary of the Invention [Problem to be solved by the invention]
[0005] There are various types of jobs that can be processed using grid computing. Therefore, in order to process jobs efficiently, it is necessary to match jobs with computing resources so that the computing power of the computing resources that perform the grid computing processing is not over-specified. To improve the accuracy of matching jobs with computing resources, it is effective to estimate the computing power of the computing resources in advance.
[0006] Patent Document 1 discloses that schedule information indicating periods when a vehicle is not being used for driving is created from the vehicle usage history, and vehicles to participate in grid computing processing are determined based on the schedule information. However, since the computing devices installed in vehicles have different computing capabilities, simply considering the schedule makes it impossible to appropriately match jobs with computing resources.
[0007] The technology disclosed herein has been made in view of the above points, and its purpose is to improve the efficiency of job calculation processing by grid computing processing. [Means for solving the problem]
[0008] In order to solve the above problem, the technology disclosed herein targets a management device for computational resources of grid computing processing in which each computational device mounted on each of a plurality of vehicles serves as a computation node, and includes: a communication unit that communicates with each of the plurality of computational devices; a memory unit that stores information about each of the plurality of computational devices; and a control unit. The memory unit stores the computational capacity and operation history of each of the plurality of computational devices. The control unit is configured to execute the following processes: a non-operating time period estimation process that estimates, for each computational device, a continuous non-operating time period in which the computational device is continuously in an non-operating state for a first predetermined time or more from the operation history of each of the computational devices; a device identification process that identifies a specific computational device group consisting of a plurality of specific computational devices among the computational devices whose continuous non-operating time periods overlap; and a computational capacity estimation process that calculates, for each of the specific computational devices, a continuous computational capacity that is the product of the length of the overlapping continuous non-operating time period and the computational capacity, and sums up each of the continuous computational capacities to estimate the continuous computational capacity of the specific computational device group.
[0009] Generally, the higher the computational capacity of a computing resource in a grid computing process, the shorter the computation time, while the lower the computational capacity of the computing resource, the longer the computation time. In other words, the computational capacity and computation time of a computing resource are inversely proportional to each other. Therefore, calculating the continuous computational capacity, which is the product of the computational resource's computation time and available computation time, provides an indicator of the amount of data the computing resource can process, and allows for accurate estimation of the amount of job computation processing the computing resource can complete in grid computing processing. According to the above configuration, the continuous computational capacity of the computing device group is calculated by taking into account both the continuous non-operating time (corresponding to the available computation time) of each computing device constituting the computing device group and the computational capacity of each computing device. This allows for accurate calculation of the continuous computational capacity when the computing device group is used as a computing resource in grid computing processing. This allows for effective matching of jobs and computing resources, thereby improving the efficiency of job computation processing in grid computing processing.
[0010] In the management device, the specific arithmetic device group may be configured to include the plurality of specific arithmetic devices whose consecutive non-operating time periods overlap for a second predetermined time or more.
[0011] This configuration makes it possible to effectively form a specific processing device group having the continuous computing power required for the job processing, thereby making it possible to more efficiently process the job using grid computing.
[0012] In the management device, the control unit may be configured to further estimate a change over time in the continuous computing capabilities of the specific computing device group during the overlapping continuous non-operating time periods in the computing capability estimation process.
[0013] In other words, since the continuous computing capacity is the product of the length of the overlapping continuous non-available time periods and the computing capacity of the computing device, the length of the overlapping continuous non-available time periods decreases over time, and the continuous computing capacity decreases. This allows the continuous computing capacity to be calculated more accurately, making it possible to effectively match jobs with computing resources. In particular, when a job with a short deadline is suddenly requested, it is possible to appropriately set the computing resources to execute the job. This makes it possible to more efficiently process jobs using grid computing processing.
[0014] In the management device, the control unit may be configured to be able to identify multiple specific arithmetic device groups having different combinations of the specific arithmetic devices in the device identification process, and to estimate continuous computing capacity for each of the specific arithmetic device groups in the computing capacity estimation process, and the control unit may be configured to identify each of the multiple specific arithmetic device groups while allowing overlap of the specific arithmetic devices among the specific arithmetic device groups.
[0015] In other words, because a specific arithmetic unit group consisting of various combinations can be identified, it becomes possible to match a job with a computational resource consisting of a specific arithmetic unit group that is suited to the computational power required for the job, thereby making it possible to more efficiently process the job using grid computing processing.
[0016] Furthermore, if a specific computing device group is formed by including all computing devices with overlapping continuous non-operating time periods as specific computing devices, the length of the overlapping continuous non-operating time periods may be shortened by some of the specific computing devices. In this case, the length of the overlapping continuous non-operating time periods will be longer if the specific computing device group is formed by excluding those some of the specific computing devices. In this configuration, continuous computing capacity is calculated both in the case where the some of the specific computing devices are included and in the case where the some of the specific computing devices are not included, so that when matching, it is possible to match with computing resources consisting of an appropriate specific computing device group.
[0017] Furthermore, by identifying multiple specific processing device groups with similar continuous computing capabilities, even if a processing resource cannot be configured using one specific processing device group, the processing resource can be configured using another specific processing device group with similar continuous computing capabilities, thereby making it possible to appropriately execute processing of a job. This improves the reliability of processing of a job using grid computing processing.
[0018] In the management device, the memory unit may further store the charging history of the multiple vehicles for each vehicle, and the control unit may be configured to further take into account whether or not charging is occurring when calculating the continuous calculation capacity of each specific calculation device, so that if charging is not occurring, the continuous calculation capacity is estimated to be lower than if charging is occurring.
[0019] That is, since grid computing processing uses the power stored in the vehicle's battery, the remaining battery power decreases due to the calculation processing. Therefore, when the battery is not being charged, the available calculation capacity may be limited. Therefore, during time periods when the battery is not being charged, the continuous calculation capacity is estimated to be low, thereby improving the estimation accuracy of the continuous calculation capacity that can be expected from the specific calculation device group. This improves the reliability of job calculation processing using grid computing processing.
[0020] The technology disclosed herein also covers a computing resource management method. Specifically, the method is directed to a computing resource management method for grid computing processing in which each computing device mounted on a plurality of vehicles serves as a computing node, and includes the following steps: a non-operating time period estimation step for estimating, for each computing device, a continuous non-operating time period in which the computing device remains in an inoperating state for a predetermined period of time or more in a day based on the operation history of each computing device; a vehicle identification step for identifying a specific computing device group consisting of multiple specific computing devices among the computing devices whose continuous non-operating time periods overlap; and a computing capacity estimation step for calculating, for each specific computing device, a continuous computing capacity equal to the product of the length of the continuous non-operating time period and the computing capacity, and estimating the continuous computing capacity of the specific computing device group by summing up the continuous computing capacities.
[0021] In this configuration, the continuous computing capacity of the computing devices is calculated by taking into account both the continuous non-operating time period and the computing capacity of each computing device. This allows for effective matching of jobs with computing resources, thereby making job processing by grid computing more efficient.
[0022] The technology disclosed herein also relates to a computing resource management program. Specifically, the management program manages computing resources for grid computing processing in which computing devices mounted on a plurality of vehicles function as computing nodes, and causes a computer to execute the following steps: a non-operating time period estimation process for estimating, for each computing device, a continuous non-operating time period in which the computing device remains in an inactive state for a predetermined period of time or more in a day based on the operation history of each computing device; a computing device identification process for identifying a specific computing device group consisting of multiple specific computing devices with overlapping continuous non-operating time periods among the computing devices; and a computing capacity estimation process for calculating, for each specific computing device, a continuous computing capacity equal to the product of the length of the continuous non-operating time period and the computing capacity, and estimating the continuous computing capacity of the specific computing device group by summing up the continuous computing capacities.
[0023] Even in this configuration, the continuous computing capacity of the computing devices as a group is calculated by taking into account both the continuous non-operating time period and the computing capacity of each computing device. This allows for effective matching of jobs and computing resources, thereby improving the efficiency of job computing processing using grid computing.
[0024] The technology disclosed herein is further directed to vehicle computing devices that serve as computational nodes in grid computing processes. Specifically, the system is provided with a control unit capable of executing job computation processing on a vehicle's computing device, which serves as a computation node for grid computing processing, and the control unit executes the following operations: an operation history acquisition process that acquires the computational capabilities and operation histories of the computing devices of other vehicles present around the host vehicle; a non-operating time period estimation process that estimates, for each computing device of the other vehicles, a continuous non-operating time period in which the computing device is continuously non-operating for a first predetermined time or more in a day based on the operation history of each computing device of each of the other vehicles; a device identification process that identifies a specific computing device group consisting of the computing device of the host vehicle and a plurality of specific computing devices among the computing devices of each of the other vehicles whose continuous non-operating time periods overlap with a continuous operating time period of the computing device of the host vehicle; and a computation capacity estimation process that calculates, for each specific computing device, a continuous computing capacity equal to the product of the length of the continuous non-operating time period and the computing capacity, and estimates the continuous computing capacity of the specific computing device group by taking the sum of each continuous computing capacity and the continuous computing capacity of the computing device of the host vehicle.
[0025] Even in this configuration, the continuous computing capacity of the computing devices as a group is calculated by taking into account both the continuous non-operating time period and the computing capacity of each computing device. This allows for effective matching of jobs and computing resources, thereby improving the efficiency of job computing processing using grid computing. [Effects of the Invention]
[0026] As described above, the technology disclosed herein makes it possible to effectively match jobs with computational resources for grid computing processing, thereby making it possible to improve the efficiency of job computational processing using grid computing processing. [Brief explanation of the drawings]
[0027] [Figure 1] FIG. 1 is a schematic diagram illustrating the configuration of a system including a management device according to a first exemplary embodiment. [Figure 2] FIG. 2 is a conceptual diagram for explaining grid computing processing. [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 showing the processing operation of the management server when matching a job with a computing resource for grid computing processing. [Figure 9] FIG. 9 is a flowchart showing the processing operation of the management server when estimating the computational capacity of the computing resources. [Figure 10] FIG. 10 is a diagram showing continuous non-operating time periods of the computing device. [Figure 11] FIG. 11 is a table showing the vehicles that make up each group whose consecutive non-operating time periods overlap, and the maximum calculation time for each group. [Figure 12] FIG. 12 is a time chart showing the change over time in the continuous calculation capacity of each group. [Figure 13] FIG. 13 is a diagram showing whether or not the vehicle is charged during a continuous non-operating time period of the arithmetic device in a modification of the first embodiment. [Figure 14] FIG. 14 is a time chart showing the continuous calculation capacity taking into consideration the presence or absence of charging. [Figure 15] FIG. 15 is a flowchart showing the processing operations when the computing device of the vehicle estimates the computing capacity of the computing resource in the second embodiment. DETAILED DESCRIPTION OF THE INVENTION
[0028] Exemplary embodiments will now be described in detail with reference to the drawings.
[0029] [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.
[0030] (Grid Computing) As shown in Fig. 2, in the system 1 of the present embodiment 1, the computational resources for grid computing processing are configured by the computational devices 105 mounted on each vehicle 10. In the grid computing processing, available computational devices 105 among the multiple computational devices 105 are used as computation nodes to perform computational processing on job data. Hereinafter, the computational resources for grid computing processing configured by the computational devices 105 will be simply referred to as computational resources.
[0031] 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.
[0032] 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 put into a non-operating 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 is no longer needed, and the arithmetic device 105 is put into a non-operating state.
[0033] 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 processing when the vehicle 10 is stopped, that is, when the computing power of the computing device 105 is not being used for driving control.
[0034] (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.
[0035] 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.
[0036] 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.
[0037] 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, a key detection sensor, and an ignition sensor.
[0038] 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.
[0039] 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.
[0040] 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.
[0041] The storage unit 104 stores information and data.
[0042] 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.
[0043] 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.
[0044] 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).
[0045] 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.
[0046] <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.
[0047] <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).
[0048] <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.
[0049] <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.
[0050] <Operation history information> The operation history information D15 is information related to the operation state of the arithmetic device 105. For example, the operation history information D15 is information indicating the operation state and the non-operation state for each time period of a day, with the operation state being when the arithmetic device 105 is used for driving control and the non-operation state being when the arithmetic device 105 is not used for driving control. The operation history information D15 may indicate the operation state and the non-operation state of the vehicle 10 separately for weekdays and holidays, or separately for each day of the week. Whether the arithmetic device 105 is in the operation state or the non-operation state may be determined based on, for example, the on / off state of the ignition or the power supply, or the on / off state of the parking lock, as described above.
[0051] (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.
[0052] 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.
[0053] 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 destination. The information input to the input unit 101 is sent to the calculation device 105.
[0054] 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.
[0055] 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.
[0056] The storage unit 204 stores information and data.
[0057] 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.
[0058] In this example, the storage unit 204 stores terminal information D21, terminal state information D22, and schedule information D23.
[0059] <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.
[0060] <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 communication status information indicating the communication status of the user terminal 20, etc.
[0061] <Schedule Information> The schedule information D23 indicates the behavior history and behavior schedule of the user who owns the user terminal 20. The schedule information D23 can be acquired by a schedule function installed in the user terminal 20. Specifically, when a user uses the schedule function to input his or her own behavior history and behavior schedule into the user terminal 20, the schedule information D23 indicating the behavior history and behavior schedule of the user is obtained.
[0062] (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.
[0063] 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.
[0064] 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.
[0065] 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.
[0066] 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.
[0067] The storage unit 304 stores information and data.
[0068] 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.
[0069] In this example, the storage unit 304 stores client information D31 and job data D1.
[0070] <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.
[0071] <Job Data> The job data D1 is data corresponding to a job and is processed to execute the job.
[0072] 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.
[0073] 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., each 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.
[0074] 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.
[0075] (Facility server configuration) Facility server 40 is owned by a facility. Examples of facilities include a user's workplace (such as a company), a stadium, a theater, a movie theater, a supermarket, a restaurant, an accommodation facility, a shopping mall, etc. For facilities that require a reservation for a visit, a user can make a reservation for a visit to the facility via user terminal 20.
[0076] 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.
[0077] In this example, the storage unit 404 stores facility information D41 and facility usage information D42.
[0078] 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.
[0079] <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.
[0080] (Administration Server Configuration) The management server 50 manages the operation of the system 1, which is configured with computational resources for grid computing processing. The management server 50 is owned by the operator that operates the system 1.
[0081] 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 the same as 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.
[0082] 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.
[0083] <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.
[0084] <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.
[0085] Furthermore, the arithmetic device table D52 registers, for each arithmetic device 105, the performance of each arithmetic device 105 (such as computing capacity and the ratio of CPU to GPU), the operating status of each 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.
[0086] The management server 50 communicates with each vehicle 10 to periodically acquire information about these arithmetic units 105 and updates the arithmetic unit table D52.
[0087] <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 processing for each client.
[0088] <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.
[0089] <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 related to estimated computational capabilities of computational resources, which will be described later. The resource table D55 registers, for each computation device 105, the computation device ID set for that computation device 105.
[0090] Matching Table The matching table D56 is a table for managing the results of the matching process between jobs and computing resources. For each job, the matching table D56 registers the reception number set for the job, the job data corresponding to the job, and the computing device ID set for each computing device 105 constituting the computing resource allocated to the job data by the matching process.
[0091] <Job Data> The job data D1 stored in the storage unit 504 is the accepted job data D1.
[0092] <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.
[0093] (Grid computing processing) Next, the grid computing process will be described with reference to FIG.
[0094] First, in step S1, the control unit 505 estimates the computational capacity of the available computing resources. The method for estimating the computational capacity will be described later.
[0095] Next, in step S2, the control unit 505 accepts a job.
[0096] Next, in step S3, the control unit 505 matches each computing resource with the job. The control unit 505 compares the computing power of each computing resource with the computing power required for the job, and causes each computing device 105 constituting a computing resource suitable for executing the job to execute the job. The control unit 505 updates the matching table D56 and stores the results of this matching.
[0097] Next, in step S4, the control unit 505 causes each arithmetic device 105 assigned by matching to execute a job. The control unit 505 refers to the matching table D56 and distributes job data D1 to be subjected to grid computing processing to each of the arithmetic devices 105 assigned 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.
[0098] Next, in step S5, the control unit 505 determines whether or not all of the arithmetic devices 105 to which the job data D1 has been distributed have completed their calculations. If all of the arithmetic devices 105 have completed their calculations, the control unit 505 proceeds to step S6, and if at least some of the arithmetic devices 105 have not completed their calculations, the control unit 505 returns to step S4 and continues the calculation of the job.
[0099] Then, in step S6, the operator of the system 1 grants a reward to the user who provided the computing power of the computing device 105 for the grid computing process. Examples of the reward granted to the 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 a process for granting a reward to the user who provided the computing power of the computing device 105 for the grid computing process. Examples of the process for granting a reward include a process for registering in the user table D51 a "user ID" set for the user and "points" (or virtual currency) that can be used in the system 1, and a process for transmitting information indicating a product discount benefit to the user terminal 20 owned by the user.
[0100] 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.
[0101] (Estimation of computational power) As described above, in order to execute the calculation of job data D1 on an appropriate calculation resource, it is necessary to appropriately estimate the calculation capacity of the calculation resource. If the calculation capacity were estimated after the job was accepted, it would take a long time to match the resources, and in the worst case scenario, the job calculation may not be completed by the job's deadline. Furthermore, if the calculation capacity of the calculation resource is over-specified compared to the calculation capacity required for the calculation of job data D1, even though multiple job data could be processed simultaneously, only some of the job data will be executed, resulting in reduced job calculation efficiency.
[0102] Therefore, in this embodiment, continuous non-operating time periods during which the computing devices 105 are not operating continuously throughout the day are identified from the operation history of the computing devices 105, and the computing capacity of a specific computing device group consisting of multiple specific computing devices 105 with overlapping continuous non-operating time periods is estimated. In particular, in this embodiment, a continuous computing capacity is calculated by multiplying the length of the overlapping continuous non-operating time periods by the computing capacity of each specific computing device 105, thereby taking into account both the computational time and computing capacity of a computing resource in the matching process. In other words, the computational capacity and computation time of a computing resource are inversely proportional. Therefore, by multiplying the computational capacity of a computing resource by the computational time available, it is possible to accurately estimate the amount of data that the computing resource can process. In this embodiment, continuous computing capacity estimation is performed periodically, regardless of whether a job is present or not, and when a job is accepted, job data can be assigned to an appropriate computing resource based on the estimation results.
[0103] Hereinafter, the estimation of the computational capacity of the computational resources will be described in detail with reference to the flowchart of Fig. 9 and Fig. 10 to Fig. 12. The estimation of the computational capacity of the computational resources described below is performed by hardware constituting the control unit 505 executing a program for making the estimation.
[0104] Computing power of computing resources EstimateIn some cases, in step S11, the control unit 505 of the management server 50 acquires various types of information from multiple vehicles 10. In particular, the control unit 505 acquires the driving history information D13, the arithmetic unit information D14, and the operation history information D15. The control unit 505 always acquires the arithmetic unit information D14 as well, taking into consideration the possibility that the arithmetic unit 105 of the vehicle 10 has been replaced with a arithmetic unit with higher performance.
[0105] Next, in step S12, the control unit 505 updates the arithmetic unit table D52 in the storage unit 504.
[0106] Next, in step S13, the control unit 505 identifies a continuous non-operating time period during which the calculation device 105 does not operate continuously in one day. The control unit 505 identifies a time period during which the calculation device 105 does not operate continuously for a first predetermined time period or more as the continuous non-operating time period. The control unit 505 also identifies the location of each calculation device 10 during the continuous non-operating time period from the driving history information D13. The first predetermined time period is set to, for example, 30 minutes.
[0107] FIG. 10 is a timetable 1001 showing the results of identifying the continuous non-operating time periods of each arithmetic device 105 on weekdays for five vehicles 10, vehicle A to vehicle E. The horizontal axis represents the time period, expressed as 0:00 to 24:00. The time periods other than the continuous non-operating time periods are the time periods when the arithmetic device 105 is used for driving control or the time periods when the non-operating time period is less than the first predetermined time. The location information shown in FIG. 10 is the parking position of the vehicle 10, and corresponds to the location of the arithmetic device 105 during the continuous non-operating time periods. Note that the apartment buildings are all the same apartment building (same apartment or condominium), the supermarkets are the same supermarket, and company A and company B are different companies.
[0108] As shown in FIG. 10, the calculation device 105 of vehicle A is in an inactive state at company A from 8:30 to 18:00, and at an apartment complex from 19:00 to 7:30 the next day. The calculation device 105 of vehicle B is in an inactive state at company A from 9:00 to 18:00, at a supermarket from 19:30 to 20:30, and at an apartment complex from 21:00 to 8:00 the next day. The calculation device 105 of vehicle C is in an inactive state at the supermarket from 10:00 to 11:00, at company B from 14:30 to 17:30, and at an apartment complex from 11:30 to 13:00 and 18:00 to 9:30 the next day. The calculation device 105 of vehicle D is in an inactive state at company A from 9:30 to 18:30, and at an apartment complex from 20:00 to 8:30 the next day. The computing device 105 of vehicle E is in an inactive state at the apartment complex from 7:00 to 11:00 and 14:00 to 21:00, at a restaurant or other dining establishment from 11:30 to 13:00, and at company A from 22:00 to 6:00 the next day.
[0109] The control unit 505 creates a timetable 1001 like the one shown in FIG. 10 for each vehicle 10. Here, only the weekday timetable is shown, but the control unit 505 also creates a holiday timetable separately. The control unit 505 may also create timetables for each day of the week. The control unit 505 stores the created timetable in the memory unit 504.
[0110] After creating the timetable 1001 shown in Fig. 10, the control unit 505 identifies a group of specific processing units in step S14 (see Fig. 9) that are located close to each other and have a common continuous non-operating time period. The control unit 505 considers each processing unit as a specific processing unit when the continuous non-operating time periods overlap for a second predetermined time period or more. The second predetermined time period is set to, for example, 30 minutes.
[0111] When identifying a specific arithmetic unit group, the arithmetic unit 505 allows overlapping of specific arithmetic units among the specific arithmetic unit groups, and identifies a plurality of specific arithmetic unit groups each having a different combination of specific arithmetic units.
[0112] For example, referring to Fig. 10, the continuous non-operating time period from 7:00 to 7:30 is the same for all of the arithmetic devices 105. At this time, the control unit 505 identifies a specific arithmetic device group (group A described later) in which all of the arithmetic devices 105 are the specific arithmetic devices. Furthermore, the continuous non-operating time period from 8:00 to 7:30 the next morning is the same for the arithmetic devices 105 of vehicles A, C, and D. At this time, the control unit 505 identifies a specific arithmetic device group (group B described later) in which the arithmetic devices 105 of vehicles A, C, and D are the specific arithmetic devices. In the same way, the control unit 505 identifies each of a plurality of specific arithmetic device groups each having a different combination of specific arithmetic devices.
[0113] FIG. 11 is a table 1101 showing the specific arithmetic device group identified by the control unit 505. The computational capacity of each arithmetic device 105 is shown in parentheses below each vehicle. This computational capacity is the maximum computational capacity stored in the arithmetic device information D14. For ease of explanation, the computational capacity of each arithmetic device 105 is set to "1" for the arithmetic devices 105 of vehicles A and C, "2" for the arithmetic devices 105 of vehicles B and D, and "3" for the arithmetic device 105 of vehicle E, which can calculate twice the amount of data. This computational capacity is expressed as the amount of data processed per hour. When a arithmetic device 105 is replaced, this computational capacity is reset according to the computational capacity of the replaced arithmetic device 105. In practice, computational capacity is expressed in units such as flops as the amount of data that can be processed per unit time. When the unit time is "minutes" or "seconds," the calculation time is corrected to "minutes" or "seconds" before the continuous calculation capacity is calculated.
[0114] FIG. 11 illustrates four groups. As described above, group A is a specific calculation device group consisting of all the calculation devices 105 in vehicles A to E. Similarly, group B is a specific calculation device group consisting of the calculation devices 105 in vehicles A, C, and D. Group C is a specific calculation device group consisting of vehicles A, C, and E. Group D is a specific calculation device group consisting of vehicles D, B, and D. The maximum calculation time shown on the right side of FIG. 11 is the maximum time each group can perform continuous calculations and corresponds to the length of overlapping continuous non-operating time. The maximum calculation time is shown in hours, with 0.5 corresponding to 30 minutes. For group D, the maximum calculation time is divided into two because there are cases where consecutive non-operating time periods overlap in the apartment complex and cases where consecutive non-operating time periods overlap in company A.
[0115] After specifying the specific arithmetic unit groups, the control unit 505 calculates the continuous calculation capacity of each specific arithmetic unit constituting each specific arithmetic unit group in step S15 (see FIG. 9).
[0116] The control unit 505 calculates the product of the maximum calculation time and the calculation capacity divided into three stages shown in Fig. 11 for each specific vehicle. For example, in the case of group A, the maximum calculation time is 0.5, so the maximum value of the continuous calculation capacity of the calculation device 105 of vehicle A in group A is Continuous calculation capacity = 0.5 x 1 = 0.5 This becomes:
[0117] Then, in step S16, the control unit 505 calculates the continuous calculation capacity of the specific arithmetic device group by summing the continuous calculation capacity of each specific arithmetic device calculated in step S15. For example, the maximum value of the continuous calculation capacity of group A is Continuous computing power = 0.5 + 1.0 + 0.5 + 1.0 + 1.5 = 4.5 The continuous calculation capacity calculated in this way corresponds to the maximum value of the continuous calculation capacity of each of the calculation resources when the calculation resources are configured by the calculation devices 105 belonging to each group.
[0118] In step S16 (see FIG. 9 ), the control unit 505 also estimates the change in continuous computation capacity over time. That is, as time passes, the length of overlapping continuous non-operating periods decreases, and thus the continuous computation capacity decreases. The control unit 505 calculates the change in continuous computation capacity over time for each time period, as shown in the time chart 1201 in FIG. 12 . The continuous computation capacity is greatest when the continuous non-operating periods are the same, and then decreases as time passes. By calculating the change in continuous computation capacity over time for each time period in this manner, it is possible to estimate in advance the appropriate time period for executing a job. For example, if the control unit 505 receives a job around 3:00 p.m., the only computation resource that can be selected during this time period is Group D. However, it is assumed that the continuous computation capacity of Group D during this time period is insufficient to complete the job's computation. In this case, the control unit 505 can submit the job until 9:00 p.m. to the computation resources composed of the computation devices 105 of Group B and Group D, and execute the computation processing for the job. This improves the reliability of job completion.
[0119] After step S16, the control unit 505 stores data on the estimated continuous computing capacity in the storage unit 504 and then returns. Then, the control unit 505 re-estimates the computing capacity of the computing resources and updates the timetable 1001 in Fig. 10, the table 1101 in Fig. 11, the time chart 1201 in Fig. 12, etc.
[0120] As described above, when matching a job with a computing resource, the control unit 505 calculates the continuous computing capacity required for the job. For example, the control unit 505 calculates the computing time required to execute the job on a computing device 105 with a predetermined computing capacity (such as the amount of data processed per unit time). The control unit 505 then calculates the continuous computing capacity by multiplying the calculated computing capacity by the calculated computing time. When the computing capacity of the computing resource is specified as a condition of the job, the specified computing capacity may be set as the predetermined computing capacity.
[0121] Therefore, in this embodiment 1, the management server 50 comprises a communication unit 503 that communicates with each of the multiple computing devices 105, a memory unit 504 that stores information about each of the multiple computing devices 105, and a control unit 505. The memory unit 504 stores the computing capacity information D7 and operation history information D5 of the multiple computing devices 105 for each computing device 105, and the control unit 505 executes the following processes: a non-operating time period estimation process that estimates, from the operation history of each computing device 105, a continuous non-operating time period during which the computing device 105 is continuously non-operating for more than a first predetermined time in a day; a device identification process that identifies a specific computing device group consisting of multiple specific computing devices among each computing device 105 whose continuous non-operating time periods overlap; and a computing capacity estimation process that calculates, for each specific computing device, a continuous computing capacity equal to the product of the length of the overlapping continuous non-operating time period and the computing capacity, and sums up each of the continuous computing capacities to estimate the continuous computing capacity of the specific computing device group. This allows for the calculation of the continuous computing capacity of a group of computing devices by taking into consideration both the continuous non-operating time period (corresponding to the time when each computing device 105 is available for calculation) and the computing capacity of each computing device 105, thereby enabling accurate calculation of the continuous computing capacity when computing resources are configured using the group of computing devices. This allows for effective matching of jobs and computing resources, thereby making it possible to improve the efficiency of job computation processing using grid computing processing.
[0122] In particular, in the first embodiment, when identifying a specific arithmetic unit group, the control unit identifies multiple specific arithmetic unit groups each having a different combination of specific arithmetic units, while allowing overlapping of specific arithmetic units among the specific arithmetic unit groups, and estimates the continuous computing capacity for each specific arithmetic unit group. This makes it possible to match a job with a computing resource consisting of a specific arithmetic unit group suitable for the computing capacity required for the job. This improves the efficiency of job computing processing using grid computing. Furthermore, by identifying multiple specific arithmetic unit groups with similar continuous computing capacities, even if a computing resource cannot be configured using one specific arithmetic unit group, the computing resource can be configured using another specific arithmetic unit group with similar continuous computing capacity, thereby enabling the job's computing processing to be appropriately executed. This improves the reliability of job computing processing using grid computing.
[0123] Furthermore, in the first embodiment, the specific processing device group is composed of a plurality of specific processing devices whose consecutive non-operating time periods overlap for at least a second predetermined time. This makes it possible to eliminate those whose consecutive non-operating time periods overlap for an extremely short period of time. As a result, it is possible to effectively form a specific processing device group having the continuous computing power required for job processing. Therefore, it is possible to more efficiently process jobs using grid computing processing.
[0124] Furthermore, in the first embodiment, the control unit 505 further estimates the time change in the continuous computing capacity of the specific computing device group during overlapping consecutive non-operating time periods. This allows for more accurate calculation of the continuous computing capacity, thereby enabling effective matching of jobs and computing resources. In particular, when a job with a short deadline is suddenly requested, it is possible to appropriately set the computing resources to execute the job. This makes it possible to more efficiently process jobs using grid computing.
[0125] 13 and 14 show a modification of the first embodiment, in which whether the vehicle 10 is being charged is further taken into consideration when estimating the continuous computing capacity of the computing resource.
[0126] Timetable 1301 in Fig. 13 is the timetable in Fig. 10 with information regarding whether charging is available added. As shown in Fig. 13, charging is only possible at apartment complexes and restaurants (indicated by a circle in the figure), and charging is not possible at other locations such as Company A (indicated by an X in the figure). Such charging history of vehicle 10 is stored in vehicle status information D12, and management server 50 acquires this information by communicating with vehicle 10.
[0127] Since grid computing processing uses power stored in the battery of the vehicle 10, the remaining battery charge decreases as the processing proceeds. Because power must be reserved for running, the available computing capacity may be limited when the battery is not being charged. Therefore, in this modification, the control unit 505 further takes into account whether the battery is being charged when calculating the continuous computing capacity of each specific computing device, so that when the battery is not being charged, the continuous computing capacity is estimated to be lower than when the battery is being charged.
[0128] Specifically, when charging is in progress, as described above, the continuous calculation capacity is calculated by multiplying the maximum calculation time (overlapping continuous non-operating time) by the calculation capacity of the specific calculation device, and when charging is not in progress, the continuous calculation capacity calculated as described above is further reduced by half. The reduction rate of the continuous calculation capacity depending on whether or not charging is in progress may vary depending on the vehicle model. For example, the reduction rate may be reduced by half for electric vehicles, while it may be reduced by two-thirds for hybrid vehicles. This is because hybrid vehicles can run on engine power and charge the battery even when the remaining battery charge is low to a certain extent.
[0129] Time chart 1401 in FIG. 14 shows the continuous calculation capacity for Group D, taking into account whether charging is performed or not. As shown in FIG. 14, the continuous calculation capacity for Group D during the time periods when the apartment complex is not operating remains the sum of the product of the maximum calculation time and the calculation capacity of each specific calculation device. On the other hand, the continuous calculation capacity during the time periods when Company A is not operating is calculated as described above and then halved. This makes it clear that it is difficult to make full use of Group D's calculation capacity during the time period from 9:30 to 18:00, and that the calculation capacity is limited. As a result, the accuracy of estimating the continuous calculation capacity that can be expected from the specific calculation device group is improved, thereby improving the reliability of job calculation processing using grid computing processing.
[0130] In addition, when estimating the continuous calculation capacity during a continuous non-operating time period when charging is not possible, the remaining battery capacity may be further taken into consideration. Specifically, the continuous calculation capacity may be corrected so that the calculated value is lower as the remaining battery capacity decreases.
[0131] [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.
[0132] The second embodiment differs from the first embodiment in that the continuous calculation capacity is estimated not by the management server 50 but by the control unit 106 of the vehicle 10.
[0133] 15 shows a flowchart of the continuous calculation capacity estimation process executed by the control unit 106. The control unit 106 periodically executes the flowchart described below.
[0134] First, in step S211, the control unit 106 acquires various information from other vehicles located in the vicinity. In particular, the control unit 106 acquires the travel history information D13, the calculation device information D14, and the operation history information D15.
[0135] Next, in step S212, the control unit 106 identifies a continuous non-operating time period during which the arithmetic device 105 of the other vehicle does not operate continuously in one day. As in the first embodiment described above, the control unit 106 identifies a time period during which the arithmetic device 105 does not operate continuously for a first predetermined time period or more as the continuous non-operating time period. In step S212, the arithmetic device 105 of the host vehicle may create a time table such as that shown in FIG. 10 or FIG. 13 for each other vehicle. The first predetermined time period is set to, for example, 30 minutes.
[0136] Next, in step S213, the control unit 106 identifies a group of specific processing devices consisting of the processing device of the vehicle and multiple specific processing devices whose continuous non-operating time periods overlap. The control unit 106 considers each processing device as a specific processing device if the continuous non-operating time periods overlap for more than a second predetermined time. The second predetermined time is set to, for example, 30 minutes.
[0137] Next, in step S214, the control unit 106 calculates the continuous calculation capacity of each specific arithmetic unit constituting each specific arithmetic unit group and the continuous calculation capacity of the arithmetic unit of the vehicle.
[0138] Then, in step S215, the control unit 106 calculates the continuous calculation capacity of the specific calculation device group by summing the continuous calculation capacity of each specific calculation device calculated in step S214 and the continuous calculation capacity of the host vehicle.
[0139] Next, in step S216, the control unit 106 transmits the estimated continuous calculation capacity of the specific arithmetic device group to the management server 50. After step S216, the process returns.
[0140] In this way, if the control unit 106 of the vehicle 10 calculates the continuous computing capacity of the specific computing device group, the control unit 106 communicates with and acquires information from other vehicles located around the vehicle during the same time period, and therefore the continuous computing capacity of the specific computing device group is estimated after limiting to some extent the computing devices 105 that may be available as a computing resource for grid computing during the same time period. This makes it possible to improve the efficiency of estimating the continuous computing capacity of the computing resource.
[0141] (Other embodiments) The technology disclosed herein is not limited to the above-described embodiments, and can be substituted within the scope of the claims.
[0142] In the first embodiment described above, when identifying a specific arithmetic device group, the locations of the arithmetic devices are the same. However, this is not limited to this, and the locations of the arithmetic devices do not necessarily need to be the same as long as the distance is such that communication between the vehicles is possible. For example, if an apartment building and a company are adjacent to each other, the specific arithmetic device group may be configured by the arithmetic device of a vehicle parked at the apartment building and the arithmetic device of a vehicle parked at the company.
[0143] In the first embodiment described above, the continuous computing capacity is calculated based on the maximum computing capacity of the computing device 105. However, the present invention is not limited to this. The computing capacity available for grid computing processing in each time period may be estimated from the operation history information D15 or schedule information (not shown), and the continuous computing capacity may be estimated based on the estimated computing capacity. For example, if the computing capacity is scheduled to be allocated to an update of an application installed in the computing device 105, the computing capacity to be used for the update may be subtracted from the maximum computing capacity, and then the continuous computing capacity may be estimated.
[0144] In the first embodiment, 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.
[0145] In the first embodiment, the control unit 505 of the management system may be configured by a single control unit or multiple control units. The multiple control units may be aggregated in a single management server 50, or may be distributed among multiple management servers 50 that communicate with each other via the communication network 5.
[0146] 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]
[0147] The technology disclosed herein is useful for estimating the computational capacity of computational resources in grid computing processing, in which each computation device installed in each of multiple vehicles serves as a computation node to perform computational processing for a job. [Explanation of symbols]
[0148] 10 vehicles 50 Management Server 105 Arithmetic equipment 106 Control Unit 503 Communications Department 504 Storage section 505 Control Unit D13 Driving history information D14 Calculation Unit Information D15 Operation history information
Claims
1. A management device for computing resources of a grid computing process in which each computing device mounted on each of a plurality of vehicles serves as a computing node, the management device comprising: a communication unit that communicates with each of the plurality of arithmetic units; a storage unit that stores information about each of the plurality of arithmetic units; a control unit, the storage unit stores the computing capabilities and operation histories of the plurality of computing devices for each computing device; The control unit a non-operating time period estimation process for estimating, for each computing device, a continuous non-operating time period in which the computing device is in an non-operating state for a first predetermined time period or more in one day, based on the operation history of each computing device; a device identification process for identifying a specific arithmetic device group consisting of a plurality of specific arithmetic devices whose continuous non-operating time periods overlap among the arithmetic devices; a computing capacity estimation process for calculating a continuous computing capacity obtained by multiplying the length of the overlapping continuous non-operating time periods by the computing capacity for each of the specific computing devices, and estimating the continuous computing capacity of the specific computing device group by summing up the continuous computing capacities; 2. A management device configured to execute the steps of:
2. 2. The management device according to claim 1, The management device is characterized in that the specific arithmetic device group is made up of the plurality of specific arithmetic devices whose consecutive non-operating time periods overlap for a second predetermined time or more.
3. 3. The management device according to claim 1, The control unit further estimates, in the computational capacity estimation process, a change over time in the continuous computation capacity of the specific computation device group during the overlapping continuous non-operating time periods.
4. The management device according to any one of claims 1 to 3, the control unit is capable of identifying a plurality of specific arithmetic unit groups each having a different combination of the specific arithmetic units in the arithmetic unit identification process, and is also capable of estimating continuous calculation capacity for each of the specific arithmetic unit groups in the calculation capacity estimation process; The control unit is configured to identify each of the plurality of specific arithmetic unit groups while allowing overlapping of the specific arithmetic unit among the specific arithmetic unit groups. A management device comprising:
5. The management device according to any one of claims 1 to 4, the storage unit further stores charging histories of the plurality of vehicles for each vehicle, The control unit is characterized in that, when estimating the continuous computing capacity of each of the specific computing devices, it further takes into account whether or not charging is occurring so that, when charging is not occurring, the continuous computing capacity is estimated to be lower than when charging is occurring.
6. A management method for managing computation resources of a grid computing process in which each computation device mounted on each of a plurality of vehicles serves as a computation node, by a management device, comprising: a non-operating time period estimation step of estimating, for each of the plurality of computing devices, a continuous non-operating time period in which the computing device is in an inoperating state for a predetermined consecutive time or more in one day, based on the operation history of each of the plurality of computing devices; a vehicle identification step of identifying a specific arithmetic device group consisting of a plurality of specific arithmetic devices among the arithmetic devices whose continuous non-operating time periods overlap; a computing capacity estimation step of calculating, for each specific computing device, a continuous computing capacity obtained by multiplying the length of the overlapping continuous non-operating time periods by the computing capacity of the plurality of computing devices, and then summing the continuous computing capacities to estimate the continuous computing capacity of the specific computing device group.
7. A management program for managing computation resources of a grid computing process in which each computation device mounted on each of a plurality of vehicles serves as a computation node, the management program comprising: a non-operating time period estimation process for estimating, for each of the plurality of computing devices, a continuous non-operating time period in which the computing device is in an inoperating state for a predetermined consecutive time or more in one day, based on the operation history of each of the plurality of computing devices; a computing device identification process for identifying a specific computing device group consisting of a plurality of specific computing devices whose continuous non-operating time periods overlap among the computing devices; a computing capacity estimation process for calculating a continuous computing capacity for each of the specific computing devices, the continuous computing capacity being the product of the length of the overlapping continuous non-operating time periods and the computing capacity of the plurality of computing devices, and calculating the sum of the continuous computing capacities to estimate the continuous computing capacity of the specific computing device group; A management program that allows a computer to execute the following.
8. A computing device of a vehicle that constitutes a computing resource for grid computing processing, A control unit capable of executing arithmetic processing of a job is provided, The control unit an operation history acquisition process for acquiring the computation capabilities and operation histories of the arithmetic units of other vehicles present around the host vehicle; a non-operating time period estimation process for estimating, for each of the arithmetic devices of the other vehicles, a continuous non-operating time period in which the arithmetic device is in an non-operating state for a first predetermined time period or more in one day, based on the operation history of each of the arithmetic devices of the other vehicles; a device identification process for identifying a specific arithmetic device group consisting of a plurality of specific arithmetic devices among the arithmetic devices of each of the other vehicles, the specific arithmetic devices having the continuous non-operation time period overlapping with the continuous operation time period of the arithmetic device of the host vehicle, and the arithmetic device of the host vehicle; a calculation capacity estimation process for calculating a continuous calculation capacity for each specific calculation device, which is the product of the length of the overlapping continuous non-operating time periods and the calculation capacity, and then calculating the sum of each continuous calculation capacity and the continuous calculation capacity of the calculation device of the vehicle to estimate the continuous calculation capacity of the group of specific calculation devices.
Citation Information
Patent Citations
On-vehicle terminal
JP2007034815A
Controller, method for control, and computer program
JP2019036017A
Management server and program
JP2020160661A
Management apparatus, management method, and management program
JP2023065975A
Using predictive analytics to determine expected use patterns of vehicles to recapture under-utilized computational resources of vehicles
US20200128066A1