The present invention relates to network resource assignment to user equipment devices.
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.
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.
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:
Reference is now made to the drawings in which
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.
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
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.
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.
Consider the Agent-Task Assignment challenge consisting of m agents versus n tasks. Define and
as the index sets of tasks and agents such that n=|
| and m=|
|. 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∈
. 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∈
. 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∈
and j∈
. 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
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∈. 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∈
. 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
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 and cost matrix T are replaced with
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
and cost matrix {tilde over (T)} are replaced with
and
,
and cost matrix
,
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
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
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.
Let assume we have n User Equipments (UEs), m Cell Towers (CTs), the Cost Matrix T=[tij]∈, the Resource-Block (RB)-Supply vector c=[cj] and the Resource-Block (RB)-Demand vector d=[di] as inputs of the method. By considering
and
as the index sets of UEs and CTs, respectively, let define
and j∈
.
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∈ and j∈
. 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:
A more detailed description of the proposed method is provided in pseudo-code form in Algorithms 1 and 2.
After preforming the previously-explained three pre-processing steps, we are dealing with a balanced MA 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]∈
, assignment vector M̆(l)=[m̆i(l)] and the index set of Free Dummy UEs
(l) are initialized as follows
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 (l) is non-empty. Afterwards, the Free Dummy UE index i*(l) is chosen as an arbitrary element of the non-empty index set
(l).
The next objective is to find an Augmenting-Path (l) which starts from i*(l) and ends in any Free Dummy CT belonging to the index set
. 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
u,
v and
v 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
, while two LIFO Stacks of
1 and
2 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
The Intermediate Dummy UE index s(p) and the Intermediate Dual-Pair {ū=[ūi],
By entering the inner while-loop, the set of Scanned UEs u is updated first at the pth iteration, while the Intermediate Reduced Cost Matrix R=[rij]∈
and the Intermediate Dummy CT index t(p) are evaluated as follows
for any i∈ and j∈
. In case t(p) exists, the following updates of the sets
v,
1, and
2 then take place
By checking the emptiness of the index set v\
v as well as the LIFO Stack
1, one of the following four different cases can occur in every iteration p of the inner while-loop
If BTR case happens, the following updates are implemented
If FWD case happens, the following updates are implemented
If APF case occurs, the following updates happen
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 (l)←
. 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
(l+1) are implemented
Note that (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
(l+1) becomes empty. At the end, the optimal assignment vector {circumflex over (M)}* is evaluated by setting {circumflex over (M)}*←M̆(l).
,
, T = [tij], c = [cj], d = [di]
and {tilde over (T)} out of
and T using (2)
and
and {tilde over (T)} using (3)
,
, {circumflex over (T)} out of
,
,
(0), M̆(0),
(0) using equation (8)
(l) ≠ ∅ do
(l)
(l) using the sub-procedure AugPath(i*(l), {circumflex over (T)}, {u(l), v(l)}, M̆(l))
(l+1) using equation (17)
(l)
v, Sv,
, C1, C2 using equation (9)
v, C1 and C2 using (12) if t(p) exists
v\Sv = ∅ ∧ C1 = ∅ then
v, Sv and
using (13)
v\Sv = ∅ ∧ C1 = ∅ then
using (14)
v\Sv ≠ ∅ ∧ ∃iϵ
|m̆i(l)=t(p) then
using (15)
v\Sv ≠ ∅ ∧
iϵ
|m̆i(l)=t(p) then
and P using (16)
(l) ←
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
Note that total RBs demand for all UEs is
In first pre-processing step, we establish cost matrix {tilde over (T)}∈ by copying the ith row of T for di times for every i∈
, which results in
In second pre-processing step, we establish the cost matrix by copying the jth column of {tilde over (T)} for cj times for every j∈
, which results in
Note that since we do not have any Surplus or Deficit of RBs in this example ( as {circumflex over (T)}=
which is demonstrated as follows for better visualization
After first post-processing step for which
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
indicating that the third UE remains unassigned. Moreover, the final optimal assignment with minimum total cost value of =2(5)+2(2)=14 is depicted by a square box over the elements of the cost matrix below
Example 2: Consider n=3, m=2, c=[3 2], d=[2 2 2], and
Note that the total RBs demand for all UEs is
Note that the first pre-processing and second pre-processing steps will be similar to Example 1, which results in shown below
Since we are in RB Deficit scenario in this example (,
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
Moreover, {circumflex over (M)}* is demonstrated as follows for better visualization
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
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
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
indicating that the third UE remains unassigned. Moreover, the final optimal assignment with minimum total cost value of =2(5)+2(2)=14 is depicted by a square box over the elements of the cost matrix below
Example 3: Consider n=3, m=3, c=[3 3 2], d=[2 3 2], and
Note that is formed as follows
In second pre-processing step, is formed as follows
In third pre-processing step, {circumflex over (T)}∈,
By applying the Customized Hungarian method, we solve the transformed version of the Min-Sum Assignment challenge resulting in the following optimal assignment
which is demonstrated as follows for better visualization
By applying the first post-processing step,
In second post-processing step, {tilde over (M)}* is formed as
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
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
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
to formulate a Min-Sum Assignment challenge in its most basic form, which results in ={1,2,3},
={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
(0) are obtained as follows
The resulting Reduced Bipartite graph (0) is depicted in
(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
={(3,3′), (3′,1)} after one FWD case in p=0, which is depicted by green edges (arrowed lines) in
This results in a new topology for Reduced Bipartite Graph for the same assignment M̆(0), which is depicted in ={(3, 1′), (1′,2), (2, 2′)}=
(0) as the desired Augmenting-Path. Note that
(0) is depicted by green edges (arrowed lines) in
Since (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
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.
Number | Date | Country | |
---|---|---|---|
63431661 | Dec 2022 | US |