Patent Description:
The disclosure herein generally relates to telecommunication networks, and, more particularly, to a method and system for delay-aware uplink scheduling in telecommunication networks.

Traffic scheduling (or ' Scheduling') is a well-known mechanism used in telecommunication networks so as to schedule allocation of resources or slots to communication devices in the network, for establishing communication. There are different types of scheduling mechanisms currently being used in the telecommunication sector, wherein parameter(s) being considered for scheduling the resources, by each of the scheduling mechanisms, may be different.

For example, when one or more of the scheduling mechanisms performs scheduling of the resources based on traffic classes and channel conditions, other scheduling mechanisms consider parameters such as but not limited to pricing, energy usage, coverage and capacity of network and so on. Each scheduling mechanism has its own advantages and disadvantages. Based on requirements of the network, appropriate scheduling mechanism(s) can be selected and used.

The 'requirements of the network' also can vary from one implementation/ application to another. For example, certain applications for which the communication network is being used can be of 'critical' type, with zero or minimum tolerance to delays involved. For example, consider a haptic communication network based robotic tele-surgery application. In this case, a doctor who is performing a surgery may be at a location different from that of the patient. The doctor, using a pair of haptic gloves or using a joystick, communicates with a robot that is near the patient. The doctor's actions are captured, and are transmitted digitally over a communication network to the robot. The robot receives and processes the data, during which the data in digital format is transformed to raw format, and is applied on or is performed on the patient. That means the doctor performs surgery from a different location than that of the patient. Such applications and critical and time-sensitive, and any delay exceeding a permitted limit can prove fatal. It appears the existing scheduling mechanisms fail to provide a mechanism to reduce delays while scheduling resources.

Embodiments of the present disclosure present technological improvements as solutions to one or more of the above-mentioned technical problems recognized by the inventors in conventional systems. In one aspect, a processor-implemented method for uplink scheduling in a communication network is provided and is as defined in the independent claim <NUM>. In this method, downlink delay for a transmitter-receiver pair communication in the communication network is estimated by performing a downlink delay estimation, in response to an uplink request received from a transmitter of the transmitter-receiver pair in the communication network, via one or more hardware processors. Further, a processing delay in the communication network is estimated, via the one or more hardware processors. Further, based on the estimated downlink delay and the processing delay, and a channel data rate, uplink of the transmitter is scheduled.

In another aspect, a communication framework is provided and is as defined in independent claim <NUM>. The communication network includes a processing module which further includes a plurality of hardware processors; and a memory module comprising a plurality of instructions. The plurality of instructions cause at least one of the plurality of hardware processors to initially estimate downlink delay for a transmitter-receiver pair communication in the communication network, for a transmitter-receiver pair in the communication network, by performing a downlink delay estimation, using a delay estimation module of the communication framework. The plurality of instructions further cause estimation of a processing delay in the communication network, using the delay estimation module. The plurality of instructions further cause scheduling of uplink of a transmitter of the transmitter-receiver pair, based on the estimated downlink delay, the processing delay, and a channel data rate, using a scheduling module of the communication framework.

It is intended that the following detailed description be considered as exemplary only, and is indicated by the following claims.

<FIG> illustrates an exemplary block diagram of a communication network in which delay-aware scheduling is performed, according to some embodiments of the present disclosure. The communication network <NUM> includes a transmitter <NUM>, a receiver <NUM>, and a communication framework <NUM>.

It is to be noted that the terminologies used to represent each of the components is for illustration purpose only, and can vary according to implementation standards/requirements. For example, if the delay-aware scheduling mechanism disclosed herein is used in a Long Term Evolution (LTE) communication network, then functionalities of the 'communication framework <NUM>' may be handled by Evolved NodeB (eNB) in the LTE communication network, in addition to standard responsibilities/functionalities of the eNB. Similarly, the communication framework <NUM> may be handling communication between multiple transmitter-receiver pairs at a time. The number of each of the components of the communication network <NUM> can vary according to implementation standards/requirements, and the diagram (<FIG>) does not intend to restrict scope of the invention in any manner.

The transmitter <NUM> and the receiver <NUM> may be any suitable User Equipment (UE) such as a mobile phone, haptic devices, and so on, which satisfies all hardware and software requirements to establish a communication with each other via the communication framework <NUM>. When the transmitter-receiver pair is communicating, both uplink and downlink take place in the communication network <NUM> i.e., there is an uplink communication between the transmitter <NUM> and the communication framework <NUM>, and a downlink communication between the communication framework <NUM> and the receiver <NUM>. The transmitter <NUM> can send an uplink request to the communication framework <NUM>. In an embodiment, the 'transmitter <NUM> and the receiver <NUM>' are transceivers having data transmission and reception capabilities. In this scenario, the communication framework <NUM> handles the delay aware uplink scheduling at either ends, and the bold and dotted arrows indicate communication in either directions.

The communication framework <NUM> receives the uplink request from the transmitter. In an embodiment, the communication framework <NUM> performs a delay-aware uplink scheduling in which the communication framework <NUM> determines an uplink delay budget for the transmitter <NUM>, based on estimated values of downlink delay and processing delay corresponding to the received uplink request. Further, based on the determined uplink delay budget and a computed 'achievable data rate (also referred to as 'channel data rate')' of the transmitter <NUM>, schedules uplink for the transmitter <NUM>. The delay-aware uplink scheduling allows the communication framework <NUM> to schedule resources for communication for the transmitter-receiver pair, without exceeding a permitted delay as indicated by a delay budget, wherein the delay budget for the transmitter <NUM> is determined based on application the transmitter <NUM> is running for.

<FIG> is a functional block diagram depicting components of a communication framework of the communication network of <FIG>, according to some embodiments of the present disclosure. The communication framework <NUM> includes an Input/Output (I/O) interface <NUM>, a delay estimation module <NUM>, a scheduling module <NUM>, a memory module <NUM>, a data rate estimation module <NUM>, and a processing module <NUM>.

The I/O interface <NUM> is configured to provide one or more channels with appropriate communication protocol support, for the communication framework <NUM> to establish communication with one or more external entities. Here, the term 'external entity' can refer to one or more of the transmitters <NUM>, one or more of the receivers <NUM>, and any other component (which may or may not be part of the communication network <NUM>) that is authorized to communicate with the communication framework <NUM>. Using the one or more channels provided by the I/O interface <NUM>, the transmitter <NUM> and the receiver <NUM> can establish communication with each other and perform uplink and downlink associated with the data transfer.

The delay estimation module <NUM> is configured to perform delay estimation in response to an uplink request received from a transmitter <NUM>. For any transmitter-receiver pair communication, total delay budget (Dt,i) is defined as end to end latency allowed for that communication, and is estimated a combination of uplink delay, downlink delay, and processing delay.

The delay estimation module <NUM> estimates the downlink delay as well as processing delay. Based on the estimated values of downlink delay and processing delay, remaining delay budget for uplink can be estimated, and the uplink can be scheduled accordingly.

The delay estimation module <NUM> estimates the downlink delay for a transmitter-receiver pair, as explained below:.

In an embodiment, the delay estimation module <NUM> estimates total downlink delay caused due to two factors: due to downlink traffic, and due to channel quality.

When multiple UEs (i.e., receivers <NUM>) arrive with downlink requests for resources in terms of sub-frames, each UE needs to wait in a queue so as to get resources. Average waiting time in queue per UE corresponds to downlink traffic delay. Assume that downlink UEs/receivers <NUM> arrive at a rate λ. X denotes average number of slots required per customer/UE/receiver <NUM>. Then the average waiting time is calculated as: <MAT>.

Where ρ = λE[X<NUM>] is utilization factor and E[X<NUM>] is second moment of X.

Based on variation in link characteristics between the receiver <NUM> and the communication framework <NUM>, the delay estimation module <NUM> estimates and predicts an expected signal condition for the downlink communication/transmission. The delay estimation module <NUM> considers history readings of signal strength for the receiver <NUM>, and based on the history data, predicts downlink signal strength for next instance of time. Assume that {Yi(<NUM>), Yi(<NUM>),. , Yi(t)} represents history of Received Signal Strength Indicator (RSSI) for the receiver <NUM>. Then, RSSI for next time instance (t+<NUM>) is estimated as: <MAT> where <NUM> ≤ α ≤ <NUM>, is soothing factor;.

After identifying the downlink channel quality, the delay estimation module <NUM> estimates expected channel quality at time (t+<NUM>) for the downlink communication as: <MAT>
where Yi (t+<NUM>) denotes the predicted RSSI at time (t+<NUM>). N0 denotes noise power spectral density, and W denotes channel bandwidth in hertz. Based on the estimated value of ζi, a modulation and coding scheme is decided, which in turn decides transmission rate, Ri (t+<NUM>). Accordingly, the delay estimation module <NUM> estimates the downlink transmission delay as: <MAT> Where Li denotes the number of bits required to be transmitted by the receiver <NUM>.

The delay estimation module <NUM> then estimates the total downlink delay i.e. downlink delay for the transmitter-receiver pair communication, as: <MAT>.

The delay estimation module <NUM> then estimates processing delay (Dp) for the transmitter-receiver pair communication. The processing delay represents total execution time required for processing uplink frames from the transmitter <NUM>, and for creating corresponding downlink frames for transmission, and is mostly a fixed value. Dp can be computed by the processing module <NUM> by parsing uplink data frames from the transmitter <NUM>. The uplink data frames include communication resources where data from the transmitter <NUM> are transmitted during the uplink.

The scheduling module <NUM> computes residual uplink delay budget for each transmitter <NUM>, based on the estimated downlink delay and the processing delay. The scheduling module <NUM> then determines optimum utility of the transmitter <NUM>, based on a utility function, in order to schedule uplink frames. The utility function for a transmitter <NUM> is expressed as: <MAT>
where, Rij is instantaneous transmission rate for the transmitter <NUM> on frame j, and Rimaxdenotes maximum possible transmission rate for the transmitter <NUM>. Fij and Fjmax denote traffic flow of the transmitter <NUM>, and the total traffic flow in frame j, respectively. υ1 and υ2 denote scaling factors for transmission rate and delay limit, respectively, and can be tuned to vary weightage as per requirements. The 'requirements' may be application specific. For example, for some applications on the transmitter <NUM>, the delay constraint is more than υ2 >> υ1, whereas for some other applications high datarate is required i.e. υ1 >> υ2. xij is resource allocation factor, which is in the form of a binary metric. Value of xij= <NUM>, if the transmitter <NUM> is scheduled in the frame j, and '<NUM>' otherwise.

The scheduling module <NUM> then schedules uplink for the transmitter <NUM>, based on an optimal scheduling model, which is represented as: <MAT>.

Assuming there are N users for uplink and M total resources in the uplink data frame which is to be filled with users' uplink data. The optimal scheduling model computes the utility value for each transmitter <NUM>(i) on a resource j and then optimally fills the all transmitters <NUM> that are transmitting at the moment, on specific resources so as to maximize the utilities.

The optimal scheduling model is subject to a few parameters, as given below:.

<FIG> is a flow diagram depicting steps involved in the process of performing the delay-aware scheduling by the communication framework of <FIG>, in accordance with some embodiments of the present disclosure. In an embodiment, the delay aware uplink scheduling for a transmitter-receiver pair starts when the communication framework <NUM> receives (<NUM>) a data uplink request from a transmitter <NUM> in the communication network <NUM>, wherein the data uplink request specifies the receiver <NUM> with which the transmitter <NUM> is trying to establish communication with. In the next step, for communication for this transmitter-receiver pair (i.e., the transmitter <NUM> which sent the data uplink request, and the corresponding receiver <NUM>), a downlink delay is estimated (<NUM>). Further, for the transmitter-receiver pair, a processing delay is estimated (<NUM>). Further, based on the estimated downlink delay and the processing delay, uplink delay budget for the transmitter <NUM> is determined. Further, for the transmitter <NUM>, an achievable data rate is computed (<NUM>). Further, uplink of the transmitter <NUM> is scheduled based on the uplink delay budget and the computed achievable data rate.

The embodiments of present disclosure herein addresses unresolved problem of scheduling resources in a telecommunication network. The embodiment, thus provides a method and system for delay-aware uplink scheduling.

The hardware device can be any kind of device which can be programmed including e.g. any kind of computer like a server or a personal computer, or the like, or any combination thereof. The device may also include means which could be e.g. hardware means like e.g. an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or a combination of hardware and software means, e.g. an ASIC and an FPGA, or at least one microprocessor and at least one memory with software modules located therein. Alternatively, the embodiments may be implemented on different hardware devices, e.g. using a plurality of CPUs.

The embodiments that are implemented in software include but are not limited to, firmware, resident software, microcode, etc. The functions performed by various modules described herein may be implemented in other modules or combinations of other modules.

Claim 1:
A processor-implemented method for uplink scheduling in a communication network, comprising:
estimating (<NUM>) downlink delay for a transmitter-receiver pair communication in the communication network by performing a downlink delay estimation, in response to an uplink request received from a transmitter of the transmitter-receiver pair in the communication network, via one or more hardware processors, wherein the downlink delay relates to delay for transmission from the communication network to the receiver;
estimating (<NUM>) a processing delay in the communication network, via the one or more hardware processors, wherein the processing delay represents total execution time required for processing uplink data frames from the transmitter and for creating corresponding downlink data frames for transmission; and
determining a utility value for each transmitter i on a resource j based on an utility function uij, and the utility function uij is represented as: <MAT>
wherein <MAT> is a fraction of uplink delay budget,
Rij is an instantaneous transmission rate for the transmitter on a frame j, Rimax is a maximum transmission rate for the transmitter, Fij and Fjmax are traffic flow of the transmitter and total traffic flow in the frame j, respectively, υ1 and υ2 are scaling factors for transmission rate and delay limit, respectively, and xij is a resource allocation factor which is in a form of a binary metric, and wherein a value of xij is <NUM>, if the transmitter is scheduled in the frame j, and '<NUM>' otherwise; Dimax is maximum delay budget for the transmitter i and
scheduling (<NUM>) uplink for the transmitter based on the downlink delay, the processing delay, the uplink delay budget and using an optimal scheduling model, which is represented as: <MAT>
, wherein N represents users for uplink and M represents total resources in the uplink data frame which is to be filled with users' uplink data, and
wherein scheduling the uplink for the transmitter comprises of determining a time at which resources are required for uplink transmission.