Patent ID: 8660007

Claim:
A computer-implemented method comprising: maintaining, within a virtual network storage of a first component of a plurality of components coupled in communication with a network, information regarding a set of virtual networks into which the network has been logically divided and that can be used by the first component to transport packets through the network, wherein each virtual network of the set of virtual networks comprises a loop-free switching path, reverse path learning network and wherein each virtual network of the set of virtual networks provides a path through the network between the first component and a second component of the plurality of components thereby collectively providing a plurality of paths through the network between the first component and the second component; receiving, by the first component, one or more packets associated with a flow sent by a source component, wherein the source component is sending the one or more packets associated with the flow at a particular rate; forwarding, by the first component, the one or more packets associated with the flow to the second component along a particular path defined by the set of virtual networks; determining a congestion metric for the particular path; determining, based at least partially upon the congestion metric for the particular path, whether the particular path has reached a congestion threshold; and in response to a determination that the particular path has reached a congestion threshold, instructing the source component to limit the rate at which the source component is sending packets associated with the flow.