11184266

Method and System for Detecting Latency in a Wide Area Network

PublishedNovember 23, 2021
Assigneenot available in USPTO data we have
Technical Abstract

Patent Claims
14 claims

Legal claims defining the scope of protection, as filed with the USPTO.

1

1. A method of detecting latency in a communication network, the method comprising: by a first data center of a system comprising a processor and a plurality of geographically distributed data centers: receiving a plurality of messages that are to be published via a communication network; replicating the plurality of messages to at least some the geographically distributed data centers; receiving a plurality of queries from an electronic device of a subscriber; for each query, processing the query by transmitting the one or more messages that are responsive to the query from the first data center to the subscriber via the communication network; for each query, determining a processing time (req_t i ) that the system took to respond to the query; receiving, from the electronic device of the subscriber for one or more of the transmitted messages, an acknowledgement of receipt; for each acknowledgement of receipt, determining a total time (time n ) representing a time from when the system received an associated query from a subscriber to a time at which the data center received the acknowledgement; and using the determined processing times and the determined total times to assess latency of the communication network for a time during which the system processed the queries and received the acknowledgements, upon detecting that the latency exceeds a threshold, selecting an alternate route for transmission of future messages to the subscriber by selecting, from the geographically distributed data centers, an alternate data center to transmit the future messages to the subscriber, wherein selecting the alternate data center comprises: determining which of the plurality of geographically distributed data centers is most proximate to the subscriber; and if the determined data center is not the first data center, then selecting the determined data center as the alternate data center, otherwise selecting a next most proximate data center to the subscriber as the alternate data center.

2

2. The method of claim 1 further comprising: prior to receiving the queries from the electronic device of the subscriber, establishing a TCP connection between the system and the electronic device of the subscriber; when transmitting the one or more messages that are responsive to the query to the subscriber, doing so via the TCP connection; and after assessing the latency, upon detecting that the latency exceeds a threshold, closing the TCP connection and establishing a new TCP connection between the system and the electronic device of the subscriber.

3

3. The method of claim 1 further comprising, by the system for any of the queries before transmitting the one or more messages that are responsive to the query to the subscriber: validating a subscriber credential received from the subscriber; and using the subscriber credential to determine whether the data center holds any messages that are responsive to the query.

4

4. The method of claim 1 further comprising, by the system: receiving a plurality of additional queries from electronic devices of additional subscribers; processing each additional query by transmitting one or more additional messages that are responsive to each additional query to the additional subscriber that submitted the additional query; for each additional query, determining a processing time (req_t i ) that the system took to respond to the additional query; receiving, from the electronic devices of each additional subscriber for one or more of the additional messages, an additional acknowledgement of receipt; for each additional acknowledgement of receipt, determining an additional total time (time n ) representing a time from when the system received an associated query from the additional subscriber to a time at which the data center received the acknowledgement; and also using the determined additional processing times and the determined additional total times when assessing the latency of the communication network.

5

5. The method of claim 4 , further comprising: categorizing the subscriber and the additional subscribers into multiple groups by geographic location; identifying the group of the multiple groups that is experiencing relatively higher latency than the other groups; and determining a geographic location of the identified group as a location of an indicated event.

6

6. The method of claim 4 , further comprising: categorizing the subscriber and the additional subscribers into multiple groups by data centers based on connection sessions; identifying the group of the multiple groups that is experiencing relatively higher latency than the other groups; and determining that the data center associated with the identified group is a source of latency.

7

7. The method of claim 1 further comprising: before assessing the latency, identifying any of the messages that experienced packet loss; and removing processing times and total times for the messages that experienced packet loss from consideration when assessing the latency.

8

8. A communication system, comprising: a processor; and a computer readable storage medium containing programming instructions that are configured to cause the processor to: receive a plurality of messages that are to be published via a communication network; receive a plurality of queries from an electronic device of a subscriber, replicate the plurality of messages to a plurality of geographically distributed data centers; for each query, process the query by transmitting the one or more messages that are responsive to the query from a first data center to the subscriber via the communication network, for each query, determine a processing time (req_t i ) that the system took to respond to the query, receive, from the electronic device of the subscriber for one or more of the transmitted messages, an acknowledgement of receipt, for each acknowledgement of receipt, determine a total time (time n ) representing a time from when the subscriber received an associated query to a time at which the data center received the acknowledgement, and use the determined processing times and the determined total times to assess latency of the communication network for a time during which the system processed the queries and received the acknowledgements, upon detecting that the latency exceeds a threshold, select an alternate route for transmission of future messages to the subscriber by selecting, from the geographically distributed data centers, an alternate data center to transmit the future messages to the subscriber, wherein the instructions to select the alternate data center comprise instructions to: determine which of the plurality of geographically distributed data centers is most proximate to the subscriber; and if the determined data center is not the first data center, then select the determined data center as the alternate data center, otherwise selecting a next most proximate data center to the subscriber as the alternate data center.

9

9. The system of claim 8 further comprising additional programming instructions that are configured to instruct the processor to: prior to receiving the queries from the electronic device of the subscriber, establish a TCP connection between the system and the electronic device of the subscriber; when transmitting the one or more messages that are responsive to the query to the subscriber, do so via the TCP connection; and after assessing the latency, upon detecting that the latency exceeds a threshold, close the TCP connection and establish a new TCP connection between the system and the electronic device of the subscriber.

10

10. The system of claim 8 further comprising additional programming instructions that are configured to instruct the processor to, for any of the queries before transmitting the one or more messages that are responsive to the query to the subscriber: validate a subscriber credential received from the subscriber; and use the subscriber credential to determine whether the data center holds any messages that are responsive to the query.

11

11. The system of claim 8 further comprising additional programming instructions that are configured to instruct the processor to: receive a plurality of additional queries from electronic devices of additional subscribers; process each additional query by transmitting one or more additional messages that are responsive to each additional query to the additional subscriber that submitted the additional query; for each additional query, determine a processing time (req_t i ) that the system took to respond to the additional query; receive, from the electronic devices of each additional subscriber for one or more of the additional messages, an additional acknowledgement of receipt; for each additional acknowledgement of receipt, determine an additional total time (time n ) representing a time from when the system received an associated query from the additional subscriber to a time at which the data center received the acknowledgement; and also use the determined additional processing times and the determined additional total times when assessing the latency of the communication network.

12

12. The system of claim 11 , further comprising additional programming instructions that are configured to instruct the processor to: categorize the subscriber and the additional subscribers into multiple groups by geographic location; identify the group of the multiple groups that is experiencing relatively higher latency than the other groups; and determine a geographic location of the identified group as a location of an indicated event.

13

13. The system of claim 11 , further comprising additional programming instructions that are configured to instruct the processor to: categorize the subscriber and the additional subscribers into multiple groups by data centers based on connection sessions; identify the group of the multiple groups that is experiencing relatively higher latency than the other groups; and determine that the data center associated with the identified group is a source of latency.

14

14. The system of claim 8 further comprising additional programming instructions that are configured to instruct the processor to: before assessing the latency, identify any of the messages that experienced packet loss; and remove processing times and total times for the messages that experienced packet loss from consideration when assessing the latency.

Patent Metadata

Filing Date

Unknown

Publication Date

November 23, 2021

Inventors

Stephen L. Blum

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “METHOD AND SYSTEM FOR DETECTING LATENCY IN A WIDE AREA NETWORK” (11184266). https://patentable.app/patents/11184266

© 2026 Patentable. All rights reserved.

Patentable is a research and drafting-assistant tool, not a law firm, and does not provide legal advice. Documents we generate are drafts for review by a licensed patent attorney.