Management device and management method
By implementing a management device that offers dual rewards for computing jobs in grid computing systems, users are motivated to actively participate in projects, addressing the lack of incentives in existing systems.
Patent Information
- Application Number
- JP2021140684
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2021-08-31
- Publication Date
- 2025-06-30
- Estimated Expiration
- 2041-08-31
AI Technical Summary
In grid computing systems, users providing computing resources for rewards lack motivation due to only receiving compensation based on computation amount, without incentives for active participation in projects.
A management device that allows users to select computing jobs from a variety of projects, providing both a first reward for computation amount and a second reward based on project completion, with reward rates varying by project.
This approach motivates users to actively provide computing resources by offering incentives tied to project completion, enhancing user engagement and resource utilization in grid computing systems.
Smart Images

Figure 0007699758000001 
Figure 0007699758000002 
Figure 0007699758000003
Abstract
Description
Technical Field
[0001] The present invention relates to a management device and a management method, and particularly to a management device and a management method for managing grid computing.
Background Art
[0002] Conventionally, a technique for applying a plurality of vehicles to grid computing has been proposed (see, for example, Patent Document 1). The system described in Patent Document 1 is composed of a management device connected to a communication network and in-vehicle devices of a plurality of vehicles. In this system, the management device distributes arithmetic jobs to the in-vehicle devices via the communication network, and each in-vehicle device can function as an arithmetic resource and process the arithmetic jobs.
[0003] Also, in such a grid computing system, it has been proposed that the management device performs billing processing (see, for example, Patent Document 2). In the system described in Patent Document 2, a reward is paid to the provider of the arithmetic resource according to the amount of arithmetic operations.
Prior Art Documents
Patent Documents
[0004]
Patent Document 1
Patent Document 2
Summary of the Invention
Problems to be Solved by the Invention
[0005] In a system in which a charging process is performed as described in Patent Document 2, a user having computing resources (e.g., an in-vehicle device, a personal computer, etc.) can provide computing power by the computing resources for the purpose of rewards. However, in such a system, only a reward corresponding to the amount of computation is simply given to the user, and it has not been possible to provide the user with sufficient motivation to actively participate in the business (project) for which the computing resources are provided.
[0006] The present invention has been made to solve such problems, and an object thereof is to provide a management device and a management method capable of providing a user with motivation to actively provide computing resources in a grid computing system.
Means for Solving the Problems
[0007] In order to achieve the above object, the present invention is a management device in a grid computing system that causes a computing device of a user connected via a communication network to perform computing processing on a computing job selected by the user from a plurality of computing jobs received from a client. The computing job constitutes a part of a project executed by the client. The management device stores the content of the project and the reward rate set for the computing job of the project, obtains the amount of computation of the computing processing executed by the computing device for the computing job, calculates a first reward value of a first reward to be given to the user according to the amount of computation by the computing device, obtains the progress of the project, and when it is determined that the project is completed based on the progress, calculates a second reward value of a second reward to be given to the user according to the reward rate.
[0008] According to the present invention configured as described above, when a user provides the computing processing ability of the computing device, the management device calculates a first reward value of the first reward given to the user according to the amount of computing provided for the computing job. In addition, when the project itself including the computing job is completed, the management device calculates a second reward value of the second reward according to the reward rate set for the project. Therefore, in the present invention, the user does not simply provide the computing ability of the computing device for the computing job, but refers to the content of the project and the reward rate so as to most efficiently obtain the first reward value and the second reward value, and considers the selection of the computing job. In this way, in the present invention, when the user provides computing resources, it is possible to provide an incentive or mechanism for actively providing computing resources.
[0009] In the present invention, preferably, the management device is configured to provide the content and reward rate of the project to the user via a communication network. In the present invention configured in this way, the user can select the computing job to participate in by referring to the reward rate of each computing job.
[0010] In the present invention, preferably, the management device receives, via a communication network, a selection of a computing job that provides the computing processing of the computing device from the user, and causes the computing device to execute the computing processing of the selected computing job. In the present invention configured in this way, the management device can allow the user who has applied to participate via the communication network to participate in grid computing.
[0011] In the present invention, preferably, the management device calculates the first reward value according to the amount of computing by the computing device without determining that the project is completed. In the present invention configured in this way, the user can obtain the first reward value for providing the computing ability by the computing device regardless of the completion of the project.
[0012] In the present invention, preferably, the management device is configured to calculate a first reward value with a larger value as the cumulative value of the second reward values given to each user is larger. In the present invention configured in this way, the user selects a computing job in consideration of the reward rate of the computing job so that the first reward value that can be obtained with the same amount of computation becomes larger and the cumulative value of the second reward values becomes efficiently larger. Therefore, in the present invention, rather than simply selecting a computing job, the user preferably makes an active determination of the computing job with reference to the reward rate of the computing job and the content of the project, and can construct a mechanism that easily fosters an awareness of social contribution to the provision of computing resources.
[0013] In the present invention, preferably, the management device calculates a second reward value of a second reward given to a user according to the total amount of computation and the reward rate of the computation process executed by the computing device for the computing job. In the present invention configured in this way, the user can obtain more second reward values as the reward rate is higher. Further, in the present invention, specifically, the management device calculates the second reward value by multiplying the total amount of computation by the reward rate.
[0014] In addition, in order to achieve the above object, the present invention provides a management method in a grid computing system in which a management device causes a computing device of a user connected via a communication network to perform a computing process on a computing job selected by the user from a plurality of computing jobs received from a client. The computing job constitutes a part of a project executed by the client, and the management device stores the content of the project and the reward rate set for the computing job of the project. The management device obtains the amount of computation of the computing process executed by the computing device for the computing job. A first step of calculating a first reward value of a first reward given to the user according to the amount of computation by the computing device. When the management device obtains the progress of the project and determines that the project is completed based on the progress, a second step of calculating a second reward value of a second reward given to the user according to the reward rate. It is characterized by including.
Advantages of the Invention
[0015] According to the management device and management method of the present invention, it becomes possible to provide a motivation for actively providing computing resources to a user in a grid computing system.
Brief Description of the Drawings
[0016]
Figure 1
Figure 2
Figure 3
Figure 4
Figure 5
Figure 6
Figure 7
Figure 8
Figure 9
Figure 10
Figure 11A
Figure 11B
Figure 12
Figure 13
Figure 14
Figure 15
Figure 16
Embodiments for Carrying Out the Invention
[0017] Hereinafter, embodiments of the present invention will be described with reference to the drawings. In the drawings, the same or corresponding parts are denoted by the same reference numerals, and the description thereof will be omitted. FIG. 1 is a configuration diagram of the system of the embodiment of the present invention. The system 1 is a grid computing system including a plurality of vehicles 10, a plurality of user terminals 20, one or more client servers 30, one or more facility servers 40, and a management server 50. These components can communicate with each other via a communication network 5. An arithmetic device 105 is installed in each of the plurality of vehicles 10.
[0018] FIG. 2 is an explanatory diagram of grid computing in the system of the present embodiment. As shown in FIG. 2, in the system 1, grid computing is configured by a plurality of arithmetic devices 105, and grid computing processing is performed to cause an available arithmetic device 105 among the plurality of arithmetic devices 105 to process job data (computing jobs).
[0019] When the computing power or arithmetic ability of the arithmetic device 105 is required in the vehicle 10, the arithmetic device 105 is in an operating state, and the computing power of the arithmetic device 105 is utilized. For example, when the vehicle 10 is running, the computing power of the arithmetic device 105 is required for the running control of the vehicle 10, and the arithmetic device 105 is in an operating state.
[0020] On the other hand, when the computing power of the computing device 105 becomes unnecessary in the vehicle 10, the computing device 105 enters a stopped state and its computing power is no longer utilized. For example, when the vehicle 10 stops and the power of the vehicle 10 is turned off, the computing power of the computing device 105 becomes unnecessary and the computing device 105 enters a stopped state. Therefore, when the computing power of the computing device 105 is unnecessary in the vehicle 10, the computing device 105 can effectively utilize its computing power (i.e., computing resources) by providing the computing power to grid computing processing.
[0021] FIG. 3 is an explanatory diagram of a vehicle in the system of the present embodiment. The vehicle 10 is an automobile used by a user, and is, for example, an electric vehicle, a plug-in hybrid vehicle, or the like. The vehicle 10 is equipped with a battery (not shown), and the power of the battery is supplied to in-vehicle devices such as the computing device 105. 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.
[0022] The actuator 11 includes actuators for the drive system, actuators for the steering system, actuators for the braking system, and the like. Examples of actuators for the drive system include an engine, a transmission, and a motor. An example of an actuator for the braking system is a brake. An example of an actuator for the steering system is a steering.
[0023] The sensor 12 acquires various types of information used for controlling the vehicle 10. Examples of the sensor 12 include an external camera that images the outside of the vehicle, an in-vehicle camera that images the inside of the vehicle, a radar that detects an object outside the vehicle, a vehicle speed sensor, an acceleration sensor, a yaw rate sensor, an accelerator opening sensor, a steering sensor, a brake hydraulic pressure sensor, and the like.
[0024] The input unit 101 is a device for inputting information and data. Examples of the input unit 101 include an operation unit that inputs information corresponding to an operation when operated, a camera that inputs an image indicating information, a microphone that inputs a voice indicating information, and the like. Examples of the operation unit include operation buttons and touch sensors of a car navigation device. The information and data input to the input unit 101 are sent to the arithmetic unit 105.
[0025] The output unit 102 is a device for outputting information and data. Examples of the output unit 102 include a display unit that outputs an image indicating information, a speaker that outputs a voice indicating information, and the like. Examples of the display unit include a display of a car navigation device. Examples of the speaker include a speaker of a car navigation device.
[0026] The communication unit 103 is a device for transmitting and receiving information and data. The information and data received by the communication unit 103 are sent to the arithmetic unit 105. The storage unit 104 is a storage device for storing information and data. The storage unit 104 may be provided in the arithmetic unit 105.
[0027] The arithmetic unit 105 is a device for controlling each part of the vehicle 10. In this example, the arithmetic unit 105 controls the actuator 11 according to various information obtained by the sensor 12. The arithmetic unit 105 is a computer device having a processor, a memory, and the like. Examples of the processor include a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), an MPU (Media Processing Unit), and the like. In this example, the processor includes a CPU and a GPU. The memory stores a program for operating the processor, information and data indicating the processing result of the processor, and the like.
[0028] Note that the number of processors installed in the arithmetic unit 105 may be one or a plurality. Also, the processors installed in the arithmetic unit 105 may include one or more of a CPU, a GPU, and an MPU. For example, the arithmetic unit 105 is composed of one or more ECUs (Electronic Control Units).
[0029] 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. The vehicle information D11 is information about the vehicle 10. For example, the vehicle information D11 includes a vehicle ID set for the vehicle 10, vehicle performance information indicating the performance of the vehicle, and the like. The vehicle ID is an example of vehicle identification information for identifying the vehicle 10. The user ID is an example of user identification information for identifying the user.
[0030] The vehicle state information D12 indicates the state of the vehicle 10. For example, the vehicle state information D12 includes vehicle position information, vehicle communication information, vehicle power supply information, vehicle battery remaining amount information, vehicle charging information, and the like. The vehicle position information indicates the position (latitude and longitude) of the vehicle 10. For example, the vehicle position information can be obtained by GPS (Global Positioning System). The vehicle communication information indicates the communication state of the vehicle 10. The vehicle power supply information indicates the state of the power supply of the vehicle 10. For example, the vehicle power supply information indicates the on / off of the ignition power supply, the on / off of the accessory power supply, and the like. The vehicle battery remaining amount information indicates the remaining amount of the battery (not shown) installed in the vehicle 10. The vehicle charging information indicates whether the vehicle 10 is being charged at a charging facility (not shown).
[0031] The driving history information D13 is information indicating the driving history of the vehicle 10. For example, the driving history information D13 indicates the position and time of the vehicle 10 in association with each other. The computing device information D14 is information regarding the computing device 105. For example, the computing device information D14 includes a computing device ID set in the computing device 105, a vehicle ID set in the vehicle 10 on which the computing device 105 is mounted, computing device performance information indicating the performance of the computing device 105, and the like. The computing device ID is an example of computing device identification information for identifying the computing device 105. The performance of the computing device 105 indicated by the computing device performance information includes a computing ability (specifically, a maximum computing ability) indicating the computing ability of the computing device 105, a ratio between the CPU and the GPU in the computing device 105, and the like. Note that the computing ability of the computing device 105 is the amount of data or the number of arithmetic processes (arithmetic amount) that the computing device 105 can compute per unit time. The operation history information D15 is information indicating the operation history of the computing device 105. For example, the operation history information D15 shows the utilization rate of the computing ability of the computing device 105 in association with time.
[0032] FIG. 4 is an explanatory diagram of a user terminal in the system of the present embodiment. The user terminal 20 is an information terminal device (computer device) used by a user, and is, for example, a smartphone, a tablet, a notebook personal computer, or the like. The user terminal 20 is preferably a portable device. 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.
[0033] The input unit 201 is a component for inputting information and data. Examples of the input unit 201 include an operation unit that inputs information corresponding to an operation when operated, a camera that inputs an image indicating information, a microphone that inputs a voice indicating information, and the like. Examples of the operation unit include an operation button, a touch sensor, and the like. The information input to the input unit 101 is sent to the computing device 105.
[0034] The output unit 202 is a component for outputting information and data. Examples of the output unit 202 include a display unit that outputs an image indicating information, a speaker that outputs a voice indicating information, and the like. The communication unit 203 is a component for transmitting and receiving information and data. The information and data received by the communication unit 303 are sent to the control unit 205. The storage unit 204 is a storage device for storing information and data.
[0035] The control unit 205 is a component for controlling each part of the user terminal 20. The control unit 205 includes a processor, a memory, etc. The memory stores a program for operating the processor, information and data indicating the processing result of the processor, etc.
[0036] In this example, the storage unit 204 stores the terminal information D21, the terminal state information D22, and the schedule information D23. The terminal information D21 is information regarding 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 for identifying the user terminal 20.
[0037] The terminal state information D22 is information indicating the state of the user terminal 20. The terminal state information D22 includes user terminal position information indicating the position of the user terminal 20, user terminal communication state information indicating the communication state of the user terminal 20, etc. The schedule information D23 indicates the action history and action plan of the user who owns the user terminal 20. For example, the schedule information D23 shows the association between the user's position and the stay period (or the scheduled stay period). Note that the schedule information D23 can be obtained by the schedule function installed in the user terminal 20. Specifically, when the user uses the schedule function to input his / her action history and action plan into the user terminal 20, the schedule information D23 indicating the action history and action plan of that user can be obtained.
[0038] FIG. 5 is an explanatory diagram of a client server in the system of this embodiment. The client server 30 is a server device or a computer device used by a client. The client is, for example, an entity such as a company, a research institution, or an educational institution, and executes a project or a task. The project includes arithmetic processing such as computer simulation and various tasks such as fundraising, securing personnel, and negotiating with external institutions. Among these, the client requests the management server 50 to calculate job data or arithmetic jobs necessary for the execution of the project. 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.
[0039] The input unit 301 is a device for inputting information and data. Examples of the input unit 301 include an operation unit that inputs information corresponding to an operation when operated, a camera that inputs an image indicating information, a microphone that inputs a voice indicating information, and the like. Examples of the operation unit include operation buttons, touch sensors, keyboards, mice, and the like. The information and data input to the input unit 301 are sent to the control unit 305.
[0040] The output unit 302 is a device for outputting information and data. Examples of the output unit 302 include a display unit that outputs an image indicating information, a speaker that outputs a voice indicating information, and the like. The communication unit 303 is a device for transmitting and receiving information and data. The information and data received by the communication unit 303 are sent to the control unit 305. The storage unit 304 is a storage device for storing information and data.
[0041] The control unit 305 is a device for controlling each part of the client server 30. The control unit 305 includes a processor, a memory, and the like. The memory stores a program for operating the processor, information and data indicating the processing result of the processor, and the like.
[0042] In this example, the storage unit 304 stores client information D31, job / project information D32, and job data D1. Client information D31 is information about the client. Client information D31 includes the client ID set for the client, the client server ID set for the client server 30 owned by the client, the name of the person in charge, the address, the phone number, and the like. The client ID is an example of client identification information for identifying the client. The client server ID is an example of client server identification information for identifying the client server 30.
[0043] Job / project information D32 includes project information regarding the business or project executed by the client and job information regarding the arithmetic jobs executed for the project. The project information includes the name of the project, the content of the project, the scheduled completion date of the project, the progress (%) of the project, and the like. The job information includes the calculation type of the arithmetic job, the processing conditions, the required computing power, the job due date information indicating the due date of the arithmetic job, and the like.
[0044] Job data D1 is the arithmetic processing data (arithmetic job) required to complete the project. The arithmetic job is an arithmetic process that constitutes a part of the project, for example, simulation calculation or the like. Job data D1 can be classified by the calculation type. Examples of the calculation type include the CPU-based calculation type, the GPU-based calculation type, and the like. In the job data D1 of the CPU-based calculation type, complex calculations with many conditional branches, such as simulation calculations, tend to be required. In the job data D1 of the GPU-based calculation type, a huge amount of simple calculations, such as image processing and machine learning, tend to be required. Also, job data D1 can be classified by the processing conditions. Examples of the processing conditions include the processing conditions that require constant communication, the processing conditions that do not require constant communication, and the like.
[0045] FIG. 6 is an explanatory diagram of a facility server in the system of the present embodiment. The facility server 40 is a server device or a computer device used in a facility visited by a user. The user can make a reservation to visit the facility. Examples of such facilities include stadiums, theaters, supermarkets, restaurants, accommodation facilities, stores, and the like.
[0046] As shown in FIG. 6, the facility server 40 includes an input unit 401, an output unit 402, a communication unit 403, a storage unit 404, and a control unit 405. The configurations of the input unit 401, output unit 402, communication unit 403, storage unit 404, and control unit 405 of the facility server 40 are the same as those of the input unit 301, output unit 302, communication unit 303, storage unit 304, and control unit 305 of the client server 30.
[0047] In this example, the storage unit 404 stores facility information D41 and facility usage information D42. The facility information D41 is information about the 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 the person in charge, the address, the telephone number, and the like. The facility ID is an example of facility identification information for identifying the facility. The facility server ID is an example of facility server identification information for identifying the facility server 40.
[0048] The facility usage information D42 indicates the usage status (usage history and usage schedule) of the facility. Specifically, the facility usage information D42 indicates the user who visits the facility in association with the stay period (or the scheduled stay period).
[0049] FIG. 7 is an explanatory diagram of the management server in the system of this embodiment. The management server 50 (or the management device 50) is a server device or a computer device that manages the operation of the system 1 that executes grid computing. As shown in FIG. 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 those of the input unit 301, output unit 302, communication unit 303, storage unit 304, and control unit 305 of the client server 30.
[0050] In this example, the storage unit 504 stores a user table D51, an arithmetic unit table D52, a client table D53, a job / project table D54, a resource table D55, a matching table D56, job data D1, and calculation result data D2.
[0051] The user table D51 is a table for managing users. In the user table D51, for each user, the user ID set for that user, the vehicle ID set for the vehicle 10 owned by that user, the arithmetic unit ID set for the arithmetic unit 105 owned by that user, the user terminal ID set for the user terminal 20 owned by that user, etc. are registered.
[0052] The arithmetic unit table D52 is a table for managing the arithmetic unit 105. In the arithmetic unit table D52, for each arithmetic unit 105, the arithmetic unit ID set for that arithmetic unit 105, the user ID set for the user who owns that arithmetic unit 105, the vehicle ID set for the vehicle 10 on which that arithmetic unit 105 is mounted, etc. are registered.
[0053] In addition, in the arithmetic unit table D52, for each arithmetic unit 105, its performance (such as computing power and the ratio of CPU to GPU), its operating status (operation history and operation schedule), etc. are registered. In other words, the arithmetic unit table D52 includes operation status information D5 indicating the operation status of each of the plurality of arithmetic units 105 and performance information D6 indicating the performance of each of the plurality of arithmetic units 105. The performance information D6 includes computing power information D7 indicating the computing power of each of the plurality of arithmetic units 105.
[0054] The client table D53 is a table for managing clients. In the client table D53, for each client, the client ID set for that client, the client server ID set for the client server 30 owned by the client, the name of the person in charge of that client, the address, the phone number, etc. are registered.
[0055] The job / project table D54 is a table for managing jobs and projects requested from clients. In the job / project table D54, for each job, the reception number set for that job, the registration date when the request for that job was received, the client ID set for the client who requested that job, the job information of that job, the project information of the project including that job, and project evaluation information are included.
[0056] The job information includes the calculation type of the arithmetic job, processing conditions, required computing power, job due date information indicating the due date of the arithmetic job, estimated total amount of operations, amount of operations already executed, progress rate (%) of the job, etc. The progress rate of the job is the ratio of the amount of operations already executed to the estimated total amount of operations of the arithmetic job. The management server 50 calculates and stores in advance the total amount of operations of the arithmetic job, and updates the progress rate of the job in response to the execution of the arithmetic processing of the arithmetic job by the arithmetic unit 105.
[0057] Project information includes the name of the project, the content of the project, the planned completion date of the project, the progress percentage of the project, etc. The project information is information obtained from the client. The progress percentage of the project is the self-evaluation value of the project progress by the client. The management server 50 updates the progress percentage of the project based on the data received from the client server 30 at a predetermined time or periodically.
[0058] In addition, the operator of the management server 50 evaluates the project based on the project information obtained from the client, creates project evaluation information, and inputs it into the management server 50. This process is executed when the management server 50 receives a request for calculation processing of an arithmetic job from the client. That is, the operator estimates the social impact level (A) and the difficulty level of achievement (B) of the project, and generates an evaluation value or an evaluation coefficient (C) based on these (see Fig. 11B).
[0059] In this embodiment, the evaluation value C is a numerical index representing the value of the project. The larger the evaluation value C exceeds 1, the higher the value of the project is evaluated. And the evaluation value C is a numerical value used as a multiple when calculating the second reward value Rs of the second reward ES described later. That is, the evaluation value C is a reward rate for the second reward ES in which the value of the project is reflected.
[0060] In this example, the social impact level A and the difficulty level of achievement B of the project are each evaluated at a plurality of levels from 1 (low) to 5 (high), and the product of these values is set as the evaluation value C (C = A × B). Alternatively, for example, indicators such as social impact level, difficulty level of achievement, and social contribution level may be set, and the evaluation value may be set by combining one or a plurality of these (product or sum). Note that instead of being created by the operator, the management server 50 may use machine learning to learn and analyze the project information to create project evaluation information.
[0061] In addition, the project evaluation information includes status information indicating the progress of the project ("in progress", "completed", etc.). When the management server 50 determines that the project has been completed, it updates the status information from "in progress" to "completed". That is, the management server 50 periodically determines whether all the calculation processes of the calculation job have been completed and the progress of the job has reached 100%, and whether the progress of the project has reached 100%. If these conditions are met, it is determined that the project has been completed. Instead of being determined by the management server 50, the operator may update the status information based on the progress of the calculation job and the progress of the project.
[0062] The resource table D55 is a table for managing the computing power in grid computing processing. Specifically, the resource table D55 is a table for managing the results of the prediction processing described later. In the resource table D55, for each computing device 105, the computing device ID set for the computing device 105, the predicted result of the temporal change of the computing power available in the grid computing processing of the computing device 105, etc. are registered.
[0063] The matching table D56 is a table for managing the results of the matching processing described later. In the matching table D56, for each job, the reception number set for the job, the job data corresponding to the job, the computing device ID set for the computing device 105 assigned to the job data by the matching processing, etc. are registered.
[0064] The job data D1 stored in the storage unit 504 is the job data D1 received by the job reception processing described later. The calculation result data D2 stored in the storage unit 504 is the job data calculated by the grid computing processing described later and indicates the result of the calculation.
[0065] Next, the update of the user table D51 will be described. The user table D51 is updated by the control unit 505 of the management server 50. For example, when a new user joins the system 1, the control unit 505 updates the user table D51 by registering information related to the new user in the user table D51.
[0066] Specifically, the control unit 505 newly sets a user ID for the new user, and associates the "user ID" set for the new user, the "vehicle ID" set for the vehicle 10 owned by the user, the "computing device ID" set for the computing device 105 installed in the vehicle 10, and the "user terminal ID" set for the user terminal 20 owned by the new user, and registers them in the user table D51.
[0067] Note that it is possible to obtain the "vehicle ID" and "computing device ID" related to the new user through communication between the vehicle 10 owned by the new user and the management server 50. Also, it is possible to obtain the "user terminal ID" related to the new user through communication between the user terminal 20 owned by the new user and the management server 50.
[0068] Next, the update of the computing device table D52 will be described. The computing device table D52 is updated by the control unit 505 of the management server 50. For example, when a new computing device 105 joins the system 1, the control unit 505 updates the computing device table D52 by registering information related to the new computing device 105 in the computing device table D52.
[0069] Specifically, the control unit 505 associates the "computing device ID" set for the new computing device 105, the "user ID" set for the user who owns the computing device 105, the "vehicle ID" set for the vehicle 10 on which the computing device 105 is installed, and the "performance" and "operating status" of the computing device 105, and registers them in the computing device table D52.
[0070] Note that by communicating between the vehicle 10 equipped with the new arithmetic unit 105 and the management server 50, it is possible to obtain the "arithmetic unit ID", "vehicle ID", "performance", and "operation status" related to the new arithmetic unit 105. Also, by referring to the user table D51, it is possible to obtain the "user ID" related to the new arithmetic unit 105.
[0071] Also, the "operation status" of the arithmetic unit 105 registered in the arithmetic unit table D52 is updated periodically. In other words, the operation status information D5 included in the arithmetic unit table D52 is updated periodically. This periodic update is performed by the control unit 505 of the management server 50.
[0072] 〈First update process〉For example, based on the "operation history information D15" of the vehicle 10, the "operation status" (in other words, the operation status information D5) of the arithmetic unit 105 in the arithmetic unit table D52 may be updated periodically. Specifically, the control unit 505 may execute the following first update process for each arithmetic unit 105 registered in the arithmetic unit table D52.
[0073] In the first update process, the control unit 505 requests access to the "operation history information D15" from the vehicle 10 equipped with the arithmetic unit 105. The arithmetic unit 105 of the vehicle 10 permits access to the "operation history information D15" in response to the request. The control unit 505 updates the "operation history", which is the past operation status, among the "operation status" of the arithmetic unit 105 registered in the arithmetic unit table D52 based on the operation history of the arithmetic unit 105 shown in the operation history information D15.
[0074] 〈Second update process〉Also, based on the "driving history information D13" of the vehicle 10, the "operation status" (in other words, the operation status information D5) of the arithmetic unit 105 in the arithmetic unit table D52 may be updated periodically. Specifically, the control unit 505 may execute the following second update process for each arithmetic unit 105 registered in the arithmetic unit table D52.
[0075] In the second update process, the control unit 505 requests access to the "driving history information D13" for the vehicle 10 equipped with the arithmetic unit 105. The arithmetic unit 105 of the vehicle 10 permits access to the "driving history information D13" in response to the request. The control unit 505 estimates the operation history of the arithmetic unit 105 based on the driving history of the vehicle 10 shown in the driving history information D13. Next, the control unit 505 updates the "operation history", which is the past operation status among the "operation statuses" of the arithmetic unit 105 registered in the arithmetic unit table D52, based on the estimated operation history of the arithmetic unit 105.
[0076] 〈Third update process〉 Also, based on the "schedule information D23" of the user terminal 20, the "operation status" (in other words, the operation status information D5) of the arithmetic unit 105 in the arithmetic unit table D52 may be updated periodically. Specifically, the control unit 505 may execute the following third update process for each arithmetic unit 105 registered in the arithmetic unit table D52.
[0077] In the third update process, the control unit 505 requests access to the "schedule information D23" for the user terminal 20 owned by the user who owns the arithmetic unit 105. The control unit 205 of the user terminal 20 permits access to the "schedule information D23" in response to the request. The control unit 505 detects the action status related to the vehicle 10 equipped with the arithmetic unit 105 from among the action statuses (action history and action plan) of the user shown in the schedule information D23.
[0078] For example, from among the action histories, which are the past action statuses of the user's action statuses, the action history in which the user was on board the vehicle 10 is detected, and from among the action plans, which are the future action statuses of the user's action statuses, the action plan in which the user is scheduled to board the vehicle 10 is detected.
[0079] Next, the control unit 505 estimates the driving situation (driving history and driving plan) of the vehicle 10 based on the detected behavior status of the user. Next, the control unit 505 estimates the operating status (operation history and operation plan) of the arithmetic unit 105 based on the estimated driving situation of the vehicle 10. Then, the control unit 505 updates the "operating status" of the arithmetic unit 105 registered in the arithmetic unit table D52 based on the estimated operating status of the arithmetic unit 105.
[0080] 〈Fourth Update Process〉 Also, based on the "facility usage information D42" of the facility server 40, the "operating status" (in other words, the operation status information D5) of the arithmetic unit 105 in the arithmetic unit table D52 may be updated periodically. Specifically, the control unit 505 may execute the following fourth update process for each arithmetic unit 105 registered in the arithmetic unit table D52.
[0081] In the fourth update process, the control unit 505 requests the facility server 40 to access the "facility usage information D42". The facility server 40 permits access to the "facility usage information D42" in response to the request. The control unit 505 detects the usage situation (usage history and usage plan) related to the vehicle 10 equipped with the arithmetic unit 105 from the usage situation (usage history and usage plan) of the facility shown in the facility usage information D42.
[0082] For example, from the usage history, which is the past usage situation among the usage situations of the facility, a usage history in which the user was on board the vehicle 10 is detected, and from the usage plan, which is the future usage situation among the usage situations of the facility, a usage plan in which the user is scheduled to board the vehicle 10 is detected.
[0083] Next, the control unit 505 estimates the driving situation (driving history and driving plan) of the vehicle 10 based on the detected usage situation of the facility. Next, the control unit 505 estimates the operating status (operation history and operation plan) of the arithmetic unit 105 based on the estimated driving situation of the vehicle 10. Next, the control unit 505 updates the "operating status" of the arithmetic unit 105 registered in the arithmetic unit table D52 based on the estimated operating status of the arithmetic unit 105.
[0084] Next, the update of the client table D53 will be described. The client table D53 is updated by the control unit 505 of the management server 50. For example, when a new client joins the system 1, the control unit 505 updates the client table D53 by registering information related to the new client in the client table D53.
[0085] Specifically, the control unit 505 newly sets a client ID for the new client, and associates the "client ID" set for the new client, the "client server ID" set for the client server 30 owned by the new client, the "person in charge", "address", and "phone number" of the new client, and registers them in the client table D53. Note that through the communication between the client server 30 and the management server 50, it is possible to obtain the "client server ID", "person in charge", "address", and "phone number" related to the new client.
[0086] Next, with reference to FIG. 8, the rewards given to the user according to this embodiment will be described. FIG. 8 is a graph showing the relationship between the user rank and the reward coefficient. In this embodiment, the user can obtain rewards from the operator of the system 1 in exchange for providing the computing processing ability (computing resources) by the computing device 105. The rewards in this embodiment include a first reward EP and a second reward ES. The first reward EP and the second reward ES are registered in the user table D51 as the reward information of each user.
[0087] The first reward EP is a reward having economic value and can be converted into currency value by a predetermined conversion coefficient. The first reward EP is, for example, points available in the system 1, virtual currency, discount privileges for goods, etc. The first reward value Rp of the first reward EP is calculated based on the amount of computation Q executed by the computing device 105 in the computation processing of the computation job.
[0088] The management server 50 divides the computing job into a plurality of computing blocks, and the computing device 105 performs computing processing on the divided computing blocks. For example, one computing block is set as one computing unit, and the reward coefficient Ec is multiplied by the number of computing units (computing amount Q) executed by the computing device 105 to calculate the first reward value Rp of the first reward EP (Rp = Q × Ec). Therefore, regardless of the content of the project and without being subject to other restrictions, the user obtains the first reward EP simply depending on the provided computing amount Q (i.e., the number of computing units).
[0089] However, in this embodiment, as shown in FIG. 8, the reward coefficient Ec (Ec ≧ 1) is set according to the user rank obtained by the user. For this reason, by obtaining a high user rank, the user can obtain more of the first reward EP. For example, for a user with user rank 3 (silver title), the reward coefficient Ec is 1.3 times. Thus, the first reward value Rp of the first reward EP for this user is calculated as Q × 1.3 (Ec). That is, the first reward value Rp is the sum of the basic reward value Rb (Rb = Q × 1.0, which is the reward value when Ec is 1.0) and the additional reward value Ra (Ra = Q × 0.3) corresponding to 0.3 times the reference reward value (Rp = Rb + Ra).
[0090] On the other hand, the second reward ES is set such that the second reward value Rs varies depending on the content of the project and other conditions. Also, the second reward ES is an honorary reward given to the user when the project is completed and useful to society. Therefore, unlike the first reward EP, the second reward ES does not have an economic value and cannot be converted into currency value. In this embodiment, the second reward ES is used to determine the user rank.
[0091] As shown in FIG. 8, the user rank is set by the cumulative value Rst of the second reward value Rs of the second reward ES. That is, the more the user obtains the second reward ES, the higher the user rank is set and the larger the reward coefficient Ec is set, and the more the first reward EP can be obtained. For example, a user whose cumulative value Rst of the second reward value Rs of the second reward ES has already exceeded 10,000 is set to user rank 3 (Ec = 1.3). Note that the cumulative value Rst may be configured to be reset to zero in a predetermined period (for example, one year).
[0092] The second reward value Rs of the second reward ES is calculated by multiplying the evaluation value C, which is the reward rate of the project, by the total value QT of the calculation amount Q provided by the user (Rs = QT × C). The evaluation value C is set to a larger value as the social impact degree A of the project is larger and the achievement difficulty B is higher. Therefore, if the user selects a project with a large evaluation value C, there is a possibility of obtaining more of the second reward ES.
[0093] However, as described above, the second reward ES is given when the project is completed (that is, when the status information becomes "completed"). That is, the user can obtain the second reward ES when the project is completed, but cannot obtain the second reward ES when the project fails and is aborted. The higher the evaluation value C is, the higher the possibility that the project will not be completed. Therefore, in addition to the project evaluation information, the user refers to the content of the project, the project progress, etc., and tries to make a choice to utilize the limited computing resources of the user meaningfully in terms of social and economic significance.
[0094] The control unit 505 of the management server 50 registers the calculated first reward value Rp of the first reward EP and the second reward value Rs of the second reward ES in the user account in the user table D51 in association with the user ID. According to the cumulative value Rst of the second reward value Rs of the second reward ES registered in the user table D51, a user rank and a reward coefficient Ec are set in the user table D51. Further, the control unit 505 may transfer the equivalent amount of the first reward value Rp of the first reward EP to the user's bank account. Alternatively, instead of the management server 50, the client server 30 may execute a process of awarding a reward to the user.
[0095] Next, with reference to FIGS. 9 to 16, each process of the management server will be described. First, with reference to FIGS. 9 and 10, the job reception process will be described. FIG. 9 is a process flow of the job reception process, and FIG. 10 is an explanatory diagram of the job reception screen. As shown in FIG. 9, in the job reception process, the management server 50 receives a request for calculation processing of job data D1 from the client (S11). Specifically, the client server 30 transmits a job request application to the management server 50 in response to an operation by a person in charge of the client. The control unit 505 of the management server 50 performs the following processes in response to the application.
[0096] The control unit 505 requests the client server 30 to transmit information required for job reception (specifically, client information regarding the client that requests the job and job / project information regarding the job and the project). In this example, the control unit 505 transmits the image data of the job reception screen to the client server 30. The control unit 305 of the client server 30 reproduces the image of the job reception screen from the image data and outputs (displays) the image to the output unit 302 (display unit).
[0097] As shown in FIG. 10, the job reception screen is a screen for inputting information necessary for job reception, and includes a client information input field, a job / project information input field, and a registration button B100. The client information input field includes a client name input field R101 for inputting the client name, a person in charge name input field R102 for inputting the name of the person in charge of the client, and an address input field R104 for inputting the address of the client. In addition, the job / project information input field includes a job / project name input field R111 for inputting the names of the job and the project, a job / project content input field R112 for inputting an explanation regarding the content of the job and the project, a calculation type input field R113 for inputting the calculation type of the job data corresponding to the job, a processing condition input field R114 for inputting the processing conditions of the job data, a required calculation ability input field R115 for inputting the required calculation ability of the job data, and a due date input field R116 for inputting the due date of the job.
[0098] The person in charge of the client operates the input unit 301 (operation unit) of the client server 30 to input the information necessary for the job reception screen. Thereby, client information regarding the client requesting the job and job / project information regarding the job and the project are input. Then, when the input of these information is completed, the person in charge of the client operates the input unit 301 (operation unit) of the client server 30 to press the registration button B100 on the job reception screen. When the registration button B100 is pressed, the control unit 305 of the client server 30 transmits the information (client information and job / project information) input on the job reception screen to the management server 50. The control unit 505 of the management server 50 receives the client information and the job / project information.
[0099] Next, the control unit 505 requests the client server 30 to transmit the job data D1 corresponding to the job. The control unit 305 of the client server 30 responds to the request and transmits the job data D1 corresponding to the job to the management server 50. The control unit 505 of the management server 50 receives the job data D1.
[0100] Next, the control unit 505 of the management server 50 analyzes the job data D1 received in step S11 (S12). Specifically, the control unit 505 analyzes the calculation type, processing conditions, required computing power, etc. of the job data D1. Then, based on the result of the analysis of the job data D1, the control unit 505 corrects the job / project information received in step S11. Note that if the job / project information received in step S11 is sufficiently reliable, the process of step S12 may be omitted.
[0101] Next, the control unit 505 of the management server 50 associates the client information received in step S11 with the job / project information corrected as necessary in step S12 (or the job / project information received in step S11), and registers it in the job / project table D54 (S13). Also, the control unit 505 stores the job data D1 received in step S11 in the storage unit 504.
[0102] Next, with reference to FIGS. 11A, 11B, and 12, the project selection process will be described. FIGS. 11A and 11B are examples of a project list, and FIG. 12 is a process flow of the project selection process. In the project selection process, the management server 50 presents a project list introducing a plurality of projects to the user, and allows the user to select a project for which the user wishes to provide the computing power of the computing device 105.
[0103] The project list includes the recruitment items for multiple projects. The recruitment items are set based on the job / project information (project information, job information, project evaluation information, status information, etc.) registered in the job / project table D54 for each project. Specifically, the recruitment items include the project name, content, registration date, scheduled completion date, project progress, client name, calculation type of the computing job, processing conditions of the computing job, required computing power of the job data, reward content, recruitment start date, recruitment end date, progress of the computing job, project evaluation information (social impact degree A, difficulty of achievement B, evaluation value C, status information), etc. In this way, the recruitment items contain information that allows users to evaluate the value of a job or project when selecting a job or project.
[0104] Figures 11A and 11B excerpt and show only the main items among the recruitment items for five projects. Figures 11A and 11B show the project number, project name, registration date, scheduled completion date, project content, project progress, social impact degree A, difficulty of achievement B, evaluation value C, computing progress, and status information. The five projects are, in order from top to bottom, new drug development for infectious diseases, pre-production drug testing, earthquake prediction, seismic resistance test for houses, and analysis of the molecular structure of new materials.
[0105] Users can select one or more projects that provide computing resources and specify the computing provision time (e.g., monthly) by referring to the content, progress, project evaluation information, etc. of each project. When selecting multiple projects, users can set the allocation ratio of computing resources to each project (e.g., computing time ratio).
[0106] First, as shown in FIG. 12, in the project selection process, the control unit 505 presents a project list to the user (S21). For example, the project list is presented to the user's user terminal 20. Specifically, in response to the user's operation, the user terminal 20 requests the management server 50 to manage the transmission of the project list. In response to the request, the control unit 505 of the management server 50 transmits the image data of the project list to the user terminal 20. The user terminal 20 reproduces the image of the project list from the image data and outputs (displays) the image to the output unit 202 (display unit).
[0107] Next, the user selects a project that desires the provision of the computing power of the arithmetic unit 105 from among the projects introduced in the project list presented to the user terminal 20. Specifically, the user operates the input unit 201 (operation unit) of the user terminal 20 to select one or more desired projects from the project list, inputs the computing time, inputs the computing resource allocation ratio for each project to complete the participation application information, and presses the participation button on the screen. In response to the pressing of the participation button, the control unit 205 of the user terminal 20 transmits the participation application information to the management server 50. The control unit 505 of the management server 50 receives the participation application information from each user (S22).
[0108] Next, the control unit 505 of the management server 50 updates the job / project table D54 based on the received participation application information (S23). That is, the control unit 505 registers the "user ID" of the user who has applied for participation for each project.
[0109] Next, with reference to FIG. 13, the prediction process will be described. FIG. 13 is the processing flow of the prediction process. In the prediction process, based on the computing device table D52 (specifically, the computing power information D7 and the operation status information D5) stored in the storage unit 504, the computing power of the computing devices 105 that can be used in the grid computing process among the plurality of computing devices 105 is predicted. For example, when the computing device table D52 (specifically, at least one of the computing power information D7 and the operation status information D5) stored in the storage unit 504 is updated, the control unit 505 performs the following processes.
[0110] First, the control unit 505 acquires the "computing power" and "operation status" of the computing device 105 registered in the computing device table D52 (S31). In other words, the control unit 505 acquires the computing power information D7 and the operation status information D5 included in the computing device table D52.
[0111] Next, for each computing device 105, the control unit 505 predicts the temporal change in the computing power available for the grid computing process of the computing device 105 based on the computing power of the computing device 105 indicated by the computing power information D7 and the operation status of the computing device 105 indicated by the operation status information D5 (S32).
[0112] Specifically, the control unit 505 predicts the trend (pattern) of the change in the utilization rate of the computing power of the computing device 105 from the operation status of the computing device 105 indicated by the operation status information D5. The prediction of the trend of the change in the utilization rate of the computing power of the computing device 105 may be realized by machine learning. Then, based on the trend of the change in the utilization rate of the computing power of the computing device 105, the control unit 505 predicts the period during which there is a margin in the computing power of the computing device 105 (the period during which the utilization rate of the computing power is not 100%), and sets that period as "the period during which the computing power of that computing device 105 can be used for the grid computing process". For example, the control unit 505 sets the period during which the utilization rate of the computing power of the computing device 105 is "30%" as the period during which "70%" of the computing power of the computing device 105 can be used for the grid computing process.
[0113] Next, for each arithmetic unit 105, the control unit 505 registers in the resource table D55 the temporal change in the computing power available in the grid computing process of the arithmetic unit 105 predicted in step S32 (S33). As a result, the resource table D55 is updated.
[0114] Next, with reference to FIG. 14, the matching process will be described. FIG. 14 is a process flow of the matching process. The matching process is a process of allocating an arithmetic unit 105 available in the grid computing process among a plurality of arithmetic units 105 to the job data D1 received in the reception process based on the prediction result of the prediction process. For example, after completion of the job reception process, the control unit 505 performs the following processes.
[0115] First, the control unit 505 selects a project to be the target of the matching process from among the projects registered in the job / project table D54 (S41). Then, the control unit 505 selects job data D1 corresponding to the project to be the target of the matching process from among the job data D1 stored in the storage unit 504.
[0116] Next, based on the prediction result of the temporal change in the computing power available in the grid computing process of each of the plurality of arithmetic units 105 registered in the resource table D55, the control unit 505 selects, from among the plurality of arithmetic units 105, an arithmetic unit 105 available in the grid computing process for the job data D1 selected in step S41 (S42). Specifically, the control unit 505 determines the calculation prediction period during which the grid computing process for the job data D1 is to be executed, and detects an arithmetic unit 105 capable of providing computing power during the calculation prediction period from among the arithmetic units 105 of the plurality of users who have applied to participate in the target project.
[0117] Next, the control unit 505 assigns the calculation periods of each arithmetic unit 105 to the job data D1. That is, the control unit 505 sets the respective allocation periods (date and time) of the plurality of arithmetic units 105 that have submitted participation applications so that the total amount of calculations to be allocated to the plurality of arithmetic units 105 that have submitted participation applications during the calculation scheduled period is equal to or greater than the amount of calculations of the job data D1 (S43). Then, the control unit 505 registers the matching result information indicating the allocation of the arithmetic unit 105 to the job data D1 in the matching table D56. Note that the arithmetic processing of the job data D1 is divided into a number of arithmetic units and is continuously or intermittently executed by the plurality of arithmetic units 105 over a calculation scheduled period of a predetermined length.
[0118] Next, with reference to FIG. 15, the grid computing process will be described. FIG. 15 is a processing flow of the grid computing process. In the grid computing process, among the plurality of arithmetic units 105, the arithmetic unit 105 assigned to the job data D1 processes the job data D1. For example, after the completion of the matching process, the control unit 505 performs the following processes.
[0119] Note that when the amount of calculations of the job data D1 is large, the arithmetic processing of the job data D1 is divided into a plurality of sessions, and the grid computing process is continuously or intermittently executed over a long period until the arithmetic processing of the job data D1 is completed. In this case, the following processes are executed in units of sessions.
[0120] First, the control unit 505 refers to the matching table D56 and distributes the job data D1 that is the target of the grid computing process to the arithmetic unit 105 assigned to the job data D1 in the matching process (S51). Specifically, the control unit 505 transmits a part of the job data D1 to each of the arithmetic units 105 assigned to the job data D1. Thereby, the job data D1 is processed in parallel by the arithmetic unit 105 assigned to the job data D1.
[0121] Next, each of the arithmetic units 105 transmits partial calculation result data obtained by the calculation to the management server 50 when the calculation of the data (a part of the job data D1) transmitted to the arithmetic unit 105 is completed. The control unit 505 of the management server 50 receives the partial calculation result data transmitted from the arithmetic unit 105 and stores the partial calculation result data in the storage unit 504 (S52). Further, when the management server 50 receives the partial calculation results from each arithmetic unit 105, it stores the amount of calculation assigned to each arithmetic unit 105 in the job / project table D54.
[0122] The control unit 505 determines whether or not all of the arithmetic units 105 to which the job data D1 was distributed in step S51 have completed the calculation (S53). If all of the arithmetic units 105 have completed the calculation, the process of step S54 is performed; otherwise, the process of step S52 is performed.
[0123] When all of the arithmetic units 105 have completed the calculation, the control unit 505 generates calculation result data D2 (calculation result data D2 indicating the result of the calculation of the job data D1) corresponding to the job data D1 that is the target of the grid computing process by combining the partial calculation result data stored in the storage unit 504. Then, the control unit 505 transmits the calculation result data D2 corresponding to the job data D1 that is the target of the grid computing process to the client server 30 of the client that requested the calculation of the job data D1 (S54). Further, the control unit 505 stores the session end flag as ON.
[0124] Next, with reference to FIG. 16, the reward calculation process will be described. FIG. 16 is a process flow of the reward calculation process. The control unit 505 of the management server 50 executes the reward calculation process for each arithmetic job session and periodically for unfinished projects. The control unit 505 determines whether the session of each project has ended (S61). That is, when the session end flag is ON (S61: YES), the control unit 505 executes the first process of the reward calculation process and sets the end flag to OFF (S62). That is, the control unit 505 calculates the reward (the first reward EP) given by the operator who operates the system 1 to the user who provided the computing power of the arithmetic unit 105 for the grid computing process of the corresponding session.
[0125] As the first process of the reward calculation process, the control unit 505 multiplies the calculation amount Q (number of calculation units) executed by each arithmetic unit 105 in the target session by the reward coefficient Ec to calculate the first reward value Rp of the first reward EP (Rp = Q × Ec). The calculated first reward value Rp is registered in the user table D51 in association with the "user ID" of each user. Note that the calculation amount Q of each user in the session and the reward coefficient Ec of each user are stored in the user table D51.
[0126] On the other hand, when the session end flag is OFF (S61: NO) and the first process (S62) ends, the control unit 505 updates the status information (S63). For this reason, the control unit 505 acquires the progress of the project and the progress of the job of the project from the job / project table D54 for the target project. When the progress of the project received from the client is 100% and the progress of the job is 100%, the control unit 505 updates the status information to "completed".
[0127] Next, when the status information becomes "completed" (S64: YES), the control unit 505 executes the second process (S65). On the other hand, when the status information is not "completed" and was previously "completed" (S64: NO), the control unit 505 ends the process.
[0128] As the second process of the reward calculation process, the control unit 505 multiplies the total calculation amount QT (total number of calculation units) executed by each arithmetic unit 105 for the target project by the evaluation value C which is the reward rate, to calculate the second reward value Rs of the second reward ES (Rs = QT × C). The calculated second reward value Rs of the second reward ES is registered in the user table D51 in association with the "user ID" of each user. At this time, the control unit 505 adds the second reward value Rs given to each user and also registers the cumulative value Rst in the user table D51.
[0129] Note that the second reward value Rs does not necessarily have to be proportional to the total calculation amount QT and may be a fixed value. For example, the fixed value may be varied according to the time when the user submits an application to participate. Specifically, the management device 50 can set the project list so that the earlier the user submits an application to participate, the larger the second reward value Rs.
[0130] Next, the operation of the management device and the management method of the present embodiment will be described. The management device 50 of the present embodiment is a management device 50 in a grid computing system 1 that causes the arithmetic unit 105 of the user connected via the communication network 5 to perform arithmetic processing on the arithmetic job D1 selected by the user from a plurality of arithmetic jobs D1 received from the client. The arithmetic job D1 constitutes a part of the project executed by the client. The management device 50 stores the content of the project and the reward rate C set for the arithmetic job D1 of the project, obtains the calculation amount Q of the arithmetic processing executed by the arithmetic unit 105 for the arithmetic job D1, calculates the first reward value Rp of the first reward EP given to the user according to the calculation amount Q by the arithmetic unit 105 (S62), obtains the progress of the project, and when it is determined that the project is completed based on the progress (S64: YES), calculates the second reward value Rs of the second reward ES given to the user according to the reward rate C.
[0131] Thus, in this embodiment, when the user provides the computing processing ability of the computing device 105, the management device 50 calculates the first reward value Rp of the first reward EP given to the user according to the computing amount Q provided for the computing job D1. In addition, when the project itself including the computing job D1 is completed, the management device 50 calculates the second reward value Rs of the second reward ES according to the reward rate C set for the project. Therefore, in this embodiment, the user does not simply provide the computing ability of the computing device 105 for the computing job D1, but refers to the content of the project and the reward rate to consider the selection of the computing job D1 so as to most efficiently obtain the first reward value Rp and the second reward value Rs. In this way, in this embodiment, when the user provides computing resources, it is possible to provide an incentive or mechanism for actively providing computing resources.
[0132] In addition, in this embodiment, the management device 50 is configured to provide the content of the project and the reward rate C to the user via the communication network 5 (S21). In this embodiment configured in this way, the user can select the computing job D1 to participate in by referring to the reward rate C of each computing job D1.
[0133] In addition, in this embodiment, the management device 50 receives, via the communication network 5, the selection of the computing job D1 that provides the computing processing of the computing device 105 from the user (S22), and causes the computing device to execute the computing processing of the selected computing job. In this embodiment configured in this way, the management device 50 can allow the user who has applied to participate via the communication network 5 to participate in grid computing.
[0134] In addition, in this embodiment, the management device 50 calculates the first reward value Rp according to the computing amount Q by the computing device 105 even if it does not determine that the project is completed (S62). In this embodiment configured in this way, the user can obtain the first reward value Rp for providing the computing ability by the computing device 105 regardless of the completion of the project.
[0135] Also, in the present embodiment, the management device 50 is configured to calculate a larger first reward value Rp as the cumulative value Rst of the second reward values Rs given to each user is larger. In the present embodiment configured in this way, the user selects the calculation job D1 in consideration of the reward rate C of the calculation job D1 so that the cumulative value Rst of the second reward values Rs increases efficiently and the first reward value Rp that can be obtained with the same amount of calculation Q increases. Therefore, in the present embodiment, rather than simply selecting the calculation job D1, the user preferably makes an active determination of the calculation job D1 with reference to the reward rate C of the calculation job D1 and the content of the project, and a mechanism can be constructed that easily fosters an awareness of social contribution with respect to the provision of calculation resources.
[0136] Also, in the present embodiment, the management device 50 calculates the second reward value Rs of the second reward ES given to the user according to the total calculation amount QT of the calculation processing executed by the calculation device 105 for the calculation job D1 and the reward rate C. In the present embodiment configured in this way, the user can obtain more second reward values Rs as the reward rate C is higher. Also, in the present embodiment, specifically, the management device 50 calculates the second reward value Rs by multiplying the total calculation amount QT by the reward rate C.
[0137] Also, the management method of the present embodiment is a management method in a grid computing system 1 that causes a management device 50 to cause a user's computing device 105 connected via a communication network 5 to perform arithmetic processing on an arithmetic job D1 selected by a user from a plurality of arithmetic jobs D1 received from a client. The arithmetic job D1 constitutes a part of a project executed by the client, and the management device 50 stores the content of the project and the reward rate C set for the arithmetic job D1 of the project (step (S13)); the management device 50 obtains the amount of arithmetic processing Q of the arithmetic processing executed by the computing device 105 for the arithmetic job D1 (step (S62)); the management device 50 calculates a first reward value Rp of a first reward EP to be given to the user according to the amount of arithmetic processing Q by the computing device 105 in a first step (S62); when the management device 50 obtains the progress of the project and determines that the project is completed based on the progress (S64: YES), it calculates a second reward value Rs of a second reward ES to be given to the user according to the reward rate C in a second step (S65).
Explanation of Signs
[0138] 1 System 10 Vehicle 105 Computing Device 20 User Terminal 30 Client Server 40 Facility Server 50 Management Server (Management Device) D1 Job Data (Arithmetic Job) D2 Calculation Result Data
Claims
1. A management device in a grid computing system that causes a computing device of a user connected via a communication network to perform computing processing on a computing job selected by the user from a plurality of computing jobs received from a client, wherein the computing job constitutes a part of a project executed by the client, and the management device stores the content of the project and the reward rate set for the computing job of the project, acquires the amount of computing processing executed by the computing device for the computing job, calculates a first reward value of a first reward to be given to the user according to the amount of computing by the computing device, acquires the progress of the project, and when it is determined that the project is completed based on the progress, calculates a second reward value of a second reward to be given to the user according to the reward rate. A management device.
2. The management device according to claim 1, wherein the management device is configured to provide the content of the project and the reward rate to the user via the communication network.
3. The management device according to claim 1 or 2, wherein the management device receives, via the communication network, a selection of a computing job for which the computing device of the user provides computing processing, and causes the computing device to execute the computing processing of the selected computing job.
4. The management device according to any one of claims 1 to 3, wherein the management device calculates the first reward value according to the amount of computing by the computing device even if it is not determined that the project is completed.
5. The management device according to any one of claims 1 to 4, wherein the management device is configured to calculate a larger first reward value as the cumulative value of the second reward values given to each user is larger.
6. The management device according to any one of claims 1 to 5, wherein the management device calculates a second reward value of a second reward to be given to the user according to the total amount of computing processing executed by the computing device for the computing job and the reward rate.
7. The management device according to claim 6, wherein the management device calculates the second reward value by multiplying the total amount of computing by the reward rate.
8. A management method in a grid computing system for causing a management device to cause a computing device of a user connected via a communication network to perform computing processing on a computing job selected by the user from a plurality of computing jobs received from a client, comprising: The computing job constitutes a part of a project executed by the client; The management device stores the content of the project and the reward rate set for the computing job of the project; The management device obtains the amount of computing processing performed by the computing device on the computing job; A first step of the management device calculating a first reward value of a first reward to be given to the user according to the amount of computing by the computing device; A second step of the management device obtaining the progress of the project, and when it is determined that the project is completed based on the progress, calculating a second reward value of a second reward to be given to the user according to the reward rate.
Citation Information
Patent Citations
Method for utilizing computer resource and system for the same
JP2001325041A
Management server and program
JP2020160661A
A platform for collaborative task processing
JP2020522364A
Job scheduling system and method
US20060288346A1
Method and system for customer incentive-based management of computing resource utilization
US8589549B1