Patent ID: 7499463

Claim:
A method for controlling bandwidth comprising: receiving a plurality of packets from a network; analyzing each of the plurality of packets by a classifier to determine to which of a plurality of temporary data structures each of the plurality of packet is forwarded; forwarding each of the plurality of packets to one of the plurality of temporary data structures as determined by the classifier; if a virtual serialization queue is operating in polling mode: requesting a number of packets from the one of the plurality of temporary data structures by the virtual serialization queue, wherein the virtual serialization queue is associated with one of the plurality of temporary data structures; and forwarding the number of packets to the virtual serialization queue; and creating a virtual network stack prior to receiving the plurality of packets from the network, wherein the virtual serialization queue is associated with a virtual network stack, wherein creating the virtual network stack comprises: creating the virtual serialization queue; binding the virtual serialization queue to a central processing unit; binding the virtual serialization queue to a packet destination; creating a virtual network interface card (NIC); binding the virtual serialization queue to the virtual NIC and a virtual protocol stack to obtain the virtual network stack; and specifying a bandwidth control parameter associated with the virtual serialization queue.