Patent ID: 9692705
Date: 2017-06-27
CPC Classifications: H04L

Claim:
1. A method, comprising: receiving, at one or more processors, a set of flow specifications; identifying within the set of flow specifications, using the one or more processors, a first flow specification that overlaps with a second flow specification; determining, using the one or more processors, a first rule to be applied to packet flows satisfying the first flow specification; determining, using the one or more processors, a second rule to be applied to packet flows satisfying the second flow specification; determining, using the one or more processors, a third rule to be applied to packet flows satisfying an intersection of the first and second flow specifications; assigning, using the one or more processors, priorities to each of the first, second, and third rules, wherein the third rule is assigned a higher priority than the first and second rules; storing the first, second, and third rules in one or more router forwarding tables; selecting a number of the router forwarding tables in which to store the set of flow specifications; determining, using the one or more processors, which flow specifications will be assigned to a same one of the router forwarding tables, wherein determining which flow specifications will be assigned to the same router forwarding table comprises generating a graph corresponding to the set of flow specifications, the graph including a plurality vertices and one or more edges, each vertex representing a particular flow specification and each edge representing an intersection between two flow specifications; and routing at least one data packet over at least one network link based on at least one of the first, second, and third rules stored in the one or more router forwarding tables.