The present invention relates to a distributed computing system, a client computer for distributed computing, a server computer for distributed computing, a distributed computing method, and an information storage medium.
In distributed computing, partial programs are executed by many client computers, the results of execution of these programs are collected by a server computer, and a target result is obtained from these collected results. For these client computers that carry out the distributed computing described above, computers not dedicated to the distributed computing, such as personal computers and game machines, are sometimes used. In such a case, partial programs related with the distributed computing are executed while these computers are not used for other use purposes such as web browsing and gaming (namely, an unused period).
It is difficult to grasp the unused period (a period in which each client computer can participate in a distributed computing) of each client computer at the server computer side. Therefore, in a prior-art computing system, the user of each client computer starts up a management program for distributed computing in a period in which the user himself does not use the client computer for other purposes, transmits the display of intention to participate in distributed computing to the server computer, and downloads and executes a partial program related with the distributed computing. This causes a problem that, of the period in which each client computer is not used for other purposes, only a part thereof is actually allocated to the distributed computer.
The present invention has been made in consideration with the problem described above, an object of the present invention being to provide a distributed computing system, a client computer for distributed computing, a server computing for distributed computing, a distribute computing method, and an information storage medium that are configured to allocate a period in which each client computer is not used to distributed computing more.
In carrying out the invention to solve the problem, there is provided a distributed computing system including a server computer and two or more client computers. Each of these client computers has: schedule data storage means for storing schedule data indicative of a time at which the client computer participates in distributed computing; request means for requesting the server computer for data related with distributed computing in accordance with the schedule data; and information processing means for receiving data transmitted in accordance with the request and executing information processing related with the distributed computing on the basis of the received data.
The above-mentioned each client computer may control a power to the client computer concerned in accordance with the schedule.
The above-mentioned each client computer may transmit the schedule to the server computer.
In receiving the request from the each client computer, if there is no information processing related with the distributed computing to be executed in the client computer, the abovementioned server computer may transmit, to the client computer, data indicative of date at which the client computer next transmits the request to the server computer on the basis of the schedule data.
The above-mentioned server computer may store a point value in accordance with a time of the information processing in the each client computer by relating the point value with this client computer.
In carrying out the invention, there is provided a client computer for distributed computing. This client computer has: schedule data storage means for storing schedule data indicative of a time at which the client computer participates in distributed computing; request means for requesting the server computer for data related with distributed computing in accordance with the schedule data; and information processing means for receiving data transmitted in accordance with the request and executing information processing related with the distributed computing on the basis of the received data.
In carrying out the invention, there is provided a server computer for distributed computing. This server computer has: schedule data reception means for receiving, from a plurality of client computers for distributed computing, schedule data indicative of a time at which the client computer participates in distributed computing; request reception means for receiving a request transmitted by the each client computer on the basis of the schedule data; and data transmission means for, in receiving the request from the each client computer, if there is no information processing related with the distributed computing to be executed in the client computer, transmitting, to the client computer, data indicative of a date on which the client computer next transmits the request on the basis of the each piece of schedule data.
In carrying out the invention, there is provided a distributed computing method. This method has: a step of setting schedule data indicative of a time at which participation in distributed computing is done; a step of requesting a server computer for data related with distributed computing in accordance with the schedule data; and a step of receiving data transmitted in accordance with the request in order to execute information processing related with the distributed computing on the basis of the received data.
In carrying out the invention, there is provided a program. This program causes a computer to function as: schedule data storage means for storing schedule data indicative of a time at which participation in distributed computing is done; request means for requesting the server computer for data related with distributed computing in accordance with the schedule data; and information processing means for receiving data transmitted in accordance with the request and executing information processing related with the distributed computing on the basis of the received data. This program may be stored in a computer-readable information storage medium such as a CD-ROM or a DVD-ROM.
The following describes embodiment of the present invention in detail on the basis of drawings.
Now, referring to
Referring to
Referring to
The program execution block 20 is configured mainly by arithmetic means such as a CPU and communicates with the distributed computing server 5, thereby sharing part of distributed computing. To be more specific, the program execution block 20 receives a program (a partial program), data to be processed by the program, and data related with distributed computing. Then, the program execution block 20 executes information processing on the basis of the received data. The schedule storage block 24 is configured mainly by a nonvolatile semiconductor memory or a hard disk memory device and stores schedule data indicative of a time in which the client 2 can participate in distributed computing, namely, a non-use time of the client 2. The schedule data may be a pair of start date and end date for identifying a non-use time among constant periods subsequent to a current time such as one week or one month or a pair of start date and non-use time continuing time. Alternatively, the schedule data may be one indicative of a condition corresponding to a non-use time such as “from X o'clock to Y o'clock of Z day of every week.”
The control block 22 executes various types of processing operations related with distributed computing. Especially, on the basis of input information by the user through a pointing device such as a mouse and a keyboard, the above-mentioned schedule data is set and this schedule data is stored into the schedule storage block 24. The control block 22 reads the schedule data thus stored and stores the start date of a next non-use time into the date storage block 12a of the timer 12. This allows the power to the client 2 to be turned on at the start date of a next non-use time, thereby allowing participation in the distributed computing. The control block 22 stores UID that is user identification information of the client 2 and the address (IP address) of the data communication network 3 and transmits these items of information to the mediation server 4 at the start of non-use time.
Referring to
The user database 40 is configured by storage means such as hard disk memory device and stores the UID of the user of the client 2, the name of this user, and a point value already obtained by the user by relating these items of information as shown in
The schedule database 42 is configured by storage means such as a hard disk memory device and stores distributed computing data shown in
The control block 41 executes various processing operations related with distributed computing. Especially, schedule data is received from the client 2 and stored in the schedule database 42. Also, after the execution of information processing related with distributed computing by the client 2, processing of adding a point value corresponding to that time is added to a point value already stored in the user database.
Referring to
Next, a request including the UID and IP address of the user of the client 2 is transmitted to the mediation server 4 (S102). On the basis of a necessary computation resource quantity indicated by the distributed computing data stored in the schedule database 42 and the number of clients 2 already currently participating in distributed computing, the mediation server 4 determines whether the split of the distributed computing by the clients 2 is required or not (S103). To be more specific, if the number of clients 2 already currently participating in distributed computing is higher than a necessary computation resource quantity indicated in the distributed computing data (the number of clients 2), split is determined unrequired. If the splitting is found unrequired, then a power-off instruction is issued to the client 2 (S104).
Receiving the power-off instruction (S105), the client 2 reads schedule data from the schedule storage block 24 to obtain the start date of a next non-use time. Then, the obtained date is stored in the date storage block 12a of the timer 12 (S106). It should be noted that the mediation server 4 may transmit the data for identifying a date to be stored in the date storage block 12a (data indicative of date itself or data indicative of elapsed time such as X minutes after) to the client 2 in S104. In this case, the client 2 stores a date identified by the above-mentioned data into the date storage block 12a. For example, on the basis of the schedule data stored in the schedule database, the mediation server 4 can determine a time zone subsequent to the current time at which the computation resource will run short. Then, the data for identifying the start date of that time zone may be transmitted to the client 2.
To be more specific, the schedule data (
Subsequently, in the client 2, the control block 22 turns off the power to the client 2 concerned (S107). It should be noted that, when the date stored in the date storage block 12a arrives and, if the power to the client 2 is already on in S101, then it is preferable not to turn off the power also in S107.
If the split of distributed computing is found required in S103, then the mediation server 4 transfers the UID and IP address received from the client 2 to any of the distributed computing server 5 requiring computation resource (S108). It should be noted that the UID may be transmitted after hashing for the purpose of personal information protection.
Receiving the above-mentioned data, the distributed computing server 5 transmits a program related with distributed computing and data to be processed thereby and other data to the client 2. It should be noted that, instead of accessing from the distributed computing server 5 to the client 2 by transmitting the IP address of the client 2 to the distributed computing server 5 in S108, the client 2 may receive the IP address for identifying the distributed computing server 5 and other data from the mediation server 4 and the client 2 may access the distributed computing server 5. On the basis of the data received from the distributed computing server 5, the client 2 executes information processing in the program execution block 20 and returns execution results to the distributed computing server 5. This transfer of data is repeated until the end date of a non-use time (S109).
In the client 2, the arrival of the end date of the non-use time indicated in the schedule data stored in the schedule storage block 24 is monitored (S110) and, when the end date arrives, an information processing log in the program execution block 20 is transmitted to the distributed computing server 5 (S111). Further, the distributed computing server 5 returns acknowledgement of the reception (ack) (S112).
Subsequently, in the client 2, schedule data is read from the schedule storage block 24 and the start date of a next non-use time is obtained. Then, the obtained date is stored in the date storage block 12a of the timer 12 (S106) and the power to the client 2 is turned off (S107). Here, too, when the date stored in the date storage block 12a arrives and, if the power to the client 2 is on in S101, then, it is preferable not to turn off the power also in S107.
On the other hand, after the end of distributed computing, the distributed computing server 5 notifies the mediation server 4 of computation results including a time used for the information processing related with distributed computing by the client 2 (S113). In the mediation server 4, the value of earned points stored in the user database 40 is updated on the basis of the notified computation results (S114).
In the distributed computing system 1 described above, when a schedule is set in the client 2, the client 2 itself notifies the mediation server 4 of the start of the information processing related with distributed computing in accordance with that schedule. Consequently, more non-use time of each client computer can be allocated to distributed computing. Further, in the client 2, the power is turned on/off in accordance with the schedule data stored in the schedule storage block 24, so that the power dissipation can be saved. In addition, the security of the client 2 can be ensured as compared with a configuration in which the power to the client 2 is turned on from the mediation server 4 or the distributed computing server 5.
It should be noted that the present invention is not limited to the embodiment described above and therefore many variations may be made thereto. For example, computation resource quantities required for the future may be estimated and different point values (point values per unit participation time) may be allocated to the users participating in distributed computing for each time zone in accordance with the estimation result.
For the above-mentioned purpose, a transition of estimated value EM of a resource allowance subsequent to the current time is estimated as shown in
Next, on the basis of a difference between resource allowance estimated value EM and threshold TH, a point value to be allocated to the user per unit participation time is determined for each time zone. In other words, as a value obtained by subtracting threshold TH from resource allowance estimated value EM gets higher, a lower point value is allocated and, as the subtracted value gets smaller, a higher point value is allocated. Further, it is preferable that a point value for each time zone determined as described above is tabulated as shown in
Number | Date | Country | Kind |
---|---|---|---|
2012-190570 | Aug 2012 | JP | national |
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/JP2013/064377 | 5/23/2013 | WO | 00 |