Estimation of web client response time
First Claim
Patent Images
1. A method comprising:
- monitoring communications transmitted in a data stream, the communications comprising communications between a plurality of hosts, each communication comprising one or more Transmission Control Protocol (TCP) packets including one or more of SYN packets, FIN packets, ACK packets, and data packets;
filtering the communications to extract SYN and FIN packets;
detecting a first SYN packet transmitted from a first host to be received by a second host, the first SYN packet operative to initiate a first connection between the first host and the second host;
assigning a first SYN timestamp to the first SYN packet;
detecting a first FIN packet transmitted between the first host and the second host, the first FIN packet operative to terminate at least a first side of the first connection;
assigning a first FIN timestamp to the first FIN packet;
computing a first estimated response time between the first host and the second host, the first estimated response time being the elapsed time between the first SYN timestamp and the first FIN timestamp;
detecting a second FIN packet transmitted between the first host and the second host, the second FIN packet operative to terminate at least a second side of the first connection;
assigning a second FIN timestamp to the second FIN packet; and
adjusting the first estimated response time by the difference between the first FIN timestamp and the second FIN timestamp.
9 Assignments
0 Petitions
Accused Products
Abstract
Apparatuses, methods, and systems directed to estimating response time and other performance metrics in network communications. Some embodiments of the invention allow users to monitor and estimate response time in real time. In other particular embodiments, the systems disclosed below can be used to estimate response time using server logs. In some embodiments, the present invention involves using open control blocks as a proxy to estimate the number of dropped connections.
21 Citations
18 Claims
-
1. A method comprising:
-
monitoring communications transmitted in a data stream, the communications comprising communications between a plurality of hosts, each communication comprising one or more Transmission Control Protocol (TCP) packets including one or more of SYN packets, FIN packets, ACK packets, and data packets; filtering the communications to extract SYN and FIN packets; detecting a first SYN packet transmitted from a first host to be received by a second host, the first SYN packet operative to initiate a first connection between the first host and the second host; assigning a first SYN timestamp to the first SYN packet; detecting a first FIN packet transmitted between the first host and the second host, the first FIN packet operative to terminate at least a first side of the first connection; assigning a first FIN timestamp to the first FIN packet; computing a first estimated response time between the first host and the second host, the first estimated response time being the elapsed time between the first SYN timestamp and the first FIN timestamp; detecting a second FIN packet transmitted between the first host and the second host, the second FIN packet operative to terminate at least a second side of the first connection; assigning a second FIN timestamp to the second FIN packet; and adjusting the first estimated response time by the difference between the first FIN timestamp and the second FIN timestamp. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. Logic encoded in one or more computer-readable non-transitory storage media for execution on a data processing system, wherein the logic when executed is operable to:
-
monitor communications transmitted in a data stream, the communications comprising communications between a plurality of hosts, each communication comprising one or more Transmission Control Protocol (TCP) packets including one or more of SYN packets, FIN packets, ACK packets, and data packets; filter the communications to extract SYN and FIN packets; detect a first SYN packet transmitted from a first host to be received by a second host, the first SYN packet operative to initiate a first connection between the first host and the second host; assign a first SYN timestamp to the first SYN packet; detect a first FIN packet transmitted between the first host and the second host, the first FIN packet operative to terminate at least a first side of the first connection; assign a first FIN timestamp to the first FIN packet; compute a first estimated response time between the first host and the second host, the first estimated response time being the elapsed time between the first SYN timestamp and the first FIN timestamp; detect a second FIN packet transmitted between the first host and the second host, the second FIN packet operative to terminate at least a second side of the first connection; assign a second FIN timestamp to the second FIN packet; and adjust the first estimated response time by the difference between the first FIN timestamp and the second FIN timestamp. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. A method comprising:
-
receiving a first Transmission Control Protocol (TCP) packet; assigning a first timestamp to the first TCP packet; determining if the first TCP packet corresponds to an existing control block; if the first TCP packet does not correspond to an existing control block, determining if the first TCP packet is a SYN packet; if the first TCP packet is a SYN packet, creating a first control block corresponding to a first connection between a first host and a second host, the first control block comprising the first timestamp; if the first TCP packet corresponds to an existing first control block corresponding to the first connection between the first host and the second host, determining if the first TCP packet is a SYN packet corresponding to the first connection; if the first TCP packet is a SYN packet corresponding to the first connection, determining if a SYN-ACK packet has been received for the first connection; if the SYN-ACK packet has not been received for the first connection, replacing a client start sequence number in the first control block with a sequence number in the SYN packet; if the SYN-ACK packet has been received for the first connection, replacing a client start sequence number in the first control block with a sequence number in the SYN packet; and resetting a start time in the first control block with the first timestamp; if the first TCP packet is not a SYN packet corresponding to the first connection; determining if the first TCP packet is a first FIN packet corresponding to the first connection; if the first TCP packet is a first FIN packet corresponding to the first connection, computing an estimated response time for the first connection, the estimated response time being the difference in time between the first timestamp and the start time in the first control block; determining if the first TCP packet is a second FIN packet corresponding to the first connection; if the first TCP packet is a second FIN packet corresponding to the first connection, adjusting the estimated response time for the first connection by the difference between the first timestamp assigned to the first FIN packet and the first time stamp assigned to the second FIN packet. - View Dependent Claims (18)
-
Specification