1 Introduction

Device-to-Device (D2D) communications refers to a type of direct communication between two devices in proximity to each other without travelling through the base station (BS). As a new mode of communication that takes advantage of geographical adjacency, it is investigated as proximity services (ProSe) in the 3rd Generation Partnership Project (3GPP). Since the demand for higher data rates is growing exponentially in terms of storage and data transmission, we have enough reasons to believe that D2D communications will play a major role in 5G communications in order to help unload the burden off cellular networks and achieve better quality of service (QoS) performance for users of interest. Besides, D2D communications can also cater to a variety of location-based applications that are still in their infancy. Local vendors can send promotion messages via D2D communications to their potential customers more efficiently and almost spontaneously; medical staff can reach areas where traditional networks might be compromised in case of natural disasters such as fires and earthquakes by exploiting D2D communications; even dating services can be made more accessible and more feasible if we apply the magic of D2D communications properly. It is not hard to find that the application scenarios of D2D communications or D2D-assisted transmission are beyond numerous.

However, opportunity usually shows up with challenges in its tow. The biggest challenge in D2D communications right now lies in its extremely complicated interference scenarios. The interferences in a typical D2D communications system can be divided into two parts in general: intra-cell interference and inter-cell interference. The former is decidedly stronger, however, the latter is far from negligible when we are expecting a reliable and accurate system. Since most of the times D2D communications functions as an underlay of the cellular networks, reusing the same resources of the cellular users, the interference level can be further amplified. Figure 1 demonstrates how interference in a D2D communications networks can affect the QoS of cellular users. The interference will inevitably affect the performance or even jeopardize the basic function of D2D communications if not properly handled. Therefore, we need effective resource allocation techniques to facilitate smooth operation of D2D communications along with the cellular users. Common resource allocation elements in D2D communications include power allocation, spectrum allocation, mode selection, relay control, delay control, etc. Most of these elements serve to help achieve maximum system throughput or sum rate, higher energy efficiency, and spectrum efficiency.

Fig. 1
figure 1

Interference scenarios in D2D communications underlaying cellular networks

Literature has witnessed the increasing trend of resource allocation techniques in D2D communications in recent years as more and more papers are published each year in this research area. With such a volume of articles in the literature, a survey is the best way to unravel the connections among each other and shed some light on this topic. Currently, there are already several existing surveys about D2D communication; however, each of them has their own different emphasis. For example, in [1], the authors conduct a survey about D2D communications in LTE-A networks. Some general state-of-the-art techniques and applications are discussed there. In [2], the authors mainly focus on the security concerns in D2D communications as it can provide services via open access without authorization. However, none of these surveys focus on the resource allocation techniques in D2D communications specifically. Even in surveys presented in [3, 4] where the topic of resource allocation problem is indeed touched, it is never the core of the survey. Therefore, we deem it necessary that we conduct a survey which focuses specifically on the resource allocation techniques in D2D communications taking the recent development into consideration.

In this survey, we concentrate on different resource allocation techniques available in D2D communications. The structure of the survey is as follows. In Sect. 2, we divide dozens of papers into different categories based on the problem objectives and constraints for resource allocation in D2D communications. Section 3 provides an analysis based on the classification of different problem types and solutions in the literature. In Sect. 4, we provide a discussion about some attributes of different approaches and technical requirements for their implementations. Section 5 offers a brief introduction of the latest tools, technologies and applications in D2D communications. Future research directions are discussed in Sect. 6, where we attempt to showcase several essential topics related to resource allocation in D2D communications that are likely to be game-changers. Finally, Sect. 7 provides a summary of the survey as conclusion.

2 Objectives and Constraints of D2D Resource Allocation

In this section, we categorize the objectives and constraints of the resource allocation problems available in the literature into several aspects. To begin with, we concentrate on the objectives of D2D resource allocation. These objectives can be divided into four categories at large: power, spectrum, throughput and a group of miscellaneous purposes as shown in Fig. 2.

Fig. 2
figure 2

Objectives of D2D resource allocation

2.1 Power

One of the most common objectives of resource allocation in D2D communications based on literature review is about power. Power allocation is, of course, the most essential element in resource allocation for D2D communications. Since the mobile devices are growing exponentially on a daily basis and carbon emission has turned climate change into a problem that we cannot afford to neglect anymore, therefore, how to allocate and utilize power efficiently should call for everyone’s attention now. Besides, operators would like to save expense and cut cost as much as they could, so effective power control is as paramount to the future of their business as to the future of our environment. In [5], the authors put forward an evolutionary approach of mode selection between cellular mode and D2D mode in cognitive networks (CNs) to maximize power efficiency. In [6], the authors focused on minimization problem of total transmit power by combining how to utilize radio resource and power efficiently altogether. Similarly, a joint problem of mode selection, modulation-and-coding scheme (MCS) assignment, resource allocation and power control was discussed in [7] to achieve minimal overall power consumption. In [810], the authors aimed to maximize solely the system energy efficiency while in [11] the authors attempt to maximize both system energy efficiency and energy efficiency for individual D2D users.

2.2 Spectrum

Another important theme in D2D resource allocation is to realize efficient spectrum usage. As we know, spectrum resource is very scarce, and a large portion of them has already been occupied and utilized nowadays, however, at the same time the demand of higher data rate and the increase of mobile devices are rather unstoppable. Caught up in such a dilemma, we are pressured to come up with new ideas to take advantage of the limited resources efficiently through either proper spectrum allocation strategies or spectrum reuse schemes. In [12], the authors proposed a promising approach for D2D transmissions to serve the intra-cell traffic load through uplink spatial spectrum reuse in LTE. In [13], the authors came up with a novel strategy for spectrum usage in LTE-A based on the theory of ant colony optimization (ACO) after constructing a graph of interference among each D2D user. In [14], a spectrum allocation problem for full duplex cellular networks was discussed. By properly choosing D2D users to help offload traffic off the main cellular networks, the algorithm effectively enhances the spectrum efficiency by providing services to more user equipment with limited spectrum resources.

2.3 Throughput

Most of the papers in the literature focus on maximizing throughput or data rate one way or another. Throughput is irrefutably one of the important aspects when it comes to determine the efficacy of a system. In fact, how to provide high throughput at low cost is the question throughout the entire development of telecommunications industry. In 5G communications systems, the peak data rate is supposed to be 10 Gbps and the network capacity is supposed to be 10,000 times the current capacity in order to support the abundance of devices. Also, all operators are wrecking their brains to be the top player in this billowing battle of who can provide the fastest speed of cellular transmission. Therefore, we are poised to believe that throughput is the core in D2D communications as well. In [1519], the authors concentrated on maximizing sum rate of both cellular users and D2D users while authors in [2024] focused specifically on the maximization of the data rate for D2D users. In [25], the authors took into account a concept called sum rate gain, which refers to the increased amount of sum rate after the repeated game. In [26], a Kuhn-Munkres based resource allocation algorithm was discussed to maximize the channel throughout for intra-cluster D2D communications.

2.4 Miscellaneous

Besides the aforementioned three main genres of objectives, there remain many miscellaneous purposes for resource allocation. In this part, the optimization factors include link budget, system utility, interference, delay, QoS, revenues, etc. In [27], the authors proposed a centralized resource allocation technique that focuses on enhancing the link budget gains and thus size of BS coverage. In [28], the authors come up with two algorithms of resource allocation for D2D communications to minimize the consumption of cellular resources in vehicular ad hoc networks (VANETs). Authors in [29] chose delay as their main optimization element by proposing a flexible D2D concept based on flexible UL/DL TDD scheduling. Simulations show that the said approach can improve overall system performance in terms of decreased package delay and increased throughput. In [30], the authors introduced a concept of ‘utility’ and ‘utility gain’ for voice users and data users as a metric of system performance. The BS delegates resource blocks (RBs) based on the largest utility gain during every iteration in order to accommodate more users at the same time. In [31], the authors proposed a QoS-aware resource allocation technique for D2D video streaming. Since video streaming requires stable and smooth performance, the authors put extra emphasis on guaranteeing QoS.

After an anatomy of the objectives for D2D resource allocation, we now move to discuss about constraints. Figure 3 lists common constraints in D2D resource allocation problems. Power definitely accounts for one of the major part of constraints, especially the transmission power, because from the perspective of energy efficiency, we need to set up an upper bound on the level of transmission power or sub-channel power allowed in the system. Second, as higher transmission power often leads to higher interference, especially in D2D communications as an underlay, where we do not want the operation of D2D users eclipse the performance of cellular users, many authors take interference into account as one of the key constraints in their problem formation as well. Another common component of constraints is based on throughput. Usually in D2D communications, there is a minimum data rate or capacity requirement. If this minimum rate cannot be satisfied, then apparently D2D mode is not a remunerative option in this case for the potential users. Finally, there are limitations on the available radio resource in terms of number of RBs or number of sub-channels depending on different multiple access techniques. In the literature, the authors often consider a combination of different constraints. The most common one is shown in [8, 9, 11, 16, 24, 3234], where the authors empathize maximum transmission power and minimum data rate requirements for D2D users as their system constraints. In [18, 3538], interference was also considered by the authors to satisfy QoS. In [7], the authors added the numbers of RBs as one of the constraints in their radio allocation scheme. Similarly, the authors in [22, 23] also focus more on frequency constraints in order to maximize the utilization of spectrum resource.

Fig. 3
figure 3

Constraints of D2D resource allocation

3 Problem Types and Solutions

In this section, we will discuss the D2D resource allocation problems in detail by taxonomy of their types and solutions. The most common problem types include non-linear mixed integer programming [10, 22, 39, 40], NP-hard problem [33, 41, 42], non-convex optimization problem [9, 15] and convex optimization problem [24], etc. In [8, 10, 11], the authors formulated their problems based on fractional programming theory. In [43], an NP-complete mixed integer linear problem was proposed. Each problem has its own way of solution. Therefore, in the following part, we will take a closer look at some of the papers that are typical of their types individually.

In [21], a novel bandwidth allocation scheme was proposed by Zhang et al. to maximize the utilities for both D2D users and cellular users while keeping the interference between the two as minimal as possible. In this paper, the authors only consider the reuse of uplink resources in a single-cell scenario because frequency division duplex (FDD) in the downlink is not quite feasible and in comparison the uplink resources obviously have more potential for exploitation. First, they formulate an optimization problem of utility for D2D users under a constraint of a threshold value of cellular utility loss, meaning that the interference imposed by the D2D users on the cellular users should not be too strong. The objective function is shown in (1):

$$\begin{aligned} \text{ max } \sum _{i\in S_{D2D}} U_{D2D} \left( \sum _{j\in S_C} x(i,j) r_{D2D}(i,j)\right) , \end{aligned}$$
(1)

where \(r_{D2D} (i, j)\) refers to the spectrum efficiency of the i-th D2D pair sharing the resource of the j-th cellular user and x(ij) is defined as in (2):

$$\begin{aligned} x (i, j)= {\left\{ \begin{array}{ll} 1, &\quad \text{if} \quad \text{D2D}\,\text{user}\,i\,\text{reuses}\,\text{CU}\,j's\,\text{resource} \\ 0, &\quad \text{otherwise}. \end{array}\right. } \end{aligned}$$
(2)

The problem is a binary integer programming problem and cannot be solved directly as the computing complexity is very high. Therefore, to solve it, the authors first divide it into smaller ones so that they can tackle each of them later individually through primal-dual decomposition. Then they use the projected gradient method to solve the dual problems by developing a distributed algorithm. Simulation results show that it outperforms the centralized approach in terms of utility especially in scenario of large number of D2D users.

In [39], Cai et al. proposed a capacity oriented resource allocation (CORAL) algorithm that allows a D2D pair to share the resource of multiple cellular users. The objective is to maximize the sum rate of the entire system as show in (3)–(5).

$$\begin{aligned} R_c= & {} \sum _{C_i\in {\varvec{C}}_{\varvec{S}}^{'}} \pi _{ij} \times {\log _2 {(1 + \gamma _i^{'})}} \nonumber \\&+ \sum _{C_i\in {\varvec{C}}_{\varvec{S}}} \sum _{D_i\in \varvec{D}}\pi _{ij} \times {\log _2 {(1 + \gamma _i)}} \end{aligned}$$
(3)
$$\begin{aligned} R_d= & {} \sum _{D_j\in \varvec{D}}\sum _{C_i\in {\varvec{C}}_{\varvec{S}}} \pi _{ij} \times {\log _2 {(1 + \gamma _i)}} \end{aligned}$$
(4)
$$\begin{aligned}&\text{ max } (R_c+R_d), \end{aligned}$$
(5)

where \(R_c\) and \(R_d\) refer to the sum rate of cellular users and D2D users respectively and \(\pi _{ij}\) indicates whether cellular user \(C_i\) chooses to share its resource with D2D user \(D_j\) or not. \(\gamma _i\) refers to the SINR of cellular user \(C_i\) if it choose to share its resource while \(\gamma _i^{'}\) refers to the SINR of cellular user \(C_i\) if it choose not to share its resource.

Since the above problem is a non-linear mixed integer programming problem, traditional approach to solve this problem is in vain. Therefore, the authors develop their own heuristic CORAL algorithm. This approach can be divided into two phases. In the first phase, each D2D user chooses one optimal cellular user for resource reuse. In the second phase, those cellular users whose resources remain yet shared will choose an optimal D2D user to share their resources with. The proposed approach can achieve higher sum rate and lower data loss compared with greedy sum-rate maximization algorithm and conventional random resource allocation algorithm.

In [34], Wu et al. explored the cognitive radio based multicast service with D2D communications. In each multicast group, D2D users can reuse the orthogonal cellular resources for multicast transmission. The objective is to achieve a maximal system capacity under the constraints of SINR and transmission power, as shown in (6).

$$\begin{aligned} \text{ max } B_i\cdot \Big (\Big (1+\frac{P_iG_i}{\sigma ^2+P_jG_j}\Big )\cdot {\Big (1+\frac{P_jG_{jd_w}}{\sigma ^2+P_iG_{id_w}}\Big )}^M\Big ) \end{aligned}$$
(6)

where \(B_i\) refers to the bandwidth for cellular user \(PU_i, P_i\) and \(P_j\) refer to the transmission power for cellular user \(PU_i\) and D2D user \(SU_j\) respectively, and \(G_i\) and \(G_j\) refer to the channel gain and interference respectively.

To achieve optimal system capacity, optimal power control strategy is needed. The proposed algorithm consists of two steps. In the first step, the authors focused on channel allocation based on minimal interference. In the second step, they formed the power allocation problem as a non-linear programming problem. To solve this problem, the authors introduced several lemmas to prove that the optimal power is equal to the maximal power in the feasible region. Experiment results corroborate the authors’ conclusion.

In [13], Liotou et al. proposed a new spectrum allocation scheme based on ACO theory. The system model was built in LTE-A networks and multiple D2D users can reuse the same resource block. The authors first constructed a graph to represent all of the D2D interferences. The optimization problem was then expressed as the minimization of summed weights as shown in (7).

$$\begin{aligned} \text{ min } \sum _1^{L_{len}} W(v_i,v_j), \text{ where } v_i, v_j \in V. \end{aligned}$$
(7)

After the formation of this expression, the authors further apply ACO theory to solve the problem. Simulation results confirm that the said approach can converge fast to spectrum ratio, which could not have been possible by traditional spectrum allocation approaches. However, user mobility is not discussed in this paper and power control is also missing in the paper. In [11], a resource allocation scheme is proposed by Hoang et al. in order to optimize two energy-related metrics: system energy efficiency (SEE) and total individual energy efficiency (TIEE). These two metrics can be expressed as the formula in (8) and (9).

$$\begin{aligned} \text{ max } \text{ SEE }({\varvec{p}},\rho )= & {} \sum _{l\in K_D} \sum _{k\in K_C} \rho _l^{(k)}r_l^{(k)} \end{aligned}$$
(8)
$$\begin{aligned} \text{ max } \text{ TIEE }({\varvec{p}},\rho )= & {} \sum _{l\in K_D} \frac{\sum _{k\in K_C} \rho _l^{(k)}r_l^{(k)}}{p_l^{total}}, \end{aligned}$$
(9)

where SEE represents the overall system energy efficiency while TIEE represents the total individual energy efficiency. \(\rho _l^{(k)}\) is equal to 1 if channel k for cellular link k is also allocated to D2D link l, otherwise it is equal to 0. \(r_l^{(k)}\) refers to the data rate of D2D link l over channel k.

Both the SEE problem and the TIEE problem are fractional programming problems. In order to solve the SEE problem, the authors first applied the Dinkelbach algorithm to transform it into a non-linear mixed integer programming problem. After that, they further simplify the problem into linear integer programming problem by optimal power allocation so they can then solve it by applying the Hungarian algorithm for channel allocation. As to the TIEE problem, they solved it in a similar manner. First they applied an optimal power allocation technique for TIEE, then the Hungarian algorithm for channel allocation. The only difference lies in the way they choose to simplify the problem through optimal power allocation. Simulation results prove that said approach can lead to convergence faster for both metrics. Besides, compared with other approaches, the said approach can achieve a better maximization of spectrum efficiency.

In [10], a resource allocation problem for D2D overlaying LTE networks was discussed. Overlay means that D2D users and cellular users both have dedicated orthogonal spectrum resources instead of sharing the same one. In this case, the interference is relatively smaller. However, different D2D users might share orthogonal or non-orthogonal spectrum resource. The resource allocation problems for both two scenarios are firstly formulated as a fractional programming (FP) problem and a non-linear mixed integer fractional programming problem respectively whose goals are to maximize energy efficiency. Both of them can then be simplified into equivalent subtractive form in terms of parameters based on fractional programming theory. The simplified problems are non-concave, so the authors come up with a heuristic scheme based on Dinkelbach and Powell-Hestenes-Rockafellar augmented Lagrangian methods. Numerical results further prove that the said approach can achieve higher energy efficiency and can perform even better during orthogonal mode than non-orthogonal mode.

Besides the above examples, there remain many papers which take similar or different approaches to solve similar problems. Table 1 gives a brief summary of problem types and solution approaches mentioned in a dozen of papers.

Table 1 Problem types and solutions

4 Objective Types and System Characteristics

In this section, we will discuss about the objective types and system characteristics proposed by the authors. A systematic categorization of these attributes about system modelling, problem formation and implementation will help readers comprehend clearly the trend of solutions for D2D resource allocation problems. We will figure out which ideas have been thoroughly explored and which ones assume the potential for further research. To start with, we have noticed that most papers that we have collected form an optimization problem that is single-objective, dealing with either the maximization of sum data rate or the minimization of energy consumption, but authors in few papers [16, 20] proposed a multiple-objective optimization problem.

In [20], a multi-objective utility function was proposed for both the cellular and D2D users in the formation of Stackelberg game. The base station acts as a leader who co-ordinates interference between cellular users and D2D users while the D2D users assume the role of followers, competing for the limited spectrum to maximize their individual data rates. Mathematical proof shows that such a mechanism will eventually lead to equilibrium where the optimization of spectrum allocation is achieved. In [16], the authors proposed a distributed solution for radio resource allocation in network-assisted D2D communications system. The objective is to maximize the data rates and to satisfy total power consumption requirements for both cellular users and D2D users. Relay nodes are deployed to pass message in this approach. Based on an analysis of objective types, we believe more efforts and energy should be put into the formation of a multi-objective problem regarding D2D resource allocation in order to achieve a balance between QoS and energy efficiency or spectrum efficiency. Multi-objective approaches also tend to have higher fairness than single-objective ones.

Centralized or distributed implementation is also an important characteristic to classify the schemes of D2D resource allocation. Centralize approaches often require the BS to function as a leader, delegating tasks or in this area the power or spectrum resources. It usually entails the access to full control of the system on the BS’s behalf; therefore it is not very efficient as extra control messages are needed. In a few papers [9, 15, 27, 36], the authors proposed centralized resource allocation schemes.

In [15], the authors attempted to achieve a maximal sum throughput for D2D users through a distributed approach. In this system, each sub-carrier can only be allocated to one D2D user and a D2D link can only utilize this sub-carrier if reusing it can yield a gain above a threshold. To add to that, rate loss of cellular users is also considered in order to guarantee QoS. They then solve it through the application of Lagrangian theory, which proves to be more efficient than the previous water-filling algorithm. In [27], a D2D voice broadcast model was discussed. The authors then propose a centralized heuristic approach to allocate RBs properly. The said approach can produce a 3-5 dB gains in terms of link budget, meaning that it can cover larger area.

D2D communications is a promising technique in LTE-A, however, the interference among different D2D users can be intense. That is why in [36], the authors proposed a centralized resource allocation scheme that is interference-aware. They first represented the interference relationships among different D2D users with an interference graph. Then they attempted to allocate the resource by minimizing the conflicts, thus achieving the optimal performance. Other than the above centralized approaches, many distributed ones were also proposed. In fact, compared to centralized approaches, distributed ones are more popular in the literature as we can see from the Table 2.

Hybrid resource allocation approach is a mixed type of both strategies. Though it is relatively rare in the literature, we do find one example [37]. In this paper, multiple D2D users share the radio resource with the cellular users. In fact, there is no limit on the number of coexisting D2D users with cellular users in the system. The BS has only knowledge of the geographical locations of cellular users and D2D users while both cellular and D2D users have no channel knowledge at all. The authors decoupled the problem into two sub-problems: centralized channel allocation and distributed power control for D2D users. To solve the channel allocation, they applied graph theory, while to solve the power control, they modeled it as a multi-agent learning game. The hybrid approach demonstrates the feasibility in a large-scale area following multiple criteria of appraisal.

Channel State Information (CSI) refers to the information about the properties of the transmission channels. It is often assumed to be known by the BS or some other central controllers in a communications system for purposes of resource allocation in some system models. But in reality not all systems have the ability to build and maintain this table of information on the BS’s side. That is why we decide to check its existence in the assumptions of the system models in all the pertinent papers. In some papers [18, 20, 37], CSI is needed for the proposed resource allocation schemes and algorithms. But in many papers [6, 15, 17, 33, 34], CSI is not needed or mentioned.

Uplink and downlink resource reuse is another essential aspect regarding the system models in the papers. Most papers set up their system models assuming that D2D communications utilizes the uplink spectrum resource only, while a few papers [33, 37, 44, 45] set up their model in the downlink section. For instance, the authors in [45] consider a joint non-orthogonal spectrum sharing problem in the downlink direction. First, they propose an NP-hard problem, and then they employ an iterative algorithm that deals with both spectrum allocation and power allocation during every iteration. Simulation results demonstrate that this non-orthogonal approach performs better than the other orthogonal ones. In [14], both uplink and downlink D2D resource allocation problems were considered. In this particular scenario, a full duplex-enabled BS is deployed at the center of a full duplex cell, providing service to half duplex UE. To maximize sum throughput, the allocation of resources take place in two steps. In the first step, channel assignment is done in a way to utilize all viable cellular resources through Hungarian algorithm. In the second step, D2D users are brought into the system as relay structures through a greedy selection algorithm to offload cellular traffic and lessen the co-channel interference between the downlink and uplink cellular users due to the full duplex transmission mode.

Table 2 Objective and decision types

5 Tools, Technologies and Applications

In this section, we will analyze the tools and technologies used in the literature and some of the applications for D2D resource allocation. Figure 4 gives a summary of the information we have extracted from the papers. In the following part, we will discuss about each topic respectively.

Fig. 4
figure 4

Tools, technologies and applications of D2D resource allocation

5.1 Tools

For simulation tools, most researchers chose MATLAB to solve the optimization problem of resource allocation in D2D communications as it is a universal tool for model building, numerical simulation and implementation. However, several papers implemented their proposed wrok in C++ [39] or in NS-2, a network simulation platform which recently has gained a lot of momentum in the academia. Few have designed their own testbeds for implementation.

5.2 Technologies

The technologies used in the literature are kaleidoscopic as well, consisting of cognitive radio, HetNets, C-RAN, etc. It further proves the interconnection among various technologies and techniques. Many papers set up their system model in LTE/LTE-A [12, 13, 27, 28, 42, 44, 47] while few built their models for 5G networks [40]. Full duplex D2D communications scenarios were addressed in [14, 41]. In [34], a cognitive radio based joint resource allocation and power control scheme for D2D communications is offered to assist multicast services. In [9], a resource allocation approach for D2D communications in C-RAN based LTE-A networks was proposed that exploits the hybrid structure of C-RAN networks to achieve energy efficiency while guaranteeing QoS. In [8, 35], resource allocation for D2D in heterogeneous networks (HetNets) was discussed. Authors in [35] devised a dynamic programming approach to allocate upload and download traffic efficiently in an interference-aware manner thanks to D2D support. In [8], the authors combined mode selection and power control in a HetNet comprised of both cellular and D2D transmission modes and form a fractional non-convex problem. This approach takes into consideration multiple constraints and proves to be mathematically efficient. All of the technologies mentioned above, like D2D communications, will play a larger role in 5G communications than they already have and it is a good sign that they not only can facilitate the development of D2D communications but also benefit from the assistance of D2D communications.

5.3 Applications

The applications of D2D communications discussed in the collected literature run the gamut from video streaming [31] to wireless energy charging. Applications of D2D communications in vehicle-to-everything (V2X) communications [18], VANETs [28] and mobile social networks (MSNs) [46] were also investigated to assist in satisfying QoS. In [18], the authors provided a solution to radio resource management in a D2D-based V2X application by analyzing and transforming the V2X latency and reliability requirements into a resource allocation problem. In [28], a similar attempt to facilitate VANETs through D2D communications was discussed, where the authors divided the vehicles on the road into multiple clusters. In [46], the authors proposed an application of MSNs by setting up D2D mode for offline users. Then they applied game theory to achieve efficient data transmission among local users.

As the development of novel technologies and techniques, we are poised to witness an explosion of D2D related applications in the future.

6 Future Research Directions

As we can see, many researchers have dedicated their efforts to the problem of resource allocation of D2D communications and achieved some progress in terms of system performance one way or another. However, the path of research is a long one with many directions. Therefore, in this section, we discuss some future research directions regarding this area.

6.1 Full Duplex Communications and Resource allocation in D2D Communications

Full duplex (FD) communications, like D2D communications, is also a major topic in wireless communications. Via self-interference cancellation such as antenna isolation, analog cancellation, and digital cancellation, full duplex communications can theoretically improve spectrum efficiency up to twice as by its counterpart half duplex communications. Therefore, it would be more rewarding if we combine these two techniques together. In [48], the authors proposed a new model of cognitive wireless networks based on both full duplex relay and D2D communications. In this model, D2D transmitter were treated as full duplex relay nodes to assist the transmission of secondary users. Simulation results show that the system rate is prominently higher than in the one with half duplex relay nodes. In [49], the authors presented a resource allocation problem for D2D communications underlaying full duplex cellular networks. To avoid severe interference, the authors built the model with an interference graph. Then a graph coloring scheme was applied to achieve maximum network throughput under low computational complexity. An overview of FD-D2D for HetNet) was discussed in [50]. The authors focused on the incorporation of FD radios in small cells and some possible solutions for self-interference alleviation and cancellation based on power control and mode selection, etc.

6.2 Energy Harvesting and Resource Allocation in D2D Communications

There has been some progress in the field energy harvesting (EH). Motivated by it, the authors in [51, 52] proposed a model of HetNets, where user equipment relays (UERs) can harvest energy from access point (AP) and utilize the energy for D2D communications. An opportunistic mode selection approach based on the location of UERs is taken to decide which mode should be used for transmission. Simulation results show that higher energy harvesting rate can improve system performance of the networks, however, it might also degrade it in case of dense networks. In [53], the authors built a model of cognitive and EH-based D2D communications in cellular networks. The cognitive D2D transmitters harvest energy from ambient interference and reuse the spectrum resource of cellular users to communicate with the corresponding receivers. Two spectrum access policies were discussed: random spectrum access (RSA) policy and prioritized spectrum access (PSA) policy. The authors then used tools from stochastic geometry to evaluate the system performance under the proposed policies respectively. Simulation results confirm that EH can be a steady source of power for cognitive D2D transmitters. Also, the PSA policy provides a better performance to the D2D users than the RSA policy.

6.3 Massive MIMO and Resource Allocation in D2D Communications

Massive MIMO (Multi-Input Multi-Output) refers to a form of multi-user MIMO (MU-MIMO) technology where the BS is equipped with hundreds of antennas to enable communications of multiple users simultaneously at the cost of the same frequency resources. Like D2D communications, it is one of the key technologies in 5G communications due to its potential to increase spectral efficiency, energy efficiency and, of course, sum data rates. Like D2D communications, it is a very active topic in the research field. Therefore, some researchers believe that a combination of both technologies can lead to even better results. Even though there is not much research that is based on both technologies, there are few articles in the literature that can be a good place to start [5456]. In [54], the authors discussed a downlink scenario of D2D communications where multiple antennas deployed at the BS are used to support multiple cellular users via massive MIMO. In this model, the number of cellular users is fixed and D2D users are deployed following a Poisson point process (PPP). Simulation results show that in scenarios where D2D density is low, average sum rate (ASR) increases as the number of antennas increases while energy efficiency increases until the power of the antennas becomes too influential. In high D2D density scenarios, the gain in ASR is rather insignificant and EE suffers a big compromise. Therefore, a trade-off between numbers of antennas and numbers of D2D users is needed to achieve optimal performance. Authors in [55] formulated a similar problem, except that, in the case, the uplink cellular resources are reused. D2D users still are positioned spatially following the PPP. The authors discovered that the received SINR of cellular users increase infinitely as the number of BS antenna approaches infinity. In [56], the authors discussed building full duplex division (FDD) massive MIMO systems by exploiting the benefits of D2D communications. The model used D2D communications to exchange local channel information (CSI) among users so that it becomes global CSI at the terminals that can be used for further feedback in the networks.

6.4 mmWave Communications and Resource Allocation in D2D Communications

Millimeter-wave, or mmWave communications is another promising technology in 5G cellular networks. Millimeter-wave band refers to the band of spectrum ranging from 30 to 300 GHz. Since the frequency of such band is extremely high, it is perfect for higher speed wireless communications, thus securing its key status among novel 5G technologies. In [57], the authors thoroughly discussed the features of mmWave communications and the possible impacts on 5G cellular network. By allowing D2D links to work as an underlay, an effective resource allocation scheme was proposed. The problem of media access control (MAC) and handoff design was also discussed. The article is a very useful one for future research on enabling D2D communications in mmWave 5G cellular networks. The authors in [58] developed an efficient scheduling scheme for mmWave small cells called PCDS (popular content downloading scheme), where both D2D users are near each other so that concurrent transmissions can translate into improved transmission efficiency. Numerical simulations in different traffic scenarios show that PCDS can reduce transmission delay and improve system throughput significantly. In [59], the authors focused on the relay selection strategy for a given source-destination pair in a two-hop mmWave cellular system as such a system often has limited power and low susceptibility to blockages. In the system model, mmWave links suffer from random Bernoulli blockages. To solve the problem, a D2D-enabled relay probing strategy is proposed based on threshold, which means that the relay probing will stop once the spectral efficiency passes the threshold. According to the simulation results, the said strategy achieves a trade-off between relay probing overhead and throughput gain.

Of course, besides the four major research directions mentioned above, there are a lot more aspects worthy of attention such as D2D communications in cloud-based networks or related to cognitive radio technologies. Many technologies are intertwined with each other in the discussion, such as full duplex communications, HetNets, etc. We firmly believe that these techniques will lead to better performance when carefully mingled together.

7 Summary

In this paper, we have discussed D2D resource allocation problems in recent years and provided a detailed discussion of resource allocation techniques in D2D communications in terms of objectives and constraints, problem types and solutions, objective types and system characteristics, tools, technologies and applications in use. Finally, we took a closer look at some of the future research directions. Through the survey, we can see that D2D will play a bigger role in 5G communications and most times it is discussed in accord with other technologies for the purpose of optimal performance. Such a trend should call for more dedication from us. Among all the papers, we have noticed that the joint problem of spectrum allocation, power control and guarantee of QoS is rarely considered as a whole. We also find out that few papers focus on downlink resource reusing due to technical constraints and interference strengths. Based on these observations, we believe that more efforts should be poured into these perspectives as well as the future research directions listed above. In addition, we are certain that these technologies will lead to significant progress in 5G communications.