Packet queuing system and method
First Claim
1. A method of queuing packets for processing, the method comprising the steps of:
- a. allocating each received packet to at least one arrival queue;
b. placing each packet in the allocated queue if said queue is not full, otherwise dropping said packet;
c. scheduling packets from the arrival queue to at least one transfer queue;
d. responsive to transfer of a packet to a transfer queue, generating an interrupt;
e. responsive to receipt of an interrupt, allocating the packet to one of a plurality of processor queues;
f. placing the packet in the allocated processor queue if said queue is not full, otherwise dropping said packet; and
g. scheduling packets from the processor queues for processing.
1 Assignment
0 Petitions
Accused Products
Abstract
There is disclosed a method of queuing packets received at an input to at least one device for processing, the method comprising the steps of: allocating each received packet to at least one arrival queue of the device; placing each packet in the allocated queue if said queue is not full, otherwise dropping said packet; scheduling packets from the device arrival queue to at least one transfer queue; responsive to transfer of a packet to a transfer queue, generating an interrupt from the device to a processor; at the processor, responsive to receipt of an interrupt, allocating the packet to one of a plurality of processor queues; placing the packet in the allocated processor queue if said queue is not full, otherwise dropping said packet; and scheduling packets from the processor queues for processing.
31 Citations
45 Claims
-
1. A method of queuing packets for processing, the method comprising the steps of:
-
a. allocating each received packet to at least one arrival queue;
b. placing each packet in the allocated queue if said queue is not full, otherwise dropping said packet;
c. scheduling packets from the arrival queue to at least one transfer queue;
d. responsive to transfer of a packet to a transfer queue, generating an interrupt;
e. responsive to receipt of an interrupt, allocating the packet to one of a plurality of processor queues;
f. placing the packet in the allocated processor queue if said queue is not full, otherwise dropping said packet; and
g. scheduling packets from the processor queues for processing. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. A system including a processor and at least one device, in which system:
- packets for processing by the processor are received at an input of the at least one device, wherein the at least one device includes;
a. allocating means for allocating each received packet to at least one arrival queue of the device;
b. placement means for placing each packet in the allocated queue if said queue is not full, otherwise dropping said packet;
c. scheduling means for scheduling packets from the device arrival queue to at least one transfer queue; and
d. interrupt means, responsive to transfer of a packet to a transfer queue, for generating an interrupt from the device to a processor;
and wherein the processor includes;
e. allocation means, responsive to receipt of an interrupt, for allocating the packet to one of a plurality of processor queues;
f. placement means for placing the packet in the allocated processor queue if said queue is not full, otherwise dropping said packet; and
g. scheduling means for scheduling packets from the processor queues for processing. - View Dependent Claims (19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34)
- packets for processing by the processor are received at an input of the at least one device, wherein the at least one device includes;
-
35. A device adapted for queuing packets to be processed, the device including:
-
a. allocating means for allocating a received packet to at least one arrival queue;
b. placement means for placing each packet in the allocated queue if said queue is not full, otherwise dropping said packet;
c. scheduling means for scheduling packets from the arrival queue to at least one transfer queue; and
d. interrupt means, responsive to transfer of a packet to a transfer queue, for generating an interrupt;
e. allocation means, responsive to receipt of an interrupt, for allocating the packet to one of a plurality of processor queues;
f. placement means for placing the packet in the allocated processor queue if said queue is not full, otherwise dropping said packet; and
g. scheduling means for scheduling packets from the processor queues for processing. - View Dependent Claims (36, 37, 38, 39, 40, 41, 42, 43, 44, 45)
-
Specification