Mechanism for congestion control
The proposed congestion control mechanism addresses the challenge of achieving QoS for non-GBR services by monitoring channel conditions, determining congestion, and downgrading bit rates, thereby ensuring effective resource allocation and reducing oscillation in cell load.
Patent Information
- Application Number
- PCT/CN2023/138966
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-12-14
- Publication Date
- 2025-06-19
AI Technical Summary
Existing technologies face challenges in achieving quality of service (QoS) attributes for non-guaranteed bit rate (non-GBR) services, especially for user equipment in poor radio conditions, without adequate congestion control mechanisms.
A mechanism for congestion control that involves monitoring congestion conditions on a channel, determining if congestion occurs based on predefined thresholds, and downgrading the bit rate of specific user equipment (UEs) to manage resource allocation effectively.
This solution helps ensure that most UEs with nominal bit rate requirements meet their bit rate requirements, prevents starvation of non-GBR UEs, and reduces cell-load oscillation and ping-pong effects.
Smart Images

Figure CN2023138966_19062025_PF_FP_ABST
Abstract
Description
MECHANISM FOR CONGESTION CONTROL
[0001] FIELDS
[0002] Various example embodiments of the present disclosure generally relate to the field of telecommunication and in particular, to methods, devices, apparatuses and computer readable storage medium for congestion control.BACKGROUND
[0003] Services are usually classified into different categories according to different quality of service (QoS) attributes, where each type of service is represented by a 5G QoS identifier (5QI) or QoS class identifier (QCI) . It is challenging to achieve the QoS attributes of the non-guaranteed bit rate (non-GBR) service, especially for user equipment (UE) in a poor radio condition, unless additional considerations are taken in a scheduling policy. A new nominal bit rate (NBR) attribute may be added for non-GBR services. The gNB scheduler may strive to allocate enough radio resources for UEs with NBR data radio bearers (DRBs) to satisfy the requested nominal bitrate, regardless of the radio conditions. The scheduler may always attempt to fulfill GBR commitments first, and with the remaining capacity attempt to satisfy the requested NBR of the NBR bearers. If there is still capacity left, it is distributed among all the remaining bearers.SUMMARY
[0004] In a first aspect of the present disclosure, there is provided a first device. The first device comprises at least one processor; and at least one memory storing instructions that, when executed by the at least one processor, cause the first device to: monitor a congestion condition on a channel in a cell which a serves a plurality of second devices; determine whether a congestion occurs on the channel based on the congestion condition and a congestion threshold, wherein the congestion threshold comprises at least one of: a threshold for aggregate resources, a threshold for aggregate time-domain load, or a threshold for aggregate number of scheduled second devices per slot; and based on a determination that the congestion occurs on the channel, determine, from the plurality of second devices, a set of second devices of which bit rate is downgraded.
[0005] In a second aspect of the present disclosure, there is provided a second device. The second device comprises at least one processor; and at least one memory storing instructions that, when executed by the at least one processor, cause the second device to: receive, from a first device, a first indication for downgrading a bit rate of the second device for a nominal bit rate service.
[0006] In a third aspect of the present disclosure, there is provided a method. The method comprises: monitoring a congestion condition on a channel in a cell which a serves a plurality of second devices; determining whether a congestion occurs on the channel based on the congestion condition and a congestion threshold, wherein the congestion threshold comprises at least one of: a threshold for aggregate resources, a threshold for aggregate time-domain load, or a threshold for aggregate number of scheduled second devices per slot; and based on a determination that the congestion occurs on the channel, determining, from the plurality of second devices, a set of second devices of which bit rate is downgraded.
[0007] In a fourth aspect of the present disclosure, there is provided a method. The method comprises: receiving, from a first device, a first indication for downgrading a bit rate of the second device for a nominal bit rate service.
[0008] In a fifth aspect of the present disclosure, there is provided a first apparatus. The first apparatus comprises means for monitoring a congestion condition on a channel in a cell which serves a plurality of second devices; means for determining whether a congestion occurs on the channel based on the congestion condition and a congestion threshold, wherein the congestion threshold comprises at least one of: a threshold for aggregate resources, a threshold for aggregate time-domain load, or a threshold for aggregate number of scheduled second devices per slot; and means for based on a determination that the congestion occurs on the channel, determining, from the plurality of second devices, a set of second devices of which bit rate is downgraded.
[0009] In a sixth aspect of the present disclosure, there is provided a second apparatus. The second apparatus comprises means for receiving, from a first device, a first indication for downgrading a bit rate of the second device for a nominal bit rate service.
[0010] In a seventh aspect of the present disclosure, there is provided a computer readable medium. The computer readable medium comprises instructions stored thereon for causing an apparatus to perform at least the method according to the third aspect.
[0011] In an eighth aspect of the present disclosure, there is provided a computer readable medium. The computer readable medium comprises instructions stored thereon for causing an apparatus to perform at least the method according to the fourth aspect.
[0012] It is to be understood that the Summary section is not intended to identify key or essential features of embodiments of the present disclosure, nor is it intended to be used to limit the scope of the present disclosure. Other features of the present disclosure will become easily comprehensible through the following description.BRIEF DESCRIPTION OF THE DRAWINGS
[0013] Some example embodiments will now be described with reference to the accompanying drawings, where:
[0014] FIG. 1 illustrates an example communication environment in which example embodiments of the present disclosure can be implemented;
[0015] FIG. 2 illustrates a signaling chart for congestion control according to some example embodiments of the present disclosure;
[0016] FIG. 3A and FIG. 3B illustrate schematic diagrams of system simulations for NBR physical resource block (PRB) control according to some example embodiments of the present disclosure, respectively;
[0017] FIG. 4A to FIG. 4D illustrate schematic diagrams of system simulations for NBR physical resource block (PRB) control according to some example embodiments of the present disclosure, respectively;
[0018] FIG. 5 illustrates a flowchart of a method implemented at a first device according to some example embodiments of the present disclosure;
[0019] FIG. 6 illustrates a flowchart of a method implemented at a second device according to some example embodiments of the present disclosure;
[0020] FIG. 7 illustrates a simplified block diagram of a device that is suitable for implementing example embodiments of the present disclosure; and
[0021] FIG. 8 illustrates a block diagram of an example computer readable medium in accordance with some example embodiments of the present disclosure.
[0022] Throughout the drawings, the same or similar reference numerals represent the same or similar element.DETAILED DESCRIPTION
[0023] Principle of the present disclosure will now be described with reference to some example embodiments. It is to be understood that these embodiments are described only for the purpose of illustration and help those skilled in the art to understand and implement the present disclosure, without suggesting any limitation as to the scope of the disclosure. Embodiments described herein can be implemented in various manners other than the ones described below.
[0024] In the following description and claims, unless defined otherwise, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skills in the art to which this disclosure belongs.
[0025] References in the present disclosure to “one embodiment, ” “an embodiment, ” “an example embodiment, ” and the like indicate that the embodiment described may include a particular feature, structure, or characteristic, but it is not necessary that every embodiment includes the particular feature, structure, or characteristic. Moreover, such phrases are not necessarily referring to the same embodiment. Further, when a particular feature, structure, or characteristic is described in connection with an embodiment, it is submitted that it is within the knowledge of one skilled in the art to affect such feature, structure, or characteristic in connection with other embodiments whether or not explicitly described.
[0026] It shall be understood that although the terms “first, ” “second, ” …, etc. in front of noun (s) and the like may be used herein to describe various elements, these elements should not be limited by these terms. These terms are only used to distinguish one element from another and they do not limit the order of the noun (s) . For example, a first element could be termed a second element, and similarly, a second element could be termed a first element, without departing from the scope of example embodiments. As used herein, the term “and / or” includes any and all combinations of one or more of the listed terms.
[0027] As used herein, “at least one of the following: <a list of two or more elements>” and “at least one of <a list of two or more elements>” and similar wording, where the list of two or more elements are joined by “and” or “or” , mean at least any one of the elements, or at least any two or more of the elements, or at least all the elements.
[0028] As used herein, unless stated explicitly, performing a step “in response to A” does not indicate that the step is performed immediately after “A” occurs and one or more intervening steps may be included.
[0029] The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of example embodiments. As used herein, the singular forms “a” , “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises” , “comprising” , “has” , “having” , “includes” and / or “including” , when used herein, specify the presence of stated features, elements, and / or components etc., but do not preclude the presence or addition of one or more other features, elements, components and / or combinations thereof.
[0030] As used in this application, the term “circuitry” may refer to one or more or all of the following:
[0031] (a) hardware-only circuit implementations (such as implementations in only analog and / or digital circuitry) and
[0032] (b) combinations of hardware circuits and software, such as (as applicable) :
[0033] (i) a combination of analog and / or digital hardware circuit (s) with software / firmware and
[0034] (ii) any portions of hardware processor (s) with software (including digital signal processor (s) ) , software, and memory (ies) that work together to cause an apparatus, such as a mobile phone or server, to perform various functions) and
[0035] (c) hardware circuit (s) and or processor (s) , such as a microprocessor (s) or a portion of a microprocessor (s) , that requires software (e.g., firmware) for operation, but the software may not be present when it is not needed for operation.
[0036] 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 an implementation of merely a hardware circuit or processor (or multiple processors) or portion of a hardware circuit or processor and its (or their) accompanying software and / or firmware. The term circuitry also covers, for example and if applicable to the particular claim element, a baseband integrated circuit or processor integrated circuit for a mobile device or a similar integrated circuit in server, a cellular network device, or other computing or network device.
[0037] As used herein, the term “communication network” refers to a network following any suitable communication standards, such as New Radio (NR) , Long Term Evolution (LTE) , LTE-Advanced (LTE-A) , Wideband Code Division Multiple Access (WCDMA) , High-Speed Packet Access (HSPA) , Narrow Band Internet of Things (NB-IoT) and so on. Furthermore, the communications between a terminal device and a network device in the communication network may be performed according to any suitable generation communication protocols, including, but not limited to, the first generation (1G) , the second generation (2G) , 2.5G, 2.75G, the third generation (3G) , the fourth generation (4G) , 4.5G, the fifth generation (5G) , the sixth generation (6G) communication protocols, and / or any other protocols either currently known or to be developed in the future. Embodiments of the present disclosure may be applied in various communication systems. Given the rapid development in communications, there will of course also be future type communication technologies and systems with which the present disclosure may be embodied. It should not be seen as limiting the scope of the present disclosure to only the aforementioned system.
[0038] As used herein, the term “network device” refers to a node in a communication network via which a terminal device accesses the network and receives services therefrom. The network device may refer to a base station (BS) or an access point (AP) , for example, a node B (NodeB or NB) , an evolved NodeB (eNodeB or eNB) , an NR NB (also referred to as a gNB) , a Remote Radio Unit (RRU) , a radio header (RH) , a remote radio head (RRH) , a relay, an Integrated Access and Backhaul (IAB) node, a low power node such as a femto, a pico, a non-terrestrial network (NTN) or non-ground network device such as a satellite network device, a low earth orbit (LEO) satellite and a geosynchronous earth orbit (GEO) satellite, an aircraft network device, and so forth, depending on the applied terminology and technology. In some example embodiments, radio access network (RAN) split architecture comprises a Centralized Unit (CU) and a Distributed Unit (DU) at an IAB donor node. An IAB node comprises a Mobile Terminal (IAB-MT) part that behaves like a UE toward the parent node, and a DU part of an IAB node behaves like a base station toward the next-hop IAB node.
[0039] The term “terminal device” refers to any end device that may be capable of wireless communication. By way of example rather than limitation, a terminal device may also be referred to as a communication device, user equipment (UE) , a Subscriber Station (SS) , a Portable Subscriber Station, a Mobile Station (MS) , or an Access Terminal (AT) . The terminal device may include, but not limited to, a mobile phone, a cellular phone, a smart phone, voice over IP (VoIP) phones, wireless local loop phones, a tablet, a wearable terminal device, a personal digital assistant (PDA) , portable computers, desktop computer, image capture terminal devices such as digital cameras, gaming terminal devices, music storage and playback appliances, vehicle-mounted wireless terminal devices, wireless endpoints, mobile stations, laptop-embedded equipment (LEE) , laptop-mounted equipment (LME) , USB dongles, smart devices, wireless customer-premises equipment (CPE) , an Internet of Things (IoT) device, a watch or other wearable, a head-mounted display (HMD) , a vehicle, a drone, a medical device and applications (e.g., remote surgery) , an industrial device and applications (e.g., a robot and / or other wireless devices operating in an industrial and / or an automated processing chain contexts) , a consumer electronics device, a device operating on commercial and / or industrial wireless networks, and the like. The terminal device may also correspond to a Mobile Termination (MT) part of an IAB node (e.g., a relay node) . In the following description, the terms “terminal device” , “communication device” , “terminal” , “user equipment” and “UE” may be used interchangeably.
[0040] As used herein, the term “resource, ” “transmission resource, ” “resource block, ” “physical resource block” (PRB) , “uplink resource, ” or “downlink resource” may refer to any resource for performing a communication, for example, a communication between a terminal device and a network device, such as a resource in time domain, a resource in frequency domain, a resource in space domain, a resource in code domain, or any other combination of the time, frequency, space and / or code domain resource enabling a communication, and the like. In the following, unless explicitly stated, a resource in both frequency domain and time domain will be used as an example of a transmission resource for describing some example embodiments of the present disclosure. It is noted that example embodiments of the present disclosure are equally applicable to other resources in other domains. The term “congestion state” / “congestion status” used herein may refer to information indicating whether the congestion occurs and / or how bad (i.e., to which degree) the congestion is. The term “nominal bit rate (NBR) ” used herein may refer to a required bitrate that can be additional configured per QoS that gNB scheduler would try to achieve to designated non-GBR bearers, provided that there are available resources to meet that requirement.
[0041] In some solutions, to provide fairness across UEs, the nominal bit rate per UE is introduced in the scheduler. The nominal bit rate may be guaranteed for all UEs in a first round before granting more available resources in a next round. However, there is no congestion control in the solutions. Instead, the NBR UEs may all suffer from not being able to meet the NBR, and the non-GBR UEs may be starved of resources as well due to all the resources being granted to NBR UEs.
[0042] However, there is no solution on identification of when congestion occurs due to the attempt at satisfying the NBR. Additionally, once congestion is identified, there is a need on a mechanism to mitigate the congestion. In particular, with the development of radio data services, congestion always occurs in cells in a network due to high traffic or mobility, which results in congested cell becoming unable to provide the normal data service to users. If many UEs are deprioritized during congestion or re-prioritized during relief, it may trigger high oscillation and ping-pong between congestion and no congestion. Moreover, there is no admission control algorithm for NBR traffic, given that the NBR bearers are nominally non-GBR bearers, and non-GBR bearers are not denied admission. It may be ineffective if some other high priority traffic arrives later, or if radio condition of existing UEs change, for example, due to mobility.
[0043] According to example embodiments of the present disclosure, it proposes a solution on a cell congestion detection and resolution. Further, it also proposes a stepwise congestion control algorithm and mitigation. In this way, it can help most of the NBR UEs to meet their NBR requirement, and also potentially prevents starving other non-GBR UEs from receiving any resources. Additionally, it also prevents cell-load oscillation and ping-pong, which prevents many UEs from being deprioritized during congestion or being re-prioritized when congestion is relieved.
[0044] FIG. 1 illustrates an example communication environment 100 in which example embodiments of the present disclosure can be implemented. The communication environment 100 may include a device110 (also referred to as “first device 110” ) and devices 120-1, 120-2, 120-3, …, 120-N (also referred to as “second device 120” ) , where N is an integer number.
[0045] In the following, for the purpose of illustration, some example embodiments are described with the second device 120 operating as a terminal device and the first device 110 operating as a network device. However, in some example embodiments, operations described in connection with a terminal device may be implemented at a network device or other device, and operations described in connection with a network device may be implemented at a terminal device or other device.
[0046] In some example embodiments, if the second device 120 is a terminal device and the first device 110 is a network device, a link from the first device 110 to the second device 120 is referred to as a downlink (DL) , and a link from the second device 120 to the first device 110 is referred to as an uplink (UL) . In DL, the first device 110 is a transmitting (TX) device (or a transmitter) and the second device 120 is a receiving (RX) device (or a receiver) . In UL, the second device 120 is a TX device (or a transmitter) and the first device 110 is a RX device (or a receiver) .
[0047] Communications in the communication environment 100 may be implemented according to any proper communication protocol (s) , comprising, but not limited to, cellular communication protocols of the first generation (1G) , the second generation (2G) , the third generation (3G) , the fourth generation (4G) , the fifth generation (5G) , the sixth generation (6G) , and the like, wireless local network communication protocols such as Institute for Electrical and Electronics Engineers (IEEE) 802.11 and the like, and / or any other protocols currently known or to be developed in the future. Moreover, the communication may utilize any proper wireless communication technology, comprising but not limited to: Code Division Multiple Access (CDMA) , Frequency Division Multiple Access (FDMA) , Time Division Multiple Access (TDMA) , Frequency Division Duplex (FDD) , Time Division Duplex (TDD) , Multiple-Input Multiple-Output (MIMO) , Orthogonal Frequency Division Multiple (OFDM) , Discrete Fourier Transform spread OFDM (DFT-s-OFDM) and / or any other technologies currently known or to be developed in the future.
[0048] Example embodiments of the present disclosure will be described in detail below with reference to the accompanying drawings. Reference is now made to FIG. 2A, which illustrates a signaling flow 200 for congestion control according to some example embodiments of the present disclosure. For the purposes of discussion, the signaling flow 200 may be discussed with reference to FIG. 1, for example, by using the first device 110 and the second device 120.
[0049] The first device 110 monitors (2010) a congestion condition on a channel in a cell 102 which serves a plurality of second devices (such as, the second devices 120-1, 120-2 , …120-N) . For example, the first device 110 may monitor the congestion condition in any of data channels in the cell 102. As an example, the channel may be a physical downlink shared channel (PDSCH) . As another example, the channel may be a physical uplink shared channel (PUSCH) . Alternatively, or in addition, the first device 110 may monitor the congestion condition in any of control channels in the cell 102. As an example, the channel may be a physical downlink control channel (PDCCH) .
[0050] The first device 110 determines (2020) whether a congestion occurs on the channel based on the congestion condition and a congestion threshold. For example, the congestion may be detected when a percentage of resources needed to meet the NBR data rates of the NBR bearers exceeds a high threshold, for example, 75%. The data channel resources may be the most constraining. If, on the other hand, control channel resources are a bottleneck for the congestion, then the resource check may, in addition, or exclusively, be done for the control channel resource requirement. Only for the purpose of illustrations, it assumes that the data channel resource is the bottleneck, but example embodiments described herein may apply equally well to control channel resource constraint and congestion.
[0051] In some example embodiments, the congestion threshold may include a threshold for aggregate resources. For example, the congestion condition may include a total number of physical resource blocks required by the plurality of second devices for bit rate requirements, and the threshold for aggregate resources may indicate a threshold number of physical resource blocks available per slot for the channel.
[0052] In an example embodiment, for DL, the average PRB requirement may be checked to meet NBR, and this requirement may be checked against the resource availability, in order to determine whether the congestion occurs. By way of example, the first device 110 may determine whether the total number of PRBs exceeds the threshold number of PRBs available per slot for the channel. In this case, if the total number of PRBs does not exceed (i.e., smaller than or equal to) the threshold number of PRBs available per slot for the channel, the first device 110 may determine that there is no congestion on the channel. Alternatively, if the total number of PRBs exceeds the threshold number of PRBs available per slot for the channel, the first device 110 may determine that the congestion occurs on the channel. For example, the congestion may occur on the channel, if the following condition is met:
[0053] where NBRi represents the nominal bitrate for the second device 120-i (i is an integer number and in a range from 1 to N) , PRB_max presents the maximum number of PRBs available per slot for data channel in the given transmission direction, 0< η<1 defines the congestion threshold, represents an estimated data rate of the second device 120-i, if given one PRB available in the slot, and a ratio may represent the number of PRBs of the available PRB_max that needs to be given to the second device 120-i to meet its NBR requirement. The Each NBR UE’s PRB requirement (i.e., user i) may be estimated as
[0054] In some example embodiments, the first device 110 may determine the estimate data rate for a target second device (for example, the second device 120-1) based on a rank reported by the target second device, a spectral efficiency corresponding to a channel quality indication reported by the target second device, and the maximum number of physical resource blocks per slot for the channel. may be estimated using the UE-reported CSI feedback taking into account the rank of the transmission. For example, the estimate data rate may be determined as:
[0055] where ranki represents the rank reported by the target second device or of the transmission, SE_CQIi represents the spectral efficiency corresponding to the CQI reported by the target second device for one PRB.
[0056] In some example embodiments, may also be further averaged at the first device 110 using an appropriate averaging approach. For example, the estimation of the may be further adjusted by an outer-loop link adaptation (OLLA) mechanism based on acknowledgement / non-acknowledgement (ACK / NACK) . Alternatively, it may be sufficient to directly estimate the cumulative number of PRBs needed across all the second devices that are being served as NBR traffic, which allows exploiting some statistical multiplexing gains and reduce complexity, because not all second devices may have sufficient traffic to fill the requirement of NBRi. This may be viewed as a Frequency Domain (FD) congestion detection approach.
[0057] In some example embodiments, for UL, for both Frequency Range 1 (FR1) and Frequency Range 2 (FR2) , and for FR2, for both DL and UL, a further congestion condition may be checked to determine whether or not congestion has occurred. For example, in UL, it may not be possible to allocate to cell edge second devices any arbitrary number of PRBs due to their transmission power limitation. This then implies that, when scheduled, there may be a maximum number of PRBs the target second device may be allocated. To meet the NBR requirement of such cell-edge second devices, the second devices may need to be scheduled more often in time domain. Thus, the time-domain resources, i.e., number of slots in which the second device can be scheduled is likely to become more of a bottleneck to meet the NBR needs in the UL. In this case, in some example embodiments, the congestion threshold may include a threshold for aggregate time-domain threshold. For example, the congestion condition may include a number of slots that a target second device (for example, the second device 120-1) is allocated within a duration to meet a bit rate requirement of the target second device, and the threshold for aggregate time-domain load may include a threshold number of slots available within the duration for the target second device.
[0058] In some example embodiments, the first device 110 may determine whether the number of slots that the target second device is allocated within the duration exceeds the threshold number of slots available within the duration. The slots may be uplink slots. Alternatively, the slot may be downlink slots. If the number of slots that the target second device is allocated within the duration does not exceed (i.e., smaller than or equal to) the threshold number of slots available within the duration, the first device 110 may determine that there is no congestion on the channel. Alternatively, if the number of slots that the target second device is allocated within the duration exceeds the threshold number of slots available within the duration, the first device 110 may determine that the congestion occurs on the channel. By way of example, the congestion may occur on the channel, if the following condition is met:
[0059] where represents the nominal bits to be delivered over a duration to meet its NBR requirement NBRi for the second device 120-i (i is an integer number and in a range from 1 to N) , represents the maximum transport block that the second device120-i can get in a given slot based on the maximum number of PRBs that can be allocated to the second device 120-i, TD_slots represents the maximum number of UL slots available within the duration, 0< γ<1 defines the congestion threshold, which may be operator settable. In some example embodiments, this maximum number of PRBs that can be allocated to a second device can be significantly smaller than the entire bandwidth of the carrier due to power limitations in the UL due to the large pathloss the second device may be experiencing.
[0060] Alternatively, or in addition, the congestion threshold may include a threshold for aggregate number of scheduled second devices per slot. For example, the congestion condition may include a total number of slots that the plurality of second devices is allocated within a duration to meet a bit rate requirement, and the threshold for aggregate time-domain load may include a threshold number of slots available within the duration for scheduled second devices per slot. In this case, the first device 110 may determine whether the total number of slots that the plurality of second device is allocated within the duration exceeds the threshold number of slots available within the duration for the scheduled second devices. The slots may be uplink slots. Alternatively, the slot may be downlink slots. If the total number of slots that the plurality of second device is allocated within the duration does not exceed (i.e., smaller than or equal to) the threshold number of slots available within the duration for the scheduled second devices, the first device 110 may determine that there is no congestion on the channel. Alternatively, if the total number of slots that the plurality of second device is allocated within the duration exceeds the threshold number of slots available within the duration for the scheduled second devices, the first device 110 may determine that the congestion occurs on the channel. For example, the congestion may occur on the channel, if the following condition is met:
[0061] where represents the nominal bits to be delivered over a duration to meet its NBR requirement NBRi for the second device 120-i, represents the maximum transport block that the second device120-i can get in a given slot based on the maximum number of PRBs that can be allocated to the second device 120-i, TD_slots represents the maximum number of UL slots available within the duration, 0< γ<1 defines the congestion threshold, and max_Sched_UEs is the maximum number of second devices that can be scheduled in a UL slot. In other words, this condition may state that if the sum of the number of slots over 1 second that all second devices need to be scheduled is more than a certain fraction of the slots times the maximum number of second devices that can be scheduled in a slot, the cell may be determined to be congested.
[0062] In some other example embodiments, a similar time-domain (TD) approach may also be needed in FR2 for both DL and UL. This is because of the analog beamforming constraint that allows only second devices of the same analog beam to be scheduled in a slot. Given the large number of beams in FR2, it may be reasonably assumed that second devices all have different best analog beams such that two different second devices may not be scheduled in the same slot. Thus, in some example embodiments, the congestion condition may include a total number of slots that the plurality of second devices is allocated within a duration to meet a bit rate requirement, and the threshold for aggregate time-domain load may include a threshold number of slots available within the duration for the target second device (for example, the second device 120-1) . The first device 110 may determine whether the total number of slots that the plurality of second device is allocated within the duration exceeds the threshold number of slots available within the duration for the target second device. The slots may be uplink slots. Alternatively, the slot may be downlink slots. In this case, if the total number of slots that the plurality of second device is allocated within the duration does not exceed (i.e., smaller than or equal to) the threshold number of slots available within the duration for the target second device, the first device 110 may determine that there is no congestion on the channel. Alternatively, if the total number of slots that the plurality of second device is allocated within the duration exceeds the threshold number of slots available within the duration for the target second device, the first device 110 may determine that the congestion occurs on the channel. For example, the congestion may occur on the channel, if the following condition is met:
[0063] where represents the nominal bits to be delivered over a duration to meet its NBR requirement NBRi for the second device 120-i, represents the maximum transport block that the second device120-i can get in a given slot based on the maximum number of PRBs that can be allocated to the second device 120-i, TD_slots represents the maximum number of UL slots available within the duration, 0< γ<1 defines the congestion threshold. In other words, the above case where FR2 is applied is equivalent to setting max_Sched_UEs=1.
[0064] In some example embodiments, the first device 110 may determine the estimated data rate for the target second device (for example, the second device 120-1) based on a rank reported by the target second device, a spectral efficiency corresponding to a modulation coding scheme (MCS) that is allocated to the target second device, and the maximum number of physical resource blocks allocated to the target second device. In this case, the first device 110 may further determine one of: the number of slots that the target second device is allocated within the duration, or the total number of slots that the plurality of second device is allocated within the duration, based on the estimated data rate and a nominal bit rate for the target second device. For example, the estimated data rate for the target second device 120-i may be determined as
[0065] where max _PRBsSi represents the maximum number of PRBs that can be allocated to the second device 120-i, represents the spectral efficiency corresponding to the MCS that can be allocated to the second device 120-i, which also depends on max_PRBsSi.
[0066] In some other example embodiments, the first device 110 may determine the total number of slots that the plurality of second device is allocated within the duration based on a layer 2 packet scheduler. For example, the L2 Packet Scheduler (L2PS) may directly try to estimate the quantity instead of trying to compute it based on the terms NBRi and This results in better ability to track the real load due to NBR traffic, given that the traffic generated may often be lower than the NBR requirement NBRi. Towards this end, L2PS can estimate an instantaneous NBR TD load as below:
[0067] The first device 110 may determine an effective monitoring window based on a time constant of a filter. In this case, the first device 110 may monitor the congestion condition on the channel effectively within the monitoring window. In some example embodiments, L2PS may maintain a filtered avgNbrTdLoad_cell, which is updated as follows: avgNbrTdLoad_cell= (1-α) avgNbrTdLoad_cell+α×instNbrTdLoad_cell,
[0068] where α represents the time constant of the filter, and α∈ (0, 1) . An example value may be 0.01, which implies that the effective time constant of the NBR TD load filter is a time window of 100 slots. If avgNbrTdLoad_cell > γ×TD_slots , some second devices may need to be downgraded from NBR to non-GBR. To determine a per second device ‘sNbrTdLoad_ue, the same approach can be used, except that this metric may be tracked on a per-second device basis. The instantaneous NBR TD load of the second device 120-i may be determined as:
[0069] The filtered / average NBR TD load of the second device 120-i which represent as avgNbrTdLoad_uei may be updated as follows: avgNbrTdLoad_uei= (1-α) ×avgNbrTdLoad_uei+α×instNbrTdLoad_uei.
[0070] The first device 110 determines (2030) a set of second devices of which bit rate is downgraded from the plurality of second devices, if the congestion occurs on the channel. It is noted that the set of second devices may include any suitable number of second device. In this way, it can determine the least number of NBR bearers to downgrade to non-GBR, thereby guaranteeing the remaining UEs with nominal bit rate, instead of all second devices suffering (both NBR and other non-GBR bearer UEs) due to the congestion.
[0071] As an example, the first device 110 may sort the plurality of second devices in a descending order of resource requirements to meet the bit rate requirement. In this case, the first device 110 may determine the set of second devices from the plurality of sorted second devices based on the descending order. For example, the second devices may be sorted in the decreasing order of their resource requirement to meet NBR. The first device 110 may keep downgrading these second devices until the congestion condition is no longer fulfilled, i.e., metrics (such as, ) related to the congestion condition being below the congestion threshold (such as, η×PRB_max, γ×TD_slots, γ×TD_slots×max_Sched_UEs) .
[0072] In an example embodiment, the first device 110 may sort NBR bearers in the descending order of their NBR load given by one of: avgNbrTdLoadi or alternatively by (for the case of TD congestion) , or by (for the case of FD congestion) . The first device 110 may downgrade bit rates of the second devices in the above sorted order and then update the aggregate NBR load, if the aggregate NBR load is higher than the congestion threshold. Only as an example, the second devices may be sorted based on the descending order of the NBR load as follows: the second device 120-3, the second device 120-1, the second device 120-2, …, the second device 120-N. The first device 110 may first determine to downgrade the bit rate of the second device 120-3 and update the aggregate NBR load. If the updated aggregate NBR load is no longer higher than the congestion threshold, the first device 110 may determine not to downgrade the bit rate of other second devices. Alternatively, if the updated aggregate NBR load is still higher than the congestion threshold, the first device 110 may further determine to downgrade the bit rate of the second device 120-1.
[0073] The first device 110 may transmit (2040) a first indication for downgrading bit rates of the set of second devices for a nominal bit rate service. For example, as mentioned above, if the set of second devices includes the second devices 120-1 and 120-3, the first device 110 may transmit the first indication to the second devices 120-1 and 120-3. In other words, the set of second devices may receive the first indication for downgrading bit rates from the first device 110. The second device, for example, the second device 120-1 may be associated with one NBR bearer. Alternatively, the second device may be associated with a plurality of NBR bearers. In this case, the bit rate for the NBR indicated in the first indication may be downgraded, and bit rate for other NBR bearers of the plurality of NBR bearers may not be downgraded.
[0074] In some example embodiments, periodically or event-triggered, when the aggregate NBR load is below congestion levels, and if there are NBR bearers that are downgraded to non-GBR, then a reprioritization may be carried out in the reverse order in which de-prioritization happened. In other words, NBR bearers downgraded to non-GBR may be upgraded starting from the bearer that needs the least estimated resources to meet its NBR requirement. This upgrading happens until such time as upgrading any more bearers results in exceeding the congestion threshold. In an example embodiment, the first device 110 may determine whether the congestion relieves on the channel. For example, the first device 110 may keep monitoring the congestion condition on the channel and determine whether the congestion relieves on the channel based on the congestion condition and another congestion threshold. In this case, if the congestion relieves on the channel, the first device 110 may sort the set of second devices in an ascending order of resource requirements to meet the bit rate requirement. The first device 110 may then determine (2050) at least one second device from the set of second devices based on the ascending order and upgrade a bit rate of the at least one second device. In other words, the first device 110 may keep upgrade these second devices until upgrading one more UE results in the congestion condition becoming fulfilled, i.e., metrics (such as, ) related to the congestion condition being higher the congestion threshold (such as, η×PRB_max, γ×TD_slots, γ×TD_slots×max_Sched_UEs) . In some example embodiments, the congestion threshold for downgrading the bit rate and the other congestion threshold for upgrading the bit rate may be the same. Alternatively, the congestion threshold for downgrading the bit rate and the other congestion threshold for upgrading the bit rate may be different. In this way, it can avoid ping-pong effects.
[0075] In an example embodiment, the first device 110 may sort previously downgraded NBR bearers in the ascending order of their NBR load given by one of: avgNbrTdLoadi or alternatively by (for the case of TD congestion) , or by (for the case of FD congestion) . The first device 110 may upgrade bit rates of the second devices in the above sorted order and then update the aggregate NBR load, if the aggregate NBR load is smaller than the congestion threshold. Only as an example, if the set of second devices includes the second devices 120-1 and 120-3, the first device 110 may sort the second devices 120-1 and 120-3. For example, the sorted second devices in the ascending order of resource requirements may be the second device 120-1 and the second device 120-3. The first device 110 may first select the second device 120-1 to upgrade its bit rate and update the aggregate NBR load. If the updated aggregate NBR load is higher than the congestion threshold, the first device 110 may determine not to update the bit rate of other second devices. Alternatively, the updated aggregate NBR load is still smaller than the congestion threshold, the first device 110 may further determine to upgrade the bit rate of the second device 120-3.
[0076] In some example embodiments, the first device 110 may transmit (2060) , to the at least one second device, a second indication for upgrading the bit rate of the second device for the guaranteed bit rate service. For example, if the at least one second device includes the second device 120-1, the first device 110 may transmit the second indication for upgrading the bit rate to the second device 120-1. In this way, while other criteria can be used for downgrading and reprioritization, the present disclosure can help to maximize the number of second devices of which NBR requirement is met.
[0077] The first device 110 may transmit a third indication indicating a congestion state in the cell to a third device. For example, the third indication may be transmitted to a higher layer / operation and maintenance (O&M) management about the congestion state, i.e., congestion detected / congestion resolved condition that can be used in admission control or session management.
[0078] In an example embodiment, there may be some hysteresis such that the comparison for downgrading and upgrading are not both the same congestion thresholds, but slightly different to avoid ping-pongs. While downgrading, it may downgrade only when the load exceeds threshold+hysteresis margin, and upgrade only when the load falls below threshold -hysteresis margin.
[0079] The dynamic behavior of proposed congestion control approach in the present disclosure can be observed in FIG. 3A which is obtained from system simulation for NBR PRB congestion control in FR1. With NBR congestion control approach in the present disclosure enabled, if the average NBR PRB load ratio exceeds the pre-defined congestion detection threshold, the bearer downgrade takes effect, which keeps driving the average load down, until the congestion is mitigated. The subsequent bearer upgrade may increase the NBR PRB load ratio. Ping-Pong effect may be reduced by applying hysteresis. The effective NBR PRB load ratio may be controlled between the congestion mitigation and detection thresholds, although the instant NBR PRB load ratio fluctuates more. The congestion events detected by the system (0 –no congestion, 1 –congestion detected, 2 –congestion mitigated, 3 –congestion remains) is also shown in FIG. 3A. When the congestion is continuously detected, more NBR bearers are downgraded in sequence, until the congestion is mitigated.
[0080] A similar dynamic behavior can be observed when time-domain congestion control approach is applied, which is shown in FIG. 3B that is from system simulation for NBR time-domain congestion control in FR2. Additionally, the controlled UE / bearer upgrade may be applied. As shown in FIG. 3B, the average TD load does not oscillate much, because the instant TD load after upgrade is controlled, which prevents the system from going into NBR congestion status again in a short time.
[0081] The simulation in FIG. 4A to FIG. 4D may show that the congestion control approach can effectively control the NBR load below the pre-defined threshold. The average UE throughput of other NonGBR UEs is significantly improved in both FR1 and FR2, as shown in FIG. 4A and FIG. 4B which shows average UE throughput statistics with and without PDSCH congestion control collected from system simulation for NBR PRB congestion control in FR1. With NBR PRB congestion control, the actual NBR traffic load ratio can be controlled below the threshold (in FIG. 4A and FIG. 4B, the threshold is 80%and the achieved load ratio is 79.1%) . Also, the average throughput of non-GBR UEs increases from 0.11Mbps to 2.97Mbps, ~27x improvement compared with the case without congestion control, while still maintaining a good performance difference between NBR and non-GBR traffic. For FR2, FIG. 4C and FIG. 4D shows the average UE throughput statistics with and without time-domain congestion control. With NBR time-domain congestion control, the average throughput of non-GBR UEs increases from 0.17Mbps to 2.81Mbps, ~16.5x improvement compared with the case without congestion control for only a marginal drop in the throughput of the NBR UEs. In fact, the percentage of UEs that meet the NBR requirement of 20 Mbps is roughly the same (30%) showing that the congestion control algorithm is able to have roughly the same fraction of NBR UEs meeting their NBR requirement. The actual NBR traffic load ratio is ~77.9%< 80%, which is also controlled well to within the NBR load threshold.
[0082] According to example embodiments of the present disclosure, it deals with the cell congestion detection and resolution and proposes a stepwise congestion control algorithm and mitigation. More specifically, the present disclosure can address the problem of many NBR UEs being designated as NBR UEs, which prevents most of the NBR UEs from meeting their NBR requirement, and also potentially starting other non-GBR UEs from receiving any resources. The present disclosure also prevents cell-load oscillation and ping-pong, which prevents many UEs from being deprioritized during congestion or being re-prioritized when congestion is relieved. According to example embodiments of the present disclosure, once the congestion has been detected, the mitigation mechanism is to determine the least number of NBR bearers to downgrade to non-GBR and keep downgrading these UEs until such time as we go below the congestion threshold.
[0083] FIG. 5 shows a flowchart of an example method 500 implemented at a first device in accordance with some example embodiments of the present disclosure. For the purpose of discussion, the method 500 will be described from the perspective of the first device 110 in FIG. 1 .
[0084] At block 510, the first device monitors a congestion condition on a channel in a cell which a serves a plurality of second devices.
[0085] At block 520, the first device determines whether a congestion occurs on the channel based on the congestion condition and a congestion threshold. The congestion threshold comprises at least one of: a threshold for aggregate resources, a threshold for aggregate time-domain load, or a threshold for aggregate number of scheduled second devices per slot.
[0086] At block 530, if the congestion occurs on the channel, the first device determines, from the plurality of second devices, a set of second devices of which bit rate is downgraded.
[0087] In some example embodiments, the channel comprises at least one of: a physical uplink shared channel, a physical downlink shared channel, or a physical downlink control channel.
[0088] In some example embodiments, the congestion condition comprises a total number of physical resource blocks required by the plurality of second devices for bit rate requirements, and the threshold for aggregate resources indicates a threshold number of physical resource blocks available per slot for the channel, and determining whether the total number of physical resource blocks exceeds the threshold number of physical resource blocks available per slot for the channel; and based on a determination that the total number of physical resource blocks exceeds the threshold number of physical resource blocks available per slot for the channel, determining that the congestion occurs on the channel.
[0089] In some example embodiments, the method 500 further comprises: determining an estimated data rate for a target second device based on a rank reported by the target second device, a spectral efficiency corresponding to a channel quality indication reported by the target second device, and the maximum number of physical resource blocks per slot for the channel; and determining the total number of physical resource blocks required by the plurality of second devices for bit rate requirement based on the estimated data rate for the target second device and a nominal bit rate for the target device.
[0090] In some example embodiments, the congestion condition comprises a number of slots that a target second device is allocated within a duration to meet a bit rate requirement of the target second device, and the threshold for aggregate time-domain load indicates a threshold number of slots available within the duration for the target second device, and determining whether the number of slots that the target second device is allocated within the duration exceeds the threshold number of slots available within the duration; and based on a determination that the number of slots that the target second device is allocated within the duration exceeds the threshold number of slots available within the duration, determining that the congestion occurs on the channel.
[0091] In some example embodiments, the congestion condition comprises a total number of slots that the plurality of second devices is allocated within a duration to meet a bit rate requirement, and the threshold for aggregate time-domain load indicates a threshold number of slots available within the duration for scheduled second devices per slot, and determining whether the total number of slots that the plurality of second device is allocated within the duration exceeds the threshold number of slots available within the duration for the scheduled second devices; and based on a determination that the total number of slots that the plurality of second device is allocated within the duration exceeds the threshold number of slots available within the duration for the scheduled second devices, determining that the congestion occurs on the channel.
[0092] In some example embodiments, the congestion condition comprises a total number of slots that the plurality of second devices is allocated within a duration to meet a bit rate requirement, and the threshold for aggregate time-domain load indicates a threshold number of slots available within the duration for a target second device, and determining whether the total number of slots that the plurality of second device is allocated within the duration exceeds the threshold number of slots available within the duration for the target second device; and based on a determination that the total number of slots that the plurality of second device is allocated within the duration exceeds the threshold number of slots available within the duration for the target second device, determining that the congestion occurs on the channel.
[0093] In some example embodiments, the method 500 further comprises: determining an estimated data rate for a target second device based on a rank reported by the target second device, a spectral efficiency corresponding to a modulation coding scheme that is allocated to the target second device, and the maximum number of physical resource blocks allocated to the target second device; and determining, based on the estimated data rate and a nominal bit rate for the target device, one of: the number of slots that the target second device is allocated within the duration, or the total number of slots that the plurality of second device is allocated within the duration.
[0094] In some example embodiments, the method 500 further comprises: determining the total number of slots that the plurality of second device is allocated within the duration based on a layer 2 packet scheduler.
[0095] In some example embodiments, the method 500 further comprises: determining a monitoring window based on a time constant of a filter; and monitoring the congestion condition on the channel within the monitoring window.
[0096] In some example embodiments, the method 500 further comprises: sorting the plurality of second devices in a descending order of resource requirements to meet the bit rate requirement; and determining the set of second devices from the plurality of sorted second devices based on the descending order.
[0097] In some example embodiments, the method 500 further comprises: transmitting, to the set of second devices, a first indication for downgrading bit rates of the set of second devices.
[0098] In some example embodiments, the method 500 further comprises: determining whether the congestion relieves on the channel; based on a determination that the congestion relieves on the channel, sorting the set of second devices in an ascending order of resource requirements to meet the bit rate requirement; determining at least one second device from the set of second devices based on the ascending order; and upgrading a bit rate of the at least one second device.
[0099] In some example embodiments, the method 500 further comprises: transmitting , to the at least one second device, a second indication for upgrading the bit rate for a nominal bit rate service.
[0100] In some example embodiments, the method 500 further comprises: transmitting, to a third device, a third indication indicating a congestion state in the cell.
[0101] In some example embodiments, the first device comprises a network device, and the plurality of second devices comprises a plurality of terminal devices.
[0102] FIG. 6 shows a flowchart of an example method 600 implemented at a second device in accordance with some example embodiments of the present disclosure. For the purpose of discussion, the method 600 will be described from the perspective of the second device 120 in FIG. 1.
[0103] At block 610, the second device receives, from a first device, a first indication for downgrading a bit rate of the second device for a nominal bit rate service.
[0104] In some example embodiments, the method 600 further comprises: receiving, from the first device, a second indication for upgrading the bit rate of the second device for the nominal bit rate service.
[0105] In some example embodiments, the first device comprises a network device, and the second device comprises a terminal device.
[0106] In some example embodiments, a first apparatus capable of performing any of the method 500 (for example, the first device 110 in FIG. 1) may comprise means for performing the respective operations of the method 500. The means may be implemented in any suitable form. For example, the means may be implemented in a circuitry or software module. The first apparatus may be implemented as or included in the first device 110 in FIG. 1.
[0107] In some example embodiments, the first apparatus comprises means for monitoring a congestion condition on a channel in a cell which a serves a plurality of second devices; means for determining whether a congestion occurs on the channel based on the congestion condition and a congestion threshold, wherein the congestion threshold comprises at least one of: a threshold for aggregate resources, a threshold for aggregate time-domain load, or a threshold for aggregate number of scheduled second devices per slot; and means for based on a determination that the congestion occurs on the channel, determining, from the plurality of second devices, a set of second devices of which bit rate is downgraded.
[0108] In some example embodiments, the channel comprises at least one of: a physical uplink shared channel, a physical uplink control channel, a physical downlink shared channel, or a physical downlink control channel.
[0109] In some example embodiments, the congestion condition comprises a total number of physical resource blocks required by the plurality of second devices for bit rate requirements, and the threshold for aggregate resources indicates a threshold number of physical resource blocks available per slot for the channel, and means for determining whether the total number of physical resource blocks exceeds the threshold number of physical resource blocks available per slot for the channel; and means for based on a determination that the total number of physical resource blocks exceeds the threshold number of physical resource blocks available per slot for the channel, determining that the congestion occurs on the channel.
[0110] In some example embodiments, the first apparatus further comprises: means for determining an estimated data rate for a target second device based on a rank reported by the target second device, a spectral efficiency corresponding to a channel quality indication reported by the target second device, and the maximum number of physical resource blocks per slot for the channel; and means for determining the total number of physical resource blocks required by the plurality of second devices for bit rate requirement based on the estimated data rate for the target second device and a nominal bit rate for the target device.
[0111] In some example embodiments, the congestion condition comprises a number of slots that a target second device is allocated within a duration to meet a bit rate requirement of the target second device, and the threshold for aggregate time-domain load indicates a threshold number of slots available within the duration for the target second device, and means for determining whether the number of slots that the target second device is allocated within the duration exceeds the threshold number of slots available within the duration; and means for based on a determination that the number of slots that the target second device is allocated within the duration exceeds the threshold number of slots available within the duration, determining that the congestion occurs on the channel.
[0112] In some example embodiments, the congestion condition comprises a total number of slots that the plurality of second devices is allocated within a duration to meet a bit rate requirement, and the threshold for aggregate time-domain load indicates a threshold number of slots available within the duration for scheduled second devices per slot, and means for determining whether the total number of slots that the plurality of second device is allocated within the duration exceeds the threshold number of slots available within the duration for the scheduled second devices; and means for based on a determination that the total number of slots that the plurality of second device is allocated within the duration exceeds the threshold number of slots available within the duration for the scheduled second devices, determining that the congestion occurs on the channel.
[0113] In some example embodiments, the congestion condition comprises a total number of slots that the plurality of second devices is allocated within a duration to meet a bit rate requirement, and the threshold for aggregate time-domain load indicates a threshold number of slots available within the duration for a target second device, and means for determining whether the total number of slots that the plurality of second device is allocated within the duration exceeds the threshold number of slots available within the duration for the target second device; and means for based on a determination that the total number of slots that the plurality of second device is allocated within the duration exceeds the threshold number of slots available within the duration for the target second device, determining that the congestion occurs on the channel.
[0114] In some example embodiments, the first apparatus further comprises: means for determining an estimated data rate for a target second device based on a rank reported by the target second device, a spectral efficiency corresponding to a modulation coding scheme that is allocated to the target second device, and the maximum number of physical resource blocks allocated to the target second device; and means for determining, based on the estimated data rate and a nominal bit rate for the target device, one of: the number of slots that the target second device is allocated within the duration, or the total number of slots that the plurality of second device is allocated within the duration.
[0115] In some example embodiments, the first apparatus further comprises: means for determining the total number of slots that the plurality of second device is allocated within the duration based on a layer 2 packet scheduler.
[0116] In some example embodiments, the first apparatus further comprises: means for determining a monitoring window based on a time constant of a filter; and means for monitoring the congestion condition on the channel within the monitoring window.
[0117] In some example embodiments, the first apparatus further comprises: means for sorting the plurality of second devices in a descending order of resource requirements to meet the bit rate requirement; and means for determining the set of second devices from the plurality of sorted second devices based on the descending order.
[0118] In some example embodiments, the first apparatus further comprises: means for transmitting, to the set of second devices, a first indication for downgrading bit rates of the set of second devices.
[0119] In some example embodiments, the first apparatus further comprises: means for determining whether the congestion relieves on the channel; means for based on a determination that the congestion relieves on the channel, sorting the set of second devices in an ascending order of resource requirements to meet the bit rate requirement; means for determining at least one second device from the set of second devices based on the ascending order; and means for upgrading a bit rate of the at least one second device.
[0120] In some example embodiments, the first apparatus further comprises: means for transmitting, to the at least one second device, a second indication for upgrading the bit rate for a nominal bit rate service.
[0121] In some example embodiments, the first apparatus further comprises: means for transmitting, to a third device, a third indication indicating a congestion state in the cell.
[0122] In some example embodiments, the first device comprises a network device, and the plurality of second devices comprises a plurality of terminal devices.
[0123] In some example embodiments, the first apparatus further comprises means for performing other operations in some example embodiments of the method 500 or the first device 110. In some example embodiments, the means comprises at least one processor; and at least one memory storing instructions that, when executed by the at least one processor, cause the performance of the first apparatus.
[0124] In some example embodiments, a second apparatus capable of performing any of the method 600 (for example, the second device 120 in FIG. 1) may comprise means for performing the respective operations of the method 600. The means may be implemented in any suitable form. For example, the means may be implemented in a circuitry or software module. The second apparatus may be implemented as or included in the second device 120 in FIG. 1.
[0125] In some example embodiments, the second apparatus comprises means for receiving, from a first device, a first indication for downgrading a bit rate of the second device for a nominal bit rate service.
[0126] In some example embodiments, the second apparatus further comprises: means for receiving, from the first device, a second indication for upgrading the bit rate of the second device for the nominal bit rate service.
[0127] In some example embodiments, the first device comprises a network device, and the second device comprises a terminal device.
[0128] In some example embodiments, the second apparatus further comprises means for performing other operations in some example embodiments of the method 600 or the second device 120. In some example embodiments, the means comprises at least one processor; and at least one memory storing instructions that, when executed by the at least one processor, cause the performance of the second apparatus.
[0129] FIG. 7 is a simplified block diagram of a device 700 that is suitable for implementing example embodiments of the present disclosure. The device 700 may be provided to implement a communication device, for example, the first device 110 or the second device 120 as shown in FIG. 1. As shown, the device 700 includes one or more processors 710, one or more memories 720 coupled to the processor 710, and one or more communication modules 740 coupled to the processor 710.
[0130] The communication module 740 is for bidirectional communications. The communication module 740 has one or more communication interfaces to facilitate communication with one or more other modules or devices. The communication interfaces may represent any interface that is necessary for communication with other network elements. In some example embodiments, the communication module 740 may include at least one antenna.
[0131] The processor 710 may be of any type suitable to the local technical network and may include one or more of the following: general purpose computers, special purpose computers, microprocessors, digital signal processors (DSPs) and processors based on multicore processor architecture, as non-limiting examples. The device 700 may have multiple processors, such as an application specific integrated circuit chip that is slaved in time to a clock which synchronizes the main processor.
[0132] The memory 720 may include one or more non-volatile memories and one or more volatile memories. Examples of the non-volatile memories include, but are not limited to, a Read Only Memory (ROM) 724, an electrically programmable read only memory (EPROM) , a flash memory, a hard disk, a compact disc (CD) , a digital video disk (DVD) , an optical disk, a laser disk, and other magnetic storage and / or optical storage. Examples of the volatile memories include, but are not limited to, a random access memory (RAM) 722 and other volatile memories that will not last in the power-down duration.
[0133] A computer program 730 includes computer executable instructions that are executed by the associated processor 710. The instructions of the program 730 may include instructions for performing operations / acts of some example embodiments of the present disclosure. The program 730 may be stored in the memory, e.g., the ROM 724. The processor 710 may perform any suitable actions and processing by loading the program 730 into the RAM 722.
[0134] The example embodiments of the present disclosure may be implemented by means of the program 730 so that the device 700 may perform any process of the disclosure as discussed with reference to FIG. 2 to FIG. 6. The example embodiments of the present disclosure may also be implemented by hardware or by a combination of software and hardware.
[0135] In some example embodiments, the program 730 may be tangibly contained in a computer readable medium which may be included in the device 700 (such as in the memory 720) or other storage devices that are accessible by the device 700. The device 700 may load the program 730 from the computer readable medium to the RAM 722 for execution. In some example embodiments, the computer readable medium may include any types of non-transitory storage medium, such as ROM, EPROM, a flash memory, a hard disk, CD, DVD, and the like. The term “non-transitory, ” as used herein, is a limitation of the medium itself (i.e., tangible, not a signal) as opposed to a limitation on data storage persistency (e.g., RAM vs. ROM) .
[0136] FIG. 8 shows an example of the computer readable medium 800 which may be in form of CD, DVD or other optical storage disk. The computer readable medium 800 has the program 730 stored thereon.
[0137] Generally, various embodiments of the present disclosure may be implemented in hardware or special purpose circuits, software, logic or any combination thereof. Some aspects may be implemented in hardware, and other aspects may be implemented in firmware or software which may be executed by a controller, microprocessor or other computing device. Although various aspects of embodiments of the present disclosure are illustrated and described as block diagrams, flowcharts, or using some other pictorial representations, it is to be understood that the block, apparatus, system, technique or method described herein may be implemented in, as non-limiting examples, hardware, software, firmware, special purpose circuits or logic, general purpose hardware or controller or other computing devices, or some combination thereof.
[0138] Some example embodiments of the present disclosure also provide at least one computer program product tangibly stored on a computer readable medium, such as a non-transitory computer readable medium. The computer program product includes computer-executable instructions, such as those included in program modules, being executed in a device on a target physical or virtual processor, to carry out any of the methods as described above. Generally, program modules include routines, programs, libraries, objects, classes, components, data structures, or the like that perform particular tasks or implement particular abstract data types. The functionality of the program modules may be combined or split between program modules as desired in various embodiments. Machine-executable instructions for program modules may be executed within a local or distributed device. In a distributed device, program modules may be located in both local and remote storage media.
[0139] Program code for carrying out methods of the present disclosure may be written in any combination of one or more programming languages. The program code may be provided to a processor or controller of a general purpose computer, special purpose computer, or other programmable data processing apparatus, such that the program code, when executed by the processor or controller, cause the functions / operations specified in the flowcharts and / or block diagrams to be implemented. The program code may execute entirely on a machine, partly on the machine, as a stand-alone software package, partly on the machine and partly on a remote machine or entirely on the remote machine or server.
[0140] In the context of the present disclosure, the computer program code or related data may be carried by any suitable carrier to enable the device, apparatus or processor to perform various processes and operations as described above. Examples of the carrier include a signal, computer readable medium, and the like.
[0141] The computer readable medium may be a computer readable signal medium or a computer readable storage medium. A computer readable medium may include but not limited to an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples of the computer readable storage medium would include an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM) , a read-only memory (ROM) , an erasable programmable read-only memory (EPROM or Flash memory) , an optical fiber, a portable compact disc read-only memory (CD-ROM) , an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
[0142] Further, although operations are depicted in a particular order, this should not be understood as requiring that such operations be performed in the particular order shown or in sequential order, or that all illustrated operations be performed, to achieve desirable results. In certain circumstances, multitasking and parallel processing may be advantageous. Likewise, although several specific implementation details are contained in the above discussions, these should not be construed as limitations on the scope of the present disclosure, but rather as descriptions of features that may be specific to particular embodiments. Unless explicitly stated, certain features that are described in the context of separate embodiments may also be implemented in combination in a single embodiment. Conversely, unless explicitly stated, various features that are described in the context of a single embodiment may also be implemented in a plurality of embodiments separately or in any suitable sub-combination.
[0143] Although the present disclosure has been described in languages specific to structural features and / or methodological acts, it is to be understood that the present disclosure defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims.
Claims
1.A first device, comprising:at least one processor; andat least one memory storing instructions that, when executed by the at least one processor, cause the first device to:monitor a congestion condition on a channel in a cell which a serves a plurality of second devices;determine whether a congestion occurs on the channel based on the congestion condition and a congestion threshold, wherein the congestion threshold comprises at least one of: a threshold for aggregate resources, a threshold for aggregate time-domain load, or a threshold for aggregate number of scheduled second devices per slot; andbased on a determination that the congestion occurs on the channel, determine, from the plurality of second devices, a set of second devices of which bit rate is downgraded.2.The first device of claim 1, wherein the channel comprises at least one of:a physical uplink shared channel,a physical downlink shared channel, ora physical downlink control channel.3.The first device of claim 1 or 2, wherein the congestion condition comprises a total number of physical resource blocks required by the plurality of second devices for bit rate requirements, and the threshold for aggregate resources indicates a threshold number of physical resource blocks available per slot for the channel, andwherein the first device is caused to:determine whether the total number of physical resource blocks exceeds the threshold number of physical resource blocks available per slot for the channel; andbased on a determination that the total number of physical resource blocks exceeds the threshold number of physical resource blocks available per slot for the channel, determine that the congestion occurs on the channel.4.The first device of claim 3, wherein the first device is caused to:determine an estimated data rate for a target second device based on a rank reported by the target second device, a spectral efficiency corresponding to a channel quality indication reported by the target second device, and the maximum number of physical resource blocks per slot for the channel; anddetermine the total number of physical resource blocks required by the plurality of second devices for bit rate requirement based on the estimated data rate for the target second device and a nominal bit rate for the target device.5.The first device of any of claims 1-3, wherein the congestion condition comprises a number of slots that a target second device is allocated within a duration to meet a bit rate requirement of the target second device, and the threshold for aggregate time-domain load indicates a threshold number of uplink slots available within the duration for the target second device, andwherein the first device is caused to:determine whether the number of slots that the target second device is allocated within the duration exceeds the threshold number of uplink slots available within the duration; andbased on a determination that the number of slots that the target second device is allocated within the duration exceeds the threshold number of slots available within the duration, determine that the congestion occurs on the channel.6.The first device of any of claims 1-3, wherein the congestion condition comprises a total number of slots that the plurality of second devices is allocated within a duration to meet a bit rate requirement, and the threshold for aggregate time-domain load indicates a threshold number of uplink slots available within the duration for scheduled second devices per slot, andwherein the first device is caused to:determine whether the total number of slots that the plurality of second device is allocated within the duration exceeds the threshold number of slots available within the duration for the scheduled second devices; andbased on a determination that the total number of slots that the plurality of second device is allocated within the duration exceeds the threshold number of slots available within the duration for the scheduled second devices, determine that the congestion occurs on the channel.7.The first device of any of claims 1-3, wherein the congestion condition comprises a total number of slots that the plurality of second devices is allocated within a duration to meet a bit rate requirement, and the threshold for aggregate time-domain load indicates a threshold number of uplink slots available within the duration for a target second device, andwherein the first device is caused to:determine whether the total number of slots that the plurality of second device is allocated within the duration exceeds the threshold number of uplink slots available within the duration for the target second device; andbased on a determination that the total number of slots that the plurality of second device is allocated within the duration exceeds the threshold number of uplink slots available within the duration for the target second device, determine that the congestion occurs on the channel.8.The first device of any of claims 5-7, wherein the first device is caused to:determine an estimated data rate for a target second device based on a rank reported by the target second device, a spectral efficiency corresponding to a modulation coding scheme that is allocated to the target second device, and the maximum number of physical resource blocks allocated to the target second device; anddetermine, based on the estimated data rate and a nominal bit rate for the target device, one of: the number of slots that the target second device is allocated within the duration, or the total number of slots that the plurality of second device is allocated within the duration.9.The first device of any of claims 6-7, wherein the first device is caused to:determine the total number of slots that the plurality of second device is allocated within the duration based on a layer 2 packet scheduler.10.The first device of any of claims 1-9, wherein the first device is caused to:determine a monitoring window based on a time constant of a filter; andmonitor the congestion condition on the channel within the monitoring window.11.The first device of any of claims 1-10, wherein the first device is caused to:sort the plurality of second devices in a descending order of resource requirements to meet the bit rate requirement; anddetermine the set of second devices from the plurality of sorted second devices based on the descending order.12.The first device of any of claims 1-11, wherein the first device is caused to:transmit, to the set of second devices, a first indication for downgrading bit rates of the set of second devices.13.The first device of any of claims 1-12, wherein the first device is caused to:determine whether the congestion relieves on the channel;based on a determination that the congestion relieves on the channel, sort the set of second devices in an ascending order of resource requirements to meet the bit rate requirement;determine at least one second device from the set of second devices based on the ascending order; andupgrade a bit rate of the at least one second device.14.The first device of claim 13, wherein the first device is caused to:transmit, to the at least one second device, a second indication for upgrading the bit rate for a nominal bit rate service.15.The first device of any of claims 1-14, wherein the first device is caused to:transmit, to a third device, a third indication indicating a congestion state in the cell.16.The first device of any of claims 1-15, wherein the first device comprises a network device, and the plurality of second devices comprises a plurality of terminal devices.17.A second device, comprising:at least one processor; andat least one memory storing instructions that, when executed by the at least one processor, cause the second device to:receive, from a first device, a first indication for downgrading a bit rate of the second device for a nominal bit rate service.18.The second device of claim 17, wherein the second device is caused to:receive, from the first device, a second indication for upgrading the bit rate of the second device for the guaranteed bit rate service.19.The second device of any of claims 17-18, wherein the first device comprises a network device, and the second device comprises a terminal device.20.A method, comprising:monitoring, at a first device, a congestion condition on a channel in a cell which a serves a plurality of second devices;determining whether a congestion occurs on the channel based on the congestion condition and a congestion threshold, wherein the congestion threshold comprises at least one of: a threshold for aggregate resources, a threshold for aggregate time-domain load, or a threshold for aggregate number of scheduled second devices per slot; andbased on a determination that the congestion occurs on the channel, determining, from the plurality of second devices, a set of second devices of which bit rate is downgraded.21.A method, comprising:receiving, at a second device and from a first device, a first indication for downgrading a bit rate of the second device for a nominal bit rate service.22.A first apparatus, comprising:means for monitoring a congestion condition on a channel in a cell which a serves a plurality of second devices;means for determining whether a congestion occurs on the channel based on the congestion condition and a congestion threshold, wherein the congestion threshold comprises at least one of: a threshold for aggregate resources, a threshold for aggregate time-domain load, or a threshold for aggregate number of scheduled second devices per slot; andmeans for based on a determination that the congestion occurs on the channel, determining, from the plurality of second devices, a set of second devices of which bit rate is downgraded.23.A second apparatus, comprising:means for receiving, from a first apparatus, a first indication for downgrading a bit rate of the second apparatus for a nominal bit rate service.24.A computer readable medium comprising instructions stored thereon for causing an apparatus at least to perform the method of any of claims 20 or 21.
Citation Information
Patent Citations
Adaptive control of video transcoding in mobile networks
CN102547388A
Method for managing device behavior during increased load or congestion using policies
CN104429118A
Congestion control bitrate algorithm
CN104836748A
Uplink data transmission control method and device
CN114642051A
Network node, device and methods in a telecommunication network
US20230370893A1