Patent ID: 7953002

Claim:
A network device for processing data, the network device comprising: a plurality of communication ports configured to send and receive data, and wherein each communication port is associated with a plurality of class of service priority groups; at least one ingress switch configured to: determine a class of service priority for the incoming data, and map the determined class of service priority to one of the plurality of class of service priority groups; a buffer configured to store the incoming data, wherein the buffer includes, for each port, a minimum buffer allocation for the respective communications port, a minimum buffer allocation for each class of service priority group associated with the respective communications port, and a port shared portion that is shared amongst the plurality of class of service priority groups associated with the respective communications port, and wherein the buffer further includes a global headroom allocation shared among all ports for all priority groups for which use of the global headroom allocation is enabled; wherein the network device is configured to control the flow of the incoming data through the network device based at least in part upon the mapped class of service priority group.