Management device, management method, and management program
By estimating computing capacity on an area-by-area basis, the management device optimally allocates jobs to mobile devices, improving efficiency and reliability in grid computing systems.
Patent Information
- Application Number
- JP2021176421
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2021-10-28
- Publication Date
- 2025-12-09
- Estimated Expiration
- 2041-10-28
AI Technical Summary
Existing grid computing systems fail to accurately match jobs with computing resources due to the dynamic nature of mobile devices, particularly vehicles, leading to inefficiencies in job processing.
A management device estimates the computing capacity of mobile devices on an area-by-area basis by analyzing their non-operating time periods and locations, identifying overlapping devices, and summing their capacities to effectively allocate jobs.
This approach improves the efficiency of job processing by ensuring that jobs are assigned to areas with sufficient computing power, maintaining capacity, and accounting for battery charging and communication speed, thereby enhancing the reliability and accuracy of resource allocation.
Smart Images

Figure 0007782204000001 
Figure 0007782204000002 
Figure 0007782204000003
Abstract
Description
[Technical Field]
[0001] The technology disclosed herein belongs to the technical field related to a management device, a management method, and a management program for managing computational resources in grid computing processing. [Background technology]
[0002] In recent years, mobile objects such as vehicles and tablets have been equipped with computing devices with relatively high computing power for electronic control. However, such computing devices have been underutilized when the mobile objects are not in use. In response to this situation, grid computing using computing devices installed in multiple mobile objects has been considered as a way to effectively utilize the computing devices installed in the vehicles.
[0003] For example, Patent Document 1 discloses a grid computing management server that uses a communication device mounted on a vehicle as a mobile body. This management server includes a signal receiving unit that receives a signal indicating that the communication device is able to participate in grid computing, a status determining unit that determines whether the processing capacity of the processing device is insufficient, and a response transmitting unit that transmits an instruction to the communication device to participate in grid computing when the processing capacity of the processing device is insufficient.
[0004] Furthermore, Patent Document 2 discloses that in a distributed processing system consisting of onboard terminals of a group of vehicles connected to each other via wireless communication, planned driving route information is acquired from each vehicle terminal, and the onboard terminal of the vehicle that has traveled the furthest among the vehicle terminals is made to function as a management node. [Prior art documents] [Patent documents]
[0005] [Patent Document 1] Japanese Patent Application Publication No. 2020-160661 [Patent Document 2] Japanese Patent Application Laid-Open No. 2007-72801 Summary of the Invention [Problem to be solved by the invention]
[0006] 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.
[0007] On the other hand, when computing resources for grid computing processing are configured using computing devices mounted on mobile objects such as vehicles, the locations of the computing devices change. Therefore, when estimating the computing capacity of each computing device, it is necessary to understand all of the computing resources including the computing device, making it difficult to accurately estimate the computing capacity.
[0008] 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, Patent Document 1 does not estimate the computational capabilities of computing resources, and therefore cannot appropriately match jobs with computing resources.
[0009] Furthermore, Patent Document 2 devise ways to extend the distributed processing time while the vehicles are traveling, but does not take into consideration the computational capabilities of the vehicle fleet.
[0010] 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]
[0011] 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 mobile bodies serves as a computation node, and comprises: a communication unit capable of communicating 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, wherein the memory unit stores the computational capacity and operation history of each of the plurality of computational devices, and the control unit is configured to execute the following: a non-operating time period estimation process that, from the operation history of each of the computational devices, estimates a continuous non-operating time period in which the computational device is in an non-operating state for a first predetermined consecutive time or more within a day, by associating the continuous non-operating time period with the location of the computational device during the continuous non-operating time period; a device identification process that identifies, among the computational devices, a plurality of specific computational devices whose continuous non-operating time periods overlap in a specified area; and a computational capacity estimation process that sums the computational capacity of each of the specific computational devices during the common continuous non-operating time period to estimate the computational capacity in the specified area.
[0012] That is, because grid computing processing requires good communication between computing devices, it is common for multiple computing devices within a certain area to be used as computing resources. Therefore, the computing capacity of a computing resource estimated on an area-by-area basis is more useful in matching jobs with computing resources than the computing capacity of a computing resource estimated on an area-by-area basis. In the above configuration, since the computing capacity is estimated on an area-by-area basis, it is possible to verify which area's computing resource should be assigned to process a job in order to properly complete the job's processing, thereby enabling effective matching of jobs with computing resources. As a result, the efficiency of job processing using grid computing processing can be improved.
[0013] In the management device, the control unit may be configured to, in the device identification process, regard each of the plurality of mobile bodies whose consecutive non-operating time periods overlap for a second predetermined time or more as a specific computing device.
[0014] This configuration eliminates computational resources that would result in extremely short computation times, effectively creating areas with the computing power required for job computation processing, thereby making job computation processing more efficient through grid computing.
[0015] In the management device, the control unit may be configured such that, when it is estimated that one of the computing devices currently executing the job will enter an operating state, the control unit transfers the job to another computing device that is located in the specified area where the one computing device is located and whose continuous non-operating time period overlaps with the one computing device.
[0016] With this configuration, even if some of the mobile units are in operation, job calculations can continue in the specified area. In other words, when viewed on an area-by-area basis, the calculation capacity can be maintained to a certain extent. This makes the effect of calculating the calculation capacity in the specified area particularly noticeable.
[0017] In the management device, the memory unit may further store the charging history of each of the multiple mobile bodies, and the control unit may be configured to further take into account whether or not charging is occurring in the computational capacity estimation process so that areas of the specified area where charging is not possible are estimated to have lower computational capacity than areas where charging is possible.
[0018] That is, since calculation processing by grid computing uses the power stored in the battery mounted on the mobile object, the remaining battery power decreases due to the calculation processing. Therefore, when the battery is not charged, the available calculation capacity may be limited. For this reason, in areas where charging is not possible, the calculation capacity is estimated to be low, thereby improving the estimation accuracy of the calculation capacity that can be expected in a specified area. This can improve the reliability of job calculation processing by grid computing processing.
[0019] In the management device, the communication unit may be configured to communicate with each of the arithmetic devices via a communication base station in an area including the specified area, and the control unit may be configured to further take into account whether or not there is a communication speed with the communication base station in the computational capacity estimation process, so that an area of the specified area where the communication speed between the specific arithmetic device and the communication base station is slow is estimated to have a lower computational capacity than an area where the communication speed is fast.
[0020] In other words, when the communication speed is slow, it takes time to transfer data. Therefore, even if the computing power of the computing device itself is not limited, the computing time is reduced by communication, and the computing power of the area is virtually limited. Therefore, areas with slow communication speeds are estimated to have lower computing power than areas with fast communication speeds, thereby improving the accuracy of estimating the computing power that can be expected in a given area. This improves the reliability of job processing using grid computing.
[0021] The disclosed technology also covers a method for managing computing resources, specifically, a method for managing computing resources in a grid computing process in which each computing device mounted on a plurality of mobile objects serves as a computing node. is managed by computer The management method is directed to each of the computing devices. each a non-operating time period estimation step for estimating, for each of the computing devices, a continuous non-operating time period in which the computing device is continuously non-operating for a first predetermined time or more from the operation history, by associating the continuous non-operating time period with the location of the computing device during the continuous non-operating time period; a device identification step for identifying, among the computing devices, a plurality of specific computing devices whose continuous non-operating time periods overlap in a predetermined area; and a device identification step for identifying, for each of the specific computing devices whose continuous non-operating time periods overlap, Total and a calculation capacity estimation step of calculating the sum of the calculation capacities and estimating the calculation capacity in the predetermined area.
[0022] Even with this configuration, the computing capacity is calculated on an area-by-area basis. This allows us to verify which area's computing resources should be assigned to process a job in order to complete the job's processing appropriately, and effectively matches jobs with computing resources. As a result, we can improve the efficiency of job processing using grid computing.
[0023] The technology disclosed herein also covers 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 mobile objects 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 is continuously non-operating for a first predetermined time or more from the operation history of each computing device, by associating the continuous non-operating time period with the location of the computing device during the continuous non-operating time period; a device identification process for identifying, among the computing devices, specific computing devices whose continuous non-operating time periods overlap in a predetermined area; and a computing capacity estimation process for estimating the computing capacity in the predetermined area by summing the computing capacities of the specific computing devices during the overlapping continuous non-operating time periods.
[0024] Even with this configuration, the computing capacity is calculated on an area-by-area basis. This allows us to verify which area's computing resources should be assigned to process a job in order to complete the job's processing appropriately, and effectively matches jobs with computing resources. As a result, we can improve the efficiency of job processing using grid computing. [Effects of the Invention]
[0025] As described above, the technology disclosed herein calculates the computing capacity of a specific area, making it possible to verify which area's grid computing resources should be used to process a job in order to properly complete the job's processing. This allows for effective matching of jobs with computing resources, thereby improving the efficiency of job processing using grid computing. [Brief explanation of the drawings]
[0026] [Figure 1] FIG. 1 is a schematic diagram illustrating the configuration of a system including a management device according to an 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 taking over a job. [Figure 10] FIG. 10 is a flowchart showing the processing operation of the management server when estimating the computing capacity of a predetermined area. [Figure 11] FIG. 11 is a diagram illustrating an example of a continuous non-operating time period of a computing device. [Figure 12] FIG. 12 is a diagram showing another example of a continuous non-operating time period of a computing device. [Figure 13] FIG. 13 is a table showing vehicles with overlapping consecutive non-operating time periods in each area. [Figure 14] FIG. 14 is a time chart showing the change in computing power over time in each area. [Figure 15] FIG. 15 is a time chart showing the change over time in the continuous calculation capacity of each area. [Figure 16] FIG. 16 is a table showing vehicles with overlapping consecutive non-operating time periods in each area, whether charging is possible in each area, and communication speeds. [Figure 17] FIG. 17 is a time chart showing the calculation capacity taking into consideration the availability of charging in each area and the communication speed. DETAILED DESCRIPTION OF THE INVENTION
[0027] Exemplary embodiments will now be described in detail with reference to the drawings.
[0028] (System configuration) FIG. 1 illustrates the configuration of a system 1 including a vehicle 10 having a computing device 105 according to this 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. The vehicle 10 is an example of a moving body.
[0029] (Grid Computing) 2, in the system 1 of this embodiment, the computational resources for grid computing processing are configured by the computational devices 105 mounted on each vehicle 10. In 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.
[0030] When the vehicle 10 needs the computing power of the arithmetic device 105, the arithmetic device 105 enters an operating state and uses the computing power of the arithmetic device 105. For example, when the vehicle 10 is traveling, the computing power of the arithmetic device 105 is required for traveling control of the vehicle 10, and the arithmetic device 105 enters an operating state.
[0031] On the other hand, when the computing power of the arithmetic device 105 becomes unnecessary in the vehicle 10, the arithmetic device 105 enters a stopped state, and the computing power of the arithmetic device 105 is not used. For example, when the vehicle 10 is stopped and the ignition is turned off or the power is turned off, the computing power of the arithmetic device 105 becomes unnecessary, and the arithmetic device 105 enters a stopped state.
[0032] Here, when the computing power of the computing device 105 is not needed in the vehicle 10, the computing power of the computing device 105 can be provided for grid computing processing, thereby making it possible to effectively utilize the computing power of the computing device 105. Basically, the computing device 105 is used as a computing resource for grid computing 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.
[0033] (Vehicle configuration) The vehicle 10 is a vehicle owned by a user. The user drives the vehicle 10. In this example, the vehicle 10 is a four-wheeled automobile. The vehicle 10 is also equipped with a battery (not shown). Power from the battery is supplied to on-board devices such as the computing device 105. Examples of such vehicles 10 include electric vehicles and plug-in hybrid vehicles.
[0034] As shown in FIG. 3, the vehicle 10 includes an actuator 11, a sensor 12, an input unit 101, an output unit 102, a communication unit 103, a storage unit 104, and a computing device 105.
[0035] The actuators 11 include drive system actuators, steering system actuators, braking system actuators, etc. Examples of drive system actuators include an engine, a transmission, and a motor. Examples of braking system actuators include a brake. Examples of steering system actuators include a steering wheel.
[0036] The sensor 12 acquires various types of information used for controlling the vehicle 10. Examples of the sensor 12 include an exterior camera 121 (see FIG. 8) that takes images outside the vehicle, an interior camera that takes images inside the vehicle, a radar that detects objects outside the vehicle, a vehicle speed sensor, an acceleration sensor, a yaw rate sensor, an accelerator opening sensor, a steering sensor, a key detection sensor 122 (see FIG. 8), and an ignition sensor 123 (see FIG. 8; hereinafter referred to as the IG sensor 123).
[0037] The input unit 101 inputs information and data. Examples of the input unit 101 include a navigation system that inputs information according to an operation when operated, a camera that inputs an image showing information, and a microphone that inputs audio showing information. The information and data input to the input unit 101 are sent to the calculation device 105.
[0038] The output unit 102 outputs information and data. Examples of the output unit 102 include a display unit that outputs an image representing information, and a speaker that outputs sound representing information.
[0039] The communication unit 103 transmits and receives information and data. The information and data received by the communication unit 103 is sent to the arithmetic unit 105. The communication unit 103 is configured by, for example, a wireless communication device. The communication unit 103 communicates with a communication unit 503 of the management server 50 (described later) via a communication base station (not shown).
[0040] The storage unit 104 stores information and data.
[0041] The arithmetic device 105 has a control unit 106 that controls each part of the vehicle 10. In this example, the control unit 106 controls the actuator 11 in accordance with various information obtained by the sensor 12.
[0042] The control unit 106 includes a processor, a memory, etc. Examples of the processor include a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), etc. The memory stores a program for operating the processor, information and data indicating the processing results of the processor, etc.
[0043] The number of processors constituting the control unit 106 may be one or more. The processor constituting the control unit 106 may be either a CPU or a GPU, or both a CPU and a GPU. In this example, the control unit 106 has both a CPU and a GPU. For example, the control unit 106 is composed of one or more ECUs (Electronic Control Units).
[0044] In this example, the storage unit 104 stores vehicle information D11, vehicle state information D12, driving history information D13, calculation device information D14, and driving schedule information D15.
[0045] <Vehicle Information> The vehicle information D11 is information related to the vehicle 10. For example, the vehicle information D11 includes a vehicle ID set for the vehicle 10, a user ID set for the user who owns the vehicle 10, vehicle performance information indicating the performance of the vehicle, etc. The vehicle ID is an example of vehicle identification information that identifies the vehicle 10. The user ID is an example of user identification information that identifies the user.
[0046] <Vehicle status information> Vehicle status information D12 indicates the status of vehicle 10. For example, vehicle status information D12 includes vehicle location information, vehicle communication information, vehicle power source information, vehicle battery remaining capacity information, vehicle charging information, etc. Vehicle location information indicates the location (latitude and longitude) of vehicle 10. Vehicle location information can be acquired, for example, by GPS (Global Positioning System). Vehicle communication information indicates the communication status of vehicle 10. Vehicle power source information indicates the power source status of vehicle 10. For example, vehicle power source information indicates whether the ignition power is on or off, whether the accessory power is on or off, etc. Vehicle battery remaining capacity information indicates the remaining capacity of a battery (not shown) installed in vehicle 10. Vehicle charging information indicates whether vehicle 10 is being charged at a charging facility (not shown).
[0047] <Driving history information> The driving history information D13 is information that indicates the driving history of the vehicle 10. For example, the driving history information D13 indicates the position of the vehicle 10 in association with the date and time.
[0048] <Calculation device information> The arithmetic device information D14 is information related to the arithmetic device 105. For example, the arithmetic device information D14 includes an arithmetic device ID set in the arithmetic device 105, a vehicle ID set in the vehicle 10 on which the arithmetic device 105 is mounted, arithmetic device performance information indicating the performance of the arithmetic device 105, etc. The arithmetic device ID is an example of arithmetic device identification information for identifying the arithmetic device 105. The performance of the arithmetic device 105 indicated in the arithmetic device performance information includes a calculation capacity indicating the calculation capacity (specifically, the maximum calculation capacity) of the arithmetic device 105, a ratio of the CPU to the GPU in the arithmetic device 105, etc. The calculation capacity of the arithmetic device 105 is the amount of data that the arithmetic device 105 can calculate per unit time.
[0049] <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.
[0050] (User terminal configuration) The user terminal 20 is a terminal device owned by a user. The user operates the user terminal 20 to use various functions. The user can also carry the user terminal 20. Examples of such user terminals 20 include smartphones, tablets, and laptop-type personal computers.
[0051] As shown in FIG. 4, the user terminal 20 includes an input unit 201, an output unit 202, a communication unit 203, a storage unit 204, and a control unit 205.
[0052] The input unit 201 inputs information and data. Examples of the input unit 201 include an operation unit that is operated to input information corresponding to the operation, a camera that inputs an image showing information, and a microphone that inputs audio showing information. For example, a user can operate the operation unit to access the navigation system of the vehicle 10 and thereby register a reservation for a destination. The information input to the input unit 101 is sent to the calculation device 105.
[0053] The output unit 202 outputs information and data. Examples of the output unit 202 include a display unit that outputs an image representing information, and a speaker that outputs sound representing information.
[0054] The communication unit 203 transmits and receives information and data. The information and data received by the communication unit 303 are sent to the control unit 205.
[0055] The storage unit 204 stores information and data.
[0056] The control unit 205 controls each unit of the user terminal 20. The control unit 205 has a processor, a memory, etc. The memory stores a program for operating the processor, information and data indicating the processing results of the processor, etc.
[0057] In this example, the storage unit 204 stores terminal information D21, terminal state information D22, and schedule information D23.
[0058] <Device Information> The terminal information D21 is information related to the user terminal 20. For example, the terminal information D21 includes a user terminal ID set in the user terminal 20, user terminal performance information indicating the performance of the user terminal 20, etc. The user terminal ID is an example of user terminal identification information that identifies the user terminal 20.
[0059] <Device status information> The terminal status information D22 is information indicating the status of the user terminal 20. The terminal status information D22 includes user terminal position information indicating the position of the user terminal 20, user terminal communication status information indicating the communication status of the user terminal 20, and the like.
[0060] <Schedule Information> The schedule information D23 indicates the behavior history and behavior schedule of the user who owns the user terminal 20. For example, the schedule information D23 indicates the user's location and the length of stay (or the planned length of stay) in association with each other. The schedule information D23 can be acquired by a schedule function installed in the user terminal 20. Specifically, the user inputs his or her behavior history and behavior schedule into the user terminal 20 using the schedule function, thereby obtaining the schedule information D23 indicating the user's behavior history and behavior schedule. The schedule information D23 includes a schedule for driving the vehicle 10.
[0061] (Client-server configuration) The client server 30 is owned by a client, who requests the calculation of job data. Examples of such clients include companies, research institutes, and educational institutions.
[0062] As shown in FIG. 5, the client server 30 includes an input unit 301, an output unit 302, a communication unit 303, a storage unit 304, and a control unit 305.
[0063] The input unit 301 inputs information and data. Examples of the input unit 301 include an operation unit that is operated to input information corresponding to the operation, a camera that inputs an image representing information, and a microphone that inputs audio representing information. The information and data input to the input unit 301 is sent to the control unit 305.
[0064] The output unit 302 outputs information and data. Examples of the output unit 302 include a display unit that outputs an image representing information, and a speaker that outputs sound representing information.
[0065] The communication unit 303 transmits and receives information and data. The information and data received by the communication unit 303 are sent to the control unit 305.
[0066] The storage unit 304 stores information and data.
[0067] The control unit 305 controls each unit of the client server 30. The control unit 305 has a processor, a memory, etc. The memory stores a program for operating the processor, information and data indicating the processing results of the processor, etc.
[0068] In this example, the storage unit 304 stores client information D31 and job data D1.
[0069] <Client Information> The client information D31 is information about the client. The client information D31 includes a client ID set for the client, a client-server ID set for the client server 30 owned by the client, a person in charge's name, address, telephone number, etc. The client ID is an example of client identification information that identifies the client. The client-server ID is an example of client-server identification information that identifies the client server 30.
[0070] <Job Data> The job data D1 is data corresponding to a job and is processed to execute the job.
[0071] The job data D1 can be classified by calculation type. Examples of calculation types include CPU-based calculation types and GPU-based calculation types. Job data D1 of the CPU-based calculation type tend to require complex calculations with many conditional branches, such as simulation calculations. Job data D1 of the GPU-based calculation type tend to require a huge amount of simple calculations, such as image processing and machine learning.
[0072] Furthermore, the job data D1 can be classified according to the processing conditions of the job. Examples of processing conditions include processing conditions that require constant communication and processing conditions that do not require constant communication. Job data D1 with processing conditions that require constant communication requires that the computing resources (i.e., the computing device 105) be able to communicate at all times in the grid computing process. Job data D1 with processing conditions that do not require constant communication does not require that the computing resources be able to communicate at all times in the grid computing process.
[0073] Note that job information related to a job may be stored in the storage unit 304. The job information includes job name information indicating the name of the job, job content information explaining the content of the job, job data information regarding job data corresponding to the job, job deadline information indicating the deadline for the job, etc. The job data information indicates the calculation type, processing conditions, required calculation capacity, etc. of the job data.
[0074] (Facility server configuration) The facility server 40 is owned by a facility. Examples of facilities include a user's workplace, a stadium, a theater, a movie theater, a supermarket, a restaurant, an accommodation facility, a ticket sales facility, etc. For facilities that require a reservation for a visit, the user can make a reservation for a visit to the facility via the user terminal 20.
[0075] 6, facility server 40 includes input unit 401, output unit 402, communication unit 403, storage unit 404, and control unit 405. The configurations of input unit 401, output unit 402, communication unit 403, storage unit 404, and control unit 405 of facility server 40 are the same as the configurations of input unit 301, output unit 302, communication unit 303, storage unit 304, and control unit 305 of client server 30.
[0076] In this example, the storage unit 404 stores facility information D41 and facility usage information D42.
[0077] Facility Information The facility information D41 is information related to a facility. The facility information D41 includes a facility ID set for the facility, a facility server ID set for the facility server 40 owned by the facility, facility location information indicating the location (latitude and longitude) of the facility, the name of a person in charge, an address, a telephone number, etc. The facility ID is an example of facility identification information that identifies a facility. The facility server ID is an example of facility server identification information that identifies the facility server 40.
[0078] <Facility Usage Information> The facility usage information D42 indicates the usage status (usage history and planned usage) of the facility. Specifically, the facility usage information D42 indicates users who use the facility and their stay period (or planned stay period) in association with each other.
[0079] (Administration Server Configuration) The management server 50 manages the operation of the system 1, which is configured with computational resources for grid computing processing. The management server 50 is owned by the operator that operates the system 1.
[0080] 7, the management server 50 includes an input unit 501, an output unit 502, a communication unit 503, a storage unit 504, and a control unit 505. The configurations of the input unit 501, output unit 502, communication unit 503, storage unit 504, and control unit 505 of the management server 50 are 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.
[0081] In this example, the storage unit 504 stores a user table D51, a computing device table D52, a client table D53, a job table D54, a resource table D55, a matching table D56, job data D1, and calculation result data D2.
[0082] <User table> The user table D51 is a table for managing users. For each user, the user table D51 registers a user ID set for the user, a vehicle ID set for the vehicle 10 owned by the user, a calculation device ID set for the calculation device 105 owned by the user, a user terminal ID set for the user terminal 20 owned by the user, and the like.
[0083] <Calculation Unit Table> The arithmetic device table D52 is a table for managing the arithmetic devices 105. In the arithmetic device table D52, for each arithmetic device 105, a arithmetic device ID set in the arithmetic device 105, a user ID set for the user who owns the arithmetic device 105, a vehicle ID set for the vehicle 10 in which the arithmetic device 105 is installed, etc. are registered.
[0084] Furthermore, the arithmetic device table D52 registers, for each arithmetic device 105, the performance of that arithmetic device 105 (such as computing capacity and the ratio of CPU to GPU), the operating status of that arithmetic device 105 (operating history and operation schedule), etc. In other words, the arithmetic device table D52 includes operating status information D5 indicating the operating status of each of the multiple arithmetic devices 105, and performance information D6 indicating the performance of each of the multiple arithmetic devices 105. The performance information D6 includes computing capacity information D7 indicating the computing capacity of each of the multiple arithmetic devices 105.
[0085] <Client Table> The client table D53 is a table for managing clients. For each client, the client table D53 registers a client ID set for that client, a client server ID set for the client server 30 owned by the client, the name, address, and telephone number of the person in charge of that client. The client table D53 records the usage history of grid computing processing for each client.
[0086] <Job Table> The job table D54 is a table for managing jobs requested by clients. For each job, the job table D54 registers the reception number set for that job, the client ID set for the client that requested the job, the name and content of the job, etc. The job table D54 also registers for each job the calculation type and processing conditions of the job data corresponding to that job, the required calculation capacity that is the calculation capacity required to calculate the job data, the delivery date set for that job, etc.
[0087] <Resource Table> The resource table D55 is a table for managing computational capabilities in grid computing processing. Specifically, the resource table D55 is a table for managing computational capability information 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.
[0088] 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 each arithmetic device 105 that constitutes the arithmetic resource allocated to that job data by the matching process, and the like.
[0089] <Job Data> The job data D1 stored in the storage unit 504 is the accepted job data D1.
[0090] <Calculation result data> The calculation result data D2 stored in the storage unit 504 is calculation result information calculated by grid computing processing, and indicates the results of the calculation.
[0091] (Grid computing processing) Next, the grid computing process will be described with reference to FIG.
[0092] 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.
[0093] Next, in step S2, the control unit 505 accepts a job.
[0094] 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.
[0095] 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. The control unit 505 transmits the job data D1 to each arithmetic device 105 via the communication unit 503, the communication base station, and the communication unit 103.
[0096] 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.
[0097] 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.
[0098] 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.
[0099] (Job takeover) In this embodiment, when it is estimated that a calculation device 105 currently executing a job will enter an operating state, the job is handed over to the calculation device 105 of another vehicle 10 located within the specific area in which the calculation device 105 is located. That is, in places such as supermarkets and convenience stores, the vehicle 10 does not stop for very long. Therefore, there is a risk that the vehicle 10 will be used for traveling while the calculation device 105 is executing the job, and the calculation device 105 will enter an operating state. Therefore, by having the calculation device 105 of another vehicle 10 hand over the job and continuing the job, it is possible to prevent the calculation processing of the job from being interrupted.
[0100] Specifically, as shown in the flowchart of FIG. 9 , first, in step S41, the management server 50 determines whether the arithmetic device 105 participating in the grid computing process is likely to transition from a non-operating state to an operating state. For example, the management server 50 estimates, based on the driving history information D13 of the vehicle 10 and the operation history information D15 of the arithmetic device 105, how long the non-operating state will continue when the vehicle 10 stops in the current area and the arithmetic device 105 is placed in a non-operating state. Then, based on the estimation result, the management server 50 estimates the time it will take to switch from the non-operating state to the operating state, and when that time arrives, determines that the arithmetic device 105 is likely to transition to the operating state. Alternatively, the management server 50 may acquire location information of the mobile terminal 20 of the owner of the vehicle 10 and determine that the arithmetic device 105 is likely to transition to the operating state when the mobile terminal 20 is approaching the vehicle 10. If the answer is YES, that is, if it is determined that there is a possibility that the computing device 105 participating in the grid computing process will be shifted to an operating state, the management server 50 proceeds to step S42. On the other hand, if the answer is NO, that is, if it is determined that there is no possibility that the computing device 105 participating in the grid computing process will be shifted to an operating state, the management server 50 ends the process.
[0101] In step S42, the management server 50 detects the computing devices 105 of other vehicles 10 located around the vehicle 10 equipped with the computing device 105 that is likely to transition to an operating state, and detects any computing devices 105 that are not participating in the grid computing process.
[0102] Next, in step S43, the management server 50 requests participation from the calculation device 105 that is estimated to remain in an inoperative state for the longest time among the calculation devices 105 detected in step S42. The management server 50 estimates, for example, from the driving history information D13 of the vehicle 10 and the operation history information D15 of the calculation device 105, how long the inoperative state will continue when the vehicle 10 stops in the current area and the calculation device 105 is put into an inoperative state.
[0103] Next, in step S44, the management server 50 determines whether or not participation is permitted. If participation is permitted (YES), the management server 50 proceeds to step S46, and if participation is not permitted (NO), the management server 50 proceeds to step S45.
[0104] In step S45, the management server 50 excludes the computing device 105 that made the participation request in step S43 from the candidates for the transfer destination. Then, the management server 50 returns to step S43 again to make a participation request to the computing device 105 that is a candidate for the transfer destination.
[0105] In step S46, the management server 50 causes the processing device 105, which is the transfer source, to start transferring the job data D1.
[0106] Next, in step S47, the management server 50 determines whether the transfer of the job data D1 has been completed. If the determination is YES, meaning that the transfer of the job data D1 has been completed, the management server 50 proceeds to step S48. If the determination is NO, meaning that the transfer of the job data D1 has not been completed, the management server 50 repeats the determination in step S47 until the transfer is completed.
[0107] In step S48, the management server 50 deletes the job data D1 from the transfer source arithmetic device 105. After step S48, the management server 50 ends the process.
[0108] (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.
[0109] For this reason, it is conceivable to estimate the computational capacity of the computational resources in advance. However, the computational devices 105 of the vehicles 10 are highly mobile and their locations change. Therefore, when estimating the computational capacity for each computational device, it is necessary to grasp each of the computational resources that may include the computational device, which makes it difficult to estimate the computational capacity accurately.
[0110] Therefore, in this embodiment, the computational capacity is estimated in advance on an area-by-area basis. Specifically, from the driving history of the vehicle 10 and the operation history of the computation device 105, continuous non-operating time periods during which the computation device 105 is not operating continuously in one day are identified by associating them with the location of the computation device 105 during the continuous non-operating time periods. Then, among the multiple computation devices, a specific computation device group consisting of multiple specific computation devices 105 whose continuous non-operating time periods overlap in the specified area is identified, and the computational capacity of the specified area is estimated. Note that the specified area may be set in area units or in facility units (such as apartment buildings, companies, theme parks, etc.).
[0111] Grid computing processes require good communication between each computing device 105, so they are configured with computing devices within a certain area. Estimating the computing capacity by area is useful for matching jobs with computing resources.
[0112] Furthermore, as described above, in this embodiment, job handover between computing devices 105 within an area is permitted. In this case, even if a computing device 105 is replaced with another computing device 105, the computational processing of the job is maintained for the entire area. Therefore, from the perspective of continuing computation until the job is completed, it is more important which computing resource formed in which area the job is to be executed by than which computing resource including which computing device the job is to be executed by. For this reason, when job handover between computing devices 105 is permitted, it is particularly important to estimate the computational capacity for each area.
[0113] Hereinafter, the estimation of the computational capacity of the computational resources will be described in detail with reference to the flowchart of Fig. 10 and Figs. 11 to 14. 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.
[0114] First, in step S11, the control unit 505 of the management server 50 acquires various 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, taking into consideration the possibility that the arithmetic unit 105 of the vehicle 10 has been replaced with a arithmetic unit with higher performance.
[0115] Next, in step S12, the control unit 505 identifies continuous non-operating time periods during a day when the calculation device 105 does not operate continuously, in association with the location of the calculation device 105 during the continuous non-operating time period. 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 a continuous non-operating time period. The control unit 505 identifies the location of each calculation device 105 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.
[0116] FIG. 11 is a timetable 1101 showing the results of identifying the continuous non-operating time periods of each arithmetic device 105 on weekdays for three vehicles 10, vehicle A to vehicle C. The horizontal axis represents the time period, expressed as 0:00 to 24:00. The horizontal axis has the origin at 12:00 noon to make it easier to see the portions with long continuous non-operating time periods. The portions other than the continuous non-operating time periods are times when the arithmetic device 105 is used for driving control or times when the non-operating time is less than the first predetermined time. The location information shown in FIG. 11 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 each of the apartment buildings A is the same apartment building (the same apartment or condominium) and the same company.
[0117] As shown in Figure 11, the calculation device 105 of vehicle A is in an inactive state at apartment complex A from 7:00 PM to 7:30 AM the next day, and at the office from 8:30 AM to 6:00 PM. The calculation device 105 of vehicle B is in an inactive state at apartment complex A from 8:30 PM to 9:00 AM the next day, at the office from 10:00 AM to 7:00 PM, and at the supermarket from 7:30 PM to 8:00 PM. The calculation device 105 of vehicle C is in an inactive state at apartment complex A from 7:00 AM to 11:00 AM and from 2:30 PM to 9:00 PM, at the office from 9:30 PM to 6:00 AM the next day, and at a restaurant from 12:00 PM to 1:00 PM.
[0118] Fig. 12 is a timetable 1201 showing the results of identifying consecutive non-operating time periods of each calculation device 105 on weekdays for three vehicles 10, vehicles D to F. As in Fig. 11, the horizontal axis indicates the time from midnight to midnight, with the origin at 12 noon. Note that apartment complexes B, C, and D are all different apartment complexes, and the malls are all the same shopping mall.
[0119] As shown in Figure 12, the calculation device 105 of vehicle D is in an inactive state at apartment complex B from 7 PM to 8 AM the next day, and at the shopping mall from 9 AM to 6 PM. The calculation device 105 of vehicle E is in an inactive state at apartment complex C from 8:30 PM to 10 AM the next day, at the shopping mall from 11 AM to 3 PM, at a convenience store from 3:30 PM to 4 PM, and at a restaurant from 6 PM to 7 PM. The calculation device 105 of vehicle C is in an inactive state at apartment complex D from 8:30 PM to 8 AM the next day, at her part-time job from 9 AM to 12 PM, and at the shopping mall from 4 PM to 6 PM.
[0120] The control unit 505 creates timetables 1101, 1201 as shown in FIGS. 11 and 12 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.
[0121] After creating the timetables 1101 and 1201 shown in FIGS. 11 and 12, the control unit 505 performs step S 13 In the example shown in FIG. 10, a plurality of specific processing devices whose consecutive non-operating time periods overlap in a predetermined area are identified. The control unit 505 considers each processing device as a specific processing device when the consecutive 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.
[0122] The computing device 505 regards each computing device as a specific computing device if the continuous non-operating time periods in a predetermined area overlap even partially. A specific computing device in the same area does not need to have the continuous non-operating time periods overlap with all other specific computing devices in the same area, but only needs to have the continuous non-operating time periods overlap with some of the other specific computing devices.
[0123] 11, for example, from 7:00 PM to 8:30 PM, the continuous non-operating time period of the calculation device 105 of vehicle A overlaps with that of the calculation device 105 of vehicle C, but does not overlap with that of the calculation device 105 of vehicle B. However, from 8:30 PM to 9:00 AM the next day, the continuous non-operating time period of the calculation device 105 of vehicle B overlaps with that of the calculation device 105 of vehicle A or vehicle C. In this case, the control unit 505 regards each of the calculation devices 105 of vehicle A, vehicle B, and vehicle C as a specific calculation device in apartment building A.
[0124] Fig. 13 is a table 1301 showing a group of specific arithmetic devices identified by the control unit 505. Fig. 13 illustrates three areas. In an apartment building A, the arithmetic devices 105 of vehicles A, B, and C are designated as specific arithmetic devices. In a company, the arithmetic devices 105 of vehicles A and B are designated as specific arithmetic devices. In a shopping mall, vehicles D, E, and F are designated as specific arithmetic devices.
[0125] After specifying the specific arithmetic device group, the control unit 505 performs step S 14In the table 1301 of FIG. 13, the computational capacity of each specific computing device is calculated (see FIG. 10). Here, it is shown in parentheses under each vehicle in the table 1301. This computational capacity is the maximum computational capacity stored in the computing device information D14. For ease of explanation, the computational capacity of each computing device 105 is set to "1" for the computing devices 105 of vehicles A and D, "2" for the computing devices 105 of vehicles B, D, and F, which can calculate twice the amount of data, and "3" for the computing device 105 of vehicle C, which can calculate three times the amount of data. This computational capacity is expressed as the amount of data processed per hour. When a computing device 105 is replaced, this computational capacity is reset according to the computational capacity of the replaced computing device 105. In practice, the 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," and then the continuous calculation capacity, which will be described later, is calculated.
[0126] Next, step S 15 In step S16, the control unit 505 estimates the computing capacity of the predetermined area. The control unit 505 calculates the sum of the computing capacity of each specific computing device during overlapping consecutive non-operating time periods, and estimates the computing capacity of the predetermined area for each time period.
[0127] For example, as shown in FIG. 11, in apartment building A, the continuous non-operating time periods of at least two of the arithmetic devices 105 of vehicle A, vehicle B, and vehicle C overlap from 7 PM to 9 AM the next day. In this case, the control unit 505 estimates the computing capacity for the range from 7 PM to 9 AM the next day. Specifically, since the continuous non-operating time periods of the arithmetic devices 105 of vehicle A and the arithmetic devices 105 of vehicle C overlap from 7 PM to 8:30 PM, the control unit 505 estimates the computing capacity of apartment building A for this time period to be "4," which is the sum of "1," which is the computing capacity of the arithmetic device 105 of vehicle A, and "3," which is the computing capacity of the arithmetic device 105 of vehicle C. Next, from 20:30 to 21:00, the continuous non-operating time periods of all the arithmetic devices 105 of vehicle A, vehicle B, and vehicle C overlap, so the control unit 505 estimates the computing capacity of apartment building A during this time period as "6," which is the sum of the computing capacities of each arithmetic device 105. The control unit 505 estimates the computing capacity for other time periods in a similar manner.
[0128] The control unit 505 estimates the computing capacity for each time period for each area, as shown in the time chart 1401 in Fig. 14. As shown in Fig. 11, Fig. 12, and Fig. 14, it can be seen that the computing capacity of the area is maintained even if the computing device 105 providing the computing capacity is replaced.
[0129] In this embodiment, the control unit 505 further calculates continuous calculation capacity taking into account the length of overlapping continuous non-operating time. The continuous calculation capacity of each area is a value expressed as the product of the calculation capacity of each area and the length of the remaining time available for calculation, and corresponds to the area of the calculation capacity time chart 1401 shown in Figure 14. The calculation result of the continuous calculation capacity of each area is expressed as a time chart 1501 such as that shown in Figure 15.
[0130] As shown in FIG. 15, continuous calculation capacity decreases over time. That is, as time passes, the remaining time available for calculation decreases, and so does the continuous calculation capacity. Continuous calculation capacity is highest when the continuous non-operating time periods first overlap, and then decreases over time. By calculating the time change in continuous calculation capacity for each time period in this way, it is possible to predict in advance the appropriate time period for executing a job. For example, if the control unit 505 receives a job around 3:00 PM, the only areas available for selection during this time period are a shopping mall or a company. However, the continuous calculation capacity of these areas during this time period is insufficient to complete the job's calculation. In this case, the control unit 505 can submit the job until 7:00 PM to the calculation resource formed by the calculation device 105 located in apartment building A, and have the job execute the calculation process. This improves the reliability of job completion.
[0131] As shown in Fig. 15, the slope of the decrease in the continuous calculation power varies depending on the time of day. This is because the calculation power differs depending on the time of day.
[0132] Figures 16 and 17 show a modified example of this embodiment, in which the estimation of the computational capacity for each area further takes into account whether the vehicle 10 is being charged and the communication status between the calculation device 105 (actually the communication unit 103) and the communication base station.
[0133] Table 1601 in FIG. 16 is a table of table 1301 in FIG. 13 , to which information regarding whether charging is possible in each area and the communication speed between the computing device 105 and the communication base station has been added. As shown in FIG. 16 , charging is possible in apartment complex A and the shopping mall (indicated by a circle in FIG. 16 ), but not possible at the office (indicated by an X in FIG. 16 ). The charging history of vehicle 10 is stored in vehicle status information D12, and management server 50 acquires this information by communicating with vehicle 10. Also, as shown in FIG. 16 , the communication speed between the computing device 105 and the communication base station at the office is standard (indicated by "standard" in FIG. 16 ), but the communication speed is slow at apartment complex A (indicated by "slow" in FIG. 16 ), and conversely, the communication speed is fast at the shopping mall (indicated by "fast" in FIG. 16 ). For example, communication speeds tend to be slower when a parking lot is underground than when the parking lot is above ground. The management server 50 obtains such communication speed information by acquiring data from the communication base stations or by estimating it from the communication band in each area.
[0134] In grid computing processing using the arithmetic device 105 mounted on the vehicle 10, power stored in the battery of the vehicle 10 is used, and the remaining battery power decreases as a result of the arithmetic processing. Because power must be saved for driving, the available computing power may be limited if the vehicle is not being charged. Therefore, in this modified example, the control unit 505 further takes into account whether or not the vehicle is being charged when estimating the computing power of each area, so that areas where charging is possible are estimated to have lower computing power than areas where charging is not possible.
[0135] Furthermore, when the communication speed is slow, it takes time to transmit the job data D1 from the management server 50 to the calculation device 105 of the vehicle 10. Therefore, even if the calculation capacity of the calculation device 105 itself is not limited, the calculation time is reduced by communication, and the calculation capacity of the area is virtually limited. Therefore, areas with slow communication speeds are estimated to have lower calculation capacity than areas with fast communication speeds, thereby improving the accuracy of estimating the calculation capacity that can be expected in a specified area.
[0136] Specifically, with regard to charging, in areas where charging is possible, the sum of the computing capacities of each specific computing device is used as the area's computing capacity, while in areas where charging is not possible, the computing capacity calculated as described above is further reduced by half. The reduction rate of computing capacity depending on whether charging is possible may vary depending on the vehicle model. For example, the reduction rate may be halved for electric vehicles, while it may be reduced to two-thirds for hybrid vehicles. This is because hybrid vehicles can run on engine power or charge their batteries even when the remaining battery charge is low. The reduction rate of computing capacity depending on whether charging is possible may also vary depending on the charging capacity of the charging device in each area. For example, the reduction rate of computing capacity may not be reduced if the charging amperage is above a predetermined value, but may be reduced to three-quarters if the charging amperage is below the predetermined value.
[0137] Furthermore, as shown in Figure 16, communication speeds are divided into three levels: "slow," "standard," and "fast." In areas with a "standard" communication speed, the sum of the computing capabilities of each specific computing device is used as the area's computing capability. In areas with a "slow" communication speed, the computing capability calculated as described above is reduced by a predetermined percentage. In areas with a "fast" communication speed, the computing capability calculated as described above is increased by a predetermined percentage. Note that communication speeds may be divided into more detailed levels than "slow," "standard," and "fast." In this case, the slower the communication speed, the greater the degree to which the computing capability is reduced, and the faster the communication speed, the greater the degree to which the computing capability is increased.
[0138] Time chart 1701 in Figure 17 shows the computing capacity of each area when considering the availability of charging and the communication speed. As shown in Figure 17, Apartment Complex A has reduced computing capacity because charging is possible but the communication speed is slow. The company has standard communication speed but does not allow charging, so its computing capacity is reduced. The shopping mall has increased computing capacity because charging is possible and the communication speed is fast.
[0139] In this way, by further considering the availability of charging and the communication speed, it is possible to more accurately estimate the computing power available for grid computing processing in each area, which makes it possible to effectively match the computing resources of grid computing processing with jobs and improve the efficiency of job computation processing using grid computing processing.
[0140] Therefore, in this embodiment, the management server 50 is equipped with a communication unit 503 capable of communicating with each of the calculation devices 105 of the multiple vehicles 10, a memory unit 504 that stores information about each of the multiple calculation devices 105, and a control unit 505. The memory unit 504 stores the computing capacity and operation history of each of the multiple calculation devices 105. The control unit 505 executes the following processes: a non-operating time period estimation process that, from the operation history of each calculation device 105, estimates a continuous non-operating time period during which the calculation device 150 is in an non-operating state for a first predetermined time or more continuously in a day, by associating it with the location of the calculation device 105 during the continuous non-operating time period; a device identification process that identifies multiple specific calculation devices among the calculation devices 105 whose continuous non-operating time periods overlap in a specified area; and a computing capacity estimation process that sums up the computing capacity of each specific calculation device during the overlapping continuous non-operating time periods to estimate the computing capacity in the specified area. This allows for area-by-area estimation of computing power, making it possible to verify which area's computing resources should be used to process a job in order to complete the job's processing appropriately, and effectively matching jobs with computing resources. As a result, job processing using grid computing can be made more efficient.
[0141] Furthermore, in this embodiment, the control unit 505 may be configured to, in the device identification process, regard each of multiple arithmetic devices 105 whose consecutive non-operating time periods overlap for at least a second predetermined time as a specific arithmetic device 105. This eliminates computation resources that result in extremely short computation times. This makes it possible to effectively form an area with the computing power required for job computation processing. This makes it possible to more efficiently perform job computation processing using grid computing processing.
[0142] Furthermore, in this embodiment, when it is estimated that one arithmetic device 105 currently executing a job will enter an operating state, the control unit 505 transfers the job to another arithmetic device 105 that is located in the same predetermined area as the one arithmetic device 105 and that has an overlapping continuous non-operating time period. Even if some of the arithmetic devices 105 enter an operating state, the job calculation continues in the predetermined area. In other words, when viewed on an area-by-area basis, a certain degree of computing capacity is maintained. This makes the effect of calculating the computing capacity in the predetermined area particularly noticeable.
[0143] Furthermore, in this embodiment, the storage unit 504 stores the charging history of each of the multiple vehicles 10, and the control unit 505 further considers whether charging is available so that areas within the specified area where charging is not possible are estimated to have lower computing power than areas where charging is possible. This allows the computing power of the specified area to be estimated taking into account the limited computing power that would be available if charging is not available. As a result, the reliability of job calculation processing by grid computing processing can be improved.
[0144] Furthermore, in this embodiment, the communication unit 503 of the management server 50 is configured to communicate with each arithmetic device 105 via a communication base station in an area including the predetermined area, and the control unit 505 further considers the presence or absence of communication speed with the communication base station so that areas of the predetermined area where the communication speed between a specific arithmetic device and the communication base station is slow are estimated to have lower computational capacity than areas where the communication speed is fast. This allows the computational capacity of the predetermined area to be estimated while taking into consideration that job computation processing will be limited if the communication speed is slow. As a result, the accuracy of estimating the computational capacity expected in the predetermined area is improved, thereby improving the reliability of job computation processing using grid computing processing.
[0145] (Other embodiments) The technology disclosed herein is not limited to the above-described embodiments, and can be substituted within the scope of the claims.
[0146] For example, in the above-described embodiment, the computational resource is the computational device 105 mounted on the vehicle 10 as a mobile body. However, the present invention is not limited to this. The computational device 105 may be mounted on a mobile body other than the vehicle 10. Examples of such mobile bodies include transportation machinery and mobile information terminals. Examples of transportation machinery include motorcycles, railroad cars, ships, aircraft, and drones. Examples of mobile information terminals include notebook personal computers, tablets, and smartphones. In a mobile information terminal, whether the computational device is in an operating state or an inoperating state can be determined based on whether a specific application is running.
[0147] In the above-described embodiment, the computing capacity of the computing resources 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 computing capacity may be estimated based on the estimated computing capacity. For example, if 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 computing capacity may be estimated.
[0148] In the above-described embodiment, the storage unit 504 of the management server 50 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.
[0149] In the above-described embodiment, the control unit 505 of the management server 50 may be configured by a single control unit or may be configured by 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.
[0150] 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]
[0151] The technology disclosed herein is useful for estimating the computing power of a computing resource consisting of multiple computing devices in grid computing processing, in which each computing device mounted on multiple mobile bodies serves as a computing node to perform job computation processing. [Explanation of symbols]
[0152] 10 Vehicles (moving objects) 50 Management Server 105 Arithmetic equipment 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 mobile objects is a computing node, comprising: a communication unit capable of communicating 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 of the computing devices, a continuous non-operating time period in which the computing device is in an non-operating state for a first predetermined continuous time period or more in one day, based on the operation history of each of the computing devices, by associating the continuous non-operating time period with a location of the computing device during the continuous non-operating time period; a device identification process for identifying a plurality of specific computing devices among the computing devices whose continuous non-operating time periods overlap in a predetermined area; a computing capacity estimation process for estimating the computing capacity in the predetermined area by summing the computing capacity of each of the specific computing devices during the overlapping consecutive non-operating time periods; 2. A management device configured to execute the steps of:
2. 2. The management device according to claim 1, The control unit, in the device identification process, considers each of the plurality of mobile bodies whose consecutive non-operating time periods overlap for a second predetermined time or more as a specific computing device.
3. 2. The management device according to claim 1, The control unit is a management device characterized in that, when it is estimated that one of the computing devices currently executing a job will enter an operating state, it transfers the job to another computing device that is located in the specified area where the one computing device is located and whose continuous non-operating time period overlaps with the one computing device.
4. The management device according to any one of claims 1 to 3, the storage unit further stores charging histories of the plurality of mobile bodies for each mobile body; The control unit is a management device characterized in that, in the computational capacity estimation process, it further takes into account whether or not charging is available so that areas of the specified area where charging is not available are estimated to have lower computational capacity than areas where charging is available.
5. The management device according to any one of claims 1 to 4, the communication unit is configured to communicate with each of the arithmetic devices via a communication base station in a region including the predetermined area, A management device characterized in that, in the computational capacity estimation process, the control unit further takes into account whether or not there is a communication speed with the communication base station so that the computational capacity is estimated to be lower in areas of the specified area where the communication speed between the specific computation device and the communication base station is slow compared to areas where the communication speed is fast.
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 mobile objects is a computation node, by using a computer, comprising: a non-operating time period estimation step of estimating, for each of the computing devices, a continuous non-operating time period in which the computing device is in an non-operating state for a first predetermined continuous time period or more in one day, based on the operation history of each of the computing devices, by associating the continuous non-operating time period with the location of the computing device during the continuous non-operating time period; a device identification step of identifying a plurality of specific arithmetic devices among the arithmetic devices whose continuous non-operating time periods overlap in a predetermined area; a computing capacity estimation step of estimating the computing capacity in the specified area by summing up the computing capacity of each of the specific computing devices during the overlapping consecutive non-operating time periods.
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 mobile objects is a computation node, the management program comprising: a non-operating time period estimation process for estimating, for each of the computing devices, a continuous non-operating time period in which the computing device is in an non-operating state for a first predetermined continuous time period or more in one day, based on the operation history of each of the computing devices, by associating the continuous non-operating time period with the location of the computing device during the continuous non-operating time period; a device identification process for identifying a plurality of specific computing devices among the computing devices whose continuous non-operating time periods overlap in a predetermined area; a computing capacity estimation process for estimating the computing capacity in the specified area by taking the sum of the computing capacities of the specific computing devices during the overlapping consecutive non-operating time periods;
Citation Information
Patent Citations
Hierarchical distributed processing system and hierarchical distributed processing method
JP2004110318A
Distributed processing system, in-vehicle terminal and management node decision method in distributed processing system
JP2007072801A
Control apparatus and program
JP2020156194A
Management server and program
JP2020160661A
Using predictive analytics to determine expected use patterns of vehicles to recapture under-utilized computational resources of vehicles
US20200128066A1