Patent ID: 8619587

Claim:
An apparatus comprising: a small flow forwarding module configured to receive a plurality of first packets that correspond to a plurality of small flows and distribute the first packets over a plurality of paths; a large flow forwarding module configured to receive a plurality of second packets that correspond to a plurality of large flows and distribute the second packets over the paths; and a packet header checking module in communication with the small flow forwarding module and the large flow forwarding module, wherein the packet header checking module is configured to inspect a flow indication in an incoming packet and forward the packet to the small flow forwarding module if the flow indication corresponds to one of the small flows or to the large flow forwarding module if the flow indication corresponds to one of the large flows, wherein the large flow forwarding module is further configured to: store a large flow table that comprises a list of large flows received at the apparatus; determine if there is an entry in the large flow table for a flow for the incoming packet when the flow indication corresponds to one of the large flows; adding an entry for the flow to the large flow table if there is no entry for the flow in the large flow table; and updating a flow status to current when a flow indication in an incoming packet indicates that a flow for the incoming packet is a large flow and if an entry for the flow is found in the large flow table, wherein adding the entry for the flow comprises assigning the flow to a component link and storing the mapping of the flow and the component link into the large flow table, and wherein the entry for the flow comprises: a flow identifier that indicates the identity of the flow; a path identifier that indicates at least one path used to forward the flow; and a status identifier that indicates whether the flow is transported over the path identified.