IP Library Granted Patent US 7,366,790
Granted Patent B1
US 7,366,790 · App. 10/625,943 · Granted Apr 29, 2008

System and method of active latency detection for network applications

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,366,790
App. No.
10/625,943
Granted
Apr 29, 2008
Kind
B1
Abstract

A system and method of active latency detection for network applications that allows network latency to be calculated from a single host system. Periodic requests are generated from the host system and directed to a remote system in a way that requires minimal processing by the remote system. Latencies are calculated from the timing information associated with the periodic requests and can be combined with timing information associated with application packets to generate a latency trace for one or more network applications.

Claims (59)

1. A computer system for calculating latency of a network, comprising:

a single active agent configured to transmit requests and receive responses to the requests to generate a single trace file, the single active agent further comprising:

an active request generator that generates periodic requests to an identified closed port at a remote network node;

an active request log that stores request timing information regarding the timing of the periodic requests generated by the active request generator;

a response handler that receives responses from the node;

a response log that stores response timing information regarding the timing of the responses received by the response handler; and

a latency curve generator that calculates a continuous latency curve based upon the request timing information and the response timing information.

2. The computer system of claim 1 , further comprising a request decay controller that regulates a wait period between the periodic requests by the active request generator based upon receipt of application packets associated with the node.

3. The computer system of claim 1 , further comprising an active response filter that identifies responses corresponding to the periodic requests by the active request generator and directs other packets for further handling.

4. The computer system of claim 1 , further comprising a node data manager that identifies a plurality of nodes on the network and directs handling by the active request generator, the response handler, and the latency curve generator for each of the plurality of nodes.

5. The computer system of claim 1 , further comprising:

an outgoing latency calculator that calculates an outgoing latency of periodic requests by the active request generator;

an incoming latency calculator that calculates an incoming latency of responses received by the response handler; and

a continuous latency calculator that calculates the latency curve based upon the outgoing latency and the incoming latency.

6. The computer system of claim 5 , further comprising a self-queuing compensator that adjusts the outgoing latency and the incoming latency for self-queuing.

7. The computer system of claim 5 , further comprising a bandwidth calculator that calculates an outgoing bandwidth used in calculating the outgoing latency and an incoming bandwidth used in calculating the incoming latency.

8. The computer system of claim 5 , further comprising a minimum latency calculator that calculates a minimum latency used for calculating the latency curve.

9. A computer system for calculating latency from transmit times of individual packets of a network application comprising:

an active latency detection module within a single network node, the active latency detection module configured to calculate latency data based upon periodic requests to an identified closed port at a remote network node that are denied by the remote network node;

a packet capture module that receives within the single network node, the packet capture module configured to receive application data packets from the network node related to the network application;

a trace data storage module that stores network application trace data based upon the application data packets received by the packet capture module; and

a latency trace generation module that calculates continuous latency of the network application based upon the latency data calculated by the active latency detection module and the network application trace data stored by the trace data storage module.

10. The computer system of claim 9 , wherein the latency data includes a latency curve calculated by the active latency detection module.

11. The computer system of claim 9 , wherein the periodic requests by the active latency detection module are directed to an identified closed port.

12. The computer system of claim 9 , wherein the active latency detection module decays a rate for the periodic requests based upon the receipt of application data packets from the network node.

13. The computer system of claim 9 , wherein the active latency detection module and the packet capture module handle latency data and application data packets for a plurality of network nodes.

14. The computer system of claim 9 , further comprising a network packet trace generation module that generates a network packet trace without latency correction based upon the network application trace data.

15. The computer system of claim 9 , further comprising a transaction generation module that generates application requests to the network node and the application data packets received by the packet capture module include application data packets responsive to the application requests.

16. The computer system of claim 9 , further comprising:

a report processing module for generating latency trace reports based upon latency trace data generated by the latency trace generation module; and

a report viewer module for displaying latency trace reports to a user.

17. A method of calculating network latency comprising:

generating in a single network node periodic requests to an identified closed port at a remote network node, the periodic requests having low remote processing times;

recording in the single network node timing information for the periodic requests;

receiving at the single network node responses corresponding to the periodic requests;

recording in the single network node timing information for the received responses;

calculating in the single network node latency data for the network based upon the timing information for the periodic requests and the timing information for the received application data packets; and

calculating in the single network node a continuous latency curve based upon the calculated latency data for the network.

18. The method of claim 17 , wherein a delay between the periodic requests is based upon a rate and further comprising decaying the rate based upon non-receipt of application data packets from the network node.

19. The method of claim 17 , further comprising:

receiving application data packets and responses corresponding to the periodic requests in a data stream from the network node;

removing responses corresponding to the periodic requests; and

directing the application data packets for further processing.

20. The method of claim 17 , further comprising correcting the latency data for self-queuing delays.

21. The method of claim 17 , further comprising:

receiving application data packets from the network node;

recording timing information for the application data packets; and

calculating a latency trace for an application associated with the application data packets based upon the timing information for the application data packets and the latency data.

22. A method of calculating network latency, comprising:

aggregating timing data from periodic requests to an identified closed port at a remote network node;

calculating at a single network node outgoing latencies for the periodic requests;

calculating at the single network node incoming latencies for the periodic requests; and

generating at the single network node a continuous latency curve based upon the calculated outgoing latencies and incoming latencies.

23. The method of claim 22 , wherein calculation of outgoing latencies and calculation of incoming latencies includes compensation for self-queuing.

24. The method of claim 22 , further comprising calculating a bandwidth for a host system, the bandwidth used in calculating the outgoing latencies and calculating the incoming latencies.

25. The method of claim 22 , further comprising calculating a minimum latency for communications with the network node, the minimum latency used in calculating outgoing latencies and calculating incoming latencies.

26. The method of claim 22 , further comprising:

aggregating timing data for application data packets directed to and from the network node; and

calculating a latency trace based upon the timing data for the application data packets and the continuous latency curve.

Assignments (11)
SECURITY INTEREST Recorded Dec 16, 2022
From: DYNATRACE LLC
To: BMO HARRIS BANK N.A.
Reel/Frame 062142/0187 →
RELEASE OF SECURITY INTEREST IN PATENTS AT R/F 046923/0557 Recorded Dec 5, 2022
From: JEFFERIES FINANCE LLC, AS COLLATERAL AGENT
To: DYNATRACE, LLC
Reel/Frame 062056/0562 →
RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL RECORDED AT R/F 46923/0528 Recorded Aug 6, 2019
From: JEFFERIES FINANCE LLC, COLLATERAL AGENT
To: DYNATRACE LLC
Reel/Frame 049966/0518 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Aug 24, 2018
From: DYNATRACE LLC
To: JEFFERIES FINANCE LLC
Reel/Frame 046923/0528 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Aug 24, 2018
From: DYNATRACE LLC
To: JEFFERIES FINANCE LLC
Reel/Frame 046923/0557 →
RELEASE OF FIRST LIEN PATENT SECURITY AGREEMENT RECORDED AT REEL\FRAME 035200\0973 AND 035200\0955 Recorded Aug 23, 2018
From: JEFFERIES FINANCE LLC
To: DYNATRACE LLC; COMPUWARE CORPORATION
Reel/Frame 046922/0886 →
TERMINATION OF SECURITY INTEREST IN PATENTS AT REEL/FRAME NO. 035201/0065 Recorded Feb 14, 2018
From: JEFFERIES FINANCE LLC, AS COLLATERAL AGENT
To: COMPUWARE CORPORATION
Reel/Frame 045325/0384 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 24, 2015
From: COMPUWARE CORPORATION
To: DYNATRACE LLC
Reel/Frame 035490/0007 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Mar 13, 2015
From: COMPUWARE CORPORATION
To: JEFFERIES FINANCE, LLC
Reel/Frame 035201/0065 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Mar 13, 2015
From: COMPUWARE CORPORATION
To: JEFFERIES FINANCE, LLC
Reel/Frame 035200/0973 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 24, 2003
From: RUSTAD, JOSEPH VAUGHN; KAISER, GARY; MURPHY, LESLIE LAWRENCE; MILLS, ROBERT C.; SNYDER, MATTHEW J.; LIN, GEORGE DA-MING
To: COMPUWARE CORPORATION
Reel/Frame 014323/0903 →