×

Distributed computation utilizing idle networked computers

  • US 6,009,455 A
  • Filed: 04/20/1998
  • Issued: 12/28/1999
  • Est. Priority Date: 04/20/1998
  • Status: Expired due to Fees
First Claim
Patent Images

1. A method for performing one or more distributed computations on a plurality of general purpose computers that are connected by a communications network, each distributed computation comprising a hierarchy of (i) one or more subordinate computation segments distributed among the computers, each segment producing a segment result, and (ii) one or more combine functions that combine the results of subordinate computation segments into a combined result, the hierarchy arranged such that a topmost combine function produces a final result, wherein the method comprises:

  • providing a master computer;

    providing a plurality of client computers;

    executing on the master computer a master control program, where the master control program is applications independent and includes a qualification algorithm and an assignment algorithm;

    executing on each client computer an availability algorithm;

    connecting the availability algorithms to the master control program via a communications network;

    providing a job request means in signal connection to the master control program;

    providing a job output means in signal connection to the master control program;

    submitting one or more job requests for distributed computation via the job request means to the master control program, each job request including one or more files or file references required to perform the distributed computation, the files or file references including an executable job computation module;

    determining by the availability algorithm asynchronously on each of one or more client computers whether the client computer is an available client;

    for each available client,(a) sending an availability message from the available client via the network to the master control program, where the availability message signals the readiness of the available client to participate in one or more distributed computations,(b) determining by the qualification algorithm in the master control program whether the available client shall be declared a selected client for a particular job request,for each selected client for a particular job request;

    (a) executing on the selected client a client control program, where the client control program is application independent;

    (b) defining by the assignment algorithm in the master control program a segment group package containing one or more computation segments and the combine function,(c) downloading the segment group package to the selected client via the network,(d) computing the group result by performing the computation segments and group combine function under the control of the client control program on the selected client,(e) communicating the group result via the network to the master control program;

    computing the final result by the combine algorithm in the master computer;

    communicating the result to the job output means via a job output signal;

    whereby, through the use of idle time on a plurality of networked general purpose computers, the results of distributed computations are produced more economically than they could be produced using dedicated computers.

View all claims
  • 0 Assignments
Timeline View
Assignment View
    ×
    ×