CORRELATING INPUT AND OUTPUT REQUESTS BETWEEN CLIENT AND SERVER COMPONENTS IN A MULTI-TIER APPLICATION
First Claim
1. A method of marking a transaction at a first node for correlation with a related transaction at a second node, said method comprising:
- determining when a socket connection is opened by the first node for a communication destined to the second node;
assigning a connection ID to the socket connection;
emitting the connection ID responsive to a successful socket write action by the first node; and
emitting, at offsets within the communication, respective markers for each of the offsets.
21 Assignments
0 Petitions
Accused Products
Abstract
The present invention relates to correlating requests between a client and a server to a particular transaction. In one embodiment, transactions in a system of clients and servers are monitored and traced. From this information, a context comprising sets or groupings of transaction call sequences are determined. For example, a sequence of method calls on a client process is traced to a socket carrying data for transmission of a request message to a server. In response to this request message, the server then executes a set of method calls that can be correlated to the request message and the socket. This set of actions is considered part of a causally related grouping, and thus, associated together. In one embodiment, HTTP requests from a client may be comprise a unique custom header that is readily identified and traced. For other protocols, a client socket is associated with a corresponding server socket or to data received over a socket receive call.
-
Citations
30 Claims
-
1. A method of marking a transaction at a first node for correlation with a related transaction at a second node, said method comprising:
-
determining when a socket connection is opened by the first node for a communication destined to the second node; assigning a connection ID to the socket connection; emitting the connection ID responsive to a successful socket write action by the first node; and emitting, at offsets within the communication, respective markers for each of the offsets. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A method for correlating communications between a first node and a second node for a transaction, said method comprising:
-
monitoring a plurality of method calls and a plurality of socket actions at the first and second nodes; assigning a socket ID to each socket connection that is opened on the first and second nodes; emitting, for each successful socket write action and each successful socket read action at the first and second nodes, the socket ID and respective marker corresponding to an offset within the connection; and correlating the communications between the first and second nodes based on the socket ID and the respective markers. - View Dependent Claims (7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A method for correlating a transaction recorded at two or more nodes, comprising:
-
monitoring a plurality of method calls and a plurality of socket actions for transactions at each of the two or more nodes; associating a socket ID with each socket connection that is opened; for each successful socket connection, emitting the socket ID, a local address, and a remote address; for each successful socket write action, emitting the socket ID, a current output stream offset, a number of bytes sent, and on selected fixed boundaries and at the end of a socket connection a checksum value; for each successful socket read action, emitting the socket ID, a current input stream offset, a number of bytes received, and on selected fixed boundaries and at the end of a socket connection, a checksum value; associating each emission with at least one of the plurality of method calls; recording information about each of the plurality of method calls and their corresponding emissions; and identifying a correlation between at least two of the plurality of method calls based on the recorded information. - View Dependent Claims (17, 18, 19, 20)
-
-
21. A first node configured to mark a transaction for correlation with a related transaction at a second node, said first node comprising:
-
a memory comprising executable program code; and a processor configured by the executable program code to determine when a socket connection is opened by the client for a communication destined to the second node, assign a connection ID to the socket connection, emit the connection ID responsive to a successful socket write action by the first node, and emit, at offsets within the communication, respective markers for each of the offsets. - View Dependent Claims (22, 23, 24, 25)
-
-
26. A system configured to correlate communications between a first node and a second node for a transaction of an application running over a network, said system comprising:
-
a communications interface coupled to the network and configured to receive trace information from at least the first and second nodes; a processor configured by executable program code to; monitor a plurality of method calls and a plurality of socket actions for transactions at each of the two or more nodes, associate a socket ID with each socket connection that is opened, wherein for each successful socket connection, the socket ID, a local address, and a remote address has been emitted by the first and second nodes, wherein for each successful socket write action, the socket ID, a current output stream offset, a number of bytes sent, and on selected fixed boundaries and at the end of a socket connection a checksum value has been emitted by the first and second nodes, wherein for each successful socket read action, the socket ID, a current input stream offset, a number of bytes received, and on selected fixed boundaries and at the end of a socket connection, a checksum value, has been emitted by the first and second nodes, associate each emission with at least one of the plurality of method calls, record information about each of the plurality of method calls and their corresponding emissions, and identify a correlation between at least two of the plurality of method calls based on the recorded information. - View Dependent Claims (27, 28, 29, 30)
-
Specification