Debugging application performance over a network
First Claim
1. A method to monitor response times associated with client(s) and server(s) located in a network, said method implemented in an application debugging switch among a plurality of said application debugging switches dispersed over said network, said method comprising the steps of:
- receiving a request from a client intended for a server and identifying and storing a timestamp t1 when said request is received;
forwarding said request to said server;
receiving a response from said server and identifying and storing timestamp t2 when said response is received, and calculating a server response time as a difference between t2 and t1, wherein said calculated server response time identifies indicates network and application responsiveness.
1 Assignment
0 Petitions
Accused Products
Abstract
An application debugging switch also monitors application performance. The application debugging switch forwards the requests from a first host to a second host, and later forwards the response coming from that second host to that first host. As most of the applications work in a request—response architecture, the application debugging switch can measure the response time of the application. The switch attaches a timestamp to each request that it forwards. When the response to that request comes to the switch, the switch can determine the response time of that application. The application debugging switch collects multiple samples of response time over a certain period of time. These samples provide a good measurement for the average application response time. The response time is a combination of the network response time and the application response time. The application debugging switch holds multiple measurement classes. Each class defines different sources or destinations of traffic (IP addresses and networks) and different applications (TCP/UDP ports or content identifiers in the requests). Collecting the response time for each class separately allows zooming in to an application and user that experience bad service and detect the reason for their failure.
-
Citations
33 Claims
-
1. A method to monitor response times associated with client(s) and server(s) located in a network, said method implemented in an application debugging switch among a plurality of said application debugging switches dispersed over said network, said method comprising the steps of:
-
receiving a request from a client intended for a server and identifying and storing a timestamp t1 when said request is received;
forwarding said request to said server;
receiving a response from said server and identifying and storing timestamp t2 when said response is received, and calculating a server response time as a difference between t2 and t1, wherein said calculated server response time identifies indicates network and application responsiveness. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A method implemented in an application debugging switch to identify bottlenecks associated with a server based on monitoring network and application response times associated with a plurality of clients and said server, said method comprising the steps of:
-
receiving a plurality of requests from said plurality of clients to said server;
forwarding said plurality of requests to said server and monitoring network and application response times, said plurality of requests targeting a combination of any of the following;
a communication protocol stack supported by said server, application logic of said server, storage resources of said server, operating system resources of said server, or CPU resources of said server;
storing timestamps associated with said plurality of transmitted requests;
receiving a plurality of responses from said server, identifying and storing a timestamp for each received response;
calculating server response time for each received response as a difference between timestamp of each received response and a timestamp associated with a corresponding transmitted request; and
identifying network and application bottlenecks associated with said server based on said calculated server response times. - View Dependent Claims (16, 17, 18, 19)
-
-
20. A networking system comprising:
-
a plurality of application debugging switches dispersed throughout a network, each application debugging switch;
receiving a request from a client to a server;
forwarding said request to said server and storing timestamp t1 when said response is forwarded;
receiving a response from said server and storing timestamp t2 when said response is received, and calculating a server response time as a difference between t2 and t1, and a debugging center collecting response time information from said plurality of application debugging switches and mapping application and/or network responsiveness. - View Dependent Claims (21, 22, 23)
-
-
24. A networking system comprising:
-
at least one application debugging switch facilitating communication between one or more clients and at least one application server and collecting statistics comprising network response times and application response times associated with said server;
at least one policy logging server maintaining one or more policies defining mathematical operations on collected statistics, wherein said at least one application debugging switch performs mathematical operations on said collected statistics according to a predefined policy in said policy logging server; and
wherein said collected statistics are used to map application and network responsiveness. - View Dependent Claims (25, 26, 27, 28)
-
-
29. A method to monitor response times associated with client(s) and server(s) located in a network, said method implemented in at least two application debugging switches dispersed over said network, said method comprising the steps of:
-
receiving, at a first debugging switch, a request from a client intended for a server, said first application debugging switch;
identifying a timestamp t11 when it receives said request;
forwarding said request to said server;
receiving said forwarded request at a second debugging switch, said second debugging switch;
identifying a timestamp t21 when it receives said forwarded request;
forwarding said request to said server;
receiving a response from said server;
identifying a time stamp t22 when said response is received in said server, and forwarding said response to said client;
receiving said forwarded response at said first application debugging switch, said first application debugging switch;
identifying a timestamp t12 when said forwarded response is received;
forwarding said response to said client, wherein a first response time RT1 is calculated in said first application debugging switch as the difference between response times t12 and t11 and a second response time RT2 is calculated at said second debugging switch as difference between response times t22 and t21, said response times identifying network and application responsiveness. - View Dependent Claims (30)
-
-
31. A networking system comprising:
-
a traffic generation machine generating network traffic;
a plurality of application debugging switches, wherein at least one application debugging switch;
receives a plurality of requests generated by said traffic generation machine intended for a server on said network, identifies and stores timestamps when said requests are received, forwards said plurality of requests to said server;
receives a plurality of responses corresponding to said plurality of requests from said server, identifies and stores timestamps when said responses are received and calculates response times as a difference between the time stamp when a request is received and the time stamp when a response is sent, wherein said at least one application debugging switch in conjunction with the traffic generation machine increases the generated traffic intended for said server, calculates response time for said generated traffic, and identifies the amount of traffic when a failure threshold is reached.
-
-
32. A method implemented in an application debugging switch to monitor response times in phases for application transactions between a client to a plurality of servers, plurality of said application debugging switches dispersed over a network, said method comprising the steps of:
-
receiving a TCP connection request from said client and forwarding said TCP connection request to an application server at timestamp t1;
receiving a TCP acknowledgement message from said application server at timestamp t2, calculating a TCP response time as t2-t1, and forwarding said TCP acknowledgement message to said client;
receiving an application request from said client and forwarding said application request to said application server at timestamp t3;
receiving an application reply from said application server at timestamp t4, calculating an application response time as t4-t3, and forwarding said application reply to said client, and wherein said application debugging switch measures response time of each phase in a transaction to identify responsiveness of each phase of said transaction. - View Dependent Claims (33)
-
Specification