Object Distributed Computer Processing System and Method
First Claim
1. A method for distributing processing of an application comprising at least first and second objects in a network having at least local and remote processes, each of the first and second objects having pre-existing class definitions, the method comprising the steps of:
- upon loading the application, modifying the pre-existing class definitions to generate modified class definitions;
instantiating instances of the first and second objects on the local process using the modified class definitions;
initiating a runtime system on each of the local and remote processes;
coordinating the runtime systems on the local and remote processes to migrate the second object instance to the remote process while generating an object proxy for the second object instance on the local process; and
executing the first object instance including invoking the second object instance, invocation of the second object instance being mediated by the runtime systems on the local and remote processes.
1 Assignment
0 Petitions
Accused Products
Abstract
A computer system and method are provided for making modifications to runtime coding of object-oriented software that enables distributed execution by automatically modifying object class definitions as the objects are loaded into the executing process. The code modifications cause instances of the classes to interact with a distributed runtime system that allows all objects to be transparently migrated between processes, thereby permitting load balancing and periodic maintenance, without manual recoding of the application source code and without need for a priori knowledge of the program flow.
-
Citations
20 Claims
-
1. A method for distributing processing of an application comprising at least first and second objects in a network having at least local and remote processes, each of the first and second objects having pre-existing class definitions, the method comprising the steps of:
-
upon loading the application, modifying the pre-existing class definitions to generate modified class definitions; instantiating instances of the first and second objects on the local process using the modified class definitions; initiating a runtime system on each of the local and remote processes; coordinating the runtime systems on the local and remote processes to migrate the second object instance to the remote process while generating an object proxy for the second object instance on the local process; and executing the first object instance including invoking the second object instance, invocation of the second object instance being mediated by the runtime systems on the local and remote processes. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A computer system that enables distributed processing of an application comprising at least first and second objects using first and second processes, the computer system comprising:
-
a programmed application comprising at least first and second objects, each of the first and second objects having pre-existing class definitions; a class modifier routine programmed to modify the pre-existing class definitions to generate modified class definitions upon loading the application; a runtime system programmed to identify and track at least the second object instance, to migrate the second object instance from the first process to the second process, and to generate an object proxy on the first process corresponding to the second object instance on the second process; and at least one processor configured to execute the programmed application, the class modifier routine, and the first and second processes, the processor configured to execute an instance of the runtime system associated with each of the first and second processes and to execute the first object instance including invoking the second object instance, invocation of the second object instance being mediated by instances of the runtime system associated with each of the first and second processes. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
Specification