IP Library › Granted Patent US 10,212,043
Granted Patent B1
US 10,212,043 · App. 15/660,147 · Granted Feb 19, 2019

Proactive link load balancing to maintain quality of link

Inventors: Anup Lal Gupta (Bangalore, IN); Praveen Raja Dhanabalan (Bangalore, IN)
Assignee: Citrix Systems, Inc.
H04L41/147H04L43/087H04L43/0811H04L43/0829H04L43/0882H04L47/125
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,212,043
App. No.
15/660,147
Granted
Feb 19, 2019
Kind
B1
Abstract

Disclosed embodiments describe systems and methods for predicting health of a link. A device in communication with a link can identify profile information of a stream of network traffic traversing the link. The device can determine a first prediction of health of the link by applying one or more rules to the plurality of parameters of the profile information. The device can determine a second prediction of health of the link by applying a classifier to one or more timed sequences of the plurality of parameters of the profile information. The device can establishes a respective weight for each of the first prediction of health and the second prediction of heath. The device can select, using the respective weight, between the first prediction of health and the second prediction of health to provide a predictor of the health of the link.

Claims (30)

1. A method for predicting health of a link, the method comprising:

(a) identifying, by a device in communication with a link, profile information of a stream of network traffic traversing the link, the profile information comprising a plurality of parameters about the link;

(b) determining, by the device, a first prediction of health of the link by applying one or more rules to the plurality of parameters of the profile information;

(c) determining, by the device, a second prediction of health of the link by applying a classifier to one or more timed sequences of the plurality of parameters of the profile information;

(d) establishing, by the device, a respective weight for each of the first prediction of health and the second prediction of health;

(e) selecting, by the device using the respective weight, between the first prediction of health and the second prediction of health to provide a predictor of the health of the link.

2. The method of claim 1 , wherein (a) further comprises collecting, by the device, for the profile information the plurality of parameters comprising two or more of the following: latency, utilization, loss of packets, jitter, queue size, number of connections, and type of connection.

3. The method of claim 1 , wherein (b) further comprises applying, by the device, the one or more rules as a function of the plurality of parameters comprising loss of packets, latency and jitter.

4. The method of claim 3 , wherein the function is a sum of multiplying each of the plurality of parameters by a respective constant.

5. The method of claim 1 , wherein (c) further comprises creating, by the device, the one or more timed sequences of the plurality of parameters responsive to the health of the link one of climbing above or falling below a predetermined threshold.

6. The method of claim 1 , wherein (e) further comprises applying a function to a first weight of the first prediction of health and a second weight of the second prediction of health to select between the first prediction of health and the second prediction of health.

7. The method of claim 1 , further comprising taking, by the device, an action associated with the link responsive to the predictor of the health of the link.

8. The method of claim 7 , further comprising identifying, by the device via the selected predictor of the health of the link, that the link has high latency based on a predetermined latency threshold, and moving one or more connections with packet occupancy greater than a predetermined occupancy threshold in a queue to one or more other links.

9. The method of claim 7 , further comprising identifying, by the device via the selected predictor of the health of the link, that the link has high jitter based on a predetermined jitter threshold, and moving one or more connections with a difference in inter-arrival time into the device and inter-departure time of a queue of the device is above a predetermined threshold.

10. The method of claim 7 , further comprising identifying, by the device via the selected predictor of the health of the link, that the link has high loss based on a predetermined loss threshold and transmitting by the device a predetermined portion of bandwidth via the link.

11. A system for predicting health of a link, the system comprising:

a device comprising a processor coupled to memory, and in communication with a link, the device configured to identify profile information of a stream of network traffic traversing the link, the profile information comprising a plurality of parameters about the link;

a rule engine configured to determine a first prediction of health of the link by applying one or more rules to the plurality of parameters of the profile information;

a classifier configured to determine a second prediction of health of the link by applying a classifier to one or more timed sequences of the plurality of parameters of the profile information;

a weight adjuster configured to establish a respective weight for each of the first prediction of health and the second prediction of health;

a prediction selector configure to select, using the respective weight, between the first prediction of health and the second prediction of health to provide a predictor of the health of the link.

12. The system of claim 11 , wherein the device is further configured to collect for the profile information the plurality of parameters comprising two or more of the following: latency, utilization, loss of packets, jitter, queue size, number of connections, and type of connection.

13. The system of claim 11 , wherein the rule engine is further configured to apply the one or more rules as a function of the plurality of parameters comprising loss of packets, latency and jitter.

14. The system of claim 13 , wherein the function is a sum of multiplying each of the plurality of parameters by a respective constant.

15. The system of claim 11 , wherein the device is further configured to create the one or more timed sequences of the plurality of parameters responsive to the health of the link one of climbing above or falling below a predetermined threshold.

16. The system of claim 11 , wherein the predictor selector is configured to apply a function to a first weight of the first prediction of health and a second weight of the second prediction of health to select between the first prediction of health and the second prediction of health.

17. The system of claim 11 , wherein the device is further configured to take an action associated with the link responsive to the predictor of the health of the link.

18. The system of claim 17 , wherein the device is further configured to identify via the selected predictor of the health of the link, that the link has high latency based on a predetermined latency threshold, and move one or more connections with packet occupancy greater than a predetermined occupancy threshold in a queue to one or more other links.

19. The system of claim 17 , wherein the device is further configured to identify via the selected predictor of the health of the link, that the link has high jitter based on a predetermined jitter threshold, and move one or more connections with a difference in inter-arrival time into the device and inter-departure time of a queue of the device is above a predetermined threshold.

20. The system of claim 17 , wherein the device is further configured to identify via the selected predictor of the health of the link, that the link has high loss based on a predetermined loss threshold and transmit by the device a predetermined portion of bandwidth via the link.

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 →
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 →
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 Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 062112/0262 →
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 →
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 →
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 Jul 26, 2017
From: GUPTA, ANUL LAL; DHANABALAN, PRAVEEN RAJA
To: CITRIX SYSTEMS, INC.
Reel/Frame 043343/0521 →