Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
ENTITIES AND METHODS FOR DELAY AWARE SCHEDULING OF COMMUNICATIONS
Document Type and Number:
WIPO Patent Application WO/2024/091168
Kind Code:
A1
Abstract:
A communication system for scheduling data in a communication network is disclosed The application is further related to entities, communication devices, network nodes, and hosts thereto. According to one aspect, a method of operating an entity, includes determining scheduling information to be used for communicating data between a communication device and a network node based on an expected retransmission delay and an expected queueing delay. The method also includes scheduling communication between the communication device and the network node based on the determined scheduling information.

Inventors:
WIEMANN HENNING (DE)
CEDERHOLM DANIEL (SE)
DESTAN METE (DE)
Application Number:
PCT/SE2023/051062
Publication Date:
May 02, 2024
Filing Date:
October 26, 2023
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
TELEFONAKTIEBOLAGET LM ERICSSON PUBL (SE)
International Classes:
H04L1/00; H04L1/1867; H04L5/00
Attorney, Agent or Firm:
BOU FAICAL, Roger (SE)
Download PDF:
Claims:
CLAIMS

1. A method of operating an entity, in a communications network including a network node and a communication device, for scheduling communication, the method comprising: determining (610) scheduling information to be used for communicating data between the communication device and the network node based on an expected retransmission delay and an expected queueing delay; and scheduling (620) communication between the communication device and the network node based on the determined scheduling information.

2. The method of Claim 1, wherein the scheduling information comprises: an indication of radio resources to be used for communicating the data; and an indication of a modulation coding scheme, MCS, to be used for communicating the data.

3. The method of any of Claims 1-2, wherein determining the scheduling information comprises: determining whether using a first MCS rather than a second MCS would result in an additional expected queueing delay, the first MCS being lower than the second MCS; and selecting the first MCS or the second MCS based on whether using the first MCS rather than the second MCS would result in the additional expected queueing delay.

4. The method of Claim 2, wherein determining the scheduling information comprises: determining an amount of the radio resources and a code rate associated with the MCS in accordance with a high block error rate, BLER, target; determining that increasing the amount of radio resources and decreasing a code rate associated with the MCS will not cause an increase in the expected queueing delay; and responsive to determining that increasing the amount of radio resources and decreasing a code rate associated with the MCS will not cause an increase in the expected queuing delay, increasing the amount of radio resources and decreasing the code rate associated with the MCS.

5. The method of Claim 4, wherein the high BLER target is 10%.

6. The method of Claim 2, wherein determining the scheduling information comprises: determining an amount of the radio resources and a code rate associated with the MCS in accordance with a low block error rate, BLER, target; determining that increasing a spectrum efficiency of the radio resources will reduce the expected queuing delay; and responsive to determining that increasing the spectrum efficiency of the radio resources will reduce the expected queuing delay, decreasing the amount of radio resources and/or increasing the code rate associated with the MCS.

7. The method of Claim 6, wherein the low BLER target is 0.01%.

8. The method of any of Claims 1-7, wherein the data comprises a first portion and a second portion, the first portion of the data having higher priority than the second portion of the data, wherein the expected queueing delay is associated with the first portion of the data.

9. The method of any of Claims 1-8, wherein determining the scheduling information comprises: performing an inner link adaptation, LA, procedure; and performing an outer LA, OLA, procedure.

10. The method of Claim 9, wherein performing the inner LA procedure comprises: determining a modulation coding scheme, MCS; and determining a transport block size, TBS, based on the MCS, wherein scheduling the communication comprises, responsive to the TBS exceeding a threshold number of bits, scheduling the communication using the MCS.

11. The method of Claim 10, wherein performing the OLA procedure comprises: receiving a hybrid automatic repeat request, HARQ, response; and adjusting a signal-to-noise-and-interference ratio, SINR, offset based on whether the HARQ response includes an acknowledgment, ACK, or negative-ACK, NACK.

12. The method of Claim 9, wherein performing the inner LA procedure comprises: determining a first modulation coding scheme, MCS, with a first block error rate, BLER, target; determining a transport block size, TBS, based on the first MCS; and responsive to the TBS being less than a threshold number of bits, determining a second MCS with a second BLER target that is higher than the first BLER target, wherein scheduling the communication comprises scheduling the communication using the second MCS.

13. The method of Claim 12, wherein performing the OLA procedure comprises: receiving a hybrid automatic repeat request, HARQ, response; and adjusting the second BLER target based on whether the HARQ response includes an acknowledgment, ACK, or negative- ACK, NACK.

14. The method of Claim 9, wherein performing the inner LA procedure comprises: determining a modulation coding scheme, MCS, with a block error rate, BLER, target; and determining an available transport block size, TBS, based on the MCS, wherein scheduling the communication comprises, responsive to a number of unused resources in a slot associated with the available TBS being below a threshold value, scheduling the communication using the MCS.

15. The method of Claim 14, wherein performing the OLA procedure comprises: receiving a hybrid automatic repeat request, HARQ, response; and adjusting the BLER target based on whether the HARQ response includes an acknowledgment, ACK, or negative- ACK, NACK.

16. The method of Claim 9, wherein performing the inner LA procedure comprises: determining a first modulation coding scheme, MCS, with a first block error rate, BLER, target; determining an available transport block size, TBS, based on the first MCS; and responsive to there being unused resources in a slot associated with the available TBS, determining a second MCS based on a signal-to-interference-and-noise ratio, SINR, offset added to the LA, wherein scheduling the communication comprises scheduling the communication using the second MCS.

17. The method of any of Claims 1-16, wherein the communication device comprises a plurality of communication devices, wherein determining the scheduling information comprises determining the scheduling information for each communication device of the plurality of communication devices one at a time.

18. The method of any of Claims 1-16, wherein the communication networkfurther comprises a plurality of communication devices, wherein determining the scheduling information comprises determining the scheduling information for each communication device of the plurality of communication devices based on an estimate of an amount of resources needed to serve the plurality of communication devices with a specific block error rate, BLER.

19. The method of any of Claims 1-18, further comprising: communicating (630) with the communication device or the network node using the scheduling information.

20. The method of any of Claims 1-19, wherein the entity is the network node.

21. The method of any of Claims 1-20, wherein the entity is the communication device.

22. The method of any of Claims 1-21, wherein the communications network includes a radio access network, RAN, network, and wherein the network node comprises a RAN node.

23. The method of any of Claims 1-22, wherein the communications network includes a WI-FI network, and wherein the network node comprises an access point.

24. An entity (800, 900) in a communications network that includes a network node and a communication device, the entity comprising: processing circuitry (802, 902); and memory (810, 904) coupled to the processing circuitry and having instructions stored therein that are executable by the processing circuitry to cause the entity to perform operations comprising any of the operations of Claims 1-23.

25. A computer program comprising program code to be executed by processing circuitry (802, 902) of an entity (800, 900) in a communications network that includes a network node and a communication device, whereby execution of the program code causes the entity to perform operations comprising any operations of Claims 1-23.

26. A computer program product comprising a non-transitory storage medium (810, 904) including program code to be executed by processing circuitry (802, 902) of an entity (800, 900) in a communications network that includes a network node and a communication device, whereby execution of the program code causes the entity to perform operations comprising any operations of Claims 1-23.

27. A non-transitory computer-readable medium having instructions stored therein that are executable by processing circuitry (802, 902) of an entity (800, 900) configured to perform operations comprising any of the operations of Claims 1-23.

Description:
ENTITIES AND METHODS FOR DELAY AWARE SCHEDULING OF COMMUNICATIONS

TECHNICAL FIELD

[0001] The present disclosure is related to communication systems, entities, communication devices, network nodes, and hosts, for scheduling data in a communication network.

[0002] BACKGROUND FIG. 1 illustrates an example of a New Radio (“NR”) network (e.g., a 5th Generation (“5G”) network) including a 5G Core (“5GC”) network 130, network nodes 120a-b (e.g., 5G base station (“gNB”)), multiple communication devices 110 (also referred to as user equipment (“UE”)).

[0003] In telecommunication technologies (e.g., Third Generation (“3G”), Fourth Generation (“4G”), and Fifth Generation (“5G”) as standardized by the Third Generation Partnership Project (“3GPP”)), the channel capacity (e.g., how much data that can be carried per second) is dependent on radio frequency (“RF”) channel conditions. With a weaker signal (e.g., due to more pathloss) in which higher levels of noise and other effects are degrading the reception quality, more of the transmitted bits will be received with an error. To mitigate the bit errors, robustness can be added to the transmission by selecting a smaller constellation size and/or adding line coding as indicated by the Modulation and Coding Schemes (“MCS”) tables specified by the 3GPP. However, increasing robustness (e.g., selecting a lower MCS) comes at a cost of spectrum efficiency since fewer bits per second can then be sent in the same amount of radio resources (time/frequency/power).

[0004] The algorithm responsible for selecting the MCS and maintaining a reasonable level of robustness vs spectrum efficiency can be referred to as Link Adaptation (“LA”). The LA can be implemented in different ways with proprietary methods for how measurements and channel estimations are performed and used for optimizing the MCS selection. In some examples, it includes two major blocks: an inner LA and an outer LA (“OLA”). The inner LA measures the characteristics of the latest transmissions for each UE and uses that information as input for MCS selection in the next scheduling occasion for respective UEs. This can give quick changes in MCS if the channel condition changes. Typically, the system is designed to operate close to a pre-defined block-error rate (“BLER”) target (e.g., an expected number of transmissions that are received with error) and it is up to the implementation to map the MCS to the channel conditions to come as close to that target as possible. 3GPP, TS 38.214, V15.3.0, has also defined different MCS tables with different ranges and granularity that are intended to be used for different BLER targets. One table can be adjusted to operate close to another BLER target by adding a signal -to-interference-and-noise ratio (“SINR”) offset to the LA algorithm.

[0005] The inner LA may not do any validation and adjustments to how close to the BLER target it operates, which can be the purpose of the OLA. The OLA can be implemented to act more slowly than the inner LA by performing small adjustments upon each transmission based on the actual BLER. If a transmission is received with an error (typically indicated by a negative acknowledgment (“NACK”) in a hybrid automatic repeat request (“HARQ”)-loop), the OLA adds a small offset into the MCS selection algorithm so that more robustness is added. If the transmission is received successfully (as indicated by an acknowledgment (“ACK”)), the OLA adds an offset in the other direction so that less robustness is used. The adjustment offset is the accumulation of up and down steps and the OLA is designed so that the adjustment offset should converge around the chosen BLER target.

[0006] In some examples of mobile broadband services, a BLER target is set to 10% to get a good trade-off between robustness and spectrum-efficiency. For such applications, the primary need may be to get as much data through as possible so that the content is delivered to the user as quickly as possible (time-to-content) but the application will not be degraded much by some individual packets getting retransmitted and received with higher latency. However, for time critical communication services such as industrial protocols, cloud gaming, and extended reality (“XR”), it can be critical to have a bounded latency (e.g., a controlled maximum latency). Latency spikes can lead to service interruptions. In these examples, a much lower BLER target (e.g., down to 0.001% may be needed to increase the robustness and avoid too many retransmissions causing jitter and delay.

SUMMARY

[0007] There currently exist certain challenges. For example, in response to the use of a low block error rate (“BLER”) (e.g., in time-critical communication (“TCC”) services), the spectrum efficiency can be reduced to an extent that more transmission resources (e.g., Physical Resource Blocks (“PRBs”)) are needed to transmit the data. The goal of getting a consistent low latency may be achieved if the system has enough resources to schedule the data of all TCC users in the next scheduling occasion. However, if the resources are not enough to schedule all data in that next slot, the remaining data needs to be kept in a buffer until another scheduling occasion and this can mean that some of the time critical data will get a higher delay. In other words, the link adaptation (“LA”) algorithm uses additional radio resources to transmit additional redundancy with the aim to avoid delays due to potential retransmission. But, if the available resources don’t suffice to drain the data queues, one will observe queuing delays instead. This problem can be especially prevalent in uplink when a downlink heavy time division duplex (“TDD”) pattern such as Downlink-Downlink- Downlink-Special-Uplink (DDDSU) is used. But, the fundamental problem may also arise in the downlink direction.

[0008] Certain aspects of the disclosure and their embodiments may provide solutions to these or other challenges. In some embodiments, a low BLER target can be applied (thereby reducing the delay due to potential retransmissions) if the available radio resources suffice to serve the queued data. Otherwise a higher BLER target is applied (if that helps to avoid additional queuing delay).

[0009] According to one aspect, a method of operating an entity in a communications network that includes a network node and a communication device is provided. The method includes determining scheduling information associated with data to be communicated between the communication device and the network node based on an expected retransmission delay and the expected queueing delay associated with the scheduling information. The method further includes scheduling communication between the communication device and the network node based on the determined scheduling information.

[0010] According to this aspect, in some embodiments a method of operating an entity wherein determining scheduling information comprises determining whether using a first MCS rather than a second MCS would result in an additional expected queueing delay, the first MCS being lower than the second MCS. The method may further include selecting the first MCS or the second MCS based on whether using the first MCS rather than the second MCS would result in the additional expected queueing delay.

[0011] In some embodiments, determining the scheduling information may include determining an amount of the radio resources and a code rate associated with the MCS in accordance with a high block error rate, BLER, target. Responsive to determining that increasing the amount of radio resources and decreasing a code rate associated with the MCS will not cause an increase in the expected queuing delay, increasing the amount of radio resources and decreasing the code rate associated with the MCS.

[0012] In some embodiments, determining the scheduling information may include determining an amount of the radio resources and a code rate associated with the MCS in accordance with a low block error rate, BLER, target. Responsive to determining that increasing the spectrum efficiency of the radio resources will reduce the expected queuing delay, decreasing the amount of radio resources and/or increasing the code rate associated with the MCS. [0013] In some embodiments the data may comprise a first portion and a second portion, the first portion of the data having higher priority than the second portion of the data. The expected queueing delay is associated with the first portion of the data.

[0014] In some embodiments determining scheduling information comprises performing an inner link adaptation, LA, procedure and performing an outer LA, OLA, procedure.

[0015] In some embodiments, performing the inner LA procedure may include determining a modulation coding scheme, MCS and a transport block size, TBS, based on the MCS.

Responsive to the TBS exceeding a threshold number of bits, scheduling the communication using the MCS.

[0016] In some embodiments, performing the inner LA procedure may include determining a first modulation coding scheme, MCS, with a first block error rate, BLER, target. Determining a transport block size, TBS, based on the first MCS and responsive to the TBS being less than a threshold number of bits, determining a second MCS with a second BLER target that is higher than the first BLER target. The communication is scheduled using the second MCS.

[0017] In some embodiments, performing the inner LA procedure may include determining a modulation coding scheme, MCS, with a block error rate, BLER, target and determining an available transport block size, TBS, based on the MCS. Scheduling the communication comprises, responsive to a number of unused resources in a slot associated with the available TBS being below a threshold value, scheduling the communication using the MCS.

Furthermore, performing the OLA procedure may include receiving a hybrid automatic repeat request, HARQ, response and adjusting a signal-to-noise-and-interference ratio, SINR, offset based on whether the HARQ response includes an acknowledgment, ACK, or negative-ACK, NACK.

[0018] In some embodiments performing the inner LA procedure may include determining a first modulation coding scheme, MCS, with a first block error rate, BLER, target and determining an available transport block size, TBS, based on the first MCS. Responsive to there being unused resources in a slot associated with the available TBS, determining a second MCS based on a signal-to-interference-and-noise ratio, SINR, offset added to the LA, wherein scheduling the communication comprises scheduling the communication using the second MCS.

[0019] According to other aspect, in some embodiments a method implemented in a host providing user data for a communication device and initiating a transmission carrying the user data to the communication device via a cellular network comprising a network node, wherein the network node performs the following operations to transmit the user data from the host to the communication device. Determining scheduling information to be used for communicating data between the communication device and the network node based on an expected retransmission delay and an expected queueing delay. The method may further include scheduling communication between the communication device and the network node based on the scheduling information.

[0020] According to other aspects, an entity, a communication device, a network node, a computer program, a computer program product, a non-transitory computer readable medium, a host, or a communication system is provided to perform the method above.

[0021] Certain aspects of the disclosure and their embodiments may provide technical advantages. In some embodiments, by adapting the LA not only to the configured BLER target, but also to the amount of requested data, the overall latency of the end-to-end service will decrease. In some examples, a proposed scheme avoids increasing a lower BLER target if the corresponding increase in queuing delay would outweigh the potential reduction in retransmission delay.

BRIEF DESCRIPTION OF THE DRAWINGS

[0022] The accompanying drawings, which are included to provide a further understanding of the disclosure and are incorporated in and constitute a part of this application, illustrate certain non-limiting embodiments of inventive concepts. In the drawings:

[0023] FIG. 1 is a schematic diagram illustrating an example of a communication ”) network; [0024] FIGS. 2, 3, 4 and, 5 are flow charts illustrating examples of a data adaptive link adaptation (“LA”) procedure in accordance with some embodiments;

[0025] FIG. 6 is a flow chart illustrating an example of operations performed by an entity in accordance with some embodiments;

[0026] FIG. 7 is a block diagram of a communication system in accordance with some embodiments;

[0027] FIG. 8 is a block diagram of a user equipment in accordance with some embodiments [0028] FIG.9 is a block diagram of a network node in accordance with some embodiments; [0029] FIG.10 is a block diagram of a host, which may be an embodiment of the host of Figure 7, in accordance with some embodiments;

[0030] FIG. 11 is a block diagram of a virtualization environment in accordance with some embodiments; and

[0031] FIG: 12shows a communication diagram of a host communicating via a network node with a user equipment over a partially wireless connection in accordance with some embodiments.

DETAILED DESCRIPTION

[0032] Some of the embodiments contemplated herein will now be described more fully with reference to the accompanying drawings. Embodiments are provided by way of example to convey the scope of the subject matter to those skilled in the art, in which examples of embodiments of inventive concepts are shown. Inventive concepts 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 so that this disclosure will be thorough and complete, and will fully convey the scope of present inventive concepts to those skilled in the art. It should also be noted that these embodiments are not mutually exclusive. Components from one embodiment may be tacitly assumed to be present/used in another embodiment.

[0033] Currently, block error rate (“BLER”) targets can be used to get different levels of robustness for different services. However, there are no procedures that take into account that a delay is added by maintaining a low BLER targets in scenarios where the system doesn’t have enough resources to deliver the requested data.

[0034] Various embodiments herein describe a link adaptation (“LA”) mechanism that selects an amount of radio resources and a code rate in accordance with the radio conditions and the pending amount of data. In some examples, a lower code rate (higher redundancy) is selected if the expected reduction in delay due to required retransmissions outweighs the additional queuing delays.

[0035] In some embodiments, a lower code rate is only selected if it does not result in additional queuing delays (e.g., if the total amount of pending data can still be served within one slot).

[0036] In additional or alternative embodiments, the lower and higher code rates are determined by a lower and higher BLER target.

[0037] In additional or alternative embodiments, the amount of radio resources and the modulation and coding scheme is initially selected in accordance with a higher BLER target (e.g., 10%) and the amount of radio resources is subsequently increased (and code rate is decreased) only if that does not result in additional queuing delays (e.g., only if there are radio resources left).

[0038] In additional or alternative embodiments, the amount of radio resources and the modulation and coding scheme is initially selected in accordance with a lower BLER target (e.g., 0.01%) and the spectrum efficiency of the selected amount of radio resources is increased if the data buffer cannot be drained so that there will be an additional queuing delay with the initially selected code rate.

[0039] In additional or alternative embodiments, the determination of the additional queuing delay takes only data of selected priority levels into account (e.g., only pending traffic that is considered latency critical).

[0040] In additional or alternative embodiments, separate outer LA (“OLA”) state variables are maintained for the first and second BLER target and the decoding result (e.g., acknowledge (“ACK”) or negative-ACK (“NACK”)) updates only the state variable that corresponds to the BLER target that was applied when scheduling a hybrid automatic repeat request (“HARQ”) process.

[0041] In additional or alternative embodiments, a larger OLA down-step size (offset applied upon decoding error, NACK) is applied when the modulation codding scheme (“MCS”) had been chosen using the lower BLER target, and/or wherein a smaller OLA up-step size (offset applied upon decoding success, ACK) is applied when the MCS had been chosen using the lower BLER target, (or vice versa for the higher BLER target).

[0042] In some examples, a default mode of operation is to follow a “low” BLER target for time critical service. FIG. 2 illustrates an example of a LA procedure that initially starts with a low BLER target. At block 210, when the LA is preparing for the next uplink scheduling opportunity for a UE it can start by selecting an MCS based on a default inner LA and the outer LA offset received from that low BLER target. The available Transport Block Size (“TBS”) for that selected MCS can then be calculated. Traditionally, the next step may be to schedule the data for that MCS. Instead, in block 220, the transmission is marked as a low BLER transmission for the OLA handling. In block 225, it is proposed to instead check if the available TBS for that MCS is larger (or equal) to the number of desired bits. The number of desired bits could either be a fixed value for pre-scheduling or a scheduling request or it could be a value sent by the UE in a Buffer Status Report (“BSR”). If the TBS is larger than the number of desired bits, the scheduling can proceed with a marking that this transmission is following the low BLER target (block 250). If the desired bits cannot be fulfilled, the spectrum efficiency can be increased so that more data can fit with the transmission since the optimal latency will not be achieved due to serialization delay. At block 230, a new MCS can be selected with a high BLER target OLA offset. At block 240, the transmission can be marked as a high BLER transmission for the OLA handling. Then at block 250, the scheduling can proceed with a marking that this transmission is following the high BLER target.

[0043] FIGS. 2-3 illustrates examples in which several OLA loops for different BLER targets can be maintained. When it is determined that the desiredBits are larger than the available TBS, the LA proceeds to the next OLA loop and marks the transmission with the number of that BLER loop. It then calculates a new MCS for that OLA offset and then checks if the desiredBits can be fulfilled this time. If it can proceed with the scheduling or it can try even a third OLA loop (if that is implemented).

[0044] When an ACK or NACK is received the OLA algorithm checks the transmission marking and it steps up (for ACK) or down (for NACK) the OLA offset for the OLA loop that is marked.

FIG. 4 illustrates an example of a LA procedure that initially starts with a high BLER target. At block 410, when the LA is preparing for the next uplink scheduling opportunity for a UE it may start by selecting an MCS based on a default inner LA and the outer LA offset received from the initial high BLER target. The amount of radio resources (e.g. PRBs) and thus the available Transport Block Size (“TBS”) for that selected MCS can then be calculated. In block 420, the transmission is marked as a high BLER transmission for the OLA handling. In block 425 a check of unused resources (e.g. PRBs) is made. Block 425 checks whether the selected resources (e.g. PRBs) are less or equal to available resources (e.g. PRBs). If there are no unused resources left in the slot, i.e. the selected PRBs are equal to the available PRBs, the scheduling of data proceeds with the selected MCS, block 480. If selected resources are less than available resources add an SINR offset to the LA with a chosen step-size, block 430. In block 440 the transmission is marked as a low BLER transmission for the OLA handling. In block 445, it is proposed to check if the total SINR offset is larger than a max offset. If the total SINR offset is larger than max offset select the MCS with the max SINR offset value, block 470, and proceed to scheduling data with the selected MCS, block 480. In case SINR offset is not larger than the max offset, select MCS with the new SINR offset and allocate available resource (e.g. PRBs) to get the available TBS, block 450. In block 455, it is proposed to check if the available TBS for the selected MCS with the new SINR offset is larger than (or equal to) the number of desired bits. If TBS is larger than the number of the desired bits go back to block 425 and repeat procedure. If desired bits are less than TBS, the spectrum efficiency can be increased by going back one SINR offset set and select MCS with that offset, block 460. Then at block 480 the scheduling proceeds with the selected MCS.

[0045] FIG. 5 illustrates an example where a received transmission is marked as either high or low BLER transmission in block 515. If transmission is marked as low BLER transmission, the OLA will ignore to update the OLA offset as in block 560. If the transmission is marked as high BLER transmission in block 515, an acknowledgment (ACK) or negative acknowledgment (NACK) check will be done in block 525. If an ACK is received, the OLA add a step up offset in block 530. If a NACK is received, the OLA adds an offset in the other direction to step down OLA offset, in block 540. In block 550 the updated OLA value is sent to the inner LA.

[0046] FIGS. 4-5 illustrate examples in which only one active OLA loop (for the low BLER target) is maintained. If the desiredBits can’t be fulfilled it will instead of going to another OLA loop just add an extra SINR offset (according to a chosen step-size) and then calculate a new MCS based on that. It will then calculate a new TBS and compare against the desiredBits and iterate that until desiredBits can be transmitted or until a max offset value has been reached. This scheduling will then be marked as an “aggressive” scheduling indicating that it is more opportunistic than the BLER target. The OLA will then simply ignore to update the OLA offset when an ACK or NACK is received with such a marking.

[0047] In some embodiments, both the double active and single active loop procedures (described above in regards to FIGS. 2, 3, 4 and 5) can be implemented in a “reverse” order so that it initially starts with the high BLER target. Then if there still are available resources in the next slot it can attempt to increase the robustness if that doesn’t result in additional queuing delays (desiredBits > TBS).

[0048] In some embodiments, the innovations described above can be expanded to a multi- UE case with several UEs having data radio bearers with the same priority level and having data to be scheduled within the same slot. In this example, the system can do a pre-estimation of the total amount of resources needed to serve all UEs with a low BLER target in the slot. If the resources are not sufficient to schedule the data of all UEs it can attempt to decrease the robustness for one UE at a time until all UEs can fit into the slot. In some examples, the order of which UE to decrease robustness can be based on the UE with the newest data in the buffer getting decreased robustness first. In other examples, the order of which UE to decrease robustness for first can be based on the UE with the largest data in the buffer getting decreased robustness first (e.g., since it will give the highest impact on reduced resources and since critical services often uses smaller packets).

[0049] If it is not possible to estimate the total amount of resources for all UEs at one time (e.g., because of implementation complexity), the UEs can be handled one at a time. The scheduler and link adaptation algorithms would then do an iteration back to the first UE if not all high priority UEs with low BLER target can be scheduled in the same slot. It would then increase the BLER target UE by UE and iterate until the data of all UEs can fit into the slot. [0050] Operations of an entity (e.g., the communication device exemplified as a UE 800 in FIG.8 (implemented using the structure of the block diagram of Figure 8) or the RAN node 900 (implemented using the structure of Figure 9)) will now be discussed with reference to the flow chart of FIG. 6 according to some embodiments of inventive concepts. In some examples, modules may be stored in memory 810 of Figure 8, and these modules may provide instructions so that when the instructions of a module are executed by respective communication device processing circuitry 802, processing circuitry 802 performs respective operations of the flow chart. In other examples, modules may be stored in memory 904 of Figure 9, and these modules may provide instructions so that when the instructions of a module are executed by respective RAN node processing circuitry 902, RAN node 900 performs respective operations of the flow chart.

[0051] FIG. 6 illustrates an example of operations performed by an entity in a communications network that includes a network node and a communication device.

[0052] At block 610, processing circuitry 902 determines scheduling information to be used for communicating data between the communication device and the network node based on an expected retransmission delay and an expected queueing delay. In some embodiments, the scheduling information includes an indication of radio resources to be used for communicating the data; and an indication of a modulation coding scheme, MCS, to be used for communicating the data.

[0053] In additional or alternative embodiments, determining the scheduling information includes: determining whether using a first MCS rather than a second MCS would result in an additional expected queueing delay, the first MCS being lower than the second MCS; and selecting the first MCS or the second MCS based on whether using the first MCS rather than the second MCS would result in the additional expected queueing delay.

[0054] In additional or alternative embodiments, determining the scheduling information includes: determining an amount of the radio resources and a code rate associated with the MCS in accordance with a high block error rate, BLER, target; determining that increasing the amount of radio resources and decreasing a code rate associated with the MCS will not cause an increase in the expected queueing delay; and responsive to determining that increasing the amount of radio resources and decreasing a code rate associated with the MCS will not cause an increase in the expected queuing delay, increasing the amount of radio resources and decreasing the code rate associated with the MCS. In some examples, the high BLER target is 10%, greater than or equal to 1%, or in a range of .1% to 25%.

[0055] In additional or alternative embodiments, determining the scheduling information includes: determining an amount of the radio resources and a code rate associated with the MCS in accordance with a low block error rate, BLER, target; determining that increasing a spectrum efficiency of the radio resources will reduce the expected queuing delay; and responsive to determining that increasing the spectrum efficiency of the radio resources will reduce the expected queuing delay, decreasing the amount of radio resources and/or increasing the code rate associated with the MCS. In some examples, the low BLER target is 0.01%, less than 1% or in a range of .0001% to 5%.

[0056] In additional or alternative embodiments, the data includes a first portion and a second portion, the portion of the data having higher priority than the second portion of the data. The expected queueing delay is associated with the first portion of the data (e.g., a higher priority portion of the data).

[0057] At block 620, processing circuitry 902 schedules communication between the communication device and the network node based on the scheduling information.

[0058] In additional or alternative embodiments, determining the scheduling information includes: performing an inner link adaptation, LA, procedure; and performing an outer LA, OLA, procedure. In some examples, performing the inner LA procedure includes: determining a modulation coding scheme, MCS; and determining a transport block size, TBS, based on the MCS. Scheduling the communication includes, responsive to the TBS exceeding a threshold number of bits, scheduling the communication using the MCS. In additional or alternative examples, performing the OLA procedure includes: receiving a hybrid automatic repeat request, HARQ, response; and adjusting a signal-to-noise-and-interference ratio, SINR, offset based on whether the HARQ response includes an acknowledgment, ACK, or negative- ACK, NACK.

[0059] In additional or alternative examples, performing the inner LA procedure includes: determining a first modulation coding scheme, MCS, with a first block error rate, BLER, target; determining a transport block size, TBS, based on the first MCS; and responsive to the TBS being less than a threshold number of bits, determining a second MCS with a second BLER target that is higher than the first BLER target. Scheduling the communication includes scheduling the communication using the second MCS.

[0060] In additional or alternative examples, performing the OLA procedure includes: receiving a hybrid automatic repeat request, HARQ, response; and adjusting the second BLER target based on whether the HARQ response includes an acknowledgment, ACK, or negative- ACK, NACK.

[0061] In additional or alternative examples, performing the inner LA procedure includes: determining a modulation coding scheme, MCS, with a block error rate, BLER, target; and determining an available transport block size, TBS, based on the MCS. Scheduling the communication comprises, responsive to a number of unused resources in a slot associated with the available TBS being below a threshold value, scheduling the communication using the MCS. [0062] In additional or alternative examples, performing the OLA procedure includes receiving a hybrid automatic repeat request, HARQ, response; and adjusting the BLER target based on whether the HARQ response includes an acknowledgment, ACK, or negative-ACK, NACK.

[0063] In additional or alternative examples, performing the inner LA procedure includes: determining a first modulation coding scheme, MCS, with a first block error rate, BLER, target; determining an available transport block size, TBS, based on the first MCS; and responsive to there being unused resources in a slot associated with the available TBS, determining a second MCS based on a signal-to-interference-and-noise ratio, SINR, offset added to the LA.

Scheduling the communication includes scheduling the communication using the second MCS. [0064] At block 630, processing circuitry 902 communicates, via communication interface 906, with the communication device or the network node using the scheduling information. [0065] In some embodiments, the communication device includes a plurality of communication devices. Determining the scheduling information comprises determining the scheduling information for each communication device of the plurality of communication devices one at a time.

[0066] In additional or alternative embodiments, the communication device includes a plurality of communication devices. Determining the scheduling information comprises determining the scheduling information for each communication device of the plurality of communication devices based on an estimate of an amount of resources needed to serve the plurality of communication devices with a specific block error rate, BLER.

[0067] In additional or alternative embodiments, the entity is the network node.

[0068] In additional or alternative embodiments, the entity is the communication device.

[0069] In additional or alternative embodiments, the communications network includes a radio access network, RAN, network, and the network node comprises a RAN node.

[0070] In additional or alternative embodiments, the communications network includes a WIFI network, and the network node comprises an access point.

[0071] Various operations from the flow chart of FIG. 6 may be optional with respect to some embodiments of communication devices and related methods. For example, in regards to Example Embodiment 1 below, block 630 is optional.

[0072] Figure 7 shows an example of a communication system 700 in accordance with some embodiments.

[0073] In the example, the communication system 700 includes a telecommunication network 702 that includes an access network 704, such as a radio access network (RAN), and a core network 706, which includes one or more core network nodes 708. The access network 704 includes one or more access network nodes, such as network nodes 710a and 710b (one or more of which may be generally referred to as network nodes 710), or any other similar 3rd Generation Partnership Project (3 GPP) access node or non-3GPP access point. The network nodes 710 facilitate direct or indirect connection of user equipment (UE), such as by connecting UEs 712a, 712b, 712c, and 712d (one or more of which may be generally referred to as UEs 712) to the core network 706 over one or more wireless connections.

[0074] Example wireless communications over a wireless connection include transmitting and/or receiving wireless signals using electromagnetic waves, radio waves, infrared waves, and/or other types of signals suitable for conveying information without the use of wires, cables, or other material conductors. Moreover, in different embodiments, the communication system 700 may include any number of wired or wireless networks, network nodes, UEs, and/or any other components or systems that may facilitate or participate in the communication of data and/or signals whether via wired or wireless connections. The communication system 700 may include and/or interface with any type of communication, telecommunication, data, cellular, radio network, and/or other similar type of system.

[0075] The UEs 712 may be any of a wide variety of communication devices, including wireless devices arranged, configured, and/or operable to communicate wirelessly with the network nodes 710 and other communication devices. Similarly, the network nodes 710 are arranged, capable, configured, and/or operable to communicate directly or indirectly with the UEs 712 and/or with other network nodes or equipment in the telecommunication network 702 to enable and/or provide network access, such as wireless network access, and/or to perform other functions, such as administration in the telecommunication network 702.

[0076] In the depicted example, the core network 706 connects the network nodes 710 to one or more hosts, such as host 716. These connections may be direct or indirect via one or more intermediary networks or devices. In other examples, network nodes may be directly coupled to hosts. The core network 706 includes one more core network nodes (e.g., core network node 708) that are structured with hardware and software components. Features of these components may be substantially similar to those described with respect to the UEs, network nodes, and/or hosts, such that the descriptions thereof are generally applicable to the corresponding components of the core network node 708. Example core network nodes include functions of one or more of a Mobile Switching Center (MSC), Mobility Management Entity (MME), Home Subscriber Server (HSS), Access and Mobility Management Function (AMF), Session Management Function (SMF), Authentication Server Function (AUSF), Subscription Identifier De-concealing function (SIDF), Unified Data Management (UDM), Security Edge Protection Proxy (SEPP), Network Exposure Function (NEF), and/or a User Plane Function (UPF). [0077] The host 716 may be under the ownership or control of a service provider other than an operator or provider of the access network 704 and/or the telecommunication network 702, and may be operated by the service provider or on behalf of the service provider. The host 716 may host a variety of applications to provide one or more service. Examples of such applications include live and pre-recorded audio/video content, data collection services such as retrieving and compiling data on various ambient conditions detected by a plurality of UEs, analytics functionality, social media, functions for controlling or otherwise interacting with remote devices, functions for an alarm and surveillance center, or any other such function performed by a server.

[0078] As a whole, the communication system 700 of Figure 7 enables connectivity between the UEs, network nodes, and hosts. In that sense, the communication system may be configured to operate according to predefined rules or procedures, such as specific standards that include, but are not limited to: Global System for Mobile Communications (GSM); Universal Mobile Telecommunications System (UMTS); Long Term Evolution (LTE), and/or other suitable 2G, 3G, 4G, 5G standards, or any applicable future generation standard (e.g., 6G); wireless local area network (WLAN) standards, such as the Institute of Electrical and Electronics Engineers (IEEE) 802.11 standards (WiFi); and/or any other appropriate wireless communication standard, such as the Worldwide Interoperability for Microwave Access (WiMax), Bluetooth, Z-Wave, Near Field Communication (NFC) ZigBee, LiFi, and/or any low-power wide-area network (LPWAN) standards such as LoRa and Sigfox.

[0079] In some examples, the telecommunication network 702 is a cellular network that implements 3GPP standardized features. Accordingly, the telecommunications network 702 may support network slicing to provide different logical networks to different devices that are connected to the telecommunication network 702. For example, the telecommunications network 702 may provide Ultra Reliable Low Latency Communication (URLLC) services to some UEs, while providing Enhanced Mobile Broadband (eMBB) services to other UEs, and/or Massive Machine Type Communication (mMTC)/Massive loT services to yet further UEs. [0080] In some examples, the UEs 712 are configured to transmit and/or receive information without direct human interaction. For instance, a UE may be designed to transmit information to the access network 704 on a predetermined schedule, when triggered by an internal or external event, or in response to requests from the access network 704. Additionally, a UE may be configured for operating in single- or multi -RAT or multi -standard mode. For example, a UE may operate with any one or combination of Wi-Fi, NR (New Radio) and LTE, i.e. being configured for multi-radio dual connectivity (MR-DC), such as E-UTRAN (Evolved-UMTS Terrestrial Radio Access Network) New Radio - Dual Connectivity (EN-DC). [0081] In the example, the hub 714 communicates with the access network 704 to facilitate indirect communication between one or more UEs (e.g., UE 712c and/or 712d) and network nodes (e.g., network node 710b). In some examples, the hub 714 may be a controller, router, content source and analytics, or any of the other communication devices described herein regarding UEs. For example, the hub 714 may be a broadband router enabling access to the core network 706 for the UEs. As another example, the hub 714 may be a controller that sends commands or instructions to one or more actuators in the UEs. Commands or instructions may be received from the UEs, network nodes 710, or by executable code, script, process, or other instructions in the hub 714. As another example, the hub 714 may be a data collector that acts as temporary storage for UE data and, in some embodiments, may perform analysis or other processing of the data. As another example, the hub 714 may be a content source. For example, for a UE that is a VR headset, display, loudspeaker or other media delivery device, the hub 714 may retrieve VR assets, video, audio, or other media or data related to sensory information via a network node, which the hub 714 then provides to the UE either directly, after performing local processing, and/or after adding additional local content. In still another example, the hub 714 acts as a proxy server or orchestrator for the UEs, in particular in if one or more of the UEs are low energy loT devices.

[0082] The hub 714 may have a constant/persistent or intermittent connection to the network node 710b. The hub 714 may also allow for a different communication scheme and/or schedule between the hub 714 and UEs (e.g., UE 712c and/or 712d), and between the hub 714 and the core network 706. In other examples, the hub 714 is connected to the core network 706 and/or one or more UEs via a wired connection. Moreover, the hub 714 may be configured to connect to an M2M service provider over the access network 704 and/or to another UE over a direct connection. In some scenarios, UEs may establish a wireless connection with the network nodes 710 while still connected via the hub 714 via a wired or wireless connection. In some embodiments, the hub 714 may be a dedicated hub - that is, a hub whose primary function is to route communications to/from the UEs from/to the network node 710b. In other embodiments, the hub 714 may be a non-dedicated hub - that is, a device which is capable of operating to route communications between the UEs and network node 710b, but which is additionally capable of operating as a communication start and/or end point for certain data channels.

[0083] Figure 8 shows a UE 800 in accordance with some embodiments. As used herein, a UE refers to a device capable, configured, arranged and/or operable to communicate wirelessly with network nodes and/or other UEs. Examples of a UE include, but are not limited to, a smart phone, mobile phone, cell phone, voice over IP (VoIP) phone, wireless local loop phone, desktop computer, personal digital assistant (PDA), wireless cameras, gaming console or device, music storage device, playback appliance, wearable terminal device, wireless endpoint, mobile station, tablet, laptop, laptop-embedded equipment (LEE), laptop-mounted equipment (LME), smart device, wireless customer-premise equipment (CPE), vehicle-mounted or vehicle embedded/integrated wireless device, etc. Other examples include any UE identified by the 3rd Generation Partnership Project (3 GPP), including a narrow band internet of things (NB-IoT) UE, a machine type communication (MTC) UE, and/or an enhanced MTC (eMTC) UE.

[0084] A UE may support device-to-device (D2D) communication, for example by implementing a 3 GPP standard for sidelink communication, Dedicated Short-Range Communication (DSRC), vehi cl e-to- vehicle (V2V), vehicle-to-infrastructure (V2I), or vehicle- to-everything (V2X). In other examples, a UE may not necessarily have a user in the sense of a human user who owns and/or operates the relevant device. Instead, a UE may represent a device that is intended for sale to, or operation by, a human user but which may not, or which may not initially, be associated with a specific human user (e.g., a smart sprinkler controller).

Alternatively, a UE may represent a device that is not intended for sale to, or operation by, an end user but which may be associated with or operated for the benefit of a user (e.g., a smart power meter).

[0085] The UE 800 includes processing circuitry 802 that is operatively coupled via a bus 804 to an input/output interface 806, a power source 808, a memory 810, a communication interface 812, and/or any other component, or any combination thereof. Certain UEs may utilize all or a subset of the components shown in Figure 8. The level of integration between the components may vary from one UE to another UE. Further, certain UEs may contain multiple instances of a component, such as multiple processors, memories, transceivers, transmitters, receivers, etc. [0086] The processing circuitry 802 is configured to process instructions and data and may be configured to implement any sequential state machine operative to execute instructions stored as machine-readable computer programs in the memory 810. The processing circuitry 802 may be implemented as one or more hardware-implemented state machines (e.g., in discrete logic, field- programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), etc.); programmable logic together with appropriate firmware; one or more stored computer programs, general-purpose processors, such as a microprocessor or digital signal processor (DSP), together with appropriate software; or any combination of the above. For example, the processing circuitry 802 may include multiple central processing units (CPUs).

[0087] In the example, the input/output interface 806 may be configured to provide an interface or interfaces to an input device, output device, or one or more input and/or output devices. Examples of an output device include a speaker, a sound card, a video card, a display, a monitor, a printer, an actuator, an emitter, a smartcard, another output device, or any combination thereof. An input device may allow a user to capture information into the UE 800. Examples of an input device include a touch-sensitive or presence-sensitive display, a camera (e.g., a digital camera, a digital video camera, a web camera, etc.), a microphone, a sensor, a mouse, a trackball, a directional pad, a trackpad, a scroll wheel, a smartcard, and the like. The presence-sensitive display may include a capacitive or resistive touch sensor to sense input from a user. A sensor may be, for instance, an accelerometer, a gyroscope, a tilt sensor, a force sensor, a magnetometer, an optical sensor, a proximity sensor, a biometric sensor, etc., or any combination thereof. An output device may use the same type of interface port as an input device. For example, a Universal Serial Bus (USB) port may be used to provide an input device and an output device.

[0088] In some embodiments, the power source 808 is structured as a battery or battery pack. Other types of power sources, such as an external power source (e.g., an electricity outlet), photovoltaic device, or power cell, may be used. The power source 808 may further include power circuitry for delivering power from the power source 808 itself, and/or an external power source, to the various parts of the UE 800 via input circuitry or an interface such as an electrical power cable. Delivering power may be, for example, for charging of the power source 808. Power circuitry may perform any formatting, converting, or other modification to the power from the power source 808 to make the power suitable for the respective components of the UE 800 to which power is supplied.

[0089] The memory 810 may be or be configured to include memory such as random access memory (RAM), read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable readonly memory (EEPROM), magnetic disks, optical disks, hard disks, removable cartridges, flash drives, and so forth. In one example, the memory 810 includes one or more application programs 814, such as an operating system, web browser application, a widget, gadget engine, or other application, and corresponding data 816. The memory 810 may store, for use by the UE 800, any of a variety of various operating systems or combinations of operating systems.

[0090] The memory 810 may be configured to include a number of physical drive units, such as redundant array of independent disks (RAID), flash memory, USB flash drive, external hard disk drive, thumb drive, pen drive, key drive, high-density digital versatile disc (HD-DVD) optical disc drive, internal hard disk drive, Blu-Ray optical disc drive, holographic digital data storage (HDDS) optical disc drive, external mini -dual in-line memory module (DIMM), synchronous dynamic random access memory (SDRAM), external micro-DIMM SDRAM, smartcard memory such as tamper resistant module in the form of a universal integrated circuit card (UICC) including one or more subscriber identity modules (SIMs), such as a USIM and/or ISIM, other memory, or any combination thereof. The UICC may for example be an embedded UICC (eUICC), integrated UICC (iUICC) or a removable UICC commonly known as ‘SIM card.’ The memory 810 may allow the UE 800 to access instructions, application programs and the like, stored on transitory or non-transitory memory media, to off-load data, or to upload data. An article of manufacture, such as one utilizing a communication system may be tangibly embodied as or in the memory 810, which may be or comprise a device-readable storage medium.

[0091] The processing circuitry 802 may be configured to communicate with an access network or other network using the communication interface 812. The communication interface 812 may comprise one or more communication subsystems and may include or be communicatively coupled to an antenna 822. The communication interface 812 may include one or more transceivers used to communicate, such as by communicating with one or more remote transceivers of another device capable of wireless communication (e.g., another UE or a network node in an access network). Each transceiver may include a transmitter 818 and/or a receiver 820 appropriate to provide network communications (e.g., optical, electrical, frequency allocations, and so forth). Moreover, the transmitter 818 and receiver 820 may be coupled to one or more antennas (e.g., antenna 822) and may share circuit components, software or firmware, or alternatively be implemented separately.

[0092] In the illustrated embodiment, communication functions of the communication interface 812 may include cellular communication, Wi-Fi communication, LPWAN communication, data communication, voice communication, multimedia communication, short- range communications such as Bluetooth, near-field communication, location-based communication such as the use of the global positioning system (GPS) to determine a location, another like communication function, or any combination thereof. Communications may be implemented in according to one or more communication protocols and/or standards, such as IEEE 802.11, Code Division Multiplexing Access (CDMA), Wideband Code Division Multiple Access (WCDMA), GSM, LTE, New Radio (NR), UMTS, WiMax, Ethernet, transmission control protocol/internet protocol (TCP/IP), synchronous optical networking (SONET), Asynchronous Transfer Mode (ATM), QUIC, Hypertext Transfer Protocol (HTTP), and so forth. [0093] Regardless of the type of sensor, a UE may provide an output of data captured by its sensors, through its communication interface 812, via a wireless connection to a network node. Data captured by sensors of a UE can be communicated through a wireless connection to a network node via another UE. The output may be periodic (e.g., once every 15 minutes if it reports the sensed temperature), random (e.g., to even out the load from reporting from several sensors), in response to a triggering event (e.g., when moisture is detected an alert is sent), in response to a request (e.g., a user initiated request), or a continuous stream (e.g., a live video feed of a patient).

[0094] As another example, a UE comprises an actuator, a motor, or a switch, related to a communication interface configured to receive wireless input from a network node via a wireless connection. In response to the received wireless input the states of the actuator, the motor, or the switch may change. For example, the UE may comprise a motor that adjusts the control surfaces or rotors of a drone in flight according to the received input or to a robotic arm performing a medical procedure according to the received input.

[0095] A UE, when in the form of an Internet of Things (loT) device, may be a device for use in one or more application domains, these domains comprising, but not limited to, city wearable technology, extended industrial application and healthcare. Non-limiting examples of such an loT device are a device which is or which is embedded in: a connected refrigerator or freezer, a TV, a connected lighting device, an electricity meter, a robot vacuum cleaner, a voice controlled smart speaker, a home security camera, a motion detector, a thermostat, a smoke detector, a door/window sensor, a flood/moisture sensor, an electrical door lock, a connected doorbell, an air conditioning system like a heat pump, an autonomous vehicle, a surveillance system, a weather monitoring device, a vehicle parking monitoring device, an electric vehicle charging station, a smart watch, a fitness tracker, a head-mounted display for Augmented Reality (AR) or Virtual Reality (VR), a wearable for tactile augmentation or sensory enhancement, a water sprinkler, an animal- or item-tracking device, a sensor for monitoring a plant or animal, an industrial robot, an Unmanned Aerial Vehicle (UAV), and any kind of medical device, like a heart rate monitor or a remote controlled surgical robot. A UE in the form of an loT device comprises circuitry and/or software in dependence of the intended application of the loT device in addition to other components as described in relation to the UE 800 shown in Figure 8.

[0096] As yet another specific example, in an loT scenario, a UE may represent a machine or other device that performs monitoring and/or measurements, and transmits the results of such monitoring and/or measurements to another UE and/or a network node. The UE may in this case be an M2M device, which may in a 3 GPP context be referred to as an MTC device. As one particular example, the UE may implement the 3GPP NB-IoT standard. In other scenarios, a UE may represent a vehicle, such as a car, a bus, a truck, a ship and an airplane, or other equipment that is capable of monitoring and/or reporting on its operational status or other functions associated with its operation.

[0097] In practice, any number of UEs may be used together with respect to a single use case. For example, a first UE might be or be integrated in a drone and provide the drone’s speed information (obtained through a speed sensor) to a second UE that is a remote controller operating the drone. When the user makes changes from the remote controller, the first UE may adjust the throttle on the drone (e.g. by controlling an actuator) to increase or decrease the drone’s speed. The first and/or the second UE can also include more than one of the functionalities described above. For example, a UE might comprise the sensor and the actuator, and handle communication of data for both the speed sensor and the actuators.

[0098] Figure 99 shows a network node 900 in accordance with some embodiments. As used herein, network node refers to equipment capable, configured, arranged and/or operable to communicate directly or indirectly with a UE and/or with other network nodes or equipment, in a telecommunication network. Examples of network nodes include, but are not limited to, access points (APs) (e.g., radio access points), base stations (BSs) (e.g., radio base stations, Node Bs, evolved Node Bs (eNBs) and NR NodeBs (gNBs)).

[0099] Base stations may be categorized based on the amount of coverage they provide (or, stated differently, their transmit power level) and so, depending on the provided amount of coverage, may be referred to as femto base stations, pico base stations, micro base stations, or macro base stations. A base station may be a relay node or a relay donor node controlling a relay. A network node may also include one or more (or all) parts of a distributed radio base station such as centralized digital units and/or remote radio units (RRUs), sometimes referred to as Remote Radio Heads (RRHs). Such remote radio units may or may not be integrated with an antenna as an antenna integrated radio. Parts of a distributed radio base station may also be referred to as nodes in a distributed antenna system (DAS).

[00100] Other examples of network nodes include multiple transmission point (multi-TRP) 5G access nodes, multi -standard radio (MSR) equipment such as MSR BSs, network controllers such as radio network controllers (RNCs) or base station controllers (BSCs), base transceiver stations (BTSs), transmission points, transmission nodes, multi-cell/multicast coordination entities (MCEs), Operation and Maintenance (O&M) nodes, Operations Support System (OSS) nodes, Self-Organizing Network (SON) nodes, positioning nodes (e.g., Evolved Serving Mobile Location Centers (E-SMLCs)), and/or Minimization of Drive Tests (MDTs).

[00101] The network node 900 includes a processing circuitry 902, a memory 904, a communication interface 906, and a power source 908. The network node 900 may be composed of multiple physically separate components (e.g., a NodeB component and a RNC component, or a BTS component and a BSC component, etc.), which may each have their own respective components. In certain scenarios in which the network node 900 comprises multiple separate components (e.g., BTS and BSC components), one or more of the separate components may be shared among several network nodes. For example, a single RNC may control multiple NodeBs. In such a scenario, each unique NodeB and RNC pair, may in some instances be considered a single separate network node. In some embodiments, the network node 900 may be configured to support multiple radio access technologies (RATs). In such embodiments, some components may be duplicated (e.g., separate memory 904 for different RATs) and some components may be reused (e.g., a same antenna 910 may be shared by different RATs). The network node 900 may also include multiple sets of the various illustrated components for different wireless technologies integrated into network node 900, for example GSM, WCDMA, LTE, NR, WiFi, Zigbee, Z-wave, LoRaWAN, Radio Frequency Identification (RFID) or Bluetooth wireless technologies. These wireless technologies may be integrated into the same or different chip or set of chips and other components within network node 900.

[00102] The processing circuitry 902 may comprise a combination of one or more of a microprocessor, controller, microcontroller, central processing unit, digital signal processor, application-specific integrated circuit, field programmable gate array, or any other suitable computing device, resource, or combination of hardware, software and/or encoded logic operable to provide, either alone or in conjunction with other network node 900 components, such as the memory 904, to provide network node 900 functionality.

[00103] In some embodiments, the processing circuitry 902 includes a system on a chip (SOC). In some embodiments, the processing circuitry 902 includes one or more of radio frequency (RF) transceiver circuitry 912 and baseband processing circuitry 914. In some embodiments, the radio frequency (RF) transceiver circuitry 912 and the baseband processing circuitry 914 may be on separate chips (or sets of chips), boards, or units, such as radio units and digital units. In alternative embodiments, part or all of RF transceiver circuitry 912 and baseband processing circuitry 914 may be on the same chip or set of chips, boards, or units. [00104] The memory 904 may comprise any form of volatile or non-volatile computer- readable memory including, without limitation, persistent storage, solid-state memory, remotely mounted memory, magnetic media, optical media, random access memory (RAM), read-only memory (ROM), mass storage media (for example, a hard disk), removable storage media (for example, a flash drive, a Compact Disk (CD) or a Digital Video Disk (DVD)), and/or any other volatile or non-volatile, non-transitory device-readable and/or computer-executable memory devices that store information, data, and/or instructions that may be used by the processing circuitry 902. The memory 904 may store any suitable instructions, data, or information, including a computer program, software, an application including one or more of logic, rules, code, tables, and/or other instructions capable of being executed by the processing circuitry 902 and utilized by the network node 900. The memory 904 may be used to store any calculations made by the processing circuitry 902 and/or any data received via the communication interface 906. In some embodiments, the processing circuitry 902 and memory 904 is integrated. [00105] The communication interface 906 is used in wired or wireless communication of signaling and/or data between a network node, access network, and/or UE. As illustrated, the communication interface 906 comprises port(s)/terminal(s) 916 to send and receive data, for example to and from a network over a wired connection. The communication interface 906 also includes radio front-end circuitry 918 that may be coupled to, or in certain embodiments a part of, the antenna 910. Radio front-end circuitry 918 comprises filters 920 and amplifiers 922. The radio front-end circuitry 918 may be connected to an antenna 910 and processing circuitry 902. The radio front-end circuitry may be configured to condition signals communicated between antenna 910 and processing circuitry 902. The radio front-end circuitry 918 may receive digital data that is to be sent out to other network nodes or UEs via a wireless connection. The radio front-end circuitry 918 may convert the digital data into a radio signal having the appropriate channel and bandwidth parameters using a combination of filters 920 and/or amplifiers 922. The radio signal may then be transmitted via the antenna 910. Similarly, when receiving data, the antenna 910 may collect radio signals which are then converted into digital data by the radio front-end circuitry 918. The digital data may be passed to the processing circuitry 902. In other embodiments, the communication interface may comprise different components and/or different combinations of components.

[00106] In certain alternative embodiments, the network node 900 does not include separate radio front-end circuitry 918, instead, the processing circuitry 902 includes radio front-end circuitry and is connected to the antenna 910. Similarly, in some embodiments, all or some of the RF transceiver circuitry 912 is part of the communication interface 906. In still other embodiments, the communication interface 906 includes one or more ports or terminals 916, the radio front-end circuitry 918, and the RF transceiver circuitry 912, as part of a radio unit (not shown), and the communication interface 906 communicates with the baseband processing circuitry 914, which is part of a digital unit (not shown).

[00107] The antenna 910 may include one or more antennas, or antenna arrays, configured to send and/or receive wireless signals. The antenna 910 may be coupled to the radio front-end circuitry 918 and may be any type of antenna capable of transmitting and receiving data and/or signals wirelessly. In certain embodiments, the antenna 910 is separate from the network node 900 and connectable to the network node 900 through an interface or port.

[00108] The antenna 910, communication interface 906, and/or the processing circuitry 902 may be configured to perform any receiving operations and/or certain obtaining operations described herein as being performed by the network node. Any information, data and/or signals may be received from a UE, another network node and/or any other network equipment. Similarly, the antenna 910, the communication interface 906, and/or the processing circuitry 902 may be configured to perform any transmitting operations described herein as being performed by the network node. Any information, data and/or signals may be transmitted to a UE, another network node and/or any other network equipment.

[00109] The power source 908 provides power to the various components of network node 900 in a form suitable for the respective components (e.g., at a voltage and current level needed for each respective component). The power source 908 may further comprise, or be coupled to, power management circuitry to supply the components of the network node 900 with power for performing the functionality described herein. For example, the network node 900 may be connectable to an external power source (e.g., the power grid, an electricity outlet) via an input circuitry or interface such as an electrical cable, whereby the external power source supplies power to power circuitry of the power source 908. As a further example, the power source 908 may comprise a source of power in the form of a battery or battery pack which is connected to, or integrated in, power circuitry. The battery may provide backup power should the external power source fail.

[00110] Embodiments of the network node 900 may include additional components beyond those shown in Figure 9 for providing certain aspects of the network node’s functionality, including any of the functionality described herein and/or any functionality necessary to support the subject matter described herein. For example, the network node 900 may include user interface equipment to allow input of information into the network node 900 and to allow output of information from the network node 900. This may allow a user to perform diagnostic, maintenance, repair, and other administrative functions for the network node 900.

[00111] Figure 10 is a block diagram of a host 1000, which may be an embodiment of the host 716 of Figure 7, in accordance with various aspects described herein. As used herein, the host 1000 may be or comprise various combinations hardware and/or software, including a standalone server, a blade server, a cloud-implemented server, a distributed server, a virtual machine, container, or processing resources in a server farm. The host 1000 may provide one or more services to one or more UEs.

[00112] The host 1000 includes processing circuitry 1002 that is operatively coupled via a bus 1004 to an input/output interface 1006, a network interface 1008, a power source 1010, and a memory 1012. Other components may be included in other embodiments. Features of these components may be substantially similar to those described with respect to the devices of previous figures, such as Figures 8 and 9, such that the descriptions thereof are generally applicable to the corresponding components of host 1000.

[00113] The memory 1012 may include one or more computer programs including one or more host application programs 1014 and data 1016, which may include user data, e.g., data generated by a UE for the host 1000 or data generated by the host 1000 for a UE. Embodiments of the host 1000 may utilize only a subset or all of the components shown. The host application programs 1014 may be implemented in a container-based architecture and may provide support for video codecs (e.g., Versatile Video Coding (VVC), High Efficiency Video Coding (HEVC), Advanced Video Coding (AVC), MPEG, VP9) and audio codecs (e.g., FLAC, Advanced Audio Coding (AAC), MPEG, G.711), including transcoding for multiple different classes, types, or implementations of UEs (e.g., handsets, desktop computers, wearable display systems, heads-up display systems). The host application programs 1014 may also provide for user authentication and licensing checks and may periodically report health, routes, and content availability to a central node, such as a device in or on the edge of a core network. Accordingly, the host 1000 may select and/or indicate a different host for over-the-top (OTT) services for a UE. The host application programs 1014 may support various protocols, such as the HTTP Live Streaming (HLS) protocol, Real-Time Messaging Protocol (RTMP), Real-Time Streaming Protocol (RTSP), Dynamic Adaptive Streaming over HTTP (MPEG-DASH), etc.

[00114] Figure 11 is a block diagram illustrating a virtualization environment 1100 in which functions implemented by some embodiments may be virtualized. In the present context, virtualizing means creating virtual versions of apparatuses or devices which may include virtualizing hardware platforms, storage devices and networking resources. As used herein, virtualization can be applied to any device described herein, or components thereof, and relates to an implementation in which at least a portion of the functionality is implemented as one or more virtual components. Some or all of the functions described herein may be implemented as virtual components executed by one or more virtual machines (VMs) implemented in one or more virtual environments 1100 hosted by one or more of hardware nodes, such as a hardware computing device that operates as a network node, UE, core network node, or host. Further, in embodiments in which the virtual node does not require radio connectivity (e.g., a core network node or host), then the node may be entirely virtualized.

[00115] Applications 1102 (which may alternatively be called software instances, virtual appliances, network functions, virtual nodes, virtual network functions, etc.) are run in the virtualization environment Q400 to implement some of the features, functions, and/or benefits of some of the embodiments disclosed herein.

[00116] Hardware 1104 includes processing circuitry, memory that stores software and/or instructions executable by hardware processing circuitry, and/or other hardware devices as described herein, such as a network interface, input/output interface, and so forth. Software may be executed by the processing circuitry to instantiate one or more virtualization layers 1106 (also referred to as hypervisors or virtual machine monitors (VMMs)), provide VMs 1108a and 1108b (one or more of which may be generally referred to as VMs 1108), and/or perform any of the functions, features and/or benefits described in relation with some embodiments described herein. The virtualization layer 1106 may present a virtual operating platform that appears like networking hardware to the VMs 1108.

[00117] The VMs 1108 comprise virtual processing, virtual memory, virtual networking or interface and virtual storage, and may be run by a corresponding virtualization layer 1106. Different embodiments of the instance of a virtual appliance 1102 may be implemented on one or more of VMs 1108, and the implementations may be made in different ways. Virtualization of the hardware is in some contexts referred to as network function virtualization (NFV). NFV may be used to consolidate many network equipment types onto industry standard high volume server hardware, physical switches, and physical storage, which can be located in data centers, and customer premise equipment.

[00118] In the context of NFV, a VM 1108 may be a software implementation of a physical machine that runs programs as if they were executing on a physical, non-virtualized machine. Each of the VMs 1108, and that part of hardware 1104 that executes that VM, be it hardware dedicated to that VM and/or hardware shared by that VM with others of the VMs, forms separate virtual network elements. Still in the context of NFV, a virtual network function is responsible for handling specific network functions that run in one or more VMs 1108 on top of the hardware 1104 and corresponds to the application 1102.

[00119] Hardware 1104 may be implemented in a standalone network node with generic or specific components. Hardware 1104 may implement some functions via virtualization.

Alternatively, hardware 1104 may be part of a larger cluster of hardware (e.g. such as in a data center or CPE) where many hardware nodes work together and are managed via management and orchestration 1110, which, among others, oversees lifecycle management of applications 1102. In some embodiments, hardware 1104 is coupled to one or more radio units that each include one or more transmitters and one or more receivers that may be coupled to one or more antennas. Radio units may communicate directly with other hardware nodes via one or more appropriate network interfaces and may be used in combination with the virtual components to provide a virtual node with radio capabilities, such as a radio access node or a base station. In some embodiments, some signaling can be provided with the use of a control system 1112 which may alternatively be used for communication between hardware nodes and radio units. [00120] Figure 12 shows a communication diagram of a host 1202 communicating via a network node 1204 with a UE 1206 over a partially wireless connection in accordance with some embodiments. Example implementations, in accordance with various embodiments, of the UE (such as a UE 712a of Figure 7 and/or UE 800 of Figure 8), network node (such as network node 710a of Figure 7 and/or network node 900 of Figure 9), and host (such as host 716 of Figure 7 and/or host 1000 of Figure 10) discussed in the preceding paragraphs will now be described with reference to Figure 12.

[00121] Like host 1000, embodiments of host 1202 include hardware, such as a communication interface, processing circuitry, and memory. The host 1202 also includes software, which is stored in or accessible by the host 1202 and executable by the processing circuitry. The software includes a host application that may be operable to provide a service to a remote user, such as the UE 1206 connecting via an over-the-top (OTT) connection 1250 extending between the UE 1206 and host 1202. In providing the service to the remote user, a host application may provide user data which is transmitted using the OTT connection 1250. [00122] The network node 1204 includes hardware enabling it to communicate with the host 1202 and UE 1206. The connection 1260 may be direct or pass through a core network (like core network 706 of Figure 7) and/or one or more other intermediate networks, such as one or more public, private, or hosted networks. For example, an intermediate network may be a backbone network or the Internet.

[00123] The UE 1206 includes hardware and software, which is stored in or accessible by UE 1206 and executable by the UE’s processing circuitry. The software includes a client application, such as a web browser or operator-specific “app” that may be operable to provide a service to a human or non-human user via UE 1206 with the support of the host 1202. In the host 1202, an executing host application may communicate with the executing client application via the OTT connection 1250 terminating at the UE 1206 and host 1202. In providing the service to the user, the UE's client application may receive request data from the host's host application and provide user data in response to the request data. The OTT connection 1250 may transfer both the request data and the user data. The UE's client application may interact with the user to generate the user data that it provides to the host application through the OTT connection 1250. [00124] The OTT connection 1250 may extend via a connection 1260 between the host 1202 and the network node 1204 and via a wireless connection 1270 between the network node 1204 and the UE 1206 to provide the connection between the host 1202 and the UE 1206. The connection 1260 and wireless connection 1270, over which the OTT connection 1250 may be provided, have been drawn abstractly to illustrate the communication between the host 1202 and the UE 1206 via the network node 1204, without explicit reference to any intermediary devices and the precise routing of messages via these devices.

[00125] As an example of transmitting data via the OTT connection 1250, in step 1208, the host 1202 provides user data, which may be performed by executing a host application. In some embodiments, the user data is associated with a particular human user interacting with the UE 1206. In other embodiments, the user data is associated with a UE 1206 that shares data with the host 1202 without explicit human interaction. In step 1210, the host 1202 initiates a transmission carrying the user data towards the UE 1206. The host 1202 may initiate the transmission responsive to a request transmitted by the UE 1206. The request may be caused by human interaction with the UE 1206 or by operation of the client application executing on the UE 1206. The transmission may pass via the network node 1204, in accordance with the teachings of the embodiments described throughout this disclosure. Accordingly, in step 1212, the network node 1204 transmits to the UE 1206 the user data that was carried in the transmission that the host 1202 initiated, in accordance with the teachings of the embodiments described throughout this disclosure. In step 1214, the UE 1206 receives the user data carried in the transmission, which may be performed by a client application executed on the UE 1206 associated with the host application executed by the host 1202.

[00126] In some examples, the UE 1206 executes a client application which provides user data to the host 1202. The user data may be provided in reaction or response to the data received from the host 1202. Accordingly, in step 1216, the UE 1206 may provide user data, which may be performed by executing the client application. In providing the user data, the client application may further consider user input received from the user via an input/output interface of the UE 1206. Regardless of the specific manner in which the user data was provided, the UE 1206 initiates, in step 1218, transmission of the user data towards the host 1202 via the network node 1204. In step 1220, in accordance with the teachings of the embodiments described throughout this disclosure, the network node 1204 receives user data from the UE 1206 and initiates transmission of the received user data towards the host 1202. In step 1222, the host 1202 receives the user data carried in the transmission initiated by the UE 1206.

[00127] One or more of the various embodiments improve the performance of OTT services provided to the UE 1206 using the OTT connection 1250, in which the wireless connection 1270 forms the last segment. More precisely, the teachings of these embodiments may improve data rate and/or latency and thereby provide benefits such as reduced user waiting, better responsiveness, and improved user experience.

[00128] In an example scenario, factory status information may be collected and analyzed by the host 1202. As another example, the host 1202 may process audio and video data which may have been retrieved from a UE for use in creating maps. As another example, the host 1202 may collect and analyze real-time data to assist in controlling vehicle congestion (e.g., controlling traffic lights). As another example, the host 1202 may store surveillance video uploaded by a UE. As another example, the host 1202 may store or control access to media content such as video, audio, VR or AR which it can broadcast, multicast or unicast to UEs. As other examples, the host 1202 may be used for energy pricing, remote control of non-time critical electrical load to balance power generation needs, location services, presentation services (such as compiling diagrams etc. from data collected from remote devices), or any other function of collecting, retrieving, storing, analyzing and/or transmitting data.

[00129] In some examples, a measurement procedure may be provided for the purpose of monitoring data rate, latency and other factors on which the one or more embodiments improve. There may further be an optional network functionality for reconfiguring the OTT connection 1250 between the host 1202 and UE 1206, in response to variations in the measurement results. The measurement procedure and/or the network functionality for reconfiguring the OTT connection may be implemented in software and hardware of the host 1202 and/or UE 1206. In some embodiments, sensors (not shown) may be deployed in or in association with other devices through which the OTT connection 1250 passes; the sensors may participate in the measurement procedure by supplying values of the monitored quantities exemplified above, or supplying values of other physical quantities from which software may compute or estimate the monitored quantities. The reconfiguring of the OTT connection 1250 may include message format, retransmission settings, preferred routing etc.; the reconfiguring need not directly alter the operation of the network node 1204. Such procedures and functionalities may be known and practiced in the art. In certain embodiments, measurements may involve proprietary UE signaling that facilitates measurements of throughput, propagation times, latency and the like, by the host 1202. The measurements may be implemented in that software causes messages to be transmitted, in particular empty or ‘dummy’ messages, using the OTT connection 1250 while monitoring propagation times, errors, etc.

[00130] Although the computing devices described herein (e.g., UEs, network nodes, hosts) may include the illustrated combination of hardware components, other embodiments may comprise computing devices with different combinations of components. It is to be understood that these computing devices may comprise any suitable combination of hardware and/or software needed to perform the tasks, features, functions and methods disclosed herein. Determining, calculating, obtaining or similar operations described herein may be performed by processing circuitry, which may process information by, for example, converting the obtained information into other information, comparing the obtained information or converted information to information stored in the network node, and/or performing one or more operations based on the obtained information or converted information, and as a result of said processing making a determination. Moreover, while components are depicted as single boxes located within a larger box, or nested within multiple boxes, in practice, computing devices may comprise multiple different physical components that make up a single illustrated component, and functionality may be partitioned between separate components. For example, a communication interface may be configured to include any of the components described herein, and/or the functionality of the components may be partitioned between the processing circuitry and the communication interface. In another example, non-computationally intensive functions of any of such components may be implemented in software or firmware and computationally intensive functions may be implemented in hardware.

[00131] In certain embodiments, some or all of the functionality described herein may be provided by processing circuitry executing instructions stored on in memory, which in certain embodiments may be a computer program product in the form of a non-transitory computer- readable storage medium. In alternative embodiments, some or all of the functionality may be provided by the processing circuitry without executing instructions stored on a separate or discrete device-readable storage medium, such as in a hard-wired manner. In any of those particular embodiments, whether executing instructions stored on a non-transitory computer- readable storage medium or not, the processing circuitry can be configured to perform the described functionality. The benefits provided by such functionality are not limited to the processing circuitry alone or to other components of the computing device, but are enjoyed by the computing device as a whole, and/or by end users and a wireless network generally.

[00132] List of enumerated embodiments:

[00133] 1. A method of operating an entity in a communications network that includes a network node and a communication device, the method comprising: determining (610) scheduling information to be used for communicating data between the communication device and the network node based on an expected retransmission delay and an expected queueing delay; and scheduling (620) communication between the communication device and the network node based on the scheduling information.

[00134] 2. The method of Embodiment 1, wherein the scheduling information comprises: an indication of radio resources to be used for communicating the data; and an indication of a modulation coding scheme, MCS, to be used for communicating the data.

[00135] 3. The method of any of Embodiments 1-2, wherein determining the scheduling information comprises: determining whether using a first MCS rather than a second MCS would result in an additional expected queueing delay, the first MCS being lower than the second MCS; and selecting the first MCS or the second MCS based on whether using the first MCS rather than the second MCS would result in the additional expected queueing delay.

[00136] 4. The method of any of Embodiments 1-3, wherein determining the scheduling information comprises: determining an amount of the radio resources and a code rate associated with the MCS in accordance with a high block error rate, BLER, target; determining that increasing the amount of radio resources and decreasing a code rate associated with the MCS will not cause an increase in the expected queueing delay; and responsive to determining that increasing the amount of radio resources and decreasing a code rate associated with the MCS will not cause an increase in the expected queuing delay, increasing the amount of radio resources and decreasing the code rate associated with the MCS.

[00137] 5. The method of Embodiment 4, wherein the high BLER target is 10%.

[00138] 6. The method of any of Embodiments 1-3, wherein determining the scheduling information comprises: determining an amount of the radio resources and a code rate associated with the MCS in accordance with a low block error rate, BLER, target; determining that increasing a spectrum efficiency of the radio resources will reduce the expected queuing delay; and responsive to determining that increasing the spectrum efficiency of the radio resources will reduce the expected queuing delay, decreasing the amount of radio resources and increasing the code rate associated with the MCS.

[00139] 7. The method of Embodiment 6, wherein the low BLER target is 0.01%.

[00140] 8. The method of any of Embodiments 1-7, wherein the data comprises a first portion and a second portion, the portion of the data having higher priority than the second portion of the data, wherein the expected queueing delay is associated with the first portion of the data.

[00141] 9. The method of any of Embodiments 1-8, wherein determining the scheduling information comprises: performing an inner link adaptation, LA, procedure; and performing an outer LA, OLA, procedure.

[00142] 10. The method of Embodiment 9, wherein performing the inner LA procedure comprises:

- Determining a modulation coding scheme, MCS; and determining a transport block size, TBS, based on the MCS,

- wherein scheduling the communication comprises, responsive to the TBS exceeding a threshold number of bits, scheduling the communication using the MCS.

[00143] 11. The method of Embodiment 10, wherein performing the OLA procedure comprises: receiving a hybrid automatic repeat request, HARQ, response; and adjusting a signal-to-noise-and-interference ratio, SINR, offset based on whether the HARQ response includes an acknowledgment, ACK, or negative-ACK, NACK.

[00144] 12. The method of Embodiment 9, wherein performing the inner LA procedure comprises:

- Determining a first modulation coding scheme, MCS, with a first block error rate, BLER, target; determining a transport block size, TBS, based on the first MCS; and responsive to the TBS being less than a threshold number of bits, determining a second MCS with a second BLER target that is higher than the first BLER target, wherein scheduling the communication comprises scheduling the communication using the second MCS.

[00145] 13. The method of Embodiment 12, wherein performing the OLA procedure comprises: receiving a hybrid automatic repeat request, HARQ, response; and adjusting the second BLER target based on whether the HARQ response includes an acknowledgment, ACK, or negative-ACK, NACK.

[00146] 14. The method of Embodiment 9, wherein performing the inner LA procedure comprises: determining a modulation coding scheme, MCS, with a block error rate, BLER, target; and determining an available transport block size, TBS, based on the MCS,

- wherein scheduling the communication comprises, responsive to a number of unused resources in a slot associated with the available TBS being below a threshold value, scheduling the communication using the MCS.

[00147] 15. The method of Embodiment 14, wherein performing the OLA procedure comprises: receiving a hybrid automatic repeat request, HARQ, response; and adjusting the BLER target based on whether the HARQ response includes an acknowledgment, ACK, or negative-ACK, NACK.

[00148] 16. The method of Embodiment 9, wherein performing the inner LA procedure comprises: determining a first modulation coding scheme, MCS, with a first block error rate, BLER, target; determining an available transport block size, TBS, based on the first MCS; and responsive to there being unused resources in a slot associated with the available TBS, determining a second MCS based on a signal-to-interference-and-noise ratio, SINR, offset added to the LA,

- wherein scheduling the communication comprises scheduling the communication using the second MCS.

[00149] 17. The method of any of Embodiments 1-16, wherein the communication device comprises a plurality of communication devices, wherein determining the scheduling information comprises determining the scheduling information for each communication device of the plurality of communication devices one at a time.

[00150] 18. The method of any of Embodiments 1-16, wherein the communication device comprises a plurality of communication devices, wherein determining the scheduling information comprises determining the scheduling information for each communication device of the plurality of communication devices based on an estimate of an amount of resources needed to serve the plurality of communication devices with a specific block error rate, BLER.

[00151] 19. The method of any of Embodiments 1-18, further comprising: communicating (630) with the communication device or the network node using the scheduling information.

[00152] 20. The method of any of Embodiments 1-19, wherein the entity is the network node.

[00153] 21. The method of any of Embodiments 1-20, wherein the entity is the communication device.

[00154] 22. The method of any of Embodiments 1-21, wherein the communications network includes a radio access network, RAN, network, and wherein the network node comprises a RAN node.’ [00155] 23. The method of any of Embodiments 1-22, wherein the communications network includes a WI-FI network, and wherein the network node comprises an access point.

[00156] 24. An entity (UE800, Network node 900) in a communications network that includes a network node and a communication device, the entity comprising: processing circuitry (802, 902); and memory (810, 904) coupled to the processing circuitry and having instructions stored therein that are executable by the processing circuitry to cause the entity to perform operations comprising any of the operations of Embodiments 1-23.

[00157] 25. A computer program comprising program code to be executed by processing circuitry (802, 902) of an entity (800, 900) in a communications network that includes a network node and a communication device, whereby execution of the program code causes the entity to perform operations comprising any operations of Embodiments 1-23.

[00158] 26. A computer program product comprising a non-transitory storage medium (810, 904) including program code to be executed by processing circuitry (802, 902) of an entity (800, 900) in a communications network that includes a network node and a communication device, whereby execution of the program code causes the entity to perform operations comprising any operations of Embodiments 1-23.

[00159] 27. A non-transitory computer-readable medium having instructions stored therein that are executable by processing circuitry (802, 902) of an entity (800, 900) configured to perform operations comprising any of the operations of Embodiments 1-23.

[00160] 28. A host configured to operate in a communication system to provide an over- the-top (OTT) service, the host comprising: processing circuitry configured to provide user data; and a network interface configured to initiate transmission of the user data to a network node in a cellular network for transmission to a user equipment (UE), the network node having a communication interface and processing circuitry, the processing circuitry of the network node configured to perform the following operations to transmit the user data from the host to the UE: determining (610) scheduling information to be used for communicating data between the communication device and the network node based on an expected retransmission delay and an expected queueing delay; and scheduling (620) communication between the communication device and the network node based on the scheduling information.29. The host of the previous embodiment, wherein: the processing circuitry of the host is configured to execute a host application that provides the user data; an the UE comprises processing circuitry configured to execute a client application associated with the host application to receive the transmission of user data from the host.

[00161] 30. A method implemented in a host configured to operate in a communication system that further includes a network node and a user equipment (UE), the method comprising: providing user data for the UE; and initiating a transmission carrying the user data to the UE via a cellular network comprising the network node, wherein the network node performs the following operations to transmit the user data from the host to the UE: determining (610) scheduling information to be used for communicating data between the communication device and the network node based on an expected retransmission delay and an expected queueing delay; and scheduling (620) communication between the communication device and the network node based on the scheduling information.

[00162] 31. The method of the previous embodiment, further comprising, at the network node, transmitting the user data provided by the host for the UE.

[00163] 32. The method of any of the previous 2 embodiments, wherein the user data is provided at the host by executing a host application that interacts with a client application executing on the UE, the client application being associated with the host application.

[00164] 33. A communication system configured to provide an over-the-top service, the communication system comprising: a host comprising: processing circuitry configured to provide user data for a user equipment (UE), the user data being associated with the over-the-top service; and a network interface configured to initiate transmission of the user data toward a cellular network node for transmission to the UE, the network node having a communication interface and processing circuitry, the processing circuitry of the network node configured to perform the following operations to transmit the user data from the host to the UE: determining (610) scheduling information to be used for communicating data between the communication device and the network node based on an expected retransmission delay and an expected queueing delay; and scheduling (620) communication between the communication device and the network node based on the scheduling information.

[00165] 34. The communication system of the previous embodiment, further comprising: the network node; and/or the user equipment.

[00166] 35. The communication system of the previous 2 embodiments, whereimthe processing circuitry of the hos t is configured to execute a host application, thereby providing the user data; and the host application is configured to interact with a client application executing on the UE, the client application being associated with the host application.

[00167] 36. A host configured to operate in a communication system to provide an over- the-top (OTT) service, the host comprising: processing circuitry configured to initiate receipt of user data; and a network interface configured to receive the user data from a network node in a cellular network, the network node having a communication interface and processing circuitry, the processing circuitry of the network node configured to perform the following operations to receive the user data from the UE for the host: determining (610) scheduling information to be used for communicating data between the communication device and the network node based on an expected retransmission delay and an expected queueing delay; and scheduling (620) communication between the communication device and the network node based on the scheduling information.

[00168] 37. The host of the previous 2 embodiments, wherein: the processing circuitry of the host is configured to execute a host application, thereby providing the user data; and the host application is configured to interact with a client application executing on the UE, the client application being associated with the host application. [00169] 38. The host of the any of the previous 2 embodiments, wherein the initiating receipt of the user data comprises requesting the user data.

[00170] 39. A method implemented by a host configured to operate in a communication system that further includes a network node and a user equipment (UE), the method comprising: at the host, initiating receipt of user data from the UE, the user data originating from a transmission which the network node has received from the UE, wherein the network node performs the following operations to receive the user data from the UE for the host: determining (610) scheduling information to be used for communicating data between the communication device and the network node based on an expected retransmission delay and an expected queueing delay; and scheduling (620) communication between the communication device and the network node based on the scheduling information.

[00171] 40. The method of the previous embodiment, further comprising at the network node, transmitting the received user data to the host.

[00172] 41. A host configured to operate in a communication system to provide an over- the-top (OTT) service, the host comprising: processing circuitry configured to provide user data; and a network interface configured to initiate transmission of the user data to a cellular network for transmission to a user equipment (UE), wherein the UE comprises a communication interface and processing circuitry, the communication interface and processing circuitry of the UE being configured to perform the following operations to receive the user data from the host: determining (610) scheduling information to be used for communicating data between the communication device and the network node based on an expected retransmission delay and an expected queueing delay; and scheduling (620) communication between the communication device and the network node based on the scheduling information.

[00173] 42. The host of the previous embodiment, wherein the cellular network further includes a network node configured to communicate with the UE to transmit the user data to the UE from the host. [00174] 43. The host of the previous 2 embodiments, wherein: the processing circuitry of the host is configured to execute a host application, thereby providing the user data; and the host application is configured to interact with a client application executing on the UE, the client application being associated with the host application.

[00175] 44. A method implemented by a host operating in a communication system that further includes a network node and a user equipment (UE), the method comprising: providing user data for the UE; and initiating a transmission carrying the user data to the UE via a cellular network comprising the network node, wherein the UE performs the following operations to receive the user data from the host: determining (610) scheduling information to be used for communicating data between the communication device and the network node based on an expected retransmission delay and an expected queueing delay; and scheduling (620) communication between the communication device and the network node based on the scheduling information.

[00176] 45. The method of the previous embodiment, further comprising: at the host, executing a host application associated with a client application executing on the UE to receive the user data from the UE.

[00177] 46. The method of the previous embodiment, further comprising: at the host, transmitting input data to the client application executing on the UE, the input data being provided by executing the host application, wherein the user data is provided by the client application in response to the input data from the host application.

[00178] 47. A host configured to operate in a communication system to provide an over- the-top (OTT) service, the host comprising: processing circuitry configured to utilize user data; and a network interface configured to receipt of transmission of the user data to a cellular network for transmission to a user equipment (UE), wherein the UE comprises a communication interface and processing circuitry, the communication interface and processing circuitry of the UE being configured to perform the following operations to transmit the user data to the host: determining (610) scheduling information to be used for communicating data between the communication device and the network node based on an expected retransmission delay and an expected queueing delay; and scheduling (620) communication between the communication device and the network node based on the scheduling information.

[00179] 48. The host of the previous embodiment, wherein the cellular network further includes a network node configured to communicate with the UE to transmit the user data from the UE to the host.

[00180] 49. The host of the previous 2 embodiments, wherein: the processing circuitry of the host is configured to execute a host application, thereby providing the user data; and the host application is configured to interact with a client application executing on the UE, the client application being associated with the host application.

[00181] 50. A method implemented by a host configured to operate in a communication system that further includes a network node and a user equipment (UE), the method comprising: at the host, receiving user data transmitted to the host via the network node by the UE, wherein the UE performs the following operations to transmit the user data to the host: determining (610) scheduling information to be used for communicating data between the communication device and the network node based on an expected retransmission delay and an expected queueing delay; and scheduling (620) communication between the communication device and the network node based on the scheduling information.

[00182] 51. The method of the previous embodiment, further comprising: at the host, executing a host application associated with a client application executing on the UE to receive the user data from the UE.

[00183] 52. The method of the previous embodiments, further comprising: at the host, transmitting input data to the client application executing on the UE, the input data being provided by executing the host application, wherein the user data is provided by the client application in response to the input data from the host application.