METHOD AND MACHINE-READABLE MEDIUM FOR BUILDING DISTRIBUTED SOFTWARE
First Claim
1. 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.
4 Assignments
0 Petitions
Accused Products
Abstract
In a method for building distributed software, a single computer program may be written which includes distinct sets of routines defining operation at distinct computing devices (or types of computing devices) in a distributed system. Direct calls may be made between routines, even if the routines define operation of distinct computing devices. Through examination and processing of the computer program, multiple computer programs which collectively constitute distributed software for the distributed system are created. Each program defines the operation of a computing device within the system. Direct calls are emulated using instructions for inter-process communication which effect remote routine invocation transparently from the perspective of the developer. In the result, the run-time operation of each output computer program at its respective target computing device is consistent with the operation defined for that computing device within the input computer program. Advantageously, the developer may be shielded from numerous implementation details.
27 Citations
31 Claims
-
1. 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. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A computer-implemented method comprising:
-
identifying a first set of routines in a computer program having a first common purpose, 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 having a second common purpose, 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 a first computing device of a distributed system; and a second computer program, including routines which are functionally equivalent to said second set of routines, for execution by a second computing device of said distributed system, 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. 40
-
-
16. A machine-readable medium containing machine-executable code for creating distributed software, said machine-readable medium comprising:
-
machine-executable code for 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; machine-executable code for 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 machine-executable code for creating, based on said first set of routines, said subset of said routines, and said second set of routines; 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. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29)
-
-
30. A machine-readable medium containing code for creating distributed software, said machine-readable medium comprising:
machine-executable code for creating, within a computer program which defines operation of a first computing device and which includes a direct call to a routine which defines operation of a second computing device, a stub routine having a same signature as said routine, said stub routine including instructions for remotely invoking said routine at said second computing device using an inter-process communication mechanism, such that when said computer program is executed at said first computing device and said direct call is made, said stub routine is invoked.
-
31. A machine-readable medium containing code for execution at a computing device for creating distributed software, said machine-readable medium comprising:
-
machine-executable code for identifying a first set of routines in a computer program having a first common purpose, a subset of said first set of routines being designated as remotely invokable at run time; machine-executable code for further identifying a second set of routines in said computer program having a second common purpose, said second set of routines including at least one direct call to a routine of said subset; and machine-executable code for creating, based on said identified first set of routines, said subset of said routines, and said second set of routines; a first computer program including routines which are functionally equivalent to said first set of routines for execution by a first computing device of a distributed system; and a second computer program including routines which are functionally equivalent to said second set of routines for execution by a second computing device of said distributed system, 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.
-
Specification