Resilient error handling through multipathing code
AssigneeInternational Business Machines Corporation
InventorsAndrew C. M. Hicks, Desmond Fitzpatrick, Michael Terrence Cohoon
Life of this patent
Estimating the term…
Abstract
A multipathing code package including multiple code sections is provided. The multipathing code package includes at least different first and second versions of a particular code section among the multiple code sections. Processing circuitry of a data processing system executes the multipathing code package. Execution of the multipathing code packages includes executing a first version of the particular code section. Based on detecting an occurrence of an execution failure in the first version of the particular code section, the processing circuitry rewinds execution and replays the particular code section through execution of the second version.
Claims15
A method of executing program code in a data processing system, the method comprising:
- providing a multipathing code package including multiple code sections, wherein the multipathing code package includes at least different first and second versions of a particular code section among the multiple code sections;
- executing, by processing circuitry of a data processing system, the multipathing code package, wherein the executing includes executing a first version of the particular code section;
- and
- based on detecting an occurrence of an execution failure in the first version of the particular code section, the processing circuitry rewinding execution and replaying the particular code section through execution of the second version,
- wherein the providing includes:
- employing a legacy version of the particular code section as the first version;
- and
- generating the second version from the legacy version, wherein the second version is
- written in a different programming language than the legacy version.
A program product, comprising:
- a non-transitory computer-readable storage medium;
- and
- program code stored within the non-transitory computer-readable storage medium and executable by processing circuitry of a data processing system to cause the data processing system to perform:
- providing a multipathing code package including multiple code sections, wherein the multipathing code package includes at least different first and second versions of a particular code section among the multiple code sections;
- executing the multipathing code package, wherein the executing includes executing a first version of the particular code section;
- and
- based on detecting an occurrence of an execution failure in the first version of the particular code section, rewinding execution and replaying the particular code section through execution of the second version,
- wherein the providing includes:
- employing a legacy version of the particular code section as the first version;
- and
- generating the second version from the legacy version, wherein the second version is
- written in a different programming language than the legacy version.
A data processing system, comprising:
- processing circuitry;
- a storage device communicatively coupled to the processing circuitry;
- and
- program code stored within the storage device and executable by the processing circuitry of the data processing system to cause the data processing system to perform:
- providing a multipathing code package including multiple code sections, wherein the multipathing code package includes at least different first and second versions of a particular code section among the multiple code sections;
- executing the multipathing code package, wherein the executing includes executing a first version of the particular code section;
- and
- based on detecting an occurrence of an execution failure in the first version of the particular code section, rewinding execution and replaying the particular code section through execution of the second version,
- wherein the providing includes:
- employing a legacy version of the particular code section as the first version;
- and
- generating the second version from the legacy version, wherein the second version is written in a different programming language than the legacy version.
Dependencies are inferred from the claim text.