Diagnosing crashes in distributed computing systems
AssigneeOracle International Corporation
InventorsDaniel Semler, Yuriy S. Granat, Alok Srivastava, Ivan Tinlung Lam
Life of this patent
Estimating the term…
Abstract
Mechanisms are provided for preserving data wherein one or more nodes in a distributed computing system experiences an error. In one embodiment, when an error occurs, an error event is identified. Based on this error event, a set of identified execution units is suspended and a set of identified data is collected. All suspended execution units are then released, i.e., allowed to continue execution at the point where the units were suspended. The data collected during suspension is then used to diagnose the cause of the error.
Claims20
A method for identifying causes of an error that occurs during an operation that involves a plurality of nodes, the method comprising the steps of:
- catching an event indicating occurrence of an error in one of the plurality of nodes;
- identifying a set of execution units to be suspended in response to said error, wherein
- an execution unit is at least a portion of an executing program;
- performing the following steps for each execution unit of said set of execution units:
- suspending execution of each execution unit in said set of execution units;
- while said execution unit is suspended, acquiring a set of data that reflects at least part of the state of said execution unit;
- and
- after acquiring said set of data, allowing said execution unit to continue execution at the point where said execution unit was suspended;
- and
- providing said set of data for determining a cause of said error.
A computer-readable medium bearing instructions to cause a computer to perform the step of identifying causes of an error that occurs during an operation that involves a plurality of nodes;
- wherein the step of identifying comprises the steps of:
- catching an event indicating occurrence of an error in one of the plurality of nodes;
- identifying a set of execution units to be suspended in response to said error, wherein
- an execution unit is at least a portion of an executing program;
- performing the following steps for each execution unit of said set of execution units:
- suspending execution of each execution unit in said set of execution units;
- while said execution unit is suspended, acquiring a set of data that reflects at least part of the state of said execution unit;
- and
- after acquiring said set of data, allowing said execution unit to continue execution at the point where said execution unit was suspended;
- and
- providing said set of data for determining a cause of said error.
A method for identifying causes of an error that occurs during an operation that involves a plurality of nodes, the method comprising the steps of:
- catching an event indicating occurrence of the error in one of the plurality of nodes;
- identifying a set of execution units to be suspended in response to said error, wherein
- an execution unit is at least a portion of an executing program;
- performing the following steps for each execution unit of said set of execution units:
- suspending execution of each execution unit in said set of execution units;
- while said execution unit is suspended, acquiring a set of data that reflects at least part of the state of said execution unit;
- and
- after acquiring said set of data, allowing said execution unit to continue execution at the point where said execution unit was suspended;
- and
- maintaining a table for storing data that indicates, for the event indicating occurrence of the error, a corresponding set of execution units to be suspended;
- and
- providing said set of data for determining a cause of said error.
Dependencies are inferred from the claim text.