1 Introduction: from SDN to SDWN

With the explosion of network-based applications, communication networks have been growing rapidly and have become more complicated, resulting in a large-scale and heterogeneous network architecture. Network management has become increasingly challenging with the existing network architecture (Kim and Feamster, 2013). The concept of software-defined networking (SDN) was proposed to enable more efficient and flexible network control, configuration, and operation. Compared to a traditional network in which each network node contains both control and data planes, the control plane and the data plane are decoupled in an SDN; a centralized SDN controller (control plane) with a global view of the network states performs centralized control over all network switch infrastructures (data plane). The network management in the control plane is programmable with a central software program. The underlying infrastructures in the data plane are abstracted from applications, and act as simple and programmable packet forwarding devices. The SDN has attracted growing research interest, and recent progress was summarized in Sezer et al. (2013), Hu et al. (2014), Nunes et al. (2014), and Xia et al. (2015), and a comprehensive survey on SDN can be found in Kreutz et al. (2015).

As shown in Fig. 1, the SDN architecture consists of three layers and a set of standard interfaces. The control plane communicates with the application layer via application programming interfaces (APIs), which are also known as north-bound interfaces. Specifically, a northbound interface translates the policies and commands in the application layer for the controllers. The southbound interface refers to the interface between a controller in the control plane and physical switches in the data plane. A common SDN southbound interface is OpenFlow, which has been standardized by the Open Networking Foundation (https://www.opennetworking.org/index.php). Based on OpenFlow, several controllers have been developed, including NOX, POX, and Floodlight, which support major programming languages such as C++, Java, and Python. With the southbound interface, the controller uses software programs to perform network control over the programmable devices in the infrastructure layer (e.g., the controller decides the routing strategy for packets, while the hardware switches forward packets according to the strategy). The east-west bound interface is responsible for communications among different controllers in the control layer.

Fig. 1
figure 1

Illustration of the SDN architecture

The SDN architecture offers multifold benefits, which are summarized as follows:

  1. 1.

    Decoupling of the control plane and the data plane

    With the clear separation between the control plane and the data plane, the software and hardware components can be developed independently. As a standard southbound interface is defined, there is no concern about the compatibility between software and hardware components.

  2. 2.

    Programmability of network control

    Due to the programmability of controllers and network devices, network control can be much more flexible than before, resulting in more efficient management and configuration of the network. Since the network controller is based on software, the introduction of new protocols and policies requires only modifications of software programs, yielding a more flexible framework for network design and upgrade.

  3. 3.

    Abstraction of the data plane

    Since the underlying infrastructures are abstracted as simple packet forwarding nodes, heterogeneous and proprietary devices can be orchestrated to work together. This way, infrastructure providers have more degrees of freedom to develop high-performance hardware.

  4. 4.

    Centralized controller

    In most cases, a network with a centralized control outperforms one with distributed control. As the controller of SDN is centralized with global information of network states, the performance of SDN is expected to be improved, or even optimally-achieving compared to that of legacy networks. Under the traditional network architecture, the configuration, maintenance, and update of the network require the change of each device in the network. In an SDN with a centralized controller, network operators work solely on the controller to perform network management, resulting in reduced cost for operators. As the control planes are centralized in one controller, there is no overhead and latency caused by the communication between different controllers.

Such attractive features of SDN have triggered a growing trend to introduce the SDN architecture into wireless networks, resulting in the emergence of software-defined wireless networks (SDWN). As an application of SDN, the SDWN architecture is expected to ease the management of wireless operators through software-assisted and highly efficient network control. In addition, the SDWN unlocks itself from many limitations in traditional wireless networks and opens up new opportunities for innovations on network design.

An early application of SDN in wireless networks is the OpenRadio (Bansal et al., 2012), in which the medium access control (MAC) protocol is decoupled from the hardware to allow flexible designs. OpenRadio is thus regarded as the wireless version of OpenFlow. The application of SDN in the mobile core network was investigated in Pentikousis et al. (2013), in which a software-defined mobile network architecture called MobileFlow was proposed and a testbed was implemented. However, the application of the SDN approach is limited to the core network under the MobileFlow architecture; further application of wireless access management has not yet been considered. In Kerpez et al. (2014), a software-defined access network (SDAN) architecture was proposed to extend the benefits of SDN to broadband access. In particular, an abstraction layer was defined in the control plane to accommodate the requirements of multiple service providers, resulting in efficient network control in multiple aspects. As an example, the SDAN enables real-time dynamic spectrum management for wireless networks to satisfy user demands and guarantee fairness. A more general SDWN approach was proposed in Bernardos et al. (2014), where the SDN is leveraged in both the wireless radio access network (RAN) and the core network. As shown in Fig. 2, several heterogeneous RANs are connected to a mobile network SDN controller, and the RANs are programmable to enhance the network performance. The mobile network SDN controller is also connected to the Internet and communicates with service providers through standard interfaces. With this architecture, the SDWN controller serves as a bridge between users and the wireless operator, enabling a high level of quality of service (QoS) provisioning to users.

Fig. 2
figure 2

SDN-based mobile network architecture

In spite of promising prospect, the SDWN faces new challenges due to the special features of wireless communications:

  1. 1.

    More difficult network control

    Compared with wired transmissions, wireless transmissions are unstable with more uncertainties. Moreover, existing wireless networks are highly heterogeneous and more complex than wired networks. Thus, the control of SDN-based wireless networks may be more difficult than that of wired networks.

  2. 2.

    Unique technical problems for wireless communications

    When the SDN concept is extended from wired networks to wireless networks, some special problems for wireless communications, such as mobility management, QoS provisioning, handover, and interference management, need to be addressed in the SDWN architecture.

  3. 3.

    New perspectives towards wireless networking

    The SDWN also provides new perspectives to wireless networking. For example, while distributed schemes are usually preferred in legacy wireless networks due to the low complexity and overhead, SDWN adopts a centralized control over all network devices. Moreover, as all network devices in the data plane are abstracted and regarded as simple switches, the system models and assumptions of current wireless networks may be inadequate or even invalid.

To fully harvest the high potential of SDWN in the presence of the aforementioned challenges, the technical aspects of SDWN in various scenarios need to be investigated. In this paper, we provide a survey of the existing research on SDWN. We focus on investigating how the SDWN architecture enhances the performance of existing and future wireless networks. Compared to prior works (Pentikousis et al., 2013; Bernardos et al., 2014; Kerpez et al., 2014) that focused on the introduction of the SDWN architecture, we provide a guidance regarding the technical details and enlighten future research of performance enhancement in SDWN. In the following, we first analyze the applications of SDN in the contexts of different wireless communication scenarios. We also investigate some technical aspects of wireless networks with the SDWN architecture. Finally, we present potential problems for future research and conclude this article.

2 SDN in different wireless communication scenarios

In this section, we review and analyze the applications of SDN in several wireless communication cases. A summary of the applications and performance enhancement is given in Table 1.

Table 1 Summary of SDN applications in wireless communication scenarios

2.1 Wireless mesh networks

Wireless mesh network (WMN), also known as wireless ad hoc network, is a self-organized and decentralized network architecture, in which each node dynamically forwards data flows and maintains network connectivity (Akyildiz and Wang, 2005; Son et al., 2014a). In a multi-hop WMN, the path selection strategy and the routing protocol are the fundamental components that determine the network performance, especially when multimedia services with high requirements for data rate and delay are transporting over the WMN (Mao et al., 2003; 2005; 2006; 2007; 2008; Kompella et al., 2009). However, due to technological limits, the current routing protocols are inflexible to change and hard to update. For example, flow-based routing is hard to implement using traditional routing protocols. As the users may constantly move and connect to different routers, the WMN also needs to provide seamless handover to prevent outages. All these challenges call for a flexible network management paradigm to enable efficient control over the WMN.

In Dely et al. (2011), an OpenFlow-based WMN architecture was proposed. Instead of residing on each router, the control plane is centralized at a server that supports a network-wide network operating system. The network control is processed with software programs that are based on the network operating system. The data plane in the proposed architecture is abstracted as a flow table that defines the rules of flow-processing. In addition to presenting the OpenFlow-based WMN architecture, a case study on mobility management was presented in Dely et al. (2011). Through well-defined commands and request-response processes, the outage duration can be controlled at an acceptable level during the handover of a user. Thus, the handover process is almost seamless, showing the capability of mobility management with OpenFlow WMN.

2.2 Wireless sensor networks

A wireless sensor network (WSN) consists of low-power, lower-cost, small-size, and cooperative sensor nodes that acquire the desired information from the environment through wireless signals (Akyildiz et al., 2002; Yick et al., 2008). The key technologies for performance enhancement of WSN include routing strategies (Al-Karaki and Kamal, 2004; Mao and Hou, 2004; Akkaya and Younis, 2005), clustering algorithms (Abbasia and Younis, 2007; Guo et al., 2009), MAC protocol designs (Demirkol et al., 2006; Li et al., 2008; Huang et al., 2014), etc. The traditional WSNs are dedicated to specific applications, such as signal detection and monitoring, target tracking, surveillance, and data acquisition. Thus, each application scenario requires a certain type of WSN, and each type of WSN requires a dedicated management system with rigid policies and a proprietary infrastructure. In an SDN-based WSN, the sensor nodes are virtualized and programmable, and a centralized SDN controller schedules the sensor nodes, enhancing efficiency and achieving better performance. Thus, the WSN becomes versatile, flexible, and easy to manage.

In Luo et al. (2012), an SDN-based WSN architecture called Sensor OpenFlow was proposed. Based on the OpenFlow platform and by enabling programmability of sensor nodes, network control such as routing and QoS control can be enhanced. To implement the proposed Sensor OpenFlow architecture, a set of interfaces and network functions are defined, and the major commands are also presented to enable traffic-aware flow control.

2.3 Heterogeneous cellular networks

Heterogeneous cellular network (HetNet) is one of the key technologies for the fifth generation (5G) wireless networks due to its potential to significantly increase the data rate of wireless services (Andrews et al., 2014). With the deployment of small cells, the distances between base stations (BSs) and users are reduced, resulting in high signal-to-interference-plus-noise ratio (SINR). In addition, the low power of small cell BSs enables dense spectrum reuse, which in turn contributes to improved network capacity. To fully harvest the potential of a heterogeneous network, key problems such as resource allocation (Chandrasekhar and Andrews, 2009; Hu and Mao, 2011; 2012; Cheung et al., 2012; Feng et al., 2012a; 2012b; Jiang and Mao, 2013), interference mitigation (Lee et al., 2010; Madan et al., 2010; Saquib et al., 2012; Xu et al., 2012; Gao et al., 2013), and user association (Ye et al., 2013; Zhou et al., 2015a; 2015b) have been considered in prior works. Due to the promising prospect, various emerging techniques are applied in a heterogeneous network, such as massive multiple-input multiple-output (MIMO) (Hoydis et al., 2013; Xu et al., 2014; Xu and Mao, 2015; Feng and Mao, 2016; Feng et al., 2016) and full-duplex transmissions (Wang and Mao, 2012; Goyal et al., 2013; Feng et al., 2015a; 2015b). Since a large number of small cells would be deployed in a macrocell area, centralized control may not be feasible based on traditional network architecture; hence, cooperative strategies (Feng et al., 2014) and distributed schemes (Chandrasekhar et al., 2009) have been proposed. With the emergence of SDN, it becomes possible to perform centralized network management for a HetNet. In Qiang et al. (2014), network selection and handoff time were considered in an SDN-based heterogeneous network. The objective was to maximize the sum of effective data rate, subject to a data rate constraint for each BS to avoid congestion. With a global view of the network, the SDN controller first constructs the request matrix, and then solves a series of optimization problems to decide the optimal strategies for user handoff.

Another typical problem for a HetNet is the offloading strategy (Jiang and Mao, 2015). An SDN-based offloading framework called SDoff was proposed in Arslan et al. (2014), aiming at improving the QoS of users through seamless offloading. In this framework, the network devices are virtualized and are under the control of a centralized SDoff controller. As shown in Fig. 3, a user first authenticates to a BS; then the BS communicates with the SDoff controller and forwards the user information. Receiving the user information, the controller calculates the QoS parameters and makes the offloading decision that enhances the QoS of the user. It then broadcasts the decision to the BSs. Finally, the user is offloaded to the destination BS. The experimental results show that the degree of satisfaction of users is improved through efficient offloading.

Fig. 3
figure 3

Procedure of an SDoff controller to make offloading decisions

2.4 Device-to-device communications

Device-to-device (D2D) communication is an emerging paradigm for wireless networks that are expected to improve the capacity and reduce the energy consumption of user equipments (UEs) (Doppler et al., 2009; Fodor et al., 2012). D2D communication also potentially reduces the cost and communications overhead of users, because the UEs do not receive data directly from the BS. However, to harvest these benefits, D2D transmissions need to be carefully scheduled. Important technical aspects, such as peer selection, transmission pattern, and resource allocation, need to be addressed in a flexible and dynamic manner. Due to the distributed nature of D2D communication, distributed and cooperative strategies have been considered (Zhang et al., 2013; Cao et al., 2015). Compared to previous works based on existing network architecture, the SDN architecture opens up new opportunities for a centralized and programmable control to enhance the network performance.

In Cai et al. (2014), a framework for software-defined D2D communications in virtual wireless networks was proposed. Specifically, an SDN controller was in charge of peer discovery and resource allocation for UEs. In the proposed framework, dynamic selection between D2D and relay transmissions was considered as it determines the achievable QoS and cost of users. With the objective of maximizing the network-wide utility, the transmission mode selection and resource utilization of each UE were optimized with the help of an SDN controller. With imperfect network state information, the problem was formulated as a discrete stochastic optimization problem, and the authors developed discrete stochastic approximation algorithms to solve the problem. Such algorithms can reduce the computation complexity compared to that of exhaustive search while achieving satisfactory performance.

2.5 Cloud radio access networks

The cloud radio access network (C-RAN) is a novel cellular network architecture, in which the baseband processing units (BBUs) are assembled in a centralized BBU pool (i.e., cloud), and all the remote radio units (RRUs) at the BSs are connected to the BBU pool via fronthaul connections (Zhu et al., 2011). As the C-RAN architecture decouples the signal transmission with processing, it facilitates the implementation of many cooperative communication schemes, such as coordinated multipoint transmission (CoMP) and inter-cell interference coordination (ICIC), resulting in enhanced network-wide performance.

In addition, the centralization of BBUs improves the resource utilization, making the system adaptive to the varying traffic load. However, the benefits of C-RAN cannot be reaped without efficient network control and configuration. In an SDN-based C-RAN, the SDN controller first acquires network state information from all RRUs. It then optimizes the system parameters and decides the operation patterns for both BBUs and RRUs. With the SDN approach, a variety of technical issues, including dynamic resource allocation, load balancing, and communications between BBUs and RRUs, can be efficiently handled, resulting in a greatly enhanced network-wide performance.

In Arslan et al. (2015), an SDN-based C-RAN architecture was proposed. In particular, the SDN was applied in the fronthaul connection between BBUs and RRUs, making the fronthaul network programmable. The proposed software-defined fronthaul (SDF) enables flexible one-to-many mapping between BBUs and RRUs, and such mapping brings about multiple benefits such as seamless coverage for mobile users and energy saving for BBUs.

2.6 User-centric networks

The user-centric network (UCN) is a cost-effective and resource-efficient approach to extend network coverage and provide ubiquitous connectivity. In a UCN, users share the capacity and resources to provide networking functions, such as Internet access with other users, resulting in a cooperative and self-organized network architecture (Frangoudis and Polyzos, 2014). To enhance the performance of UCN, one of the challenges is to design an efficient resource sharing mechanism. In addition, because the transmissions of a UCN need to operate over legacy wireless systems, the compatibility problem needs to be addressed.

In Nunes et al. (2014), an SDN-integrated UCN architecture was proposed. Through SDN-based cooperation among different users, the architecture enables extension of coverage based on legacy wireless systems such as wireless fidelity (WiFi) and the Third Generation Partnership Project (3GPP). Specifically, users who are willing to join the UCN are defined as request nodes (RNs). The network gateway (NGW), which can be either a UE or an SDN-enabled access point (AP), connects users to the network infrastructures. The RN is also connected to the SDN domain through NGW, and the SDN controller performs network management. Fig. 4 illustrates a basic capacity-sharing operation: an RN first sends a request to an NGW; after a handshaking process, the NGW sends a check-in request to the SDN controller; then the SDN controller feeds back the decision to the NGW based on a node admission control mechanism; the NGW then finishes the node admission control procedure based on the decision of the SDN controller. For the node admission control mechanism, the SDN controller decides the set of users to be admitted, the resource allocated to each user, and the APs to connect the users. With SDN-based control, the resource can be efficiently used by taking the network condition, traffic load, and user QoS requirements into consideration, resulting in more effective resource allocation and QoS provisioning.

Fig. 4
figure 4

A basic capacity-sharing operation in an SDN-based user-centric network

2.7 Cognitive radio networks

In a cognitive radio network (CRN) (Mitola and Maguire, 1999; Zhao et al., 2009) with dynamic spectrum access, the resource allocation of users is the key factor for interference management and capacity improvement (Xing et al., 2007; Hoang and Liang, 2008; Tang et al., 2016). However, the resource allocation of a CRN is challenged by the potential high complexity brought by integer problems. Thus, most existing studies seek to propose efficient heuristic schemes.

To simplify resource configuration and reduce overhead, an SDN-based CRN framework was proposed in Jararweh et al. (2014), in which the resource management was totally software-based. The proposed framework consists of global hypervisors (GHs) and local hypervisors (LHs). A GH receives the requests from the LHs and makes decisions on resource management according to the available channels in the global pool. An LH is responsible for receiving requests and coordinating with other LHs to allocate the available resources to the serving nodes. In this framework, the resources are allocated based on both channel availability and requests from users, and a good tradeoff between performance and fairness can be achieved.

2.8 Wireless local area networks

With the proliferation of wireless local area network (WLAN) deployment, the operation complexity and the cost for network holders grow as the size of WLAN increases. To reduce operational expenditure and perform more efficient network control, the SDN architecture can also be applied in a WLAN as discussed in Vestin et al. (2013). In the architecture (Vestin et al., 2013), the only functionality of all APs is forwarding MAC frames, while the processing of frames is implemented at standard servers in data centers. The proposed architecture has several advantages, including low requirements for APs, simple management, easy deployment of new applications, etc. It also allows flexible downlink scheduling and dynamic spectrum use, and achieves satisfactory network performance. Another SDN-based WLAN architecture was proposed in Schulz-Zander et al. (2014). Specifically, traffic offloading and user mobility management are the main applications of such an SDN-based WiFi network.

3 Technical aspects of SDWN

3.1 Access control

As mentioned earlier, access control is a fundamental mechanism that affects network performance as it determines the traffic load of each network node. With SDN-based access control, various aspects, such as user and AP selections, as well as access timing, can be jointly optimized so that the resources of APs are efficiently used.

Moreover, since the network devices are programmable, access control can be made more flexible by taking the type of application service requests into consideration. Through the APIs at the northbound interface, service requests from the application layer can be translated into a form that the control plane can understand. Then based on the features of the service requests, the SDN controller classifies the coming service requests into several types. Common types include (1) low requirement for data rate but delay-sensitive (e.g., a voice call), (2) high requirement for data rate but not delay-sensitive (e.g., file downloading), and (3) high requirement for data rate and delay-sensitive (e.g., online video gaming). Meanwhile, the resource availability information at the APs can be obtained via southbound interfaces. Finally, the SDN controller schedules the access by jointly considering the request type and resource availability.

3.2 Mobility management

In a wireless network with roaming users, the network controller needs to keep track of the movements and provide seamless coverage to the users, so that the user QoS is guaranteed. To achieve this goal, the controller should be aware of the rough location of a user and the AP that serves the user. In addition, as the user moves, the handover strategy should be scheduled and executed in a timely manner. Mobility management in traditional cellular networks has been well studied with existing standard communication protocols. However, as the future wireless network is expected to be heterogeneous with the deployment of small cells, handover would happen more frequently and require coordination between the macrocell tier and the small cell tier. As a result, the overhead and the complexity are significantly increased. Moreover, with the emergence of new transmission techniques such as CoMP and full-duplex, mobility management would be more challenging. For CoMP transmissions, a user is associated with multiple APs, and the handover involves dynamic selection of APs for each user. In a full-duplex enabled cellular network, the BS simultaneously serves a pair of users with the same channel (with one user using the channel for uplink and the other using it for downlink transmissions). To mitigate intra-cell interference, the pairing of users is roughly determined by the locations of users. When a user moves, the pairing strategy of the network may be changed, and the user links need to be rescheduled.

Due to its many advantages, the SDN approach has the potential to deal with these challenges of future wireless networks. With a global view of the network, the SDN controller can coordinate among multiple APs to provide seamless coverage. Moreover, the network state information can be exploited to optimize the network-wide performance. For example, the handover choice of a user can be optimized based on the link qualities to candidate APs and the traffic load at the APs. As the control plane is centralized, there is no communication overhead between different APs, resulting in reduced latency. These advantages make it possible for the SDN to perform dynamic and timely control over a network with a large number of APs to meet the challenges of future wireless networks.

In Guimarães et al. (2013), an OpenFlow based handover framework for mobility management has been implemented. Through the interaction among mobile nodes, the OpenFlow controller, and the OpenFlow switch, the handover can be performed by software.

3.3 Interference management

Due to the extensive deployment of wireless networks, centralized control based on legacy network architecture has become infeasible. Thus, distributed interference management schemes have gained growing popularity due to the low complexity and easy implementation. For example, distributed power control based on game theory has been widely studied. By setting the interference caused to others as a penalty and defining suitable utility functions, a BS or a user sets its transmit power at a proper level that maximizes its own utility. However, the distributed schemes may not be able to achieve a desired tradeoff between optimality and fairness due to the lack of overall network information. Moreover, some of them are hard to implement in practical scenarios. For example, the interference caused by other users may be hard to identify and measure.

The recent emergence of the SDN paradigm offers an alternative for interference management and leads to the return of centralized control. With SDN, interference management can be accomplished in a coordinated way. Such coordination does not require the actual communication between different BSs or users. Instead, it is performed by the SDN controller. In the spatial domain, the controller can carry out a coordinated beamforming scheme that mitigates interference as well as enhances performance. The slot and channel usage patterns of different cells can be optimized to achieve a desired tradeoff between performance and fairness. Considering the rapid change of channel states, the controller can also dynamically adjust the power of each entity to control the interference in a timely manner.

In the SDN based WiFi system in Schulz-Zander et al. (2014), the WiFi cards are used in the SDN system to detect the energy of each sub-carrier, and such information is used by the controller to dynamically schedule the channel usage pattern, resulting in mitigated interference. To handle inter-cell interference in a dense heterogeneous network, an SDN-based approach has been proposed in Ali-Ahmad et al. (2013). Through dedicated sub-frames, some nodes are scheduled not to transmit during certain periods, so that an enhanced inter-cell interference coordination scheme can be achieved. The interference can also be mitigated with proper power control and resource block allocation. In the framework of Gudipati et al. (2013), the decisions regarding the parameters of all radio elements are made by the controller in a coordinated way.

3.4 Load balancing

Load balancing is a critical aspect of network performance. Without load balancing, some network nodes (which can be a router, an AP, a BS, etc.) may be overloaded and result in congestion, while the other nodes are under-utilized (Son et al., 2014b). The first step of load balancing is the detection of the overloaded node, and the SDN architecture is advantageous in this aspect (Nunes et al., 2014). Since the admission control of new arrivals at each node is executed by the SDN controller, and the controller has knowledge of the capacity of each node, the overloading of a node would be detected when the number of arrivals is larger than the capacity of a node. As the controller also has such information of other nodes, it can schedule a nearby under-utilized node to offload the extra load. As shown in Fig. 5, each AP updates its traffic load and available resource information to the controller. With global network information, such as request arrival pattern, node capacity and processing capability, QoS requirement of users, and instant traffic distribution, SDN has the potential to achieve a near-optimal performance with intelligent software-based control.

Fig. 5
figure 5

Load balancing with the SDN approach

Another example of load balancing with SDN can be found in Gudipati et al. (2013). Suppose an edge user is served by BS A, while BS A has a heavy traffic load. The power received from neighboring BS B is slightly weaker than that of BS A, but BS B has much more available resource blocks than BS A and could provide better QoS to the user than BS A. In current long term evolution (LTE) networks, handovers are triggered when a user receives a stronger signal from a neighboring BS. Thus, the user would not hand over to BS B. With SDN, since the controller has global information, the control can make a schedule to make the user hand over to BS B for both load balancing and performance enhancement.

Due to the centralization of BBU resources, the C-RAN architecture becomes an effective solution to deal with bursting wireless traffic and avoid congestion at the BSs. As the SDN approach facilitates the implementation of the C-RAN architecture, load balancing in cellular networks can be more efficient with SDN.

3.5 Resource sharing

Resource sharing is a key component for implementing UCN and D2D communications, as it determines the link quality between devices. Although resource sharing normally operates in a self-organized fashion, the resource sharing parameters should be carefully designed to enhance the system performance and guarantee the QoS of users. Furthermore, as users are selfish in nature, incentive mechanisms are required to promote the sharing. With SDN-based network management, the SDN controller first acquires the QoS requirement and resource availability of each user. It then determines the resource sharing strategy for each user based on the supply-demand conditions of all users. The resource sharing strategy for a user includes the choice of another user to share with and the proportion of resource to be shared. With a centralized optimization by the SDN software, users with redundant resource preserve a proportion of resource for their own communication needs and share the remaining resource with users who have insufficient amount of resource, resulting in enhanced network-wide performance.

3.6 Offloading strategy

With the widespread deployment of WiFi and small cells, the traffic of a macrocell BS can be offloaded to WiFi APs or small cell BSs, benefiting both the wireless operator and cellular users. However, without a global network view or centralized control, the efficiency of offloading may be low under some circumstances. For example, a UE may tend to connect to a nearby WiFi AP since the WiFi connection is free and a higher SINR can be achieved compared to the cellular connection. However, the WiFi AP may be already overloaded, but the UE is unaware of this situation. Since the WiFi adopts contention-based MAC protocols, the UE may need to wait for a long time before having a successful transmission. Similar problems exist for small cells, as the processing capability of a small cell BS is limited compared to a macrocell BS; the congestion would occur without an effective schedule. Furthermore, in the case of CoMP, in which multiple BSs or APs jointly serve a user, the set of APs needs to be carefully selected, as some links are inefficient and may cause a waste of communication resource.

SDN can be a promising approach to deal with these potential problems. Through a set of standard interfaces, WiFi APs and small cell BSs are abstracted as simple packet-forwarding devices under the control of a centralized SDN controller. Since the SDN control plane has a panorama of the network, it makes intelligent decisions for each user’s offloading strategy, resulting in better performance in terms of higher throughput and lower latency.

With the proliferation of cloud computing, applications with high computational overhead at a UE can also be offloaded to the cloud. This way, the time spent on computation and the energy consumption of the UE can both be reduced. However, the offloading process itself takes time and consumes energy. Thus, local execution is sometimes a better choice than offloading to the cloud. The choice between local execution and cloud offloading depends on various factors, including the processing ability of the cloud, the type and size of the UE application, and the channel condition of the offloading link. Unfortunately, a UE is agnostic towards some of the information, making it difficult for the UE to make a wise decision. In an SDN-based network, the information can be acquired by the SDN control plane through the southbound interfaces. Thus, the SDN controller can make better decisions for each UE and effectively reduce its latency and energy consumption.

4 Future research directions

4.1 Compatibility problems

To realize virtualization in the data plane, the existing network infrastructure needs to support standard southbound interfaces, which, however, requires changes in hardware. Unless the SDN becomes the dominant network architecture in the future, not all infrastructure providers are prone to develop new hardware components that support SDN. Thus, in a future wireless system, an SDN-based wireless network may coexist with a legacy wireless network without SDN control. Under this scenario, the SDN does not have a global view of the wireless system and cannot control every component in the wireless system. Thus, the SDN controller needs to dynamically react to the impact caused by other wireless networks, in order to maintain its benefits. Such technical details related to the compatibility problem require further investigation.

4.2 Application in femtocaching

Femtocaching (Golrezaei et al., 2012; 2013) is a novel solution to satisfy the explosive demand for data services by users. The femtocaching approach involves deploying small stations with high storage capacity near users. These stations, referred to as helpers, can cache the popular contents and service requests from users. Since the popular contents are frequently requested by different users, the provision of contents to users becomes highly efficient. A fundamental problem of femtocaching is to determine what files should be cached and which helpers should store them. Since the SDN controller keeps track of the network states and has controls over the entire network, the SDN-based approach has a high potential to deal with the scheduling problem and offer an optimal or near-optimal solution.

4.3 Scalability issues

Although SDN can significantly enhance network control with the help of a software-assisted controller, the capability of a controller is still limited. As an SDWN expands, a larger number of events need to be processed by the SDN controller. Thus, multiple controllers are required to implement efficient control and the SDWN architecture needs to be scalable. The scalability issue has been investigated in Yeganeh et al. (2013). The authors argue that there is no inherent bottleneck for SDN scalability, and scalability concerns result from implicit and extrinsic assumptions. In future work, solutions dealing with large-scale SDWNs are required. Specifically, the SDWN needs to be divided into multiple parts with each part having an SDN controller, and different controllers communicating with each other via east-west bound interfaces. The strategy on how to partition the SDWN requires further study.

5 Conclusions

In this paper, we have investigated the architecture and technical aspects of SDWN, with a focus on performance enhancement. The applications of SDN in several wireless networking paradigms were presented and analyzed. We also investigated several important technical aspects of SDWN and analyzed how the SDN approach can be incorporated to enhance network performance with these aspects. Finally, we discussed several open problems and concluded the article.