Patent ID: 7779429

Claim:
A computer-implemented method comprising: identifying a first set of routines in a computer program which define operation of a first computing device in a distributed system, a subset of said first set of routines being designated as remotely invokable at run time; further identifying a second set of routines in said computer program which define operation of a second computing device in said distributed system, said second set of routines including at least one direct call to a routine of said subset; and based on said first set of routines, said subset of said routines, and said second set of routines, creating: a first computer program, including routines which are functionally equivalent to said first set of routines, for execution by said first computing device; and a second computer program, including routines which are functionally equivalent to said second set of routines, for execution by said second computing device, wherein said at least one direct call to said routine of said subset is emulated with instructions for remotely invoking a functional equivalent of said routine within said first computer program by way of an inter-process communication mechanism supported by said distributed system, wherein each of said identifying and said further identifying comprises performing reflection upon compiled code which has been compiled from source code of said computer program, and wherein said creating a second computer program comprises: based on said identified second set of routines, isolating source code associated with said second set of routines from the source code of said computer program, said isolating resulting in isolated source code; from said isolated source code, creating source code which is functionally equivalent to said isolated source code, said creating resulting in functionally equivalent source code; for each routine of said subset of routines, generating source code for a stub routine having a same signature as said routine of said subset but containing instructions for remotely invoking a functionally equivalent routine within said first computer program using an inter-process communication mechanism supported by said distributed system, said generating resulting in stub routine source code; and generating, from said functionally equivalent source code and said stub routine source code, an executable version of said second computer program.