Correcting operational state and incorporating additional debugging support into an online system without disruption
AssigneeCisco Technology, Inc.
InventorsKashyap Merchant, Srinivas Pitta
Life of this patent
Estimating the term…
Abstract
Techniques are provided for correcting the operational state of a multi-process system without disrupting any running processes. A library providing error correction and logging functionality is statically linked to modules in the system. A script in the library loads a package file having a patch for returning an error state to a normal state. The script issues commands to invoke functions in the patch. Once the error state has returned to a normal state, the script issues commands to remove the package file from the system.
Claims20
A computer-implemented method of using a set of loadable functions to facilitate diagnosis and correction of error states of one or more running processes without requiring process termination, the computer-implemented method comprising:
- dynamically by operation of one or more computer processors, and without terminating any of the one or more running processes:
- upon determining that the one or more running processes are in an error state, loading the set of loadable functions into a library statically linked to the one or more running processes, the set of loadable functions including an initial change function and a debug function;
- correcting the error state of the one or more running processes by invoking the initial change function;
- extracting diagnostic information of the one or more running processes by invoking the debug function;
- loading an updated change function into the library statically linked to the one or more running processes, for invocation in order to further correct the error state of the one or more running processes, wherein the updated change function is based on the extracted diagnostic information;
- and
- for each of at least one of the initial change function, the debug function, and the updated change function, removing the respective function from the library statically linked to the one or more running processes, after the respective function is invoked.
A non-transitory computer-readable medium storing program code executable to perform an operation of using a set of loadable functions to facilitate diagnosis and correction of error states of one or more running processes without requiring process termination, the operation comprising:
- dynamically by operation of one or more computer processors when executing the program code, and without terminating any of the one or more running processes:
- upon determining that the one or more running processes are in an error state, loading the set of loadable functions into a library statically linked to the one or more running processes, the set of loadable functions including a change function and a debug function;
- correcting the error state of the one or more running processes by invoking the change function;
- extracting diagnostic information of the one or more running processes by invoking the debug function;
- loading an updated change function into the library statically linked to the one or more running processes, for invocation in order to further correct the error state of the one or more running processes, wherein the updated change function is based on the extracted diagnostic information;
- and
- for each of at least one of the initial change function, the debug function, and the updated change function, removing the respective function from the library statically linked to the one or more running processes, after the respective function is invoked.
A system of using a set of loadable functions to facilitate diagnosis and correction of error states of one or more running processes without requiring process termination, the system comprising:
- one or more computer processors;
- and
- a memory hosting an application which, when executed on the one or more computer processors, performs an operation comprising:
- without terminating any of the one or more running processes, dynamically:
- upon determining that the one or more running processes are in an error state, loading the set of loadable functions into a library statically linked to the one or more running processes, the set of loadable functions including a change function and a debug function;
- correcting the error state of the one or more running processes by invoking the change function;
- extracting diagnostic information of the one or more running processes by invoking the debug function;
- loading an updated change function into the library statically linked to the one or more running processes, for invocation in order to further correct the error state of the one or more running processes, wherein the updated change function is based on the extracted diagnostic information;
- and
- for each of at least one of the initial change function, the debug function, and the updated change function, removing the respective function from the library statically linked to the one or more running processes, after the respective function is invoked.
Dependencies are inferred from the claim text.