Patent ID: 7499457

Claim:
A method for processing a plurality of packets, comprising: creating a virtual network stack prior to receiving the plurality of packets from a network wherein a virtual serialization queue is associated with the virtual network stack; receiving the plurality of packets from the 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 to be forwarded; forwarding each of the plurality of packets to one of the plurality of temporary data structures as determined by the classifier; forwarding a plurality of packets from the one of the plurality of temporary data structures to the virtual serialization queue associated with the one of the plurality of temporary data structures, wherein the virtual serialization queue is bound to a thread having a processing priority; and processing the plurality of packets on the virtual serialization queue using at least one processor bound to the virtual serialization queue and the processing priority, wherein creating the virtual network stack comprises: creating the virtual serialization queue; binding the virtual serialization queue to the processor; binding the virtual serialization queue to a packet destination; binding the virtual serialization queue to the thread; creating a virtual network interface card (NIC); and binding the virtual serialization queue to the virtual NIC and a virtual protocol stack to obtain the virtual network stack.