IP Library › Granted Patent US 10,999,251
Granted Patent B2
US 10,999,251 · App. 16/145,682 · Granted May 4, 2021

Intent-based policy generation for virtual networks

Inventors: Prasad Miriyala (San Jose, CA); Sundaresan Rajangam (Santa Clara, CA); Miraj Subhashbhai Kheni (San Jose, CA); Suresh B Akula (Dublin, CA)
Assignee: Juniper Networks, Inc.
H04L63/0263H04L41/0806H04L41/0893H04L41/142H04L47/2475H04L63/20H04L45/586
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,999,251
App. No.
16/145,682
Granted
May 4, 2021
Kind
B2
Abstract

Techniques are disclosed for generating intent-based policies and applying the policies to traffic of a computer network. In one example, a policy controller for the computer network receives traffic statistics for traffic flows among a plurality of application workloads executed by a first set of computing devices. The policy controller correlates the traffic statistics into session records for the plurality of application workloads. The policy controller generates, based on the session records for the application workloads, application firewall policies for the application workloads. Each of the application firewall policies define whether traffic flows between application workloads are to be allowed or denied. The policy controller distributes the application firewall policies to a second set of one or more computing devices for application to traffic flows between instances of the application workloads.

Claims (60)

1. A method comprising:

receiving, by a policy controller for a computer network, traffic statistics for a plurality of traffic flows among first instances of a plurality of application workloads, the first instances of the plurality of application workloads executed by a first set of one or more computing devices of a computer network;

correlating, by the policy controller and based on one or more tags specified by the traffic statistics for the plurality of traffic flows, the traffic statistics for the plurality of traffic flows into session records of traffic statistics for the plurality of application workloads;

generating, by the policy controller and based on the session records of traffic statistics for the plurality of application workloads, one or more application firewall policies for the plurality of application workloads, wherein the one or more application firewall policies define whether traffic flows between application workloads of the plurality of application workloads are to be allowed or denied; and

distributing, by the policy controller, the one or more application firewall policies to a second set of one or more computing devices for application to traffic flows among second instances of the plurality of application workloads, the second instances of the plurality of application workloads executed by the second set of one or more computing devices, wherein the second set of one or more computing devices is different from the first set of one or more computing devices.

2. The method of claim 1 ,

wherein receiving the traffic statistics for the plurality of traffic flows among the first instances of the plurality of application workloads comprises receiving, from a first set of virtual router agents for the first set of one or more computing devices, the traffic statistics for the plurality of traffic flows among the first instances of the plurality of application workloads, and

wherein distributing the one or more application firewall policies to the second set of one or more computing devices for application to traffic flows among the second instances of the plurality of application workloads comprises distributing the one or more application firewall policies to a second set of virtual router agents for the second set of one or more computing devices for application to the traffic flows among the second instances of the plurality of application workloads.

3. The method of claim 2 , further comprising applying, by the second set of virtual router agents, the one or more application firewall policies to the traffic flows among the second instances of the plurality of application workloads to at least one of allow or deny at least one traffic flow.

4. The method of claim 1 , further comprising presenting, by the policy controller, the one or more application firewall policies for display to a user.

5. The method of claim 1 , wherein correlating, based on the one or more tags specified by the traffic statistics for the plurality of traffic flows, the traffic statistics for the plurality of traffic flows into session records of traffic statistics for the plurality of application workloads comprises:

receiving, by the policy controller and from a user, an input that specifies which traffic flows of the plurality of traffic flows correspond to application workloads of the plurality of application workloads; and

correlating, by the policy controller and based on the input and the one or more tags specified by the traffic statistics for the plurality of traffic flows, the traffic statistics for the plurality of traffic flows into session records of traffic statistics for the plurality of application workload.

6. The method of claim 1 , wherein correlating, based on the one or more tags specified by the traffic statistics for the plurality of traffic flows, the traffic statistics for the plurality of traffic flows into session records of traffic statistics for the plurality of application workloads comprises:

applying, by the policy controller, a clustering algorithm to identify which traffic flows of the plurality of traffic flows correspond to application workloads of the plurality of application workloads; and

correlating, by the policy controller and based on the clustering algorithm and the one or more tags specified by the traffic statistics for the plurality of traffic flows, the traffic statistics for the plurality of traffic flows into session records of traffic statistics for the plurality of application workloads.

7. The method of claim 1 , wherein generating, based on the session records of traffic statistics for the plurality of application workloads, the one or more application firewall policies for the plurality of application workloads comprises:

for each application workload of the plurality of application workloads:

identifying one or more traffic flows of the plurality of traffic flows associated with an instance of the application workload;

generating one or more application firewall policy rules for the application workload, wherein each application firewall policy rule of the one or more application firewall policy rules comprises a 5-tuple that is the same as a 5-tuple of a corresponding traffic flow of the one or more traffic flows associated with the instance of the application workload and a rule specifying an action to perform on the corresponding traffic flow; and

generating an application firewall policy for the application workload that comprises the one or more application firewall policy rules for the application workload.

8. The method of claim 7 , wherein the action to perform on the corresponding traffic flow is one or more of:

one of allowing the corresponding traffic flow or denying the corresponding traffic flow;

logging the corresponding traffic flow; and

reporting the corresponding traffic flow.

9. The method of claim 1 , wherein the session records of traffic statistics for each traffic flow of the plurality of traffic flows comprise one or more of:

one or more tags for a source of the traffic flow; and

one or more tags for a destination of the traffic flow.

10. A policy controller of a computer network, wherein the policy controller comprises processing circuitry, and wherein the policy controller is configured to:

receive traffic statistics for a plurality of traffic flows among first instances of a plurality of application workloads, the first instances of the plurality of application workloads executed by a first set of one or more computing devices of the computer network;

correlate, based on one or more tags specified by the traffic statistics for the plurality of traffic flows, the traffic statistics for the plurality of traffic flows into session records of traffic statistics for the plurality of application workloads;

generate, based on the session records of traffic statistics for the plurality of application workloads, one or more application firewall policies for the plurality of application workloads,

wherein the one or more application firewall policies define whether traffic flows between application workloads of the plurality of application workloads are to be allowed or denied; and

distribute the one or more application firewall policies to a second set of one or more computing devices for application to traffic flows among second instances of the plurality of application workloads, the second instances of the plurality of application workloads executed by the second set of one or more computing devices, wherein the second set of one or more computing devices is different from the first set of one or more computing devices.

11. The policy controller of claim 10 ,

wherein, to receive the traffic statistics for the plurality of traffic flows among the first instances of the plurality of application workloads, the policy controller is further configured to receive, from a first set of virtual router agents for the first set of one or more computing devices, the traffic statistics for the plurality of traffic flows among the first instances of the plurality of application workloads, and

wherein, to distribute the one or more application firewall policies to the second set of one or more computing devices for application to traffic flows among the second instances of the plurality of application workloads, the policy controller is further configured to distribute the one or more application firewall policies to a second set of virtual router agents for the second set of one or more computing devices for application to the traffic flows among the second instances of the plurality of application workloads.

12. The policy controller of claim 10 , wherein the policy controller is further configured to present the one or more application firewall policies for display to a user.

13. The policy controller of claim 10 , wherein, to correlate, based on the one or more tags specified by the traffic statistics for the plurality of traffic flows, the traffic statistics for the plurality of traffic flows into session records of traffic statistics for the plurality of application workloads, the policy controller is further configured to:

receive, from a user, an input that specifies which traffic flows of the plurality of traffic flows correspond to application workloads of the plurality of application workloads; and

correlate, by the policy controller and based on the input and the one or more tags specified by the traffic statistics for the plurality of traffic flows, the traffic statistics for the plurality of traffic flows into session records of traffic statistics for the plurality of application workload.

14. The policy controller of claim 10 , wherein, to correlate, based on the one or more tags specified by the traffic statistics for the plurality of traffic flows, the traffic statistics for the plurality of traffic flows into session records of traffic statistics for the plurality of application workloads, the policy controller is further configured to:

apply a clustering algorithm to identify which traffic flows of the plurality of traffic flows correspond to application workloads of the plurality of application workloads; and

correlate, based on the clustering algorithm and the one or more tags specified by the traffic statistics for the plurality of traffic flows, the traffic statistics for the plurality of traffic flows into session records of traffic statistics for the plurality of application workloads.

15. The policy controller of claim 10 , wherein, to generate, based on the session records of traffic statistics for the plurality of application workloads, the one or more application firewall policies for the plurality of application workloads, the policy controller is further configured to:

for each application workload of the plurality of application workloads:

identify one or more traffic flows of the plurality of traffic flows associated with an instance of the application workload;

generate one or more application firewall policy rules for the application workload, wherein each application firewall policy rule of the one or more application firewall policy rules comprises a 5-tuple that is the same as a 5-tuple of a corresponding traffic flow of the one or more traffic flows associated with the instance of the application workload and a rule specifying an action to perform on the corresponding traffic flow; and

generate an application firewall policy for the application workload that comprises the one or more application firewall policy rules for the application workload.

16. The policy controller of claim 15 , wherein the action to perform on the corresponding traffic flow is one or more of:

one of allowing the corresponding traffic flow or denying the corresponding traffic flow;

logging the corresponding traffic flow; and

reporting the corresponding traffic flow.

17. The policy controller of claim 10 , wherein the session records of traffic statistics for each traffic flow of the plurality of traffic flows comprise one or more of:

one or more tags for a source of the traffic flow; and

one or more tags for a destination of the traffic flow.

18. A non-transitory computer-readable medium comprising instructions that, when executed, cause processing circuitry executing a policy controller for a computer network to:

receive traffic statistics for a plurality of traffic flows among first instances of a plurality of application workloads, the first instances of the plurality of application workloads executed by a first set of one or more computing devices of a computer network;

correlate, based on one or more tags specified by the traffic statistics for the plurality of traffic flows, the traffic statistics for the plurality of traffic flows into session records of traffic statistics for the plurality of application workloads;

generate, based on the session records of traffic statistics for the plurality of application workloads, one or more application firewall policies for the plurality of application workloads, wherein the one or more application firewall policies define whether traffic flows between application workloads of the plurality of application workloads are to be allowed or denied; and distribute the one or more application firewall policies to a second set of one or more computing devices for application to traffic flows among second instances of the plurality of application workloads, the second instances of the plurality of application workloads executed by the second set of one or more computing devices, wherein the second set of one or more computing devices is different from the first set of one or more computing devices.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 28, 2018
From: MIRIYALA, PRASAD; RAJANGAM, SUNDARESAN; KHENI, MIRAJ SUBHASHBHAI; AKULA, SURESH B.
To: JUNIPER NETWORKS, INC.
Reel/Frame 047005/0295 →
Continuity (1)
Related Publication 20200106744A1 · Apr 2, 2020
Cited By (6)
US 12,254,332 US 12,267,208 US 12,461,729 US 12,580,840 US 12,603,813 US 12,739,232