Downlink scheduling of terminal devices
11438920 · 2022-09-06
Assignee
Inventors
Cpc classification
International classification
Abstract
There is provided mechanisms for downlink scheduling of terminal devices. A method is performed by a network node. The method comprises obtaining user-specific delay and user-specific channel conditions per scheduling opportunity for each of the terminal devices to be scheduled. The method comprises scheduling, in each scheduling opportunity, the terminal devices according to an order. The order is determined by individually weighting the user-specific delay and individually weighting the user-specific channel conditions for each terminal device to be scheduled.
Claims
1. A network node for downlink scheduling of terminal devices, the network node comprising processing circuitry, the processing circuitry being configured to cause the network node to: obtain user-specific delay and user-specific channel conditions per scheduling opportunity for each of the terminal devices to be scheduled; and schedule, in each scheduling opportunity, the terminal devices according to an order, wherein the order is determined by individually weighting the user-specific delay and individually weighting the user-specific channel conditions for each terminal device to be scheduled, wherein a scalar metric M.sub.k(t) is determined for each terminal device per scheduling opportunity in order to determine the order, and wherein the scalar metric M.sub.k(t) is a function of maximum allowed system-wise delay D.sub.max.
2. The network node according to claim 1, wherein the processing circuitry further is configured to cause the network node to: obtain user-specific throughput per scheduling opportunity for each of the terminal devices be scheduled; and wherein the order is determined by individually weighting the user-specific delay and individually weighting the user-specific channel conditions together with the user-specific throughput per scheduling opportunity for each of the terminal devices to be scheduled.
3. The network node according to claim 2, wherein the processing circuitry further is configured to cause the network node to: determine, per scheduling opportunity, a throughput weight factor α.sub.RRE for each terminal device, wherein the user-specific throughput is weighted with the throughput weight factor α.sub.RRE.
4. The network node according to claim 3, wherein the scalar metric M.sub.k(t) is a function of moving average throughput T.sub.k(t) determined for each terminal device to be scheduled and is also a function of instantaneous throughput R.sub.k(t) determined for each terminal device to be scheduled, wherein the moving average throughput T.sub.k(t) and the instantaneous throughput R.sub.k(t) are weighted with the throughput weight factor α.sub.RRE.
5. The network node according to claim 1, wherein the processing circuitry further is configured to cause the network node to: determine, per scheduling opportunity, a delay weight factor α.sub.D and a channel condition weight factor α.sub.F for each terminal device, wherein the user-specific delay is weighted with the delay weight factor α.sub.D and the user-specific channel conditions are weighted with the channel condition weight factor α.sub.F.
6. The network node according to claim 5, wherein the processing circuitry further is configured to cause the network node to: obtain user-specific throughput per scheduling opportunity for each of the terminal devices be scheduled, wherein the order is determined by individually weighting the user-specific delay and individually weighting the user-specific channel conditions together with the user-specific throughput per scheduling opportunity for each of the terminal devices to be scheduled; and determine, per scheduling opportunity, a throughput weight factor α.sub.RRE for each terminal device, wherein the user-specific throughput is weighted with the throughput weight factor α.sub.RRE, wherein the delay weight factor α.sub.D, the channel condition weight factor α.sub.F, and the throughput weight factor a.sub.RRE are mutually dependent on each other.
7. The network node according to claim 5, wherein the scalar metric M.sub.k(t) for terminal device k at time t is given by:
8. The network node according to claim 5, wherein the processing circuitry further is configured to cause the network node to: when the age of a packet, AoP, is below a threshold delay value, decrease the delay weight factor α.sub.D for a next scheduling opportunity; when the age of a packet, AoP, is higher than a factor n>1 times the threshold delay value, increase the delay weight factor α.sub.D with a step value for a next scheduling opportunity; and when the age of a packet, AoP, is not higher than the factor n times the threshold delay value, increase the delay weight factor α.sub.D to a maximum value for a next scheduling opportunity.
9. The network node according to claim 1, wherein the scalar metric M.sub.k(t) is a function of packet delay D.sub.k(AoP) determined for each terminal device to be scheduled, where the packet delay D.sub.k(AoP) is a function of an age of a packet, AoP, to be scheduled for terminal device k, for k=1, . . . , N, wherein the packet delay D.sub.k(AoP) is the user-specific delay obtained for terminal device k.
10. The network node according to claim 9, wherein α.sub.D is a delay weight factor with which the user-specific delay for each terminal device k is individually weighted, and wherein the maximum allowed system-wide delay D.sub.max and the packet delay D.sub.k(AoP) are weighted with the delay weight factor α.sub.D.
11. The network node according to claim 10, wherein the scalar metric M.sub.k(t) is a function of
12. The network node according to claim 1, wherein the scalar metric M.sub.k(t) is a function of instantaneous channel quality CQI.sub.k(t) determined for each terminal device to be scheduled, wherein CQI.sub.k(t) is the user-specific channel conditions obtained for terminal device k.
13. The network node according to claim 12, wherein α.sub.F is a channel condition weight factor with which the user-specific channel conditions for each terminal device k is individually weighted, and wherein the instantaneous channel quality CQI.sub.k(t) and a maximum system-wise channel quality CQI.sub.max are weighted with the channel condition weight factor α.sub.F.
14. The network node according to claim 1, wherein the network node is configured for use in a communication system that comprises a radio access network and a core network, wherein the scalar metric M.sub.k(t) is a function of maximum system-wise channel quality CQI.sub.max, wherein the maximum system-wise channel quality CQI.sub.max is a maximum channel quality indicator value used or allowed in the communication system.
15. The network node according to claim 1, wherein the scalar metric M.sub.k(t) is a function of moving average throughput T.sub.k(t) determined for each terminal device to be scheduled.
16. The network node according to claim 1, wherein the scalar metric M.sub.k(t) is a function of instantaneous throughput T.sub.k(t) determined for each terminal device to be scheduled.
17. The network node according to claim 1, wherein the user-specific delay obtained for each terminal device to be scheduled with a first service is obtained as a first function of an age of a packet (AoP) to be scheduled for the terminal device, wherein the first function is a piece- wise linear function with discontinuities at predefined AoP values.
18. The network node according to claim 17, wherein the user-specific delay obtained for each terminal device to be scheduled with a second service is obtained as a second function of an age of a packet (AoP) to be scheduled for the terminal device, wherein according to the second function the user-specific delay changes linearly with the AoP to be scheduled for the terminal device.
19. The network node according to claim 18, wherein the first service is a real-time communication (RTC) service, and wherein the second service is a media consumption service or a social and sharing service.
20. The network node according to claim 1, wherein the network node is configured for use in a communication system that comprises a radio access network and a core network, wherein the maximum allowed system-wise delay D.sub.max is a maximum delay allowed with respect to the communication system.
21. A method for downlink scheduling of terminal devices, the method being performed by a network node, the method comprising: obtaining user-specific delay and user-specific channel conditions per scheduling opportunity for each of the terminal devices to be scheduled; and scheduling, in each scheduling opportunity, the terminal devices according to an order, wherein the order is determined by individually weighting the user-specific delay and individually weighting the user-specific channel conditions for each terminal device to be scheduled, wherein a scalar metric M.sub.k(t) is determined for each terminal device per scheduling opportunity in order to determine the order, and wherein the scalar metric M.sub.k(t) is a function of maximum allowed system-wise delay D.sub.max.
22. The method according to claim 21, further comprising: obtaining user-specific throughput per scheduling opportunity for each of the terminal devices to be scheduled; and wherein the order is determined by individually weighting the user-specific delay and individually weighting the user-specific channel conditions together with the user-specific throughput per scheduling opportunity for each of the terminal devices to be scheduled.
23. The method according to claim 21, further comprising: determining, per scheduling opportunity, a delay weight factor α.sub.D and a channel condition weight factor α.sub.F for each terminal device, wherein the user-specific delay is weighted with the delay weight factor α.sub.D and the user-specific channel conditions are weighted with the channel condition weight factor α.sub.F.
24. The method according to claim 22, further comprising: determining, per scheduling opportunity, a throughput weight factor α.sub.RRE for each terminal device, wherein the user-specific throughput is weighted with the throughput weight factor α.sub.RRE.
25. A non-transitory computer readable storage medium on which is stored a computer program for downlink scheduling of terminal devices, the computer program comprising computer code which, when run on processing circuitry of a network node, causes the network node to: obtain user-specific delay and user-specific channel conditions per scheduling opportunity for each of the terminal devices to be scheduled; and schedule, in each scheduling opportunity, the terminal devices according to an order, wherein the order is determined by individually weighting the user-specific delay and individually weighting the user-specific channel conditions for each terminal device to be scheduled, wherein a scalar metric M.sub.k(t) is determined for each terminal device per scheduling opportunity in order to determine the order, and wherein the scalar metric M.sub.k(t) is a function of maximum allowed system-wise delay D.sub.max.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1) The inventive concept is now described, by way of example, with reference to the accompanying drawings, in which:
(2)
(3)
(4)
(5)
(6)
(7)
(8)
DETAILED DESCRIPTION
(9) The inventive concept will now be described more fully hereinafter with reference to the accompanying drawings, in which certain embodiments of the inventive concept are shown. This inventive concept may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein; rather, these embodiments are provided by way of example so that this disclosure will be thorough and complete, and will fully convey the scope of the inventive concept to those skilled in the art. Like numbers refer to like elements throughout the description. Any step or feature illustrated by dashed lines should be regarded as optional.
(10)
(11) The communications system 100 comprises a network node 200 configured to, in a radio access network 110, provide network access to terminal devices 300a, 300b, . . . , 300k, . . . 300N. The radio access network 110 is operatively connected to a core network 120. The core network 120 is in turn operatively connected to a service network 130, such as the Internet. The terminal devices 300a, 300b, . . , 300k, . . . 300N are thereby, via the network node 200, enabled to access services of, and exchange data with, the service network 130. Examples of network nodes are radio access network nodes, radio base stations, base transceiver stations, Node Bs, evolved Node Bs, g Node Bs, access points, and access nodes. Examples of terminal devices are wireless devices, mobile stations, mobile phones, handsets, wireless local loop phones, user equipment (UE), smartphones, laptop computers, tablet computers, network equipped sensors, network equipped vehicles, and so-called Internet of Things devices.
(12) In general terms, the network node 200 provide network access in the radio access network 110 by transmitting signals to, and receiving signals from, the terminal devices 300a, 300b, . . . , 300k, . . . 300N. The signals could be transmitted from, and received by, a transmission and reception point (TRP) 400 of the network node 200. The TRP 400 could form an integral part of the radio network node 200 or be physically separated from the network node 200.
(13) The network node 200 transmits signals to, and receives signals from, the terminal devices 300a, 300b, . . . , 300k, . . . 300N according to a scheduling order. However, as disclosed above there is a need for improved scheduling.
(14) For many user applications the system delay is more important than the actual peak data rate. Some user applications such as content sharing (below denoted social and sharing), video conference, and voice conference do not tolerate high delays. Real Time (RT) and Non-RT applications can be classified into three classes:
(15) Media Consumption (MC): Download throughput need is higher than uplink throughput need.
(16) Real Time Conversational (RTC): Download and uplink throughput needs are balanced. Social and Sharing (SS): Uplink throughput need is higher than downlink throughput need.
(17) It is further recognized that some user applications need a comparatively small amount of data transfer but frequent connections to the network.
(18) Changes in the number of users, traffic and user habits make effective system resource sharing among terminal devices 300a, 300b, . . . , 300k, . . . 300N challenging.
(19) The embodiments disclosed herein therefore relate to mechanisms for downlink scheduling of terminal devices 300a, 300b, . . . , 300k, . . . 300N. In order to obtain such mechanisms there is provided a network node 200, a method performed by the network node 200, a computer program product comprising code, for example in the form of a computer program, that when run on a network node 200, causes the network node 200 to perform the method.
(20)
(21) Further, and more detailed, operation of the network node 200 for scheduling the terminal devices 300a, 300b, . . . , 300k, . . . 300N will be disclosed with reference to
(22)
(23) The methods are based on scheduling users (as represented by the terminal devices 300a, 300b, . . . , 300k, . . . 300N) in an order determined by their adaptively weighted user-specific delay and user-specific channel conditions.
(24) In order to perform such scheduling the network node 200 needs information about delay and channel conditions. The network node 200 is thus configured to perform step S104:
(25) S104: The network node 200 obtains user-specific delay and user-specific channel conditions per scheduling opportunity for each of the terminal devices 300a, 300b, . . . , 300k, . . . 300N to be scheduled.
(26) This enables the network node 200 to perform the aforementioned scheduling. Particularly, the network node 200 is configured to perform step S106:
(27) S106: The network node 200 schedules, in each scheduling opportunity, the terminal devices 300a, 300b, . . . , 300k, . . . 300N according to an order. The order is determined by individually weighting the user-specific delay and individually weighting the user-specific channel conditions for each terminal device 300a, 300b, . . . , 300k, . . . 300N to be scheduled.
(28) Embodiments relating to further details of downlink scheduling of terminal devices 300a, 300b, . . . , 300k, . . . 300N as performed by the network node 200 will now be disclosed.
(29) As is implicitly understood, the scheduling of the terminal devices 300a, 300b, . . . , 300k, . . . 300N relates to downlink transmission of packets towards the terminal devices 300a, 300b, . . . , 300k, . . . 300N. Hence, packets are transmitted to the terminal devices 300a, 300b, . . . , 300k, . . . 300N according to the order given by the scheduling of the terminal devices 300a, 300b, . . . , 300k, . . . 300N.
(30) In some aspects the scheduling is performed per TTI. That is, in some aspects the scheduling opportunity corresponds to one TTI.
(31) In some aspects the scheduling also takes into account the throughput when scheduling the users. Particularly, according to an embodiment the network node 200 is configured to perform (optional) step S104a:
(32) S104a: The network node 200 obtains user-specific throughput per scheduling opportunity for each of the terminal devices 300a, 300b, . . . , 300k, . . . 300N. The order is then determined by individually weighting the user-specific delay and individually weighting the user-specific channel conditions together with the user-specific throughput per scheduling opportunity for each of the terminal devices 300a, 300b, . . . , 300k, . . . 300N to be scheduled.
(33) The network node 200 is thereby configured to prioritize real time conversational packets and media consumption packets over non-real time packets, whilst still scheduling non-real time packets according to a minimum acceptable throughput. Setting a high value for packet delay budget may result in a reduction of the real time conversational application quality experienced by the end users of the terminal devices 300a, 300b, . . . , 300k, . . . 300N. On the other hand, setting a small value for packet delay budget may result in a reduced average uplink and downlink throughput for non-real time packets.
(34) There may be different ways to individually weighting the user-specific delay and individually weighting the user-specific channel conditions for each terminal device 300a, 300b, . . . , 300k, . . . 300N to be scheduled.
(35) In some aspects the network node 200 explicitly determines weight factors that are used when weighting the user-specific delay and weighting the user-specific channel conditions. Particularly, according to an embodiment the network node 200 is configured to perform (optional) step S102:
(36) S102: The network node 200 determines, per scheduling opportunity, a delay weight factor, denoted α.sub.D, and a channel condition weight factor, denoted α.sub.F, for each terminal device 300a, 300b, . . . , 300k, . . . 300N. The user-specific delay is weighted with the delay weight factor α.sub.D and the user-specific channel conditions are weighted with the channel condition weight factor α.sub.F.
(37) In some aspects the network node 200 explicitly determines weight factors also for the user-specific throughput. Particularly, according to an embodiment the network node 200 is configured to perform (optional) step S102a:
(38) S102a: The network node 200 determines, per scheduling opportunity, a throughput weight factor, denoted α.sub.RRE, for each terminal device 300a, 300b, . . . , 300k, . . . 300N. The user-specific throughput is weighted with the throughput weight factor α.sub.RRE.
(39) A scalar metric, denoted M.sub.k(t), for terminal device k (where k=1,2, . . . , N and N is the total number of terminal devices to be scheduled) to be used at a scheduling opportunity occurring at time t might then be determined. That is, according to an embodiment, a scalar metric M.sub.k(t) is determined for each terminal device 300a, 300b, . . . , 300k, . . . 300N per scheduling opportunity in order to determine the order. During the scheduling the terminal devices might then be selected from highest metric to lowest metric (i.e. starting with the terminal device having highest value of M.sub.k(t) and ending with the terminal device having lowest value of M.sub.k(t)). When a separate value of the scalar metric M.sub.k(t) has been determined for each terminal device, the values are thus then used as part of a ranking operator in the scheduler.
(40) There could be different parameters on which the scalar metric M.sub.k(t) depends.
(41) In some aspects the scalar metric M.sub.k(t) depends on the maximum allowed system-wise delay, denoted D.sub.max. Particularly, according to an embodiment, the scalar metric M.sub.k(t) is a function of maximum allowed system-wise delay D.sub.max.
(42) In some aspects the scalar metric M.sub.k(t) depends on the packet delay for each terminal device k. Particularly, according to an embodiment, the scalar metric M.sub.k(t) is a function of packet delay, denoted D.sub.k(AoP), determined for each terminal device 300a, 300b, . . . , 300k, . . . 300N to be scheduled. The packet delay D.sub.k(AoP) represents age of a packet (AoP) to be scheduled for terminal device k, for k=1, . . . , N.
(43) In some aspects, the delay function D.sub.k(AoP) is for non-real time (non-RT) applications, real time conversational (RTC) applications, media consumption (MC) applications, and social and sharing (SS) applications obtained as below, where the symbol “⇔” denotes “in case of”, and int(x) denotes the integer of the variable x:
(44)
(45) The values of t.sub.RTC-step and n could be configurable and, for example, be set by mobile network operators. This could be advantageous since the mouth-to-ear delay might depend on the actual network deployment. Some deployments lead to longer delays in the core network and/or transport network than other deployments. A typical value of the parameter t.sub.RTC-step is 20 ms. A typical value for the parameter n is 3. The packet delay budget might be different for different services within a communications system, such as within an LTE based communications system. A typical value for the real time conversational packet delay budget t.sub.RTC-max is 100 ms. A typical value for the media consumption t.sub.MC-max is 300 ms.
(46) In some aspects the scalar metric M.sub.k(t) depends on the instantaneous reported and adjusted channel quality of terminal device k, representing the requested data rate before scheduling. Particularly, according to an embodiment the scalar metric M.sub.k(t) is a function of instantaneous channel quality, denoted CQI.sub.k(t), determined for each terminal device 300a, 300b, . . . , 300k, . . . 300N to be scheduled.
(47) In some aspects the scalar metric M.sub.k(t) depends on the maximum used, or allowed, CQI value in the system. Particularly, according to an embodiment the scalar metric M.sub.k(t) is a function of maximum system-wise channel quality, denoted CQI.sub.max.
(48) In some aspects the scalar metric M.sub.k(t) depends on the moving average throughput of terminal device k, representing the average data rate of the terminal devices after scheduling. Particularly, according to an embodiment the scalar metric M.sub.k(t) is a function of moving average throughput, denoted T.sub.k(t), determined for each terminal device 300a, 300b, . . . , 300k, . . . 300N to be scheduled.
(49) In some aspects the scalar metric M.sub.k(t) depends on the instantaneous throughput of terminal device k, representing the scheduled data rate. Particularly, according to an embodiment the scalar metric M.sub.k(t) is a function of instantaneous throughput, denoted R.sub.k(t), determined for each terminal device 300a, 300b, . . . , 300k, . . . 300N to be scheduled.
(50) In some aspects the scalar metric M.sub.k(t) depends on the delay weight factor α.sub.D for prioritizing real time sensitive packets over non-real time sensitive packets. Particularly, according to an embodiment, the maximum allowed delay D.sub.max and the packet delay D.sub.k(AoP) are weighted with the delay weight factor α.sub.D.
(51) In some aspects the scalar metric M.sub.k(t) depends on the channel condition weight factor α.sub.F for fairness. Particularly, according to an embodiment the instantaneous channel quality CQI.sub.k(t) and the maximum system-wise channel quality CQI.sub.max are weighted with the channel condition weight factor α.sub.F.
(52) In some aspects the scalar metric M.sub.k(t) depends on the throughput weight factor α.sub.RRE for radio resource efficiency. Particularly, according to an embodiment the moving average throughput T.sub.k(t) and the instantaneous throughput R.sub.k(t) are weighted with the throughput weight factor α.sub.RRE.
(53) There could be different ways to determine the delay weight factor α.sub.D, the channel condition weight factor α.sub.F, and the throughput weight factor α.sub.RRE. Particularly, according to an embodiment the delay weight factor α.sub.D, the channel condition weight factor α.sub.F, and the throughput weight factor α.sub.RRE are mutually dependent on each other. In some aspects the delay weight factor α.sub.D, the channel condition weight factor α.sub.F, and the throughput weight factor α.sub.RRE are determined such that:
α.sub.D+α.sub.RRE+s.Math.α.sub.F=1,
where s is a scale factor. The scale factor s has a configurable value and thus defines the ratio between α.sub.D, α.sub.F and α.sub.RRE. In some aspects α.sub.D, α.sub.F and α.sub.RRE take values in the interval [0, 1].
(54) The network node 200 might be configured to increase α.sub.F (for increased flow efficiency) and α.sub.RRE (for increased resource efficiency) slowly and decrease them sharply to respond faster to the maximum user delay threshold.
(55) Collectively, based on parameters as defined above, the scalar metric M.sub.k(t) for terminal device k at time t is, according to an embodiment, given by:
(56)
where log(x) denotes the logarithm of x. The scalar metric M.sub.k(t) could then be optimized to guarantee a sufficient performance to run a communication application at an acceptable cell edge quality. One way to optimize the scalar metric M.sub.k(t) is to adjust the values of α.sub.D, α.sub.F and α.sub.RRE. Therefore, in some aspects the values of α.sub.D, α.sub.F and α.sub.RRE are considered for updating per scheduling opportunity. One factor to determined whether to update the values of α.sub.D, α.sub.F and α.sub.RRE is to compare the age of a packet to a threshold delay value.
(57) For example, the network node 200 might check whether the age of a packet is above or below a threshold delay value. There could be different threshold delay values, for example, depending on user requirements or network requirements. Examples of standardized CQI characteristics, such as packet delay budget, that might be used to determine suitable threshold delay values are given in Table 6.1.7 in 3GPP TS 23.203 version 15.0.0. A typical threshold delay value is in the order of 70 ms. Another typical threshold delay value is in the order of 50 ms. Yet another typical threshold delay value is in the order of 100 ms.
(58) Depending on the outcome the check, the network node 200 might then, per scheduling opportunity, update the values of α.sub.D, α.sub.F and α.sub.RRE.
(59) The delay weight factor α.sub.D might be decreased if the age of a packet AoP is below the threshold delay value. Particularly, according to an embodiment the network node 200 is configured to perform (optional) step S108a when the age of a packet AoP is below the threshold delay value:
(60) S108a: The network node 200 decreases the delay weight factor α.sub.D for a next scheduling opportunity.
(61) Since, according to an embodiment, the delay weight factor α.sub.D, the channel condition weight factor α.sub.F, and the throughput weight factor α.sub.RRE are mutually dependent on each other, decreasing the delay weight factor α.sub.D causes increase of at least one of the channel condition weight factor α.sub.F and the throughput weight factor α.sub.RRE. However, it could be that the delay weight factor α.sub.D has already reached it lower limit (or conversely that at least one of the channel condition weight factor α.sub.F and the throughput weight factor α.sub.RRE has already reached it upper limit) and in this case a further increase of the at least one of the channel condition weight factor α.sub.F and the throughput weight factor α.sub.RRE might not be possible.
(62) The delay weight factor α.sub.D might be increased if the age of a packet AoP is higher than a factor n>1 times the threshold delay value. Particularly, according to an embodiment the network node 200 is configured to perform (optional) step S108b when the age of a packet AoP is higher than a factor n>1 times the threshold delay value:
(63) S108b: The network node 200 increases the delay weight factor α.sub.D with a step value for a next scheduling opportunity.
(64) Since, according to an embodiment, the delay weight factor α.sub.D, the channel condition weight factor α.sub.F, and the throughput weight factor α.sub.RRE are mutually dependent on each other, increasing the delay weight factor α.sub.D causes decrease of at least one of the channel condition weight factor α.sub.F and the throughput weight factor α.sub.RRE. However, it could be that the delay weight factor α.sub.D has already reached it upper limit (or conversely that at least one of the channel condition weight factor α.sub.F and the throughput weight factor α.sub.RRE has already reached it lower limit) and in this case a further decrease of the at least one of the channel condition weight factor α.sub.F and the throughput weight factor α.sub.RRE might not be possible.
(65) The delay weight factor α.sub.D might be decreased if the age of a packet AoP is not higher than the factor n times the threshold delay value. Particularly, according to an embodiment the network node 200 is configured to perform (optional) step S108c when the age of a packet AoP is not higher than the factor n times the threshold delay value:
(66) S108c: The network node 200 increases the delay weight factor α.sub.D to its maximum value for a next scheduling opportunity.
(67) Since, again, according to an embodiment, the delay weight factor α.sub.D, the channel condition weight factor α.sub.F, and the throughput weight factor α.sub.RRE are mutually dependent on each other, increasing the delay weight factor α.sub.D causes decrease of at least one of the channel condition weight factor α.sub.F and the throughput weight factor α.sub.RRE. However, it could be that the delay weight factor α.sub.D has already reached it upper limit (or conversely that at least one of the channel condition weight factor α.sub.F and the throughput weight factor α.sub.RRE has already reached it lower limit) and in this case a further decrease of the at least one of the channel condition weight factor α.sub.F and the throughput weight factor α.sub.RRE might not be possible.
(68) No change of the delay weight factor α.sub.D is needed if the age of the packet equals, or is within a minimum distance from, the threshold delay value. The minimum distance could be in the order of 5% or 10% of the threshold delay value. In some aspects the minimum distance depends on the value of the factor n and/or the factor t.sub.RTC-step, which are both configurable.
(69) One particular embodiment for downlink scheduling of terminal devices 300a, 300b, . . . , 300k, . . . 300N as performed by the network node 200 based on the above disclosed embodiments, aspects, and examples will now be disclosed with reference to
(70) S201: The channel condition weight factor α.sub.F is assigned its maximum value (typically, α.sub.F=1) and the delay weight factor α.sub.D as well as the throughput weight factor α.sub.RRE are assigned their minimum values (typically, α.sub.D=0 and α.sub.RRE=0)
(71) S202: A value of the scalar metric M.sub.k(t) is determined for each terminal device k at time t to be scheduled in the current scheduling opportunity. The network node schedules the terminal devices in an order from highest to lowest scalar metric value by performing step S203 and any of steps S203-S209 for each terminal device.
(72) S203: The network node 200 in the next scheduling opportunity compares the age of packet for terminal device k to t.sub.RTC-step by computing z=int(AoP/t.sub.RTC-step). Step S204 is entered if z≥n. Step S206 is entered if 0<z<n. Step S208 is entered if z=0.
(73) S204: If the delay weight factor α.sub.D has reached its maximum value, the delay weight factor α.sub.D is not updated. Possibly one of the channel condition weight factor α.sub.F, and the throughput weight factor α.sub.RRE might be increased whilst the other is decreased. Otherwise, the channel condition weight factor α.sub.F, and the throughput weight factor α.sub.RRE are not updated.
(74) S205: If the delay weight factor α.sub.D has not reached its maximum value, the delay weight factor α.sub.D is maximizes and both the channel condition weight factor α.sub.F as well as the throughput weight factor α.sub.RRE are decreased to their respective minimum values.
(75) S206: If the delay weight factor α.sub.D has reached its maximum value, the delay weight factor α.sub.D is not updated. Possibly one of the channel condition weight factor α.sub.F, and the throughput weight factor α.sub.RRE might be increased whilst the other is decreased. Otherwise, the channel condition weight factor α.sub.F, and the throughput weight factor α.sub.RRE are not updated.
(76) S207: If the delay weight factor α.sub.D has not reached its maximum value, the delay weight factor α.sub.D is increased with an up-step value and at least one of the channel condition weight factor α.sub.F and the throughput weight factor α.sub.RRE are decreased with a down-step value.
(77) S208: If the delay weight factor α.sub.D has reached its minimum value, the delay weight factor α.sub.D is not updated. Possibly one of the channel condition weight factor α.sub.F, and the throughput weight factor α.sub.RRE might be increased whilst the other is decreased. Otherwise, the channel condition weight factor α.sub.F, and the throughput weight factor α.sub.RRE are not updated.
(78) S209: If the delay weight factor α.sub.D has not reached its minimum value, the delay weight factor α.sub.D is decreased with a down-step value and at least one of the channel condition weight factor α.sub.F and the throughput weight factor α.sub.RRE are increased with an up-step value.
(79) S210: Step S203 is entered again for the next ordered terminal device until all terminal devices have been scheduled in the scheduling opportunity. Step S211 is then entered.
(80) S211: Step S202 is entered again for the next scheduling opportunity, and execution halts if there are no more scheduling opportunities.
(81) Reference is now made to
(82)
(83) D.sub.k(AoP) for RTC applications is piece-wise linear with discontinuities at predefined time steps of n times of t.sub.RTC-step and t.sub.max, where t.sub.max is the packet delay budget for RTC applications. This will prioritize RTC applications over MC and SS applications.
(84) D.sub.k(AoP) for MC and SS applications changes linearly with the age of packet. D.sub.k(AoP) for non-RTC applications is zero until a threshold time value (not illustrated in
(85)
(86) Particularly, the processing circuitry 210 is configured to cause the network node 200 to perform a set of operations, or steps, S102-S108c, S201-S211, as disclosed above. For example, the storage medium 230 may store the set of operations, and the processing circuitry 210 may be configured to retrieve the set of operations from the storage medium 230 to cause the network node 200 to perform the set of operations. The set of operations may be provided as a set of executable instructions.
(87) Thus the processing circuitry 210 is thereby arranged to execute methods as herein disclosed. The storage medium 230 may also comprise persistent storage, which, for example, can be any single one or combination of magnetic memory, optical memory, solid state memory or even remotely mounted memory. The network node 200 may further comprise a communications interface 220 at least configured for communications with other entities, devices, nodes, terminals, and functions of the communications system 100. As such the communications interface 220 may comprise one or more transmitters and receivers, comprising analogue and digital components. The processing circuitry 210 controls the general operation of the network node 200 e.g. by sending data and control signals to the communications interface 220 and the storage medium 230, by receiving data and reports from the communications interface 220, and by retrieving data and instructions from the storage medium 230. Other components, as well as the related functionality, of the network node 200 are omitted in order not to obscure the concepts presented herein.
(88)
(89) In general terms, each functional module 210a-210h may in one embodiment be implemented only in hardware and in another embodiment with the help of software, i.e., the latter embodiment having computer program instructions stored on the storage medium 230 which when run on the processing circuitry makes the network node 200 perform the corresponding steps mentioned above in conjunction with
(90) The network node 200 may be provided as a standalone device or as a part of at least one further device. For example, the network node 200 may be provided in a node of the radio access network 110 or in a node of the core network. 120 Alternatively, functionality of the network node 200 may be distributed between at least two devices, or nodes. These at least two nodes, or devices, may either be part of the same network part (such as the radio access network 110 or the core network 120) or may be spread between at least two such network parts. In general terms, instructions that are required to be performed in real time may be performed in a device, or node, operatively closer to the terminal devices 300a-300N than instructions that are not required to be performed in real time.
(91) Thus, a first portion of the instructions performed by the network node 200 may be executed in a first device, and a second portion of the of the instructions performed by the network node 200 may be executed in a second device; the herein disclosed embodiments are not limited to any particular number of devices on which the instructions performed by the network node 200 may be executed. Hence, the methods according to the herein disclosed embodiments are suitable to be performed by a network node 200 residing in a cloud computational environment. Therefore, although a single processing circuitry 210 is illustrated in
(92)
(93) In the example of
(94) The inventive concept has mainly been described above with reference to a few embodiments. However, as is readily appreciated by a person skilled in the art, other embodiments than the ones disclosed above are equally possible within the scope of the inventive concept, as defined by the appended patent claims.