Patent ID: 7227841
Filing Date: 2007-06-05
Classification: H04L

Abstract:
1. A method comprising: receiving a first packet on a network switch, wherein the network switch comprises one or more threshold groups, wherein each of the one or more threshold groups comprises a plurality of flows; assigning the first packet to a first flow of a first threshold group of the one or more threshold groups, wherein the first threshold group is at a first operating level of a plurality of operating levels; if storing the first packet in a memory of the network switch would not cause the first flow to exceed a flow resource limit at the first operating level of the first threshold group, storing the first packet in the memory of the network switch; if storing the first packet in the memory of the network switch would cause the first flow to exceed the flow resource limit at the first operating level of the first threshold group, discarding the first packet from the network switch; wherein a flow resource limit at each of the plurality of operating levels is a maximum number of resources that any one of the plurality of flows is allowed to use while the first threshold group is at that particular operating level; if the first packet is stored in the memory of the network switch, and if said storing the first packet causes the first threshold group to exceed a resource maximum threshold for the first operating level of the first threshold group, changing the first threshold group to a second operating level; wherein a resource maximum threshold for each of the plurality of operating levels is a maximum combined number of resources that the plurality of flows is allowed to use while the first threshold group is at that particular operating level; removing a previously stored packet from the first threshold group; and if said removing the previously stored packet causes the first threshold group to drop below a resource minimum threshold for the second operating level of the first threshold group, changing the first threshold group to the first operating level; wherein a resource minimum threshold for each of the plurality of operating levels is a minimum combined number of resources that the plurality of flows is allowed to use at that particular operating level.