IP Library Granted Patent US 10,924,325
Granted Patent B2
US 10,924,325 · App. 15/815,524 · Granted Feb 16, 2021

Maps having a high branching factor

Inventor: Anil Rao (Santa Clara, CA)
Assignee: Gigamon Inc.
H04L41/046H04L12/4633H04L41/12H04L41/22H04L43/022H04L43/028H04L43/062H04L43/12H04L45/02H04L47/24H04L49/70H04L67/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 10,924,325
App. No.
15/815,524
Granted
Feb 16, 2021
Kind
B2
Abstract

Disclosed is a technique for providing packet filter maps with high branching factors in a system for managing network traffic in a visibility fabric. A high branching factor enables a map to branch out more than two ways. High branching factors can be realized by allowing a map to be affiliated with more than one action set. For example, each rule of the map may be affiliated with a unique action set that is executed only when the corresponding rule is satisfied.

Claims (62)

1. A computer-implemented method comprising:

identifying a plurality of network objects that are interconnected through a network visibility appliance that is coupled to a public cloud infrastructure accessible to multiple users;

associating each network object of the plurality of network objects with an action set to be applied to incoming data packets;

constructing a data structure indicative of the network visibility appliance by

creating a separate entry in the data structure for each network object of the plurality of network objects, and

establishing an association between a pair of entries in the data structure for each traffic flow between a pair of network objects of the plurality of network objects,

wherein each action set includes at least one of

a pass action represented in the data structure as an established association, or

a drop action represented in the data structure as a lack of established associations, and

wherein a particular action set corresponding to a particular network object includes a plurality of actions to be concurrently applied to the incoming data packets, the plurality of actions including a plurality of pass actions that are represented as a plurality of established associations between a particular entry associated with the particular network object and a plurality of other entries;

acquiring, from the public cloud infrastructure, data packets indicative of traffic associated with a given user of the multiple users;

routing the data packets acquired from the public cloud infrastructure through the plurality of network objects based on the data structure; and

forwarding at least some of the data packets acquired from the public cloud infrastructure that were not dropped by the plurality of network objects to the public cloud infrastructure.

2. The computer-implemented method of claim 1 , wherein each action of the plurality of actions is associated with a certain type of data packets.

3. The computer-implemented method of claim 1 , further comprising:

causing a graph that visually represents the network visibility appliance to be presented on a display of a computing device; and

enabling an individual to specify a modification to the network visibility appliance by modifying the graph.

4. The computer-implemented method of claim 3 , wherein the modification includes creation of a new association between a first entry corresponding to a first network object and a second entry corresponding to a second network object.

5. The computer-implemented method of claim 4 , further comprising:

inserting a new pass action into the action set corresponding to the first network object.

6. The computer-implemented method of claim 1 , wherein the data packets are replicated when leaving a network object corresponding to an entry having a plurality of established associations.

7. The computer-implemented method of claim 1 , wherein the plurality of network objects includes at least one of a raw endpoint, a tunnel endpoint, an application endpoint, or a map.

8. The computer-implemented method of claim 7 , wherein

each raw endpoint, if any, receives traffic from a Network Interface Card (NIC) of the network visibility appliance,

each tunnel endpoint, if any, receives traffic from, or sends traffic to, an environment outside of the network visibility appliance,

each application endpoint, if any, receives traffic from, or sends traffic to, an application program, and

each map, if any, includes a rule for managing traffic.

9. The computer-implemented method of claim 1 , wherein the network visibility appliance receives the incoming data packets from an agent on a virtual machine belonging to the given user.

10. The computer-implemented method of claim 9 , further comprising:

establishing a tunnel for delivering the traffic from the agent to the network visibility appliance.

11. The computer-implemented method of claim 1 , wherein said forwarding causes the data packets that were not dropped by the plurality of network objects to be made available to a virtual machine associated with the given user.

12. A computer-implemented method comprising:

identifying, by a controller, a map that includes a plurality of rules for filtering data packets from a traffic stream,

wherein each rule of the plurality of rules is associated with a different filtering criterion, and

wherein each rule is considered a match when a corresponding filtering criterion is satisfied;

associating, by the controller, each rule of the plurality of rules with an action set,

wherein each action set is to be executed only when a corresponding rule is considered to be matched; and

causing, by the controller, the map to be implemented by a network visibility appliance that is communicatively coupled to the controller,

wherein the map is implemented so that the network visibility appliance concurrently applies all rules of the plurality of rules associated with different filtering criteria to a data packet received by the network visibility appliance.

13. The computer-implemented method of claim 12 , wherein each action set includes at least one of

a pass action that causes data packets satisfying the filtering criterion to be forwarded downstream to a network object, or

a drop action that causes data packets that do not satisfy the filtering criterion to be dropped.

14. The computer-implemented method of claim 13 , wherein the network object has access to the map through a network fabric.

15. The computer-implemented method of claim 12 , wherein at least two rules of the plurality of rules share an action set.

16. The computer-implemented method of claim 12 , further comprising:

assigning a priority value to each rule of the plurality of rules.

17. The computer-implemented method of claim 16 , wherein action sets corresponding to higher priority rules are to be executed before action sets corresponding to lower priority rules.

18. The computer-implemented method of claim 16 , wherein action sets corresponding to rules having identical priority values are to be executed based on an order of the rules within a data structure.

19. A programmable switch comprising:

an ingress port at which to receive a data packet transmitted by an agent on a virtual machine over a network to which the programmable switch is coupled,

wherein the data packet is included in a stream of data packets indicative of traffic handled by a cloud computing platform of which the virtual machine is a part; and

a processor configured to:

identify a plurality of data structure entries associated with a map to be applied to the received data packet,

wherein the map includes a plurality of rules, each rule being associated with a respective data structure entry that includes

a filtering criterion, and

an action set that is to be executed on the data packet only when the data packet satisfies the filtering criterion;

concurrently apply all rules of the plurality of rules in the map to the data packet to identify at least one matching rule; and

in response to identification of the at least one matching rule, executing at least one action set corresponding to the at least one matching rule in order of priority.

20. The programmable switch of claim 19 , wherein priority is determined based on a priority value assigned to each rule of the plurality of rules.

21. The programmable switch of claim 19 , further comprising:

a data store that includes a data structure populated with the plurality of data structure entries corresponding to the plurality of rules.

22. The programmable switch of claim 21 , wherein the data store is a ternary content-addressable memory (TCAM), and wherein the data structure is a programmable flow table.

Assignments (4)
RELEASE OF SECURITY INTEREST Recorded Mar 11, 2022
From: JEFFERIES FINANCE LLC
To: GIGAMON INC.
Reel/Frame 059362/0491 →
SECURITY INTEREST Recorded Mar 11, 2022
From: GIGAMON INC.; ICEBRG LLC
To: JEFFERIES FINANCE LLC
Reel/Frame 059362/0717 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Feb 11, 2020
From: GIGAMON INC.
To: JEFFERIES FINANCE LLC
Reel/Frame 051898/0559 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 14, 2017
From: RAO, ANIL
To: GIGAMON INC.
Reel/Frame 044398/0602 →
Continuity (2)
Provisional Application 62425577 · Nov 22, 2016
Related Publication 20180145916A1 · May 24, 2018