US 12,273,262 B1
Method and system for detecting latency in a wide area network
Stephen L. Blum, San Francisco, CA (US)
Assigned to PubNub, Inc., San Francisco, CA (US)
Filed by PubNub, Inc., San Francisco, CA (US)
Filed on Dec. 21, 2023, as Appl. No. 18/391,850.
Application 18/391,850 is a continuation of application No. 17/455,942, filed on Nov. 22, 2021, granted, now 11,888,728.
Application 17/455,942 is a continuation of application No. 15/931,693, filed on May 14, 2020, granted, now 11,184,266, issued on Nov. 23, 2021.
This patent is subject to a terminal disclaimer.
Int. Cl. H04L 45/00 (2022.01); H04L 43/0864 (2022.01); H04L 43/16 (2022.01); H04L 45/12 (2022.01)
CPC H04L 45/22 (2013.01) [H04L 43/0864 (2013.01); H04L 43/16 (2013.01); H04L 45/123 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A method of detecting latency in a communication network, the method comprising, by a processor of a system comprising first data center:
establishing a connection session with an electronic device of a first subscriber;
receiving a plurality of queries from the electronic device of the first subscriber during the connection session;
in response to each query, transmitting one or more messages from the first data center to the electronic device of the first subscriber via a communication network;
for each query:
determining a processing time (req_ti) that the first data center took to respond to the query, and
receiving, from the electronic device of the first subscriber for one or more of the transmitted messages, an acknowledgement of receipt;
for each acknowledgement of receipt, determining a total time (timen) for the query associated with the acknowledgement of receipt representing a time from when the first data center received the associated query to a time at which the first data center received the acknowledgement of receipt;
for each query, determining a latency for the query as a difference between the total time (timen) and the processing time (req_ti) of the query;
determining a latency for the connection session; and
upon detecting that the latency determined for the connection session exceeds a threshold, selecting, from a group of geographically distributed data centers, an alternate data center to transmit future messages to the first subscriber.