IP Library Granted Patent US 11,128,700
Granted Patent B2
US 11,128,700 · App. 16/024,182 · Granted Sep 21, 2021

Load balancing configuration based on traffic flow telemetry

Inventors: Supreeth Rao (Cupertino, CA); Navindra Yadav (Cupertino, CA); Umamaheswaran Arumugam (San Jose, CA); Michael Watts (Mill Valley, CA); Shashi Gandham (Fremont, CA); Darshan Shrinath Purandare (Fremont, CA); Duy Nguyen (San Jose, CA); Hai Vu (San Jose, CA); Kai Zhu (San Jose, CA); Aiyesha Ma (San Francisco, CA); Tapan Shrikrishna Patwardhan (Mountain View, CA); Jothi Prakash Prabakaran (Fremont, CA)
Assignee: CISCO TECHNOLOGY, INC.
H04L67/1031H04L41/0677H04L41/082H04L41/0806H04L41/0816H04L41/0893H04L43/08H04L67/1017H04L67/1025H04L67/1029H04L43/10
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 11,128,700
App. No.
16/024,182
Granted
Sep 21, 2021
Kind
B2
Abstract

Aspects of the disclosed technology provide methods for automatically tuning load-balancer configurations in a network environment. In some implementations, a process of the disclosed technology includes steps for collecting flow records of traffic flow segments at a middle box in a network environment, the traffic flow segments corresponding to one or more traffic flows passing through the middle box, analyzing the flow records to identify one or more traffic patterns in the network environment, and automatically updating a load balancer configuration based on the one or more traffic patterns, wherein updating the load balancer configuration improves at least one traffic flow parameter for at least one of the traffic flows passing through the middle box. Systems and machine-readable media are also provided.

Claims (47)

1. A computer-implemented method comprising:

aggregating flow records for a plurality of traffic flow segments at a middle box in a network environment, each of the traffic flow segments corresponding to one or more existing traffic flows passing through the middle box, and each of the one or more existing traffic flows corresponding to a respective data path between source nodes and destination nodes in the network environment;

modifying the flow records for the plurality of traffic flow segments by associating unique transaction identifiers with each of the plurality of traffic flow segments;

generating an application dependency map for the network environment based on the unique transaction identifiers and the plurality of traffic flow segments;

analyzing the flow records based on the application dependency map to identify one or more traffic patterns in the network environment between one of the source nodes and a particular destination node of the destination nodes; and

automatically updating a load-balancer configuration based on the one or more traffic patterns, wherein updating the load-balancer configuration improves at least one traffic flow parameter for at least one of the traffic flows passing through the middle box, wherein updating the load-balancer configuration changes a routing of a portion of the one or more existing traffic flows, and wherein the portion of the one or more existing traffic flows corresponds to data paths in the network environment that include the particular destination node.

2. The computer-implemented method of claim 1 , wherein analyzing the flow records to identify one or more network flow patterns in the network environment further comprises:

automatically identifying a pattern of fail over events.

3. The computer-implemented method of claim 1 , wherein analyzing the flow records to identify one or more network flow patterns in the network environment further comprises:

automatically identifying one or more persistent connection problems in the network environment.

4. The computer-implemented method of claim 1 , wherein analyzing the flow records to identify one or more network flow patterns in the network environment further comprises:

automatically identifying a pattern of connection drops in the network environment.

5. The computer-implemented method of claim 1 , wherein automatically updating the load-balancer configuration further comprises modifying a round-robin load balancing policy.

6. The computer-implemented method of claim 1 , wherein automatically updating the load-balancer configuration further comprises modifying a persistence policy.

7. The computer-implemented method of claim 1 , wherein automatically updating the load-balancer configuration further comprises removing one or more servers from a load-balancing rotation.

8. A system configured to automatically manage load balancing in a network environment, the system comprising:

one or more processors;

a network interface coupled to the one or more processors; and

at least one computer-readable storage medium coupled to the one or more processors, the computer-readable storage medium having instructions which, when executed by the one or more processors, cause the one or more processors to perform operations comprising:

collecting flow records for a plurality of traffic flow segments at a middle box in a network environment, the traffic flow segments corresponding to one or more existing traffic flows passing through the middle box, and each of the one or more existing traffic flows corresponding to a respective data path between source nodes and destination nodes in the network environment;

modifying the flow records for the plurality of traffic flow segments by associating unique transaction identifiers with each of the plurality of traffic flow segments;

generating an application dependency map for the network environment based on the unique transaction identifiers and the plurality of traffic flow segments;

analyzing the flow records based on the application dependency map to identify one or more traffic patterns in the network environment between one of the source nodes and a particular destination node of the destination nodes; and

automatically updating a load-balancer configuration based on the one or more traffic patterns, wherein updating the load-balancer configuration improves at least one traffic flow parameter for at least one of the traffic flows passing through the middle box, wherein updating the load-balancer configuration changes a routing of a portion of the one or more existing traffic flows, and wherein the portion of the one or more existing traffic flows corresponds to data paths in the network environment that include the particular destination node.

9. The system of claim 8 , wherein analyzing the flow records to identify one or more network flow patterns in the network environment further comprises:

automatically identifying a pattern of fail over events.

10. The system of claim 8 , wherein analyzing the flow records to identify one or more network flow patterns in the network environment further comprises:

automatically identifying one or more persistent connection problems in the network environment.

11. The system of claim 8 , wherein analyzing the flow records to identify one or more network flow patterns in the network environment further comprises:

automatically identifying a pattern of connection drops in the network environment.

12. The system of claim 8 , wherein automatically updating the load-balancer configuration further comprises modifying a round-robin load balancing policy.

13. The system of claim 8 , wherein automatically updating the load-balancer configuration further comprises modifying a persistence policy.

14. The system of claim 8 , wherein automatically updating the load-balancer configuration further comprises removing one or more servers from a load-balancing rotation.

15. A non-transitory computer-readable storage medium storing instructions which, when executed by a processor, cause the processor to perform operations comprising:

collecting flow records for a plurality of traffic flow segments at a middle box in a network environment, the traffic flow segments corresponding to one or more existing traffic flows passing through the middle box, and each of the one or more existing traffic flows corresponding to a respective data path between source nodes and destination nodes in the network environment;

modifying the flow records for the plurality of traffic flow segments by associating unique transaction identifiers with each of the plurality of traffic flow segments;

generating an application dependency map for the network environment based on the unique transaction identifiers and the plurality of traffic flow segments;

analyzing the flow records based on the application dependency map to identify one or more traffic patterns in the network environment between one of the source nodes and a particular destination node of the destination nodes; and

automatically updating a load-balancer configuration based on the one or more traffic patterns, wherein updating the load-balancer configuration improves at least one traffic flow parameter for at least one of the traffic flows passing through the middle box, wherein updating the load-balancer configuration changes a routing of a portion of the one or more existing traffic flows, and wherein the portion of the one or more existing traffic flows corresponds to data paths in the network environment that include the particular destination node.

16. The non-transitory computer-readable storage medium of claim 15 , wherein analyzing the flow records to identify one or more network flow patterns in the network environment further comprises:

automatically identifying a pattern of fail over events.

17. The non-transitory computer-readable storage medium of claim 15 , wherein analyzing the flow records to identify one or more network flow patterns in the network environment further comprises:

automatically identifying one or more persistent connection problems in the network environment.

18. The non-transitory computer-readable storage medium of claim 15 , wherein analyzing the flow records to identify one or more network flow patterns in the network environment further comprises:

automatically identifying a pattern of connection drops in the network environment.

19. The non-transitory computer-readable storage medium of claim 15 , wherein automatically updating the load-balancer configuration further comprises modifying a round-robin load balancing policy.

20. The non-transitory computer-readable storage medium of claim 15 , wherein automatically updating the load-balancer configuration further comprises modifying a persistence policy.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 29, 2018
From: RAO, SUPREETH; YADAV, NAVINDRA; ARUMUGAM, UMAMAHESWARAN; WATTS, MICHAEL; GANDHAM, SHASHI; PURANDARE, DARSHAN SHRINATH; NGUYEN, DUY; VU, HAI; ZHU, KAI; MA, AIYESHA; PATWARDHAN, TAPAN SHRIKRISHNA; PRABAKARAN, JOTHI PRAKASH
To: CISCO TECHNOLOGY, INC.
Reel/Frame 046243/0338 →
Continuity (2)
Provisional Application 62622531 · Jan 26, 2018
Related Publication 20190238633A1 · Aug 1, 2019
Cited By (3)
US 12,375,410 US 12,568,049 US 12,657,155