SCHEDULING METHOD AND SYSTEM FOR FOURTH GENERATION RADIO MOBILE NETWORKS

20170251489 · 2017-08-31

    Inventors

    Cpc classification

    International classification

    Abstract

    A method is proposed for scheduling, in a radio mobile network, serving cell/radio resource allocation pairs for transmission of data flows using Carrier Aggregation. Each serving cell/radio resource allocation pair includes a serving cell and a radio resource thereof allocated for transmission of data flows using Carrier Aggregation. At each scheduling period the method determines active data flows whose transmission is not yet completed at the current scheduling period, and performs a series of steps for each active data flow.

    Claims

    1. A method for scheduling, in a radio mobile network, serving cell/radio resource allocation pairs for transmission of data flows using Carrier Aggregation, wherein each serving cell/radio resource allocation pair comprises a serving cell and a radio resource thereof allocated for transmission of data flows using Carrier Aggregation, at each scheduling period, the method comprising: determining, among said data flows, active data flows whose transmission is not yet completed at the current scheduling period, and iterating, for each active data flow: determining candidate serving cells adapted to provide transmission of the active data flows; for each radio resource of each candidate serving cell, determining a signal to noise-plus-interference ratio estimate for that active data flow; associating, to each candidate serving cell/radio resource pair, a weighting parameter according to said signal to noise-plus-interference ratio estimate and to an indication of the interference caused to other active data flows; determining, among said candidate serving cell/radio resource pairs, a potential allocation pair based on the weighting parameter associated with the candidate serving cell/radio resource pair, and calculating a potential amount of data that can be transmitted by the allocation pairs so far determined and the potential allocation pair, and identifying said potential allocation pair as allocation pair if said potential amount of data is higher than an overall amount of data that can be transmitted by the allocation pairs so far determined for all the active data flows.

    2. The method according to claim 1, wherein said determining, among said data flows, active data flows further comprises assigning to each active data flow an urgency value indicative of an amount of data of the active data flow left to complete transmission with respect to a transmission deadline, and wherein said iterating for each active data flow comprises iterating for each active data flow by decreasing urgency value assigned thereto.

    3. The method according to claim 1, wherein, for each radio resource of each candidate serving cell, said signal to noise-plus-interference ratio estimate is based on: an attenuation experienced between the candidate serving cell and a user equipment associated with the active data flow under evaluation.

    4. The method according to claim 3, wherein said attenuation depends on: an antenna gain of a network node associated with the candidate serving cell, an antenna pattern factor, and a path loss experienced between the network node and the user equipment.

    5. The method according to claim 1, wherein said determining a signal to noise-plus-interference ratio estimate further comprises, for each active data flow: determining, according to said signal to noise-plus-interference ratio estimate, a first amount of data that can be transferred by each candidate serving cell/radio resource pair during the current scheduling period, and determining a second amount of data actually transferred by the candidate serving cell/radio resource pair during the current scheduling period as the minimum between said first amount of data and the data of the active data flow yet to be transmitted.

    6. The method according to claim 5, wherein, for each active data flow, said indication of the interference caused to other active data flows comprises a pollution value given by the sum of the interference experienced by said other active data flows.

    7. The method according to claim 6, wherein said associating, to each candidate serving cell/radio resource pair, a weighting parameter according to said signal to noise-plus-interference ratio estimate and to an indication of the interference caused to other active data flow comprises, for each active data flow: calculating the weighting parameter by dividing said second amount of data by said pollution value.

    8. The method according to claim 1, wherein said determining, among said data flows, active data flows whose transmission is not yet completed at the current scheduling period and said iterating are performed by evaluating each radio resource of the radio mobile network.

    9. The method according to claim 1, wherein said identifying said potential allocation pair as allocation pair further comprises making unavailable, for all the active data flows, each candidate serving cell/radio resource pair equal to said potential allocation pair just identified as allocation pair, the method being stopped as soon as all candidate serving cell/radio resource pairs are made unavailable.

    10. The method according to claim 9, wherein said making unavailable, for all the active data flows, each candidate serving cell/radio resource pair equal to said potential allocation pair just identified as allocation pair is carried out by zeroing the corresponding weighting parameters associated with the active data flows.

    11. The method according to claim 1, wherein said determining candidate serving cells comprises: if no primary serving cell is assigned to a user equipment which the active data flow pertains to, determining as candidate serving cells each serving cell whose power/attenuation ratio is higher than a predefined threshold power/attenuation ratio, or if the user equipment which the active data flow pertains to does not support Carrier Aggregation, determining as candidate serving cells each service cell included in a primary serving cell set associated with that user equipment, else, if the user equipment which the active data flow pertains to does support Carrier Aggregation, determining as candidate serving cells: each serving cell included in the primary serving cell set and in a secondary serving cell set, and each serving cell whose network node is included in the primary serving cell set associated with that user equipment, and whose component carrier is not associated with any one of the primary and secondary serving cells, and whose power/attenuation ratio is higher than said predefined threshold power/attenuation ratio.

    12. The method according to claim 1, wherein said determining candidate serving cells comprises: if no primary serving cell is assigned to a user equipment which the active data flow pertains to, determining as candidate serving cells each serving cell whose power/attenuation ratio is higher than a predefined threshold power/attenuation ratio, or if the user equipment which the active data flow pertains to does not support Carrier Aggregation, determining as candidate serving cells each service cell included in a primary serving cell set associated with that user equipment, else, if the user equipment which the active data flow pertains to does support Carrier Aggregation, determining as candidate serving cells: each serving cell included in the primary serving cell set and in a secondary serving cell set, and each serving cell whose component carrier is not associated with any one of the primary and secondary serving cells, and whose power/attenuation ratio is higher than said predefined threshold power/attenuation ratio.

    13. The method according to claim 1, further comprising, after said identifying said potential allocation pair as allocation pair: identifying the serving cell of said allocation pair as a primary serving cell providing RRC connection, if no primary serving cell is assigned to the user equipment which active data flow pertains to, or as a secondary service cell providing aggregate component carrier otherwise.

    14. The method according to claim 1, wherein said determining, among said candidate serving cell/radio resource pairs, a potential allocation pair based on the weighting parameter associated with the candidate serving cell/radio resource pair comprises identifying as potential allocation pair the candidate serving cell/radio resource pair having maximum weighting parameter.

    15. A controller for scheduling, in a radio mobile network, serving cell/radio resource allocation pairs for transmission of data flows using Carrier Aggregation, wherein each serving cell/radio resource allocation pair comprises a serving cell and a radio resource thereof allocated for transmission of data flows using Carrier Aggregation, wherein at each scheduling period the controller is configured for: determining, among said data flows, active data flows whose transmission is not yet completed at the current scheduling period, and iterating, for each active data flow: determining candidate serving cells adapted to provide transmission of the active data flows; for each radio resource of each candidate serving cell, determining a signal to noise-plus-interference ratio estimate for that active data flow; associating, to each candidate serving cell/radio resource pair, a weighting parameter according to said signal to noise-plus-interference ratio estimate and to an indication of the interference caused to other active data flows; determining, among said candidate serving cell/radio resource pairs, a potential allocation pair based on the weighting parameter associated with the candidate serving cell/radio resource pair, and calculating a potential amount of data that can be transmitted by the allocation pairs so far determined and the potential allocation pair, and identifying said potential allocation pair as allocation pair if said potential amount of data is higher than an overall amount of data that can be transmitted by the allocation pairs so far determined for all the active data flows.

    Description

    BRIEF DESCRIPTION OF THE ANNEXED DRAWINGS

    [0070] These and other features and advantages of the proposed solution will be made apparent by the following description of some exemplary and non limitative embodiments thereof; for its better intelligibility, the following description should be read making reference to the attached drawings, wherein:

    [0071] FIG. 1 schematically shows a portion of a cellular network wherein the present invention may be applied, and

    [0072] FIG. 2 schematically shows an activity flow of an allocation algorithm adapted to be used in the cellular network, according to an embodiment of the present invention.

    DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS OF THE INVENTION

    [0073] With reference to the drawings, a portion of a cellular network 100 according to an embodiment of the present invention is schematically shown in FIG. 1.

    [0074] The cellular network 100 (e.g., compliant with the 3GPP LTE/LTE-Advanced standard, and allowing data flows transmission based on Carrier Aggregation) comprises a number B of transceiver stations (or network nodes, e.g. network nodes part of eNodeBs) 105.sub.b (b=1, 2, 3, 4, . . . B, with B=15 in the example at issue), including relatively high-power and wide-coverage area network nodes (or macro nodes 105.sub.1-105.sub.3) and a lower-power, smaller coverage area network nodes (e.g., pico, micro, and/or femto nodes) for increasing cellular network 100 capacity (or small nodes 105.sub.4-105.sub.15).

    [0075] The network nodes 105.sub.b are configured to allow a number U of user equipment UE.sub.u (e.g., mobile phones) of the cellular network 100 (u=1, 2, 3 . . . , U—with U=8 in the depicted example) to exchange data flows (e.g., web browsing, e-mailing, voice, or multimedia data flows). As usual, in case the u-th user equipment UE.sub.u requesting (i.e., having to transmit or having to receive) data flows falls within both macro and small nodes coverage areas, it can be served by either of the macro or small nodes, respectively, i.e. either the macro or small nodes may act as serving network nodes for that u-th user equipment UE.sub.u. In order to take into account a practical scenario, both user equipment UE.sub.u supporting Carrier Aggregation and user equipment UE.sub.u not supporting Carrier Aggregation will be considered in the following as potential beneficiaries of the cellular network 100 according to the present invention.

    [0076] For the sake of completeness, as well known by those having ordinary skill in the art, the network nodes 105.sub.b form the radio access network. In turn, the radio access network is generally communicably coupled with one or more core networks (such as the core network CN), which may be coupled with other networks, such as the Internet and/or public switched telephone networks (not illustrated). Preferably, as envisioned by operators and cellular network manufacturers as a result of new, complex tasks and ever increasing amount of data flows that the cellular network is expected to handle, coupling between the radio access network and the core network CN is achieved by means of optical fiber connectivity OF, although this should not be construed limitatively.

    [0077] As visible in the figure, a control module (or controller) 110 is provided, e.g. in the core network CN (as exemplary illustrated) or in the radio access network, for collecting channel quality information from the network nodes 105.sub.b and higher-layer demands (such as content requests) from the user equipment UE.sub.u, and, from the collected channel quality information and content requests, for scheduling radio resources allocation, namely: [0078] (i) which network node 105.sub.b should act as serving network node for serving each content request (i.e., allowing data flows transmission to/from the respective u-th user equipment UE.sub.u); [0079] (ii) on which available component carriers each serving network node should serve the content request. In the considered scenario, a set c=1, 2, . . . , C of component carriers is available at network nodes 105.sub.b—each c-th component carrier being defined by a central frequency f.sub.c and a bandwidth w.sub.c (e.g., supported by LTE/LTE-A standard and ranging from 1.4 MHz to 20 MHz), and comprising a number r=1, 2, 3, . . . , R.sub.c of radio resources (e.g., R.sub.c=50 if w.sub.c=10 MHz)—the total number of radio resources R available in the cellular network 100 being R=Σ.sub.CR.sub.C. In order to ensure backward compatibility in the cellular network 100, each network node/component carrier combination will be considered as a respective serving cell. According to Carrier Aggregation principles, each serving cell may be either a primary serving cell, handling RRC connection, or a secondary serving cell, for providing additional component carrier that can be used in the Carrier Aggregation procedure (the secondary serving cells being added and removed as required, whereas the primary serving cells being only changed at handover). Thus, each u-th user equipment UE.sub.u (either supporting or not supporting Carrier Aggregation) is associated with a primary serving cell (any u-th user equipment UE.sub.u not supporting Carrier Aggregation connecting to it by using standard LTE Release 8 procedures), whereas each u-th user equipment UE.sub.u supporting Carrier Aggregation is further associated with a set of (e.g., one or more) secondary serving cells providing additional component carriers to be aggregated for (transmission of the data flow associated with) that u-th user equipment UE.sub.u; and [0080] (iii) which radio resource to employ for data flow transmission.

    [0081] According to the present invention, a scheduling algorithm 200 (whose flow chart of significant method steps is illustrated in FIG. 2) is implemented at the controller 110 at each k-th timestep (scheduling period) for effectively scheduling allocation of serving cells/radio resources pairs for transmission of data flows between the network nodes 105.sub.b and the user equipment UE.sub.u—each serving cell/radio resource pair comprising a serving cell and a radio resource thereof for transmission of a respective data flow.

    [0082] According to an embodiment of the present invention, allocation of serving cells/radio resources pairs scheduling takes place on a sub-frame basis, thus each k-th timestep over which the allocation algorithm 200 is repeated is 1 ms-lasting (i.e., k=1, 2, 3, . . . , K=10 for each frame).

    [0083] As should be readily understood, the scheduling algorithm 200 may be performed by proper code means included in a computer program, when the program is run on a computer.

    [0084] In the following, for the sake of conciseness, communications from the network nodes 105.sub.b to the user equipment UE.sub.u (downlink communication), and unicast download traffic will be considered only—anyway, the principle of the present invention may be equivalently applied to Carrier Aggregation in uplink communication.

    [0085] The scheduling algorithm 200 is a heuristic algorithm for constructing, based on information available at the controller 110, an interference-aware allocation set, globally denoted by a.sup.k and comprising the set of serving cells/radio resources pairs allocated for data flow transmission at the k-th timestep (hereinafter, allocation pairs). As better discussed herebelow, the scheduling algorithm 200 also takes into account information about content request, such as size thereof and acceptable delivery times.

    [0086] The scheduling algorithm 200 starts by initializing (step 205) the allocation set a.sup.k at a proper initialization value (e.g., 0), thereafter the following steps 210-270 are iterated for each r-th radio resource (as conceptually illustrated in the figure by loop control L.sub.1)—as will be better understood from the following description, iteration over each r-th, and hence at least R times for each k-th timestep, allows evaluating all (available and not available) radio resources at least once at each k-th timestep.

    [0087] Then (step 210), the scheduling algorithm 200 goes on by identifying, among a total set F of data flows f, an active data flows set F.sub.a.sup.k, i.e. a set F.sub.a.sup.k of active data flows f.sub.a whose transmission is started before, or at, the current k-th timestep and is not yet completed—without losing of generality, in the following description each u-th user equipment UE.sub.u will be assumed to be associated with only one active data flow f.sub.a at each k-th timestep. According to an embodiment of the present invention, a data flow f is identified as active data flow f.sub.a if the timestep at which the data flow f has started is before or at the current k-th timestep and a total amount of data of the data flow f transmitted up to k-th timestep is lower than a total amount of data of the data flow f, i.e.:


    F.sub.a.sup.k←{fεF:e(f)≦k̂t.sup.k(f)<l.sub.f}

    [0088] wherein: [0089] e(f)εK denotes the timestep at which the data flow f has started, [0090] t.sup.k (f) denotes the total amount of data, of each data flow f, transmitted up to k-th timestep (t.sup.k (f) being thus indicative of the amount of data, of the respective data flow f, whose transmission have already been completed at the current k-th timestep), and [0091] l.sub.f denotes the total amount of data of the data flow f.

    [0092] Preferably, although not necessarily, each active data flow f.sub.a in the active data flow set F.sub.a.sup.k is assigned (step 215) with an urgency value (urgency(f.sub.a)) indicative of an urgency of completing transmission of the active data flow f.sub.a within a transmission deadline g.sub.f.sub.a (e.g., a time window from the start of the active data flow f.sub.a), and equal to the ratio between the amount of data still left to complete the active data flow f.sub.a and the time still left before expiration of delivery deadline, i.e.:

    [00001] urgency .Math. .Math. ( f a ) = l f a - t k ( f a ) e ( f a ) + g f - k .Math. f a F a k

    [0093] wherein, similarly to the above: [0094] e(f.sub.a) denotes the timestep at which the active data flow f.sub.a has started, [0095] t.sup.k (f.sub.a) denotes the total amount of data, of each active data flow f.sub.a, transmitted up to k-th timestep, and [0096] l.sub.f denotes the total amount of data of the active data flow f.sub.a.

    [0097] Then, the active data flows f.sub.a of the active flow set F.sub.a.sup.k are preferably sorted (step 220) based on the assigned urgency value urgency(f.sub.a). Even more preferably, said sorting is carried out by decreasing urgency value urgency(f.sub.a), so that the following steps aimed at iteratively scheduling allocation pairs for each active data flow f.sub.a take into account, at each iteration, the most “priority” active data flows f.sub.a first.

    [0098] It should be noted that repetition of the steps 210-220 for each r-th radio resource is advantageous (and particularly preferred) when the active data flows f.sub.a are updated within each k-th timestep at least twice (such as when, as herein exemplary assumed, active data flows f.sub.a updating takes place just after a new serving cell/radio resource pair, with the respective active data flow f.sub.a, is added to the allocation set a.sup.k). However, according to an alternative embodiment, not shown, the steps 210-220 may be performed only once at each k-th timestep (e.g., due to rare or no active data flows f.sub.a updating within each k-th timestep), in which case the steps 210-220 would be performed immediately after the step 205 (and before the loop control L.sub.1).

    [0099] As conceptually illustrated in the figure by loop control L.sub.2, the following steps 225-235 are iterated for each active data flow f.sub.a of the active flows set F.sub.a.sup.k (or, equivalently, for each u-th user equipment UE.sub.u associated therewith).

    [0100] More particularly, for each active data flow f.sub.a of the active flows set F.sub.a.sup.k (also referred to as active data flow f.sub.a under evaluation), a candidate serving cells set S.sub.a.sup.k(u)—i.e., a set S.sub.a.sup.k(u) of candidate serving cells s.sub.c among a total set S of serving cells s of the cellular network 100—is defined at step 225 according to primary Pcell(u) and secondary Scell(u) serving cells sets (the primary Pcell(u) and secondary Scell(u) serving cells sets comprising primary and secondary serving cells, respectively, possibly associated with each u-th user equipment UE.sub.u).

    [0101] Preferably, as discussed herebelow, definition of the set S.sub.a.sup.k(u) of candidate serving cells s takes place based on whether single-flow Carrier Aggregation or multi-flow Carrier Aggregation is implemented. According to single-flow Carrier Aggregation, each u-th user equipment UE.sub.u can be only served by one network node 105.sub.b at a time in all component carriers available at that network node 105.sub.b, whereas, according to multi-flow Carrier Aggregation, each u-th user equipment UE.sub.u can be served by multiple network nodes 105.sub.b as long as they are on different component carriers.

    [0102] An exemplary pseudo-code for defining the set S.sub.a.sup.k(u) of candidate serving cells s.sub.c in a single-flow Carrier Aggregation scenario may be based on checking all the network nodes 105.sub.b in the following way:

    TABLE-US-00001 if Pcell(u) is empty   for all s ∈ S do     if P/A ≧ TH.sub.P/A       S.sub.a.sup.k(u) .fwdarw.S.sub.a.sup.k(u) ∪ s else   if u ∈ U.sub.noca     S.sub.a.sup.k(u) .fwdarw. Pcell(u)   else if u ∈ U.sub.ca     S.sub.a.sup.k(u) .fwdarw. Pcell(u) ∪ Scell(u)     b*.fwdarw. b ∈ Pcell(u)     for all c ∈ C: c .Math. Pcell(u){circumflex over ( )}c .Math. Scell(u) do       s.sub.c.fwdarw.(b*,c)       if P/A ≧ TH.sub.P/A         S.sub.a.sup.k(u) .fwdarw.S.sub.a.sup.k(u) ∪ s.sub.c

    [0103] wherein: [0104] P/A denotes a ratio between transmission power and attenuation (hereinafter, power/attenuation ratio) experienced between a serving cell s.sub.c and a u-th user equipment UE.sub.u; [0105] TH.sub.P/A denotes a predefined power/attenuation ratio threshold (e.g., TH.sub.P/A=−70 dBm); [0106] U.sub.ca denotes the set of user equipment UE.sub.u supporting Carrier Aggregation and U denotes the set of user equipment UE.sub.u not supporting Carrier Aggregation thus, U=U.sub.ca∪U.sub.noca); and [0107] b* denotes the network node 105.sub.b of a candidate serving cell s.sub.c.

    [0108] In other words, if no primary serving cell is assigned to the u-th user equipment UE.sub.u which the active data flow f.sub.a under evaluation pertains to (i.e., primary serving cell set Pcell(u) for that u-th user equipment UE.sub.u being empty), each serving cell s whose power/attenuation ratio P/A (between it and that u-th user equipment UE.sub.u) is higher than said predefined power/attenuation ratio threshold TH.sub.P/A is identified as candidate serving cell s.sub.c and added to the candidate serving cells set S.sub.a.sup.k(u).

    [0109] Otherwise (i.e., primary serving cell set Pcell(u) for that u-th user equipment UE.sub.u, being not empty), if the u-th user equipment UE.sub.u does not support Carrier Aggregation (i.e., it belongs to set U.sub.noca), each service cell s included in the primary serving cell set Pcell(u) associated with that u-th user equipment UE.sub.u is identified as candidate serving cell s.sub.c (and added to the candidate serving cells set S.sub.a.sup.k(u)). If, instead, the u-th user equipment UE.sub.u does support Carrier Aggregation (i.e., it belongs to set U.sub.ca), [0110] serving cells s included in the primary Pcell(u) and secondary Scell(u) serving cell sets, and [0111] serving cells whose b-th network node 105.sub.b is included in the primary serving cell set Pcell(u) associated with that u-th user equipment UE.sub.u, and whose c-th component carrier is not associated with any one of the primary and secondary serving cells, and [0112] serving cells whose power/attenuation ratio P/A (between it and that u-th user equipment UE.sub.u) is higher than said predefined power/attenuation ratio threshold TH.sub.P/A

    [0113] are identified as candidate serving cells s.sub.c and added to the candidate serving cells set S.sub.a.sup.k(u).

    [0114] An exemplary pseudo-code for defining the set S.sub.a.sup.k(u) of candidate serving cells s.sub.c in a multi-flow Carrier Aggregation scenario may be based on checking all the network nodes 105.sub.b in the following way (wherein P/A, TH.sub.P/A, U.sub.ca, and U.sub.noca denote the same entities of above):

    TABLE-US-00002 if Pcell(u) is empty   for all s ∈ S do     if P/A ≧ TH.sub.P/A       S.sub.a.sup.k(u) .fwdarw.S.sub.a.sup.k(u) ∪ s else   if u ∈ U.sub.noca     S.sub.a.sup.k(u) .fwdarw. Pcell(u)   else if u ∈ U.sub.ca     S.sub.a.sup.k(u) .fwdarw. Pcell(u) ∪ Scell(u)     for all s ∈ S and for all c ∈ s:c .Math. Pcell(u){circumflex over ( )}c .Math. Scell(u) do       if P/A ≧ TH.sub.P/A         S.sub.a.sup.k(u) .fwdarw.S.sub.a.sup.k(u) ∪ s

    [0115] In other words, if no primary serving cell is assigned to the u-th user equipment UE.sub.u which the active data flow f.sub.a under evaluation pertains to (i.e., primary serving cell set Pcell(u) for that u-th user equipment UE.sub.u being empty), each serving cell s whose power/attenuation ratio P/A (between it and that u-th user equipment UE.sub.u) is higher than said predefined power/attenuation ratio threshold TH.sub.P/A is identified as candidate serving cell s.sub.c and added to the candidate serving cells set S.sub.a.sup.k(u).

    [0116] Otherwise (i.e., primary serving cell set Pcell(u) for that u-th user equipment UE.sub.u being not empty), if the u-th user equipment UE.sub.u does not support Carrier Aggregation (i.e., it belongs to set U.sub.noca), each service cell s included in the primary serving cell set Pcell(u) associated with that u-th user equipment UE.sub.u is identified as candidate serving cell s.sub.c (and added to the candidate serving cells set S.sub.a.sup.k(u)). If, instead, the u-th user equipment UE.sub.u does support Carrier Aggregation (i.e., it belongs to set U.sub.ca), [0117] serving cells s included in the primary Pcell(u) and secondary Scell(u) serving cell sets, and [0118] serving cells s (among the serving cells set S) whose c-th component carrier is not associated with any one of the primary and secondary serving cells, and [0119] serving cells s (among the serving cells set S) whose power/attenuation ratio P/A (between it and that u-th user equipment UE.sub.u) is higher than said predefined power/attenuation ratio threshold TH.sub.P/A

    [0120] are identified as candidate serving cells s.sub.c and added to the candidate serving cells set S.sub.a.sup.k(u).

    [0121] As conceptually illustrated in the figure by loop control L.sub.3, the following operations (carried out at step 230) are iterated for each r-th radio resource of each candidate serving cell s.sub.c (until all the radio resources in the candidate serving cells set S.sub.a.sup.k have been considered, which condition causes the scheduling algorithm 200 to exit from the loop control L.sub.3).

    [0122] More particularly, for each r-th radio resource of each candidate serving cell s.sub.c, a signal to interference-plus-noise ratio estimate SINR.sub.r.sup.k (s.sub.c,u) (hereinafter, SINR.sub.r.sup.k (s.sub.c,u) estimate) is determined for the active data flow f.sub.a under evaluation as follows:

    [00002] SINR r k ( s c , u ) = P ( s c , u ) A ( s c , u ) .Math. ( N + I r k ( u ) )

    [0123] wherein: [0124] P(s.sub.c,u) denotes the transmission power of the candidate serving cell s.sub.c when transmission to the u-th user equipment UE.sub.u associated with the active data flow f.sub.a under evaluation takes place—such a transmission power P(s.sub.c,u) depending on the serving network node type (i.e., whether it is a macro node or a small node); [0125] A(s.sub.c,u) denotes the attenuation experienced between the candidate serving cell s.sub.c and the u-th user equipment UE.sub.u associated with the active data flow f.sub.a under evaluation, and is preferably calculated according to urban propagation models—such as those specified in ITU-R, “Guidelines for evaluation of radio interface technologies for IMT-Advanced”, Report ITU-R M.2135-1, December 2009, namely:


    A(s.sub.c,u)=G.sub.T+AP(θ.sub.b,u)−PL(s.sub.c,u) [0126] wherein [0127] G.sub.T is the antenna gain of the network node associated with the candidate serving cell, [0128] AP(θ.sub.b,u) is the antenna pattern factor, which depends on the angle θ(b,u) between an antenna maximum direction of the b-th network node 105.sub.b and the direction between the antenna and the u-th user equipment UE.sub.u, and [0129] PL(s.sub.c,u) is the path loss experienced between the network node and the u-th user equipment UE.sub.u (the latter depending on the central frequency f.sub.c of the component carrier used by the serving cell s.sub.c, the distance between the network node and the u-th user equipment UE.sub.u, on the Line of Sight (LoS) conditions between them, and on transmitting and receiving antenna heights; and [0130] I.sub.r.sup.k(u) denotes the total interference experienced by the u-th user equipment UE.sub.u on the r-th radio resource and is preferably equal to:

    [00003] I r k ( u ) = .Math. r .Math. .Math. allocated .Math. .Math. to .Math. .Math. ( s i , u i ) .Math. .Math. at .Math. .Math. k .Math. P ( s i , u i ) A ( s i , u ) [0131] being P(s.sub.i,u.sub.i)/A(s.sub.i,u) the interference experienced by the u-th user equipment UE.sub.u caused by another serving cell s.sub.i that is operating on the same r-th radio resource of the same c-th component carrier.

    [0132] Afterwards, yet for each active data flow f.sub.a of the active data flows set F.sub.a.sup.k, a weighting parameter W is calculated for, and associated with, each candidate serving cell-radio resource pair according to said SINR.sub.r.sup.k(s.sub.c, u) estimate and to an indication of the interference caused to (e.g., some or, as herein exemplary assumed, all) other active data flows f.sub.a of the cellular network 100—referred to as pollution hereinafter.

    [0133] According to an embodiment of the present invention, in order to achieve that, the SINR.sub.r.sup.k(s.sub.c, u) estimate is used to extract (still at step 230) the amount of data δ.sub.r.sup.k(s.sub.c,f.sub.a) of the active data flow f.sub.a that can be transferred by each candidate serving cell/radio resource pair during the (current) k-th timestep (e.g., based on D. Martin-Sacristan, J. F. Monserrat, J. Cabrejas-Penuelas, D. Calabuig, S. Garrigas, N. Cardona, “3GPP long term evolution: Paving the way towards next 4G”, Waves, 2009), thereafter the amount of data γ.sub.r.sup.k(s.sub.c, f.sub.a) actually transferred by the candidate serving cell/radio resource pair during the (current) k-th timestep as the minimum between the amount of data (δ.sub.r.sup.k(s.sub.a, f.sub.a)) and the data of the active data flow f.sub.a yet to be transmitted, i.e.:


    γ.sub.r.sup.k(s.sub.c,f.sub.a)=min(δ.sub.r.sup.k(s.sub.c,f.sub.a),l.sub.f.sub.a−t.sup.k(f.sub.a))

    [0134] Then (still at step 230), for each candidate serving cell/radio resource pair, a pollution value is calculated that takes into account the interference each allocation may generate. For the purposes of the present invention, for each active data flow f.sub.a under evaluation, the pollution value may be defined as the potential interference caused to (e.g., all) other active data flows f.sub.a in the cellular network 100 if that particular candidate serving cell/radio resource pair is added to the allocation set a.sup.k, and is preferably calculated as the sum of the interferences experienced by said other active data flows f.sub.a, i.e.:

    [00004] pollution .Math. .Math. ( s , f a , r ) = .Math. u a .Math. I r k ( u a ) .Math. .Math. given .Math. .Math. a k .Math. ( s , f , r ) ,

    [0135] being u.sub.a the users equipments with active traffic flows f.sub.a different from the active data flow f.sub.a under evaluation.

    [0136] Thereafter, step 235, the pollution values are normalized and weighting parameters W are obtained (each one for each candidate serving cell/radio resource pair of each active data flow f.sub.a) as follows:

    [00005] W = γ r k ( s , f a ) pollution .Math. .Math. ( s , f a , r )

    [0137] Then, as conceptually illustrated in the figure by loop control L.sub.4, the following steps 240-255 are iterated for each active data flow f.sub.a, until a candidate service cell/radio resource pair for each active data flow f.sub.a is added to the allocation set a.sup.k.

    [0138] More particularly, for each active data flow f.sub.a, and among the candidate serving cell/radio resource pairs (with the associated weighting parameters W), a potential (candidate serving cell/radio resource) allocation pair (s.sub.c*,r*) is determined based on the weighting parameter W associated with the candidate serving cell/radio resource pairs. Preferably, among the candidate serving cell/radio resource pairs, a potential allocation pair (s.sub.c*,r*) is determined as the candidate serving cell/radio resource pair associated with a best weighting parameter W according to a predetermined selection criterion (the predetermined selection criterion being not limiting for the present invention). According to embodiments of the present invention, such a predetermined selection criterion comprises a comparison with respect to a threshold weighting parameter. Alternatively (as in the considered example), or additionally, such a predetermined selection criterion comprises determining the best weighting parameter W as the maximum weighting parameter W (step 240), i.e.:


    s*,r*←arg max.sub.s,rW

    [0139] and the potential allocation pair (s.sub.c*,r*) under evaluation is added to a temporary allocation set a.sup.k.sub.temp (step 245)—the temporary allocation set a.sup.k.sub.temp thus comprising all allocation pairs so far determined (i.e., the current allocation set a.sub.k) and the potential allocation pair under evaluation, i.e.:


    a.sub.temp.sup.k=a.sub.k∪(s.sub.c*,r*)

    [0140] Then (step 250), a potential amount of data d.sub.temp that can be transmitted by the allocation pairs so far determined and the potential allocation pair (i.e., according to the temporary allocation set a.sup.k.sub.temp) is calculated as follows:


    d.sub.temp←Σ.sub.f.sub.aΣ.sub.s.sub.cχ.sup.k(s.sub.c,f.sub.a)

    [0141] wherein

    [0142] χ.sup.k(s.sub.c, f.sub.a) denotes the total amount of data pertaining to the active data flow f.sub.a transferred by the candidate serving cell s.sub.c over all allocated radio resources during the k-th timestep, i.e.:

    [00006] k ( s c , f a ) = .Math. r R .Math. γ r k ( s c , f a )

    [0143] Afterwards, the potential allocation pair (s.sub.c*,r*) is identified as (actual) allocation pair (and added to the allocation set a.sup.k) if the potential amount of data d.sub.temp is higher than an overall amount of data d.sub.curr that can be transmitted by the allocation pairs so far determined for all the active data flows f.sub.a (i.e., the current allocation set a.sub.k) and equal to:


    d.sub.curr←Σ.sub.f.sub.aΣ.sub.s.sub.cγ.sub.r.sup.k(s.sub.c,f.sub.a|a.sup.k)

    [0144] This is conceptually shown at decision step 255, wherein a check is performed aimed at evaluating whether the potential allocation pair (s.sub.c*,r*) increases the overall amount of data that can be transferred over the cellular network 100 (i.e., d.sub.temp>d.sub.curr). In the affirmative case (exit branch Y of the decision step 255), the potential allocation pair (s.sub.c*,r*) is added permanently to the allocation set a.sup.k (step 260), otherwise (exit branch N of the decision step 255), steps 240-255 are reiterated for another potential allocation pair (for the same active data flow f.sub.a).

    [0145] Preferably, when a potential allocation pair (s.sub.c*,r*) is added permanently to the allocation set a.sup.k, the weighting parameters W associated with all candidate serving cell/radio resource pairs (s.sub.c*,r*) associated with all other active data flows f.sub.a are set to 0, thus making that particular candidate serving cell/radio resource pair (s.sub.c*,r*) unavailable for the other active data flows f.sub.a once it is added to the allocation set a.sup.k. This ensures that in the following iteration, the next best allocation pair is selected.

    [0146] As should be readily understood, although not shown, whenever the weighting parameters W are all set to 0, it meaning that no potential candidate serving cell/radio resource pairs fulfilling the interference constraints according to the present invention can be allocated to any other active data flow f.sub.a, the scheduling algorithm 200 exits from the loop control L.sub.4 (and goes on directly to step 275, where it ends).

    [0147] Then (step 265) the serving cell of the just-added allocation pair is identified as a primary serving cell Pcell(u) or as a secondary serving cell Scell(u) for the u-th user equipment UE.sub.u which the active data flow f.sub.a associated with such an allocation pair pertains to. According to an embodiment of the present invention, the serving cell of the just-added allocation pair is identified as a primary serving cell (and added to the primary serving cells set Pcell(u) for the u-th user equipment UE.sub.u) if no primary serving cell is assigned to said u-th user equipment UE.sub.u, or as a secondary service cell providing aggregate component carrier (and added to the secondary serving cells set Scell(u) for the u-th user equipment UE.sub.u) otherwise.

    [0148] Thus, the scheduling algorithm 200 according to the discussed embodiment admits empty primary Pcell(u) and secondary Scell(u) serving cells sets, and selects the primary or secondary cells for each user equipment UE.sub.u along the way. However, as an alternative, predefined (fixed, unchangeable) primary Pcell(u) and secondary Scell(u) serving cells sets may be provided, in which case the scheduling algorithm 200 may be configured to schedule the user equipments UE.sub.u (i.e., the associated active data flows f.sub.a) only by taking into account the serving cells indicated in these sets.

    [0149] Then (step 270), the potential amount of data d.sub.temp is set as the (actual) overall amount of data d.sub.curr that can be transmitted by the allocation set a.sub.k so far determined (and including the potential allocation pair (s.sub.c*,r*), and the respective active data flow f.sub.a, lastly added to the allocation set a.sub.k), i.e.:


    d.sub.curr=d.sub.temp

    and the total amount of data, of each active data flow f.sub.a, transmitted at the following, (k+1)-th, timestep (denoted as t.sup.k+1(f.sub.a)) is updated, with respect to the total amount of data, of the same active data flow f.sub.a, transmitted up to k-th timestep (i.e., t.sup.k(f.sub.a)), as follows:

    [00007] t k + 1 ( f a ) = t k ( f a ) + .Math. s c .Math. χ ( s c , f a )

    [0150] and used as input (at step 210), together with new data flows f requests, at the next running of the scheduling algorithm 200.

    [0151] Then, the steps 240-270 are iterated for each active data flow f.sub.a until the active data flows f.sub.a are completed (in which case, as conceptually illustrated by “end” arrow from loop control L.sub.4, the scheduling algorithm 200 goes on to step 275), thereafter the steps 210-270 are iterated for each r-th radio resource until all radio resources are evaluated (loop connection L.sub.1). It should be noted that not all radio resources available at a serving cell are necessarily allocated indeed, allocation of a radio resource is avoided when causing high interference to user equipment that are being served on that radio resource from other serving cells.

    [0152] Finally, the scheduling algorithm 200, outputs the allocation set a.sup.k (step 275). As should be readily understood from the foregoing, the allocation set a.sup.k comprises serving cell/radio resource pairs each one associated with a respective active data flow f.sub.a- or, otherwise stated, the allocation set a.sup.k comprises serving cell/radio resource/active data flow triplets.

    [0153] Naturally, in order to satisfy local and specific requirements, a person skilled in the art may apply to the solution described above many logical and/or physical modifications and alterations. More specifically, although the present invention has been described with a certain degree of particularity with reference to preferred embodiments thereof, it should be understood that various omissions, substitutions and changes in the form and details as well as other embodiments are possible. In particular, different embodiments of the invention may even be practiced without the specific details set forth in the preceding description for providing a more thorough understanding thereof; on the contrary, well-known features may have been omitted or simplified in order not to encumber the description with unnecessary details. Moreover, it is expressly intended that specific elements and/or method steps described in connection with any disclosed embodiment of the invention may be incorporated in any other embodiment.

    [0154] More specifically, the solution according to an embodiment of the invention lends itself to be implemented through an equivalent method (by using similar steps, removing some steps being not essential, or adding further optional steps); moreover, the steps may be performed in different order, concurrently or in an interleaved way (at least partly).

    [0155] In addition, analogous considerations apply if the cellular network has a different structure or comprises equivalent components, or it has other operating features. In any case, any component thereof may be separated into several elements, or two or more components may be combined into a single element; in addition, each component may be replicated for supporting the execution of the corresponding operations in parallel. It should also be noted that any interaction between different components generally does not need to be continuous (unless otherwise indicated), and it may be both direct and indirect through one or more intermediaries.

    [0156] Moreover, although explicit reference has been made to a cellular network based on the LTE/LTE-Advanced standard, it should be understood that it is not in the intentions of the Applicant to be limited to the implementation of any particular wireless communication system architecture or protocol. In this respect, it is also possible to provide that, with suitable simple modifications, the proposed scheduling algorithm may be applied also to other cellular networks, such as the view forthcoming 5G (and beyond) cellular networks.