Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
PUCCH LINK ADAPTATION USING BANDWIDTH-PART SWITCHING
Document Type and Number:
WIPO Patent Application WO/2022/090766
Kind Code:
A1
Abstract:
A method for a network node to determine a physical uplink control channel (PUCCH) link adaptation using bandwidth-part (BWP) for communication with a wireless device (WD) is provided. A plurality of PUCCH resource set profiles is determined based at least on a WD context of the WD, each of the plurality of PUCCH resource set profiles corresponding to a BWP and each PUCCH resource set profile defining at least one corresponding PUCCH resource. The method further includes activating a target PUCCH resource set profile of the plurality of PUCCH resource set profiles and the corresponding BWP for communication with the WD and selecting a PUCCH resource of the activated target PUCCH resource set profile to be used for communication with the WD. In addition, a method for a WD, a network node and a WD are provided.

Inventors:
GHIMIRE JAGADISH (CA)
ABOU-ZEID HATEM (CA)
LAI XIAOMING (CA)
Application Number:
PCT/IB2020/060063
Publication Date:
May 05, 2022
Filing Date:
October 27, 2020
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
ERICSSON TELEFON AB L M (SE)
International Classes:
H04L5/00; H04L1/00; H04L1/18; H04W72/12
Domestic Patent References:
WO2020108333A12020-06-04
Foreign References:
US20200145169A12020-05-07
US20200314858A12020-10-01
US20200221448A12020-07-09
Attorney, Agent or Firm:
WEISBERG, Alan M. (US)
Download PDF:
Claims:
37

What is claimed is:

1. A method for a network node (16) to determine a physical uplink control channel, PUCCH, link adaptation using bandwidth-part, BWP, for communication with a wireless device, WD (22), the method comprising: determining (S100) a plurality of PUCCH resource set profiles based at least on a WD context of the WD (22), each of the plurality of PUCCH resource set profiles corresponding to a BWP and each PUCCH resource set profile defining at least one corresponding PUCCH resource; activating (S102) a target PUCCH resource set profile of the plurality of PUCCH resource set profiles and the corresponding BWP for communication with the WD (22); and selecting (S104) a PUCCH resource of the activated target PUCCH resource set profile to be used for communication with the WD (22).

2. The method of Claim 1, the method further including: grouping a plurality of PUCCH resources into a plurality of PUCCH resource types, each PUCCH resource type having at least a corresponding PUCCH resource configuration.

3. The method of Claim 2, wherein determining a plurality of PUCCH resource set profiles is further based at least on the plurality of PUCCH resource types.

4. The method of any of Claims 1-3, the method further including: transmitting a subset of the plurality of PUCCH resource set profiles to the WD (22) via an RRC message for the WD (22) to configure at least a PUCCH transmission from the WD (22).

5. The method of any of Claims 1-4, wherein determining a plurality of PUCCH resource set profiles is further based at least on a table, the table associating a set of criteria to each of the plurality of PUCCH resource set profiles. 38

6. The method of Claim 5, wherein activating the target PUCCH resource set profile of the plurality of PUCCH resource set profiles and the corresponding BWP for communication with the WD (22) is based at least on a criterion of the set of criteria; and activating the target PUCCH resource set profile further includes: transmitting a BWP switch signal, the signal being based on downlink control information, DCI, the signal causing the WD (22) to switch to the target PUCCH resource set profile.

7. The method of any of Claims 1-4, wherein determining a plurality of PUCCH resource set profiles is further based at least on a PUCCH channel quality prediction using at least one of an uplink channel state information and PUCCH decoder output.

8. The method of any of Claims 1-4 and 7, wherein determining a plurality of PUCCH resource set profiles is further based at least on a PUCCH-decoder model for PUCCH link adaptation, the PUCCH-decoder model being based at least on:

Pa2n (y, T, n), defined as a probability of an acknowledgement, ACK, being detected as a negative acknowledgment, NACK, when a total of n bits are transmitted on a PUCCH resource of resource type T when an uplink signal to noise ratio, UL SINR, of the WD (22), is y;

Pn2a (/, T, n), defined as a probability of NACK detected as ACK when a total of n bits are transmitted on a PUCCH resource of resource type T when an UL SINR of the WD (22) is y ; and additional PUCCH quality metrics based on UL SINR, PUCCH resource type and number of UCI payload.

9. The method of Claim 8, wherein activating the target PUCCH resource set profile of the plurality of PUCCH resource set profiles and the corresponding BWP for communication with the WD (22) further includes: selecting a PUCCH transmit power and the target PUCCH resource set profile for which Pa2n is less than a first predefined threshold, Pn2a is less than a second predefined threshold, and for which an expected number of resource elements per UCI bit is minimized; determining a maximum number, Bmax, of uplink control information, UCI, bits that the WD (22) is permitted to transmit; and transmitting a BWP switch signal, the signal being based on downlink control information, DCI, the signal causing the WD (22) to switch to the target PUCCH resource set profile.

10. The method of Claim 9, wherein selecting a PUCCH resource further includes: limiting a number of downlink DL transport blocks allocated per feedback slot to Bmax, selecting an available PUCCH resource from a resource set that corresponds to a number of feedback bits on the target PUCCH resource set profile; and selecting a transmit power control, TPC, command based at least on the selected PUCCH transmit power.

11. The method of any of Claims 8-10, the method further includes: performing a PUCCH link adaptation including at least one of: estimating a decoder performance; and dynamically adjusting, based on a reliability metric, at least one of a decoder model and an estimate of UL SINR to match an observed decoder performance with an estimated value.

12. A method for a wireless device, WD (22), supporting communication with a network node (16), the method comprising: receiving (S106) a plurality of PUCCH resource set profiles based at least on a WD context of the WD (22), each of the plurality of PUCCH resource set profiles corresponding to a BWP and each PUCCH resource set profile defining at least one corresponding PUCCH resource; activating (S108) a target PUCCH resource set profile of the plurality of PUCCH resource set profiles and the corresponding BWP for communication with the WD (22); and selecting (S 110) a PUCCH resource of the activated target PUCCH resource set profile to be used for communication with the network node (16).

13. The method of Claim 12, wherein receiving the plurality of PUCCH resource set profiles further includes: receiving the plurality of PUCCH resource set profiles via RRC message; and storing the plurality of PUCCH resource set profiles.

14. The method of any of Claims 12 and 13, the method further including: receiving a BWP switch signal, the signal being based on downlink control information, DCI, the signal being transmitted to cause the WD (22) to activate the target PUCCH resource set profile.

15. The method of any of claims 12-14, wherein the target PUCCH resource set profile is based at least on one of: a table, the table associating a set of criteria to each of the plurality of PUCCH resource set profiles; and a PUCCH-decoder model for PUCCH link adaptation.

16. The method of any of Claims 12-15, wherein selecting a PUCCH resource further includes: receiving a limited number of downlink DL transport blocks allocated per feedback slot to a Bmax receiving a selected available PUCCH resource from a resource set that corresponds to a number of feedback bits on a target PUCCH resource set profile; and receiving transmit power control, TPC, command based at least on a PUCCH transmit power.

17. The method of any of Claims 12-16, the method further including: transmitting a signal based at least on the activated target PUCCH resource set profile.

18. The method of Claim 17, wherein the transmitted signal includes a PUCCH UCI in a desired format based at least on the activated target PUCCH resource set profile.

19. A network node (16) configured to determine a physical uplink control channel, PUCCH, link adaptation using bandwidth-part, BWP, for communication with a wireless device, WD (22), the network node (16) comprising: processing circuitry (42), the processing circuitry (42) being configured to: determine a plurality of PUCCH resource set profiles based at least on a WD context of the WD (22), each of the plurality of PUCCH resource set profiles corresponding to a BWP and each PUCCH resource set profile defining at least one corresponding PUCCH resource; activate a target PUCCH resource set profile of the plurality of PUCCH resource set profiles and the corresponding BWP for communication with the WD (22); and select a PUCCH resource of the activated target PUCCH resource set profile to be used for communication with the WD (22).

20. The network node (16) of Claim 19, the processing circuitry (42) being further configured to: group a plurality of PUCCH resources into a plurality of PUCCH resource types, each PUCCH resource type having at least a corresponding PUCCH resource configuration.

21. The network node (16) of Claim 20, wherein determining a plurality of PUCCH resource set profiles is further based at least on the plurality of PUCCH resource types. 42

22. The network node (16) of any of Claims 19-21, the processing circuitry (42) being further configured to: cause a transmission of a subset of the plurality of PUCCH resource set profiles to the WD (22) via an RRC message for the WD (22) to configure at least a PUCCH transmission from the WD (22).

23. The network node (16) of any of Claims 19-22, wherein determining a plurality of PUCCH resource set profiles is further based at least on a table, the table associating a set of criteria to each of the plurality of PUCCH resource set profiles.

24. The network node (16) of Claim 23, wherein activating the target PUCCH resource set profile of the plurality of PUCCH resource set profiles and the corresponding BWP for communication with the WD (22) is based at least on a criterion of the set of criteria; and activating the target PUCCH resource set profile further includes: transmitting a BWP switch signal, the signal being based on downlink control information, DCI, the signal causing the WD (22) to switch to the target PUCCH resource set profile.

25. The network node (16) of any of Claims 19-22, wherein determining a plurality of PUCCH resource set profiles is further based at least on a PUCCH channel quality prediction using at least one of an uplink channel state information and PUCCH decoder output.

26. The network node (16) of any of Claims 19-22 and 25, wherein determining a plurality of PUCCH resource set profiles is further based at least on a PUCCH-decoder model for PUCCH link adaptation, the PUCCH-decoder model being based at least on:

Pa2n (y, T, n), defined as a probability of an acknowledgement, ACK, being detected as a negative acknowledgment, NACK, when a total of n bits are transmitted on a PUCCH resource of resource type T when an uplink signal to noise ratio, UL SINR, of the WD (22), is y; 43

Pn2a (Y, P’ n)’ defined as a probability of NACK detected as ACK when a total of n bits are transmitted on a PUCCH resource of resource type T when an UL SINR of the WD (22) is y ; and additional PUCCH quality metrics based on UL SINR, PUCCH resource type, and number of UCI payload.

27. The network node (16) of Claim 26, wherein activating the target PUCCH resource set profile of the plurality of PUCCH resource set profiles and the corresponding BWP for communication with the WD (22) further includes: selecting a PUCCH transmit power and the target PUCCH resource set profile for which Pa2n is less than a first predefined threshold, Pn2a is less than a second predefined threshold, and for which an expected number of resource elements per UCI bit is minimized; determining a maximum number, Bmax, of uplink control information, UCI, bits that the WD (22) is permitted to transmit; and transmitting a BWP switch signal, the signal being based on downlink control information, DCI, the signal causing the WD (22) to switch to the target PUCCH resource set profile.

28. The network node (16) of Claim 27, wherein selecting a PUCCH resource further includes: limiting a number of downlink DL transport blocks allocated per feedback slot selecting an available PUCCH resource from a resource set that corresponds to a number of feedback bits on the target PUCCH resource set profile; and selecting a transmit power control, TPC, command based at least on the selected PUCCH transmit power.

29. The network node (16) of any of Claims 26-28, the processing circuitry (42) being further configured to: perform a PUCCH link adaptation including at least one of: estimating a decoder performance; and 44 dynamically adjusting, based on a reliability metric, at least one of a decoder model and an estimate of UL SINR to match an observed decoder performance with an estimated value.

30. A wireless device, WD (22), supporting communication with a network node (16), the WD (22) comprising: processing circuitry (58), the processing circuitry (58) being configured to: receive a plurality of PUCCH resource set profiles based at least on a WD context of the WD (22), each of the plurality of PUCCH resource set profiles corresponding to a BWP and each PUCCH resource set profile defining at least one corresponding PUCCH resource; activate a target PUCCH resource set profile of the plurality of PUCCH resource set profiles and the corresponding BWP for communication with the WD (22); and select a PUCCH resource of the activated target PUCCH resource set profile to be used for communication with the network node (16).

31. The WD (22) of Claim 30, wherein receiving the plurality of PUCCH resource set profiles further includes: receiving the plurality of PUCCH resource set profiles via RRC message; and storing the plurality of PUCCH resource set profiles.

32. The WD (22) of any of Claims 30 and 31, the processing circuitry (58) being further configured to: receive a BWP switch signal, the signal being based on downlink control information, DCI, the signal being transmitted to cause the WD (22) to activate the target PUCCH resource set profile.

33. The WD (22) of any of claims 30-32, wherein the target PUCCH resource set profile is based at least on one of: a table, the table associating a set of criteria to each of the plurality of PUCCH resource set profiles; and 45 a PUCCH-decoder model for PUCCH link adaptation.

34. The WD (22) of any of Claims 30-33, wherein selecting a PUCCH resource further includes: receiving a limited number of downlink DL transport blocks allocated per feedback slot to a Bmax receiving a selected available PUCCH resource from a resource set that corresponds to a number of feedback bits on a target PUCCH resource set profile; and receiving transmit power control, TPC, command based at least on a PUCCH transmit power.

35. The WD (22) of any of Claims 30-34, the processing circuitry (58) being further configured to: cause a transmission of a signal based at least on the activated target PUCCH resource set profile.

36. The WD (22) of Claim 35, wherein the transmission of the signal includes a PUCCH UCI in a desired format based at least on the activated target PUCCH resource set profile.

Description:
PUCCH LINK ADAPTATION USING BANDWIDTH-PART SWITCHING

TECHNICAL FIELD

Wireless communication and more particularly to methods and apparatuses for physical uplink control channel adaptation using bandwidth-part switching.

BACKGROUND

Wireless communication networks, such as those provided based on standards promulgated by the 3rd Generation Partnership Project (3GPP), e.g., New Radio (NR) (NR is also referred to as 5G), support communication channels, such as physical uplink control channel (PUCCH), for communication between a wireless device (WD) and a network node, e.g., gNB. Generally, PUCCH is utilized to carry uplink control information (UCI) which typically includes additional information such as hybrid automatic repeat request (HARQ) feedback for error detection. PUCCH may also have a number of resources. If a WD does not have a PUCCH resource configuration, a PUCCH resource set may be provided by the network node.

The network node may semi-statically configure a set of PUCCH resources, grouped into PUCCH resource sets (up to 4 sets). The first resource set contains PUCCH resources that can be used for feedback of up to 2 UCI bits. The second and subsequent PUCCH resource-sets may be used for carrying more than 2 UCI bits. If more than 2 resource-sets are configured, the network node also semi-statically configures resource sets “boundaries,” which define a minimum and a maximum number of payload bits that can be carried in the resources within that set, i.e., a j-th resource set is semi-statically associated with a minimum payload and a maximum payload for which a wireless device would use from the j-th set.

Each PUCCH resource has an associated format and is mapped to a certain part of a resource grid that is shared with other UL channel resources, e.g., physical uplink shared channel (PUSCH) physical resource blocks (PRBs), and physical random access channel (PRACH) occasion. This configuration is also defined semi- statically. NR provides flexibility in terms of which part of the grid the resources map to, as well as the “size” of the resources, more specifically, a number of resource elements.

The selection of a particular PUCCH resource for HARQ feedback is dynamically indicated by a network node, e.g., gNB, and sent as part of downlink assignments. The indication, referred to as PUCCH resource indicator, is a 3-bit field p, which refers to the p-th PUCCH resource entry in a resource set j, where j in { 1,2, 3, 4} is semi- statically configured to carry current total payload bits.

For some formats, there is a limit on the maximum number of HARQ- ACK bits that can be transmitted (e.g., PUCCH Format 1), whereas some other formats have virtually unlimited number of HARQ- ACK bits that can be transmitted (e.g., PUCCH Format 3).

For a given PUCCH resource, transmitting more feedback bits (to the limit of what can be carried) results in a larger required minimum uplink budget if a network requirement is to achieve a certain upper limit when decoding hybrid automatic repeat request acknowledgement (HARQ- ACK) UCI. Typical requirements include at least: (1) a probability of acknowledgement (ACK) to negative acknowledgement (NACK) < 1%; (2) a probability of NACK to ACK < 0.1%; and (3) a probability of ACK to discontinuous transmission (DTX) < 1%.

In addition to PUCCH, NR may utilize bandwidth parts (BPWs). A bandwidth part (BWP) is a new concept introduced in NR, which enables flexibility in how resources are assigned in a carrier. Based on 3GPP, a WD may be configured with up to 4 uplink (UL) and 4 downlink (DL) BWPs. However, only one BWP is active at a given time. BWPs can be switched, and in some implementations the BWP switch may be completed as fast as a time equal to or less than 3ms using BWP switching based on download control information (DCI), i.e., DCI-based BWP switching. A PUCCH configuration is part of an UL BWP configuration.

One of the problems with existing solutions is that PUCCH is typically configured statically based on a worst-case link budget that the network has available in order to support in a cell. This simplistic approach leads to waste of resources, thereby limiting PUCCH capacity, particularly when there are multiple WDs in the network. Compared to LTE, NR has a much more flexibility in terms of defining different kinds of PUCCH resources (in terms of number of symbols, number of PRBs, frequency-hopping versus non-frequency hopping, short PUCCH formats vs long PUCCH formats, and associated implications on time- selectivity and frequency selectivity). A typical strategy for the number and the types of PUCCH resources that the network would define in a cell is to consider a maximum number of feedback bits that the network needs to support and a worst-case link budget that the network has to support in a cell. In such a scheme, the network semi-statically configures the same set of PUCCH resources for all WDs in the cell and has the same arrangement of PUCCH resource-sets, including the min and max payload-size of each resource-set.

Moreover, there is a limit in terms of the number of resources that can be included in a resource-set (e.g., 8 for second and subsequent resource sets), which implies that if the network has more than a certain number of resources defined for a given payload size, the number of resources would have to be semi-statically partitioned across multiple users, which can also lead to resource blocking in cases with high load. Currently, PUCCH is configured via radio resource configuration (RRC) reconfiguration which makes any form of adapting PUCCH configuration costly at least in terms of time delay and reconfiguration overhead.

SUMMARY

Some embodiments advantageously provide methods and apparatuses for PUCCH link adaptation using BWP switching.

According to one aspect, a method for a network node to determine a physical uplink control channel, PUCCH, link adaptation using bandwidth-part, BWP, for communication with a wireless device, WD, is provided. The method includes determining a plurality of PUCCH resource set profiles based at least on a WD context of the WD. Each of the plurality of PUCCH resource set profiles corresponds to a BWP, and each PUCCH resource set profile defines at least one corresponding PUCCH resource. In addition, the method includes activating a target PUCCH resource set profile of the plurality of PUCCH resource set profiles and the corresponding BWP for communication with the WD and selecting a PUCCH resource of the activated target PUCCH resource set profile to be used for communication with the WD.

In some embodiments, a plurality of PUCCH resources are grouped into a plurality of PUCCH resource types, each PUCCH resource type having at least a corresponding PUCCH resource configuration. In some other embodiments, determining a plurality of PUCCH resource set profiles is further based at least on the plurality of PUCCH resource types. In some embodiments, a subset of the plurality of PUCCH resource set profiles is transmitted to the WD via an RRC message for the WD to configure at least a PUCCH transmission from the WD.

In other embodiments, determining a plurality of PUCCH resource set profiles is further based at least on a table, the table associating a set of criteria to each of the plurality of PUCCH resource set profiles. In some embodiments, activating the target PUCCH resource set profile of the plurality of PUCCH resource set profiles and the corresponding BWP for communication with the WD is based at least on a criterion of the set of criteria. In addition, activating the target PUCCH resource set profile further includes transmitting a BWP switch signal, the signal being based on downlink control information, DCI, the signal causing the WD to switch to the target PUCCH resource set profile.

In some embodiments, determining a plurality of PUCCH resource set profiles is further based at least on a PUCCH channel quality prediction using at least one of an uplink channel state information and PUCCH decoder output. In other embodiments, determining a plurality of PUCCH resource set profiles is further based at least on a PUCCH-decoder model for PUCCH link adaptation. The PUCCH- decoder model is based at least on n Y defined as a probability of an acknowledgement, ACK, being detected as a negative acknowledgment, NACK, when a total of n bits are transmitted on a PUCCH resource of resource type T when an uplink signal to noise ratio, UL SINR, of the WD, is y. P n2a (Y, T, n) is defined as a probability of NACK detected as ACK when a total of n bits are transmitted on a PUCCH resource of resource type T when an UL SINR of the WD is y. In addition, additional PUCCH quality metrics are based on UL SINR, PUCCH resource type and number of UCI payload. In other embodiments, activating the target PUCCH resource set profile of the plurality of PUCCH resource set profiles and the corresponding B WP for communication with the WD further includes selecting a PUCCH transmit power and the target PUCCH resource set profile for which P a2n i s less than a first predefined threshold, P n2a is less than a second predefined threshold, and for which an expected number of resource elements per UCI bit is minimized. In addition, activating the target PUCCH resource set profile further includes determining a maximum number, B max , of uplink control information, UCI, bits that the WD is permitted to transmit and transmitting a BWP switch signal, where the signal being is based on downlink control information, DCI, and the signal causes the WD to switch to the target PUCCH resource set profile.

In some embodiments, selecting a PUCCH resource further includes limiting a number of downlink DL transport blocks allocated per feedback slot to B max , selecting an available PUCCH resource from a resource set that corresponds to a number of feedback bits on the target PUCCH resource set profile, and selecting a transmit power control, TPC, command based at least on the selected PUCCH transmit power.

In other embodiments, the method further includes performing a PUCCH link adaptation including at least one of estimating a decoder performance and dynamically adjusting, based on a reliability metric, at least one of a decoder model and an estimate of UL SINR to match an observed decoder performance with an estimated value.

According to another aspect, method for a wireless device, WD, supporting communication with a network node, is provided. The method includes receiving a plurality of PUCCH resource set profiles based at least on a WD context of the WD. Each of the plurality of PUCCH resource set profiles corresponds to a BWP, and each PUCCH resource set profile defines at least one corresponding PUCCH resource. The method further includes activating a target PUCCH resource set profile of the plurality of PUCCH resource set profiles and the corresponding BWP for communication with the WD and selecting a PUCCH resource of the activated target PUCCH resource set profile to be used for communication with the network node. In some embodiments, receiving the plurality of PUCCH resource set profiles further includes receiving the plurality of PUCCH resource set profiles via RRC message and storing the plurality of PUCCH resource set profiles. In other embodiments, the method further includes receiving a BWP switch signal. The signal is based on downlink control information, DCI, and is transmitted to cause the WD to activate the target PUCCH resource set profile. In some embodiments, the target PUCCH resource set profile is based at least on one of a table, where the table associates a set of criteria to each of the plurality of PUCCH resource set profiles, and a PUCCH-decoder model for PUCCH link adaptation.

In other embodiments, selecting a PUCCH resource further includes receiving a limited number of downlink DL transport blocks allocated per feedback slot to a B max , receiving a selected available PUCCH resource from a resource set that corresponds to a number of feedback bits on a target PUCCH resource set profile and receiving transmit power control, TPC, command based at least on a PUCCH transmit power. In some other embodiments, a signal is transmitted based at least on the activated target PUCCH resource set profile. In other embodiments, the transmitted signal includes a PUCCH UCI in a desired format based at least on the activated target PUCCH resource set profile.

According to another aspect, a network node is configured to determine a physical uplink control channel, PUCCH, link adaptation using bandwidth-part, BWP, for communication with a wireless device, WD. The network node includes processing circuitry configured to determine a plurality of PUCCH resource set profiles based at least on a WD context of the WD. Each of the plurality of PUCCH resource set profiles corresponds to a BWP, and each PUCCH resource set profile defining at least one corresponding PUCCH resource. The processing circuitry is further configured to activate a target PUCCH resource set profile of the plurality of PUCCH resource set profiles and the corresponding BWP for communication with the WD and select a PUCCH resource of the activated target PUCCH resource set profile to be used for communication with the WD.

In some embodiments, the processing circuitry is further configured to group a plurality of PUCCH resources into a plurality of PUCCH resource types. Each PUCCH resource type has at least a corresponding PUCCH resource configuration. In other embodiments, determining a plurality of PUCCH resource set profiles is further based at least on the plurality of PUCCH resource types. In some embodiments, the processing circuitry is further configured to cause a transmission of a subset of the plurality of PUCCH resource set profiles to the WD via an RRC message for the WD to configure at least a PUCCH transmission from the WD. In another embodiment, determining a plurality of PUCCH resource set profiles is further based at least on a table. The table associates a set of criteria to each of the plurality of PUCCH resource set profiles.

In other embodiments, activating the target PUCCH resource set profile of the plurality of PUCCH resource set profiles and the corresponding B WP for communication with the WD is based at least on a criterion of the set of criteria. In addition, activating the target PUCCH resource set profile further includes transmitting a BWP switch signal. The signal is based on downlink control information, DCI, and causes the WD to switch to the target PUCCH resource set profile. In some embodiments, determining a plurality of PUCCH resource set profiles is further based at least on a PUCCH channel quality prediction using at least one of an uplink channel state information and PUCCH decoder output.

In some other embodiments, determining a plurality of PUCCH resource set profiles is further based at least on a PUCCH-decoder model for PUCCH link adaptation, and the PUCCH-decoder model is based at least on P a2n defined as a probability of an acknowledgement, ACK, being detected as a negative acknowledgment, NACK, when a total of n bits are transmitted on a PUCCH resource of resource type T when an uplink signal to noise ratio, UL SINR, of the WD, is y. P n2 a (/, T, n) is defined as a probability of NACK detected as ACK when a total of n bits are transmitted on a PUCCH resource of resource type T when an UL SINR of the WD is y. The PUCCH-decoder model is also based additional PUCCH quality metrics based on UL SINR, PUCCH resource type, and number of UCI pay load.

In some embodiments, activating the target PUCCH resource set profile of the plurality of PUCCH resource set profiles and the corresponding BWP for communication with the WD further includes selecting a PUCCH transmit power and the target PUCCH resource set profile for which P a2n i s less than a first predefined threshold, P n2a is less than a second predefined threshold, and for which an expected number of resource elements per UCI bit is minimized. In addition, activating the target PUCCH resource set profile further includes determining a maximum number, B max , of uplink control information, UCI, bits that the WD is permitted to transmit and transmitting a BWP switch signal. The signal is based on downlink control information, DCI, and causes the WD to switch to the target PUCCH resource set profile.

In other embodiments, selecting a PUCCH resource further includes limiting a number of downlink DL transport blocks allocated per feedback slot to B max , selecting an available PUCCH resource from a resource set that corresponds to a number of feedback bits on the target PUCCH resource set profile, and selecting a transmit power control, TPC, command based at least on the selected PUCCH transmit power.

In some embodiments, the processing circuitry is further configured to perform a PUCCH link adaptation including at least one of estimating a decoder performance and dynamically adjusting, based on a reliability metric, at least one of a decoder model and an estimate of UL SINR to match an observed decoder performance with an estimated value.

According to another aspect, a wireless device, WD, supporting communication with a network node, is provided. The WD includes processing circuitry configured to receive a plurality of PUCCH resource set profiles based at least on a WD context of the WD. Each of the plurality of PUCCH resource set profiles corresponds to a BWP and each PUCCH resource set profile defines at least one corresponding PUCCH resource. The processing circuitry is further configured to activate a target PUCCH resource set profile of the plurality of PUCCH resource set profiles and the corresponding BWP for communication with the WD and select a PUCCH resource of the activated target PUCCH resource set profile to be used for communication with the network node.

In some embodiments, receiving the plurality of PUCCH resource set profiles further includes receiving the plurality of PUCCH resource set profiles via RRC message and storing the plurality of PUCCH resource set profiles. In other embodiments, the processing circuitry is further configured to receive a BWP switch signal. The signal is based on downlink control information, DCI, and transmitted to cause the WD to activate the target PUCCH resource set profile. In some embodiments, the target PUCCH resource set profile is based at least on one of a table, where the table associates a set of criteria to each of the plurality of PUCCH resource set profiles, and a PUCCH-decoder model for PUCCH link adaptation.

In other embodiments, selecting a PUCCH resource further includes receiving a limited number of downlink DL transport blocks allocated per feedback slot to a B max , receiving a selected available PUCCH resource from a resource set that corresponds to a number of feedback bits on a target PUCCH resource set profile, and receiving transmit power control, TPC, command based at least on a PUCCH transmit power.

In some embodiments, the processing circuitry is further configured to cause a transmission of a signal based at least on the activated target PUCCH resource set profile. In other embodiments, the transmission of the signal includes a PUCCH UCI in a desired format based at least on the activated target PUCCH resource set profile.

BRIEF DESCRIPTION OF THE DRAWINGS

A more complete understanding of the present embodiments, and the attendant advantages and features thereof, will be more readily understood by reference to the following detailed description when considered in conjunction with the accompanying drawings wherein:

FIG. 1 is a schematic diagram of an example network architecture illustrating a communication system according to the principles in the present disclosure;

FIG. 2 is a block diagram of a network node in communication with a wireless device over an at least partially wireless connection according to some embodiments of the present disclosure;

FIG. 3 is a flowchart of an example method for determining a physical uplink control channel link adaptation using bandwidth-part for communication with a wireless device according to one embodiment of the present disclosure;

FIG. 4 is a flowchart of an example method for a wireless device supporting communication with a network node according to one embodiment of the present disclosure; FIG. 5 is a flowchart of an example method for PUCCH link adaptation using BWPs according to one embodiment of the present disclosure;

FIG. 6 illustrates an example of PUCCH link adaptation performed in a network node using BWPs according to one embodiment of the present disclosure;

FIG. 7 is a flow chart of another example method for PUCCH link adaptation performed in a network node according to one embodiment of the present disclosure; and

FIG. 8 illustrates an example of PUCCH link adaptation with dynamic adjustments according to one embodiment of the present disclosure.

DETAILED DESCRIPTION

Some embodiments of the present disclosure provide performing optimized PUCCH resource allocation decision, e.g., by a network node, whereby picking a PUCCH resource that is the most efficient PUCCH resource and at the same time satisfying reception reliability requirements. A selection of resource-set profiles is made as part of BWP configurations together with a combination of control loops that operate at different cadence, loops, e.g., slow loops, that pick appropriate profile of resource-sets and power-control targets, and a loops, e.g., fast loops, that perform resource allocation and power control decision. In some other embodiments, PUCCH link adaptation estimates, and uses, PUCCH decoding performance to drive at least a PUCCH link adaption decision.

In some embodiments, PUCCH link adaptation enables dynamic PUCCH link adaptation in NR, which improves PUCCH capacity significantly, e.g., due to efficient utilization of PUCCH resources. Improving PUCCH capacity is particularly useful for applications like carrier aggregation and Internet of Things (loT) in time division duplex (TDD) systems where PUCCH can likely be the limiting resource due to large number of users and/or HARQ ACK payload.

In some other embodiments, PUCCH link adaptation provides quality of service (QoS) aware trade-off between capacity and reliability. In particular, an PUCCH link adaptor takes into consideration reliability requirements of ultra-reliable low-latency communication (URLLC). In some embodiments, PUCCH link adaptation provides a mechanism to quickly adapt a PUCCH user configuration using BWPs without significant overhead.

In other embodiments, using BWP re-configurations and DCI-based BWP switch mechanisms to modify PUCCH configuration based on QoS-aware, application-aware, and network-performance-aware link adaptation provide benefits over conventional methods of PUCCH resource planning and allocations. The network node may utilize control loop for corrections and/or adjustments of PUCCH decoder performance model as part of PUCCH link adaptation (LA) decisions.

Before describing in detail example embodiments, it is noted that the embodiments reside primarily in combinations of apparatus components and processing steps related to physical uplink control channel adaptation using bandwidth-part switching. Accordingly, components have been represented where appropriate by conventional symbols in the drawings, showing only those specific details that are pertinent to understanding the embodiments so as not to obscure the disclosure with details that will be readily apparent to those of ordinary skill in the art having the benefit of the description herein.

As used herein, relational terms, such as “first” and “second,” “top” and “bottom,” and the like, may be used solely to distinguish one entity or element from another entity or element without necessarily requiring or implying any physical or logical relationship or order between such entities or elements. The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the concepts described herein. As used herein, the singular forms “a”, “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises,” “comprising,” “includes” and/or “including” when used herein, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.

In embodiments described herein, the joining term, “in communication with” and the like, may be used to indicate electrical or data communication, which may be accomplished by physical contact, induction, electromagnetic radiation, radio signaling, infrared signaling or optical signaling, for example. One having ordinary skill in the art will appreciate that multiple components may interoperate and modifications and variations are possible of achieving the electrical and data communication.

In some embodiments described herein, the term “coupled,” “connected,” and the like, may be used herein to indicate a connection, although not necessarily directly, and may include wired and/or wireless connections.

The term “network node” used herein can be any kind of network node comprised in a radio network which may further comprise any of base station (BS), radio base station, base transceiver station (BTS), base station controller (BSC), radio network controller (RNC), g Node B (gNB), evolved Node B (eNB or eNodeB), Node B, multi- standard radio (MSR) radio node such as MSR BS, multi-cell/multicast coordination entity (MCE), integrated access and backhaul (IAB) node, relay node, donor node controlling relay, radio access point (AP), transmission points, transmission nodes, Remote Radio Unit (RRU), Remote Radio Head (RRH), baseband unit (BBU), a core network node (e.g., mobile management entity (MME), self-organizing network (SON) node, a coordinating node, positioning node, MDT node, etc.), an external node (e.g., 3rd party node, a node external to the current network), nodes in distributed antenna system (DAS), a spectrum access system (SAS) node, an element management system (EMS), etc. The network node may also comprise test equipment. The term “radio node” used herein may be used to also denote a wireless device (WD) such as a wireless device (WD) or a radio network node.

In some embodiments, the non-limiting terms wireless device (WD) or a user equipment (UE) are used interchangeably. The WD herein can be any type of wireless device capable of communicating with a network node or another WD over radio signals, such as wireless device (WD). The WD may also be a radio communication device, target device, device to device (D2D) WD, machine type WD or WD capable of machine to machine communication (M2M), low-cost and/or low-complexity WD, a sensor equipped with WD, Tablet, mobile terminals, smart phone, laptop embedded equipped (LEE), laptop mounted equipment (LME), USB dongles, Customer Premises Equipment (CPE), an Internet of Things (loT) device, or a Narrowband loT (NB-IOT) device, etc. Also, in some embodiments the generic term “radio network node” is used. It can be any kind of a radio network node which may comprise any of base station, radio base station, base transceiver station, base station controller, network controller, RNC, evolved Node B (eNB), Node B, gNB, Multi-cell/multicast Coordination Entity (MCE), IAB node, relay node, access point, radio access point, Remote Radio Unit (RRU) Remote Radio Head (RRH).

In some embodiments, the term “radio resource” is intended to indicate a frequency resource and/or a time resource. The time resource may correspond to any type of physical resource or radio resource expressed in terms of length of time. Examples of time resources are: symbol, time slot, subframe, radio frame, transmission time interval (TTI), interleaving time, etc. The frequency resource may correspond to one or more resource elements, subcarriers, resource blocks, bandwidth part and/or any other resources in the frequency domain. The radio resource may also indicate a combination of subcarriers, time slots, codes and/or spatial dimensions.

Even though the descriptions herein may be explained in the context of one of a Downlink (DL) and an Uplink (UL) communication, it should be understood that the basic principles disclosed may also be applicable to the other of the one of the DL and the UL communication. For DL communication, the network node is the transmitter and the receiver is the WD. For the UL communication, the transmitter is the WD and the receiver is the network node.

Although some the examples herein may be explained in the context of a WD being allocated radio resources on a physical channel for a periodic reference signal (e.g., SRS), it should be understood that the principles may also be applicable to other signals and other types of resources or other channels.

In some embodiments, the allocated radio resource may be allocated for a particular signal and on a particular channel. Signaling may generally comprise one or more symbols and/or signals and/or messages. A signal may comprise or represent one or more bits. An indication may represent signaling, and/or be implemented as a signal, or as a plurality of signals. One or more signals may be included in and/or represented by a message. Signaling, in particular control signaling, may comprise a plurality of signals and/or messages, which may be transmitted on different carriers and/or be associated to different signaling processes, e.g. representing and/or pertaining to one or more such processes and/or corresponding information. An indication may comprise signaling, and/or a plurality of signals and/or messages and/or may be comprised therein, which may be transmitted on different carriers and/or be associated to different acknowledgement signaling processes, e.g. representing and/or pertaining to one or more such processes. Signaling associated to a channel may be transmitted such that represents signaling and/or information for that channel, and/or that the signaling is interpreted by the transmitter and/or receiver to belong to that channel. Such signaling may generally comply with transmission parameters and/or format/s for the channel.

A channel may generally be a logical, transport or physical channel. A channel may comprise and/or be arranged on one or more carriers, in particular a plurality of subcarriers. A channel carrying and/or for carrying control signaling/control information may be considered a control channel, in particular if it is a physical layer channel and/or if it carries control plane information. Analogously, a channel carrying and/or for carrying data signaling/user information may be considered a data channel, in particular if it is a physical layer channel and/or if it carries user plane information. A channel may be defined for a specific communication direction, or for two complementary communication directions (e.g., UL and DL, or sidelink in two directions), in which case it may be considered to have at least two component channels, one for each direction. Examples of channels comprise a channel for low latency and/or high reliability transmission, in particular a channel for Ultra-Reliable Low Latency Communication (URLLC), which may be for control and/or data. In some embodiments, the channel described herein may be an uplink channel and in further embodiments may be a physical uplink shared channel (PUSCH) or a physical uplink control channel (PUCCH). In some embodiments, the channel may be a downlink channel, such as, a physical downlink control channel (PDCCH) or a physical downlink shared channel (PDSCH).

Transmitting in downlink may pertain to transmission from the network or network node to the terminal. The terminal may be considered the WD or UE. Transmitting in uplink may pertain to transmission from the terminal to the network or network node. Transmitting in sidelink may pertain to (direct) transmission from one terminal to another. Uplink, downlink and sidelink (e.g., sidelink transmission and reception) may be considered communication directions. In some variants, uplink and downlink may also be used to described wireless communication between network nodes, e.g. for wireless backhaul and/or relay communication and/or (wireless) network communication for example between base stations or similar network nodes, in particular communication terminating at such. It may be considered that backhaul and/or relay communication and/or network communication is implemented as a form of sidelink or uplink communication or similar thereto.

Note that although terminology from one particular wireless system, such as, for example, 3GPP LTE and/or New Radio (NR), may be used in this disclosure, this should not be seen as limiting the scope of the disclosure to only the aforementioned system. Other wireless systems, including without limitation Wide Band Code Division Multiple Access (WCDMA), Worldwide Interoperability for Microwave Access (WiMax), Ultra Mobile Broadband (UMB) and Global System for Mobile Communications (GSM), may also benefit from exploiting the ideas covered within this disclosure.

Note further, that functions described herein as being performed by a wireless device or a network node may be distributed over a plurality of wireless devices and/or network nodes. In other words, it is contemplated that the functions of the network node and wireless device described herein are not limited to performance by a single physical device and, in fact, can be distributed among several physical devices.

Unless otherwise defined, all terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this disclosure belongs. It will be further understood that terms used herein should be interpreted as having a meaning that is consistent with their meaning in the context of this specification and the relevant art and will not be interpreted in an idealized or overly formal sense unless expressly so defined herein.

Some embodiments provide arrangements for physical uplink control channel adaptation using bandwidth-part switching.

Referring now to the drawing figures, in which like elements are referred to by like reference numerals, there is shown in FIG. 1 a schematic diagram of a communication system 10, according to an embodiment, such as a 3GPP-type cellular network that may support standards such as LTE and/or NR (5G), which comprises an access network 12, such as a radio access network, and a core network 14. The access network 12 comprises a plurality of network nodes 16a, 16b, 16c (referred to collectively as network nodes 16), such as NBs, eNBs, gNBs or other types of wireless access points, each defining a corresponding coverage area 18a, 18b, 18c (referred to collectively as coverage areas 18). Each network node 16a, 16b, 16c is connectable to the core network 14 over a wired or wireless connection 20. A first wireless device (WD) 22a located in coverage area 18a is configured to wirelessly connect to, or be paged by, the corresponding network node 16a. A second WD 22b in coverage area 18b is wirelessly connectable to the corresponding network node 16b. While a plurality of WDs 22a, 22b (collectively referred to as wireless devices 22) are illustrated in this example, the disclosed embodiments are equally applicable to a situation where a sole WD is in the coverage area or where a sole WD is connecting to the corresponding network node 16. Note that although only two WDs 22 and three network nodes 16 are shown for convenience, the communication system may include many more WDs 22 and network nodes 16.

Also, it is contemplated that a WD 22 can be in simultaneous communication and/or configured to separately communicate with more than one network node 16 and more than one type of network node 16. For example, a WD 22 can have dual connectivity with a network node 16 that supports LTE and the same or a different network node 16 that supports NR. As an example, WD 22 can be in communication with an eNB for LTE/E-UTRAN and a gNB for NR/NG-RAN.

A network node 16 is configured to include a link resource unit 28 which is configured at least to cause the network node 16 to perform physical uplink control channel adaptation using bandwidth-part switching. A WD 22 is configured to include a remote link resource unit 30 which is configured at least to select a PUCCH resource of an activated target PUCCH resource set profile to be used for communication with the network node 16.

Example implementations, in accordance with an embodiment, of the WD 22 and network node 16 discussed in the preceding paragraphs will now be described with reference to FIG. 2. The communication system 10 further includes a network node 16 provided in a communication system 10 and including hardware 32 enabling it to communicate with the WD 22. The hardware 32 may include a communication interface 34 for setting up and maintaining a wired or wireless connection with an interface of a different communication device of the communication system 10, as well as a radio interface 36 for setting up and maintaining at least a wireless connection 38 with a WD 22 located in a coverage area 18 served by the network node 16. The radio interface 36 may be formed as or may include, for example, one or more RF transmitters, one or more RF receivers, and/or one or more RF transceivers.

In the embodiment shown, the hardware 32 of the network node 16 further includes processing circuitry 42. The processing circuitry 42 may include a processor 44 and a memory 46. In particular, in addition to or instead of a processor, such as a central processing unit, and memory, the processing circuitry 42 may comprise integrated circuitry for processing and/or control, e.g., one or more processors and/or processor cores and/or FPGAs (Field Programmable Gate Array) and/or ASICs (Application Specific Integrated Circuitry) adapted to execute instructions. The processor 44 may be configured to access (e.g., write to and/or read from) the memory 46, which may comprise any kind of volatile and/or nonvolatile memory, e.g., cache and/or buffer memory and/or RAM (Random Access Memory) and/or ROM (Read-Only Memory) and/or optical memory and/or EPROM (Erasable Programmable Read-Only Memory).

Thus, the network node 16 further has software 48 stored internally in, for example, memory 46, or stored in external memory (e.g., database, storage array, network storage device, etc.) accessible by the network node 16 via an external connection. The software 48 may be executable by the processing circuitry 42. The processing circuitry 42 may be configured to control any of the methods and/or processes described herein and/or to cause such methods, and/or processes to be performed, e.g., by network node 16. Processor 44 corresponds to one or more processors 44 for performing network node 16 functions described herein. The memory 46 is configured to store data, programmatic software code and/or other information described herein. In some embodiments, the software 48 may include instructions that, when executed by the processor 44 and/or processing circuitry 42, causes the processor 44 and/or processing circuitry 42 to perform the processes described herein with respect to network node 16. For example, processing circuitry 42 of the network node 16 may include link resource unit 28 configured to perform network node methods discussed herein, such as the methods discussed with reference to FIG. 3 as well as other figures.

The communication system 10 further includes the WD 22 already referred to. The WD 22 may have hardware 50 that may include a radio interface 52 configured to set up and maintain a wireless connection 38 with a network node 16 serving a coverage area 18 in which the WD 22 is currently located. The radio interface 52 may be formed as or may include, for example, one or more RF transmitters, one or more RF receivers, and/or one or more RF transceivers.

The hardware 50 of the WD 22 further includes processing circuitry 58. The processing circuitry 58 may include a processor 60 and memory 62. In particular, in addition to or instead of a processor, such as a central processing unit, and memory, the processing circuitry 58 may comprise integrated circuitry for processing and/or control, e.g., one or more processors and/or processor cores and/or FPGAs (Field Programmable Gate Array) and/or ASICs (Application Specific Integrated Circuitry) adapted to execute instructions. The processor 60 may be configured to access (e.g., write to and/or read from) memory 62, which may comprise any kind of volatile and/or nonvolatile memory, e.g., cache and/or buffer memory and/or RAM (Random Access Memory) and/or ROM (Read-Only Memory) and/or optical memory and/or EPROM (Erasable Programmable Read-Only Memory).

Thus, the WD 22 may further comprise software 64, which is stored in, for example, memory 62 at the WD 22, or stored in external memory (e.g., database, storage array, network storage device, etc.) accessible by the WD 22. The software 64 may be executable by the processing circuitry 58. The software 64 may include a client application 66. The client application 66 may be operable to provide a service to a human or non-human user via the WD 22. The client application 66 may interact with the user to generate the user data that it provides.

The processing circuitry 58 may be configured to control any of the methods and/or processes described herein and/or to cause such methods, and/or processes to be performed, e.g., by WD 22. The processor 60 corresponds to one or more processors 60 for performing WD 22 functions described herein. The WD 22 includes memory 62 that is configured to store data, programmatic software code and/or other information described herein. In some embodiments, the software 64 and/or the client application 66 may include instructions that, when executed by the processor 60 and/or processing circuitry 58, causes the processor 60 and/or processing circuitry 58 to perform the processes described herein with respect to WD 22. For example, processing circuitry 58 of the WD 22 may include remote link resource unit 30 configured to perform wireless device methods discussed herein, such as the methods discussed with reference to FIG. 4 as well as other figures.

In some embodiments, the processing circuitry 58 of the wireless device 22 may be configured to use resources and/or receive and/or transmit on radio resources (e.g., physical layer resources, such as, physical downlink control channel, physical downlink shared channel, physical uplink control channel and/or physical uplink shared channel, etc.) that are allocated to the WD 22.

In some embodiments, the inner workings of the network node 16 and WD 22, may be as shown in FIG. 2 and independently, the surrounding network topology may be that of FIG. 1.

Although FIGS. 1 and 2 show various “units” such as each of link resource unit 28 and remote link resource unit 30a as being within a processor, it is contemplated that these units may be implemented such that a portion of the unit is stored in a corresponding memory within the processing circuitry. In other words, the units may be implemented in hardware or in a combination of hardware and software within the processing circuitry.

FIG. 3 is a flowchart of an example method for a network node 16 to determine a physical uplink control channel, PUCCH, link adaptation using bandwidth-part, BWP, for communication with a WD 22 according to some embodiments of the present disclosure. One or more Blocks and/or functions and/or methods performed by the network node 16 may be performed by one or more elements of network node 16, such as by link resource unit 28 in processing circuitry 42, processor 44, communication interface 34 and/or radio interface 36, according to the example method. The example method includes determining (Block S100) at least one use case to be assigned to at least one BWP, a plurality of PUCCH resource set profiles based at least on a WD context of the WD 22, each of the plurality of PUCCH resource set profiles corresponding to a BWP and each PUCCH resource set profile defining at least one corresponding PUCCH resource. The method also includes activating (Block S102) a target PUCCH resource set profile of the plurality of PUCCH resource set profiles and the corresponding BWP for communication with the WD 22. The method further includes selecting (Block S104) a PUCCH resource of the activated target PUCCH resource set profile to be used for communication with the WD 22.

In some embodiments, a plurality of PUCCH resources are grouped into a plurality of PUCCH resource types, each PUCCH resource type having at least a corresponding PUCCH resource configuration. In some other embodiments, determining a plurality of PUCCH resource set profiles is further based at least on the plurality of PUCCH resource types. In some embodiments, a subset of the plurality of PUCCH resource set profiles is transmitted to the WD 22 via an RRC message for the WD 22 to configure at least a PUCCH transmission from the WD 22.

In other embodiments, determining a plurality of PUCCH resource set profiles is further based at least on a table, the table associating a set of criteria to each of the plurality of PUCCH resource set profiles. In some embodiments, activating the target PUCCH resource set profile of the plurality of PUCCH resource set profiles and the corresponding BWP for communication with the WD 22 is based at least on a criterion of the set of criteria. In addition, activating the target PUCCH resource set profile further includes transmitting a BWP switch signal, the signal being based on downlink control information, DCI, the signal causing the WD 22 to switch to the target PUCCH resource set profile.

In some embodiments, determining a plurality of PUCCH resource set profiles is further based at least on a PUCCH channel quality prediction using at least one of an uplink channel state information and PUCCH decoder output. In other embodiments, determining a plurality of PUCCH resource set profiles is further based at least on a PUCCH-decoder model for PUCCH link adaptation. The PUCCH- decoder model is based at least on defined as a probability of an acknowledgement, ACK, being detected as a negative acknowledgment, NACK, when a total of n bits are transmitted on a PUCCH resource of resource type T when an uplink signal to noise ratio, UL SINR, of the WD 22, is y. P n2a (Y, T, n) is defined as a probability of NACK detected as ACK when a total of n bits are transmitted on a PUCCH resource of resource type T when an UL SINR of the WD 22 is y. In addition, additional PUCCH quality metrics are based on UL SINR, PUCCH resource type and number of UCI payload.

In other embodiments, activating the target PUCCH resource set profile of the plurality of PUCCH resource set profiles and the corresponding B WP for communication with the WD 22 further includes selecting a PUCCH transmit power and the target PUCCH resource set profile for which P a2n is less than a first predefined threshold, P n2a is less than a second predefined threshold, and for which an expected number of resource elements per UCI bit is minimized. In addition, activating the target PUCCH resource set profile further includes determining a maximum number, B max , of uplink control information, UCI, bits that the WD 22 is permitted to transmit and transmitting a BWP switch signal, where the signal being is based on downlink control information, DCI, and the signal causes the WD 22 to switch to the target PUCCH resource set profile.

In some embodiments, selecting a PUCCH resource further includes limiting a number of downlink DL transport blocks allocated per feedback slot to B max , selecting an available PUCCH resource from a resource set that corresponds to a number of feedback bits on the target PUCCH resource set profile, and selecting a transmit power control, TPC, command based at least on the selected PUCCH transmit power.

In other embodiments, the method further includes performing a PUCCH link adaptation including at least one of estimating a decoder performance and dynamically adjusting, based on a reliability metric, at least one of a decoder model and an estimate of UL SINR to match an observed decoder performance with an estimated value.

FIG. 4 is a flowchart of an example method for a WD 22 supporting communication with a network node 16 according to some embodiments of the present disclosure. One or more Blocks and/or functions and/or methods performed by WD 22 may be performed by one or more elements of WD 22, such as by remote link resource unit 30 in processing circuitry 58, processor 60, communication interface 54, radio interface 52, etc. The example method includes receiving (Block S 106) a plurality of PUCCH resource set profiles based at least on a WD context of the WD 22. Each of the plurality of PUCCH resource set profiles corresponds to a BWP, and each PUCCH resource set profile defines at least one corresponding PUCCH resource. The method further includes activating (Block S108) a target PUCCH resource set profile of the plurality of PUCCH resource set profiles and the corresponding BWP for communication with the WD 22 and selecting (Block SI 10) a PUCCH resource of the activated target PUCCH resource set profile to be used for communication with the network node 16.

In some embodiments, receiving the plurality of PUCCH resource set profiles further includes receiving the plurality of PUCCH resource set profiles via RRC message and storing the plurality of PUCCH resource set profiles. In other embodiments, the method further includes receiving a BWP switch signal. The signal is based on downlink control information, DCI, and is transmitted to cause the WD 22 to activate the target PUCCH resource set profile. In some embodiments, the target PUCCH resource set profile is based at least on one of a table, where the table associates a set of criteria to each of the plurality of PUCCH resource set profiles, and a PUCCH-decoder model for PUCCH link adaptation.

In other embodiments, selecting a PUCCH resource further includes receiving a limited number of downlink DL transport blocks allocated per feedback slot to a B max , receiving a selected available PUCCH resource from a resource set that corresponds to a number of feedback bits on a target PUCCH resource set profile and receiving transmit power control, TPC, command based at least on a PUCCH transmit power. In some other embodiments, a signal is transmitted based at least on the activated target PUCCH resource set profile. In other embodiments, the transmitted signal includes a PUCCH UCI in a desired format based at least on the activated target PUCCH resource set profile.

Having described the general process flow of arrangements of the disclosure and having provided examples of hardware and software arrangements for implementing the processes and functions of the disclosure, the sections below provide details and examples of arrangements for physical uplink control channel adaptation using bandwidth-part switching, which may be implemented by the network node 16 and/or wireless device 22.

Some embodiments provide one or more techniques for physical uplink control channel adaptation using BWP switching for communication with one or more WDs 22. In particular, some embodiments may define PUCCH configuration profiles beforehand. FIG. 5 is a flowchart of an example method for PUCCH link adaptation using BWPs according to one embodiment of the present disclosure. For each WD 22, a PUCCH resource profile is selected by a network node 16, such as by link resource unit 28 in processing circuitry 42, processor 44, communication interface 34, radio interface 36, based on PUCCH link adaptation, where the selected PUCCH resource profile is the most efficient resource profile and can satisfy PUCCH channel reception quality requirements. The PUCCH configuration profile selection is realized, such as by link resource unit 28 in processing circuitry 42, processor 44, communication interface 34, radio interface 36, by a proper configuration of resource-set profiles together with a combination of control loops that may operate at a different cadence each.

RRC Reconfiguration (Very slow loop)

The network node 16 monitors, such as by link resource unit 28 in processing circuitry 42, processor 44, communication interface 34 and/or radio interface 36, the WD channel-conditions, QoS requirements, network state, etc., and performs, such as by link resource unit 28 in processing circuitry 42, processor 44, communication interface 34 and/or radio interface 36, an RRC reconfiguration of the WD, e.g., if applicable by changing the configuration of PUCCH resource-sets on different BWPs, including a possibility of adding or removing new BWPs.

Link Adaptation (Slow loop)

At certain intervals or based on predefined criteria, the network node 16 selects, such as by link resource unit 28 in processing circuitry 42, processor 44, communication interface 34 and/or radio interface 36, a new resource-set profile and PUCCH power-control target from one of the configured BWPs. This selection implies a change in mapping of PUCCH resources to a UCI payload interval. The network node 16 may take into consideration multiple aspects of the WD to make the selection, including uplink channel state information, application’s QoS requirements (including URLLC), etc.

Updating to another PUCCH configuration may be performed via BWP- switching mechanism to switch, such as by link resource unit 28 in processing circuitry 42, processor 44, communication interface 34 and/or radio interface 36, across profiles of PUCCH resource-set arrangements. As a non-limiting example, a BWP based DCI switch may take less than 3 ms to complete.

Resource allocation loop (Fast loop)

The network node 16 selects, such as by link resource unit 28 in processing circuitry 42, processor 44, communication interface 34, radio interface 36, an available resource based on current PUCCH resource-sets of a currently active BWP. In addition, the network node may select, such as by link resource unit 28 in processing circuitry 42, processor 44, communication interface 34 and/or radio interface 36, power-control corrections (PUCCH TPC) based on at least on a powercontrol target set in the slow loop.

In Block S 112, the network node 16 performs, such as by link resource unit 28 in processing circuitry 42, processor 44, communication interface 34 and/or radio interface 36, RRC reconfiguration of BWPs, which may be based at least on a specified set of per BWP PUCCH configuration profiles (Block S 118). The RRC reconfiguration of BWPs may include data, e.g., PUCCH-resource set profile as multiple configured BWPs. See Table 1 and Table 2 below. Further, in Block SI 12, the network node 16 transmits, such as by link resource unit 28 in processing circuitry 42, processor 44, communication interface 34 and/or radio interface 36, the RRC reconfiguration of BWPs to the WD 22. The WD 22 receives (Block SI 14), such as by remote link resource unit 30 in processing circuitry 58, processor 60, communication interface 54, radio interface 52, BWP configurations with PUCCH format configurations, e.g., specific to the WD current context and application requirements vis RRC. The network node 16 determines (Block SI 16), such as by link resource unit 28 in processing circuitry 42, processor 44, communication interface 34 and/or radio interface 36, WD context. For example, the network node determines target PUCCH reliability. During PUCCH link adaptation (LA), the network node 16 specifies (Block S 118), such as by link resource unit 28 in processing circuitry 42, processor 44, communication interface 34 and/or radio interface 36, a set of per BWP PUCCH configuration profiles based at least on the determined WD context of Block S 116.

In Block S120, the network node 16 predicts, such as by link resource unit 28 in processing circuitry 42, processor 44, communication interface 34 and/or radio interface 36, PUCCH Channel Quality, e.g., by predicting WD PUCCH channel quality using UL CSI and PUCCH decoder output, based at least on temporal statistics on UL Channel State Information (CSI) and/or output from PUCCH Decoder (Block S136). In addition, the network node 16 determines (Block S122), such as by link resource unit 28 in processing circuitry 42, processor 44, communication interface 34 and/or radio interface 36, target PUCCH configuration/resource set profiles to activate and determines, such as by link resource unit 28 in processing circuitry 42, processor 44, communication interface 34 and/or radio interface 36, corresponding BWPs. The determinations of S122 may be based on WD context (Block SI 16) and PUCCH Channel Quality Prediction (Block S120). Further, the network node 16 performs a DCI BWP switch (Block S124), such as by link resource unit 28 in processing circuitry 42, processor 44, communication interface 34 and/or radio interface 36, which transmits a new active BWP, which is received, such as by remote link resource unit 30 in processing circuitry 58, processor 60, communication interface 54, radio interface 52, by the WD22 (Block S126) via DCI/RRC.

In Block 128, the network node 16 specifies PUCCH resource scheduling (Block S128), such as by link resource unit 28 in processing circuitry 42, processor 44, communication interface 34 and/or radio interface 36, and performs the scheduling (Block S130), such as by link resource unit 28 in processing circuitry 42, processor 44, communication interface 34 and/or radio interface 36, to transmit at least PUCCH resource and/or transmit at least a power control, TPC, command. The WD 22 receives, such as by remote link resource unit 30 in processing circuitry 58, processor 60, communication interface 54, radio interface 52, PUCCH resources and TPC command (Block S132) and transmits PUCCCH UCI in a desired PUCCH format according to the currently active BWP (Block S134), such as by remote link resource unit 30 in processing circuitry 58, processor 60, communication interface 54, radio interface 52. Based at least on the transmission of PUCCH UCI in the desired PUCCH format, PUCCH decoding is performed (Block S136), such as by link resource unit 28 in processing circuitry 42, processor 44, communication interface 34 and/or radio interface 36, and output, such as by link resource unit 28 in processing circuitry 42, processor 44, communication interface 34 and/or radio interface 36, at least for PUCCH Channel Quality Prediction (Block S120).

FIG. 6 illustrates an example of PUCCH link adaptation performed in a network node 16 using BWPs according to one embodiment of the present disclosure. In Block S138, upon initial access, the network node 16 configures, such as by link resource unit 28 in processing circuitry 42, processor 44, communication interface 34 and/or radio interface 36, a WD 22 with multiple BWPs with different PUCCH configurations. For example, RRC configuration 1 may correspond to BWP-1, RRC configuration 2 may correspond to BWP-2, and RRC configuration 3 may correspond to BWP-3. For the purpose of this example, BWP-1 is activated, such as by link resource unit 28 in processing circuitry 42, processor 44, communication interface 34 and/or radio interface 36, and contains the most robust PUCCH configuration for good cell edge performance and ultra-reliable low latency transmissions requested by the WD. In Block S140, at tl TTI, a PUCCH link adaptation process running on the network node 16 determines, such as by link resource unit 28 in processing circuitry 42, processor 44, communication interface 34 and/or radio interface 36, the WD 22 requires a less robust PUCCH configuration (corresponding to BWP-2), e.g., due to WD mobility. In Block S142, at t2 TTI, the network node 16 transmits, such as by link resource unit 28 in processing circuitry 42, processor 44, communication interface 34 and/or radio interface 36, a DCI BWP-switch message to WD 22 including BWP-2 as the desired BWP.

In Block S144, at t3 TTI, a PUCCH link adaptation process running on the network node 16 determines, such as by link resource unit 28 in processing circuitry 42, processor 44, communication interface 34 and/or radio interface 36, that WD 22 requires an even less robust PUCCH configuration (corresponding to BWP-3), e.g., due to a WD application being a best effort with low reliability. In Block S146, at t4 TTI, a DCI BWP-switch message is transmitted by the network node 16, such as by link resource unit 28 in processing circuitry 42, processor 44, communication interface 34 and/or radio interface 36, to WD 22 with BWP-3 as the desired BWP.

FIG. 7 illustrates an example of PUCCH link adaptation performed in a network node 16 using BWPs according to one embodiment of the present disclosure. In Block S148, upon initial access a process in network node 16 configures WD 22, such as by link resource unit 28 in processing circuitry 42, processor 44, communication interface 34 and/or radio interface 36, with multiple PUCCH format configurations associated with different BWPs. The process may use location/mobility of WD 22 and application requirements to configure WD 22.

In Block S150, the network node 16 periodically monitors, such as by link resource unit 28 in processing circuitry 42, processor 44, communication interface 34 and/or radio interface 36, PUCCH reliability for WD 22 and overall network PUCCH resource usage. In Block S152, at tl TTI, a PUCCH LA process in network node 16 determines, such as by link resource unit 28 in processing circuitry 42, processor 44, communication interface 34 and/or radio interface 36, that WD 22 should transition to a another PUCCH format, e.g., a more efficient format. In Block S154, at t2 TTI, the network node 16 transmits, such as by link resource unit 28 in processing circuitry 42, processor 44, communication interface 34 and/or radio interface 36, a DCI BWP- switch message to WD 22 with BWP-2 as the desired BWP.

A PUCCH physical channel in NR may carry L1/L2 uplink control information, referred to as UCI, which includes HARQ feedback bits, periodic channel status information (CSI), and scheduling request (SR). The network node 16 configures, such as by link resource unit 28 in processing circuitry 42, processor 44, communication interface 34 and/or radio interface 36, the WD 22 with a number of PUCCH resources as part of the RRC configuration, and every time a PUCCH channel is to be transmitted by the WD 22, the network node 16 provides, such as by link resource unit 28 in processing circuitry 42, processor 44, communication interface 34 and/or radio interface 36, information on what PUCCH resource to use, e.g., either as part of the semi-static configuration or dynamically via an indication on PDCCH. The information being provided dynamically applies to transmission of HARQ ACK UCI. NR defines different formats of PUCCH resources including short formats (FormatO, Format2) and long formats (Format 1, Format3, Format4), depending on whether a resource is to be mapped along a frequency-domain with a small number of OFDM symbols or the converse. Short formats may help reduce HARQ round-trip times (RTTs)(i.e., reduce data transmission latency) but may result in potential coverage loss when used for WDs in power limited region. Long PUCCH resources may overcome the coverage loss but may result in longer RTTs and potentially some resource waste.

FormatO and Format 1 are designed to carry only up to 2 bits but may be codemultiplexed into the same physical resource, thereby resulting in a relatively large WD multiplexing gain. Thus, FormatO and Formatl may be the most resourceefficient of the formats. Format 2 and Format 3 can support one WD per resource and thus do not offer multiplexing gains. However, Format 2 and Format 3 can be defined with a flexible number of PRBs and OFDM symbols. Therefore, Format 2 and Format 3 can be used to dedicate a varying number of resource elements per PUCCH- resource. Format 2 and Format 3 also can carry a large number of UCI bits. In other words, a large set of options are provided to define the number of physical resource elements that one can use per UCI bit.

Turning again to FIG. 5, additional details of the example method for PUCCH link adaptation using BWPs according to one embodiment of the present disclosure are provided as follows. More specifically, FIG. 5 shows various steps/blocks of PUCCH configuration, PUCCH channel estimation, and PUCCH link adaption, e.g., to optimize PUCCH resource utilization.

Block SI 12: PUCCH resource enumerations and PUCCH resource-sets profiles

Network node 16 enumerates, such as by link resource unit 28 in processing circuitry 42, processor 44, communication interface 34 and/or radio interface 36, a variety of PUCCH resources, grouped into “resource types”. These PUCCH resources are enumerated at cell-level, but the enumerated PUCCH resources are used in conjunction with WDs 22 in an efficient way. An example is shown in Table 1.

Table 1: Example of PUCCH-resource types and cell-level resources.

Further, the network node 16 may organize resources into a number of resource-sets profiles, such as by link resource unit 28 in processing circuitry 42, processor 44, communication interface 34 and/or radio interface 36. As an example, each column in Table 2 describes one resource-sets profile. The network node 16 may define a number of resource-sets profiles and down-select, such as by link resource unit 28 in processing circuitry 42, processor 44, communication interface 34 and/or radio interface 36, a subset of these resource-sets profile for a particular WD. Such a down- selection may be based at least on a predefined network need or an evaluation metric to maximize resource efficiency and decoder performance tradeoff.

Table 2: Resource-sets profiles, which may be communicated to WDs semi-statically via RRC Reconfiguration

Block SI 14: WD 22 is configured with resource-sets options using the resource-sets profiles defined in Block SI 12.

RRC configuration for the WDs 22 may include N different BWP configurations, each BWP configuration corresponding to one of the resource-sets profiles. Each profile may correspond to one PUCCH-ResourceSet-list configuration indicated to the WD. An example selection is given below:

• BWP#0 ->{ Resource-sets pro file[0] }

• BWP#1 ->{ Resource-sets option[l]}

• BWP#2 ->{ Resource-sets option[2]}

• BWP#3 ->{ Resource-sets option[3]}

Blocks S122 and S124: PUCCH Resource-sets profile selection (PUCCH Link adaptation)

Realization example 1 : In the simplest realization of PUCCH link-adaptation, e.g., based on a table lookup, the network node 16 may maintain a table, an example of which is shown in Table 3, where the network node 16 can associate, such as by link resource unit 28 in processing circuitry 42, processor 44, communication interface 34 and/or radio interface 36, a set of criteria that are used to decide which of the resource-sets profiles are to be used for a particular WD 22. As an example, the network node 16, e.g., gNB, selects profile[3] for a WD 22 with fair UL quality and with URLLC traffic, whereas, the network node 16 selects profile[0] for a powerlimited WD 22 with best-effort traffic. The network node 16 may also put an upperbound limit, such as by link resource unit 28 in processing circuitry 42, processor 44, communication interface 34 and/or radio interface 36, on a maximum number of UCI bits that a WD 22 is required to transmit, which is guaranteed by enforcing a maximum number of downlink shared channel (DL-SCH) transport blocks that the network node 16 transmits towards a given feedback slot. The network node 16 can either maintain such the table via offline analysis of performance of a PUCCH resource type against a predefined criteria. Alternatively, or in addition, the network node 16 may keep, such as by link resource unit 28 in processing circuitry 42, processor 44, communication interface 34 and/or radio interface 36, detailed information of a PUCCH decoder performance model and adapt dynamically based at least on actual performance, e.g., observed performance.

Table 3: Table-based resource-sets profile selection example.

Realization example#2: In another variant based on a PUCCH-decoder performance model, the network node 16, e.g., gNB, maintains, such as by link resource unit 28 in processing circuitry 42, processor 44, communication interface 34 and/or radio interface 36, a PUCCH decoder model which includes the following information:

• Pa2n (y, T, n): Probability of ACK detected as NACK when a total of n bits are transmitted on a PUCCH resource of resourceType T when the WD UL SINR is y;

• Pn2a (y, T, n): Probability of NACK detected as ACK when a total of n bits are transmitted on a PUCCH resource of resourceType T when the WD UL SINR is y; and

• Similarly, other metric of PUCCH detection quality as a function of UL SINR, PUCCH resourceType and number of UCI payload.

The network node 16 determines, such as by link resource unit 28 in processing circuitry 42, processor 44, communication interface 34 and/or radio interface 36, a PUCCH LA decision by performing the following: for each WD, select PUCCH transmit power and resource-sets profile from Table 1 that satisfy at least P a2n < le-10, P n2a < le-10 and that results in a smallest expected number of resource elements per UCI bit. The network node 16 may also deduce, such as by link resource unit 28 in processing circuitry 42, processor 44, communication interface 34 and/or radio interface 36, a value of B max (as indicated in Table 2) that limits a maximum number of UCI bits that a WD 22 will transmit.

The network node may send, such as by link resource unit 28 in processing circuitry 42, processor 44, communication interface 34 and/or radio interface 36, a DCI-based BWP-switch command to a WD 22 to switch to BWP#i if an LA decision resulted in selecting a new resource-sets profile i.

Blocks S128 and S130: PUCCH resource assignment

During DL assignment, the network node 16, e.g., gNB, uses the results from the PUCCH LA decision in Blocks S122 and S124 to perform, such as by link resource unit 28 in processing circuitry 42, processor 44, communication interface 34 and/or radio interface 36, at least one of the following:

• Limit the number of DL Transport Blocks allocated per feedback slot tO Bmax',

• Pick an available PUCCH resource from the resource-set that corresponds to the desired number of feedback bits on the selected resource-sets profile during the most recent BWP-switch operation; and

• Use appropriate TPC command based on the transmit power output from LA decision.

The network node 16 may run Blocks SI 12, SI 14, S122, S124, S128 and S130 with increasing cadence for each WD 22 to achieve a predefined trade-off between reliability and efficiency. Similarly, the network node 16 may also run any other Block with increasing cadence. Note that, a PUCCH resource cannot be shared between users. Thus, the network node 16 may plan the PUCCH resource to resourceelement mapping in a way that whenever a WD can be given a PUCCH resource with small number of resource elements, unused physical resources are usable either for PUCCH resource used for other WDs 22 (or users), or for PUSCH. Thus, the network node 16 plans, such as by link resource unit 28 in processing circuitry 42, processor 44, communication interface 34 and/or radio interface 36, a resource layout strategy in Block S 112 to obtain benefits of PUCCH LA.

Dynamic adjustments/corrections

In the above example, in Blocks S122 and S124, the PUCCH decoder-model, maintained by the network node 16, (P a 2n (.) etc.) is used to perform, such as by link resource unit 28 in processing circuitry 42, processor 44, communication interface 34 and/or radio interface 36, the PUCCH LA. The mappings are may be based on offline experiments (e.g., in simulated environments with some reference transmitter and receiver implementations). The network node 16 estimates, such as by link resource unit 28 in processing circuitry 42, processor 44, communication interface 34 and/or radio interface 36, decoder performance and to perform PUCCH LA. However, the network node 16 can also correct, such as by link resource unit 28 in processing circuitry 42, processor 44, communication interface 34 and/or radio interface 36, models dynamically during runtime by receiving feedback from the PUCCH decoder on the reliability of decoding. For UCI that are cyclic redundancy check (CRC) protected, the reliability metric is binary (e.g., either decoding succeeded, or decoding failed). For UCI that are not CRC-protected (for example, HARQ ACK UCI bits < 11 bits in NR), the decoder can derive, such as by link resource unit 28 in processing circuitry 42, processor 44, communication interface 34 and/or radio interface 36, some soft metric of PUCCH decoding reliability by using some estimates during the decoding process itself, including, for example, the cross-correlation peaks values if decoder employs such technique.

FIG. 8 illustrates an example of PUCCH link adaptation with dynamic adjustments according to one embodiment of the present disclosure. As shown in FIG. 8, the reliability metric, for a given PUCCH resource k with a given number of UCI bits n, can then be fed into an “adjustment block,” i.e., S156, where the network node 16 may correct, such as by link resource unit 28 in processing circuitry 42, processor 44, communication interface 34 and/or radio interface 36, a given estimate of the UL SINR to match an observed decoder performance with the estimated value, e.g., determine an adjusted UL SINR. Alternatively, the reliability metric, for a given PUCCH resource k with a given number of UCI bits n and a given estimate of UL SINR y, can then be fed into an “adjustment block,” i.e., model adjustment S158, to adjust, such as by link resource unit 28 in processing circuitry 42, processor 44, communication interface 34 and/or radio interface 36, the decoder-model based at least on one value of P a 2n (.) and/or P n 2a (.) to determine adjusted values of P a 2n (.) and/or P n 2 a (.)

As will be appreciated by one of skill in the art, the concepts described herein may be embodied as a method, data processing system, and/or computer program product. Accordingly, the concepts described herein may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects all generally referred to herein as a “circuit” or “module.” Furthermore, the disclosure may take the form of a computer program product on a tangible computer usable storage medium having computer program code embodied in the medium that can be executed by a computer. Any suitable tangible computer readable medium may be utilized including hard disks, CD-ROMs, electronic storage devices, optical storage devices, or magnetic storage devices.

Some embodiments are described herein with reference to flowchart illustrations and/or block diagrams of methods, systems and computer program products. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.

These computer program instructions may also be stored in a computer readable memory or storage medium that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer readable memory produce an article of manufacture including instruction means which implement the function/act specified in the flowchart and/or block diagram block or blocks.

The computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.

It is to be understood that the functions/acts noted in the blocks may occur out of the order noted in the operational illustrations. For example, two blocks shown in succession may in fact be executed substantially concurrently or the blocks may sometimes be executed in the reverse order, depending upon the functionality/acts involved. Although some of the diagrams include arrows on communication paths to show a primary direction of communication, it is to be understood that communication may occur in the opposite direction to the depicted arrows.

Computer program code for carrying out operations of the concepts described herein may be written in an object oriented programming language such as, Python, Java® or C++. However, the computer program code for carrying out operations of the disclosure may also be written in conventional procedural programming languages, such as the "C" programming language. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer. In the latter scenario, the remote computer may be connected to the user's computer through a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider).

Many different embodiments have been disclosed herein, in connection with the above description and the drawings. It will be understood that it would be unduly repetitious and obfuscating to literally describe and illustrate every combination and subcombination of these embodiments. Accordingly, all embodiments can be combined in any way and/or combination, and the present specification, including the drawings, shall be construed to constitute a complete written description of all combinations and subcombinations of the embodiments described herein, and of the manner and process of making and using them, and shall support claims to any such combination or subcombination.

It will be appreciated by persons skilled in the art that the embodiments described herein are not limited to what has been particularly shown and described herein above. In addition, unless mention was made above to the contrary, it should be noted that all of the accompanying drawings are not to scale. A variety of modifications and variations are possible in light of the above teachings without departing from the scope of the following claims.