RELATED APPLICATIONS

This application is the U.S. National Stage of International Application No. PCT/EP2018/069709, filed Jul. 20, 2018, which designates the U.S., published in English, and claims priority under 35 U.S.C. § 119 or 365(c) to European Application No. 17182498.0, filed Jul. 21, 2017. The entire teachings of the above applications are incorporated herein by reference.

FIELD OF THE INVENTION

The invention relates to a system for scheduling transmissions to client devices and a client device for transmitting feedback to said system.

The invention further relates to a method of scheduling transmissions to client devices and a method of transmitting feedback.

The invention also relates to a computer program product enabling a computer system to perform such methods.

BACKGROUND OF THE INVENTION

Narrowband Internet of Things (NB-IoT) has been specified in 3GPP Release 13 with the aim to efficiently support IoT applications in LTE-based mobile networks with the requirements of deep indoor coverage, low complexity, low cost devices and long device battery life, amongst others.

There are two types of NB-IoT carriers specified in 3GPP Release 13, each occupying a bandwidth of 180 kHz, the same as one LTE Physical Resource Block (i.e. 12 OFDM sub-carriers each with 15 kHz width): anchor carriers and non-anchor carriers. An anchor carrier carries all the common control channels for NB-IoT (for the delivery of system information, synchronization, etc.). There could be one or more anchor carriers dedicated to NB-IoT applications. A non-anchor carrier does not carry the common control channels of NB-IoT. In case the in-band operation mode of NB-IoT is used, the LTE Physical Resource Block (PRB) of the non-anchor carrier is not dedicated to NB-IoT, i.e. it can be shared by NB-IoT client devices (a client device is referred to as “User Equipment” or “UE” in LTE) and regular (not NB-IoT capable) LTE client devices via PRB resource allocation done by e.g. a joint scheduler.

An idle NB-IoT client device camps on an anchor NB-IoT carrier and uses it for setting up the connection (i.e. paging and RACH procedure). During the connection set-up process (i.e. when transiting from RRC_Idle to RRC_Connected mode), the NB-IoT client device might be allocated an anchor or non-anchor NB-IoT carrier for its transmission/reception of data.

Typically, an LTE carrier is wideband and the radio propagation condition is frequency-selective. At the exact locations of static client devices, the receive wideband signal may experience a “dip” at some Physical Resource Blocks (assuming the in-band mode operation mode of NB-IoT is used), while it might experience much better radio condition at some other PRBs. Typically, each static client device experiences the frequency-selective channel differently: when for one static client device the PRB is in a “dip”, the same PRB might have relatively very strong radio channel response for another static client device. For mobile devices, the radio channel quality of particular PRB is varying over time due to its mobility and if a PRB may experience a “dip” this is temporary and changes as the devices move around in the coverage area of the NB-IoT system.

In LTE, a scheduler assigns frequency and time resources as PRBs to a client device as soon as there is data to transmit by or to the client device. The smallest scheduling time interval is the transmission time interval (TTI). The most advanced resource assignment available in LTE is the so-called ‘channel aware’ time-frequency scheduling. For the downlink, the scheduler learns the time-frequency fading per client device via channel quality information (CQI) feedback from the client device. Ideally, this feedback is per PRB. For the uplink, the scheduler residing at the base station learns the time-frequency fading per client device via so-called sounding reference signal (SRS) transmission per client device. The SRS is a pilot signal transmitted over the whole frequency band of the LTE carrier (e.g. a 10 MHz band) so the scheduler can measure the channel for that client device in each PRB. Based on the time-frequency fading information determined for a client device, the scheduler assigns the PRBs that are ‘best’ for this client device to this client device.

Although ‘channel aware’ time-frequency scheduling takes the time-frequency fading per client device into account, which frequency resources are used for anchor and non-anchor NB-IoT carriers is configured by operators manually. As a result, the frequency-selective radio channels are not taken into account sufficiently. This is especially a problem for static client devices experiencing poor radio conditions (e.g. client devices installed at fixed locations deep in a building), as these client devices may experience unchanged radio conditions during the whole data transmission.

SUMMARY OF THE INVENTION

It is a first object of the invention to provide a system for scheduling transmissions to client devices, which already takes into account frequency-selective radio channels before scheduling takes place.

It is a second object of the invention to provide a client device for transmitting feedback to a system, which allows said system to already take into account frequency-selective radio channels before scheduling takes place.

It is a third object of the invention to provide a method of scheduling transmissions to client devices, which already takes into account frequency-selective radio channels before scheduling takes place.

It is a fourth object of the invention to provide a method of transmitting feedback to a system, which allows said system to already take into account frequency-selective radio channels before scheduling takes place.

According to the invention, the first object is realized in that the system comprises at least one receiver and at least one processor configured to use said at least one receiver to receive feedback about a plurality of candidate downlink frequency resources from a plurality of client devices and/or measure channel qualities of a plurality of candidate uplink frequency resources from receptions of transmissions by said plurality of client devices, select a subset of said plurality of candidate downlink frequency resources and/or a subset of said plurality of candidate uplink frequency resources based on said received feedback and/or said measured channel qualities, and schedule transmissions to said plurality of client devices on said selected subset of candidate downlink frequency resources and/or transmissions from said plurality of client devices on said selected subset of uplink frequency resources.

By selecting a subset of frequency resources from candidate frequency resources based on measurements by a plurality of client devices and/or by measuring transmissions of a plurality of client devices, frequency resources may be automatically instead of manually selected while taking into account frequency-selective radio channels in this selection step, so before scheduling takes place. Thus, the real deployment environment of client devices is taken into account and better overall performance is achieved. Moreover, an optimized frequency resource selection may lead to increased spectral efficiency and reduced power consumption by the client devices.

A frequency resource may be a frequency band, for example. The candidate downlink frequency resources may comprise contiguous and/or non-contiguous frequency bands. The candidate uplink frequency resources may comprise contiguous and/or non-contiguous frequency bands. Said system may further comprise at least one transmitter and said at least one processor may be configured to use said at least one transmitter to transmit wireless signals on said plurality of candidate downlink frequency resources.

Said plurality of client devices may comprise one or more idle client devices. By not only selecting a subset of frequency resources from candidate frequency resources based on measurements by active client devices and/or by measuring transmissions of active client devices, but also based on measurements by idle client devices and/or by measuring transmissions of idle client devices (e.g. when triggered to report on signal quality of candidate frequency resources), the selection may take into account more client devices. This is especially beneficial when the idle client devices are static and are thus going to be in the same location when they are active as when they are idle.

Said at least one processor may be configured to use said at least one receiver to receive said feedback about said plurality of candidate downlink frequency resources on said plurality of candidate uplink frequency resources and measure said channel quality of said plurality of candidate uplink frequency resources from receptions of said feedback on said plurality of candidate uplink frequency resources. This makes it unnecessary for the client devices to transmit pilot signals like the sounding reference signals transmitted when using ‘channel aware’ time-frequency scheduling in uplink, and thereby reduces overhead.

At least one of said plurality of candidate downlink frequency resources may be paired with at least one of said plurality of candidate uplink frequency resources and said at least one processor may be configured to use said at least one receiver to receive said feedback about said at least one candidate downlink frequency resource on the at least one candidate uplink frequency resource paired with said at least one candidate downlink frequency resource. Thus, in case a pair of uplink and downlink frequency resources, i.e. an uplink frequency resource with a pre-defined relative frequency offset compared to a downlink frequency resource, is used and the system receives feedback on the uplink frequency resource, the system knows that the feedback relates to the paired downlink frequency resource.

Said feedback may comprise an identification of one or more candidate downlink frequency resources to which said feedback relates. In case an uplink frequency resource has not been paired with a downlink frequency resource, this identification allows the system to identify to which downlink frequency resource feedback from a client device on this uplink frequency resource relates. Thus, the assigned downlink and uplink frequency resources do not necessarily need to be paired.

At least one of said plurality of candidate downlink frequency resources may be paired with at least one of said plurality of candidate uplink frequency resources and said at least one processor may be configured to determine at least one combined quality for at least one pair of candidate downlink and uplink frequency resources and select a subset of said plurality of candidate downlink frequency resources and a subset of said plurality of candidate uplink frequency resources based on said at least one combined quality. If the assigned downlink and uplink frequency resources need to be paired, then the selection should preferably consider the uplink and downlink jointly, i.e. determine and use a combined/joint quality measure for a paired downlink frequency resource and uplink frequency resource.

Said at least one processor may be further configured to schedule transmissions to a mobile client device on said selected subset of candidate downlink frequency resources and/or transmissions from said mobile client device on said selected subset of uplink frequency resources, said selected subset of candidate downlink frequency resources not being based on feedback received from said mobile client device and/or said selected subset of candidate uplink frequency resources not being based on a channel quality measured from a reception of a transmission by said mobile device. As mobile client devices normally experience changing radio conditions during the whole data transmission, statically configured/selected frequency resources are less of a problem for mobile client devices. This is because a ‘dip’ in the quality of the radio conditions for a particular frequency resource is of temporary nature due to the device mobility. It is therefore not necessary to select a subset of downlink frequency resources based on feedback received from a mobile client device and/or select a subset of uplink frequency resources based on a channel quality measured based on a reception of a transmission by a mobile device.

Said wireless signals transmitted by said at least one processor using said at least one transmitter on said plurality of candidate downlink frequency resources may be pilot signals. Said pilot signals may be narrowband reference signals or cell specific reference signals, for example. Measurements on pilot signals are well known and therefore easy to implement.

Said at least one processor may be configured to use said at least one transmitter to inform said plurality of client devices of at least one time at which it will start transmitting said wireless signals on said plurality of candidate downlink frequency resources. Since transmitting the wireless signals on many candidate downlink frequency resources would use a significant amount of resources, it would not be efficient to transmit the wireless signals continuously. Instead, the wireless signals may be transmitted at certain times. These times, e.g. the first minute of every hour or every second hour, may be communicated to the client devices or, alternatively, configured in advance.

According to the invention, the second object is realized in that the client device comprises at least one receiver, at least one transmitter, and at least one processor configured to use said at least one receiver to measure at least one channel quality of at least one candidate downlink frequency resource from at least one reception of at least one transmission by a transmitting system on said at least one candidate downlink frequency resource, and use said at least one transmitter to transmit feedback based on one or more of said at least one measured channel quality to said transmitting system on a plurality of candidate uplink frequency resources. As this allows the system to measure the channel qualities of the candidate uplink frequency resources based on receptions of the feedback, it is unnecessary for the client device to transmit pilot signals like the sounding reference signals transmitted when using ‘channel aware’ time-frequency scheduling in uplink, and thereby reduces overhead.

According to the invention, the third object is realized in that the method of assigning frequency resources to a plurality of client devices comprises receiving feedback about a plurality of candidate downlink frequency resources from a plurality of client devices and/or measuring channel qualities of a plurality of candidate uplink frequency resources from receptions of transmissions by said plurality of client devices, selecting a subset of said plurality of candidate downlink frequency resources and/or a subset of said plurality of said candidate uplink frequency resources based on said received feedback and/or said measured channel qualities, and scheduling transmissions to said plurality of client devices on said selected subset of candidate downlink frequency resources and/or transmissions from said plurality of client devices on said selected subset of uplink frequency resources. Said method may be performed by software running on a programmable device. This software may be provided as a computer program product.

According to the invention, the fourth object is realized in that the method of transmitting feedback comprises measuring at least one channel quality of at least one candidate downlink frequency resource from at least one reception of at least one transmission by a transmitting system on said at least one candidate downlink frequency resource and transmitting feedback based on one or more of said at least one measured channel quality to said transmitting system on a plurality of candidate uplink frequency resources. Said method may be performed by software running on a programmable device. This software may be provided as a computer program product.

Said method may be performed by software running on a programmable device. This software may be provided as a computer program product.

Moreover, a computer program for carrying out the methods described herein, as well as a non-transitory computer readable storage-medium storing the computer program are provided. A computer program may, for example, be downloaded by or uploaded to an existing device or be stored upon manufacturing of these systems.

A non-transitory computer-readable storage medium stores at least a first software code portion, the first software code portion, when executed or processed by a computer, being configured to perform executable operations comprising: receiving feedback about a plurality of candidate downlink frequency resources from a plurality of client devices and/or measuring channel qualities of a plurality of candidate uplink frequency resources from receptions of transmissions by said plurality of client devices selecting a subset of said plurality of candidate downlink frequency resources and/or a subset of said plurality of said candidate uplink frequency resources based on said received feedback and/or said measured channel qualities, and scheduling transmissions to said plurality of client devices on said selected subset of candidate downlink frequency resources and/or transmissions from said plurality of client devices on said selected subset of uplink frequency resources.

A non-transitory computer-readable storage medium stores at least a second software code portion, the second software code portion, when executed or processed by a computer, being configured to perform executable operations comprising: measuring at least one channel quality of at least one candidate downlink frequency resource from at least one reception of at least one transmission by a transmitting system on said at least one candidate downlink frequency resource and transmitting feedback based on one or more of said at least one measured channel quality to said transmitting system on a plurality of candidate uplink frequency resources.

As will be appreciated by one skilled in the art, aspects of the present invention may be embodied as a device, a method or a computer program product. Accordingly, aspects of the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects that may all generally be referred to herein as a “circuit”, “module” or “system.” Functions described in this disclosure may be implemented as an algorithm executed by a processor/microprocessor of a computer. Furthermore, aspects of the present invention may take the form of a computer program product embodied in one or more computer readable medium(s) having computer readable program code embodied, e.g., stored, thereon.

Any combination of one or more computer readable medium(s) may be utilized. The computer readable medium may be a computer readable signal medium or a computer readable storage medium. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples of a computer readable storage medium may include, but are not limited to, the following: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of the present invention, a computer readable storage medium may be any tangible medium that can contain, or store, a program for use by or in connection with an instruction execution system, apparatus, or device.

A computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated signal may take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A computer readable signal medium may be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device.

Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber, cable, RF, etc., or any suitable combination of the foregoing. Computer program code for carrying out operations for aspects of the present invention may be written in any combination of one or more programming languages, including an object oriented programming language such as Java™, Smalltalk, C++ or the like and conventional procedural programming languages, such as the “C” programming language or similar programming languages. 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 or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including 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).

Aspects of the present invention are described below with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the present invention. 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, in particular a microprocessor or a central processing unit (CPU), 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, other programmable data processing apparatus, or other devices 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 medium that can direct a computer, other programmable data processing apparatus, or other devices to function in a particular manner, such that the instructions stored in the computer readable medium produce an article of manufacture including instructions 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, other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus or other devices to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.

The flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of devices, methods and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the blocks may occur out of the order noted in the figures. 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 involved. It will also be noted that each block of the block diagrams and/or flowchart illustrations, and combinations of blocks in the block diagrams and/or flowchart illustrations, can be implemented by special purpose hardware-based systems that perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.

