Traffic flow scheduling techniques implemented on bonded channels of a shared access cable network
First Claim
1. A system for managing traffic flow for transport over a plurality of communication channels on a shared access cable network, the system comprising:
- at least one processor;
at least one interface operable to provide a communication link to at least one network device; and
memory;
the system being operable to shape a plurality of different traffic flows to be transported over the plurality of different communication channels of the shared access cable network;
wherein the plurality of communication channels includes a first communication channel, a second communication channel, and a third communication channel;
wherein the first communication channel and the second communication channel are associated with a first channel group;
wherein the second communication channel and the third communication channel are associated with a second channel group;
wherein the first channel group has associated therewith a first plurality of queues including a first queue and a second queue;
wherein the second channel group has associated therewith a second plurality of queues including a third queue and a fourth queue;
wherein each of the first, second, third, and fourth queues is capable of containing a respective number of packets stored for transmission via the channels in the associated channel group; and
wherein the shaping of the plurality of different traffic flows includes;
determining whether a first number of packets stored in the first queue has exceeded a first threshold number of packets, wherein the first queue is associated with the first channel group and associated with the first communication channel;
determining whether a second number of packets stored in the second queue has exceeded a second threshold number of packets, wherein the second queue is associated with the first channel group and associated with the second communication channel;
initiating at least one operation for suspending or disabling, during a first time interval, traffic flow associated with the first channel group in response to detecting that at least one of the queues associated with the first channel group has exceeded its associated threshold number of packets;
determining whether a third number of packets stored in the third queue has exceeded third threshold number of packets, wherein the third queue is associated with the second channel group and associated with the second communication channel;
determining whether a fourth number of packets stored in the fourth queue has exceeded fourth threshold number of packets, wherein the fourth queue is associated with the second channel group and associated with the third communication channel; and
initiating at least one operation for suspending or disabling, during a second time interval, traffic flow associated with the second channel group in response to detecting that at least one of the queues associated with the second channel group has exceeded its associated threshold number of packets.
2 Assignments
0 Petitions
Accused Products
Abstract
Various techniques are disclosed for managing traffic flow for transport over a plurality of communication channels of a shared access cable network. According to various embodiments, one or more devices of the cable network (such as, for example, a Cable Modem Termination System (CMTS)), may be operable to implement at least a portion of the traffic flow management techniques. In at least one embodiment, one or more aspects of the traffic flow management techniques disclosed herein may be used for performing real-time shaping of traffic flows across multiple different channels of a DOCSIS channel bonding group. In some embodiments, various different traffic shaping and/or traffic scheduling techniques may be employed (e.g., in DOCSIS 3.0 compatible cable networks) to reduce and/or mitigate issues which, for example, may arise as a result of an inability to represent traffic schedulers as tree-based hierarchies. Other aspects are disclosed for implementing quality of service (QoS) procedures on shared access network(s), such as for example hybrid fiber/coaxial (HFC) cable networks.
-
Citations
17 Claims
-
1. A system for managing traffic flow for transport over a plurality of communication channels on a shared access cable network, the system comprising:
-
at least one processor; at least one interface operable to provide a communication link to at least one network device; and memory; the system being operable to shape a plurality of different traffic flows to be transported over the plurality of different communication channels of the shared access cable network;
wherein the plurality of communication channels includes a first communication channel, a second communication channel, and a third communication channel;
wherein the first communication channel and the second communication channel are associated with a first channel group;
wherein the second communication channel and the third communication channel are associated with a second channel group;
wherein the first channel group has associated therewith a first plurality of queues including a first queue and a second queue;
wherein the second channel group has associated therewith a second plurality of queues including a third queue and a fourth queue;
wherein each of the first, second, third, and fourth queues is capable of containing a respective number of packets stored for transmission via the channels in the associated channel group; and
wherein the shaping of the plurality of different traffic flows includes;determining whether a first number of packets stored in the first queue has exceeded a first threshold number of packets, wherein the first queue is associated with the first channel group and associated with the first communication channel; determining whether a second number of packets stored in the second queue has exceeded a second threshold number of packets, wherein the second queue is associated with the first channel group and associated with the second communication channel; initiating at least one operation for suspending or disabling, during a first time interval, traffic flow associated with the first channel group in response to detecting that at least one of the queues associated with the first channel group has exceeded its associated threshold number of packets; determining whether a third number of packets stored in the third queue has exceeded third threshold number of packets, wherein the third queue is associated with the second channel group and associated with the second communication channel; determining whether a fourth number of packets stored in the fourth queue has exceeded fourth threshold number of packets, wherein the fourth queue is associated with the second channel group and associated with the third communication channel; and initiating at least one operation for suspending or disabling, during a second time interval, traffic flow associated with the second channel group in response to detecting that at least one of the queues associated with the second channel group has exceeded its associated threshold number of packets. - View Dependent Claims (2, 3)
-
-
4. A system for managing traffic flow for transport over a plurality of communication channels on a shared access cable network, the system comprising:
-
at least one processor; at least one interface operable to provide a communication link to at least one network device; and memory; the system being operable to; receive a first packet, the first packet having associated therewith a first set of characteristics, the first set of characteristics comprising a first service flow identifier representing a first service flow associated with the first packet, the first service flow comprising a Media Access Control layer data stream for transport of packets between a cable network service provider and a first cable modem; identify, using at least a portion of the first set of characteristics, a first channel group associated with the first service flow, the first channel group comprising a plurality of communication channels which have been allocated for use in transporting data traffic associated with the first service flow, wherein at least one of the plurality of communication channels is also included within a second channel group, wherein the first channel group has associated therewith a first plurality of queues, wherein each of the plurality of communication channels has associated therewith at least one respective queue of the first plurality of queues, wherein each of the first plurality of queues has associated therewith a respective available queue capacity value representing an amount of total memory which is available for use by a given queue of the first plurality of queues, wherein each of the first plurality of queues comprises a respective number of packets stored for transmission via the respective communication channel; determine whether a respective number of packets stored in each of the queues associated with the first channel group and associated with the first communication channel has exceeded, during a first time interval, a threshold number of packets associated with its respective queue; and initiate at least one operation for suspending or disabling, during a second time interval, traffic flow associated with the first channel group in response to detecting that each of the queues associated with the first channel group has exceeded its associated threshold number of packets. - View Dependent Claims (5, 6, 7)
-
-
8. A system for managing traffic flow for transport over a plurality of communication channels on a shared access cable network, the system comprising:
-
at least one processor; at least one interface operable to provide a communication link to at least one network device; and memory; the system being operable to; detect a first packet dequeue event relating to a dequeuing of a first packet from a first queue associated with a first channel group, the first channel group comprising a plurality of communication channels allocated for use in transporting data traffic associated with a first service flow, the first service flow comprising a Media Access Control layer data stream for transport of packets between a cable network service provider and a first cable modem, wherein the first channel group has associated therewith a first plurality of queues including the first queue, wherein each of the plurality of communication channels has associated therewith at least one respective queue of the first plurality of queues, wherein each of the first plurality of queues comprises a respective number of packets stored for transmission via the respective communication channel, wherein at least one of the plurality of communication channels is also included within a second channel group; identify, using information associated with the first queue, the first channel group which is associated with the first queue; determine whether traffic flow control is asserted for the first channel group, wherein the assertion of traffic flow control for the first channel group is characterized by a suspension of traffic flow on the first plurality of communication channels of the first channel group; and perform at least one operation for deasserting traffic flow control at the first channel group in response to a determination that traffic flow control is asserted for the first channel group and in response to detecting the dequeuing of the first packet from the first queue, wherein the deassertion of traffic flow control for the first channel group is characterized by a resumption of traffic flow on the first plurality of communication channels of the first channel group. - View Dependent Claims (9, 10)
-
-
11. A method for managing traffic flow for transport over a plurality of communication channels on a shared access cable network, the method comprising:
-
receiving a first packet, the first packet having associated therewith a first set of characteristics, the first set of characteristics comprising a first service flow identifier representing a first service flow associated with the first packet, the first service flow comprising a Media Access Control layer data stream for transport of packets between a cable network service provider and a first cable modem; identifying, using at least a portion of the first set of characteristics, a first channel group associated with the first service flow, the first channel group comprising a plurality of communication channels which have been allocated for use in transporting data traffic associated with the first service flow, wherein the first channel group has associated therewith a first plurality of queues, wherein each of the plurality of communication channels has associated therewith at least one respective queue of the first plurality of queues, wherein each of the first plurality of queues comprises a respective number of packets stored for transmission via the respective communication channel, wherein each of the first plurality of queues has associated therewith a respective available queue capacity value representing an amount of total memory which is available for use by a given queue of the first plurality of queues, wherein at least one of the plurality of communication channels is also included within a second channel group; determining whether each of the queues associated with the first channel group and associated with the first communication channel has exceeded, during a first time interval, a threshold number of packets associated with its respective queue; and initiating at least one operation for suspending or disabling, during a second time interval, traffic flow associated with the first channel group in response to detecting that each of the queues associated with the first channel group has exceeded its associated threshold number of packets. - View Dependent Claims (12, 13, 14)
-
-
15. A method for managing traffic flow for transport over a plurality of communication channels on a shared access cable network, the method comprising:
-
detecting a first packet dequeue event relating to a dequeuing of a first packet from a first queue associated with a first channel group, the first channel group comprising a plurality of communication channels allocated for use in transporting data traffic associated with a first service flow, the first service flow comprising a Media Access Control layer data stream for transport of packets between a cable network service provider and a first cable modem, wherein the first channel group has associated therewith a first plurality of queues including the first queue, wherein each of the plurality of communication channels has associated therewith at least one respective queue of the first plurality of queues, wherein each of the first plurality of queues comprises a respective number of packets stored for transmission via the respective communication channel, wherein at least one of the plurality of communication channels is also included within a second channel group; identifying, using information associated with the first queue, the first channel group which is associated with the first queue; determining whether traffic flow control is asserted for the first channel group, wherein the assertion of traffic flow control for the first channel group is characterized by a suspension of traffic flow on the first plurality of communication channels of the first channel group; and performing at least one operation for deasserting traffic flow control at the first channel group in response to a determination that traffic flow control is asserted for the first channel group and in response to detecting the dequeuing of the first packet from the first queue, wherein the deassertion of traffic flow control for the first channel group is characterized by a resumption of traffic flow on the first plurality of communication channels of the first channel group. - View Dependent Claims (16, 17)
-
Specification