Patent ID: 7818422
Filing Date: 2010-10-19
Classification: H04L

Abstract:
1. A method for determining a round trip latency between first and second computers having a routing server therebetween, said method comprising: sending a first outgoing message from the first computer to the routing server and from the routing server to the second computer, said first outgoing message including outgoing time information indicative of a time when the first outgoing message was sent by the first computer according to a first clock associated with the first computer, wherein the first outgoing message is encrypted and the outgoing time information is not encrypted; receiving an incoming message from the second computer to the routing server and from the routing server to the first computer, said incoming message being sent by the second computer in response to receipt of the first outgoing message sent by the first computer, said incoming message including incoming time information indicative of a time when the incoming message was sent by the second computer according to a second clock associated with the second computer, said incoming time information further indicating processing time at the second computer, and said incoming message further including the outgoing time information, wherein the incoming message is encrypted and the incoming time information is not encrypted, and wherein the first computer is a remote desktop client, the second computer is a remote desktop server, the routing server is a remote desktop routing server, and the outgoing and incoming messages are in a remote desktop protocol format; determining a time when the first computer receives the incoming message according to the first clock; calculating a first observed roundtrip time for the outgoing and incoming messages as a function of the determined time, the outgoing time information, and the incoming time information, wherein said first observed roundtrip time is equal to the difference between the time when the first outgoing message was sent according to the first clock and the time the incoming message was received according to the first clock, minus the processing time at the second computer as indicated by the incoming time information; and sending a second outgoing message from the first computer to the routing server and from the routing server to the second computer in response to receipt of the incoming message from the second computer, said second outgoing message including the outgoing time information including the calculated first observed roundtrip time, wherein the second outgoing message is encrypted, and wherein the calculated first observed roundtrip time is not encrypted; wherein the routing server accesses, from the second outgoing message, the non-encrypted first observed roundtrip time; wherein the routing server calculates a performance metric of the routing server from the accessed, non-encrypted first observed roundtrip time; and wherein the routing server refuses connections from other computers if the calculated performance metric of the routing server is above a threshold and allows additional connections from other computers if the calculated performance metric of the routing server is below the threshold.