Patent ID: 7975001
Filing Date: 2011-07-05
Classification: G06F

Abstract:
1. A method for performing parallel processing on behalf of a technical computing environment operating on a client, the method comprising: sending a request to a plurality of units of execution, where: the request includes code identifying a sequence of execution, the code is sent to a first unit of execution and a second unit of execution, the first unit of execution executes a first portion of the code based on information associated with the first unit of execution, and the second unit of execution executes a second portion of the code based on information associated with the second unit of execution, and where the plurality of units of execution: perform parallel processing on behalf of the client, and comprises: the first unit of execution, and the second unit of execution, where the first unit of execution and the second unit of execution participate in the parallel processing on behalf of the client, the first unit of execution executes the first portion of the code, the first unit of execution produces a first result during the parallel processing when the first portion of the code is executed, the second unit of execution executes the second portion of the code, the second unit of execution produces a second result during the parallel processing when the second portion of code is executed, the first result and the second result collectively form a parallel processing result on behalf of the client when the parallel processing is completed by the first unit of execution and the second unit of execution, and the parallel processing result indicates that the first unit of execution executed the first portion of the code and that the second unit of execution executed the second portion of the code, where the first portion of the code can differ from the second portion of the code; receiving a query from the first unit of execution, where the query is: related to the parallel processing performed on behalf of the technical computing environment operating on the client and client state information, wherein the client state information comprises: information about files on the client, variables on the client, functions on the client, data on the client, memory on the client, processing resources on the client, hardware communicatively coupled to the client, or permissions on the client, and the query is received from the first unit of execution while the first unit of execution is participating in the parallel processing on behalf of the technical computing environment operating on the client, where: the participating in the parallel processing indicates that the first unit of execution has begun executing the first portion of the code for producing the first result but the first unit of execution has not computed the first result by completing the executing of the first portion of the code when the query is provided by the first unit of execution; receiving the first result from the first unit of execution, where the first result is: produced by the first unit of execution in response to the first unit of execution participating in the parallel processing on behalf of the technical computing environment operating on the client by executing the first portion of the code, and generated after the first unit of execution receives an answer to the query while the first unit of execution is participating in the parallel processing on behalf of the technical computing environment operating on the client; and using the first result to perform an operation on behalf of: a user, or the technical computing environment.