Real-time monitoring of a routing server
First Claim
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.
2 Assignments
0 Petitions
Accused Products
Abstract
Calculating the roundtrip delay between first and second computers due to the latency of a routing server. The first computer receives an incoming message from the second computer via the routing server. The incoming message includes incoming time information indicative of processing time at the second computer and outgoing time information indicative of a time when a first outgoing message was sent by the first computer. The first computer calculates an observed roundtrip time indicating the routing server latency for a first outgoing message and the incoming message as a function of a time when the first computer received the incoming message, the outgoing time information, and the incoming time information.
-
Citations
7 Claims
-
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. - View Dependent Claims (2, 3, 4)
-
-
5. A method for selecting, by a first computer, a routing server from a plurality of available routing servers, said first computer sending outgoing messages to a second computer and receiving incoming messages from said second computer, said first computer having a first clock associated therewith and said second computer having a second clock associated therewith, said incoming and outgoing messages being sent via at least one of the plurality of routing servers, said method comprising:
-
receiving an incoming message from the second computer to the first computer via a first routing server, said first routing server being one of the plurality of available routing servers, said incoming message being sent by the second computer in response to receipt of a 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 the 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, said outgoing time information being indicative of a time when said first outgoing message was sent by the first computer according to the first clock associated with the first computer, wherein the incoming message and the outgoing message are encrypted, and wherein the outgoing time information and the incoming time information are not encrypted, and wherein the first computer is a remote desktop client, the second computer is a remote desktop server, the plurality of routing servers are remote desktop routing servers, and the first and second outgoing messages and the incoming message 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
wherein;if the first observed roundtrip time is below a threshold, the first routing server allows additional connections from other computers and the first computer sends a second outgoing message to the second computer via the first routing server, said threshold indicating an acceptable response time between the first computer and second computer; and if the first observed roundtrip time is above the threshold, the first routing server refuses connections from other computers and the first computer sends the second outgoing message to the second computer via a second routing server selected from the plurality of available routing servers, said second routing server being different than the first routing server. - View Dependent Claims (6, 7)
-
Specification