Dynamic modifications to a heterogeneous program in a distributed environment
First Claim
1. A computer-implemented method for dynamically modifying an executing heterogeneous program in a distributed computing environment, the method comprising:
- obtaining a system reference to a target system on which the heterogeneous program is executing;
obtaining a program reference to the heterogeneous program based on the system reference;
locating a component of the heterogeneous program based on the program reference, the component residing in a target system memory associated with the target system;
obtaining a platform neutral hierarchical intermediate representation of the component, wherein the intermediate representation represents the functionality of the component;
modifying the platform neutral hierarchical intermediate representation of the heterogeneous program executing in the target system memory; and
modifying an executable code in the target system memory based on the modified intermediate representation without taking the target system offline, the executable code being platform dependent and associated with the heterogeneous program.
2 Assignments
0 Petitions
Accused Products
Abstract
Described is a system and method for dynamically modifying an executing heterogeneous program in a heterogeneous distributed computing environment. A system reference is obtained to a target system on which the heterogeneous program is executing. The target system may be a local or a remote system. Based on the system reference, a program reference associated with the program is obtained which is used to locate a component of the program. An executable code associated with the component is modified to create a modified executable code based on a modification of an internal representation of the component. The modified code is inserted into the target system memory without requiring the target system to go offline. The code is inserted either by patching over an original memory area or injecting into a new memory location. The code may be inserted when the target program is operating in user mode or kernel mode.
62 Citations
20 Claims
-
1. A computer-implemented method for dynamically modifying an executing heterogeneous program in a distributed computing environment, the method comprising:
-
obtaining a system reference to a target system on which the heterogeneous program is executing; obtaining a program reference to the heterogeneous program based on the system reference; locating a component of the heterogeneous program based on the program reference, the component residing in a target system memory associated with the target system; obtaining a platform neutral hierarchical intermediate representation of the component, wherein the intermediate representation represents the functionality of the component; modifying the platform neutral hierarchical intermediate representation of the heterogeneous program executing in the target system memory; and modifying an executable code in the target system memory based on the modified intermediate representation without taking the target system offline, the executable code being platform dependent and associated with the heterogeneous program. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A computerized system for modifying a heterogeneous program associated with an online target system without talking the target system offline, the system comprising:
-
a processing unit; a system memory coupled to the processing unit through a system bus; a computer-readable medium coupled to the processing unit through a system bus; a platform neutral hierarchical intermediate representation for a heterogeneous program residing in the target system memory, wherein the intermediate representation represents a function of the heterogeneous program; a transformation process executing in the processing unit for modifying the platform neutral hierarchical intermediate representation to create a modified intermediate representation associated with the heterogeneous program; and a dynamic modification process executing in the processing unit for modifying an executable code in a target system memory based on the modified intermediate representation without taking the target system offline, the executable code being platform dependent and associated with the heterogeneous program. - View Dependent Claims (16, 17, 18, 19)
-
-
20. A computer-readable medium having computer-executable components for modifying an online target system without taking the target system offline, comprising:
-
a transformation process configured to modify a platform neutral hierarchical intermediate representation of a heterogeneous program executing in a target system memory; and a dynamic modification process configured to modify an executable code in the target system memory based on the modified intermediate representation without taking the target system offline, the executable code being platform dependent and associated with the heterogeneous program.
-
Specification