Patent ID: 9231858
Filing Date: 2016-01-05
CPC Classification: G06F,H04L

Claim Text:
1. A method comprising: (A) selecting a start path record representing a start path of a distributed transaction, wherein the start path corresponds to execution of a first part of the distributed transaction, wherein a plurality of application nodes executes parts of the distributed transaction, wherein the plurality of application nodes execute on a plurality of computer systems, wherein a first application node in the plurality of application nodes executes a first part of the distributed transaction, wherein a first plurality of agents is installed on the plurality of application nodes, wherein at least one of the plurality of agents is installed on each of the plurality of application nodes, wherein the start path does not have a parent path; (B) identifying a completion timestamp, represented in a timing system of a destination node executing on one of the plurality of computer systems, indicating a completion time of the start path; (C) identifying an oldest latest event timestamp, represented in a timing system of the monitoring node, from among a plurality of latest event timestamps associated with a second plurality of agents, the second plurality of agents including the first plurality of agents that are installed on the plurality of application nodes; (D) determining whether the oldest agent timestamp represents a time that is later in time than the completion timestamp; (E) if the oldest agent timestamp is determined to represent a time that is later in time than the completion timestamp, then setting a completeness state of the start path to indicate that the start path has completed; (F) if the oldest agent timestamp is determined to represent a time that is later in time than the completion timestamp, then determining whether all sub-paths of the start path have completed; (G) if it is determined that all sub-paths of the start path have completed, then setting a completeness state of the start path to indicate that the start path has completed; and (H) if it is not determined that all sub-paths of the start path have completed, then, if a timeout period associated with the start path has elapsed since the start path has initiated, then setting a completeness state of the start path to indicate that the start path was completed by timeout.