Apportionment of traffic management functions between devices in packet-based communication networks
First Claim
1. A method of managing traffic in a packet-based network, comprising:
- at an upstream device;
receiving packets;
for a received packet;
identifying a queue of a separate queuing device into which said packet is enqueueable, said identifying resulting in an identified queue;
retrieving congestion state information received from said separate queuing device; and
optionally discarding said packet based on said retrieved congestion state information; and
forwarding undiscarded packets towards said separate queuing device; and
at said separate queuing device;
enqueuing packets forwarded by said upstream device into a plurality of queues;
maintaining congestion state information for each of said plurality of queues; and
communicating said congestion state information to said upstream device.
1 Assignment
0 Petitions
Accused Products
Abstract
In a packet-based network node, traffic management functions are apportioned between an upstream device and a connected queuing device. The upstream device is responsible for receiving packets and optionally discarding them. The queuing device is responsible for enqueuing undiscarded packets into queues pending transmission, computing the congestion states of the queues, and communicating the congestion states to the upstream device. The upstream device bases its optional discarding on these computed congestion states and, optionally, on discard probabilities and an aggregate congestion level, which may also be computed by the queuing device. The upstream device may additionally mark packets as having experienced congestion based on congestion indication states, which may further be computed by the queuing device. Any statistics maintained by the upstream device may reflect packets discarded for any reason (e.g. at both OSI layers 2 and 3).
59 Citations
55 Claims
-
1. A method of managing traffic in a packet-based network, comprising:
at an upstream device;
receiving packets;
for a received packet;
identifying a queue of a separate queuing device into which said packet is enqueueable, said identifying resulting in an identified queue;
retrieving congestion state information received from said separate queuing device; and
optionally discarding said packet based on said retrieved congestion state information; and
forwarding undiscarded packets towards said separate queuing device; and
at said separate queuing device;
enqueuing packets forwarded by said upstream device into a plurality of queues;
maintaining congestion state information for each of said plurality of queues; and
communicating said congestion state information to said upstream device. - View Dependent Claims (2)
-
3. A method of managing traffic at a device in a packet-based network, comprising:
-
receiving packets;
for a received packet;
identifying a queue of a separate queuing device into which said packet is enqueueable, said identifying resulting in an identified queue;
retrieving congestion state information received from said separate queuing device; and
optionally discarding said packet based on said retrieved congestion state information; and
forwarding undiscarded packets towards said separate queuing device. - View Dependent Claims (4)
-
-
5. A method of managing traffic at a device in a packet-based network, comprising:
-
enqueuing packets forwarded by a separate upstream device into a plurality of queues;
maintaining congestion state information including congestion notification state information for each of said plurality of queues; and
communicating said congestion state information to said separate upstream device for use in the optional discarding of packets.
-
-
6. A device in a packet-based network, comprising:
-
an input for receiving packets; and
circuitry for, for a received packet;
identifying a queue of a separate queuing device into which said packet is enqueueable, said identifying resulting in an identified queue;
retrieving congestion state information received from said separate queuing device; and
optionally discarding said packet based on said retrieved congestion state information. - View Dependent Claims (7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22)
-
-
23. A device in a packet-based network, comprising:
-
a plurality of queues for enqueuing packets;
circuitry for maintaining congestion state information including congestion notification state information for each of said plurality of queues; and
circuitry for communicating said congestion state information to a separate upstream device for use in the optional discarding of packets. - View Dependent Claims (24, 25, 26, 27, 28, 29, 30)
-
-
31. A computer-readable medium storing instructions which, when performed by an upstream device in a packet-based network, cause said device to:
-
receive packets;
for a received packet;
identify a queue of a separate queuing device into which said packet is enqueueable, said identifying resulting in an identified queue;
retrieve congestion state information received from said separate queuing device; and
optionally discard said packet based on said retrieved congestion state information; and
forward undiscarded packets towards said separate queuing device. - View Dependent Claims (32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44)
-
-
45. A computer-readable medium storing instructions which, when performed by a queuing device in a packet-based network, cause said device to:
-
enqueue packets forwarded by a separate upstream device into a plurality of queues;
maintain congestion state information including congestion notification information for each of said plurality of queues; and
communicate said congestion state information to said separate upstream device for use in the optional discarding of packets. - View Dependent Claims (46, 47, 48, 49, 50, 51, 52, 53, 54, 55)
-
Specification