^{1}

^{*}

^{1}

In Heterogeneous Networks (HetNets), Integrating Device-to-Device communication (D2D) techniques presents as a promising solution for improving system performance by offloading traffic from heavily loaded macro cell (MC) to small cells (SCs). For instance, D2D can be used to offload traffic from heavily-loaded cells to light-loaded small cells. However, offloading new users may result in an unfair load distribution among small cells and consequently may affect the quality of service of some users. To achieve better performance and reduce blocking probability load balancing among small cells should be considered when we offload traffic from macro to small cells. In this paper, we consider a centralized offloaded relay selection scheme, in which a cellular provider can decide whether users can assist each other to relay their traffic to small cells. We propose a joint user-relay selection with dynamic load balancing scheme based on D2D communications using the Kuhn-Munkres (K-M) method. The offloading process considers the load from MC to SCs and among SCs. Compared to previous works, our simulation results show that the proposed scheme increases the number of admitted users in the system, and achieves a higher load balancing fairness index among small cells. Also, our scheme achieves a higher rate fairness index among users by adjusting the signal to interference plus noise ratio (SINR) threshold.

The constant increase of multimedia applications as well as smartphone devices has resulted in consuming intensive resources [

The concept of D2D was presented in several studies as a promising solution to increase network capacity [

The circumstance may be surprisingly more terrible when there are a group of users that are positioned as crucial users, and their link is unsteady or demanding for other data services. Also, selecting the optimal user relay without considering the capacity of target SC may result in rejecting upcoming another user. To mitigate the data demand at the macro cell, the small cells with D2D relays should be deployed in the coverage of the macro cell. Offloading the traffic from high loaded tier to light loaded tier via small cells directly or using D2D is a successful method to accommodate new users and achieve better performance. However, Offloading scheme without considering the load of target SCs may complicate the issue more.

To address the problems above, load balancing is considered an efficient way to offload traffic from macro to small cell recognized as a suitable solution for LB issue in the literature [

In this regards, user relay selection and load balancing in the emerging D2D communications has attracted considerable attention. For instance, in [

In [

Inspired by works proposed in [

In summary, the aforementioned works focused on resource allocation, and load balancing between MC and SCs. However, they focus on offloading traffic from congested MC to SC without considering the load among SCs. Offloading traffic could be considered as a solution to deal with traffic from macro to small cells; however, omitting the load balancing among SCs in multi-tier HetNets may result in decreasing the probability of admitting new users and increase the demand at the macro cell. Hence, the design of relay selection schemes able distributing the load among tiers in a proper way and guarantee QoS is of paramount importance to reduce the congestion at the MC. In this context, offloading traffic schemes which forward traffic from congested Macro tier to un-congested SC tier could be considered as a promising solution. However, considering the load balance among the SC will increase the probability of the admittance of the upcoming users regardless of its location. Therefore, these offloading schemes reduce the congestion at the MC, they are still not sufficient for the system.

Motivated by this, this paper presents a novel offloading scheme for HetNets using D2D communications, taking into account the LB among SCs. Precisely, the objective of this paper is to design a scheme to solve the NP-Hard problem with two disjoint sets matching. For this, we use the K-M method. The scheme aims to address the following two main issues: 1) Selecting the suitable UR in order to increase the probability of accepting upcoming new users within the coverage area. 2) Evenly distributing the traffic among small cells to avoid congestion.

The main contributions of this work are summarized as follows: 1) We formulate the relay selection and load balancing problem using D2D communication as a joint problem and model the issue as a bipartite graph problem. The problem involves the selection of each user and its relay and assigning them according to the best global selection. 2) We design a new utility function for solving the NP-Hard problem. The design of our function considers the user-relay link qualities as well as the SCs’ capacity. 3) We adopt the K-M method with our matrix to select the optimal relay that maximizes the free resource at each SC for each user. 4) We develop a joint relay selection and load balancing scheme that maximizes both the number of offloaded users and the load balancing index among SCs.

The remainder of this paper is organized as follows: Section II shows the system model and problem formulation with specific constraints. Section III describes our proposed scheme based on the K-M algorithm while the results are presented in Section IV. Finally, section V concludes this work.

In this paper, we consider an up-link multi-tier HetNets consisting of a single MC overlaid with multiple SCs. The SCs are connected to the MC via a backhaul link based on optical fiber. The SCs are grouped in non-overlapping clusters [_{B} the number of RBs within this fraction.

We study the case where the MC is congested and the SCs are not fully loaded. In this case, the MC tries to offload some of its users, located outside the range of SCs, to these SCs in order to be able to accept new upcoming users. Moreover, we consider that the idle users located within the range of each SCs, are willing to assist other users by acting as relays. In the rest of this paper, we denote these users by “relays”. We assume that each relay can serve only one user at a time using the same RB and two-way relaying [

to be served by an SC via a D2D relay located in its neighborhood. This cooperation is important to offload the MC traffic to SCs to be able to serve upcoming MC users that might be out of the SCs range.

Hence, our objective is to select the users that will be offloaded, denoted by offloadable users (OUs). Let N_{OU} be the number of users to be offloaded, i.e. Offloadable users and N_{R} the number of available relays. Also, we denote N_{SC} the number of SCs within the considered cluster. We aim to assign the maximum number of OUs to the SCs via the available relays while 1) respecting the SCs’ loads limits, 2) balancing the load among the SCs. We assume that for each SC, its load is limited to L max users, i.e., a given SC is not able to serve more than L max users at a time. However, at the moment where MC is planning to offload some of the OUs, each SC is already serving a certain number of users. We denote by F j , j = 1 , ⋯ , N S C , the of number free spots in the j^{th} SC.

Our main objective in this work is to maximize the number of served MC offloaded users using SCs via D2D communication in a balanced way, i.e., guaranteeing a high fairness index among SCs (in the evaluation of our solution, we use the Jain fairness index [

The final solution of this problem is an assignment matrix noted Δ containing binary elements denoted by δ n , m , where δ n , m = 1 if the n^{th} offloadable user is assigned to the m^{th} relay in the final assignment and δ n , m = 0 otherwise, i.e.,

δ n , m = { 1 if U n selected R m as a relay 0 if otherwise

We propose to solve this problem by building a utility matrix denoted by C based on a newly designed utility function. This utility function takes into account the link quality between users and relays (to maximize the number of

Lightaqua Notation | Description |
---|---|

F j | Load of S C j |

N O U | Number of offloadable users in the cluster |

N O U , candidate | Number of offloadable users that meet the link quality with at least one relay |

N O U , Served | Number of offloadable users served after assignment |

N R | Number of relays in the cluster |

N R , candidate | Number of relays that meet the link quality with at least one user |

N R , Serving | Number of relays serving offloaded users based on our scheme |

N S C | Number of SCs in the cluster |

served users) as well as the SCs loads state (to maximize the load balancing). Hence, the user-relay selection and load balancing problems are joint. Our problem can be formulated as given below.

max δ n , m ∈ { 0 , 1 } ∑ n = 1 N O U ∑ m = 1 N R C n , m δ n , m , (1)

subject to

∑ n = 1 N O U δ n , m ≤ 1 , n = 1 , ⋯ , N R , (2)

∑ m = 1 N R δ n , m ≤ 1 , m = 1 , ⋯ , N O U , (3)

δ n , m = 0, if γ n , m ≤ γ t h and d n , m ≥ d t h , (4)

∑ n = 1 N O U ∑ m , R m ∈ S C j N R δ n , m ≤ F j , j = 1 , ⋯ , N S C , (5)

where C n , m are the elements of the utility matrix C that considers link quality and SCs load state and is formulated in the next section, γ n , m is the signal to interference plus noise ratio (SINR) of the link between the n^{th} user and the m^{th} relay and γ t h is the minimum accepted SINR value. In addition, the link is qualified when its distance, denoted by d n , m , is below a certain distance threshold d t h . The constraint in (2) indicates that a serving relay, cannot serve more than one user. The constraint in (3) indicates that a served user, cannot have more than one connection. The constraint in (4) indicates that a user cannot be assigned if the link distance is over the distance threshold d t h and the link SINR is below the SINR threshold γ t h . The constraint in (5) indicates that the number of served users in each SC cannot exceed the number of its available RBs. Note that this problem is a combinatorial problem, meaning that this problem is a non-deterministic polynomial-time hard (NP-hard) problem as the optimization variables δ n , m are binary。

In this section we describe our proposed assignment solution for the problem (1), (5). We utilize D2D communications associated with the K-M method [

The objective of this step is to reduce the number of possible links in order to avoid having huge feasible solutions. In fact, instead of considering all the possible user-relay links, we focus only on links that are likely to be selected. We call this operation as the nomination of user and relay candidates. For this reason, we adopt two link quality methods to nominate a user-relay link based on the distance and the SINR as described below:

1) Distance method: Given a predefined distance threshold d t h , any link that has a range less than or equal to this distance threshold is indicated as a nominated link.

2) SINR method: given a predefined threshold SINR γ t h , any link, that has an SINR greater than or equal to this threshold, is indicated as a nominated link.

Based on the information reported from each user to the MC, and the exchanged information between MC and SCs through X2 interface, when the MC gets a certain congestion threshold, the determines the users that are located close to light loaded SCs and then makes a decision regarding the nominate of all the links between them and available relay.

Note that, the SINR estimation is performed based on the links distance as well as the information available at the MC.

In order to compute the SINR value for each user to SC link, relay to SC link, and user to relay link, we distinguish two types of users; directly associated users and relayed users. For users directly associated the SINR is calculated as:

SINR n − j b = ( P h n − j b N 0 + ∑ n ˙ = 1, n ˙ ≠ n N O U P h n ˙ − j b + ∑ m = 1 N R P h m − j b ) . (6)

where SINR n − j b is the signal to interference plus noise ratio for the n^{th} served user occupying the b^{th} resource block. N_{R} is the total number of relays selected in all SCs to serve the users. N_{0} is the system terminal noise. P is the transmitted power which is assumed to be the same for all users and relays. h is the channel gain where j indicates the corresponding SC where its superscript indicates the resource block at which the SINR is evaluated and its subscript indicates the users, relays, or SCs for the evaluated link.

For users which are served via relays, we consider the minimum SINR of the two links , MC users -relays link and relays -SCs link. Since the SINR for user -relay link is not significative to the communication. considering Users have two relays and these relays are belong to the same SC or two different SC. When the link between user and first relay is better than the second relay, the communication link between the relay and SC for the second relay could be better than the first relay. Since, the SINR link quality for the relayed user is based on both links (user-relay link and relay-SC link), the link quality is calculate as follow:

SINR n − m − j b = min ( SINR n − m b , SINR m − j b ) . (7)

where, SINR n − m b and SINR m − j b are the SINRs from the user to its serving relay and from the relay to its serving SC, respectively, where all are occupying the b^{th} resource block, and they are calculate as:

For the first link (user-relay link) the SINR is obtained as:

SINR n − m b = ( P h n − m b N 0 + ∑ n ˙ = 1 , n ˙ ≠ n N O U P h n ˙ − m b + ∑ m ˙ = 1 , m ˙ ≠ m N R P h m ˙ − j b ) , (8)

For the second link (relay-Sc link), the SINR is obtained as:

SINR m − j b = ( P h m − j b N 0 + ∑ n ˙ = 1 , n ˙ ≠ n N O U P h u ˙ − m b + ∑ m ˙ = 1 , m ˙ ≠ m N R P h m ˙ − m b ) . (9)

The list of all users and relays that have at least one qualified link are collected and named N O U , candidate and N R , candidate , respectively, as detailed in the first part of the proposed Algorithm 1.

We recall that our objective is to offload the MC users located outside the SCs

Algorithm 1. Dynamic D2D load balancing scheme.

while maintaining a balanced load among these SCs. In order to achieve this objective, we formulate our problem as a bipartite Graph as G ( U ∪ R , E ) where U, R, and E represent the set of offloadable users, relays, and edges, respectively, described as follows:

1) The set of offloadable users U: which consists of U = u n | n ∈ N O U elements, where u n denote the n^{th} user and each U t h has a vertices to at least one of the opposite sets.

2) The set of candidate relays R: which consists of N R , candidate = r m | m ∈ N R , Candidate elements, where r m denote the m^{th} relay and each R t h has a vertices to at least one of the opposite sets.

3) The set of edges E: E = c n m | n ∈ N O U , m ∈ M R , Candidate which represent the link between vertices E ⊆ U × R where the cost edge is indicated as C n , m . The edge represents the cost between U n and R m where its value represents the cost of the link. The value of our cost link C n , m denote the available free resources at the target SC and can be calculate as in next equation.

Based on the logic of bipartite graph, that each element in each set should has at least one edge to the opposite set. The following definition will describe the result of bipartite graph.

Definition: G ′ is sub graph of the original graph G, where G ′ = ( U ′ , R ′ , E ′ ) and U ′ , R ′ and E ′ are the selected elements from each set if U ′ ⊆ U , R ′ ⊆ R , and E ′ ⊆ E , and all of these vertices has value greater than zero.

Definition: For our bipartite graph G ( U ∪ R , E ) , our cost function is defined as sum of all cost of all selected edges in G, and is discussed in the designation of our utility function.

Since our objective is the relay selection and the need to distribute the load in a balanced way, we use a low complexity method called KM algorithm to find the optimal one to one matching.

To implement the assignment in our scenario, we design a new utility function C n , m that represents the cost value on the edges between each users and relays ( n , m ) ∈ E , ∀ n ∈ U , ∀ m ∈ R .

Hence, we define the utility matrix that correspond to the cost of each association, C n , m , are calculated as follows:

C n , m = { 1 + F j L max , if M n , m = 1 and R m ∈ S C j 0, otherwise (10)

Note that as 0 ≤ F j L max ≤ 1 , the KM algorithm will give more importance to the assignment than the free spots in a given SCs. Hence, the utility matrix C is designed in a way to consider the user-relay links quality as well as the SC available free spots. Note that the KM algorithm, we maximize the utility function while performing a one to one assignment. Hence, we need to give higher priority to the assignment than the SCs’ state. Consequently, we propose that, in order to consider the user-relay link quality, the element C n , m should contains 1 whenever γ n , m ≥ γ t h . Then, to consider the SC free spots, the element C n , m should contain the fraction of available spots F j L max for the relays in the j^{th} SC.

By such design, the KM algorithm is applicable to our scenario and the relay selection that makes the SCs are equal in load can be obtained.

We recall that, it is our aim to maximize the utility function matrix C that we defined in the subsection 3.2. In order to solve this problem, we choose the KM method since this algorithm optimizes the utility function while aiming to reach a maximum number of assignments. In the literature, the KM algorithm is used to solve assignment problems where a one-to-one matching solution is identified as the maximum cost of bipartite graph A of graph G [

1) Transforming the matrix C into a square matrix (this can be done by zero paddings).

2) Finding the smallest value in each row of C and subtract this value from the entire row.

3) Finding the smallest value in each column of C and subtract this value from the entire column.

4) Drawing a line to cover the rows and columns that have zeros.

5) If the number of covered rows and columns are equal to the size of the matrix, we obtain the optimal assignment. Otherwise, we proceed to the next step.

6) Finding the smallest value in all non covered elements in C and subtract the smallest value from the non covered rows and add this value to each covered columns. Go to step 4.

7) If the number of covered rows and columns equal to the size of the matrix. Then, the set of assignment of users and relays is achieved. Otherwise, repeat step 6 until reaching the final assignment.

However, the resulting solution does only satisfy the constraints (2), (3), and (4). Therefore, if the corresponding assignment is not respecting the j^{th} SC capacity constraint in (5), the users assigned to the relays of S C j are removed from the result of the assignment, one by one till reaching F j assignments. The choice of the removed users is based on link quality. in other words, the users associated with the lowest link quality are removed. These removed users are not offloaded and continue to be served by the MC. In the last step, the MC informs all SCs about the resulting assignments to establish the D2D links and releases the resources that were occupied by these offloaded users. Our proposed assignment scheme is summarized in Algorithm 1 and flowchart presented in

If we perform an exhaustive search and compute the number of served users based on all possible link possibility, The computational complexity of the exhaustive search, C E S can be obtained by

C E S = O ( ( max N O U , N R ) ! ) (11)

In our proposed algorithm, the computational complexity is related to the complexity of the KM algorithm which is reduced to a polynomial time as follows [

C K M = O ( N O U 2 N R ) (12)

Hence, the proposed algorithm is efficient as it solves the problem in a polynomial time.

In this paper, we used the Jain fairness index to evaluate the fairness among SCs and users. The following equation defines the fairness index (FI) number of users in each SCs and N S C s indicates the number of SCs in the cluster.

FI = ( ∑ j = 1 N S C ∑ m , R m ∈ S C j δ n , m ) 2 N S C ∑ j = 1 N S C ( ∑ m , R m ∈ S C j δ n , m ) 2 (13)

The SCs can be balanced when the index value is equal to 1 (SCs have equal loads).

We consider a scenario with a cluster consisting of three SCs as shown in

{ R 1 , R 2 , R 3 , R 4 , R 5 , R 7 , R 8 , R 9 }

within the SCs that are ready to assist offloaded users. We assume 7 N O U , candidate users randomly distributed in the cluster outside the SCs. These users meet the SINR link criterion as explained in section 1 where the candidate relays are { U 1 , U 2 , U 4 , U 6 , U 7 , U 8 , U 9 } and are candidates to be offloaded. The SCs have different initial loads and variable number of relays. The next step is to create a Bipartite Graph (BG) that shows all possible matching links between users and relays as shown in

R 1 R 2 R 3 R 4 R 5 R 7 R 8 R 9 γ M × N = U 1 U 2 U 4 U 6 U 7 U 8 U 9 ( − − − 20 − − − − − − 21 − − − − − − − − − − 20 − − 20 − − − − − 26 − − − − − − − − 24 − 27 − − 22 − − − 25 − − − − − − − )

In

1) U 6 and U 8 have two candidate relays.

2) U 1 , U 2 , U 4 and U 7 have a unique relay, i.e., a relay that is not a candidate for another user.

3) U 9 has only one candidate relay that is also a candidate for U 6 .

From this setup, depending on the assignment algorithm, U 9 can not be offloaded because this user is competing with U 6 on R 1 .

When the random user relay selection (RRS) scheme is used, U 6 has a probability of 50% of not being offloaded.

The nearest user relay selection (NRS) scheme results in the following assignment:

R 1 R 2 R 3 R 4 R 5 R 7 R 8 R 9 Δ Random = U 1 U 2 U 4 U 6 U 7 U 8 ( 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 ) .

As a result, the total number of offloaded users is 6 and the achieved fairness among SCs is 0.94.

The K-M method with aiming to minimize the global distance will results in the following assignment matrix:

R 1 R 2 R 3 R 4 R 5 R 7 R 8 R 9 Δ K-M distance = U 1 U 2 U 4 U 6 U 7 U 8 U 9 ( 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 1 0 0 1 0 0 0 1 0 0 0 0 0 0 0 ) .

where, the total number of offloaded users is 7 and the achieved fairness among SCs is 0.90.

In our proposed scheme i.e., following Algorithms, we construct the utility matrix U M × N , then, after applying Algorithm, we obtain the user-relay assignment indicated by the gray boxes as follows:

R 1 R 2 R 3 R 4 R 5 R 7 R 8 R 9 Δ K-M SINR = U 1 U 2 U 4 U 6 U 7 U 8 U 9 ( 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 ) .

where, the total number of offloaded users is 7 and the achieved fairness among SCs is 0.95.

It is clear from this example that, in all cases when the KM approach is used to solve the user-relay selection, we obtain the same number of offloaded users. However, our proposed utility function is able to achieve the maximum fairness among the SCs.

In this section, we evaluate the performance of our proposed schemes, mainly the capability to admit more users into different SCs in a balanced way.

We consider a cluster consisting of four SCs. We assume the coverage areas of the SCs to be non-overlapped circles covering together about 40% of the cluster area. The users are distributed randomly in the cluster area outside the SCs’ coverage according to a Poisson Point Process with an average number of users ( λ users ) that varies between 10 to 60. The users located in the coverage area of the SCs are directly connected to their loaded SCs and represent the existing load. However, users outside the SCs coverage are considered to be MC users and candidates for offloading. In our simulation, we consider two different scenarios with the same simulation parameters but with different SC loads. In the first scenario, we assume a semi-balanced existing load in the four SCs, i.e., 12, 15, 10, and 11 users. In the second scenario, we assume significantly imbalanced load among the four SCs, i.e., 1, 15, 5, and 10 users. We consider that these two scenarios allow us to compare the efficiency of the different schemes in admitting new users while keeping a balanced load among the SCs.

We compare the performance of our proposed schemes with three relay selection methods proposed in the literature as benchmarks:

1) Random User Relay Selection (Random RS), where each user can select a relay randomly from available candidate relays [

2) Nearest User Relay Selection (Nearest RS) where the relay with the minimum distance is selected as a serving relay [

3) Hungarian method min-dist approach, where the objective function is to minimize the global distance i.e., selecting the set of relays that minimizes the total user-relay distances.

Our proposed schemes based on the SINR as link quality is denoted by “Proposed D2D-SINR”, and propose a scheme based on our algorithms but with a link quality based on the distance only and is called “Proposed D2D-dist”.

lightaqua Parameters | Value |
---|---|

Radius of SCs | 35 m |

Number of users to be offloaded | 10 - 60 |

User transmit power P t | 20 dBm |

Distance between centers of adjacent SCs | 100 m |

Path loss exponent α | 3 |

Noise power spectrum N 0 | −174 dBm/Hz |

Resource block Bandwidth B | 180 KHz |

Maximum D2D transmission distance | 30 m |

SINR threshold γ t h | 0, 5, 10 dB |

Number of available block resources per SC | 30 |

Number of relays per SC | 15 |

Standard deviation of shadow fading | 3 dB |

Monte Carlo simulation trials | 5000 |

In

Despite the fact that using the K-M algorithm with different utility functions doesn’t affect the number of admitted users, using any of our proposed schemes (i.e., D2D Dist or D2D SINR) not only admits more users in the system, but also results in the optimal relay selection which leads to distributing the load among SCs in a balanced way.

we offload the maximum possible number of users and maintain the highest possible fairness index. Note that, the difference in performance among the different K-M schemes vanishes as the number of users increases compared to the number of available relays.

The comparison of,

We clearly show that for all schemes, when one of the cells get overload, our algorithm removes the users that make the SC overloaded and keep them associated with MCs.

_{OU}. We show that our schemes based on the K-M approach performs the same and keeps admitting new users as long as there are enough available relays in the system. If the number of offloadable users exceeds the number of available relays, the offloading efficiency for all schemes decreases.

the user-relay association (see section 1). That is, the lower the threshold is, the more the candidate relays for each user. This threshold allows us to keep a balanced load among the SCs without sacrificing the link quality of the offloaded users. In other words, the utility function related to the balance among the SCs is related to users that have sufficiently good link quality to achieve an acceptable rate. In addition,

We evaluate the performance of the proposed solution by performing Monte Carlo simulation where we run 10000 trials for different density of users and number of SCs (defined here as the ratio ν = Offloaded users Total users directly served in the SCs ), the efficiency of our utility function (defined as η = Fairness using our approach Best possible fairness ) increases, and J is the number od SCs. As the system gets more loaded

takes place when we have a very limited number of SCs and very lightly loaded system.

In this paper, we proposed a joint user-relay selection and a load balancing scheme in order to offload macro-cell users in small cells. In our scheme, idle users are acting as relays and are assisting in offloading users based on Device-to-Device communications. We introduced a new utility function that takes into account the impact of the previous load and we used the K-M method to solve it. In the numerical result, we showed that our proposed scheme preserves the same number of users as the traditional approaches (i.e., using global minimization/maximizing of distance/SINR), while achieving a higher load fairness index among small cells, as well as a higher rate fairness index among users. The positive impact of our proposed schemes is even higher in the case of significant imbalanced initial load among small cells.

The authors declare no conflicts of interest regarding the publication of this paper.

Omran, A. and Kadoch, M. (2019) Balancing D2D Communication Relayed Traffic Offloading in Multi-Tier HetNets. Int. J. Communications, Network and System Sciences, 12, 75-97. https://doi.org/10.4236/ijcns.2019.126007