Multimedia data flow dropping
AssigneeCisco Technology, Inc.
InventorMark Litwack
Life of this patent
Estimating the term…
Abstract
The present invention introduces a congestion control mechanism for constant bit rate (CBR) multimedia data flows in cable operator IP networks. A flow drop method within a congestion control unit of the present invention chooses a subset of multimedia data flows to drop, in whole, to alleviate a congestion condition. After the congestion condition is detected and the congestion control unit begins dropping multimedia data flows, the remaining multimedia data flows are no longer degraded for the end user, as compared to conventional congestion management systems.
Claims15
A method for relieving congestion in a plurality of multimedia data flows through a network, each multimedia flow containing a plurality of multimedia data packets, the method comprising:
- receiving multimedia data packets in the plurality of multimedia data flows at an egress interface, wherein each multimedia data packet is sorted into a prioritized queue selected from a plurality of prioritized queues based on priority information embedded within a packet header in the multimedia data packet, wherein the priority information embedded within the packet header describes a flow priority level of the multimedia data flow to which the packet belongs, and wherein each of the prioritized queues in the plurality of prioritized queues is associated with a respective priority level;
- determining that a congestion condition has been reached at the egress interface, when one of the plurality of prioritized queues containing at least two multimedia data flows is full;
- responsive to determining that the congestion condition has been reached, selecting at random one of the plurality of multimedia data flows having packets in the prioritized queue that is full;
- responsive to the selection:
- dropping all multimedia data packets subsequently received at the egress interface in the selected multimedia data flow;
- dropping all multimedia data packets subsequently received at the egress interface in any prioritized queues in the plurality of prioritized queues having a priority level that is lower than the priority level of the prioritized queue that is full.
A method for relieving congestion in a plurality of multimedia data flows through a network, each multimedia flow containing a plurality of multimedia data packets, the method comprising:
- receiving multimedia data packets in the plurality of multimedia data flows at an egress interface, wherein each multimedia data packet is sorted into a prioritized queue selected from a plurality of prioritized queues based on priority information embedded within a packet header in the multimedia data packet, wherein the priority information embedded within the packet header describes a flow priority level of the multimedia data flow to which the packet belongs, and wherein each of the prioritized queues in the plurality of prioritized queues is associated with a respective priority level;
- determining that a congestion condition has been reached at the egress interface, when one of the plurality of prioritized queues containing at least two multimedia data flows is full;
- responsive to determining that the congestion condition has been reached, selecting at random one of the plurality of multimedia data flows having packets in the prioritized queue that is full;
- dropping all multimedia data packets subsequently received at the egress interface in the selected multimedia data flow;
- dropping all multimedia data packets subsequently received at the egress interface in any prioritized queues in the plurality of prioritized queues having a priority level that is lower than the priority level of the prioritized queue that is full;
- and
- responsive to a relieved congestion condition, resuming the removed multimedia data flow.
An apparatus for relieving congestion in a plurality of multimedia data flows through a network, each multimedia flow containing a plurality of multimedia data packets, the apparatus comprising:
- an egress interface for receiving multimedia data packets in the plurality of multimedia data flows, and for sorting each multimedia data packet into at least a high-priority queue, a medium-priority queue, and a low-priority queue based on priority information embedded within a packet header in the multimedia data packet, wherein the priority information embedded within the packet header describes a flow priority level of the multimedia data flow to which the packet belongs, and wherein each of the prioritized queues in the plurality of prioritized queues is associated with a respective priority level;
- a congestion control unit, coupled to the egress interface, for determining that a congestion condition has been reached at the egress interface when one of the high-priority, medium-priority, or low-priority queues containing at least two multimedia data flows is full;
- a selecting unit coupled to the congestion control unit for selecting at random, in response to the congestion condition, one of the plurality of multimedia data flows having packets in the priority queue that is full;
- and
- a flow drop unit, coupled to the selecting unit, for dropping the multimedia data packets in the selected multimedia data flow, subsequently received at the egress interface, and wherein the flow drop unit is further configured to drop multimedia data packets subsequently received at the egress interface in any prioritized queues in the plurality of prioritized queues having a priority level that is lower than the priority level of the prioritized queue that is full.
An apparatus for relieving congestion in a plurality of multimedia data flows through a network, each multimedia flow containing a plurality of multimedia data packets, the apparatus comprising:
- an egress interface for receiving multimedia data packets in the plurality of multimedia data flows, and for sorting each multimedia data packet into a prioritized queue selected from a plurality of prioritized queues based on priority information embedded within a packet header in the multimedia data packet, wherein the priority information embedded within the packet header describes a flow priority level of the multimedia data flow to which the packet belongs, and wherein each of the prioritized queues in the plurality of prioritized queues is associated with a respective priority level;
- a congestion control unit, coupled to the egress interface, for determining that a congestion condition has been reached at the egress interface, when one of the plurality of prioritized queues containing at least two multimedia data flows is full;
- a selecting unit coupled to the congestion control unit for selecting at random, in response to the congestion condition, one of the plurality of multimedia data flows having packets in the prioritized queue that is full;
- and
- a flow drop unit, coupled to the selecting unit, for dropping the multimedia data packets in the selected multimedia data flow, subsequently received at the egress interface;
- wherein the selecting unit, in response to the congestion condition being reached at the egress interface, further performs the following steps:
- analyzing accounting information of incoming multimedia data packet headers, identifying a flow of incoming multimedia data with the lowest priority level, and selecting the entire low priority flow;
- and
- wherein the flow drop unit is further configured to, in response to a relieved congestion condition, resume the removed multimedia data flow.
Dependencies are inferred from the claim text.