Patent ID: 8918497

Claim:
A method for measuring at least one of latency or bandwidth, comprising: determining whether a client has previously visited a first remote server, comprising: issuing a first get request for a first test file hosted on the first remote server; receiving the first test file in response to the first get request; and determining that the client has previously visited the first remote server when at least one of: a first amount of time between when the first get request was issued and the first test file was received is less than a specified amount of time; or a header of the received first test file indicates that the first test file was not received from the first remote server; and at least one of: determining a network latency, comprising: issuing a second get request for a second test file hosted on a second remote server, a browser query string for the second get request comprising a randomly generated variable configured to mitigate cache retrieval of the second test file; receiving the second test file in response to the second get request; and measuring a second amount of time between when the second get request was issued and the second test file was received; or determining a connection bandwidth, comprising: issuing a request, to a third remote server, for a response; receiving the response in response to the request; measuring a third amount of time between when the request for the response was issued and the response was received; identifying a size of the response; and using the third amount of time and the size of the response to determine the connection bandwidth.