ASSIGNING NETWORK RESOURCES TO USER EQUIPMENT DEVICES

Information

  • Patent Application
  • 20240357557
  • Publication Number
    20240357557
  • Date Filed
    December 11, 2023
    a year ago
  • Date Published
    October 24, 2024
    8 months ago
Abstract
An apparatus and a related method for determining an assignment of Resource Blocks (RBs) from one or more Cell Tower (CTs) to a plurality of User Equipment devices (UEs), the assignment minimizing a total assignment cost is provided. The method includes modifying a system of equations by introducing a plurality of dummy UEs therein. The system of equations is defined using a cost matrix, a RB-Supply vector and a RB-Demand vector. The method also includes modifying the system of equations by introducing one or more dummy CTs therein and resolving the system of equations using a Customized Hungarian method. The method in addition includes reversing the modification made by introducing the dummy CTs and reversing the modification made by introducing the dummy UEs, thereby obtaining the assignment.
Description
TECHNICAL FIELD

The present invention relates to network resource assignment to user equipment devices.


BACKGROUND

Traditional methods for assigning network resources to user equipment device are mostly based on location and signal strength.


The present disclosure aims at providing an improved solution for assigning network resources to user equipment devices considering a cost metric.


SUMMARY

This summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter.


A system of one or more computers can be configured to perform particular operations or actions by virtue of having software, firmware, hardware, or a combination of them installed on the system that in operation causes or cause the system to perform the actions. One or more computer programs can be configured to perform particular operations or actions by virtue of including instructions that, when executed by data processing apparatus, cause the apparatus to perform the actions.


In one general aspect, a method for determining an assignment of Resource Blocks (RBs) from one or more Cell Tower (CTs) to a plurality of User Equipement devices (UEs), the assignment minimizing a total assignment cost is provided. The method includes modifying a system of equations by introducing a plurality of dummy UEs therein. The system of equations is defined using a cost matrix, a RB-Supply vector and a RB-Demand vector. The method also includes modifying the system of equations by introducing one or more dummy CTs therein and resolving the system of equations using a Customized Hungarian method. The method in addition includes reversing the modification made by introducing the dummy CTs and reversing the modification made by introducing the dummy UEs, thereby obtaining the assignment. Other embodiments of this aspect include corresponding computer systems, apparatus, and computer programs recorded on one or more computer storage devices, each configured to perform the actions of the methods.


Implementations may include one or more of the following features. The method may include, following the introduction of dummy CTs, modifying the system of equations to obtain a resolvable system. The method may include, following the reversing of the modification made by introducing the dummy UEs, verifying that the obtained assignment meets constraint of each of the UEs being assigned to one of the CTs if and only if all requirement for the RBs for any given one of the UEs are supplied by available RBs of the one of the CTs. The method may include assigning RBs from the CTs to the UEs from the obtained assignment. Implementations of the described techniques may include hardware, a method or process, or a computer tangible medium.


In one general aspect, an apparatus is provided for determining an assignment of Resource Blocks (RBs) from one or more Cell Tower (CTs) to a plurality of User Equipement devices (UEs). The apparatus includes one or more processors configured to modify a system of equations by introducing a plurality of dummy UEs therein. The system of equations is defined using a cost matrix, a RB-Supply vector and a RB-Demand vector. The one or more processors are also configured to modify the system of equations by introducing one or more dummy CTs therein and resolve the system of equations using a Customized Hungarian method. The one or more processors are also configured to reverse the modification made by introducing the dummy CTs and reverse the modification made by introducing the dummy UEs, thereby obtaining the assignment. Other embodiments of this aspect include corresponding computer systems, apparatus, and computer programs recorded on one or more computer storage devices, each configured to perform the actions of the methods.


Implementations may include one or more of the following features. The one or more processors may also be configured to, following the introduction of dummy CTs, modifying the system of equations to obtain a resolvable system. The one or more processors may also be configured to, following the reversing of the modification made by introducing the dummy UEs, verifying that the obtained assignment meets constraint of each of the UEs being assigned to one of the CTs if and only if all requirement for the RBs for any given one of the UEs are supplied by available RBs of the one of the CTs. The one or more processors may also be configured to assigning RBs from the CTs to the UEs from the obtained assignment. Implementations of the described techniques may include hardware, a method or process, or a computer tangible medium.





BRIEF DESCRIPTION OF THE DRAWINGS

Further features and exemplary advantages of the present invention will become apparent from the following detailed description, taken in conjunction with the appended drawings, in which:



FIG. 1 is a logical modular representation of an exemplary embodiment of a network node in accordance with the teachings of the present invention;



FIG. 2 is a state diagram representation of a method for determining an assignment of Resource Blocks (RBs) in accordance with the teachings of the present invention;



FIG. 3 is a nodal representation of a Reduced Bipartite graph in accordance with the teachings of the present invention; and



FIG. 4 is a nodal representation of a Reduced Bipartite graph in accordance with the teachings of the present invention.





DETAILED DESCRIPTION

Reference is now made to the drawings in which FIG. 1 shows a logical modular representation of an exemplary system 2000 comprising a network node 2100. The network node 2100 comprises a memory module 2160, a processor module 2120, a network resource assignment module 2130 and a network interface module 2170. The network node 2100 may also include a user interface module 2150.


The system 2000 may comprise a storage system 2300 for storing and accessing long-term (i.e., non-transitory) data and may further log data while the network node 2100 is being used. FIG. 1 shows examples of the storage system 2300 as a distinct database system 2300A, a distinct module 2300C of the network node 2100 or a sub-module 2300B of the memory module 2160 of the network node 2100. The storage system 2300 may be distributed over different systems A, B, C. The storage system 2300 may comprise one or more logical or physical as well as local or remote hard disk drive (HDD) (or an array thereof). The storage system 2300 may further comprise a local or remote database made accessible to the network node 2100 by a standardized or proprietary interface or via the network interface module 2170.


The network interface module 2170 represents at least one physical interface that can be used to communicate with other network nodes. The network interface module 2170 may be made visible to the other modules of the network node 2100 through one or more logical interfaces. The actual stacks of protocols used by the physical network interface(s) and/or logical network interface(s) 2172-2178 of the network interface module 2170 do not affect the teachings of the present invention.


The processor module 2120 may represent a single processor with one or more processor cores or an array of processors, each comprising one or more processor cores. The memory module 2160 may comprise various types of memory (different standardized or kinds of Random Access Memory (RAM) modules, memory cards, Read-Only Memory (ROM) modules, programmable ROM, etc.).


A bus 2180 is depicted as an example of means for exchanging data between the different modules of the network node 2100. The teachings presented herein are not affected by the way the different modules exchange information. For instance, the memory module 2160 and the processor module 2120 could be connected by a parallel bus, but could also be connected by a serial connection or involve an intermediate module (not shown) without affecting the teachings of the present invention.


The network resource assignment module 2130 provides resource assignment-related services to the network node 2100, which will be described in more details hereinbelow.


The variants of processor module 2120, memory module 2160 and network interface module 2170 usable in the context of the present invention will be readily apparent to persons skilled in the art. Likewise, even though explicit mentions of the network resource assignment module 2130, the memory module 2160, the user interface module 2150 and/or the processor module 2120 are not made throughout the description of the present examples, persons skilled in the art will readily recognize when such modules are used in conjunction with other modules of the network node 2100 to perform routine as well as innovative elements presented herein.


The network node 2100 may be dedicated to the network resource assignment challenge for the network 2200. In other implementations, the network node 2100 has other functions (e.g., base station or base station controller) in the network 2200. Additional network nodes 21001 to 2100n are depicted in the example of FIG. 1 as additional or alternative points of implementation of the network resource assignment module 2130. Furthermore, an actual resource assignment may affect one or many of network nodes 2100, 21001 to 2100n.


The following sections provide examples of implementations of the network resource assignment challenge in the form of a min-sum assignment for user equipment devices with regards to resources available from cell towers. Skilled persons will readly undertsand that the reference to User Equipment devices (UEs), Resource Bolcks (RBs) and Cell Towers (CTs) is made for ease of reference and that other terminologies may be used (e.g., considering a given deployment standard) without affecting the teachings found herein. Likewise, a definition of cost of assignment of RBs to UEs from CTs is dependent on the context of deployment and may be expressed any given manner relevant thereto.


While the present invention refers to Cell tower Transmission to UE, it is implied that the invention applies to any “serving node” serving any “served node”. In some cases, the node might have both capabilities within.



FIG. 2 depicts an example of a method 1000 (e.g., executed in the network node 2100) for determining an assignment of Resource Blocks (RBs) from one or more Cell Tower (CTs) to a plurality of User Equipement devices (UEs), the assignment minimizing a total assignment cost. the method 1000 comprises preprocessing steps of modifying a system of equations by introducing 1210 a plurality of dummy UEs and modifying the system of equations by introducing 1212 one or more dummy CTs therein. The system of equations being defined using a cost matrix, a RB-Supply vector and a RB-Demand vector. The method 1000 also comprises resolving 1230 the system of equations using a Customized Hungarian method beofre applying postprocessing steps of reversing 1240 the modification made by introducing the dummy CTs and reversing 1242 the modification made by introducing the dummy UEs, thereby obtaining the assignment. The method 1000 may further comprise, following the introduction of dummy CTs, modifying the system of equations to obtain a resolvable system. The method 1000 may further comprisise following the reversing of the modification made by introducing 1210 the dummy UEs, verifying that the obtained assignment meets constraint of each of the UEs being assigned to one of the CTs if and only if all requirement for the RBs for any given one of the UEs are supplied by available RBs of the one of the CTs. The method 1000 may further comprise assigning RBs from the CTs to the UEs from the obtained assignment.


Various network links may be implicitly or explicitly used in the context of the present invention. While a link may be depicted as a wireless link, it could also be embodied as a wired link using a coaxial cable, an optical fiber, a category 5 cable, and the like. A wired or wireless access point (not shown) may be present on the link between. Likewise, any number of routers (not shown) may be present and part of the link, which may further pass through the Internet.


The present invention is not affected by the way the different modules exchange information between them. For instance, the memory module and the processor module could be connected by a parallel bus, but could also be connected by a serial connection or involve an intermediate module (not shown) without affecting the teachings of the present invention.


A method is generally conceived to be a self-consistent sequence of steps leading to a desired result. These steps require physical manipulations of physical quantities. Usually, though not necessarily, these quantities take the form of electrical or magnetic/electromagnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated. It is convenient at times, principally for reasons of common usage, to refer to these signals as bits, values, parameters, items, elements, objects, symbols, characters, terms, numbers, or the like. It should be noted, however, that all of these terms and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities. The description of the present invention has been presented for purposes of illustration but is not intended to be exhaustive or limited to the disclosed embodiments. Many modifications and variations will be apparent to those of ordinary skill in the art. The embodiments were chosen to explain the principles of the invention and its practical applications and to enable others of ordinary skill in the art to understand the invention in order to implement various embodiments with various modifications as might be suited to other contemplated uses.


I. APPENDIX—GENERIC MIN-SUM ASSIGNMENT CHALLENGE

Consider the Agent-Task Assignment challenge consisting of m agents versus n tasks. Define custom-character and custom-character as the index sets of tasks and agents such that n=|custom-character| and m=|custom-character|. Define c=[cj] as the Resource-Block-Supply vector whose clement cj denotes the maximum number of resource-blocks that agent j is able to provide in order to address the tasks at a given time instant, for any j∈custom-character. Moreover, define d=[di] as the Resource-Block-Demand vector whose clement di denotes the number of resource-blocks that task i demands in order to get fully addressed by an agent, for any i∈custom-character. Let T=[tij] be defined as the cost matrix where tij denotes the cost of assigning the ith task to be performed by the jth agent such that agent j uses only one of its resource-blocks to supply only one resource-block demand of task i, for any i∈custom-character and j∈custom-character. By defining the binary matrix X=[xij]∈{0, 1}n×m as the decision matrix, the ith task is assigned to the jth agent through supplying all di resource-blocks of task i by agent j when xij=1, and xij=0 otherwise. The objective is to find the optimal solution to Agent-Task Assignment challenge such that the total cost of agent-task assignment is minimized subject to a number of constraints. This challenge is then formulated as an optimization problem as follows









min







j






(




i

𝒜




d
i



t

i

j




x

i

j




)





(

1

a

)

















subject


to






j





x

i

j





1

,







i



,







(

1

b

)




















i

𝒜




d
i



x

i

j






c
j


,







j



,







(

1

c

)

















x

i

j




{

0
,
1

}


,







i

𝒜


,

j



.









(

1

d

)







Note that the first constraint in (1b) indicates that all di demands of the resource-blocks for the ith task should be provided by at most one single agent, for any i∈custom-character. Moreover, the second constraint in (1c) indicates that any agent j is capable of supplying at most cj resource-blocks for the tasks in the problem, for any j∈custom-character. This constraint excludes the scenario where more than one agent are assigned to supply resource-block demands of a single task by labeling it as an invalid assignment. Note also that di, which describes the number of resource-block demands of the ith task, appears as a coefficient in the cost function formulation in (1a). Cost function is defined as the summation of cost of all assigned agent-task pairs such that the resource-block demand of the ith task (i.e. di) appears as a coefficient.


Let also define c:=Σj=1mcj and d:=Σi=1ndi as the Total Resource-Block Supply provided by all the agents and the Total Resource-Block Demand requested by all the tasks, respectively. Depending on the values of scalars c and d, we encounter three different scenarios including:

    • Resource-Block Surplus scenario for which c>d,
    • Resource-Block Deficit scenario for which c<d, and
    • Standard scenario for which c=d.


      The optimal assignment method is then developed to be capable of solving (1) in all the three aforemen-tioned scenarios.


The proposed method starts by execution of the First Pre-Processing step in which a number of dummy tasks are introduced into the problem in order to represent the requirement of di resource-blocks for full accomplishment of each task i. To this end, the index set custom-character and cost matrix T are replaced with custom-character and {tilde over (T)}, respectively. Afterwards, the Second Pre-Processing step is performed by introducing dummy agents into the problem. The dummy agents are used to implement the impact of cj resource-blocks supplied by each agent j. To this end, the index set custom-character and cost matrix {tilde over (T)} are replaced with custom-character and T, respectively. The Third Pre-Processing step is then used to make the formulation of the problem compatible with the scenarios of Resource-Block Surplus, Resource-Block Deficit and Standard. To this end, the index sets custom-character, custom-character and cost matrix T are replaced with custom-character, custom-character and {circumflex over (T)}, respectively, through introduction of additional dummy tasks or dummy agents as well as addition of either zero rows or zero columns of appropriate sizes to the weight matrix. Then, we run a customized version of the Hungarian algorithm to solve the Min-Sum Assignment (MSA) challenge. The customization part is used in order to end up with a valid assignment {circumflex over (M)}* at the end of the optimization through exclusion of all the invalid assignments. More specifically, an assignment could become invalid in this stage if the resource-block demand of a certain task i is provided by more than one agent j, resulting in shared supply of the ith task's demands by more than one agent (violation of constraint (1b)). The innovations of this steps are realized through establishing a new method to find the Augmenting-Path in the process of Hungarian algorithm. The First Post-Processing step is then implemented to reverse the previous changes made in the Third Pre-Processing step which results in the modified optimal assignment M* at the end. The Second Post-Processing step is used to reverse the previous changes made in the Second Pre-Processing step by replacing the index of dummy agents with real agents, resulting in the optimal assignment {tilde over (M)}*. Finally, the Third Post-Processing step is utilized to reverse the modifications made in the First Pre-Processing step through replacing the index of dummy tasks with real tasks, resulting in the final optimal assignment M*.


Brief Description of the Pre/Post-Processing Steps

In order to solve the presented Agent-Task Assignment challenge and given the values of n, m, T, c and d as inputs, we reformulate the problem based on the values of RB-Supply vector c, RB-Demand vector d, Total RB Supply c and Total RB Demand d through introduction of dummy agents and dummy tasks into the problem. After this transformation, we check whether we are in the RB Surplus (c>d), RB Deficit (c<d) or Standard (c=d) scenarios. In Standard scenario, we take no further action. However, we experience excess of RBs supplied by the agents compared to the RB demand by the tasks in RB Surplus scenario, while we are facing a shortage in supply of RBs provided by the agents compared to the demand of RBs requested by the tasks in RB Deficit scenario. The objective is to end up with a transformed cost matrix with equal number of rows and columns at the end of this step. This objective is then achieved through addition of appropriate number of zero row vectors or zero column vectors to the cost matrix, resulting in the desired outcome at the end.


A customized version of Hungarian algorithm is then employed to solve the MSA challenge, resulting in the Customized Hungarian method to solve the previously-described challenge. More specifically, this method works based on the Primal-Dual approach to tackle the MSA optimization problem. To this end, the method starts with an infeasible solution of the primal-version along with a feasible solution of the dual-version. Then, the iterations of the main while-loop moves forward by increasing the value of dual cost function which in turn results in reducing the value of the primal cost function, while satisfying the Complementary Slackness condition at every iteration of the main while-loop. Once the solution of the primal-version becomes feasible, it is guaranteed that the primal-version of the optimization problem has reached its minimum value while the dual-version has reached its maximum at the same time, signifying the termination condition of the optimization. Thus, the main while-loop of the Hungarian algorithm continues its iterations as long as the index set of Free Dummy Agents is non-empty. Note that the emptiness of this index set indicates that the primal solution has become feasible, which guarantees the convergence to the optimal solution. In each iteration of the main while-loop, it is required to search for an Augmenting-Path for which a Depth-First Search (DFS) procedure is used in this work to perform the search. However, the desired Augmenting-Path should be appropriately searched for such that the constraint (1b) of the optimization problem is respected at the same time. Satisfying this constraint calls for necessary modifications in the traditional DFS-based procedure used for finding Augmenting-Path, which is not considered in the traditional Hungarian algorithm. Satisfaction of this requirement calls for an improved version of the Hungarian algorithm which is called the Customized Hungarian method.


Once a valid optimal assignment is obtained by implementation of the Customized Hungarian method for the transformed Agent-Task Assignment challenge, we need to reverse the impact of the transformations made in the three pre-processing steps so that the optimal assignment provides a solution of the original Agent-Task Assignment challenge. This objective is achieved by first reversing the transformation done to equalize the number of rows and columns of the cost matrix. After that, the indices of dummy agents and dummy tasks are replaced with the indices of real agents and real tasks, respectively. all these actions are done in form of three post-processing steps which at the end result in the optimal solution for the original Agent-Task Assignment challenge.


II. APPENDIX—NEW METHOD TO SOLVE MIN-SUM ASSIGNMENT FOR UE-CT APPLICATION

Let assume we have n User Equipments (UEs), m Cell Towers (CTs), the Cost Matrix T=[tij]∈custom-character, the Resource-Block (RB)-Supply vector c=[cj] and the Resource-Block (RB)-Demand vector d=[di] as inputs of the method. By considering custom-character and custom-character as the index sets of UEs and CTs, respectively, let define c:=Σj=1mcj and d:=Σi=1ndi as the Total RB Supply and Total RB Demand, respectively. The quality of the communication channel for connecting ith UE to jth CT is quantified in terms of the RBs needed to establish this channel, for any i∈custom-character and j∈custom-character.


To formulate the Agent-Task Assignment challenge for the UE-CT Assignment application, the RB-Supply vector c=[cj] is defined to quantify the RB supply provided by each CT to establish the communication channels between UEs and CTs. In addition, the RB-Demand vector d=[di] is defined as another vector where di denotes the number of RBs required to establish a communication channel from ith UE to any of the CTs. Define T=[tij] as the Cost Matrix where tij denotes the cost of establishing a communication channel from ith UE to jth CT through supplying a single RB demand of ith UE by the jth CT, for any i∈custom-character and j∈custom-character. Note that the ith UE is successfully assigned to the jth CT only if all di RBs demanded by the ith UE are simultaneously supplied by the jth CT while the total number of RBs supplied by the jth CT to all UEs is not surpassing cj.


Definition 1: The jth CT can supply at most cj RBs for the RB demands of different UEs, forming the jth element of the RB-Supply vector c.


Definition 2: The ith UE requires di RBs for its successful assignment, which is given as the ith element of the RB-Demand vector d.


Definition 3: The ith UE is assigned to the jth CT if and only if all the di demands for resource blocks (RBs) of the ith UE are supplied by the available resource blocks (RBs) of the jth CT.


The objective is to find the optimal assignment vector M*=[m*i] which minimizes the total assignment cost by using the available supplies of RBs as much as possible. A new method to solve this optimization problem is then proposed, whose detailed steps are provided as follows:

    • 1) method starts by performing the First Pre-Processing step where UE index set custom-character and cost matrix T∈custom-character are replaced with custom-character and {tilde over (T)}∈custom-character, respectively, through introduction of Dummy UEs into the problem. To this end,









=




i
=
1

n


{


1
+







k
=
1


i
-
1




d
k



,

2
+







k
=
1


i
-
1




d
k



,


,


d
i

+







k
=
1


i
-
1




d
k




}






(

2

a

)













T
~

=


[





t

1
:








t

1
:







d
1







t

2
:








t

2
:







d
2











t

n
:








t

n
:







d
n





]









(

2

b

)









    • 2) Second Pre-Processing step is then performed by replacing CT index set custom-character and cost matrix {tilde over (T)} with custom-character and Tcustom-character, respectively, through introduction of Dummy CTs into the problem, such that












=




i
=
1

m


{


1
+







k
=
1


j
-
1




c
k



,

2
+







k
=
1


j
-
1




c
k



,


,


c
j

+







k
=
1


j
-
1




c
k




}






(

3

a

)













T
-

=



[








t
~


:
1








t
~


:
1






c
1








t
~


:
2








t
~


:
2






c
2













t
~


:
m








t
~


:
m



]




c
m








(

3

b

)









    • 3) Third Pre-Processing step is followed by comparing the values of c and d. In this step, we are facing a scenario of RB Surplus (c>d) or RB Deficit (c<d) or Standard (c=d). By defining r:=max {c, d}, the cost matrix T and index sets custom-character and custom-character are replaced with the cost matrix {circumflex over (T)}∈custom-character as well as index sets custom-character and custom-character, respectively, as follows













T
ˆ

=

{






[



T
_










0


c
_

×
1








0


c
_

×
1






]


s
-










if



c
_


>

d
_







T
_





if



c
_


=

d
_









[




T
_







0


d
_

×
1








0


d
_

×
1






]


s
-








if



c
_


<

d
_







s
_


=

{





c
_

-

d
_






if



c
_


>

d
_






0




if



c
_


=

d
_








d
_

-

c
_






if



c
_


<

d
_












(

4

a

)












=

{







𝒜
_



{



d
_

+
1

,


d
_

+
2

,



,

r
_


}






if



c
_


>

d
_







𝒜
_





if



c
_




d
_






=

{






if



c
¯




d
¯









{



c
¯

+
1

,


c
¯

+
2

,


,

r
¯


}






if



c
¯


<

d
¯












(

4

b

)









    • 4) The final transformed version of Min-Sum Assignment challenge with index sets custom-character and custom-character and cost matrix {circumflex over (T)} is solved using Customized Hungarian method with a procedure based on Depth-First Search to look for the Augmenting-Path inside the main while-loop of the method. More specifically, this method contains a new procedure in order to search for the Augmenting-Path which results in a valid assignment satisfying constraints (1b) and (1c) at the same time. At the end, the optimal assignment vector {circumflex over (M)}*∈custom-character is generated by the Customized Hungarian method.

    • 5) First Post-Processing step is performed by reversing the transformations made in Third Pre-Processing step which results in optimal assignment vector M*∈(custom-character∪{0})c, such that














M
¯

*

=

{






M
^

*





"\[LeftBracketingBar]"




m
^

i
*

=

0




i


\











if



c
_


>

d
_








M
^

*





if



c
_


=

d
_







[



m
^

1
*




m
^

2
*








m
^


c
_

*


]





if



c
_


<

d
_










(
5
)









    • 6) Second Post-Processing step is performed by reversing the transformations performed in Second Pre-Processing step which results in optimal assignment vector {tilde over (M)}*∈(custom-character∪{0})c, such that














M
~

*

=

[


m
~

i
*

]





(

6

a

)














m
~

i
*

=

{





j





"\[LeftBracketingBar]"









k
=
1


j
-
1




c
k


<


m
_

i
*









k
=
1

j



c
k










if




m
_

i
*



0





0




if




m
_

i
*


=
0




,



i










(

6

b

)









    • 7) Third Post-Processing step is performed by reversing the transformations made in First Pre-Processing step which results in optimal assignment vector M*∈(custom-character∪{0})n, such that













M
*

=

[

m
i
*

]





(

7

a

)













m
i
*

=

{




j




if

(



m
~









k
=
1


i
-
1




d
k


+
1

*

=
j

)



(



m
~









k
=
1


i
-
1




d
k


+
2

*

=
j

)





(



m
~









k
=
1


i
-
1




d
k


+

d
i


*

=
j

)







0



if


Oth

e

r

w

i

s

e




,




i























(

7

b

)







A more detailed description of the proposed method is provided in pseudo-code form in Algorithms 1 and 2.


Customized Hungarian Method to Solve Min-Sum Assignment for UE-CT Application





    • Inputs to the method: Cost matrix {circumflex over (T)}=[{circumflex over (t)}ij]∈custom-character where r:=max {c,d}, UE index set custom-character, CT index set custom-character

    • Output of the method: Optimal assignment vector {circumflex over (M)}*=[{circumflex over (m)}*i]∈custom-character





After preforming the previously-explained three pre-processing steps, we are dealing with a balanced Mcustom-characterA challenge. The Customized Hungarian method starts with an Initialization step at the beginning where Dual-Pair {u(l)=[ui(l)], v(l)=[vj(l)]}, Reduced Cost Matrix T̆=[t̆ij]∈custom-character, assignment vector M̆(l)=[m̆i(l)] and the index set of Free Dummy UEs custom-character(l) are initialized as follows












u
i

(
0
)





min



j






t
ˆ


i

j




,



i







(

8

a

)















v
j

(
0
)





min



i



[



t
ˆ


i

j


-


u
i

(
0
)


]


,



j







(

8

b

)
















t



i

j


(
0
)





t
ˆ


i

j


-


u
i

(
0
)

-


v
j

(
0
)



,



i



,

j






(

8

c

)















m


i

(
0
)



{




j
,




if





j




|



t



i

j


(
0
)


=

0


(

j





m


k

(
0
)





k




i
-
1






)









0
,




if





j




|



t



i

j


(
0
)


=

0


(

j





m


k

(
0
)





k




i
-
1






)












(

8

d

)














𝒜




(
0
)




{

i





"\[LeftBracketingBar]"





m


i



(
0
)


=
0




}





(

8

e

)







After finalizing the initialization step, the main while-loop of the method with iteration index l starts where the lth iteration is implemented as long as the index set of Free Dummy UEs custom-character(l) is non-empty. Afterwards, the Free Dummy UE index i*(l) is chosen as an arbitrary element of the non-empty index set custom-character(l).


The next objective is to find an Augmenting-Path custom-character(l) which starts from i*(l) and ends in any Free Dummy CT belonging to the index set custom-character. To this end, an inner while-loop with iteration index p, which is embedded inside the main while-loop, is invoked. By setting p←0 and initializing the binary variable P as true, the inner while-loop is executed as long as P remains true. Let custom-characteru, custom-characterv and custom-characterv be defined as the index sets of Scanned UEs, Labeled CTs and Scanned CTs, respectively. Assume that the obtained Augmenting-Path is saved inside a set custom-character, while two LIFO Stacks of custom-character1 and custom-character2 are used in the process of search for the desired Augmenting-Path inspired by the Depth-First Search (DFS) method. The introduced sets are then initialized as follows











S
u




,


v




,


S
v




,




,


C
1




,


C
2








(
9
)







The Intermediate Dummy UE index s(p) and the Intermediate Dual-Pair {ū=[ūi], v=[vj]} for the inner while-loop are then initialized by setting











s

(
0
)




i
*

(
l
)


,


u
¯



u

(
l
)


,


v
¯



v

(
l
)






(
10
)







By entering the inner while-loop, the set of Scanned UEs custom-characteru is updated first at the pth iteration, while the Intermediate Reduced Cost Matrix R=[rij]∈custom-character and the Intermediate Dummy CT index t(p) are evaluated as follows










S
u




S
u



{

s

(
p
)

}






(

11

a

)













r

i

j






t
ˆ


i

j


-


u
¯

i

-


v
¯

j






(

11

b

)













t

(
p
)



{

j





v






"\[LeftBracketingBar]"



r


s

(
p
)

,
j


=
0




}





(

11

c

)







for any i∈custom-character and j∈custom-character. In case t(p) exists, the following updates of the sets custom-characterv, custom-character1, and custom-character2 then take place










v




v



{

t

(
p
)

}






(

12

a

)













C
1




C
1



{

s

(
p
)

}






(

12

b

)













C
2




C
2



{

t

(
p
)

}






(

12

c

)







By checking the emptiness of the index set custom-characterv\custom-characterv as well as the LIFO Stack custom-character1, one of the following four different cases can occur in every iteration p of the inner while-loop

    • 1) DPU (dual-pair update): it occurs when custom-characterv\custom-characterv=∅ and custom-character1=∅
    • 2) BTR (backtracking): it occurs when custom-characterv\custom-characterv=∅ and custom-character1=∅
    • 3) FWD (moving forward): it occurs when custom-characterv\custom-characterv≠∅ and ∃i∈custom-character|m̆i(l)=t(p)
    • 4) APF (augmenting-path found): it occurs when custom-characterv\custom-characterv≠∅ and /∃i∈custom-character|m̆i(l)=t(p)


      If DPU case happens, the following updates take place










δ



min


i


𝒮
u


,

j




v






r

i

j




,




(

13

a

)















u
¯

i





u
¯

i

+
δ


,



i


𝒮
u



,




(

13

b

)















v
¯

j





v
¯

j

-
δ


,



j


v



,





(

13

c

)















s

(

p
+
1

)




i
*

(
l
)


,


𝒮
u




,


v




,


𝒮
v




,


𝒫
_








(

13

d

)







If BTR case happens, the following updates are implemented










x


L

I

F


O

(

C
1

)



,


C
1




C
1



{
x
}







(

14

a

)













y


LI

F


O

(

C
2

)



,


C
2





C
2

(
p
)



{
y
}







(

14

b

)














s

(

p
+
1

)


x

,





{


(

x
,
y

)

,

(

y
,

{



i


|



m


i



(
l
)



=
y

}


)


}







(

14

c

)







If FWD case happens, the following updates are implemented










𝒮
v




𝒮
v



{

t

(
p
)

}






(

15

a

)













s

(

p
+
1

)



{



i


|



m


i



(
l
)



=

t

(
p
)


}





(

15

b

)
















{


(


s

(
p
)

,

t

(
p
)


)

,

(


t

(
p
)



{

i





"\[LeftBracketingBar]"





m


i

(
l
)

=

t

(
p
)





}


)


}






(

15

c

)







If APF case occurs, the following updates happen











𝒮
v




𝒮
v



{

t

(
p
)

}



,


s

(

p
+
1

)



s

(
p
)






(

16

a

)

















{

(


s

(
p
)

,

t

(
p
)


)

}



,

P

false





(

16

b

)







The iterations of the inner while-loop continues by setting p←p+1 until P obtains a false value. This concludes the description of the inner while-loop by setting custom-character(l)←custom-character. By returning back to the main while-loop, the following updates for Dual-Pair vectors {u(l+1), v(l+1)}, Reduced Cost Matrix T̆(l+1), Assignment vector M̆(l+1), and Free Dummy UEs set custom-character(l+1) are implemented










{


u

(

l
+
1

)

,


v

(

l
+
1

)


}



{


u
¯

,


v
¯


}





(

17

a

)














T


(

l
+
1

)


R




(

17

b

)















m
˙

i

(

l
+
1

)



{




j




if





j




|


(

i
,
j

)



𝒫

(
l
)










m
˙

i



(
l
)






if





j




|


(

i
,
j

)



𝒫

(
l
)











i


𝒜
^









(

17

c

)














(

l
+
1

)




{

i



𝒜
^





"\[LeftBracketingBar]"





m


i



(

l
+
1

)


=
0




}





(

17

d

)







Note that custom-character(l+1)≠∅ holds as long as M̆(l+1) does not have its maximum cardinality. The iterations of the main while-loop continues by setting l←l+1 until the index set custom-character(l+1) becomes empty. At the end, the optimal assignment vector {circumflex over (M)}* is evaluated by setting {circumflex over (M)}*←M̆(l).












Algorithm 1 Customized Hungarian method to solve MSA















Input: custom-character  , custom-character , T = [tij], c = [cj], d = [di]


Output: {circumflex over (M)}* = [{circumflex over (m)}i*]








1:
First pre-processing step by generating custom-character   and {tilde over (T)} out of custom-character   and T using (2)


2:
Second pre-processing step by generating custom-character  and T out of custom-character   and {tilde over (T)} using (3)


3:
Third pre-processing step by generating custom-character  , custom-character , {circumflex over (T)} out of custom-character  , custom-character , T using (4)


4:
Set l ← 0, and initialize {u(0), v(0)}, T̆(0), custom-character (0), M̆(0), custom-character (0) using equation (8)


5:
while custom-character  (l) ≠ ∅ do


6:
 Choose selected UE i*(l) out of the index set custom-character  (l)


7:
 Generate custom-character  (l) using the sub-procedure AugPath(i*(l), {circumflex over (T)}, {u(l), v(l)}, M̆(l))


8:
 Obtain updated values of {u(l+1), v(l+1)}, T̆(l+1), M̆(l+1), custom-character  (l+1) using equation (17)


9:
 Set l ← l + 1


10:
end while


11:
{circumflex over (M)}* ← M̆(l)


12:
First post-processing step by generating M* out of {circumflex over (M)}* using (5)


13:
Second post-processing step by generating {tilde over (M)}* out of M* using (6)


14:
Third post-processing step by generating M* from {tilde over (M)}* as the optimal assignment using (7)



















Algorithm 2 Sub-procedure AugPath(·) as a component of Customized Hungarian method















Inputs: i*(l), {circumflex over (T)}, u(l), v(l), M̆(l)


Output: custom-character  (l)








1:
Set p ← 0, P ← true, and initialize Su, custom-characterv, Sv, custom-character  , C1, C2 using equation (9)


2:
Initialize values of s(0), ū, v using equation (10)


3:
while P = true do


4:
 Update Su and compute R = [rij] and t(p) using equation (11)


5:
 Update values of custom-characterv, C1 and C2 using (12) if t(p) exists


6:
 if custom-characterv\Sv = ∅ ∧ C1 = ∅ then


7:
  Update values of ū, v, s(p + 1), Su, custom-characterv, Sv and custom-character   using (13)


8:
 else if custom-characterv\Sv = ∅ ∧ C1 = ∅ then


9:
  Update values of C1, C2, s(p + 1) and custom-character   using (14)


10:
 else if custom-characterv\Sv ≠ ∅ ∧ ∃iϵcustom-character |m̆i(l)=t(p) then


11:
  Update values of Sv, s(p + 1) and custom-character   using (15)


12:
 else if custom-characterv\Sv ≠ ∅ ∧  custom-charactercustom-character |m̆i(l)=t(p) then


13:
  Update values of Sv, s(p + 1), custom-character   and P using (16)


14:
 end if


15:
 Set p ← p + 1


16:
end while


17:
Set custom-character  (l) ←  custom-character









III. APPENDIX—EXAMPLES

A number of illustrative examples are presented in this section for better understanding of the proposed method.


Example 1: Consider n=3, m=2, c=[3 3], d=[2 2 2], and






T
=

[



5


6




3


2




7


8



]





Note that total RBs demand for all UEs is d=2+2+2=6, whereas the total RBs supply by all the CTs equals c=3+3=6. As a result, we potentially have all the required resource-blocks to completely address all the three UEs at the same time. However, one out of the three UEs will inevitably be forced to use 1 RB out of first CT and 1 RB out of second CT in order to meet the requirement of 2 RBs for that particular UE. Since sharing more than one CT by a single UE as explained does not result in a valid assignment for that particular UE, it renders one out of the three UEs not successfully assigned for this example. The goal is to find the optimal UE-CT Assignment with the least possible total cost while satisfying the aforementioned constraints using the maximum RBs supplies provided by the CTs. To this end, let first highlight the first and second columns of T, corresponding to the first and second CTs, by red (on the left) and blue (on the right) colors as follows






T
=

[



5


6




3


2




7


8



]





In first pre-processing step, we establish cost matrix {tilde over (T)}∈custom-character by copying the ith row of T for di times for every i∈custom-character, which results in







T
~

=

[



5


6




5


6




3


2




3


2




7


8




7


8



]





In second pre-processing step, we establish the cost matrix Tcustom-character by copying the jth column of {tilde over (T)} for cj times for every j∈custom-character, which results in







T
¯

=

[



5


5


5


6


6


6




5


5


5


6


6


6




3


3


3


2


2


2




3


3


3


2


2


2




7


7


7


8


8


8




7


7


7


8


8


8



]





Note that since we do not have any Surplus or Deficit of RBs in this example (c=d=r:=max {c,d}), we perform the third pre-processing step by simply generating {circumflex over (T)}∈custom-character as {circumflex over (T)}=T, and use the Customized Hungarian method to solve the transformed Min-Sum Assignment challenge. This results in the following optimal assignment vector








M
ˆ

*

=

[




2





3





5





6





4





1





]





which is demonstrated as follows for better visualization






[



5








5





5


6


6


6




5


5








5





6


6


6




3


3


3


2








2





2




3


3


3


2


2








2







7


7


7








8





8


8










7





7


7


8


8


8



]




After first post-processing step for which M*={circumflex over (M)}*, the second post-processing step is performed by reversing the impact of second pre-processing transformation and forming the optimal assignment vector {tilde over (M)}* as follows








M
~

*

=

[



1


1


2


2


2


1



]





It follows from {tilde over (M)}* that 2 demanded RBs of first UE are provided by the first CT, 2 demanded RBs of the second UE are supplied by the second CT, whereas one RB of third UE is provided by the second CT and another RB of the third UE is supplied by the first CT. Note that the above description makes the first UE assigned to the first CT and the second UE assigned to the second CT. However, the assignment of the third UE is invalid since it violates a previously-described constraint where all the RB demands of a single UE should be supplied by just one single CT (the RB demands of a UE cannot be shared between more than one CTs). By reversing the first pre-processing transformation, the final optimal assignment M* is obtained as







M
*

=

[



1


2


0



]





indicating that the third UE remains unassigned. Moreover, the final optimal assignment with minimum total cost value of custom-character=2(5)+2(2)=14 is depicted by a square box over the elements of the cost matrix below






[









5





6




3








2







7


8



]




Example 2: Consider n=3, m=2, c=[3 2], d=[2 2 2], and






T
=

[



5


6




3


2




7


8



]





Note that the total RBs demand for all UEs is d=2+2+2=6 while the total available RBs provided by CTs is c=3+2=5. Since c<d, we are facing a shortage in available RBs compared to the total demanded RBs which puts us in the RBs Deficit scenario. The goal is to find the optimal UE-CT Assignment with the least possible total cost while satisfying the aforementioned constraints using all the RBs provided by the CTs. To this end, let highlight the first and second columns of T, corresponding to the first and second CTs, by red (on the left) and blue (on the right) colors as follows






T
=

[



5


6




3


2




7


8



]





Note that the first pre-processing and second pre-processing steps will be similar to Example 1, which results in Tcustom-character shown below







T
¯

=

[



5


5


5


6


6




5


5


5


6


6




3


3


3


2


2




3


3


3


2


2




7


7


7


8


8




7


7


7


8


8



]





Since we are in RB Deficit scenario in this example (c<d), we perform the third pre-processing step by adding dc=1 zero column vector 0d×1to the far right-hand side of matrix T in order to build {circumflex over (T)}∈custom-character, r:=max {c,d}=6, as follows







T
ˆ

=

[



5


5


5


6


6


0




5


5


5


6


6


0




3


3


3


2


2


0




3


3


3


2


2


0




7


7


7


8


8


0




7


7


7


8


8


0



]





Then, we are allowed to use Customized Hungarian method to solve the transformed Min-Sum Assign-ment challenge, which results in the following optimal assignment vector








M
^

*

=

[




2





3





4





5





6





1





]





Moreover, {circumflex over (M)}* is demonstrated as follows for better visualization






[



5








5





5


6


6


0




5


5








5





6


6


0




3


3


3








2





2


0




3


3


3


2








2





0




7


7


7


8


8








0













7





7


7


8


8


0



]




In the first post-processing step, the impact of the changes performed in the third pre-processing step is reversed by forming the optimal assignment vector M* as follows








M
¯

*

=

[




2





3





4





5




0



1





]





Then, we reverse the impact of second pre-processing step by forming the optimal assignment {tilde over (M)}* in second post-processing step as follows








M
~

*

=

[



1


1


2


2


0


1



]





It follows from {tilde over (M)}* that 2 demanded RBs of the first UE are supplied by the first CT, 2 required RBs of the second UE are supplied by the second CT, whereas only one of the demanded RB of the third UE is provided by the first CT while we are facing shortage of resource-blocks for the other RB of the third UE. This description makes the first UE assigned to the first CT and the second UE assigned to the second CT. However, the assignment of the third UE is invalid since we fail to provide all the required RBs for the third UE due to shortage in available RBs. By reversing the transformation made in first pre-processing step, the final optimal assignment M* is obtained in the third post-processing step as follows







M
*

=

[



1


2


0



]





indicating that the third UE remains unassigned. Moreover, the final optimal assignment with minimum total cost value of custom-character=2(5)+2(2)=14 is depicted by a square box over the elements of the cost matrix below






[









5





6




3








2







7


8



]




Example 3: Consider n=3, m=3, c=[3 3 2], d=[2 3 2], and








T
=

[



5


6


1




3


2


4




7


8


4



]






Note that c=8 and d=7, which results in RB Surplus scenario for this example (the supply of RBs is larger than the demand for them). In first pre-processing step, {tilde over (T)}∈custom-character is formed as follows









T
~

=

[



5


6


1




5


6


1




3


2


4




3


2


4




3


2


4




7


8


4




7


8


4



]






In second pre-processing step, Tcustom-character is formed as follows









T
_

=

[



5


5


5


6


6


6


1


1




5


5


5


6


6


6


1


1




3


3


3


2


2


2


4


4




3


3


3


2


2


2


4


4




3


3


3


2


2


2


4


4




7


7


7


8


8


8


4


4




7


7


7


8


8


8


4


4



]






In third pre-processing step, {circumflex over (T)}∈custom-character, r:=max{c, d}=8, is formed by adding cd=1 zero row vector 0c×1to the bottom of matrix T as follows









T
^

=

[



5


5


5


6


6


6


1


1




5


5


5


6


6


6


1


1




3


3


3


2


2


2


4


4




3


3


3


2


2


2


4


4




3


3


3


2


2


2


4


4




7


7


7


8


8


8


4


4




7


7


7


8


8


8


4


4




0


0


0


0


0


0


0


0



]






By applying the Customized Hungarian method, we solve the transformed version of the Min-Sum Assignment challenge resulting in the following optimal assignment










M
^








*



=




[

7












8











4











5











6











2











1












3








]









which is demonstrated as follows for better visualization








[



5


5


5


6


6


6



1




5


5


5


6


6


6


1





3


3


3



2


2


4


4




3


3


3


2



2


4


4




3


3


3


2


2



4


4




7



7


8


8


8


4


4





7


7


8


8


8


4


4




0


0



0


0


0


0


0



]





By applying the first post-processing step, M* is formed as










M
_








*



=




[

7












8











4











5











6











2












1








]









In second post-processing step, {tilde over (M)}* is formed as










M
~








*



=




[
3



3


2


2


2


1



1
]









It follows from {tilde over (M)}* that 2 RBs of first UE are supplied by the third CT, 3 RBs of the second UE are supplied by the second CT, and 2 RBs of the third UE are provided by the first CT. Note also that one RB of the first CT remains unassigned due to surplus of available RBs. The above description results in final optimal assignment M* in third post-processing step as follows









M







*



=




[
3



2



1
]









Moreover, the final optimal assignment with minimum total cost value of z*=2(1)+3(2)+2(7)=22 is depicted by a square box over the elements of the cost matrix below








[



5


6


1




3


2


4




7


8


4



]





Example 4: A simple example is presented to demonstrate how the core procedure used in Customized Hungarian method works. To this end, consider n=3, m=3, c=[1 1 1], d=[1 1 1], and








T
=

[



5


6


1




3


2


4




7


8


4



]






to formulate a Min-Sum Assignment challenge in its most basic form, which results in custom-character={1,2,3}, custom-character={1′,2′,3′}, and {circumflex over (T)}=T. At l=0 and for initialization according to Algorithms 1 and 2, {u(0), v(0)}, T̆(0), M̆(0) and custom-character(0) are obtained as follows












u

(
0
)

=




[
1



2




4
]

,








(

18

a

)
















v

(
0
)

=




[
1



0




0
]

,








(

18

b

)

















T


(
0
)

=

[



3


5


0




0


0


2




2


4


0



]





(

18

c

)

















M


(
0
)

=




[

3












1












0
]

,








(

18

d

)

















𝒜


(
0
)

=

{
3
}





(

18

e

)








The resulting Reduced Bipartite graph custom-character(0) is depicted in FIG. 4a whereas its corresponding assignment M̆(0) is shown by red edges (double lines) in FIG. 4b. The next task is to find the Augmenting-Path custom-character(0) which starts from Free UE 3 and ends in Free CT 2′. To this end, we enter the inner while-loop and we obtain custom-character={(3,3′), (3′,1)} after one FWD case in p=0, which is depicted by green edges (arrowed lines) in FIG. 4c. Since we hit a dead-end, we then have a BTR case in p=1 and finally we end up with a DPU case in p=2. By updating the Intermediate Dual-Pair, new values of {ū, v} and R in p=2 are obtained as












u
_

=




[
3



2




6
]

,








(

19

a

)
















v
_

=




[
1



0





-
2

]

,








(

19

b

)















R
=

[



1


3


0




0


0


4




0


2


0



]





(

19

c

)








This results in a new topology for Reduced Bipartite Graph for the same assignment M̆(0), which is depicted in FIG. 3a. By continuing the inner while-loop, we encounter FWD case in p=3, and finally end up with APF case in p=4. This results in custom-character={(3, 1′), (1′,2), (2, 2′)}=custom-character(0) as the desired Augmenting-Path. Note that custom-character(0) is depicted by green edges (arrowed lines) in FIG. 3b, which results in the following updates












u

(
1
)

=




[
3



2




6
]

,








(

20

a

)
















v

(
1
)

=




[
1



0





-
2

]

,








(

20

b

)

















T


(
1
)

=

[



1


3


0




0


0


4




0


2


0



]





(

20

c

)

















M


(
1
)

=




[

3












2













1








]

,








(

20

d

)

















𝒜


(
1
)

=





(

20

e

)








Since custom-character(1) is an empty set, the main while-loop breaks signifying that the optimal assignment M*=[3′ 2′ 1′] has been achieved (it is depicted by red edges (double lines) in FIG. 3c). Moreover, M* is visualized using a square box over the elements of the original cost matrix as follows








[



5


6


1




3


2


4




7


8


4



]




Claims
  • 1. A method for determining an assignment of Resource Blocks (RBs) from one or more Cell Tower (CTs) to a plurality of User Equipement devices (UEs), the assignment minimizing a total assignment cost, the method comprising: modifying a system of equations by introducing a plurality of dummy UEs therein, the system of equations being defined using a cost matrix, a RB-Supply vector and a RB-Demand vector;modifying the system of equations by introducing one or more dummy CTs therein;resolving the system of equations using a Customized Hungarian method;reversing the modification made by introducing the dummy CTs; andreversing the modification made by introducing the dummy UEs, thereby obtaining the assignment.
  • 2. The method of claim 1 further comprising, following the introduction of dummy CTs, modifying the system of equations to obtain a resolvable system.
  • 3. The method of claim 1 further comprising, following the reversing of the modification made by introducing the dummy UEs, verifying that the obtained assignment meets constraint of each of the UEs being assigned to one of the CTs if and only if all requirement for the RBs for any given one of the UEs are supplied by available RBs of the one of the CTs.
  • 4. The method of claim 1 further comprising assigning RBs from the CTs to the UEs from the obtained assignment.
  • 5. An apparatus for determining an assignment of Resource Blocks (RBs) from one or more Cell Tower (CTs) to a plurality of User Equipement devices (UEs) comprising: one or more processors configured to: modify a system of equations by introducing a plurality of dummy UEs therein, the system of equations being defined using a cost matrix, a RB-Supply vector and a RB-Demand vector;modify the system of equations by introducing one or more dummy CTs therein;resolve the system of equations using a Customized Hungarian method;reverse the modification made by introducing the dummy CTs; andreverse the modification made by introducing the dummy UEs, thereby obtaining the assignment.
  • 6. The apparatus of claim 5, wherein the one or more processors are further configured to, following the introduction of dummy CTs, modify the system of equations to obtain a resolvable system.
  • 7. The apparatus of claim 5, wherein the one or more processors are further configured to, following the reversing of the modification made by introducing the dummy UEs, verify that the obtained assignment meets constraint of each of the UEs being assigned to one of the CTs if and only if all requirement for the RBs for any given one of the UEs are supplied by available RBs of the one of the CTs.
  • 8. The apparatus of claim 5, wherein the one or more processors are further configured to assign RBs from the CTs to the UEs from the obtained assignment.
PRIORITY STATEMENT UNDER 35 U.S.C. § .119 (E) AND 37 C.F.R. § .1.78

This non-provisional patent application claims priority based upon the prior U.S provisional patent application entitled “ASSIGNING NETWORK RESOURCES TO USER EQUIPMENT DEVICES”, application No. 63/431,661, filed 2022 Dec. 9, in the name of Solutions Humanitas Inc, which is herein incorporated by reference in its entirety.

Provisional Applications (1)
Number Date Country
63431661 Dec 2022 US