System and method for measuring round trip times in a network using a TCP packet
First Claim
1. A method for responding to a request for an address, comprising:
- receiving, from a source, a request for an address associated with a host name;
identifying a plurality of mirrored websites associated with the host name;
communicating a query to one or more of the mirrored websites that requests a round trip time determination for sending a message from the mirrored website to the source;
receiving from one or more of the mirrored websites the round trip time determination; and
selecting one of the plurality of mirrored websites based at least in part on one or more of the round trip time determinations;
wherein the query requests that the mirrored websites determine the round trip time by;
sending a first data packet from the mirrored web site to the source;
receiving from the source a second data packet in response to the first data packet; and
determining the difference between the time the first data packet was sent and the time the second data packet was received; and
wherein a TCP network communication protocol is used, the first data packet comprising an unsolicited SYN ACK packet and the second data packet comprising a reset (RST) packet.
1 Assignment
0 Petitions
Accused Products
Abstract
An embodiment of the present invention is a system and method for measuring round trip times in a network, such as the Internet, by utilizing a packet, such as a transmission control protocol (TCP) packet. The TCP packet may be a packet which is typically utilized during establishment of a reliable connection, such as a SYN or a SYN ACK. According to an embodiment of the present invention, a mirrored service is selected for a client by sending the TCP packet from an approximate location of each of the mirrored service to an approximate location of the client. A response is then received by each mirrored service from the approximate location of the client, and a round trip time for each mirrored service is measured from the time the TCP packet was sent to the time the response was received. The various round trip times of each mirrored service are compared with each other and a best round trip time, such as the shortest time, is selected. A mirrored service associated with the best round trip time is selected for use with the client.
64 Citations
14 Claims
-
1. A method for responding to a request for an address, comprising:
-
receiving, from a source, a request for an address associated with a host name; identifying a plurality of mirrored websites associated with the host name; communicating a query to one or more of the mirrored websites that requests a round trip time determination for sending a message from the mirrored website to the source; receiving from one or more of the mirrored websites the round trip time determination; and selecting one of the plurality of mirrored websites based at least in part on one or more of the round trip time determinations; wherein the query requests that the mirrored websites determine the round trip time by; sending a first data packet from the mirrored web site to the source; receiving from the source a second data packet in response to the first data packet; and determining the difference between the time the first data packet was sent and the time the second data packet was received; and wherein a TCP network communication protocol is used, the first data packet comprising an unsolicited SYN ACK packet and the second data packet comprising a reset (RST) packet. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A system for responding to a request for an address, comprising:
-
means for receiving, from a source, a request for an address associated with a host name; means for identifying a plurality of mirrored websites associated with the host name; means for communicating a query to one or more of the mirrored websites that requests a round trip time determination for sending a message from the mirrored website to the source; means for receiving from one or more of the mirrored websites the round trip time determination; and means for selecting one of the plurality of mirrored websites based at least in part on one or more of the round trip time determinations; wherein the query requests that the mirrored websites determine the round trip time by; sending a first data packet from the mirrored web site to the source; receiving from the source a second data packet in response to the first data packet; and determining the difference between the time the first data packet was sent and the time the second data packet was received; and wherein a TCP network communication protocol is used, the first data packet comprising an unsolicited SYN ACK packet and the second data packet comprising a reset (RST) packet. - View Dependent Claims (7, 8)
-
-
9. An apparatus for responding to a request for an address, comprising:
-
a distributed director element operable to receive, from a source, a request for an address associated with a host name, wherein the distributed director element is operable to; identify a plurality of mirrored websites associated with the host name; communicate a query to one or more of the mirrored websites that requests a round trip time determination for sending a message from the mirrored website to the source; receive, from one or more of the mirrored websites, the round trip time determination; and select one of the plurality of mirrored websites based at least in part on one or more of the round trip time determinations; wherein the query requests that the mirrored websites determine the round trip time by; sending a first data packet from the mirrored web site to the source; receiving from the source a second data packet in response to the first data packet; and determining the difference between the time the first data packet was sent and the time the second data packet was received; and wherein a TCP network communication protocol is used, the first data packet comprising an unsolicited SYN ACK packet and the second data packet comprising a reset (RST) packet. - View Dependent Claims (10, 11, 12, 13, 14)
-
Specification