System and method for client side monitoring of client server communications
First Claim
1. A method for reporting latency information as perceived by a client in a client server system, the method comprising:
- dispatching a first request from a client to a server;
receiving a first response from the server, wherein the first response corresponds to the first request;
measuring a latency from the client'"'"'s dispatch of the first request to the client'"'"'s receipt of the first response from the server;
appending the latency information to a second request;
dispatching the second request with the latency information from the client to the server.
2 Assignments
0 Petitions
Accused Products
Abstract
The performance of client server interactions is measured by the interacting client. The client-generated performance data is efficiently transmitted to one or more servers by incorporating the performance data regarding one or more previous request/response cycles into a subsequent request. Performance data transmission is made more efficient by transmitting performance data context such as client, server and session details once per connection. Performance data is stored on the client until transmitted or until it has aged beyond a server specified maximum age. Performance data is aggregated on the server in memory resident accumulators. The server may have a set of accumulators for each server its clients communicate with as well as a set for each client. An accumulator value crossing a configurable threshold may trigger an event log entry. The number of performance data events in an event class may be limited to a maximum for a time period.
-
Citations
50 Claims
-
1. A method for reporting latency information as perceived by a client in a client server system, the method comprising:
-
dispatching a first request from a client to a server;
receiving a first response from the server, wherein the first response corresponds to the first request;
measuring a latency from the client'"'"'s dispatch of the first request to the client'"'"'s receipt of the first response from the server;
appending the latency information to a second request;
dispatching the second request with the latency information from the client to the server. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method for determining remote procedure call (RPC) performance in a client server system, the method comprising:
-
monitoring on a client a status of each of a plurality of RPCs sent to a server;
appending information regarding the status of the RPC to at least one subsequent RPC that is sent to the server;
generating aggregate statistics on the server regarding RPC performance of the server as perceived by the client based upon the status; and
generating an alert if the aggregate statistics exceed a particular threshold indicative of problematic RPC performance.
-
-
12. A computer-implemented method, comprising:
-
sending a first request from a client to a server;
recording, at the client, a request initiation time for the first request;
receiving, at the client, a first response from the server corresponding to the first request;
recording, at the client, a response received time for the first response;
calculating a round trip latency for the first request/response pair comprising a difference between the response received time for the first response and the request initiation time for the first request; and
sending a second request from the client to the server, the second request comprising performance data, and the performance data comprising the round trip latency for the first request/response pair. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27)
-
-
28. A computer-implemented method, comprising:
-
sending a first request from a client to a server;
recording, at the client, an error condition corresponding to the first request; and
sending a second request from the client to the server, and the second request comprising;
an indication of at least one service desired of the server by the client; and
performance data, and the performance data comprising the error condition corresponding to the first request. - View Dependent Claims (29)
-
-
30. A computer-implemented method, comprising:
-
sending a first request from a client to a first server;
recording, at the client, a request initiation time for the first request;
receiving, at the client, a first response from the first server corresponding to the first request;
recording, at the client, a response received time for the first response;
calculating a round trip latency for the first request/response pair comprising a difference between the response received time for the first response and the request initiation time for the first request; and
sending a second request from the client to a second server, the second request comprising performance data, and the performance data comprising the round trip latency for the first request/response pair. - View Dependent Claims (31)
-
-
32. A computer-implemented method, comprising:
-
sending a first request from a client to a server;
recording, at the client, a request initiation time for the first request;
receiving, at the client, a first response from the server corresponding to the first request;
recording, at the client, a response received time for the first response;
calculating a round trip latency for the first request/response pair comprising a difference between the response received time for the first response and the request initiation time for the first request;
storing, at the client, performance data associated with the first request/response pair and a performance data storage time, the performance data comprising the round trip latency for the first request/response pair;
sending a second request from the client to the server; and
if a difference between a request initiation time for the second request and the storage time for the performance data associated with the first request/response pair is less than a maximum performance data age threshold then incorporating the performance data associated with the first request/response pair into the second request. - View Dependent Claims (33)
-
-
34. A computerized client system, comprising:
-
a performance data store;
a performance data measurement module configured to, at least;
generate performance data concerning requests from the client system and corresponding responses to the client system; and
store the generated performance data in the performance data store;
a server performance data preference store;
a performance data stream parse module configured to, at least, parse an incoming data stream for server performance data preferences and store them in the server performance data preference store;
a performance data stream format module configured to, at least, format and insert performance data from the performance data store into an outgoing data stream in accordance with server performance data preferences. - View Dependent Claims (35, 36, 37)
-
-
38. A computerized server system, comprising:
-
a performance data stream parse module configured to, at least, parse client-generated performance data from an incoming data stream;
at least one server system memory resident performance data accumulator; and
a performance data report module configured to, at least, update the at least one server system memory resident performance data accumulator from performance data corresponding to the parsed client-generated performance data. - View Dependent Claims (39, 40, 41)
-
-
42. A computer-readable medium having stored thereon a data structure, comprising:
-
a performance data remote procedure call (RPC) extension tag, comprising;
a performance data format version field;
at least one performance data format flag;
a performance data size field; and
an uncompressed performance data size field; and
at least one performance data block, comprising;
a performance data block header, comprising;
a performance data block size field;
a performance data block format version field; and
a performance data block type field; and
a performance data block body. - View Dependent Claims (43, 44, 45, 46, 47, 48, 49, 50)
-
Specification