Self-healing system and method for code optimization in a computing environment
AssigneeInternational Business Machines Corporation
InventorsDavid Breitgand, Maayan Goldstein, Ealan Abraham Henis, Onn Menahem Shehory, Yaron Weinsberg
Life of this patent
Estimating the term…
Abstract
Systems and methods for optimizing performance in a computing environment are provided. The system comprises means for monitoring execution of annotated logic code associated with a software component to determine whether a condition has been satisfied, wherein annotations in the logic code provide one or more details about the software component, the details being useful to a healing agent to correct a problem associated with said condition during the execution of the logic code.
Claims17
A computer-implemented method for optimizing performance in a computing environment, the method comprising:
- annotating logic code associated with a software component;
- and
- monitoring execution of the annotated logic code to determine whether a condition has been satisfied, wherein annotations in the logic code provide one or more details about the software component, the details being useful to a healing agent to correct or prevent a problem associated with said condition during the execution of the logic code,
- wherein the healing agent's actions to correct or prevent a problem result in instantiation of a proxy object with a first memory footprint,
- wherein the proxy object provides a reference to a target object with a second memory footprint larger than the first memory footprint,
- wherein the target object is removed from execution environment of the logic code, based on a determination that the target object is not immediately needed for proper execution and that removal of the target object would help optimize the execution of the logic code, and
- wherein in response to invocation of the target object, the proxy object provides a reference to help restore the removed target object;
- wherein logic code for the healing agent is independent of the software component, so that a first healing logic code for correcting the problem can be replaced by a second healing logic code without substantially modifying logic code for the software component.
A system for optimizing performance in a computing environment, the system comprising:
- one or more processing units, in communication with data storage media units, for executing logic code stored on said data storage media;
- means for monitoring execution of annotated logic code associated with a software component to determine whether a condition has been satisfied, wherein annotations in the logic code provide one or more details about the software component, the details being useful to a healing agent to correct or prevent a problem associated with said condition during the execution of the logic code,
- wherein the healing agent's actions to correct or prevent a problem result in instantiation of a proxy object with a first memory footprint,
- wherein the proxy object provides a reference to a target object with a second memory footprint larger than the first memory footprint,
- wherein the target object is removed from execution environment of the logic code, based on a determination that the target object is not immediately needed for proper execution and that removal of the target object would help optimize the execution of the logic code, and
- wherein in response to invocation of the target object, the proxy object provides a reference to help restore the removed target object;
- wherein logic code for the healing agent is independent of the software component, so that a first healing logic code for correcting the problem can be replaced by a second healing logic code without substantially modifying logic code for the software component.
A computer program product comprising a non-transitory computer useable medium having a computer readable program, wherein the computer readable program when executed on a computer causes the computer to:
- monitor execution of annotated logic code associated with a software component to determine whether a condition has been satisfied, wherein annotations in the logic code provide one or more details about the software component, the details being useful to a healing agent to correct a problem associated with said condition during the execution of the logic code,
- wherein the healing agent's actions to correct or prevent a problem result in instantiation of a proxy object with a first memory footprint,
- wherein the proxy object provides a reference to a target object with a second memory footprint larger than the first memory footprint,
- wherein the target object is removed from execution environment of the logic code, based on a determination that the target object is not immediately needed for proper execution and that removal of the target object would help optimize the execution of the logic code, and
- wherein in response to invocation of the target object, the proxy object provides a reference to help restore the removed target object;
- wherein logic code for the healing agent is independent of the software component, so that a first healing logic code for correcting the problem can be replaced by a second healing logic code without substantially modifying logic code for the software component.
Dependencies are inferred from the claim text.