Patent ID: 8738684

Claim:
In a concurrent computing environment that includes a client that defines jobs and a plurality of workers that perform jobs, a method comprising: receiving a job from the client; forming a collaboration for performing the job, where: the collaboration has a size representing a number of workers in the collaboration, and the collaboration includes: a first worker of the plurality of workers, and a second worker of the plurality of workers; initiating performance of the job via the collaboration; providing a user interface, the user interface: being provided on the client from which the job was received, used for changing the size of the collaboration, and connecting the client with a scheduler that controls which workers participate in the collaboration; receiving a request via the user interface, where the request indicates that the size of the collaboration should be changed; instructing the scheduler to change the size of the collaboration in response to the request; adding a new worker to the collaboration while the job is being performed, where the adding comprises: invoking, using the new worker, interface function calls to establish a communication channel with the first worker, dynamically joining the new worker to the collaboration, without invoking a launching program, while the collaboration is performing the job; obtaining, using a computer, a result from performing the job by the new collaboration; and providing the result to the client.