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 associated with a host name comprising:
- receiving from a source a request for an address associated with a host name;
identifying a plurality of mirrored web sites associated with the host name;
sending to each of the plurality of mirrored websites a query requesting that the website determine in response to receiving the query a round trip time for sending a first message from the mirrored website to the source and receiving from the source at the mirrored website a second message sent by the source in response to the first message;
receiving from each of the plurality of mirrored web sites the round trip time determined by the website; and
selecting one of the plurality of mirrored websites based at least in part on the respective round trip packet travel times determined for the plurality of mirrored websites, wherein the query requests that mirrored website 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 and the first data packet comprises a SYN packet and the second data packet comprises a SYN ACK packet.
2 Assignments
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.
-
Citations
9 Claims
-
1. A method for responding to a request for an address associated with a host name comprising:
-
receiving from a source a request for an address associated with a host name;
identifying a plurality of mirrored web sites associated with the host name;
sending to each of the plurality of mirrored websites a query requesting that the website determine in response to receiving the query a round trip time for sending a first message from the mirrored website to the source and receiving from the source at the mirrored website a second message sent by the source in response to the first message;
receiving from each of the plurality of mirrored web sites the round trip time determined by the website; and
selecting one of the plurality of mirrored websites based at least in part on the respective round trip packet travel times determined for the plurality of mirrored websites, wherein the query requests that mirrored website 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 and the first data packet comprises a SYN packet and the second data packet comprises a SYN ACK packet. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A system for responding to a request for an address associated with a host name compromising:
-
a processor;
a network connection configured to receive network communications from and send network communications to a source via a network; and
memory storing code executable by said processor, said code comprising;
computer instructions for identifying a plurality of mirrored web sites associated with a host name for which a request for an address associated with the host name has been received via the network from the source;
computer instructions for sending to each of the plurality of mirrored web sites a query requesting that the web site determine in response to receiving the query a round trip time for sending a first message from the mirrored website to the source and receiving from the source at the mirrored web site a second message sent by the source in response to the first message; and
computer instructions for selecting one of the plurality of mirrored websites based at least in part on respective round trip packet travel times received from the plurality of mirrored websites in response to said query, wherein the query requests that mirrored website 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 and the first data packet comprises a SYN packet and the second data packet comprises a SYN ACK packet.
-
-
7. A system for responding to a request for an address associated with a host name comprising:
-
means for receiving from a source a request for an address associated with a host name;
means for identifying a plurality of mirrored web sites associated with the host name;
means for sending to each of the plurality of mirrored websites a query requesting that the website determine in response to receiving the query a round trip time for sending a first message from the mirrored website to the source and receiving from the source at the mirrored website a second message sent by the source in response to the first message;
means for receiving from each of the plurality of mirrored websites the round trip time determined by the website; and
means for selecting one of the plurality of mirrored websites based at least in part on the respective round trip packet travel times determined for the plurality of mirrored websites, wherein the query requests that mirrored website 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 and the first data packet comprises a SYN packet and the second data packet comprises a SYN ACK packet.
-
-
8. A computer program product for responding to a request for a host name, the computer program product comprising:
-
computer instructions for receiving from a source a request for an address associated with a host name;
computer instructions for identifying a plurality of mirrored web sites associated with the host name;
computer instructions for sending to each of the plurality of mirrored web sites a query requesting that the web site determine in response to receiving the query a round trip time for sending a first message from the mirrored website to the source and receiving from the source at the mirrored website a second message sent by the source in response to the first message;
computer instructions for receiving from each of the plurality of mirrored websites the round trip time determined by the website; and
computer instructions for selecting one of the plurality of mirrored websites based at least in part on the respective round trip packet travel times determined for the plurality of mirrored websites, wherein the query requests that mirrored website 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 and the first data packet comprises a SYN packet and the second data packet comprises a SYN ACK packet.
-
-
9. An agent associated with a mirrored website for providing to a distributed director system a round trip packet travel time for the mirrored web site, the distributed director system being configured to receive and respond to a request from a source for an address associated with a host name, the agent comprising:
-
a processor; and
a memory configured to store computer code executable by said processor, the computer code comprising;
computer instructions for receiving from the distributed director a request to determine a round trip packet travel time from the mirrored web site to the source;
computer instructions for sending, in response to receiving said request, a first packet to the source;
computer instructions for receiving from the source a second packet sent by the source in response to the first packet;
computer instructions for determining the time elapsed from the time at which the first packet was sent until the time at which the second packet was received; and
computer instructions for sending to the distributed director a message in response to said request reporting the time elapsed from the time at which the first packet was sent until the time at which the second packet was received as the round trip packet travel time for the mirrored website, wherein the query requests that mirrored website 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 and the first data packet comprises a SYN packet and the second data packet comprises a SYN ACK packet.
-
Specification