Load-balancing utilizing one or more threads of execution for implementing a protocol stack
First Claim
Patent Images
1. A network device comprising:
- a interface module communicatively coupled to a network for receiving a data packet;
a computer-readable medium for storing information and instructions;
a processor for acting upon said information and instructions to provide the functions comprising;
a protocol stack for processing a header of said data packet comprising;
a single thread of execution when a first state of said network device exists; and
a receive thread of execution and a drainer thread of execution when a second state of said network device exists; and
an application wherein a payload of said data packet is utilized.
3 Assignments
0 Petitions
Accused Products
Abstract
Embodiments of the present invention provide a novel method of implementing a network communication protocol. In one embodiment, the state of the network communication process is determined based upon one or more conditions. The protocol stack is then executed as a single thread of execution if the network communication process is in a first state. Alternatively, the protocol stack is executed as a receive thread of execution and a drainer thread of execution if the network communication process is in a second state.
-
Citations
35 Claims
-
1. A network device comprising:
-
a interface module communicatively coupled to a network for receiving a data packet;
a computer-readable medium for storing information and instructions;
a processor for acting upon said information and instructions to provide the functions comprising;
a protocol stack for processing a header of said data packet comprising;
a single thread of execution when a first state of said network device exists; and
a receive thread of execution and a drainer thread of execution when a second state of said network device exists; and
an application wherein a payload of said data packet is utilized. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method of performing network communication comprising:
-
buffering a plurality of data packets;
processing said plurality of data packets according to a protocol utilizing a single thread of execution during a first condition; and
processing said plurality of data packets according to a protocol utilizing a receive thread of execution and a drainer thread of execution during a second condition. - View Dependent Claims (9, 10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. A method of implementing a network communication protocol stack comprising:
-
determining a state of said network communication process;
executing a single thread of execution when said state comprises a low system load; and
executing a receive thread of execution and a drainer thread of execution when said state comprises a high system load. - View Dependent Claims (19, 20, 21, 22, 23, 24)
-
-
25. A computer-readable medium having instructions which when executed by a network device implement a protocol stack comprising:
-
buffering a data packet;
determining a state of said network device;
processing a first and second portion of a header of said data packet utilizing a first thread of execution when said state comprises a low system load;
processing said first portion of said header of said packet utilizing a second thread of execution and handing-off processing of said second portion of said header to a third thread of execution, when said state comprises a high system load; and
delivering a payload of said data packet to a destination application. - View Dependent Claims (26, 27, 28, 29, 30, 31, 32, 33, 34, 35)
-
Specification