A method for performing distributed processing in cooperation between a plurality of processing devices and a process management apparatus, each of the processing devices has a function for executing a requested task and transferring the executed result to a destination designated by the requester of the task, and the process management apparatus communicates with each of the processing device via a network, comprising the steps of:
- previously sorting, among a plurality of processing units that are available for communication, the processing devices, the number of which corresponds to the size or kind of the tasks expected to be requested, into a plurality of clusters, and storing the cluster thereof in a cluster list of a predetermined memory area, wherein, in the cluster list, each cluster comprising at least one processing device which is/are selected based on a combination of the kind of the task that can be performed in each processing device and a processing capability of the each processing device, and the selection is performed per each kind or size of the task which is estimated to be performed, and wherein, in the cluster list, identification information for each cluster representing whether the each cluster can be assigned or not is recorded;
- assigning, upon receiving a task demand from any of the processing device through network communication, the task to a specified cluster that is specified from the cluster list and is suitable for the size or the kind of the task;
- and
- transferring, to the cluster to which the task is assigned by the assigning means or an original processing device that requested the task demand, the communication setting information for the other processing device or other cluster, thereby allowing direct transfer of the executed result between the cluster and the original processing device through network communication;
- thereby allowing direct transfer of the executed result of the task without intervening the process management apparatus.