Patent ID: 8149709

Claim:
A method for sending packets, comprising: determining, based on a transport protocol associated with a first packet, a first virtual serialization queue (VSQ) of a plurality of virtual serialization queues (VSQs) with which the first packet is associated, wherein a first application is attempting to issue the first packet, wherein the plurality of VSQs are located in a single execution environment; if the first VSQ has not exceeded a first bandwidth allocation associated with the first VSQ, then perform: sending the first packet from the first application to the first VSQ; queuing the first packet by the first VSQ; sending the first packet from the first VSQ to a first virtual network stack (VNS) of a plurality of virtual network stacks (VNSs), wherein the first VNS is associated with the first VSQ, wherein the first VNS includes a transport layer corresponding to the transport protocol associated with the first packet, wherein the first VNS includes an Internet Protocol (IP) layer, wherein the plurality of VNSs are located in the single execution environment; processing the first packet by the first VNS to obtain a first processed packet; and sending the first processed packet from the first VNS to a physical network interface card (NIC) operatively connected to the first VNS; and if the first VSQ has exceeded the first bandwidth allocation, then perform: blocking the first application from issuing the first packet.