IP Library Granted Patent US 10,972,358
Granted Patent B2
US 10,972,358 · App. 15/938,753 · Granted Apr 6, 2021

Inferring congestion and signal quality

Inventors: Georgios Papaloukopoulos (Patras, GR); Georgios Tsolis (Patras, GR); Athanasios Kordelas (Patras, GR); Aikaterini Kalou (Patras, GR); Nicholas Stavrakos (Los Altos, CA)
Assignee: Citrix Systems, Inc.
H04L41/142H04L41/145H04L43/08H04L43/18H04L45/00H04L47/11H04L47/283H04L43/04H04L43/0852H04L43/0888H04W84/042
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,972,358
App. No.
15/938,753
Granted
Apr 6, 2021
Kind
B2
Abstract

Described embodiments provide systems and methods for inferring a network type and network conditions. The system includes a packet capturing engine configured to capture a plurality of network packets from a plurality of TCP network connections. The system includes a packet analyzer configured to analyze the plurality of network packets to generate a plurality of metrics. The system includes a network classifier configured to infer network types of the plurality of TCP connections based on the plurality of metrics and at least one classification model. The system also includes a conditions ranking engine configured to estimate a level of network congestion for each TCP connection based on the plurality of metrics and the network types.

Claims (32)

1. A method for determining network congestion and signal quality for a transport layer connection, the method comprising:

(a) establishing, by a network classifier executing on one or more processors, a classification model for a plurality of types of networks based on one or more metrics of network traffic traversing one or more devices for a plurality of transport layer connections providing communications with a plurality of types of networks, the classification model trained using a training dataset which includes a plurality of labels indicative of the plurality of network types corresponding to the one or more metrics of network traffic;

(b) receiving, by the network classifier, metrics of a plurality of packets for a transport layer connection;

(c) classifying, by the network classifier, a type of network for the transport layer connection based at least on the metrics and the plurality of labels included in the training dataset used to train the classification model;

(d) determining, by the one or more processors, a level of congestion and a signal quality for the transport layer connection based on the metrics and the classification of the type of network, wherein determining the level of congestion and the signal quality for the transport layer comprises:

determining a delay in a relative average load and a relative average noise with respect to a delay in an average connection of the transport layer connection, or

determining a throughput for the transport layer connection based at least on a number of bytes transferred via the transport layer connection without network congestion and noise; and

(e) providing, by the one or more processors, for display via a user interface, the level of congestion and the signal quality for the transport layer connection.

2. The method of claim 1 , wherein the plurality of types of networks comprises one of a type of a mobile network or a type of a fixed network.

3. The method of claim 2 , wherein the type of the mobile network comprises one of a 2G, 3G, 4G or 5G network.

4. The method of claim 1 , wherein (d) further comprises determining from the metrics a load and a noise delay per packet of the plurality of packets.

5. The method of claim 4 , further comprising determining an average load delay and an average noise delay for the transport layer connection.

6. The method of claim 1 , wherein (d) further comprises determining a degradation percentage for the transport layer connection based on a function of the throughput and an average throughput of the transport layer connection.

7. The method of claim 1 , wherein (d) further comprises determining the level of congestion for the transport layer connection based on a function of the throughput and a number of bytes load delay.

8. The method of claim 1 , wherein (d) further comprises determining the signal quality for the transport layer connection based on a function of the throughput and a noise delay.

9. A system for identifying network congestion and signal quality for a transport layer connection, the system comprising:

a network classifier executable on one or more processors, coupled to memory and configured to:

establish a classification model for a plurality of types of networks based on one or more metrics of network traffic traversing one or more devices for a plurality of transport layer connections providing communications with a plurality of types of networks, the classification model trained using a training dataset which includes a plurality of labels indicative of the plurality of network types corresponding to the one or more metrics of network traffic;

receive metrics of a plurality of packets for a transport layer connection; and

classify a type of network for the transport layer connection based at least on the metrics and the plurality of labels included in the training dataset used to train the classification model;

wherein the one or more processors are configured to:

determine a level of congestion and a signal quality for the transport layer connection based on the metrics and the classification of the type of network, wherein to determine the level of congestion and the signal quality for the transport layer, the one or more processors are configured to:

determine a delay in a relative average load and a relative average noise with respect to a delay in an average connection of the transport layer connection, or

determine a throughput for the transport layer connection based at least on a number of bytes transferred via the transport layer connection without network congestion and noise; and

provide, for display via a user interface, the level of congestion and the signal quality for the transport layer connection.

10. The system of claim 9 , wherein the plurality of types of networks comprises one of a type of a mobile network or a type of a fixed network.

11. The system of claim 10 , wherein the type of the mobile network comprises one of a 2G, 3G, 4G or 5G network.

12. The system of claim 9 , wherein the one or more processors are further configured to determine from the metrics a load and a noise delay per packet of the plurality of packets.

13. The system of claim 12 , wherein the one or more processors are further configured to determine an average load delay and an average noise delay for the transport layer connection.

14. The system of claim 11 , wherein the one or more processors are further configured to determine a degradation percentage for the transport layer connection based on a function of the throughput and an average throughput of the transport layer connection.

15. The system of claim 11 , wherein the one or more processors are further configured to determine the level of congestion for the transport layer connection based on a function of the throughput and a load delay.

16. The system of claim 11 , wherein the one or more processors are further configured to determine the signal quality for the transport layer connection based on a function of the throughput and a noise delay.

Assignments (9)
PATENT SECURITY AGREEMENT Recorded Aug 15, 2025
From: CLOUD SOFTWARE GROUP, INC.; CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 072488/0172 →
SECURITY INTEREST Recorded May 24, 2024
From: CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.); CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 067662/0568 →
RELEASE AND REASSIGNMENT OF SECURITY INTEREST IN PATENT (REEL/FRAME 062113/0001) Recorded Apr 14, 2023
From: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
To: CITRIX SYSTEMS, INC.; CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.)
Reel/Frame 063339/0525 →
PATENT SECURITY AGREEMENT Recorded Apr 14, 2023
From: CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.); CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 063340/0164 →
PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 062112/0262 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 062113/0001 →
PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 062113/0470 →
SECURITY INTEREST Recorded Sep 30, 2022
From: CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION
Reel/Frame 062079/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 18, 2018
From: PAPALOUKOPOULOS, GEORGIOS; TSOLIS, GEORGIOS; KORDELAS, ATHANASIOS; KALOU, AIKATERINI; STAVRAKOS, NICHOLAS
To: CITRIX SYSTEMS, INC.
Reel/Frame 045569/0917 →
Continuity (2)
Provisional Application 62552207 · Aug 30, 2017
Related Publication 20190068512A1 · Feb 28, 2019
Cited By (2)
US 12,261,770 US 12,388,713