IP Library Granted Patent US 10,757,161
Granted Patent B2
US 10,757,161 · App. 15/401,413 · Granted Aug 25, 2020

Learning technique for QoS based classification and prioritization of SAAS applications

Inventors: Marco Murgia (Los Gatos, CA); Praveen Raja Dhanabalan (Bangalore, IN); Anup Lal Gupta (Bangalore, IN)
Assignee: Citrix Systems, Inc.
H04L65/80H04L47/2433H04L47/2441H04L47/2458H04L47/2483H04L47/2491H04L65/4069
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,757,161
App. No.
15/401,413
Filed
Jan 9, 2017
Granted
Aug 25, 2020
Kind
B2
Art Unit
2458
USPC
709/231
Abstract

The systems and methods of the present disclosure are directed towards a dynamic system that is configured to identify and map networked traffic, such as that of video, voice, file transfer, and web based applications to predetermined Quality of Service (QoS) classes. The different QoS classes can be associated with different traffic priorities. The networked traffic can be encrypted, which can prevent an intermediate device from processing or otherwise reading the packet headers of the traffic. The systems and methods of the present disclosure can predict QoS classes for encrypted traffic based on traffic patterns and other characteristics of the encrypted traffic.

Claims (47)

1. A method for prioritizing data streams, comprising:

identifying, by a classifier of a first intermediary device deployed between a first node and a second node, a first data stream communicated between the first node and the second node, wherein the first data stream comprises encrypted packet headers obfuscated from the classifier;

setting, by the classifier, a first priority level of the first data stream based on an initial Quality of Service (QoS) class;

identifying, by the classifier, a traffic pattern of the first data stream;

comparing, by the classifier, a traffic characteristic of the first data stream to one or more traffic characteristics of one or more unencrypted packets from one or more unencrypted data streams;

classifying, by the classifier responsive to the comparison, the first data stream into an updated QoS class different than the initial QoS class based on the traffic pattern and the traffic characteristic; and

setting a second priority level to the first data stream based on the updated QoS class.

2. The method of claim 1 , further comprising measuring characteristics of the first data stream, the characteristics comprising at least one of latency, jitter deviation, throughput, packet size, packet header information, or data loss.

3. The method of claim 2 , further comprising classifying the first data stream based on the measured characteristics.

4. The method of claim 1 , wherein the traffic pattern is one of a high bandwidth traffic pattern, a latency-sensitive traffic pattern, or a response-based traffic pattern.

5. The method of claim 1 , wherein classifying the first data stream comprises:

grouping a plurality of encrypted traffic patterns received by the classifier according to assigned QoS classes;

calculating, for each of the QoS classes, an average traffic characteristic;

matching the traffic characteristic of the first data stream to one of the average traffic characteristics; and

setting the updated QoS class to the QoS class having the average traffic characteristic that matches the traffic characteristic of the first data stream.

6. The method of claim 1 , further comprising:

measuring a first traffic characteristic of the first data stream with the first priority level set; and

measuring a second traffic characteristic of the first data stream with the second priority level set.

7. The method of claim 6 , further comprising:

determining the first traffic characteristic is greater than the second traffic characteristic; and

updating a grouping of QoS classes.

8. The method of claim 7 , further comprising assigning a third priority level to the first data stream responsive to the updated model of the classifier.

9. The method of claim 1 , further comprising predicting an application generating the first data stream.

10. A system for prioritizing data streams comprising:

a first intermediary device deployed between a first node and a second node, the first intermediary device comprising at least one processor circuit executing a classifier configured to:

identify a first data stream communicated between the first node and the second node, wherein the first data stream comprises encrypted packet headers obfuscated from the classifier;

set a first priority level of the first data stream based on an initial Quality of Service (QoS) class;

identify a traffic pattern of the first data stream;

compare a traffic characteristic of the first data stream to one or more traffic characteristics of one or more unencrypted packets from one or more unencrypted data streams;

classify, responsive to the comparison, the first data stream into an updated QoS class different than the initial QoS class based the traffic pattern and the traffic characteristic; and

set a second priority level to the first data stream based on the updated QoS class.

11. The system of claim 10 , wherein the classifier is further configured to measure characteristics of the first data stream, the characteristics comprising at least one of latency, jitter deviation, throughput, packet size, packet header information, or data loss of the first data stream.

12. The system of claim 11 , wherein the classifier is further configured to classify the first data stream based on measured characteristics.

13. The system of claim 10 , wherein the traffic pattern is one a high bandwidth traffic pattern, a latency-sensitive traffic pattern, or a response-based traffic pattern.

14. The system of claim 10 , wherein the classifier is further configured to:

group a plurality encrypted traffic patterns received by the classifier according to assigned QoS classes;

calculate, for each of the QoS classes, an average traffic characteristic;

match the traffic characteristic of the first data stream to one of the average traffic characteristics; and

set the updated QoS class to the QoS class having the average traffic characteristic that matches the traffic characteristic of the first data stream.

15. The system of claim 10 , wherein the classifier is further configured to:

measure a first traffic characteristic of the first data stream with the first priority level set; and

measure a second traffic characteristic of the first data stream with the second priority level set.

16. The system of claim 15 , wherein the classifier is further configured to:

determining the first traffic characteristic is greater than the second traffic characteristic; and

updating a grouping of the QoS classes.

17. The system of claim 16 , wherein the classifier is further configured to assign a third priority level to the first data stream responsive to the updated model of the classifier.

18. The system of claim 10 , wherein the classifier is further configured to predict an application generating the first data stream.

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 Jan 9, 2017
From: MURGIA, MARCO; DHANABALAN, PRAVEEN RAJA; GUPTA, ANUP LAL
To: CITRIX SYSTEMS, INC.
Reel/Frame 040902/0860 →
Continuity (1)
Related Publication 20180198838A1 · Jul 12, 2018
Cited By (1)
US 12,375,410