Patent Description:
There is a continuous need to adjust and optimize operation of mobile networks in order to ensure quality of service in the mobile networks. Some known solutions have been presented in <NPL>.

Present disclosure provides some new solutions for optimization of mobile networks.

According to a first example aspect there is provided a computer implemented method for optimization of a mobile network. The method is performed by.

In some example embodiments, the method further comprises: responsive to the load in the target cell being below a third threshold, gradually increasing the proactive scheduling parameter; and responsive to the load in the target cell being between the third threshold and the second threshold, configuring the proactive scheduling parameter to a default value.

In some example embodiments, gradually increasing the proactive scheduling parameter value comprises gradually increasing the proactive scheduling parameter value to a maximum value.

In some example embodiments, the first threshold is <NUM>-<NUM>% of a reference load of the target cell and the second threshold is <NUM>% of the reference load of the target cell.

In some example embodiments, the first threshold is <NUM>% of a reference load of the target cell, the second threshold is <NUM>% of the reference load of the target cell, the third threshold is <NUM>% of the reference load of the target cell.

In some example embodiments, the default value is set to <NUM>.

In some example embodiments, the maximum value is set to <NUM>.

In some example embodiments, the method further comprises disabling the proactive scheduling functionality when the target cell is in a mass event mode.

In some example embodiments, the method further comprises setting the target cell in the mass event mode based on detecting that number of RRC connected users in the target cell exceeds a fourth threshold.

In some example embodiments, the method further comprises setting the target cell in the mass event mode based on a predefined schedule.

In some example embodiments, the method further comprises disabling the proactive scheduling functionality in one or more cells surrounding the target cell when the target cell is in the mass event mode.

In some example embodiments, the surrounding cells are selected based on number of handover attempts between the target cell and other cells.

In some example embodiments, the proactive scheduling functionality is further adjusted based on information on applications associated with the data connections in the target cell.

In some example embodiments, the method further comprises responsive to data connections in the target cell being associated with gaming applications, increasing the proactive scheduling parameter.

According to a second example aspect of the present invention, there is provided an apparatus comprising means for performing the method of the first aspect or any related embodiment. The means may comprise a processor and a memory including computer program code, and wherein the memory and the computer program code are configured to, with the processor, cause the performance of the apparatus.

According to a third example aspect of the present invention, there is provided a computer program comprising computer executable program code which when executed by a processor causes an apparatus to perform the method of the first aspect or any related embodiment.

According to a fourth example aspect there is provided a computer program product comprising a non-transitory computer readable medium having the computer program of the third example aspect stored thereon.

Any foregoing memory medium may comprise a digital data storage such as a data disc or diskette; optical storage; magnetic storage; holographic storage; opto-magnetic storage; phase-change memory; resistive random-access memory; magnetic random-access memory; solid-electrolyte memory; ferroelectric random-access memory; organic memory; or polymer memory. The memory medium may be formed into a device without other substantial functions than storing memory or it may be formed as part of a device with other functions, including but not limited to a memory of a computer; a chip set; and a sub assembly of an electronic device.

3GPP specifications of mobile networks have defined a functionality called proactive scheduling which keeps the uplink connection established for a certain period of time after sending the last bit of uplink data. A proactive scheduling parameter sets duration for this period of time. The proactive scheduling parameter may be called ilReacTimerUl parameter, but various embodiments can be applied to any parameter having the same effect. The proactive scheduling functionality may be implemented by sending dummy grants to keep the uplink connection established. There may be different settings on how often the dummy grants are sent.

The purpose of the proactive scheduling functionality is to provide that during the defined time period the UE is able to respond faster with e.g. TCP ACK/NACK without needing to wait for (re)allocation of uplink resources. The downside is that surplus interference may be caused for the duration of the defined time period, which may reduce capacity.

Various tests performed by the inventors showed that there is no straightforward way to determine optimal value for the proactive scheduling parameter. It was noted that the value of the proactive scheduling parameter may have a negative impact on ping times, uplink quality, throughput and network load. Nevertheless, use of the proactive scheduling functionality may be clearly beneficial and should be allowed.

After tedious testing and analysis, the inventors of embodiments of the present disclosure came to the conclusion of adjusting the proactive scheduling functionality based on current load situation in the respective cell of the mobile network.

<FIG> schematically shows an example scenario according to an embodiment. The scenario shows a mobile network <NUM> comprising a plurality of cells and base stations and other network devices, and an operations support system, OSS, <NUM> configured to manage operations of the mobile network <NUM>. Further, the scenario shows an automation system <NUM>. The automation system <NUM> is operable to interact with the OSS <NUM> for example to receive data from the OSS <NUM> and to provide new settings to the mobile network <NUM> through the OSS <NUM>.

The automation system <NUM> is configured to implement at least some example embodiments of present disclosure.

In an example embodiment the scenario of <FIG> operates as follows: The automation system <NUM> receives data from the mobile network <NUM> e.g. through the OSS <NUM>. The data is automatically analysed in the automation system <NUM>. Based on results of the analysis, the automation system <NUM> provides adjusts proactive scheduling parameter in one or more cells of the mobile network <NUM>, if necessary.

Additionally, the results of the analysis may be stored for later use and/or shown on a display or otherwise output to a user. The analysis performed in the automation system <NUM> may be automatically or manually triggered. The analysis may be periodically repeated (e.g. once a day, every <NUM>-<NUM> days, once a week, every two weeks, once a month).

<FIG> shows a block diagram of an apparatus <NUM> according to an embodiment. The apparatus <NUM> is for example a general-purpose computer or server or some other electronic data processing apparatus or a cloud computing environment. The apparatus <NUM> can be used for implementing at least some embodiments of present disclosure. That is, with suitable configuration the apparatus <NUM> is suited for operating for example as the automation system <NUM> of <FIG>.

The apparatus <NUM> comprises a communication interface <NUM>; a processor <NUM>; a user interface <NUM>; and a memory <NUM>. The apparatus <NUM> further comprises software <NUM> stored in the memory <NUM> and operable to be loaded into and executed in the processor <NUM>. The software <NUM> may comprise one or more software modules and can be in the form of a computer program product.

The processor <NUM> may comprise a central processing unit (CPU), a microprocessor, a digital signal processor (DSP), a graphics processing unit, or the like. <FIG> shows one processor <NUM>, but the apparatus <NUM> may comprise a plurality of processors.

The user interface <NUM> is configured for providing interaction with a user of the apparatus. Additionally or alternatively, the user interaction may be implemented through the communication interface <NUM>. The user interface <NUM> may comprise a circuitry for receiving input from a user of the apparatus <NUM>, e.g., via a keyboard, graphical user interface shown on the display of the apparatus <NUM>, speech recognition circuitry, or an accessory device, such as a headset, and for providing output to the user via, e.g., a graphical user interface or a loudspeaker.

The memory <NUM> may comprise for example a non-volatile or a volatile memory, such as a read-only memory (ROM), a programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), a random-access memory (RAM), a flash memory, a data disk, an optical storage, a magnetic storage, a smart card, or the like. The apparatus <NUM> may comprise a plurality of memories. The memory <NUM> may serve the sole purpose of storing data, or be constructed as a part of an apparatus <NUM> serving other purposes, such as processing data.

The communication interface <NUM> may comprise communication modules that implement data transmission to and from the apparatus <NUM>. The communication modules may comprise a wireless or a wired interface module(s) or both. The wireless interface may comprise such as a WLAN, Bluetooth, infrared (IR), radio frequency identification (RF ID), GSM/GPRS, CDMA, WCDMA, LTE (Long Term Evolution) or <NUM> radio module. The wired interface may comprise such as Ethernet or universal serial bus (USB), for example. The communication interface <NUM> may support one or more different communication technologies. The apparatus <NUM> may additionally or alternatively comprise more than one of the communication interfaces <NUM>.

A skilled person appreciates that in addition to the elements shown in <FIG>, the apparatus <NUM> may comprise other elements, such as displays, as well as additional circuitry such as memory chips, application-specific integrated circuits (ASIC), other processing circuitry for specific purposes and the like.

<FIG> shows a flow chart of methods according to example embodiments. The flow chart illustrates processes comprising various possible steps including some optional steps while also further steps can be included and/or some of the steps can be performed more than once. The processes may be implemented in the automation system <NUM> of <FIG> and/or in the apparatus <NUM> of <FIG>. The processes are implemented in a computer program code and does not require human interaction unless otherwise expressly stated. It is to be noted that the processes may however provide output that may be further processed by humans and/or the processes may require user input to start.

The process of <FIG> comprises the following steps:
<NUM>: Information about load in cells of a mobile network is obtained from the mobile network either directly or through some intermediate system. The load that is taken into account may be for example maximum experienced load. The maximum experienced load may be the load during the busiest hour of the day. Additionally or alternatively, mean or median of daily or weekly maximum of experienced load may be used. For example, mean or median of the load during the busiest hour of the day over a <NUM>-day period may be used.

The load may be expressed for example as a percentage of a reference load of the respective cell. The reference load may be a (theoretical) maximum load of the target cell.

<NUM>: A proactive scheduling functionality in a target cell of the mobile network is adjusted based on load in the target cell. Details of the adjustment according to some example embodiments are provided in steps <NUM>, <NUM>, 322a, 322b and <NUM>. It is understood that details of all these steps are not necessarily needed for a fully functional solution.

<NUM>: The load information is compared to a first threshold and responsive to the load in the target cell exceeding a first threshold, the proactive scheduling functionality is disabled.

<NUM>: The load information is compared to a second threshold and responsive to the load in the target cell being below the second threshold, the proactive scheduling parameter is configured to a default value, or the proactive scheduling parameter value is gradually increased. Steps 322a and 322b provide further optional conditions for choosing whether to use the default value or to increase the value.

322a: The load information is further compared to a third threshold and responsive to the load in the target cell being between the third threshold and the second threshold, the proactive scheduling parameter is configured to the default value.

322b: Responsive to the load in the target cell being below the third threshold, the proactive scheduling parameter value is gradually increased.

<NUM>: Responsive to the load in the target cell being between the first threshold and the second threshold, the current proactive scheduling parameter value is kept unchanged.

<NUM>: If it is noted that the target cell is in a mass event mode the proactive scheduling functionality is disabled. In this way, one achieves a simple way to reduce the risk of degrading throughput when there are many users, whereby user experience is likely better.

In an embodiment, the target cell is set to the mass event mode based on detecting that the number of RRC connected users in the target cell exceeds a fourth threshold. The threshold may be for example <NUM> simultaneous users, but equally some other number of simultaneous users may be used. Additionally or alternatively, the target cell may be set to the mass event mode based on a predefined schedule. This may be used for example during events that gather a lot of people to certain area.

Further, in mass event mode, the proactive scheduling functionality may be disabled some surrounding cells (i.e. cells surrounding the target cell that is in the mass event mode). For example, three surrounding cells may be selected for this. The selected cells may be cells of same frequency. Additionally or alternatively, the surrounding cells may be selected based on number of handover attempts between the target cell and other cells. other cells with most handover attempts may be determined to be surrounding cells for this purpose.

<NUM>: The proactive scheduling functionality is further adjusted based on information on applications that are being used in the target cell. For example, if gaming applications are being used, the proactive scheduling parameter may be increased to a higher value that normally. In this way better latency may be achieved, which is important in gaming applications. Consequently, user experience may be improved.

Some further details of possible implementation examples are discussed in the following.

Disabling the proactive scheduling functionality may be implemented by setting the proactive scheduling parameter to <NUM>.

The default value of the proactive scheduling parameter may be <NUM> or some other suitable value.

The maximum value of the proactive scheduling parameter may be <NUM>, <NUM> or some other suitable value.

Gradually increasing the proactive scheduling parameter value may comprise gradually increasing the proactive scheduling parameter value to a maximum value. The increase may be a linear increase or a stepwise increase.

The first threshold may be for example <NUM>-<NUM>%, and preferably <NUM>%, of a reference load of the target cell.

The second threshold may be for example <NUM>-<NUM>%, and preferably <NUM>%, of the reference load of the target cell.

The third threshold may be for example <NUM>-<NUM>%, and preferably <NUM>%, of the reference load of the target cell.

In an example embodiment, the first threshold is <NUM>% of a reference load of the target cell, the second threshold is <NUM>% of the reference load of the target cell, and the third threshold is <NUM>% of the reference load of the target cell.

In an example embodiment, the first threshold is <NUM>% of a reference load of the target cell, the second threshold is <NUM>-<NUM>% of the reference load of the target cell, and the third threshold is <NUM>-<NUM>% of the reference load of the target cell.

In an example embodiment, the first threshold is <NUM>-<NUM>% of a reference load of the target cell, the second threshold is <NUM>% of the reference load of the target cell, and the third threshold is <NUM>-<NUM>% of the reference load of the target cell.

In an example embodiment, the first threshold is <NUM>-<NUM>% of a reference load of the target cell, the second threshold is <NUM>-<NUM>% of the reference load of the target cell, and the third threshold is <NUM>% of the reference load of the target cell.

<FIG> shows a graph illustrating an example implementation. The graph shows an ilReacTimerUl parameter in y-axis and uplink PRB load % in x-axis.

Line <NUM> shows that for load above <NUM>%, the ilReacTimerUl is <NUM>.

Area <NUM>, where load is between <NUM>% and <NUM>%, is a hysteresis area, where the ilReacTimerUl is not changed.

Line <NUM> shows that for load between <NUM>% and <NUM>%, the ilReacTimerUl is <NUM>.

Line <NUM> shows that for load below <NUM>%, the ilReacTimerUl increases from <NUM> to <NUM>.

Without in any way limiting the scope, interpretation, or application of the claims appearing below, a technical effect of one or more of the example embodiments disclosed herein is improved use of proactive scheduling parameter. Various embodiments may help in reducing throughput by the use of the proactive scheduling parameter and thereby various embodiments may help in reducing the risk of degrading user experience.

A further technical effect is that throughput may be improved near cell edges at mid/high load situations, whilst lower latency may be maintained at lower load situations.

Furthermore, if desired, one or more of the before-described functions may be optional or may be combined
Various embodiments have been presented. It should be appreciated that in this document, words comprise, include and contain are each used as open-ended expressions with no intended exclusivity.

Claim 1:
A computer implemented method for optimization of a mobile network (<NUM>), the method comprising
adjusting (<NUM>) a proactive scheduling functionality in a target cell of the mobile network based on load in the target cell, wherein the proactive scheduling functionality is configured by a proactive scheduling parameter that defines a period of time over which an uplink connection is kept alive after sending the last bit of uplink data; characterized in that the method comprises
responsive to the load in the target cell exceeding a first threshold (<NUM>), disabling the proactive scheduling functionality;
responsive to the load in the target cell being below a second threshold (<NUM>), configuring the proactive scheduling parameter to a default value or gradually increasing the proactive scheduling parameter value; and
responsive to the load in the target cell being between the first threshold and the second threshold (<NUM>), keeping the current proactive scheduling parameter value.