Patent ID: 8503307

Claim:
A method for distributing decision making in a centralized flow routing system, said method comprising by a network switch: receiving local rules devolved from a central controller that determines a global set of rules for managing flows, wherein the local rules comprise a definition of a dynamic condition, multiple per-flow forwarding rules each of which applies to a different respective individual flow, and a multi-flow forwarding rules engine that applies to each of multiple different flows; from a network, receiving a packet of a particular flow; determining whether the particular flow requires the switch to communicate with the central controller, wherein the determining comprises ascertaining whether the particular flow satisfies the dynamic condition, wherein the ascertaining comprises ascertaining whether a metric for the particular flow exceeds a threshold, and the determining comprises determining at least one of a security status of the particular flow and whether the particular flow is being forwarded from one virtual local area network (VLAN) to another VLAN; based on a determination that the particular flow satisfies the dynamic condition, transmitting to the central controller a metric report comprising one or more flow metrics characterizing the particular flow, receiving from the central controller an instruction for a particular per-flow forwarding rule for managing the particular flow, and forwarding the particular flow according to the per-flow forwarding rule; and based on a determination that the particular flow does not satisfy the dynamic condition, forwarding the particular flow according to the multi-flow forwarding rules engine.