Thread based scalable routing for an active router
First Claim
1. A method usable in an active router to route received packets, said method comprising the steps of:
- associating threads with received packets for processing the received packets; and
while processing a previously received packet,checking for the arrival of an interrupt;
creating a thread for associating said interrupt;
determining whether the thread associated with the interrupt has a priority that is higher than the priority of a thread associated with said previously received packet;
if the thread associated with the interrupt has a higher priority than said previously received packet, saving the thread associated with the previously received packet in a Shared Arena storage area;
if the thread associated with the interrupt does not have a higher priority than said previously received packet, queuing the thread associated with the interrupt.
2 Assignments
0 Petitions
Accused Products
Abstract
In the present scalable system routing method, received packets are associating with threads for processing the received packets. While a previously received packet is being processed, arrival of an interrupt is checked. If there is an interrupt, a thread is created associating the interrupt is created. Then, a determination of whether the thread associated with the interrupt has a priority that is higher than the priority of a thread associated with the previously received packet is made. If the thread associated with the interrupt has a higher priority than the previously received packet, the thread associated with the previously received packet is saved in a Shared Arena storage area. However, if the thread associated with the interrupt does not have a higher priority than the previously received packet, the thread associated with the interrupt is queued. Because threads are attached to the packets, the threads can now be suspended and resumed without having to disable interrupts, which includes periods during a context switch. As a result, a more flexible and efficient scheduling routing method can be implemented.
25 Citations
18 Claims
-
1. A method usable in an active router to route received packets, said method comprising the steps of:
-
associating threads with received packets for processing the received packets; and while processing a previously received packet, checking for the arrival of an interrupt; creating a thread for associating said interrupt; determining whether the thread associated with the interrupt has a priority that is higher than the priority of a thread associated with said previously received packet; if the thread associated with the interrupt has a higher priority than said previously received packet, saving the thread associated with the previously received packet in a Shared Arena storage area; if the thread associated with the interrupt does not have a higher priority than said previously received packet, queuing the thread associated with the interrupt. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A system usable in an active router to route received packets comprising of:
-
a packet priority level process scheduling threads and processing and routing the packets according to their priority; an interrupt priority handling process for handling an interrupt and associating threads with received packets and scheduling said packets during a processing of a previously received packet associated to a thread; and
,a Shared Arena for storing the thread associated with the previously received packet before the processing of the interrupt; wherein said Shared Arena is a communication mechanism between said packet priority level packet process and said interrupt priority handling process. - View Dependent Claims (14, 15, 16, 17)
-
-
18. A router for routing received packets, said router comprising a set of instructions to:
-
associating threads with received packets for processing the received packets; and while processing a previously received packet, checking for the arrival of an interrupt; creating a thread for associating said interrupt; determining whether the thread associated with the interrupt has a priority that is higher than the priority of a thread associated with said previously received packet; if the thread associated with the interrupt has a higher priority than said previously received packet, saving the thread associated with the previously received packet in a Shared Arena storage area; if the thread associated with the interrupt does not have a higher priority than said previously received packet, queuing the thread associated with the interrupt.
-
Specification