Management device and management method

The management device in the grid computing system addresses the lack of user engagement by providing rewards that incentivize users to consider the social impact of their computing contributions, thereby fostering a sense of social contribution and active participation.

JP7699757B2Active Publication Date: 2025-06-30MAZDA MOTOR CORP
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
JP2021140683
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

Technical Problem

In existing grid computing systems, users providing computing resources for rewards lack awareness of the social contribution and purpose of the projects their resources are applied to, leading to a lack of engagement and participation.

Method used

A management device and method that calculates and provides two types of rewards to users based on their computing contributions, where the first reward is proportional to the computing amount and the second reward is based on the evaluation value of the computing job, with the cumulative value of the second reward influencing the first reward value.

Benefits of technology

This approach encourages users to actively select computing jobs based on their evaluation values, fostering a sense of social contribution and enhancing user engagement and participation in grid computing projects.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007699757000001
    Figure 0007699757000001
  • Figure 0007699757000002
    Figure 0007699757000002
  • Figure 0007699757000003
    Figure 0007699757000003
Patent Text Reader

Abstract

To provide a management apparatus and a management method configured to facilitate a user so as to foster an awareness of social contributions to provision of computing resources.SOLUTION: A management apparatus 50 in a grid computing system 1 executes reward calculation processing for calculating a first reward and a second reward, for a user using a computing device 105 to execute computation jobs. The management apparatus stores evaluation values set for each of the computation jobs. The reward calculation processing includes first processing to calculate a first reward value of a first reward in accordance with the amount of computation of calculation processing, and second processing to calculate and store a second reward value of a second reward in accordance with the evaluation values. In the first processing, a larger first reward value is calculated as a cumulative value of the second reward values already stored is larger.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a management device and a management method, and more 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 calculation jobs to the in-vehicle devices via the communication network, and each in-vehicle device can function as a calculation resource and process the calculation jobs.

[0003] Also, in such a grid computing system, it has been proposed that a 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 computing resources according to the amount of computation.

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 where billing processing is performed as described in Patent Document 2, a user having computing resources (e.g., in-vehicle devices, personal computers, etc.) can provide computing power by the computing resources for the purpose of rewards. However, in such a case, the user is simply providing computing resources to obtain rewards without being interested in the content and purpose of the business (project) to which the computing power is applied, and does not feel the social significance or the significance of social contribution for the provision of the computing resources. For this reason, in the system as described above, there has been a problem that it is difficult to cultivate the awareness of social contribution in the user, and it is also difficult to generate the awareness of actively participating in the business.

[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 that can easily cultivate the awareness of social contribution in a user who provides computing resources to 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. The management device is configured to execute a reward calculation process for calculating a first reward and a second reward to be given to the user for the execution of the selected computing job of the user's computing device. The management device stores an evaluation value set for each of the plurality of computing jobs, and the reward calculation process includes a first process for calculating a first reward value of the first reward to be given to the user according to the amount of computing processing executed for the selected computing job, and a second process for calculating and storing a second reward value of the second reward to be given to the user according to the evaluation value set for the selected computing job. The management device is characterized in that in the first process, the larger the cumulative value of the second reward value already calculated and stored, the larger the first reward value is calculated.

[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 and a second reward value of the second reward according to the provided computing amount. The first reward value is set such that the larger the cumulative value of the second reward value, the larger the value. The first reward value is calculated according to the computing amount, and the second reward value is calculated according to the evaluation value of the computing job. Therefore, the user will select a computing job in consideration of the evaluation value of the computing job so that the first reward value that can be obtained by the same amount of computing becomes larger and the cumulative value of the second reward value becomes efficiently larger. Therefore, in the present invention, the user does not simply select a computing job, but actively makes a judgment on the computing job with reference to at least the evaluation value of the computing job, and preferably, a mechanism can be constructed that easily fosters a sense of social contribution to the provision of computing resources.

[0009] In the present invention, preferably, the management device is configured to provide the user with the evaluation values of a plurality of computing jobs via a communication network. According to the present invention configured as described above, the user can select a computing job to participate in with reference to the evaluation value of each computing job.

[0010] In the present invention, preferably, the first reward is set as a reward convertible into currency value, and the second reward is set as a reward not convertible into currency value. According to the present invention configured as described above, generally, the user wants to obtain more of the first reward convertible into currency value than the second reward not convertible into currency value. However, in order to obtain more of the first reward, it is necessary to have already obtained a lot of the second reward. Therefore, the user will consider which computing job should be selected in consideration of the evaluation value and the like. Thereby, in the present invention, the user's awareness of participating in grid computing or the awareness of social contribution can be enhanced.

[0011] In the present invention, preferably, the management device receives a selection of a calculation job selected by a user via a communication network, and causes a calculation device to execute the calculation process of the selected calculation job. According to the present invention configured as described above, the management device can allow a user who has applied to participate via a communication network to participate in grid computing.

[0012] In the present invention, preferably, the management device calculates a second reward value by multiplying an evaluation value by the total amount of calculations provided for the calculation job. According to the present invention configured as described above, the higher the evaluation value, the more second reward values the user can obtain.

[0013] In the present invention, preferably, the management device calculates and stores the cumulative value of the second reward values given to the user. According to the present invention configured as described above, the first reward value can be calculated based on the stored cumulative value.

[0014] In the present invention, preferably, the first reward value is the sum of a basic reward value and an additional reward value. The basic reward value is calculated to be a value proportional to the amount of calculations, and the additional reward value is calculated to be a larger value as the cumulative value of the second reward values is larger. In the present invention, preferably, the first reward value is calculated by multiplying the amount of calculations by a reward coefficient, and the reward coefficient is set to be a larger value as the cumulative value of the second reward values is larger.

[0015] Also, in order to achieve the above object, the present invention provides 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, the management method including: a step in which the management device stores evaluation values set for each of the plurality of computing jobs; and a reward calculation step in which the management device calculates a first reward and a second reward to be given to the user for execution of the selected computing job of the user's computing device, the reward calculation step including: a first step in which the management device calculates a first reward value of the first reward to be given to the user according to the amount of computing processing executed on the selected computing job; and a second step in which the management device calculates and stores a second reward value of the second reward to be given to the user according to the evaluation value set for the selected computing job, and in the first step, the larger the cumulative value of the second reward value already calculated and stored, the larger the calculated first reward value.

Advantages of the Invention

[0016] According to the management device and management method of the present invention, it becomes possible for a user who provides computing resources to a grid computing system to easily foster a sense of social contribution for providing the computing resources.

Brief Description of the Drawings

[0017]

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

[0018] 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 a system according to an embodiment of the present invention. 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.

[0019] FIG. 2 is an explanatory diagram of grid computing in the system of the present embodiment. As shown in FIG. 2, in 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).

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

[0021] On the other hand, when the computing power of the arithmetic device 105 is not required in the vehicle 10, the arithmetic device 105 is in a stopped state, and the computing power of the arithmetic device 105 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 arithmetic device 105 is not required, and the arithmetic device 105 is in a stopped state. Therefore, when the computing power of the arithmetic device 105 is not required in the vehicle 10, the arithmetic device 105 can effectively utilize the computing power (that is, arithmetic resources) of the arithmetic device 105 by providing the computing power for grid computing processing.

[0022] Figure 3 is an explanatory diagram of a vehicle in the system of this embodiment. The vehicle 10 is an automobile used by a user, 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 arithmetic unit 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 an arithmetic unit 105.

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

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

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

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

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

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

[0029] Note that the number of processors mounted on the arithmetic unit 105 may be one or a plurality. Further, the processor mounted on the arithmetic unit 105 may include one or a plurality of the CPU, GPU, and MPU. For example, the arithmetic unit 105 is constituted by one or a plurality of ECUs (Electronic Control Unit).

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

[0031] 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) mounted on the vehicle 10. The vehicle charging information indicates whether the vehicle 10 is being charged at a charging facility (not shown).

[0032] 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 arithmetic unit information D14 is information regarding the arithmetic unit 105. For example, the arithmetic unit information D14 includes the arithmetic unit ID set in the arithmetic unit 105, the vehicle ID set in the vehicle 10 on which the arithmetic unit 105 is mounted, arithmetic unit performance information indicating the performance of the arithmetic unit 105, and the like. The arithmetic unit ID is an example of arithmetic unit identification information for identifying the arithmetic unit 105. The performance of the arithmetic unit 105 indicated by the arithmetic unit performance information includes the computing power (specifically, the maximum computing power) indicating the computing ability of the arithmetic unit 105, the ratio of the CPU and GPU in the arithmetic unit 105, and the like. Note that the computing power of the arithmetic unit 105 is the amount of data or the number of arithmetic processes (arithmetic amount) that the arithmetic unit 105 can compute per unit time. The operation history information D15 is information indicating the operation history of the arithmetic unit 105. For example, the operation history information D15 indicates the utilization rate of the computing power of the arithmetic unit 105 and the time in association with each other.

[0033] FIG. 4 is an explanatory diagram of a user terminal in the system of this 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.

[0034] 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 operation buttons, touch sensors, and the like. The information input to the input unit 101 is sent to the arithmetic unit 105.

[0035] 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 that stores information and data.

[0036] 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, 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.

[0037] In this example, the storage unit 204 stores terminal information D21, terminal state information D22, and 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, and the like. The user terminal ID is an example of user terminal identification information for identifying the user terminal 20.

[0038] 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, and the like. 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 their 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.

[0039] FIG. 5 is an explanatory diagram of a client server in the system of the present embodiment. The client server 30 is a server device or 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 manage job data or calculate 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.

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

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

[0042] 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 results of the processor, and the like.

[0043] In this example, the storage unit 304 stores client information D31, job / project information D32, and job data D1. 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, 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.

[0044] The job / project information D32 includes project information regarding the business or project executed by the client, and job information regarding the computing jobs executed for that 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, etc. The job information includes the calculation type of the computing job, the processing conditions, the required computing power, job due date information indicating the due date of the computing job, etc.

[0045] The job data D1 is the computing processing data (computing job) required to complete a project. The computing job is a computing process that constitutes a part of the project, such as simulation calculations, etc. The job data D1 can be classified by the calculation type. Examples of the calculation type include CPU-based calculation types, GPU-based calculation types, etc. 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, the job data D1 can be classified by the processing conditions. Examples of the processing conditions include processing conditions that require constant communication, processing conditions that do not require constant communication, etc.

[0046] FIG. 6 is an explanatory diagram of the facility server in the system of this embodiment. The facility server 40 is a server device or 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, etc.

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

[0048] In this example, the storage unit 404 stores the facility information D41 and the 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.

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

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

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

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

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

[0054] Also, in the arithmetic unit table D52, for each arithmetic unit 105, the performance of that arithmetic unit 105 (such as computing power and the ratio of CPU to GPU), the operating status of that arithmetic unit 105 (operation history and operation schedule), etc. are registered. In other words, the arithmetic unit table D52 includes the operation status information D5 indicating the operation status of each of the plurality of arithmetic units 105 and the performance information D6 indicating the performance of each of the plurality of arithmetic units 105. The performance information D6 includes the computing power information D7 indicating the computing power of each of the plurality of arithmetic units 105.

[0055] 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, address, phone number, etc. are registered.

[0056] The job / project table D54 is a table for managing jobs and projects requested by clients. The job / project table D54 includes, 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.

[0057] 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 calculations, amount of calculations already executed, progress (%) of the job, etc. The progress of the job is the ratio of the amount of calculations already executed to the estimated total amount of calculations of the arithmetic job. The management server 50 calculates and stores in advance the total amount of calculations of the arithmetic job, and updates the progress of the job in response to the execution of the arithmetic processing of the arithmetic job by the arithmetic device 105.

[0058] 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, etc. The project information is information obtained from the client. The progress of the project is the self-evaluation value of the progress of the project by the client. The management server 50 updates the progress of the project based on the data received from the client server 30 at a predetermined time or periodically.

[0059] Also, 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 arithmetic processing of an arithmetic job from the client. That is, the operator estimates the social impact level (A) and the difficulty of achievement (B) of the project, and generates an evaluation value or an evaluation coefficient (C) based on these (see Fig. 11B).

[0060] In this embodiment, the evaluation value C is a numerical index representing the value of a 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 that reflects the value of the project.

[0061] In this example, the social impact degree A and the achievement difficulty degree 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 degree, achievement difficulty degree, and social contribution degree may be set, and the evaluation value may be set by combining one or a plurality of these (product or sum). Instead of being created by the operator, the management server 50 may use machine learning to learn and analyze project information to create project evaluation information.

[0062] Also, the project evaluation information includes status information (such as "in progress", "completed", etc.) indicating the progress status of the project. 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 arithmetic processes of the arithmetic job have been completed and the progress degree of the job has reached 100%, and whether the progress degree of the project has reached 100%. If these conditions are satisfied, 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 degree of the arithmetic job and the progress degree of the project.

[0063] 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 arithmetic device 105, the arithmetic device ID set for the arithmetic device 105, the prediction result of the temporal change of the computing power available in the grid computing processing of the arithmetic device 105, etc. are registered.

[0064] The matching table D56 is a table for managing the results of the matching process 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 arithmetic unit ID set in the arithmetic unit 105 assigned to the job data by the matching process, etc. are registered.

[0065] The job data D1 stored in the storage unit 504 is the job data D1 received by the job reception process described later. The calculation result data D2 stored in the storage unit 504 is the job data calculated by the grid computing process described later and shows the result of the calculation.

[0066] 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 the information related to the new user in the user table D51.

[0067] 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 in the vehicle 10 owned by the user, the "arithmetic unit ID" set in the arithmetic unit 105 mounted on the vehicle 10, and the "user terminal ID" set in the user terminal 20 owned by the new user, and registers them in the user table D51.

[0068] Note that it is possible to obtain the "vehicle ID" and "arithmetic unit ID" related to the new user through the 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 the communication between the user terminal 20 owned by the new user and the management server 50.

[0069] Next, the update of the arithmetic unit table D52 will be described. The arithmetic unit table D52 is updated by the control unit 505 of the management server 50. For example, when a new arithmetic unit 105 joins the system 1, the control unit 505 updates the arithmetic unit table D52 by registering information related to the new arithmetic unit 105 in the arithmetic unit table D52.

[0070] Specifically, the control unit 505 associates the "arithmetic unit ID" set for the new arithmetic unit 105, the "user ID" set for the user who owns the arithmetic unit 105, the "vehicle ID" set for the vehicle 10 on which the arithmetic unit 105 is mounted, and the "performance" and "operation status" of the arithmetic unit 105, and registers them in the arithmetic unit table D52.

[0071] Note that through the communication 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.

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

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

[0074] In the first update process, the control unit 505 requests access to the "operation history information D15" for 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 statuses" 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.

[0075] 〈Second Update Process〉 Also, based on the "travel 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.

[0076] In the second update process, the control unit 505 requests access to the "travel 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 "travel history information D13" in response to the request. The control unit 505 estimates the operation history of the arithmetic unit 105 based on the travel history of the vehicle 10 shown in the travel 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.

[0077] 〈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.

[0078] In the third update process, the control unit 505 requests the user terminal 20 owned by the user who owns the arithmetic unit 105 to access the "schedule information D23". 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 behavior status related to the vehicle 10 equipped with the arithmetic unit 105 from the behavior status (behavior history and behavior plan) of the user indicated in the schedule information D23.

[0079] For example, from the behavior history which is the past behavior status among the user's behavior status, the behavior history in which the user was on board the vehicle 10 is detected, and from the behavior plan which is the future behavior status among the user's behavior status, the behavior plan in which the user plans to board the vehicle 10 is detected.

[0080] Next, the control unit 505 estimates the driving status (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 (operating history and operating plan) of the arithmetic unit 105 based on the estimated driving status 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.

[0081] 〈Fourth update process〉 Also, based on the "facility usage information D42" of the facility server 40, the "operating status" (in other words, the operating 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.

[0082] In the fourth update process, the control unit 505 requests access to the "facility usage information D42" from the facility server 40. The facility server 40 permits access to the "facility usage information D42" in response to the request. The control unit 505 detects the usage status (usage history and usage plan) of the facility shown in the facility usage information D42 that is related to the vehicle 10 equipped with the arithmetic unit 105.

[0083] For example, from among the usage histories which are past usage statuses of the facility, a usage history in which the user was on board the vehicle 10 is detected, and from among the usage plans which are future usage statuses of the facility, a usage plan in which the user is scheduled to board the vehicle 10 is detected.

[0084] Next, the control unit 505 estimates the driving status (driving history and driving plan) of the vehicle 10 based on the detected usage status of the facility. Next, the control unit 505 estimates the operating status (operating history and operating plan) of the arithmetic unit 105 based on the estimated driving status 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.

[0085] Next, an explanation will be given regarding the update of the client table D53. 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.

[0086] Specifically, the control unit 505 newly sets a client ID for a 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, and 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" regarding the new client.

[0087] 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 power (computing resources) by the computing device 105. The rewards of 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.

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

[0089] The management server 50 divides the computation job into a plurality of computation blocks, and the computing device 105 performs computation processing on the divided computation blocks. For example, if one computation block is set as one computation unit, the number of computation units (computation amount Q) executed by the computing device 105 is multiplied by the reward coefficient Ec 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 computation amount Q (that is, the number of computation units).

[0090] 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. Therefore, by obtaining a high user rank, the user can obtain more first rewards 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).

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

[0092] 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 second rewards ES the user obtains, the higher the user rank rises, the larger the reward coefficient Ec is set, and the more first rewards 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).

[0093] 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 amount of computation 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.

[0094] 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, 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 selection to utilize the limited computing resources of the user meaningfully in terms of social and economic significance.

[0095] 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. Also, 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. Also, instead of the management server 50, the client server 30 may execute the process of awarding a reward to the user.

[0096] 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 processing in response to the application.

[0097] The control unit 505 requests the client server 30 to transmit information necessary for job reception (specifically, client information regarding the client that requests the job and job / project information regarding the job and 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).

[0098] 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. The job / project information input field includes a job / project name input field R111 for inputting the names of the job and project, a job / project content input field R112 for inputting an explanation regarding the content of the job and 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.

[0099] The person in charge of the client operates the input unit 301 (operation unit) of the client server 30 to input the necessary information on the job reception screen. As a result, client information regarding the client that requests the job and job / project information regarding the job and project are input. Then, when the input of this 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.

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

[0101] 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 calculation ability, 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. If the job / project information received in step S11 is sufficiently reliable, the process of step S12 may be omitted.

[0102] Next, the control unit 505 of the management server 50 associates the client information received in step S11 with the job / project information that has been 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). Further, the control unit 505 stores the job data D1 received in step S11 in the storage unit 504.

[0103] 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 user with a project list introducing a plurality of projects, and allows the user to select a project for which the user wishes to provide the computing power of the computing device 105.

[0104] The project list includes the recruitment items for a plurality of 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, progress of the project, 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 include information that allows a user to evaluate the value of a job or project when the user selects a job or project.

[0105] Figures 11A and 11B excerpt and show only the main items among the solicitation 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 level A, achievement difficulty level B, evaluation value C, calculation progress, and status information. The five projects are, in order from the top, new infectious disease drug development, pre-mass production drug testing, earthquake prediction, housing seismic resistance test, and new material molecular structure analysis.

[0106] The user can select one or more projects that provide computing resources and specify the computing providing time (e.g., monthly) by referring to the content, progress, project evaluation information, etc. of each project. When selecting multiple projects, the user can set the allocation ratio of computing resources to each project (e.g., computing time ratio).

[0107] 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 terminal 20 of the user. Specifically, the user terminal 20 requests the management server 50 to manage the transmission of the project list in response to the user's operation. The control unit 505 of the management server 50 transmits the image data of the project list to the user terminal 20 in response to the request. 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).

[0108] Next, the user selects, from among the projects introduced in the project list presented on the user terminal 20, a project for which the user desires to obtain the computing power of the computing device 105. 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 service 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).

[0109] 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 submitted a participation application for each project.

[0110] Next, with reference to FIG. 13, the prediction process will be described. FIG. 13 is a process flow of the prediction process. In the prediction process, based on the computing device table D52 (specifically, the computing power information D7 and the operating status information D5) stored in the storage unit 504, the computing power of the computing devices 105 that can be used in grid computing 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 operating status information D5) stored in the storage unit 504 is updated, the control unit 505 performs the following processes.

[0111] First, the control unit 505 acquires the "computing power" and "operating status" of the computing devices 105 registered in the computing device table D52 (S31). In other words, the control unit 505 acquires the computing power information D7 and the operating status information D5 included in the computing device table D52.

[0112] Next, for each arithmetic unit 105, the control unit 505 predicts the temporal change in the computable power in the grid computing process of the arithmetic unit 105 based on the computing power of the arithmetic unit 105 indicated in the computing power information D7 and the operating status of the arithmetic unit 105 indicated in the operating status information D5 (S32).

[0113] Specifically, the control unit 505 predicts the trend (pattern) of the change in the utilization rate of the computing power of the arithmetic unit 105 from the operating status of the arithmetic unit 105 indicated in the operating status information D5. The prediction of the trend of the change in the utilization rate of the computing power of the arithmetic unit 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 arithmetic unit 105, the control unit 505 predicts the period during which there is a margin in the computing power of the arithmetic unit 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 the arithmetic unit 105 can be used for grid computing processing". For example, the control unit 505 sets the period during which the utilization rate of the computing power of the arithmetic unit 105 is "30%" as the period during which "70%" of the computing power of the arithmetic unit 105 can be used for grid computing processing.

[0114] Next, for each arithmetic unit 105, the control unit 505 registers the temporal change in the computable power in the grid computing process of the arithmetic unit 105 predicted in step S32 in the resource table D55 (S33). Thereby, the resource table D55 is updated.

[0115] 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 for grid computing processing 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 the completion of the job reception process, the control unit 505 performs the following processes.

[0116] First, the control unit 505 selects a project to be subject to 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 subject to the matching process from among the job data D1 stored in the storage unit 504.

[0117] Next, based on the prediction results of the temporal changes in the computing power available in the grid computing processes of each of the plurality of computing devices 105 registered in the resource table D55, the control unit 505 selects, from among the plurality of computing devices 105, a computing device 105 available for the grid computing process for the job data D1 selected in step S41 (S42). Specifically, the control unit 505 determines the calculation scheduled period during which the grid computing process for the job data D1 is to be executed, and detects, from among the computing devices 105 of the plurality of users who have applied to participate in the target project, a computing device 105 capable of providing computing power during the calculation scheduled period.

[0118] Next, the control unit 505 assigns an operation period to each computing device 105 for the job data D1. That is, the control unit 505 sets the respective allocation periods (date and time) of the plurality of computing devices 105 that have applied to participate so that the total amount of operations to be allocated to the plurality of computing devices 105 that have applied to participate during the calculation scheduled period is equal to or greater than the amount of operations of the job data D1 (S43). Then, the control unit 505 registers, in the matching table D56, matching result information indicating the allocation of the computing device 105 for the job data D1. Note that the operation process of the job data D1 is divided into a number of operation units and is continuously or intermittently executed by the plurality of computing devices 105 over a calculation scheduled period of a predetermined length.

[0119] Next, with reference to FIG. 15, grid computing processing will be described. FIG. 15 is a processing flow of grid computing processing. In the grid computing processing, among a plurality of arithmetic units 105, the arithmetic unit 105 assigned to the job data D1 processes the job data D1. For example, after completion of the matching process, the control unit 505 performs the following processes.

[0120] Note that when the amount of computation of the job data D1 is large, the computation process of the job data D1 is divided into a plurality of sessions, and the grid computing process is continuously or intermittently executed for a long period until the computation of the job data D1 is completed. In this case, the following processes are executed in units of sessions.

[0121] First, the control unit 505 refers to the matching table D56 and distributes the job data D1 to be 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.

[0122] Next, when the calculation of the data (a part of the job data D1) transmitted to each arithmetic unit 105 is completed, each arithmetic unit 105 transmits the partial calculation result data obtained by the calculation to the management server 50. The control unit 505 of the management server 50 receives the partial calculation result data transmitted from the arithmetic 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 computation assigned to each arithmetic unit 105 in the job / project table D54.

[0123] The control unit 505 determines whether or not all of the computing devices 105 to which the job data D1 was allocated in step S51 have completed the calculation (S53). If all of the computing devices 105 have completed the calculation, the process of step S54 is performed; otherwise, the process of step S52 is performed.

[0124] When all of the computing devices 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). Also, the control unit 505 stores the session end flag as ON.

[0125] 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 project that has not been completed after each session of each computing job and periodically. The control unit 505 determines whether or not the session of each project has ended (S61), that is, if 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 (first reward EP) given by the operator who operates the system 1 to the user who provided the computing power of the computing device 105 for the grid computing process of the corresponding session.

[0126] As the first process of the reward calculation process, the control unit 505 multiplies the amount of calculation 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 amount of calculation Q of each user in the session and the reward coefficient Ec of each user are stored in the user table D51.

[0127] 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 jobs 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 jobs is 100%, the control unit 505 updates the status information to "completed".

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

[0129] As the second process of the reward calculation process, the control unit 505 multiplies the total amount of calculation 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.

[0130] Note that the second reward value Rs does not necessarily have to be proportional to the total amount of calculations QT and may be a fixed value. For example, the fixed value may be varied according to the time when the user makes an application to participate. Specifically, the management device 50 can set a project list such that the earlier the time when the user makes an application to participate, the larger the second reward value Rs.

[0131] 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 a user's computing device 105 connected via a communication network 5 to perform arithmetic processing on an arithmetic job D1 selected by the user from a plurality of arithmetic jobs D1. The management device 50 is configured to execute a reward calculation process for calculating a first reward EP and a second reward ES to be given to the user for the execution of the selected arithmetic job D1 of the user's computing device 105. The management device 50 stores an evaluation value C set for each of the plurality of arithmetic jobs D1. The reward calculation process includes a first process (S62) of calculating a first reward value Rp of the first reward EP to be given to the user according to the amount of calculation Q of the arithmetic processing executed for the selected arithmetic job D1, and a second process of calculating and storing a second reward value Rs of the second reward ES to be given to the user according to the evaluation value C set for the selected arithmetic job D1 (S65). In the first process, the management device 50 is configured to calculate a larger first reward value Rp as the cumulative value Rst of the second reward value Rs already stored is larger.

[0132] As described above, 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 and the second reward value Rs of the second reward Es according to the provided computing amount Q. The first reward value Rp is set such that it becomes a larger value as the cumulative value Rst of the second reward value Rs becomes larger. The first reward value Rp is calculated according to the computing amount Q, and the second reward value Rs is calculated according to the evaluation value C of the computing job D1. Therefore, the user will select the computing job D1 in consideration of the evaluation value C of the computing job D1 so that the cumulative value Rst of the second reward value Rs becomes efficiently larger and the first reward value Rp that can be obtained by the same computing amount Q becomes larger. Therefore, in this embodiment, the user does not simply select the computing job D1, but actively makes a judgment on the computing job D1 with reference to at least the evaluation value C of the computing job D1, and preferably, a mechanism can be constructed that facilitates the cultivation of the awareness of social contribution with respect to the provision of computing resources.

[0133] Also, in this embodiment, the management device 50 is configured to provide the evaluation values C of a plurality of computing jobs to the user via the communication network 5 (S21). In this embodiment configured as such, the user can select the computing job D1 to participate in with reference to the evaluation value C of each computing job D1.

[0134] Also, in this embodiment, the first reward EP is set as a reward convertible into currency value, and the second reward ES is set as a reward not convertible into currency value. In this embodiment configured as such, generally, the user wants to obtain more of the first reward EP convertible into currency value than the second reward ES not convertible into currency value. However, in order to obtain more of the first reward EP, it is necessary to have already obtained a lot of the second reward ES. Therefore, the user will consider which computing job D1 should be selected in consideration of the evaluation value and the like. Thereby, in this embodiment, the awareness of the user's participation in grid computing or the awareness of social contribution can be enhanced.

[0135] In addition, in the present embodiment, the management device 50 receives, via the communication network 5, a selection of an arithmetic job D1 that provides arithmetic processing of the arithmetic device 105 from the user (S22), and causes the arithmetic device to execute the arithmetic processing of the selected arithmetic job D1. In the present embodiment configured as described above, the management device 50 can allow a user who has applied to participate via the communication network 5 to participate in grid computing.

[0136] In addition, in the present embodiment, the management device 50 calculates a second reward value Rs by multiplying an evaluation value C by the total arithmetic amount QT provided to the arithmetic job D1 (S65). In the present embodiment configured as described above, the higher the evaluation value C, the more second reward values Rs the user can obtain.

[0137] In addition, in the present embodiment, the management device 50 calculates and stores the cumulative value Rst of the second reward value Rs given to the user. In the present embodiment configured as described above, the first reward value Rp can be calculated based on the stored cumulative value Rst.

[0138] In addition, in the present embodiment, specifically, the first reward value Rp is the sum of the basic reward value Rb and the additional reward value Ra. The basic reward value Rb is calculated to be a value proportional to the arithmetic amount Q, and the additional reward value Ra is calculated to be a larger value as the cumulative value Rst of the second reward value Rs is larger.

[0139] In addition, in the present embodiment, specifically, the first reward value Rp is calculated by multiplying the arithmetic amount Q by the reward coefficient Ec. The reward coefficient Ec is set to be a larger value as the cumulative value Rst of the second reward value Rs is larger (FIG. 8).

[0140] Also, the management method of the present embodiment is a management method in a grid computing system 1 that causes a computing device 105 of a user to perform computing processing on a computing job D1 selected by the user from a plurality of computing jobs D1 via a communication network 5 by a management device 50. The management method includes a step (S13) in which the management device 50 stores an evaluation value C set for each of the plurality of computing jobs D1, and a reward calculation step in which the management device 50 calculates a first reward Ep and a second reward Es to be given to the user for the execution of the selected computing job D1 of the user's computing device 105. The reward calculation step includes a first step (S62) in which the management device 50 calculates a first reward value Rp of the first reward Ep to be given to the user according to the amount of computation Q of the computing processing executed for the selected computing job D1, and a second step (S65) in which the management device 50 calculates and stores a second reward value Rs of the second reward ES to be given to the user according to the evaluation value C set for the selected computing job D1. In the first step, the larger the cumulative value Rst of the second reward value Rs that has already been calculated and stored, the larger the first reward value Rp is calculated.

Explanation of Signs

[0141] 1 System 10 Vehicle 105 Computing Device 20 User Terminal 30 Client Server 40 Facility Server 50 Management Server (Management Device) D1 Job Data (Computing 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 arithmetic processing on an arithmetic job selected by the user from a plurality of arithmetic jobs, wherein the management device is configured to execute a reward calculation process for calculating a first reward and a second reward to be given to the user for execution of the selected arithmetic job of the user's computing device, wherein the management device stores an evaluation value set for each of the plurality of arithmetic jobs, wherein the reward calculation process includes a first process of calculating a first reward value of the first reward to be given to the user according to the amount of arithmetic processing executed on the selected arithmetic job, and a second process of calculating and storing a second reward value of the second reward to be given to the user according to the evaluation value set for the selected arithmetic job, wherein in the first process, the management device is configured to calculate a larger first reward value as the cumulative value of the second reward value already calculated and stored is larger. Management device.

2. The management device according to claim 1, wherein the management device is configured to provide the evaluation value of the plurality of arithmetic jobs to a user via the communication network.

3. The management device according to claim 1 or 2, wherein the first reward is set to a reward convertible into currency value, and the second reward is set to a reward not convertible into currency value.

4. The management device according to any one of claims 1 to 3, wherein the management device receives, via the communication network, a selection of an arithmetic job for providing arithmetic processing of the arithmetic device from the user, and causes the arithmetic device to execute the arithmetic processing of the selected arithmetic job.

5. The management device according to any one of claims 1 to 4, wherein the management device calculates the second reward value by multiplying the total amount of arithmetic operations provided to the arithmetic job by the evaluation value.

6. The management device according to any one of claims 1 to 5, wherein the management device calculates and stores the cumulative value of the second reward value given to the user.

7. The first reward value is the sum of a basic reward value and an additional reward value, wherein the basic reward value is calculated to be proportional to the amount of arithmetic operations, The management device according to any one of claims 1 to 6, wherein the additional reward value is calculated such that the larger the cumulative value of the second reward value, the larger the additional reward value.

8. The first reward value is calculated by multiplying the amount of calculation by a reward coefficient, The management device according to any one of claims 1 to 6, wherein the reward coefficient is set such that the larger the cumulative value of the second reward value, the larger the reward coefficient.

9. A management method in a grid computing system in which a management device causes a calculation device of a user connected via a communication network to perform calculation processing on a calculation job selected by the user from a plurality of calculation jobs, The step of the management device storing an evaluation value set for each of the plurality of calculation jobs, The reward calculation step of the management device calculating a first reward and a second reward to be given to the user for execution of the selected calculation job of the user's calculation device, The reward calculation step includes a first step of the management device calculating a first reward value of the first reward to be given to the user according to the amount of calculation processing executed on the selected calculation job, and a second step of the management device calculating and storing a second reward value of the second reward to be given to the user according to the evaluation value set for the selected calculation job, A management method, wherein in the first step, the larger the cumulative value of the second reward value already calculated and stored, the larger the first reward value calculated.

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