IP Library › Granted Patent US 9,923,826
Granted Patent B2
US 9,923,826 · App. 13/648,975 · Granted Mar 20, 2018

Systems and methods for dynamic adaptation of network accelerators

Inventor: Marco Murgia (Los Gatos, CA)
Assignee: Citrix Systems, Inc.
H04L47/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 9,923,826
App. No.
13/648,975
Granted
Mar 20, 2018
Kind
B2
Abstract

Systems and methods of the present solution provide a more optimal solution by dynamically and automatically reacting to changing network workload. A system that starts slowly, either by just examining traffic passively or by doing sub-optimal acceleration can learn over time, how many peer WAN optimizers are being serviced by an appliance, how much traffic is coming from each peer WAN optimizers, and the type of traffic being seen. Knowledge from this learning can serve to provide a better or improved baseline for the configuration of an appliance. In some embodiments, based on resources (e.g., CPU, Memory, Disk), the system from this knowledge may determine how many WAN optimization instances should be used and of what size, and how the load should be distributed across the instances of the WAN optimizer.

Claims (27)

1. A method for managing a plurality of instances of a Wide Area Network (WAN) optimizer executing on an intermediary device, the method comprising:

(a) establishing, by a device intermediary to a plurality of clients and a plurality of servers, a plurality of instances of a Wide Area Network (WAN) optimizer on the device to accelerate via compression WAN communications between the plurality of clients and the plurality of servers, the device establishing a configuration of a size of each of the plurality of instances of the WAN optimizer based on data stored from monitoring of previous execution of the plurality of instances of the WAN optimizer;

(b) monitoring, by the device, network traffic traversing the device for each of the plurality of instances of the WAN optimizer; and

(c) selecting, by a manager executing on the device responsive to the monitoring, a change of a load balancing scheme to load balance the plurality of instances of the WAN optimizer on the device; and

(d) automatically changing, by the manager responsive to the monitoring, at least one of the number of instances of the WAN optimizer executing on the device or a size of resource usage of the device used by one or more of the plurality of instances of the WAN optimizer.

2. The method of claim 1 , wherein step (a) further comprises executing, by the device, each of the plurality of instances of the WAN optimizer as a virtual machine in a virtualized environment.

3. The method of claim 1 , wherein step (b) further comprises monitoring, by the device, compression history allocation, compression fragmentation and compression ratios of each of the plurality of instances of the WAN optimizer.

4. The method of claim 1 , wherein step (b) further comprises monitoring, by the device, one or more of the following of each of the plurality of instances of the WAN optimizer: resource utilization, number of connections, number of claims and bandwidth usage.

5. The method of claim 1 , wherein step (c) further comprises determining, by the device, that a metric computed from monitoring network traffic has exceeded a threshold and responsive to the determination, automatically selecting by the device a second load balancing scheme to load balance the plurality of instances of the WAN optimizer.

6. The method of claim 1 , wherein step (c) further comprises automatically switching, by the device, from the load balancing scheme to the selected load balancing scheme while executing the plurality of instances of the WAN optimizer.

7. The method of claim 1 , further comprising automatically decreasing, by the device responsive to the monitoring, the number of instances of the WAN optimizer executing on the device.

8. The method of claim 1 , further comprising automatically adjusting, by the device responsive to the monitoring, a decrease in the size of resource usage used by one or more of the plurality of instances of the WAN optimizer.

9. The method of claim 1 , further comprises applying, by the device one or more rules to data collected from monitoring, to determine to change one or more of the following: a number of instances of the WAN optimizer, a size of one or more WAN optimizers and the load balancing scheme.

10. A system for managing a plurality of instances of a Wide Area Network (WAN) optimizer executing on an intermediary device, the system comprising:

a device intermediary to a plurality of clients and a plurality of servers;

a plurality of instances of a Wide Area Network (WAN) optimizer executing on the device to accelerate via compression WAN communications between the plurality of clients and the plurality of servers, the device configured to determine a configuration of a size of each of the plurality of instances of the WAN optimizer based on data stored from monitoring of previous execution of the plurality of instances of the WAN optimizer;

a monitor that monitors network traffic traversing the device for each of the plurality of instances of the WAN optimizer; and

a manager executing on the device that, responsive to the monitor, selects a change of a load balancing scheme to load balance the plurality of instances of the WAN optimizer on the device; and

automatically changes at least one of the number of instances of the WAN optimizer executing on the device or a size of resource usage of the device used by one or more of the plurality of instances of the WAN optimizer.

11. The system of claim 10 , wherein each of the plurality of instances of the WAN optimizer execute as a virtual machine in a virtualized environment.

12. The system of claim 10 , wherein the monitor monitors compression history allocation, compression fragmentation and compression ratios of each of the plurality of instances of the WAN optimizer.

13. The system of claim 10 , wherein the monitor monitors one or more of the following of each of the plurality of instances of the WAN optimizer: resource utilization, number of connections, number of claims and bandwidth usage.

14. The system of claim 10 , wherein the manager determines that a metric computed from monitoring network traffic has exceeded a threshold and responsive to the determination, automatically selects a second load balancing scheme to load balance the plurality of instances of the WAN optimizer.

15. The system of claim 10 , wherein the manager automatically switches from a current load balancing scheme to the selected load balancing scheme while executing the plurality of instances of the WAN optimizer.

16. The system of claim 10 , wherein the manager, responsive to the monitor, automatically changes the number of instances of the WAN optimizer being load balanced by the manager.

17. The system of claim 10 , wherein the manager automatically adjusts, responsive to the monitor, a size of resource usage used by one or more of the plurality of instances of the WAN optimizer being load balanced by the manager.

18. The system of claim 10 , wherein the manager applies one or more rules to data collected from monitoring, to determine to change one or more of the following: a number of instances of the WAN optimizer, a size of one or more WAN optimizers and the load balancing scheme.

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 Oct 12, 2012
From: MURGIA, MARCO
To: CITRIX SYSTEMS, INC.
Reel/Frame 029118/0084 →
Continuity (2)
Provisional Application 61547493 · Oct 14, 2011
Related Publication 20140101306A1 · Apr 10, 2014