Patent ID: 8593958

Claim:
A method of a network element functioning as a controller for a split architecture network, the method for assigning flow monitoring tasks to a set of switches in the network to optimize network-wide flow monitoring by maximizing the number of monitored flows and reducing overhead of the flow monitoring, each of the switches to sample flows as directed by the controller, wherein each of the switches samples the flows by monitoring a subset of the flows and recording measurements of the subset of the flows, each of the flows to traverse the network via a path defined by one of a set of (Origin, Destination) (“OD”) pairs, wherein the Origin is an ingress one of the switches from which the flow enters the network and the Destination is an egress one of the switches from which the flow exits the network, the method comprising the steps of: receiving, by the controller, an input including an estimated traffic volume for each of the paths defined by each of the OD pairs; calculating, for all of the switches and all of the paths, sampling fractions that maximize the number of the flows sampled by the switches, wherein a sampling fraction for a given switch and a given path is defined as the number of flows that pass through the given switch and the given path and are sampled by the given switch divided by a total number of the flows that pass through the given path, the calculating being based on the estimated traffic volume and subject to a bandwidth constraint and a memory constraint of the switches; receiving a request to set up a new flow to traverse one of the paths in the network; and assigning the new flow to one of the switches that are located on the one of the paths, based on the sampling fraction for the assigned switch and the one of the paths, the bandwidth constraint and the memory constraint.