BR-102025006599-A2 - Queue Management Systems and Methods for Latency Control
Abstract
Queue management for latency control is provided. One method involves receiving packets from multiple streams, each packet including an arrival timestamp. The method may include classifying streams for transmission based on application type as higher priority via a higher priority channel, or lower priority via a lower priority channel. The method may include determining, for packets to streams classified as higher priority, a queue from one or more secondary queues to be used for transmission and a departure timestamp for each packet according to a latency budget for the application type. The method may include communicating the higher priority packets with the departure timestamp to a corresponding queue from one or more secondary queues based on the application type. A transmission scheduler may prioritize the transmission of packets from the secondary queues based on the departure timestamp.
Inventors
- RAJESH SHANKARRAO MAMIDWAR
- Sherman Chen
- GORDON YONG LI
- Michael Glik
- Yoram Gorsetman
Assignees
- AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Dates
- Publication Date
- 20260317
- Application Date
- 20250402
- Priority Date
- 20240430
Claims (20)
- 1. A method characterized in that it comprises: receiving, by a latency controller in a device, a plurality of packets from a plurality of streams, each of the plurality of packets including an arrival timestamp, the latency controller using a higher priority channel and a lower priority channel to communicate packets from each of the plurality of streams, the lower priority channel using a first queue to queue packets for transmission of lower priority packets and the higher priority channel using one or more second queues, each having a latency budget based on at least one application type, for transmission of higher priority packets; classifying, by the latency controller based at least on the application type, each of the plurality of streams for transmission as higher priority via the higher priority channel or lower priority via the lower priority channel; To determine, by the latency controller, for packets of each of the plurality of flows classified as having the highest priority, a queue from one or more secondary queues to be used for transmission and a departure timestamp for each of the packets according to the latency budget for the application type; and to communicate, by the latency controller, each of the highest priority packets with the departure timestamp to a corresponding queue from one or more secondary queues based at least on the application type, wherein a transmission scheduler prioritizes the transmission of packets from one or more secondary queues based at least on the departure timestamp.
- 2. Method, according to claim 1, characterized in that it further comprises including, by the device, the arrival timestamp with each of the plurality of packages.
- 3. A method according to claim 1, characterized in that it further comprises determining, by the latency controller, the departure timestamp based at least on the arrival timestamp plus a latency time for the latency budget allocated to each queue of one or more secondary queues.
- 4. A method according to claim 1, characterized in that it further comprises classifying, by the latency controller, the highest priority streams based at least on the application type, being either video or audio.
- 5. A method according to claim 1, characterized in that it further comprises communicating, via the latency controller, packet streams of lower priority packets, without the start timestamp, to the first queue of the lowest priority channel.
- 6. A method according to claim 1, characterized in that the transmission scheduler identifies, for one or more packets in one or more second queues, that the departure time stamp has passed and schedules the one or more packets using a higher priority.
- 7. Method, according to claim 1, characterized in that the transmission scheduler prioritizes packets from one or more second queues for transmission with an earlier time between the starting timestamps.
- 8. Method, according to claim 1, characterized in that the transmission scheduler reorders packets for transmission from one or more second queues based at least on starting timestamps.
- 9. A method according to claim 1, characterized in that the latency controller reorders packets into one or more second queues based at least on starting timestamps.
- 10. A method according to claim 1, characterized in that the first queue and one or more second queues are implemented on one of the same device or across a plurality of different devices.
- 11. A method according to claim 1, characterized in that the latency controller is in a device comprising one of the following: an access point, a cable modem, a cable modem termination system, an optical line terminal (OLT), an optical network unit (OLU), a digital subscriber line (DSL), or a digital subscriber line access multiplexer (DSLAM).
- 12. Method, according to claim 1, characterized in that the transmission scheduler uses the starting timestamp of packets in one or more second queues to transmit packets according to either a rhythm mode or a burst mode.
- 13. A system characterized in that it comprises: a latency controller in a device communicating with a first queue for a lower priority channel and one or more second queues for one or more higher priority channels to communicate packets, each of the one or more second queues associated with a latency budget based on at least one application type; wherein the latency controller is configured to: receive a plurality of packets from a plurality of streams, each of the plurality of packets including an arrival timestamp, using a higher priority channel and the lower priority channel to communicate packets from each of the plurality of streams, the lower priority channel using the first queue to queue packets for transmission of lower priority packets and the higher priority channel using one or more second queues, each having the latency budget based on at least the application type, for transmission of higher priority packets; to classify, based at least on the application type, each of the plurality of flows for transmission as higher priority via the one or more higher priority channels or lower priority via the lower priority channel; to determine for packets for each of the plurality of flows classified as higher priority, a queue from one or more second queues to be used for transmission and a departure timestamp for each of the packets according to the latency budget for the application type; and to communicate each of the higher priority packets with the departure timestamp to a corresponding queue from one or more second queues based at least on the application type, wherein a transmission scheduler prioritizes the transmission of packets from one or more second queues based at least on the departure timestamp.
- 14. System according to claim 13, characterized in that the latency controller is additionally configured to determine the departure timestamp based at least on the arrival timestamp plus a latency time for the latency budget allocated to each queue of one or more secondary queues.
- 15. System according to claim 13, characterized in that the latency controller is additionally configured to classify higher priority streams based at least on the application type, being either video or audio.
- 16. System according to claim 13, characterized in that the latency controller is additionally configured to include the departure timestamp with each of the packets being communicated to the corresponding queue of one or more secondary queues.
- 17. System according to claim 13, characterized in that the transmission scheduler prioritizes the transmission of packets from one or more second queues according to the oldest starting timestamps.
- 18. A system characterized in that it comprises: a network device in a computing environment of a first network; the network device providing access to the Internet and to one or more second networks to one or more devices in the computing environment of the first network; a latency controller in the network device configured to: identify an arrival timestamp for packets from a plurality of flows being communicated to one or more devices; classify, based on at least one application type, each of the plurality of flows for transmission as higher priority or lower priority; determine, for packets from each of the plurality of flows classified as higher priority, a departure timestamp for each of the packets according to a latency budget for the application type; and communicate each of the higher priority packets with the departure timestamp to a corresponding queue of one or more queues based at least on the transmission request type according to the departure timestamp.
- 19. System according to claim 18, characterized in that the network device comprises one of an access point, a cable modem, a cable modem termination system, an optical line terminal (OLT), an optical network unit (OLU), a digital subscriber line (DSL) or a digital subscriber line access multiplexer (DSLAM).
- 20. System according to claim 18, characterized in that a transmission scheduler prioritizes the transmission of packets from one or more queues to one or more devices according to an earlier start time.
Description
Dissemination Field [001] This disclosure generally refers to systems and methods for queue management. Queues may include queues internal to one or more devices, or across multiple devices in a networked environment. Background to the Disclosure [002] In recent decades, the market for wireless communication devices has grown by orders of magnitude, fueled by the use of portable devices and increased connectivity and data transfer between all types of devices. Digital switching techniques have facilitated the large-scale deployment of affordable and user-friendly wireless communication networks. Furthermore, improvements in the manufacturing of digital and radio frequency (RF) circuits, as well as advances in circuit integration and other aspects, have made wireless equipment smaller, cheaper, and more reliable. Wireless communication can operate according to various standards, such as IEEE 802.11x, Bluetooth, Global System for Mobile Communications (GSM), and Code Division Multiple Access (CDMA). As higher data transfer rates, network density, and other changes develop, increasingly latency-sensitive data is provided across various networks. However, network congestion and complexity can impose delays between various communications. For example, a portion of communication latency may be related to periods of time during which a message is queued for transmission or other processing. Summary [003] Packets can be associated with various priorities. For example, some packets may include latency-sensitive information. Although various methods can queue or process packets according to a priority (e.g., high and low priority), such queues may not meet the timeliness constraints of each of a variety of data types. Systems and methods of the present disclosure can manage packet priorities to meet the constraints. For example, a first classification may correspond to a first timeliness constraint, a second classification may correspond to a second timeliness constraint, and a third classification may correspond to a third timeliness constraint. The classifier can classify received packets according to the various classifications. An arrival timestamp generator can provide an arrival timestamp incident to an arrival time. A departure timestamp generator can generate a departure timestamp based on the arrival timestamp and the classification. A controller can sequence the packets according to the departure timestamps. [004] Several embodiments disclosed in the present invention relate to a method. The method or several operations thereof may be performed by a latency controller in a device. The method may include receiving packets from multiple streams. Each of the packets may include an arrival timestamp. The method may include using a higher priority channel and a lower priority channel to communicate packets from each of the plurality of streams, the lower priority channel using a first queue to queue packets for transmission of lower priority packets and the higher priority channel using one or more second queues for transmission of higher priority packets. One or more queues may have a latency budget based on at least one application type. The method may include classifying, based at least on the application type, each of the streams for transmission as higher priority via the higher priority channel or lower priority via the lower priority channel. The method may include determining, for packets in each of the flows classified as highest priority, a queue from one or more secondary queues to be used for transmission and a departure timestamp for each packet according to the latency budget for the application type. The method may include assigning each of the highest priority packets with the departure timestamp to a corresponding queue from one or more secondary queues based at least on the application type. A transmission scheduler may prioritize the transmission of packets from one or more secondary queues based at least on the departure timestamp. [005] In some modalities, the method includes including, via the device, the arrival timestamp with each of the packages. [006] In some modes, the method includes determining, by the latency controller, the departure timestamp based at least on the arrival timestamp plus a latency time for the latency budget assigned to each queue of one or more second queues. [007] In some modes, the method includes classifying the highest priority streams based at least on the type of application, whether it is video or audio. [008] In some modes, the method involves communicating packets of lower priority packet streams, without the start timestamp, to the first queue of the lowest priority channel. [009] In some modes, the method involves identifying by the transmission scheduler, for one or more packets in one or more of the second queues, that the starting timestamp has passed and scheduling one or more packets using a higher priority responsive to the identification of the s