Patent ID: 8707281

Claim:
A method comprising: transmitting a program to a first device, the transmitting being performed by a second device, the program including instructions to cause the first device to: initiate a programming language, identify, via the programming language, one or more data distribution schemes for executing the program, when identifying the one or more data distribution schemes, the first device being further to: receive a data distribution scheme, create a class that is a subclass of an object, and identify a parallel function of the program based on the created class, transform, via the programming language, the program into a parallel program, using the parallel function, with a data distribution scheme selected from the one or more identified data distribution schemes, allocate the parallel program to two or more labs for parallel execution, receive one or more results associated with the parallel execution of the parallel program from the two or more labs, and transmit the one or more results; receiving the transmitted one or more results, the receiving being performed by the second device; and providing, for presentation, the transmitted one or more results, the providing being performed by the second device.