Exception handling for a distributed runtime
AssigneeMicrosoft Corporation
InventorsRichard A. Warren, Sudarshan Raghunathan
Life of this patent
Estimating the term…
Abstract
Embodiments are directed to handling errors in a distributed software application. In one scenario, a computer system instantiates a distributed application which is configured for execution on multiple different computer systems. The computer system determines that an exception has occurred during the execution of the distributed application on at least one of the computer systems and translates the exception that occurred during distributed execution in a distributed environment into a serial exception that appears to have occurred during serial execution in a serial execution environment. The computer system then presents the translated serial exception to an application developer or other user.
Claims19
A computer-implemented method for handling errors during a runtime of a distributed software application distributed and executed among a plurality of computer systems, the method comprising acts of:
- instantiating at least one computer system an execution monitoring module, and monitoring with the execution monitoring module the distributed application for exceptions while running at the computer systems among which the application is distributed;
- upon determining with the execution monitoring module that an exception has occurred during the execution of the distributed application on at least one of the plurality of computer systems passing the exception to an exception translation module and then translating the exception that occurred during distributed execution in a distributed environment into a serial exception that appears to have occurred during serial execution in a serial execution environment, wherein the translated serial exception comprises a general exception that indicates to the application developer why the distributed application failed, regardless of whether a portion or the entire distributed application failed;
- and
- presenting the translated serial exception to an application developer along with one or more portions of exception data.
A computer-implemented method for handling errors during a runtime of a distributed software application distributed and executed among a plurality of computer systems, the method comprising acts of:
- instantiating at least one computer system an execution monitoring module, and monitoring with the execution monitoring module the distributed application for exceptions while running at the computer systems among which the application is distributed;
- upon determining with the execution monitoring module that an exception has occurred during the execution of the distributed application on at least one of the plurality of computer systems passing the exception to an exception translation module and then translating the exception that occurred during distributed execution in a distributed environment into a serial exception that appears to have occurred during serial execution in a serial execution environment, wherein the translated serial exception comprises a general exception that indicates to the application developer why the distributed application failed, regardless of whether a portion or the entire distributed application failed;
- and
- presenting the translated serial exception for analysis by a developer, the translated serial exception allowing the developer to perceive that the developer is programming in a serial execution environment while actually programming in a distributed, parallel execution environment.
A computer system comprising the following:
- one or more processors;
- system memory;
- one or more hardware storage devices having stored thereon computer-executable instructions that, when executed by the one or more processors, causes the computing system to perform a method for handling errors in a distributed software application distributed and executed among a plurality of computer systems, the wherein the implemented method comprises the following acts:
- instantiating at least one computer system an execution monitoring module, and monitoring with the execution monitoring module the distributed application for exceptions while running at the computer systems among which the application is distributed;
- upon determining with the execution monitoring module that an exception has occurred during the execution of the distributed application on at least one of the plurality of computer systems passing the exception to an exception translation module and then translating the exception that occurred during distributed execution in a distributed environment into a serial exception that appears to have occurred during serial execution in a serial execution environment, wherein the translated serial exception comprises a general exception that indicates to the application developer why the distributed application failed, regardless of whether a portion or the entire distributed application failed;
- and
- presenting the translated serial exception for analysis by a developer, the translated serial exception allowing the developer to perceive that the developer is programming in a serial execution environment while actually programming in a distributed, parallel execution environment.
One or more hardware storage device having stored thereon computer-executable instructions that, when executed by one or more processors of a computer system, causes the computer system to perform a method for handling errors in a distributed software application that is distributed and executed among a plurality of computer systems, the wherein the implemented method includes:
- instantiating at least one computer system an execution monitoring module, and monitoring with the execution monitoring module the distributed application for exceptions while running at the computer systems among which the application is distributed;
- upon determining with the execution monitoring module that an exception has occurred during the execution of the distributed application on at least one of the plurality of computer systems passing the exception to an exception translation module and then translating the exception that occurred during distributed execution in a distributed environment into a serial exception that appears to have occurred during serial execution in a serial execution environment, wherein the translated serial exception comprises a general exception that indicates to the application developer why the distributed application failed, regardless of whether a portion or the entire distributed application failed;
- and
- presenting the translated serial exception to an application developer along with one or more portions of exception data.
Dependencies are inferred from the claim text.