Low latency, low loss, scalable throughput, and improved latency

CN122580841APending Publication Date: 2026-08-14CISCO TECHNOLOGY INC
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-11-14
Publication Date
2026-08-14

Smart Images

  • Figure CN122580841A_ABST
    Figure CN122580841A_ABST
Patent Text Reader

Abstract

It can provide low-latency, low-loss, scalable throughput (L4S) latency improvements. Improving L4S can include determining that traffic in the L4S queue has exceeded a first threshold. In response to determining that traffic in the L4S queue has exceeded the first threshold, the priority of the L4S queue is increased. When it is determined that traffic in the L4S queue has exceeded a second threshold, a congestion notification is sent.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] Cross-references to related applications This application claims priority to U.S. Patent Application No. 18 / 786,311, filed July 26, 2024, and to U.S. Provisional Application No. 63 / 598,932, filed November 14, 2023, the entire disclosure of which is incorporated herein by reference. Technical Field

[0002] This disclosure generally relates to providing low-latency, low-loss, scalable throughput (L4S) latency improvements. Background Technology

[0003] In computer networks, a wireless access point (AP) is a networking hardware device that allows Wi-Fi-compatible client devices to connect to wired networks and other client devices. An AP typically connects to a router as a standalone device (directly or indirectly via a wired network), but it can also be an integrated part of the router itself. Several APs can also work together, via direct wired or wireless connections, or through a central system commonly known as a Wireless Local Area Network (WLAN) controller. An AP differs from a hotspot, which is a physical location where Wi-Fi access to a WLAN is available.

[0004] Before the advent of wireless networks, setting up computer networks in commercial settings, homes, or schools typically required laying numerous cables through walls and ceilings to provide network access to all networked devices in the building. With the advent of wireless access points (APs), network users can add devices that can access the network with little or no cabling. An AP connects to a wired network and then provides a radio frequency link for other wireless devices to access that network. Most APs support connections from multiple wireless devices. APs are built to support the standard of transmitting and receiving data using these radio frequencies. Attached Figure Description

[0005] Various embodiments of the present disclosure are illustrated in conjunction with the accompanying drawings, which are included in and constitute a part of this disclosure. In the drawings: Figure 1 This is a block diagram of an operating environment for low-latency, low-loss, scalable throughput (L4S) latency improvement according to aspects of this disclosure.

[0006] Figure 2 This is a block diagram of an L4S queuing system according to aspects of this disclosure.

[0007] Figure 3 This is a flowchart of a method for L4S queuing according to aspects of this disclosure.

[0008] Figure 4This is a flowchart of a method for hybrid L4S queuing according to aspects of this disclosure.

[0009] Figure 5 This is a flowchart of a method for improving L4S latency according to aspects of this disclosure.

[0010] Figure 6 It is a block diagram of a computing device according to aspects of this disclosure.

[0011] Figure 7 This is a block diagram of a wireless device according to aspects of this disclosure. Detailed Implementation

[0012] Overview It can provide low-latency, low-loss, scalable throughput (L4S) latency improvements. Improving L4S can include determining that traffic in the L4S queue has exceeded a first threshold. In response to determining that traffic in the L4S queue has exceeded the first threshold, the priority of the L4S queue is increased. When it is determined that traffic in the L4S queue has exceeded a second threshold, a congestion notification is sent.

[0013] The foregoing overview and the following example embodiments are merely illustrative and explanatory, and should not be construed as limiting the scope of the described and claimed disclosure. Furthermore, other features and / or variations may be provided in addition to the described features and / or variations. For example, embodiments of this disclosure may be provided for various combinations and sub-combinations of features described in the example embodiments.

[0014] Example Implementation The following detailed description refers to the accompanying drawings. Where possible, the same reference numerals are used in the drawings and the following description to refer to the same or similar elements. While embodiments of this disclosure can be described, modifications, adjustments, and other implementations are possible. For example, elements shown in the drawings may be replaced, added, or modified, and the methods described herein may be modified by replacing, reordering, or adding stages. Therefore, the following detailed description does not limit this disclosure. Rather, the appropriate scope of this disclosure is defined by the appended claims.

[0015] Low Latency, Low Loss, and Scalable Throughput (L4S) is an architecture and protocol described in Internet Engineering Task Force (IETF) standards (e.g., IETF Drafts 9330, 9331, and 9332). L4S is implemented to provide low queuing latency, low congestion loss, and scalable throughput control for streaming video, multiplayer games, and other real-time applications. By handling data packet processing and reducing network congestion, L4S minimizes latency caused by queue bloat and achieves smoother, more efficient data transmission.

[0016] Integrating L4S with existing network infrastructure and ensuring compatibility with a wide range of applications can be challenging. For example, L4S may require several features compatible with its integration requirements. These features may include: scalable congestion control at the sending host that can maintain an average congestion signaling time as flow rates expand; packet identifiers at the Internet Protocol (IP) layer, used as an explicit congestion control signaling protocol; support for detailed explicit congestion notification (ECN) feedback; the ability to isolate traffic in separate queues, allowing L4S traffic to be kept on shallow queues; and a conditional priority scheduler that can prioritize L4S traffic over other types of traffic. L4S requirements can vary depending on the infrastructure of the network implementing it.

[0017] L4S has proven beneficial, particularly for real-time services, as has been demonstrated in several network environments. The positive effects of L4S are realized when it is supported at the most critical elements of the network path. The shared medium nature of wireless Wi-Fi channels makes this link one of the most critical points in the network path. When congestion is detected on the link (e.g., a queue exceeding a shallow threshold), the L4S protocol specifies that a notification (e.g., ECN) should be used to notify the traffic source of the congestion. The traffic source can then reduce its transmission rate in response to receiving this notification. When the source is on the other side of the path, it may require the entire round-trip time (RTT) to react to the congestion notification. Therefore, the operational improvements that L4S can provide may be diminished by the slow response time.

[0018] L4S notifications are typically issued in a binary state, where the link is considered acceptable (e.g., no congestion) or unacceptable (e.g., congested). In the latter case, a congestion notification (e.g., ECN) can be sent to the traffic source. This binary logic works well for wired nodes, where congestion is a result of traffic accumulation and is therefore well-defined. However, wireless networks (e.g., Wi-Fi networks) can be more random or unpredictable. Failure to send frames within the expected timeframe could be due to congestion, but it could also be caused by various sources of interference that can appear and disappear rapidly. Therefore, the ECN mechanism may not be well-suited for media like Wi-Fi. A more flexible L4S approach is needed to properly integrate L4S into wireless networks, such as those described by the Institute of Electrical and Electronics Engineers (IEEE) 802.11 standard and its amendments.

[0019] Figure 1This is a block diagram of an operating environment 100 for low-latency, low-loss, scalable throughput (L4S) latency improvement. Operating environment 100 includes an access point (AP) 102, one or more clients 104, a network system 106, and a traffic scheduler 110. AP 102 enables devices within its range (including clients 104) to connect to network devices and applications, including network system 106. Therefore, AP 102 can provide one or more links for clients 104 to communicate with other devices (including network system 106). Clients 104 can be any device connected to the network (e.g., communicating with other devices on the network) (e.g., smartphones, tablets, personal computers, servers, etc.). Network system 106 can be the Internet and / or other network systems that clients 104 can communicate with via wireless networks.

[0020] In the example shown, all clients 104 have links to the network via AP 102. However, one or more additional APs 102 may be connected in parallel or in series between clients 104 and network system 106. In other examples, the operating environment 100 may have a different number of devices, including APs, STAs, traffic schedulers, controllers, and / or other network devices.

[0021] Traffic scheduler 110 can manage traffic to devices in operating environment 100. In some embodiments, traffic scheduler 110 is a controller (e.g., a wireless LAN controller). In other embodiments, traffic scheduler 110 is a component of AP 102 and / or other APs in the wireless network. Traffic scheduler 110 can implement L4S designed for improvements in wireless networks to provide lower queuing, lower latency, lower congestion loss, and scalable throughput control.

[0022] The components of the operating environment 100 described above (e.g., AP 102, AP 102, client 104, network system 106, traffic scheduler 110, etc.) can be implemented in hardware, software (including firmware, resident software, microcode, etc.), a combination of hardware and software, or any other circuit or system. The components of the operating environment 100 can be implemented in the form of discrete electronic components, packaged or integrated electronic chips containing logic gates (e.g., application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), system-on-a-chip (SoCs), etc.), circuits utilizing microprocessors, or circuits on a single chip containing electronic components or a microprocessor. Furthermore, the components of the operating environment 100 can also be implemented using other technologies capable of performing logical operations (e.g., AND, OR, and NOT), including but not limited to mechanical, optical, fluid, and quantum technologies. See below for details. Figure 6 and Figure 7In more detail, the components of the operating environment 100 can be implemented in the computing device 600 and / or the communication device 700.

[0023] L4S can be implemented to improve the functionality of wireless networks, such as the wireless network in operating environment 100. Wireless network traffic includes traffic (e.g., packets) sent by client 104 and network system 106 (e.g., the Internet). Traffic on the wireless network (including traffic from client 104 and network system 106) may have irregular traffic rates (i.e., traffic volume that varies over time, including bursts during periods of high traffic). During periods of high traffic, the wireless network system may send more packets than one or more parts of the network (e.g., AP 102, other routers, etc.) can handle. When the arrival rate of traffic exceeds the service rate, traffic forms queues and introduces latency and congestion. For example, a high volume of traffic may be received on the link for a short period, causing congestion until the queue returns to its normal state or some network technology or algorithm (e.g., Weighted Random Early Detection (WRED)) reduces the queue. However, on Wi-Fi links, congestion may be caused by collisions (e.g., micro-collisions) or temporal disturbances that do not reflect overall queue congestion or may resolve quickly. Therefore, even if congestion occurs due to collisions and / or interference, the traffic may be low enough for the network to handle.

[0024] Current L4S architectures may result in congestion notifications (e.g., ECNs) being sent to traffic sources (e.g., one of client 104 or network system 106). When utilizing ECNs, traffic schedulers 110 and / or APs 102 can set an ECN flag in the traffic (e.g., in the header) to signal the congestion notification. In response to receiving a congestion notification, the traffic source can change its operation, such as reducing the traffic rate, canceling or pausing queued traffic, etc. Signaling congestion notifications allows devices that facilitate traffic management to reduce queue sizes or prevent queues from overflowing without causing excessive packet loss. However, if a congestion notification is sent in response to congestion caused by collisions and / or interference, the network may be able to accommodate the traffic source without requiring the traffic source to adjust its operation. Furthermore, congestion from collisions and interference may be transient and, in some cases, not timely enough to change operation (e.g., the congestion eases before the RTT of communication with the traffic source). Therefore, the traffic source may have already changed its operation in a way that leads to performance degradation, which is unnecessary. The traffic scheduler 110 can implement improved L4S to avoid unnecessarily changing the operation of the traffic source when the traffic source cannot adjust its operation fast enough and / or the traffic load can be handled.

[0025] Figure 2This is a block diagram of an L4S queuing system 200. The L4S queuing system 200 includes an L4S sender 202, an L4S receiver 204, an L4S queue 210, a sender 220, a receiver 222, a classic queue 224, and a classifier 230. The L4S sender 202 can be a traffic source, such as a device in client 104 or network system 106, sending latency-sensitive traffic and thus being prioritized by L4S. Latency-sensitive traffic can include traffic associated with video conferencing, online gaming, virtual reality, alternate reality, streaming media, etc. The L4S receiver 204 can be the destination of the latency-sensitive traffic, such as a device in client 104 or network system 106. The L4S queue 210 is a queue used to manage latency-sensitive traffic 212 from the traffic source. In some embodiments, the L4S queue 210 can be a shallow queue. In some embodiments, more than one L4S sender 202 can add traffic to the L4S queue 210 and / or more than one L4S receiver 204. Therefore, L4S queue 210 can manage traffic from multiple L4S senders 202. Furthermore, there can be multiple L4S queues 210. For example, each link can have an L4S queue 210.

[0026] Sender 220 can be a traffic source, such as a device in client 104 or network system 106, that may be sending traffic that is not latency-sensitive. Receiver 222 can be the destination of traffic from sender 220, such as a device in client 104 or network system 106. Classic queue 224 can be a queue for traffic 226 that may not be latency-sensitive. In some embodiments, there may be more than one sender 220 adding traffic to classic queue 224 and / or more than one receiver 222. In some example implementations, based on the type of traffic the device is sending, the device may be both L4S sender 202 and sender 220, and / or both L4S receiver 204 and receiver 222, or even sending and receiving simultaneously.

[0027] Classifier 230 can classify traffic types and sort latency-sensitive traffic 212 into L4S queue 210 and traffic 226 into classic queue 224. Classifier 230 can sort traffic based on device, device user (e.g., premium customer vs. non-premium customer), traffic type (e.g., latency-sensitive traffic vs. non-latency-sensitive traffic, traffic priority), etc.

[0028] To implement improved L4S, traffic scheduler 110 and / or another network device configure L4S queue 210 using multiple thresholds. These thresholds can be set for the amount of latency-sensitive traffic 212 in L4S queue 210, the percentage of available capacity of L4S queue 210, the percentage of available capacity of associated devices (e.g., AP 102), etc. These thresholds can vary between different L4S queues 210, for example, based on the capacity of L4S queue 210, the capacity of associated devices, expected clients, etc. In the illustrated example, L4S queue 210 includes a first threshold 214 and a second threshold 216. The first threshold 214 is set to be reached before the second threshold 216. In other embodiments, L4S queue 210 may have additional thresholds.

[0029] Once the traffic scheduler 110 detects that the latency-sensitive traffic 212 queued in the L4S queue 210 has exceeded the first threshold 214, the traffic scheduler 110 can assign a higher priority to the L4S queue 210, and therefore assign a higher priority to the latency-sensitive traffic 212 in the L4S queue 210. For example, a higher priority can be assigned so that the latency-sensitive traffic 212 has priority over traffic in other queues (e.g., traffic 226 in the classic queue 224) and / or other traffic types. The traffic scheduler 110 can postpone sending congestion notifications with the intention of reducing the size of the latency-sensitive traffic 212 in the L4S queue 210 more quickly by assigning a higher priority.

[0030] In some embodiments, congestion notification may include sending an ECN flag. The ECN flag may use two or more bits in the packet header to indicate the status of L4S queue 210. For example, an ECN bit set to 00 indicates that traffic does not support ECN, 01 indicates that traffic supports ECN (0), 10 indicates that traffic supports ECN (1), and 11 indicates congestion. Therefore, the ECN bit may be set to 11 when a second threshold 216 is reached. When a traffic source receives a packet with the ECN bit set to 11, the traffic source may change its operation, such as reducing the transmission rate, pausing or canceling the transmission, etc. In some embodiments, the traffic scheduler 110 may increase the priority of L4S queue 210 by setting a shorter waiting period for transmitting traffic, for example, by using an Arbitrated Inter-Frame Spacing (AIFS) (e.g., changing the AIFS number (AIFSN)) and / or changing the contention window minimum (CW). Min This is to accelerate the transmission of latency-sensitive traffic 212 in L4S queue 210.

[0031] If the size of L4S queue 210 remains above the first threshold 214 but below the second threshold 216, traffic scheduler 110 may maintain the higher priority of L4S queue 210 without sending congestion notifications, such as marking an ECN. If the size of L4S queue 210 decreases and falls below the first threshold 214, traffic scheduler 110 may instruct or otherwise return L4S queue 210 to normal operation. If the size of L4S queue 210 further increases and crosses above or reaches the second threshold 216, traffic scheduler 110 and / or AP 102 may send congestion notifications (e.g., ECN marking) to send back information about congestion to the traffic source (e.g., L4S sender 202) and reduce the traffic rate.

[0032] Figure 3 This is a flowchart of method 300 for L4S queuing. Method 300 can begin at start box 305 and proceed to operation 310. In operation 310, L4S queue thresholds are configured. For example, traffic scheduler 110 configures a first threshold 214 and a second threshold 216, including, for example, setting the placement of the thresholds (e.g., the first threshold 214 is at 75% of the depth of L4S queue 210, and the second threshold 216 is at 90% of the depth of L4S queue 210).

[0033] In decision 320, it is determined whether the traffic has exceeded a first threshold. For example, traffic scheduler 110 determines whether latency-sensitive traffic 212 has exceeded a first threshold 214. If traffic scheduler 110 determines that the traffic has not yet exceeded the first threshold 214 or has fallen back below the first threshold 214, then method 300 proceeds to operation 330. In operation 330, traffic scheduler 110 may allow L4S queue 210 to operate normally, or do nothing if L4S queue 210 is already operating normally. Normal operation may include normal priority and other normal operation characteristics of L4S queue 210. Method 300 may proceed from operation 330 back to decision 320, allowing traffic scheduler 110 to continue monitoring L4S queue 210 and identifying when the traffic has exceeded the first threshold 214.

[0034] If the traffic scheduler 110 determines in decision 320 that the threshold 214 has been exceeded, method 300 can proceed to operation 335. In operation 335, a higher priority is assigned or maintained. For example, the traffic scheduler 110 assigns a higher priority to the L4S queue 210, or maintains that higher priority if the L4S queue 210 is already at a higher priority. The higher priority allows the L4S queue 210 to clear latency-sensitive traffic 212 faster than during normal operation. For example, the traffic scheduler 110 can use AIFS and / or change CW. Min .

[0035] In decision 340, it is determined whether the traffic has exceeded a second threshold. For example, traffic scheduler 110 determines whether latency-sensitive traffic 212 has exceeded a second threshold 216. If traffic scheduler 110 determines that the traffic has not exceeded the second threshold 216, method 300 can proceed back to decision 320 so that traffic scheduler 110 can continue evaluating L4S queue 210 (e.g., determining whether latency-sensitive traffic 212 remains above a first threshold 214 or falls below the first threshold 214). In some examples, traffic scheduler 110 may delay for a period of time to allow L4S queue 210 to attempt to clear traffic before re-evaluating.

[0036] If the traffic scheduler 110 determines in decision 340 that the flow has exceeded the second threshold 216, method 300 may proceed to operation 350. In operation 350, a congestion notification is sent. For example, the traffic scheduler 110 may send a congestion notification to L4S sender 202 and / or sender 220. In some embodiments, the congestion notification may include an ECN tag. After operation 350, method 300 may proceed to operation 360, and the traffic scheduler 110 waits until the latency-sensitive traffic 212 falls below a threshold. In some embodiments, the traffic scheduler 110 waits until the L4S queue 210 falls below the second threshold 216. In other embodiments, the traffic scheduler 110 waits until the L4S queue 210 falls below a first threshold 214. In still some embodiments, method 300 may proceed directly back to decision 320 or decision 340. After operation 360, method 300 may proceed back to decision 320 so that the traffic scheduler 110 continues to monitor the L4S queue 210. In some embodiments, method 300 may instead proceed to decision 340. Alternatively, method 300 may end at end box 370.

[0037] Figure 4 This is a flowchart of a method 400 for hybrid L4S queuing. In some embodiments, the traffic scheduler 110 may utilize a hybrid notification L4S method, such as method 400. In the hybrid notification method, the traffic scheduler 110 may send congestion notifications based on different criteria, depending on whether latency-sensitive traffic 212 in the L4S queue 210 has exceeded one or more current thresholds. Method 400 may include the operations of method 300, combined with additional operations for sending further congestion notifications that identify the current threshold level and how to operate at different threshold levels.

[0038] Method 400 can begin at start box 405. Method 400 then proceeds to operation 310, and traffic scheduler 110 configures L4S queue 210 thresholds, such as a first threshold 214 and a second threshold 216. Method 400 then proceeds to decision 320 so that traffic scheduler 110 determines whether latency-sensitive traffic 212 has exceeded the first threshold 214. If traffic scheduler 110 determines that it has not exceeded the first threshold 214 or that latency-sensitive traffic 212 has fallen below the first threshold 214, then method 400 proceeds to operation 330. In operation 330, traffic scheduler 110 can enable L4S queue 210 to operate normally, or do nothing if L4S queue 210 is already operating normally. In operation 410, a normal operation notification is sent. For example, traffic scheduler 110 sends a normal operation notification to L4S sender 202 and / or sender 220. A normal operation notification can inform the receiving sender(s)(s) (e.g., L4S sender(s) 202, 220) that L4S queue 210 is operating normally, without requiring any changes to the operation of the sender(s)(s). If L4S queue 210 is already operating normally when operation 330 is reached, the traffic scheduler 110 may not send a normal operation notification, as the sender(s)(s) should already know that L4S queue 210 is operating normally. Method 400 can proceed from operation 410 back to decision 320, allowing the traffic scheduler 110 to continue monitoring L4S queue 210 and identify when it crosses above the first threshold 214.

[0039] If the traffic scheduler 110 determines in decision 320 that the threshold 214 has been exceeded, method 400 may proceed to operation 335. In operation 335, the traffic scheduler 110 assigns a higher priority to the L4S queue 210, or maintains that higher priority if the L4S queue 210 is already at a higher priority. In operation 420, a first threshold notification is sent. For example, the traffic scheduler 110 sends a first threshold notification to one or more sender devices. If a higher priority has already been set in operation 335, in some example implementations, the traffic scheduler 110 may skip sending the first threshold notification.

[0040] A first threshold notification may notify one or more sending devices that latency-sensitive traffic 212 has exceeded a first threshold 214 and that operations should be modified to address the L4S queue 210 exceeding the first threshold 214. The sending devices may modify the operations to a lesser extent than a typical congestion notification (e.g., a notification sent after exceeding a second threshold 216). For example, the transmission rate may be reduced, but to a lesser extent than if the transmission rate were reduced when exceeding the second threshold 216. The first threshold notification may include an ECN flag identifying whether the traffic has exceeded the first threshold 214. In some examples, the ECN flag may include more than two bits to indicate that latency-sensitive traffic 212 has exceeded the first threshold 214 (e.g., bits set to 110 to indicate exceeding the first threshold 214).

[0041] In decision 340, traffic scheduler 110 determines whether latency-sensitive traffic 212 has exceeded a second threshold 216. If traffic scheduler 110 determines that it has not exceeded the second threshold 216, method 400 can proceed back to decision 320 so that traffic scheduler 110 can continue evaluating L4S queue 210 (e.g., determining whether latency-sensitive traffic 212 remains above a first threshold 214 or falls below the first threshold 214). In some examples, traffic scheduler 110 may delay for a period of time to allow L4S queue 210 to attempt to clear traffic before re-evaluating.

[0042] If the traffic scheduler 110 determines in decision 340 that the traffic has exceeded a second threshold 216, method 400 can proceed to operation 430 and send a second threshold notification. For example, the traffic scheduler 110 can send a second threshold notification to one or more sending devices, indicating that the latency-sensitive traffic 212 has exceeded the second threshold 216, so that the sending devices can change their operations accordingly. The second threshold notification may include an ECN flag identifying that the traffic has exceeded the second threshold 216. For example, the ECN flag may include more than two bits to indicate that the latency-sensitive traffic 212 has exceeded the second threshold 216 (e.g., bits are set to 111 to indicate that the traffic has exceeded the second threshold 216). In response to the second threshold notification, the sending devices can further reduce the transmission rate, suspend transmission, cancel transmission, etc., from actions previously performed in response to the first threshold notification.

[0043] After operation 430, method 400 may proceed to operation 360, and traffic scheduler 110 may wait until latency-sensitive traffic 212 falls below a threshold. In some embodiments, traffic scheduler 110 waits until L4S queue 210 crosses below a second threshold 216. In other embodiments, traffic scheduler 110 waits until L4S queue 210 crosses below a first threshold 214. In still other embodiments, method 400 may proceed directly back to decision 320 or decision 340. After operation 360, method 400 may proceed to operation 440 and may send a lower threshold notification to indicate which thresholds latency-sensitive traffic 212 has crossed below. For example, if traffic scheduler 110 waits until L4S queue 210 falls below the second threshold 216, traffic scheduler 110 sends a first threshold notification. If traffic scheduler 110 waits until L4S queue 210 falls below the first threshold 214, traffic scheduler 110 sends a normal operation notification. Method 400 can then proceed back to decision 320 so that the traffic scheduler 110 can continue monitoring the L4S queue 210. In some embodiments, method 400 can instead proceed to decision 340. Alternatively, method 400 can end at end box 450.

[0044] Figure 5 This is a flowchart of a method 500 for improving L4S latency according to aspects of this disclosure. Method 500 may include any operations and decisions of method 300 and / or method 400. For example, although method 500 may be linear in the illustrated example, method 500 may incorporate decision steps to determine which operation to proceed to when crossing different thresholds above and below.

[0045] Method 500 can begin at start box 505 and proceed to operation 510. In operation 510, it is determined that the traffic in the L4S queue has exceeded a first threshold. For example, traffic scheduler 110 determines that latency-sensitive traffic 212 has exceeded a first threshold 214.

[0046] In operation 520, the priority of L4S is increased. For example, in response to determining that latency-sensitive traffic 212 in L4S queue 210 has exceeded a first threshold 214, traffic scheduler 110 increases the priority of the L4S queue. Increasing priority may include using AIFS and / or changing CW. Min .

[0047] In operation 530, it is determined that the traffic in the L4S queue has exceeded the second threshold. For example, traffic scheduler 110 determines that the latency-sensitive traffic 212 in L4S queue 210 has exceeded the second threshold 216.

[0048] In operation 540, a congestion notification is sent. For example, in response to determining that latency-sensitive traffic 212 in L4S queue 210 has exceeded a second threshold 216, traffic scheduler 110 sends a congestion notification to one or more sender devices (e.g., L4S sender 202 and / or sender 220). In some embodiments, the congestion notification includes an ECN tag.

[0049] Method 500 may include configuring a first threshold and a second threshold to a given level of the L4S queue, for example, traffic scheduler 110 sets a first threshold 214 and a second threshold 216. In some embodiments, method 500 may also include sending a first threshold notification in response to determining that traffic in the L4S queue has exceeded the first threshold, wherein the congestion notification is a second threshold notification. In some embodiments, method 500 may include determining that traffic in the L4S queue has fallen below the first threshold, and in response to determining that traffic in the L4S queue has fallen below the first threshold, lowering the priority of the L4S queue. In some embodiments, method 500 may include determining that traffic in the L4S queue has fallen below (i) the first threshold 214, (ii) the second threshold 216, or (iii) both the first threshold 214 and the second threshold 216, and in response, sending a lower threshold notification. Method 500 may end at closing box 550.

[0050] Figure 6 This is a block diagram of computing device 600. (For example...) Figure 6 As shown, computing device 600 may include a processing unit 610 and a memory unit 615. Memory unit 615 may include software module 620 and database 625. When executed on processing unit 610, software module 620 may perform, for example, operations related to... Figure 1 , Figure 2 , Figure 3 , Figure 4 and Figure 5 The process used for L4S latency improvement. Computing device 600 can provide an operating environment for, for example, AP 102, client 104, network system 106, traffic scheduler 110, L4S sender 202, L4S receiver 204, L4S queue 210, sender 220, receiver 222, classic queue 224, etc. AP 102, client 104, network system 106, traffic scheduler 110, L4S sender 202, L4S receiver 204, L4S queue 210, sender 220, receiver 222, classic queue 224, etc., can operate in other environments and are not limited to computing device 600.

[0051] Computing device 600 can be implemented using Wi-Fi access points, tablet devices, mobile devices, smartphones, telephones, remote control devices, set-top boxes, digital video recorders, cable modems, personal computers, network computers, mainframes, routers, switches, server clusters, smart TVs, network storage devices, network relay devices, or other similar microcomputer-based devices. Computing device 600 can include any computer operating environment, such as handheld devices, multiprocessor systems, microprocessor-based or programmable transmitting electronics, minicomputers, mainframes, etc. Computing device 600 can also be implemented in a distributed computing environment, where tasks are performed by remote processing devices. The systems and devices described above are examples, and computing device 600 can include other systems or devices.

[0052] Figure 7 The illustration shows an implementation of a communication device 700, which can achieve... Figures 1 to 5 The communication device 700 may include one or more of the following: AP 102, client 104, network system 106, traffic scheduler 110, L4S sender 202, L4S receiver 204, L4S queue 210, sender 220, receiver 222, classic queue 224, and controller. In various implementations, the communication device 700 may include logic circuitry. Logic circuitry may include physical circuitry to perform, for example, actions related to… Figures 1 to 4 The operations described in one or more of the following: AP 102, client 104, network system 106, traffic scheduler 110, L4S sender 202, L4S receiver 204, L4S queue 210, sender 220, receiver 222, classic queue 224, controller, etc. (As follows) Figure 7 As shown, the communication device 700 may include, but is not limited to, one or more of the following: radio interface 710, baseband circuit 730, and / or computing device 600.

[0053] The communication device 700 can be implemented in a single computing entity. Figures 1 to 5 The structure and / or operation of the AP 102, client 104, network system 106, traffic scheduler 110, L4S sender 202, L4S receiver 204, L4S queue 210, sender 220, receiver 222, classic queue 224, controller, etc., storage media, and logic circuitry may be some or all of these components, for example, entirely within a single device. Alternatively, the communication device 700 may use a distributed system architecture (e.g., client-server architecture, peer-to-peer architecture, master-slave architecture, etc.) to distribute parts of the structure and / or operation.

[0054] Radio interface 710 (which may also include an analog front end (AFE)) may include components or combinations of components suitable for transmitting and / or receiving single-carrier or multi-carrier modulated signals (e.g., including complementary code keying (CCK), orthogonal frequency division multiplexing (OFDM), and / or single-carrier frequency division multiple access (SC-FDMA) symbols), although the configuration is not limited to any particular interface or modulation scheme. Radio interface 710 may include, for example, receiver 715 and / or transmitter 720. Radio interface 710 may include bias control, a crystal oscillator, and / or one or more antennas 725. In additional or alternative configurations, radio interface 710 may use an oscillator and / or one or more filters as needed.

[0055] The baseband circuit 730 can communicate with the radio interface 710 to process, receive, and / or transmit signals, and may include, for example, an analog-to-digital converter (ADC) for down-converting received signals and a digital-to-analog converter (DAC) 735 for up-converting signals for transmission. Furthermore, the baseband circuit 730 may include baseband or physical layer (PHY) processing circuitry for PHY link layer processing of corresponding received / transmitted signals. The baseband circuit 730 may include, for example, media access control (MAC) processing circuitry 740 for MAC / data link layer processing. The baseband circuit 730 may include a memory controller for communicating, for example, with the MAC processing circuitry 740 and / or the computing device 600 via one or more interfaces 745.

[0056] In some configurations, the PHY processing circuitry may include frame building and / or detection modules, combined with additional circuitry (e.g., buffer memory), to build and / or deconstruct communication frames. Alternatively or additionally, the MAC processing circuitry 740 may share some of these functions or perform these processes independently of the PHY processing circuitry. In some configurations, MAC and PHY processing may be integrated into a single circuit.

[0057] Embodiments of this disclosure may be implemented, for example, as a computer process (method), a computing system, or an article of manufacture (e.g., a computer program product or a computer-readable medium). A computer program product may be a computer storage medium readable by a computer system and encoding instructions for performing a computer process. A computer program product may also be a signal propagated on a carrier, which may be read by a computing system and encoded as a computer program for performing a computer process. Therefore, this disclosure may be embodied in hardware and / or software (including firmware, resident software, microcode, etc.). In other words, embodiments of this disclosure may take the form of a computer program product on a computer-usable or computer-readable storage medium having computer-usable or computer-readable program code embodied in that medium for use by or in conjunction with an instruction execution system. A computer-usable or computer-readable medium may be any medium capable of containing, storing, transmitting, propagating, or transporting a program for use by or in conjunction with an instruction execution system, apparatus, or device.

[0058] Computer-usable or computer-readable media can be, for example, but not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, devices, apparatuses, or propagation media. More specific examples of computer-readable media (not an exhaustive list) include: electrical connections having one or more wires, portable computer floppy disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, and portable compact disc read-only memory (CD-ROM). Note that computer-usable or computer-readable media can even be paper or another suitable medium on which programs are printed, because programs can be electronically captured, for example, by optical scanning of paper or other media, and then, if necessary, compiled, interpreted, or otherwise processed in a suitable manner and stored in computer memory.

[0059] While some embodiments of this disclosure have been described, other embodiments may exist. Furthermore, although embodiments of this disclosure have been described in association with data stored in memory and other storage media, data may also be stored in or retrieved from other types of computer-readable media, such as secondary storage devices like hard disks, floppy disks, or CD-ROMs, carrier waves from the Internet, or other forms of RAM or ROM. Moreover, the stages of the disclosed methods may be modified in any way, including by reordering stages and / or inserting or deleting stages, without departing from this disclosure.

[0060] Furthermore, embodiments of this disclosure can be practiced in circuits including discrete electronic components, packaged or integrated electronic chips containing logic gates, circuits utilizing microprocessors, or circuits on a single chip containing electronic components or a microprocessor. Embodiments of this disclosure can also be practiced using other techniques capable of performing logical operations (e.g., AND, OR, and NOT), including but not limited to mechanical, optical, fluid, and quantum technologies. Additionally, embodiments of this disclosure can be practiced within a general-purpose computer or in any other circuit or system.

[0061] Embodiments of this disclosure can be practiced via a system-on-a-chip (SOC), wherein Figure 1 Each or many of the components shown herein can be integrated onto a single integrated circuit. Such a SOC device may include one or more processing units, graphics units, communication units, system virtualization units, and various application functions, all of which can be integrated (or “programmed”) onto a chip substrate as a single integrated circuit. When operating via the SOC, the functions described herein with respect to embodiments of this disclosure can be performed via dedicated logic integrated on a single integrated circuit (chip) along with other components of the computing device 600.

[0062] Embodiments of this disclosure have been described above with reference to block diagrams and / or operating instructions of methods, systems, and computer program products according to embodiments of this disclosure. The functions / actions marked in the blocks may occur in any order other than that shown in the flowcharts. For example, two blocks shown successively may actually be executed substantially simultaneously, or these blocks may sometimes be executed in reverse order, depending on the functions / actions involved.

[0063] Although the specification includes examples, the scope of this disclosure is indicated by the following claims. Furthermore, although the specification has been described in language specific to structural features and / or method actions, the claims are not limited to the features or actions described above. Rather, the specific features and actions described above are disclosed as examples of embodiments of this disclosure.

Claims

1. A method comprising: It was determined that the traffic in the Low Latency, Low Loss, Scalable Throughput (L4S) queue had exceeded the first threshold; In response to determining that the traffic in the L4S queue has exceeded the first threshold, the priority of the L4S queue is increased; It has been determined that the traffic in the L4S queue has exceeded the second threshold; as well as In response to determining that the traffic in the L4S queue has exceeded the second threshold, a congestion notification is sent.

2. The method according to claim 1, further comprising: Configure the first threshold and the second threshold to a given level of the L4S queue.

3. The method according to claim 1 or 2, wherein, The congestion notification includes an Explicit Congestion Notification (ECN) tag.

4. The method according to any one of the preceding claims further includes: In response to determining that the traffic in the L4S queue has exceeded the first threshold, a first threshold notification is sent, wherein the congestion notification is a second threshold notification.

5. The method according to any one of the preceding claims further comprises: It has been determined that the traffic in the L4S queue has fallen below the first threshold; as well as In response to determining that the traffic of the L4S queue has fallen below the first threshold, the priority of the L4S queue is reduced.

6. The method according to any one of the preceding claims, wherein, Increasing the priority of the L4S queue includes any of the following: (i) using an arbitration inter-frame interval, (ii) changing the contention window minimum (CW). Min (iii) Use arbitration inter-frame interval and change the minimum contention window (CW) Min () combination.

7. The method according to any one of the preceding claims further comprises: It is determined that the traffic of the L4S queue has fallen below (i) the first threshold, (ii) the second threshold, or (iii) either the first threshold or the second threshold; and In response, a lower threshold notification is sent.

8. A system comprising: Memory devices; as well as A processing unit, coupled to the memory device, wherein the processing unit is operable to: It was determined that the traffic in the Low Latency, Low Loss, Scalable Throughput (L4S) queue had exceeded the first threshold; In response to determining that the traffic in the L4S queue has exceeded the first threshold, the priority of the L4S queue is increased; It has been determined that the traffic in the L4S queue has exceeded the second threshold; and In response to determining that the traffic in the L4S queue has exceeded the second threshold, a congestion notification is sent.

9. The system of claim 8, wherein the processing unit is further operable to: configure the first threshold and the second threshold to a given level of the L4S queue.

10. The system according to claim 8 or 9, wherein, The congestion notification includes an Explicit Congestion Notification (ECN) tag.

11. The system according to any one of claims 8 to 10, wherein the processing unit is further operable to: send a first threshold notification in response to determining that the traffic in the L4S queue has exceeded the first threshold, wherein, The congestion notification is a second threshold notification.

12. The system according to any one of claims 8 to 11, wherein the processing unit is further operable to: It is determined that the traffic in the L4S queue has fallen below the first threshold; and In response to determining that the traffic of the L4S queue has fallen below the first threshold, the priority of the L4S queue is reduced.

13. The system according to any one of claims 8 to 12, wherein, Increasing the priority of the L4S queue includes any of the following: (i) using an arbitration inter-frame interval, (ii) changing the contention window minimum (CW). Min (iii) Use arbitration inter-frame interval and change the minimum contention window (CW) Min () combination.

14. The system according to any one of claims 8 to 13, wherein the processing unit is further operable to: It is determined that the traffic of the L4S queue has fallen below (i) the first threshold, (ii) the second threshold, or (iii) either the first threshold or the second threshold; and In response, a lower threshold notification is sent.

15. A non-transitory computer-readable medium storing an instruction set, which, when executed, performs a method executed by the instruction set, the method comprising: It was determined that the traffic in the Low Latency, Low Loss, Scalable Throughput (L4S) queue had exceeded the first threshold; In response to determining that the traffic in the L4S queue has exceeded the first threshold, the priority of the L4S queue is increased; It has been determined that the traffic in the L4S queue has exceeded the second threshold; as well as In response to determining that the traffic in the L4S queue has exceeded the second threshold, a congestion notification is sent.

16. The method executed by the instruction set of the non-transitory computer-readable medium of claim 15 further comprises: Configure the first threshold and the second threshold to a given level of the L4S queue.

17. The non-transitory computer-readable medium according to claim 15 or 16, wherein, The congestion notification includes an Explicit Congestion Notification (ECN) tag.

18. The non-transitory computer-readable medium according to any one of claims 15 to 17, wherein the method executed by the instruction set further comprises: In response to determining that the traffic in the L4S queue has exceeded the first threshold, a first threshold notification is sent, wherein the congestion notification is a second threshold notification.

19. The non-transitory computer-readable medium according to any one of claims 15 to 18, wherein the method executed by the instruction set further comprises: It has been determined that the traffic in the L4S queue has fallen below the first threshold; as well as In response to determining that the traffic of the L4S queue has fallen below the first threshold, the priority of the L4S queue is reduced.

20. The non-transitory computer-readable medium according to any one of claims 15 to 19, wherein the method executed by the instruction set further comprises: It is determined that the traffic of the L4S queue has fallen below (i) the first threshold, (ii) the second threshold, or (iii) either the first threshold or the second threshold; and In response, a lower threshold notification is sent.