Apparatus and method for queue management
By applying explicit congestion notification threshold marking and drop policies on the user equipment (UE) side, and coordinating queue management between the transmitter and receiver, the network interface congestion problem is solved, and communication efficiency and quality are improved.
Patent Information
- Application Number
- CN202510506699.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2024-06-07
- Filing Date
- 2025-04-22
- Publication Date
- 2025-12-09
AI Technical Summary
In packet-based communication, uneven network interface capacity leads to congestion, especially in the uplink direction. Existing queue management mechanisms cannot effectively coordinate explicit congestion notifications between transmitters and receivers, resulting in over-marking or dropping of packets and affecting communication efficiency.
By applying an active queue management mechanism on the transmitter side (such as user equipment UE), using explicit congestion notification (ECN) threshold marking and drop policies, the queue management between the transmitter and receiver (such as base station BS) can be coordinated to optimize the communication process.
It reduces excessive packet labeling and dropping, improves network interface utilization, enhances user experience, avoids unnecessary packet rate limiting, and improves communication quality.
Smart Images

Figure CN121098801A_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present disclosure relates to managing packet-based communications using at least one packet queue. BACKGROUND
[0002] Packet-based communications involve communicating by sending and receiving packets of data. The packets can be of the same size or different sizes, and a stream of data is conveyed using a stream of packets. Packets in a network, or communicated through a single interface in a network, can originate from different nodes, or from different applications in a single node. When a packet becomes available for transmission on a busy interface, the packet can be placed in a queue, and then the packet is transmitted from the queue when the interface becomes available. Different interfaces of a network can have different communication capabilities, so a less capable interface can become congested. SUMMARY
[0003] According to some aspects, the subject matter of the independent claims is provided. Some embodiments are limited in the dependent claims. The scope of protection sought for various embodiments of the invention is set forth by the independent claims. Embodiments, examples, and features described in this specification that are not within the scope of the independent claims are intended to be interpreted as examples useful for understanding the various embodiments of the invention.
[0004] According to a first aspect of the disclosure, there is provided an apparatus comprising at least one processing core and at least one memory storing instructions that, when executed by the at least one processing core, cause the apparatus at least to receive, from a network device, first configuration information indicating a first threshold for marking uplink packets for explicit congestion notification, and use the first threshold in an active queue management mechanism of the apparatus to control uplink packet marking for explicit congestion notification.
[0005] According to a second aspect of the disclosure, there is provided an apparatus comprising at least one processing core and at least one memory storing instructions that, when executed by the at least one processing core, cause the apparatus at least to provide, to a user equipment, first configuration information indicating a first threshold for marking uplink packets for explicit congestion notification.
[0006] According to a third aspect of the disclosure, there is provided a method comprising receiving, by an apparatus from a network device, first configuration information indicating a first threshold for marking uplink packets for explicit congestion notification, and using the first threshold in an active queue management mechanism of the apparatus to control uplink packet marking for explicit congestion notification.
[0007] According to a fourth aspect of the disclosure, there is provided a method comprising: providing, by an apparatus, first configuration information to a user equipment, the first configuration information indicating a first threshold for marking uplink packets for explicit congestion notification.
[0008] According to a fifth aspect of the disclosure, there is provided a non-transitory computer readable medium having stored thereon a set of computer readable instructions that, when executed by at least one processor, cause an apparatus to at least: receive, from a network equipment, first configuration information indicating a first threshold for marking uplink packets for explicit congestion notification, and use the first threshold in an active queue management mechanism of the apparatus to control uplink packet marking for explicit congestion notification.
[0009] According to a sixth aspect of the disclosure, there is provided a non-transitory computer readable medium having stored thereon a set of computer readable instructions that, when executed by at least one processor, cause an apparatus to at least: provide, to a user equipment, first configuration information indicating a first threshold for marking uplink packets for explicit congestion notification.
[0010] According to a seventh aspect of the disclosure, there is provided an apparatus comprising means for: receiving, from a network equipment, first configuration information indicating a first threshold for marking uplink packets for explicit congestion notification, and using the first threshold in an active queue management mechanism of the apparatus to control uplink packet marking for explicit congestion notification.
[0011] According to an eighth aspect of the disclosure, there is provided an apparatus comprising means for: providing, to a user equipment, first configuration information indicating a first threshold for marking uplink packets for explicit congestion notification. BRIEF DESCRIPTION OF DRAWINGS
[0012] Figure 1 Figures illustrate example systems in accordance with at least some embodiments of the application;
[0013] Figure 2 Figures illustrate example systems in accordance with at least some embodiments of the application;
[0014] Figure 3 Figures illustrate example apparatuses capable of supporting at least some embodiments of the application;
[0015] Figure 4 Figures illustrate signaling in accordance with at least some embodiments of the application;
[0016] Figure 5is a flowchart of a method according to at least some embodiments of the application, and
[0017] Figure 6 is a flowchart of a method according to at least some embodiments of the application. DETAILED DESCRIPTION
[0018] Methods are described herein that facilitate packet queue management in packet-based networking to obtain an optimized cooperation of Explicit Congestion Notification (ECN) operations between sender-side operations and receiver-side operations. In a wireless case, for example, the sender can be a user equipment (UE) that sends uplink packets, and the receiver can be a base station (BS) that receives these uplink packets. In detail, the BS can configure a first threshold value for marking uplink packets in the UE, which the UE will then use in its ECN marking process. The BS can select this threshold value, for example, such that the UE will handle most of the ECN process, or alternatively, such that the ECN process is mainly handled in the BS. Thus, suboptimal performance of uncoordinated ECN marking can be reduced, as such uncoordinated ECN marking can lead to over-marking. Avoiding this over-marking provides a beneficial technical effect in avoiding unnecessary packet rate throttling at the application level, as will be described in more detail herein below.
[0019] Figure 1 An example system is illustrated according to at least some embodiments of the application. The system includes a base station 130, a base station 135, in communication with a UE, such as the UE 110. A radio link connects the base station 130 with the UE 110. The radio link can be bidirectional, including an uplink (UL) to communicate information from the UE 110 toward the base station 130, and a downlink (DL) to communicate information from the base station 130 toward the UE 110. A cellular communication system can include hundreds or thousands of base stations, and for clarity of illustration, only two of them are illustrated in Figure 1 The base stations can be distributed, in that the base station includes a centralized unit (CU) and one or more distributed units (DUs). The base station is an example of a base station node.
[0020] The base stations 130 are also communicatively coupled to core network nodes 140, which can include, for example, an evolved packet core (EPC), a mobility management entity (MME), a home subscriber server (HSS), a 5G unified data repository (UDR), a call session control function (CSCF), or a 5G access and mobility management function (AMF). The core network nodes 140 can be coupled to other core network nodes and to a network 150, which can include, for example, the Internet or a corporate network. The system can communicate with other networks via the network 150. Examples of other core network nodes (not illustrated in the Figure 1 for clarity) include gateways and subscriber information repositories. In the sense that the core network nodes can run as software modules on computing substrates, the core network nodes can be virtualized, such that more than one virtualized network node can run on the same physical computing substrate. The network can be configured to operate according to a suitable cellular standard, such as long-term evolution (LTE), fifth generation (5G) (also referred to as New Radio (NR)), or sixth generation (6G) standards, as defined by the Third Generation Partnership Project (3GPP). To achieve interoperability, UEs attached to the network are configured to support the same standard as the network.
[0021] In Figure 1 examples, the base station 130 controls the cell 130A and the cell 130B, with the UE 110 being in the case illustrated in Figure 1 , attached to the cell 130A; and in Figure 1 examples, the base station 135 controls the cell 135A and the cell 135B. The number of cells or the number of beams can exceed Figure 1 that illustrated. A base station can also have a single cell or beam. For example, while illustrated as a sector, a cell of the same base station can be omnidirectional and operate on different frequencies. Mobility events can include handover from one beam to another beam of the same cell, or handover from one cell to another cell. To support mobility procedures, UEs including the UE 110 are configured to make mobility measurements to measure signal strength of neighboring beams and / or cells, and report the results of these measurements to the network, which can then make decisions about mobility events, such as beam change or cell handover.
[0022] The base stations BS, such as the base stations 130 and 135, are configured to transmit various kinds of information to the UEs. In addition to payload, such as content of voice calls and video calls, application data, and transferred user files, the base stations transmit various kinds of configuration information to control the operation of the UEs in the cell of the base station. The configuration information includes, for example, grants using the air interface resources for UL and DL.
[0023] Protocol connections have nodes as their endpoints, which can include, for example, a UE and a server, or a UE and another UE attached with different base stations. In other words, a base station can forward packets included in a protocol connection without participating in the protocol connection as an endpoint. Since packets sent in these protocol connections can traverse at least one air interface between a UE and a base station, these interfaces can become congested because the capacity of the interface is generally less than that of a wired interface. Generally, the interfaces with the worst capacity that are traversed by a protocol connection are those that tend to become congested first. For this reason, protocol connections are configured to enable adaptation of the data rate of the protocol connection so that congestion is reduced and the delay caused by the packets of the protocol connection can be reduced. For example, the Transmission Control Protocol (TCP) has a flow control mechanism that responds to dropped packets by reducing the data rate and then gradually increasing the data rate again. In TCP, recovery from an isolated congestion event can cause long periods of sub-optimal communication.
[0024] Endpoints of a protocol connection can observe the time taken for packets to traverse an end-to-end connection and the endpoints can also observe how frequently packets are dropped along the way because packets are numbered in sequence. Both the observed delay and the observed drop rate can be used to adjust the data rate of the protocol connection so that dropped packets occur less frequently and the interfaces used by the protocol connection are not overly congested.
[0025] Explicit Congestion Notification (ECN) is a mechanism that enables nodes participating in a protocol connection (i.e. both endpoints and nodes traversed by the protocol connection) to mark packets that spend more than a threshold length of time in a node queue. The marked packets are generally communicated in the context of the protocol connection, however the endpoints can observe the frequency of marked packets, which is an indication of congestion in the network used by the protocol connection. The endpoints can respond to marked packets by reducing the data rate used on the protocol connection, for example at the application level. For example, an application using a protocol connection can adapt to marking by scaling back its data rate. For example, in a video telephony application, scaling back the data rate can involve reducing the video resolution. In a file transfer application, scaling back the data rate can involve sending packets of a file to be transferred at a reduced rate to avoid a congested network. While the file transfer application itself is delay insensitive, the congested interface can also serve delay sensitive applications, so reducing the congestion of the interface is useful so that the interface can better serve more delay sensitive applications. For example, marking can include setting a congestion bit in the header of a packet. Packets subject to ECN are referred to herein as ECN packets.
[0026] In a congestion event, marking can be done earlier than dropping packets, thus marking can enable faster adaptation to congestion events. This can have the effect that users will not even notice the congestion event, because the end point application adjusts its data rate early enough to avoid perceptible delay.
[0027] In a dual queue AQM mechanism, both classic queue management involving dropping packets and ECN queue management involving marking packets can be used side by side. An example of a dual queue AQM mechanism is DualPI2, which is introduced in publication [1]. Further, in some implementations of ECN queue management, in addition to packet marking in the ECN queue, packet dropping is applied, which can be referred to as a first transmit queue. In such a case, a first threshold, which is a time threshold, can be used for marking ECN queue packets, and a second threshold, which is also a time threshold, is used for dropping ECN queue packets. The first threshold can be communicated to the UE in a first configuration information, and the second threshold can be communicated to the UE in a second configuration information. In a dual queue AQM mechanism, a target time can be used to decide to drop non-ECN queue packets. The non-ECN queue can be referred to as a classic queue or a second transmit queue. The transmit queues can be, for example, medium access control (MAC) queues.
[0028] The active queue management (AQM) mechanism applied by the BS can be different in the downlink direction and in the uplink direction. In the downlink, the BS has up-to-date information about all active packet queues for all UEs, such as the queue size in these queues and packet latency. Therefore, the BS can directly use its queue management mechanism to mark or drop ECN packets or drop non-ECN packets. On the other hand, in the uplink, the BS relies on buffer status reports (BSRs) from the UE to learn about the queue occupancy of that UE. The UE sends its BSRs at configured BSR reporting intervals, for example, the BSR reporting interval can be 32 ms or another value, and the BS refreshes its packet marking percentages based on these BSRs only from time to time. Therefore, under these less real-time queue management parameters, the queues can grow significantly, degrading the user experience. In contrast, an AQM mechanism such as a dual queue model can be applied at the UE side, because its uplink packets avoid this situation. However, due to the lack of scheduling information, the UE can drop uplink packets too early or mark its packets too aggressively, failing to achieve good radio channel utilization. Therefore, it is useful to reconcile the AQM mechanisms applied at the BS side and at the UE side to achieve good performance for ECN traffic or even for non-ECN traffic. An example of an ECN system is low latency low loss scalable throughput (L4S).
[0029] Disclosed herein are procedures to enable optimized interworking between AQM mechanisms in a sender, such as a UE, and a receiver, such as a BS. To enable this, a UE can provide the BS with AQM capability information of the UE, such as dual queue capability and / or ECN capability, unless the BS already knows this. For example, the indication can be performed in a UECapabilitylnformation message when the indication is queried by the network, such as in a UECapabilityEnquiry message. The enquiry message and the capability indication message can be communicated between the UE and the BS during an attach phase that results in the UE transitioning from a radio resource control (RRC) idle state to an RRC connected state with respect to the network. For example, alternatively, the BS can infer that the UE supports AQM, such as dual queue AQM, e.g., from a UE category of the UE.
[0030] Further, the BS can set a marking threshold for ECN traffic, such as L4S traffic, and / or a dropping threshold for ECN traffic for the UE. For example, the configuration can be performed using a higher layer control message, such as an RRC connection reconfiguration message. In detail, the UE can receive the first configuration information and the second configuration information via RRC signaling. These settings are to be applied at the corresponding AQM mechanism of a radio bearer in the UE. Alternatively, the BS can disable the AQM mechanism in the UE. The marking threshold can be a time threshold defining a length of time such that the UE is to mark packets in the queue that spend more than the threshold length of time.
[0031] The BS can make its own AQM based on its scheduler decisions and BSR information from UEs of a shared uplink. The BS can also update the configured threshold(s) applied at the AQM of the UE, e.g., via a lower layer control message, such as a medium access control (MAC) control element (CE). The UE will then follow the updated AQM threshold(s) from the network for packet marking and dropping of the UE. The BS can select the updated threshold(s) based at least in part on, e.g., a load state of the BS, or a congestion status of an air interface between the BS and the UE.
[0032] To support providing its AQM capability information to the BS, the UE can identify its AQM capability during the attach phase of the network. Otherwise, the BS can assume that the UE is not capable of marking / dropping packets and can apply different AQM parameters or even AQM mechanisms in the uplink at the end of the BS. For example, when performing packet marking operations or packet dropping operations in the uplink in the BS, the BS can apply a strict delay target. Also, the BS can configure a shorter BSR reporting period to trigger more frequent BSR reports from the UE side, as the BS targets to remedy the built-up queue at the UE side between two consecutive BSR reporting events. Such shortened BSR reporting period will result in additional control overhead and reduce user data rate in the system.
[0033] Setting the marking threshold for ECN traffic by the BS enables the BS to perform control of the AQM parameters applied at the UE side using RRC control messages. For example, the DualPI2 queuing model specified in current IETF RFC 9332 has been widely implemented in open source and proprietary products, and UE chip vendors are exploring this DualPI2 queuing model in their product lines. Therefore, the BS can configure, for example: (1) the marking threshold for ECN packets to be marked, and (2) the target time (i.e., delay target) for classic non-ECN packets to be dropped. Alternatively, the BS can explicitly disable the UE side AQM mechanism in the RRC control message. If the BS neither provides any configuration to the UE side dual-queue AQM nor explicitly disables the UE side dual-queue AQM in the RRC control message, the UE can autonomously decide to activate or deactivate its dual-queue AQM in the uplink depending on the embodiment.
[0034] Furthermore, a BS that performs its own AQM enables the BS to dynamically adjust the dual queue parameters that are applied at the UE side using MAC control elements (MAC-CE). One useful example of this is when new UEs join the network and they consume more priority traffic than the existing UEs, e.g. due to guaranteed radio bearer traffic. In such a case, the existing UEs will suffer from a lower number of allocated radio resources and build up a high packet drop probability for non-ECN packets and optionally also for ECN packets, which will take a long time to recover. Instead, the BS can rather change the delay target and optionally also temporarily change other AQM parameters to avoid this. Another scenario is when the BS predicts that a UE is moving towards the edge of the cell coverage, e.g. in case of bad channel conditions, then the link adaptation operation at the MAC layer needs to reduce the modulation and coding scheme (MCS) and can lower the marking time threshold for ECN traffic, e.g. from 4ms to 1ms, to pre-slow down this ECN traffic.
[0035] Based on the AQM capabilities of the UE, the BS can choose the AQM mechanism that will be applied in the uplink direction. On the one hand, the BS can set less strict marking threshold times for the dual queue model at the UE side, or even turn it off, and mainly rely on its own AQM system, such as a BSR-based packet marking policy that relies on the UE to report its buffer status more frequently. Therefore, in this case, BSRs are needed more frequently. Alternatively, the BS can configure smaller threshold time(s) for the dual queue queuing model to mark more ECN packets and drop more non-ECN packets at the UE side, and therefore the BS can configure the UE to send lower frequency of BSR reports, as the queue management is then mainly performed by the UE. The frequency reduction of BSRs from the UE is a technical effect obtained by the latter alternative, where the first marking threshold triggers packet marking more frequently in the UE compared to the marking threshold used in the BS for ECN marking of uplink packets.
[0036] Figure 2 An example system is illustrated according to at least some embodiments of the present application. On the left is the UE side active queue management system 201, which is a dual queue AQM, such as DualPI2. On the right is the base station side AQM system 202, and in the center is the communication interface 203 (e.g. air interface) through which packets are communicated using suitable communication technology.
[0037] A packet for transmission from the UE is obtained in a queue classifier 210, which is configured to assign each uplink packet to either a classic queue 22C or an ECN queue 22L. Packets in the classic queue 22C can be dropped, while packets in the ECN queue 22L can be marked, or optionally dropped. In detail, the queue classifier 210 can determine whether a packet has a low latency requirement, and responsively place packets with a low latency requirement in the ECN queue 22L, and place packets without a low latency requirement in the classic queue 22C. The low latency requirement can comprise, for example, a single bit. The low latency requirement can be set or required by an application that initiates the packet, for example.
[0038] The packet 223 is in the ECN queue 22L, and when it progresses to the marking stage 23L, the UE determines whether the time the packet 223 has been in the queue 22L exceeds a time threshold. The UE marks uplink packets in the queue 22L, which can be referred to as a first sending queue, that are now or have been waiting for more than a first time threshold. The marking is an Explicit Congestion Notification (ECN) to the correspondent node. If the packet 223 has been in the queue 22L for less than the time threshold, it will continue through the marking stage 23L without being marked. From the marking stage 23L, the packet continues to the scheduler 240 and the encryption and encapsulation stage 250 before being sent over the communication interface 203.
[0039] On the receiver side, uplink packets are provided from the communication interface 203 to the decapsulation and decryption 260, and from the decapsulation and decryption 260 to the receiver marking stage 275 and the receiver dropping stage 285, which can occur in either order. The receiver marking stage can mark ECN packets that have not been marked based on the BSR-based probability computation 270 and scheduling information, with the marking decision taking as input the BSR information obtained from the sender side. For example, the marking decision can mark packets based on a probability, such that, for example, 1% of randomly selected packets are marked if the probability is 1%. In the receiver dropping stage, packets can be dropped based on the coupling probability 280, with the dropping decision also informed by the BSR reported from the UE. The BS can drop uplink packets that have been received to convey information to the protocol connection endpoint about the congestion conditions of the communication interface 203. The receiver marking stage 275 and the receiver dropping stage 285 handle both ECN packets and non-ECN packets.
[0040] The encryption and encapsulation 250 on the sending side and the decapsulation and decryption 260 on the receiver side are optional, as some embodiments do not use them, or only employ encapsulation and decapsulation without encryption.
[0041] On the other hand, on the sender side, packet 221 has been placed in the classic queue 22C. The packet proceeds to the drop phase 23C, where the sender will decide whether to drop the packet based on the target time. In detail, the sender will drop uplink packets that have been waiting in the classic queue 22C for more than the target time. Packets that are not dropped will proceed from the drop phase 23C to the scheduler 240 and continue to proceed to the receiver 202.
[0042] In summary, Figure 2 Examples of how the UE and the BS can cooperate for uplink AQM are provided. First, a dual queue queuing model is applied on the UE side before the Internet Protocol (IP) data packets are encrypted and encapsulated. The UE marks and drops packets according to a target time configured by the BS as well as a marking threshold time, or a UE-specific default value. For example, the default value(s) can be used when the BS does not configure the threshold time and the target time. The functional description of DualPI2 (an example of a dual queue queuing model) can be found in the Internet Engineering Task Force (IETF) document RFC 9332. In brief, DualPI2 couples probabilities applied to both ECN and classic queues, not only making rate fair between ECN and non-ECN traffic, but also providing low latency for ECN traffic. Thereafter, the data packets are encrypted and encapsulated for sending to the BS side. The BS can then further mark or drop packets after decapsulating and decrypting the packets inside the MAC PDU. The AQM applied at the BS side is vendor-specific, and thus only examples of how BSR-based AQM can be applied are disclosed here. In detail, the BS estimates the marking probability using the BSR from the UE as well as the radio resource scheduler result for that UE (e.g., this can be derived based on the ratio of how many remaining bytes are still queued at the UE side after scheduling to the number of bytes scheduled). Both the AQM mechanism on the UE side and the AQM mechanism on the BS side work beneficially together under the control of the BS.
[0043] In general, classic (i.e., non-ECN) traffic needs to build larger queues to prevent underutilization of the interface due to the bursty nature of such traffic. Therefore, a separate queue is provided for ECN traffic (such as L4S traffic), which is delay-sensitive and is scheduled with higher priority than the classic queue. The priority can be conditional to prevent starvation of non-ECN traffic. Nonetheless, the coupled marking ensures that priority is given to ECN traffic that still leaves free scheduling time for non-ECN flows.
[0044] In some embodiments, the operator can choose to direct certain packets (e.g., from certain flows or with certain addresses) out of the ECN queue 22L for policy reasons, even if the certain packets identify themselves as ECN packets with low latency requirements. In addition to this, the operator can use other identifiers to classify certain additional packet types into the ECN queue 22L, and / or place packets without low latency requirements in the ECM queue 22L based on operator configuration.
[0045] Figure 3 An example apparatus capable of supporting at least some embodiments of the present application is illustrated. Illustrated is a device 300, which can include, for example, a UE, or in applicable portions, a base station or a CU of a base station. Included in the device 300 is a processor 310, which can include, for example, a single-core or multi-core processor, where a single-core processor includes one processing core and a multi-core processor includes more than one processing core. The processor 310 can include a control device generally. The processor 310 can include more than one processor. When the processor 310 includes more than one processor, the device 300 can be a distributed device, where processing of tasks occurs in more than one physical unit. The processor 310 can be a control device. The processing core can include, for example, a Cortex-A8 processing core manufactured by HiSilicon, or a Zen processing core designed by AMD. The processing core or processor can be or can include at least one qubit. The processor 310 can include at least one Qualcomm Snapdragon processor and / or Intel Atom processor. The processor 310 can include at least one application-specific integrated circuit (ASIC). The processor 310 can include at least one field-programmable gate array (FPGA). The processor 310, optionally together with a memory and computer instructions, can be a means for performing the steps of a method in the device 300, such as receiving, using, providing, storing, marking, and discarding. The processor 310 can be configured at least in part by computer instructions to perform actions.
[0046] The processor can comprise circuitry, or be structured as one or more circuitries, configured to perform the stages of the method according to the embodiments described herein. As used in this application, the term “circuitry” can refer to one or more or all of: (a) solely hardware circuit implementations, such as implementations in analog circuitry and / or digital circuitry; and (b) combinations of hardware circuits and software, such as (as applicable): (i) combinations of a (multiple) hardware circuit(s) with software / firmware, such as (as applicable): (a) software / firmware and / or (b) software / firmware and one or more hardware processors, including a (multiple) digital signal processor(s), software and / or (multiple) memory(ies) that work together to cause an apparatus, such as a UE or base station, to perform various functions) and (ii) hardware circuit(s) and / or processor(s), such as a microprocessor(s) or a portion of microprocessor(s), that requires software (e.g., firmware) for operation, but software is not present when it is not needed for operation.
[0047] This definition of circuitry applies to all uses of this term in this application, including in any claims. As a further example, as used in this application, the term circuitry also covers implementations including, but not limited to hardware circuitry or processor(s) (or multiple processor(s)) or portions of it and its (or their) accompanying software and / or firmware. The term circuitry also covers, for example and if applicable to a particular claim element, a baseband integrated circuit or processor integrated circuit for a mobile device or server, cellular network device, or other computing or network device, similar integrated circuits and / or processors.
[0048] The device 300 can comprise a memory 320. The memory 320 can comprise a random access memory and / or a persistent memory. The memory 320 can comprise at least one RAM chip. The memory 320 can be a computer-readable medium. For example, the memory 320 can comprise a solid-state memory, a magnetic memory, an optical memory, and / or a holographic memory. The memory 320 can be at least partially accessible to the processor 310. The memory 320 can be at least partially comprised in the processor 310. The memory 320 can be a means for storing information. The memory 320 can comprise computer instructions that the processor 310 is configured to execute. The processor 310, and / or at least one processing core thereof, can be considered configured to perform certain actions when computer instructions configured to cause the processor 310 to perform the certain actions are stored in the memory 320, and the device 300 as a whole is configured to run using the computer instructions from the memory 320 under direction of the processor 310. The memory 320 can be at least partially located outside the device 300, but accessible to the device 300. The memory 320 can be transitory or non-transitory. The term “non-transitory” as used herein is a limitation of the medium itself (i.e., tangible, not a signal), not a limitation of data storage durability (e.g., RAM vs. ROM).
[0049] The device 300 can comprise a transmitter 330. The device 300 can comprise a receiver 340. The transmitter 330 and the receiver 340 can be configured to respectively transmit and receive information according to at least one cellular or non-cellular standard. The transmitter 330 can comprise more than one transmitter. The receiver 340 can comprise more than one receiver. For example, the transmitter 330 and / or the receiver 340 can be configured to operate according to Global System for Mobile Communications (GSM), Wideband Code Division Multiple Access (WCDMA), 5G, 6G, Long Term Evolution, LTE, IS-95, Wireless Local Area Network (WLAN), Ethernet, and / or Worldwide Interoperability for Microwave Access (WiMAX) standards.
[0050] The device 300 can comprise a near field communication (NFC) transceiver 350. The NFC transceiver 350 can support at least one NFC technology, such as NFC, Bluetooth, Wibree, or similar technologies.
[0051] The device 300 can comprise a user interface (UI) 360. The UI 360 can comprise at least one of a display, a keypad, a touchscreen, a vibrator arranged to signal to a user by causing the device 300 to vibrate, a loudspeaker, or a microphone. A user can be able to operate the device 300 via the UI 360, e.g., to accept an incoming telephone call, to initiate a telephone call or a video call, to browse the Internet, to manage digital files stored in the memory 320 or on a cloud accessible via the transmitter 330 and the receiver 340 or via the NFC transceiver 350, and / or to play a game.
[0052] The device 300 can comprise or be arranged to accept a user identity module 370. The user identity module 370 can comprise, e.g., a subscriber identity module (SIM) card that is installable in the device 300. The user identity module 370 can comprise information that identifies a subscription of a user of the device 300. The user identity module 370 can comprise cryptographic information that is usable to verify an identity of a user of the device 300 and / or to facilitate encryption of communicated information and billing of a user of the device 300 for communications effected via the device 300.
[0053] The processor 310 can be equipped with a transmitter arranged to output information from the processor 310 to other devices comprised in the device 300 via electrical leads inside the device 300. Such a transmitter can comprise a serial bus transmitter that is, e.g., arranged to output information to the memory 320 via at least one electrical lead for storage therein. For a serial bus, the transmitter can comprise a parallel bus transmitter instead. Likewise, the processor 310 can comprise a receiver arranged to receive information in the processor 310 from other devices comprised in the device 300 via electrical leads inside the device 300. Such a receiver can comprise a serial bus receiver that is, e.g., arranged to receive information from the receiver 340 via at least one electrical lead for processing in the processor 310. For a serial bus, the receiver can comprise a parallel bus receiver instead.
[0054] The device 300 can comprise other devices not illustrated in Figure 3 For example, in case the device 300 comprises a smartphone, it can comprise at least one digital camera. Some devices 300 can comprise a rear-facing camera and a front-facing camera, where the rear-facing camera can be intended for digital photography and the front-facing camera for video telephony. The device 300 can comprise a fingerprint sensor arranged to at least partly authenticate a user of the device 300. In some embodiments, the device 300 lacks at least one of the devices described above. For example, some devices 300 can lack the NFC transceiver 350 and / or the user identity module 370.
[0055] Processor 310, memory 320, transmitter 330, receiver 340, NFC transceiver 350, UI 360, and / or user identity module 370 can be interconnected in various ways via electrical leads within device 300. For example, each of the aforementioned devices can be individually connected to the main bus within device 300 to allow the devices to exchange information. However, as those skilled in the art will understand, this is merely an example, and depending on the embodiment, various ways of interconnecting at least two of the aforementioned devices can be chosen without departing from the scope of the invention.
[0056] Figure 4 The diagram illustrates signaling according to at least some embodiments of the present invention. On the vertical axis, from left to right, are the client application in the UE, the UE itself, the BS, the core network (CN), and finally the protocol connection endpoint (e.g., the server SRV). Time is shifted from top to bottom.
[0057] In phase 410, the BS broadcasts system information in system information blocks, such as the Master Information Block (MIB) and System Information Block (SIB). These blocks provide idle mode UE information that can be used in the evaluation if it is reasonable to attempt to attach to a cell controlled by the BS.
[0058] In stage 420, the UE and BS undergo an RRC establishment procedure to build an RRC connection between the UE and the BS. Stage 430 includes the UE sending a registration request to the core network (CN), and stage 440 includes a set of non-access stratum (NAS) identity, authentication, and security procedures. Stage 450 is an access stratum (AS) security procedure, and stage 460 includes a UE capability exchange procedure with the core network. As described herein above, this can include the UE informing the network of its AQM capabilities, such as ECN capabilities and / or dual queue capabilities, in a UE-Capabilitylnformation message, for example, as a response to the BS querying for this information. More specifically, the BS can request the UE to report its 5G capabilities by setting UE-CapabilityRAT-Request to NR on the frequency band list specified in frequencyBandListFilter in the UECapabilityEnquiry message. In addition to this, for example, a corresponding flag can be included in UE-NR-Capability in pdcp-Parameters, or as a new information element, to allow the UE to identify its uplink AQM capabilities, such as the DualPI2 queuing model. Of course, there are multiple different signaling options for the UE to convey its AQM capabilities to the BS. Finally, if the UE does not provide any uplink AQM capabilities in the UECapabilitylnformation message, the BS can be configured to assume that there are no working AQM mechanisms on the UE side.
[0059] Based on the UE’s AQM capabilities, the BS can select the AQM mechanism to be applied in the uplink direction. In one aspect, the BS can set less stringent threshold times for the dual queue model on the UE side, or even turn it off, and rely more on its own AQM system, such as a BSR-based packet marking policy that relies on the UE to report its buffer status report more frequently. Alternatively, the BS can configure smaller threshold time(s) for the dual queue queuing model to mark more ECN packets and drop more non-ECN packets on the UE side, and thus the BS can configure the UE to send lower frequency BSR reports. These two alternatives have their benefits and drawbacks, and thus the BS can make the decision based on its own working conditions. As Figure 4As shown in FIG. 4, the BS can configure the corresponding DualPI2 (or other dual queue or ECN) parameters, such as the drop threshold and / or the marking threshold, using an RRC Connection Reconfiguration message. Upon receiving this message, the UE resets its computed probability value to zero and applies the new configuration. However, if the UE provided its AQM capability in the UECapabilitylnformation message but did not receive any valid configuration in the RRC Connection Reconfiguration message, the UE can decide on its own to enable or disable AQM.
[0060] Stage 470 is an RRC Reconfiguration procedure, which can include the BS providing the UE with first configuration information indicating a time threshold for ECN marking, and / or second configuration information indicating a second time threshold for ECN packet dropping. In stage 480, the core network (CN) provides the UE with a UE Registration Complete message, and in stage 490, a packet data unit (PDU) connection is established between the UE and the core network (CN). Stages 420 through 480 are collectively an attach procedure, which results in a change in status of the UE from an RRC idle state to an RRC connected state. In different embodiments, the attach procedure can have different stages therein, but the attach procedure still results in a transition of an idle state UE to a connected state UE.
[0061] In stage 4100, one or more client applications provide data packets to the UE for transmission to a peer node SRV. These packets can include both ECN packets and non-ECN packets. In stage 4110, the UE requests and responsively obtains an uplink grant of resources for sending the packets, and in stage 4120, these packets are provided to the BS using a dual queue mechanism in one or more MAC PDUs. In stage 4130, the BS forwards the packets to the peer node SRV. Finally, in stage 4140, the BS updates the first threshold and / or the second threshold in the UE, e.g., using a MAC CE, as described above herein.
[0062] The UE can mark the packets in their IP header based on the set up ECN parameters, as shown in Figure 4 FIG. 4. This is done before the packets are used to form a MAC PDU and are transmitted over the air interface. Such a MAC PDU will be de-capsulated, and the packets therein can be further marked or even dropped by the BS according to a vendor-specific AQM mechanism, e.g., the BSR-based marking mechanism mentioned above herein. The BS can dynamically configure the ECN or dual queue parameters using a new MAC CE. Thus, the marked ECN packets have both a low latency requirement, and a marking that indicates residence in the transmit queue for more than the first time threshold.
[0063] Figure 5 is a flowchart of a method according to at least some embodiments of the application. The illustrated stages of the method can be performed in a UE or a control device configured to control operation thereof (when installed therein).
[0064] Stage 510 includes receiving, by an apparatus from a network device, first configuration information indicating a first threshold for marking uplink packets for explicit congestion notification. Stage 520 includes using the first threshold in an active queue management mechanism of the apparatus to control uplink packet marking for explicit congestion notification. The apparatus here can be a UE as mentioned above, or a control device configured to control operation thereof (when installed therein). The network device can be a base station as described above herein. The apparatus can be a UE.
[0065] Figure 6 is a flowchart of a method according to at least some embodiments of the application. The illustrated stages of the method can be performed in a BS or a control device configured to control operation thereof (when installed therein).
[0066] Stage 610 includes providing, by an apparatus to a user equipment, first configuration information indicating a first threshold for marking uplink packets for explicit congestion notification. The apparatus can be a BS or a control device as mentioned above. The apparatus can be a BS.
[0067] It is to be understood that the embodiments of the application disclosed are not limited to the particular structures, process steps, or materials disclosed herein but are extended to equivalents thereof as will be recognized by those ordinarily skilled in the relevant arts. It will be further understood that the terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting.
[0068] Reference throughout this specification to one embodiment or an embodiment means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the present application. Therefore, appearances of the phrases "in one embodiment" or "in an embodiment" in various places throughout this specification are not necessarily all referring to the same embodiment. In some cases, the terms include, include but not limited to, encompasses, encompasses but not limited to, have, have but not limited to, provide, provide but not limited to, and the like, mean to include at least the listed members, but not excluding others.
[0069] As used herein, for convenience, multiple items, structural elements, constituent elements, and / or materials may be presented in a public list. However, these lists should be interpreted as if each member in the list were individually identified as a separate and unique member. Therefore, any individual member in such a list, based solely on their presentation in the public group without any indication to the contrary, should not be construed as a de facto equivalent to any other member in the same list. Furthermore, various embodiments and examples of the invention, as well as alternatives for its various components, may be referenced herein. It should be understood that such embodiments, examples, and alternatives should not be construed as de facto equivalents to each other, but should be considered as separate and autonomous representations of the invention.
[0070] Furthermore, the described features, structures, or characteristics can be combined in any suitable manner in one or more embodiments. In the foregoing description, numerous specific details, such as examples of length, width, shape, etc., have been provided to provide a thorough understanding of embodiments of the invention. However, those skilled in the art will recognize that the invention can be practiced without one or more specific details or with other methods, components, materials, etc. In other instances, well-known structures, materials, or operations have not been shown or described in detail to avoid obscuring aspects of the invention.
[0071] While the foregoing examples illustrate the principles of the invention in one or more specific applications, it will be apparent to those skilled in the art that numerous modifications in form, use, and implementation details may be made without inventive skill and without departing from the principles and concepts of the invention. Therefore, the invention is not intended to be limited except by the claims set forth below.
[0072] The verbs “to comprise” and “to include” are used herein as open-ended restrictions that neither exclude nor require the presence of undescribed features. Unless otherwise explicitly stated, features described in dependent claims may be freely combined with each other. Furthermore, it should be understood that the use of “a” or “an” (i.e., the singular form) throughout this document does not exclude the plural.
[0073] As used in this article, “at least one of the following: ” and “at least one of ” and similar wording (where the list of two or more elements is connected by “and” or “or”) means at least any one element or at least any two or more elements or at least all elements.
[0074] The embodiments disclosed herein provide the following examples.
[0075] Example 1. An apparatus comprising at least one processing core and at least one memory storing instructions that, when executed by the at least one processing core, cause the apparatus at least to:
[0076] - receive, from a network device, first configuration information indicating: a first threshold for marking uplink packets for explicit congestion notification; and
[0077] - use the first threshold in an active queue management mechanism of the apparatus to control uplink packet marking for explicit congestion notification.
[0078] Example 2. The apparatus of example 1, wherein the apparatus is further caused to:
[0079] - receive, from the network device, second configuration information indicating: a second threshold for dropping uplink packets; and
[0080] - use the second threshold in the active queue management mechanism when controlling uplink packet transmission.
[0081] Example 3. The apparatus of example 1 or 2, wherein the apparatus is further caused to:
[0082] provide an indication to the network device that the active queue management mechanism is supported by the apparatus.
[0083] Example 4. The apparatus of any one of examples 1 to 3, wherein the first threshold is a first time threshold,
[0084] and wherein the apparatus is further caused to:
[0085] - store uplink packets carrying low latency requirements into a first transmit queue of the apparatus; and
[0086] - mark uplink packets waiting in the first transmit queue for more than the first time threshold for explicit congestion notification.
[0087] Example 5. The apparatus of any one of examples 2 to 4, wherein the second threshold is a second time threshold,
[0088] and wherein the apparatus is further caused to:
[0089] - store uplink packets carrying low latency requirements into a first transmit queue of the apparatus; and
[0090] - drop uplink packets waiting in the first transmit queue for more than the second time threshold.
[0091] Example 6. The apparatus of any one of examples 1 to 5, wherein the apparatus is further caused to:
[0092] - store uplink packets that do not carry low latency requirements into a second transmission queue of the apparatus; and
[0093] - discard uplink packets that wait in the second transmission queue for more than a target time.
[0094] Example 7. The apparatus of any one of examples 1 to 6, wherein the apparatus is further caused to:
[0095] - receive, from the network device, the first configuration information and / or the second configuration information via a radio resource control, RRC, message.
[0096] Example 8. The apparatus of any one of examples 1 to 7, wherein the apparatus is further caused to:
[0097] - update the first threshold and / or the second threshold based on updated configuration information received from the network device.
[0098] Example 9. The apparatus of example 8, wherein the apparatus is further caused to:
[0099] - receive the updated configuration information from the network device via a medium access control control element, MAC CE.
[0100] Example 10. An apparatus comprising at least one processing core and at least one memory storing instructions that, when executed by the at least one processing core, cause the apparatus at least to:
[0101] - provide, to a user equipment, first configuration information indicating a first threshold for marking uplink packets for explicit congestion notification.
[0102] Example 11. The apparatus of example 10, wherein the apparatus is further caused to:
[0103] - select the first threshold such that the first threshold triggers packet marking more frequently than a marking threshold used in the apparatus for marking uplink packets for explicit congestion notification.
[0104] Example 12. The apparatus of example 10, wherein the apparatus is further caused to:
[0105] - select the first threshold such that the first threshold triggers packet marking less frequently than a marking threshold used in the apparatus for marking uplink packets for explicit congestion notification.
[0106] Example 13. The apparatus of any one of examples 10 to 12, wherein the apparatus is further caused to:
[0107] - depending on the first threshold value, configure a buffer status reporting interval of the user equipment.
[0108] Example 14. The apparatus of any one of examples 10 to 13, wherein the first threshold value is a first time threshold value.
[0109] Example 15. The apparatus of any one of examples 10 to 14, wherein the apparatus is further caused to:
[0110] - provide, to the user equipment, second configuration information indicating a second threshold value for dropping uplink packets in an active queue management mechanism of the user equipment.
[0111] Example 16. The apparatus of example 15, wherein the second threshold value is a second time threshold value.
[0112] Example 17. The apparatus of any one of examples 10 to 16, wherein the apparatus is further caused to:
[0113] - provide, to the user equipment, the first configuration information and / or the second configuration information via a radio resource control, RRC, message.
[0114] Example 18. The apparatus of any one of examples 10 to 17, wherein the apparatus is further caused to:
[0115] - provide, to the user equipment, updated configuration information to update the first threshold value and / or the second threshold value.
[0116] Example 19. The apparatus of example 18, wherein the apparatus is further caused to:
[0117] - select an updated value of the first threshold value and / or the second threshold value based at least in part on a load status of the apparatus or a congestion status of an air interface between the apparatus and the user equipment.
[0118] Example 20. The apparatus of example 18 or 19, wherein the apparatus is further caused to:
[0119] - provide, to the user equipment, the updated configuration information via a medium access control control element, MAC CE.
[0120] Example 21. A method comprising:
[0121] - receiving, by an apparatus from a network device, first configuration information indicating a first threshold value for marking uplink packets for explicit congestion notification; and
[0122] - using the first threshold value in an active queue management mechanism of the apparatus to control uplink packet marking for explicit congestion notification.
[0123] Example 22. A method comprising:
[0124] - providing, by the apparatus, first configuration information to the user equipment, the first configuration information indicating a first threshold for marking uplink packets for explicit congestion notification.
[0125] Example 23. A non-transitory computer-readable medium having stored thereon a set of computer readable instructions that, when executed by at least one processor, cause an apparatus to at least:
[0126] - receiving, from a network device, first configuration information indicating a first threshold for marking uplink packets for explicit congestion notification; and
[0127] - using the first threshold in an active queue management mechanism of the apparatus to control uplink packet marking for explicit congestion notification.
[0128] Example 24. A non-transitory computer-readable medium having stored thereon a set of computer readable instructions that, when executed by at least one processor, cause an apparatus to at least:
[0129] - providing, to a user equipment, first configuration information indicating a first threshold for marking uplink packets for explicit congestion notification.
[0130] Industrial applicability
[0131] At least some embodiments of the invention find industrial application in packet-based networking.
[0132] List of acronyms
[0133] AQM Active Queue Management
[0134] BSR Buffer Status Report
[0135] ECN Explicit Congestion Notification
[0136] L4S Low-Latency, Low-Loss, and Scalable throughput
[0137] List of reference signs
[0138]
[0139]
[0140] List of citations
[0141] [1] Koen De Schepper et al., "Data Centre to the home: Deployable Ultra-Low Queuing Delay for All," January 2017, Corpus ID: 201614549.
Claims
1. An apparatus for communication, comprising at least one processing core and at least one memory, the at least one memory storing instructions that, when executed by the at least one processing core, cause the apparatus at least to: - receive, from a network device, first configuration information indicating: a first threshold for marking uplink packets for explicit congestion notification; and - use, in an active queue management mechanism of the apparatus, the first threshold to control uplink packet marking for the explicit congestion notification.
2. The apparatus of claim 1, wherein the apparatus is further caused to: - receive, from the network device, second configuration information indicating: a second threshold for dropping uplink packets; and - use, in controlling uplink packet transmission, the second threshold in the active queue management mechanism.
3. The apparatus of claim 1 or 2, wherein the apparatus is further caused to: - provide, to the network device, an indication that the active queue management mechanism is supported by the apparatus.
4. The apparatus of any one of claims 1 to 3, wherein the first threshold is a first time threshold, and wherein the apparatus is further caused to: - store, into a first transmit queue of the apparatus, uplink packets carrying low latency requirements; and - mark, for explicit congestion notification, uplink packets waiting in the first transmit queue for more than the first time threshold.
5. The apparatus of any one of claims 2 to 4, wherein the second threshold is a second time threshold, and wherein the apparatus is further caused to: - store, into a first transmit queue of the apparatus, uplink packets carrying low latency requirements; and - drop uplink packets waiting in the first transmit queue for more than the second time threshold.
6. The apparatus of any one of claims 1 to 5, wherein the apparatus is further caused to: - store, into a second transmit queue of the apparatus, uplink packets not carrying low latency requirements; and - drop uplink packets waiting in the second transmit queue for more than a target time.
7. The apparatus of any one of claims 1 to 6, wherein the apparatus is further caused to perform one or more of: - receiving, from the network device, the first configuration information and / or the second configuration information via a radio resource control, RRC, message; - updating the first threshold and / or the second threshold based on updated configuration information received from the network device, wherein the apparatus is further caused to receive the updated configuration information from the network device via a medium access control control element, MAC CE.
8. An apparatus for communication, comprising at least one processing core and at least one memory, the at least one memory storing instructions that, when executed by the at least one processing core, cause the apparatus at least to: - provide, to a user equipment, first configuration information indicating: a first threshold for marking uplink packets for explicit congestion notification.
9. A method for communication, comprising: - receiving, by an apparatus and from a network device, first configuration information, the first configuration information indicating a first threshold value for marking uplink packets for explicit congestion notification; and - using the first threshold value in an active queue management mechanism of the apparatus to control uplink packet marking for the explicit congestion notification.
10. A method for communication, comprising: - providing, by an apparatus and to a user equipment, first configuration information, the first configuration information indicating a first threshold value for marking uplink packets for explicit congestion notification.