Embedding network measurements within multiplexing session layers
First Claim
1. A non-transitory electronic device readable storage medium holding instructions that, when executed, cause a processor to:
- initiate a connection to a remote device using a multiplexing protocol, the multiplexing protocol providing an end-to-end connection with the remote device, wherein the multiplexing protocol is a transport-layer or session-layer protocol;
initiate a timing flow over the multiplexing protocol, the timing flow associated with a timing protocol;
send network traffic over the connection, the network traffic including packets for the timing flow and packets for one or more additional flows over the multiplexed end-to-end connection, wherein at least one flow in the one or more additional flows is for an application;
receive, from the remote device, one or more response packets for the timing flow;
calculate an end-to-end network latency based on the one or more response packets; and
control the application responsive to a determination that the calculated end-to-end network latency is within a predetermined range, wherein controlling the application comprises lowering a data resolution when the determined latency is above a predetermined threshold.
2 Assignments
0 Petitions
Accused Products
Abstract
Exemplary embodiments provide techniques for measuring network latency attributable to the transit of packets through the network. This may be accomplished by developing a common sense of time with the server that allows packet inter-arrival times to be accurately measured. In establishing the common time between the client and the server, it may be necessary to overcome network topology manipulations and/or packet pacing manipulations performed by an intermediate device. Accordingly, an end-to-end multiplexing protocol may be employed which allows a protected connection to be established from the client directly to the server, bypassing the manipulations. Using the multiplexing protocol, a timing flow may be established for carrying timing traffic. After trading timing traffic with the server for a period of time, the client may establish a common or shared sense of time with the server which may be used to measure the latency in the network.
-
Citations
22 Claims
-
1. A non-transitory electronic device readable storage medium holding instructions that, when executed, cause a processor to:
-
initiate a connection to a remote device using a multiplexing protocol, the multiplexing protocol providing an end-to-end connection with the remote device, wherein the multiplexing protocol is a transport-layer or session-layer protocol; initiate a timing flow over the multiplexing protocol, the timing flow associated with a timing protocol; send network traffic over the connection, the network traffic including packets for the timing flow and packets for one or more additional flows over the multiplexed end-to-end connection, wherein at least one flow in the one or more additional flows is for an application; receive, from the remote device, one or more response packets for the timing flow; calculate an end-to-end network latency based on the one or more response packets; and control the application responsive to a determination that the calculated end-to-end network latency is within a predetermined range, wherein controlling the application comprises lowering a data resolution when the determined latency is above a predetermined threshold. - View Dependent Claims (2, 3, 4, 5, 6, 19, 20)
-
-
7. A method implemented in an electronic device communicating with a server over a network, the network comprising an intermediate device that engages in network topology manipulation or packet manipulation, the method comprising:
-
accessing a timing flow associated with a timing protocol, the timing flow transmitted through a multiplexing protocol by which the electronic device is connected to the server in a manner that ignores the network topology manipulation or packet manipulation of the intermediate device, wherein the multiplexing protocol is a transport-layer or session-layer protocol; transmitting one or more timing packets over the timing flow; measuring inter-arrival times of the one or more timing packets and one or more response packets from the server; calculating an end-to-end network latency based on the measured inter-arrival times; and controlling, responsive to a determination that the calculated end-to-end network latency is within a predetermined range, an application transmitting one or more additional flows over the multiplexed end-to-end connection, wherein controlling the application comprises lowering a data resolution when the determined latency is above a predetermined threshold. - View Dependent Claims (8, 9, 10, 11, 21, 22)
-
-
12. A system comprising:
-
a non-transitory computer-readable medium holding instructions; and a processor configured to execute the instructions to; initiate a connection to a server using a multiplexing protocol, the multiplexing protocol providing an end-to-end connection with the server, wherein the multiplexing protocol is a transport-layer or session-layer protocol; initiate a timing flow over the multiplexing protocol, the timing flow associated with a timing protocol; send network traffic over the multiplexed end-to-end connection over a period time, the network traffic including packets for the timing flow and packets for one or more additional flows, wherein at least one flow in the one or more additional flows is for an application, the end-to-end connection to the server being maintained for the duration of the period of time; calculate an end-to-end network latency over the period of time based on acknowledgements to the network packets received from the server; and control the application responsive to a determination that the calculated end-to-end network latency is within a predetermined range, wherein controlling the application comprises lowering a data resolution when the determined latency is above a predetermined threshold. - View Dependent Claims (13, 14, 15, 16, 17, 18)
-
Specification