Skip to main content

Building programmable wireless networks: an architectural survey


In recent times, there is increasing consensus that the traditional Internet architecture needs to be evolved for it to sustain unstinted growth and innovation. A major reason for the perceived architectural ossification is the lack of the ability to program the network as a system. This situation has resulted partly from historical decisions in the original Internet design which emphasized decentralized network operations through colocated data and control planes on each network device. The situation for wireless networks is no different resulting in a lot of complexity and a plethora of largely incompatible wireless technologies. With traditional architectures providing limited support for programmability, there is a broad realization in the wireless community that future programmable wireless networks would require significant architectural innovations. In this paper, we will present an unified overview of the programmability solutions that have been proposed at the device and the network level. In particular, we will discuss software-defined radio (SDR), cognitive radio (CR), programmable MAC processor, and programmable routers as device-level programmability solutions, and software-defined networking (SDN), cognitive wireless networking (CWN), virtualizable wireless networking (VWN) and cloud-based wireless networking (CbWN) as network-level programmability solutions. We provide both a self-contained exposition of these topics as well as a broad survey of the application of these trends in modern wireless networks.

1 Introduction

Wireless networks have become increasingly popular due to the inherent convenience of untethered communication. They are deployed ubiquitously in myriad of networking environments ranging from cellular mobile networking, regional or city-wide networking (e.g., through worldwide interoperability for microwave access (WiMAX) technology), and local area or even personal networking environments (e.g., through Wi-Fi and Bluetooth technology, respectively)[1]. With the usage of wireless networks promising to increase in the future, both in demand and application diversity[2], the issue of devising and implementing flexible architectural support becomes all the more important.

While newer wireless technologies have been emerging at a prolific rate, the architecture of wireless networking has largely been static and difficult to evolve. The malaise of architectural ‘ossification’ is not unique to wireless networking though but applies more generally to networking. Before we can describe the reasons of this ossification, we operationally define the data plane to be responsible for forwarding packets at line speed, and the control plane for figuring out, and instantiating, the forwarding state that the data plane needs. Various reasons have been offered to explain the Internet’s architectural ossification such as: i) vertical integration and coupling of the data plane and the control plane at node level; ii) lack of abstractions and modularization of the control plane, and finally, resulting from the preceding two reasons; and iii) lack of programmability of the network as a whole. These reasons, subtly related to each other, have collectively discouraged networking growth and innovations[3].

To manage the complexity of computer systems, computer scientists have long recognized the potency of the concept of abstraction[4]. It has been argued that the most formidable challenge to the networking industry is posed by the paucity of useful abstractions[5]. With a lack of foundational abstractions, networking reduces to a ‘plethora of protocols and tools’ without any underlying architectural base[5, 6]. There are three main benefits of using abstractions: i) modularity, which allows managing complex problems scalably through reuse of modules offering common functionality; ii) separation of concerns through loose inter-module coupling which is implementation agnostic; and iii) innovation, since new developments can focus on the module that needs fixing without ‘reinventing the entire wheel’[7]. The Open System Interconnection (OSI) layered model - which is composed of layers representing modular subcomponents that interact through well-defined abstract interfaces - is often considered as a major success story of computer networking. The OSI layering model, however, relates mostly to the Internet’s data plane which has evolved to offer various useful abstractions[6]. The Internet’s control plane, on the other hand, has developed mostly in an ad hoc fashion and has lacked well-developed abstractions until quite recently[8].

Broadly speaking, programmable networks denote networks that can tune itself, or reconfigure itself, through a software-based adaptation - typically managed through an application programmer interface (API). Incorporation of functionality in software allows networks to innovate at the rate of software development cycle which is a lot more agile than the sluggish rate of hardware development[9]. Applications of programmability include rapid provisioning of services[10], flexible resource management[11], efficient resource sharing[12], and support for new architectures such as cloud computing, Internet of things (IoT)[13], etc.

Traditionally, networking devices have offered some ability to configure the system/network but with limited programmability. In particular, the devices mostly offered a limited set of configuration options which may be envisioned as ‘knobs’ that can be tuned to suit the operator. The vision of a programmable device is to allow the operator to program in any way desired; i.e., the operator should be free to define new custom tunable knobs as desired to support niche applications or services and not be limited to the configuration options made available by the device’s vendor. Programmable devices thus offer far greater flexibility than configurable devices.

Interestingly, programmable networking is not entirely a recent concept. The lack of programmability of networks has long been recognized, and various approaches have been proposed to address this deficiency[14, 15]. In a remarkably prescient paper, published by Campbell et al. in 1999[14], the impending impact of numerous programming trends is anticipated using surprisingly modern terminology. In particular, it was predicted that higher levels of network programmability will result from separation of hardware from software, availability of open network interfaces, virtualization of networking infrastructure, and rapid creation and deployment of network services. These predictions have come to fruition exactly as forecasted in the forms of software-defined networking (SDN), standardized APIs, network virtualization, and cloud computing. Similarly, another insightful paper[16], the early version of which dates to 1996, talks about applying programming language perspective to networks and their protocols and talks about their aim of creating the ‘Smalltalk of networking’. These ideas are having a renaissance in the modern era in the context of SDN programming languages[17]a.

To develop programmable wireless networks, it is imperative that we emphasize the development of both programmable wireless data planes and programmable wireless control planes. In this paper, we will provide a unified holistic overview of programmable wireless networking and will highlight overarching themes and insights. We will see that there are four prominent technological trends that underlie most of the current research focusing on enabling future programmable wireless networking. These technological trends are: i) software-defined wireless networks (SWNs), ii) cognitive wireless networks (CWNs), iii) virtualizable wireless networks (VWNs), and iv) cloud-based wireless networks (CbWNs). We will provide a background on these trends and will provide a broad survey of the applications of these trends in the literature.

The main contribution of this paper is that we provide a unified overview of the emerging field of programmable wireless networks. We demonstrate that the seemingly disparate fields of active networking, software-defined radios, cognitive radios, software-defined networking, and wireless virtualization, are in fact kindred disciplines. We develop this idea and propose new directions of future programmable wireless networks. Our paper is different from other survey papers[11, 18, 19] in its focus on wireless programmable networks while the previous papers had focused mainly on generic (wired) programmable networks.

The organization of the remaining paper is as follows. In the next section, we describe the basic device-level building blocks for building future programmable wireless networks. Thereafter, we discuss the various architectural approaches of building generic programmable networks in Section 3. We will thereafter discussing four dominant categories of programmable wireless networks, i.e., SWNs, CWNs, VWNs, and CbWNs, and highlight works belonging to each category in Sections 4.1, 4.2, 4.3, and 4.4, respectively. In Section 5, we discuss various open research issues and future directions of research. We conclude the paper in Section 6.

2 Building blocks for programmable wireless networking

Programmable devices are envisioned to be a key component of future programmable networks. In this section, we discuss various techniques and architectures that have been proposed to realize the benefits associated with programmable wireless networks. In particular, we elaborate upon the trends of software-defined radio, cognitive radio, MAC programmable wireless devices, programmable wireless testbeds, and programmable radios in this particular order.

2.1 Software-defined radios (SDR)

The defining characteristic of a SDR is that it implements most of the basic building blocks of physical (PHY) layer radio communication in software. With the hardware stripped down to the elements essential to all radio communication, custom blocks traditionally implemented in hardware - e.g., filters, amplifiers, modulators, demodulators, mixers, etc. - are now implemented in software (Figure1). This implies that appropriate programming of the generic radio hardware can in principle allow it to support arbitrary technologies. The SDR technology was a significant paradigm shift ushering in a new era of programmable wireless devices. Thus, using an SDR, an operator could program a wireless device to support any of the myriad of wireless technologies[20]. This opened up an unprecedented opportunity for creating a programmable wireless device for the first time[2123].

Figure 1
figure 1

The hardware/software division of radio tasks in software-defined radio vs. a traditional hardware radio.

The precise definition of SDRs is debated, with no clear consensus on how reconfigurable must a radio be to be deemed an SDR. Clearly, it is a bit of a stretch to call every radio with a digital signal processor (DSP) as an SDR. A working definition provided in[21] is that an SDR is ‘a radio that is substantially defined in software and whose physical layer behavior can be significantly altered through changes to its software’. The SDR forum defines an ‘ultimate software radio’ (USR) as ‘a radio that accepts fully programmable traffic and control information and supports a broad range of frequencies, air-interfaces, and applications software’.[21]. In[24], two extremes SDR platforms are discussed: The first type is an SDR that is composed of programmable components, such as field programmable gate arrays (FPGAs), DSPs, etc., which are programmed directly; the other extreme is a highly configurable chipset-based SDR which is ‘programmed’ by setting configuration registers in the chip to determine the choice of frequency, coding, and PHY- and MAC-level protocol details. Most practical SDRs lie between these two extremes[24].

While traditionally SDRs have mainly been used in military settings due to excessive cost, the technology has now matured to a stage where its form and cost is amenable to non-military markets[24]. While the SDR of 1990s was the size of a small refrigerator and could easily cost more than $100,000, today the size of an SDR is akin to the size of a computer battery and it can cost less than $500, extrapolating the trend, it is reasonable to assume that future pricing and form factor of SDRs will match that of a typical consumer electronic device[24]. The democratization of SDR technology will conceivably revolutionize wireless and mobile networking, e.g., a consumer will not be limited to any single wireless protocol with a wireless device. This will lead to unprecedented flexibility as technologies (such as Wi-Fi and Bluetooth) will no longer be ‘baked’ into the hardware, but will be software applications, or applets, that any SDR could support. Due to their versatile nature, SDRs are radio chameleons potentially running a telephony protocol (such as CDMA) at a given time and switching to a completely different data communication protocol (such as Wi-Fi or WiMAX) next moment[24].

A prominent and popular example of SDR platform is to use the universal software radio peripheral (USRP) hardware kit[25] along with the open-source GNU Radio software toolkit[26] that implements in software various necessary signal processing blocks. The USRP hardware digitizes the received analog signal and imports it into a computer so that it may be processed by GNU Radio software (or similar toolkits such as the OSSIE framework based on the ‘joint tactical radio system’ (JTRS) software communications architecture[27]). Such an arrangement allows building a custom radio that can be programmed to support an arbitrary wireless technology through appropriate signal processing blocks that operate on the signal received or to be transmitted. Some example of SDR platforms include Implementing Radio in Software (IRIS)[28], USRP[29], Wireless Open-Access Research Platform (WARP)[30], Airblue[31], SORA[32], OpenRadio[33], and Ziria[34, 35]. We provide a brief description of these platforms in Table1 and refer to the original papers for details.

Table 1 Representative summary of important programmable networking components and platforms

To summarize, SDRs are envisioned as an essential component of future programmable wireless devices. Their importance can be gauged from the fact that almost all advanced wireless programmability techniques (such as cognitive radio and programmable wireless processors, etc.) are SDR-based.

2.2 Cognitive radios (CR)

CRs have evolved from the concept of SDRs[55], and it represents the next major milestone after SDR in the drive towards powerful programmable wireless devices. Joseph Mitola coined the term ‘cognitive radio’ in 1999 when he envisioned a broadening of the SDR concept. In particular, Mitola anticipated that incorporation of substantial artificial intelligence (AI) in the form of machine learning, knowledge reasoning, and natural language processing will transform SDRs into cognitive radios that will optimize network performance by sensing, learning, and reacting to environmental stimuli[56]. In other words, CR allows an SDR to reprogram itself autonomously based on network conditions. In a modern setting, this is achieved by incorporation of a cognitive engine that employs various AI-based techniques to build a knowledge base, based on which reasoning is performed to make ‘optimal’ decisions[57].

CRs are viewed as an essential component of next-generation wireless networks[58, 59] and have a wide range of applications including intelligent transport systems, public safety systems, femtocells, cooperative networks, dynamic spectrum access, and smart grid communications[57, 58]. CR can dramatically improve spectrum access, capacity, and link performance while also incorporating the needs and the context of the user[57]. Although cognitive behavior of CRs can enable diverse applications, perhaps the most cited application of cognitive radio networks (CRNs), which are networks where nodes are equipped with CRs, is dynamic spectrum access (DSA)[60]. DSA is proposed as a solution to the problem of ‘artificial spectrum scarcity’ that results from static allocation of available wireless spectrum using the command-and-control licensing approach[60]. Under this approach, licensed applications represented by primary users (PUs) are allocated exclusive access to portions of the available wireless spectrum prohibiting other users from access even when the spectrum is idle. With most of the radio spectrum already being licensed in this fashion, innovation in wireless technology is constrained. The problem is compounded by the observation, replicated in numerous measurement-based studies world over, that the licensed spectrum is grossly underutilized[58, 60]. The DSA paradigm proposes to allow secondary users (SUs) access to the licensed spectrum subject to the condition that SUs do not interfere with the operations of the primary network of incumbents.

While programmable wireless devices (such as SDRs and CRs) do serve as the building block for programmable wireless networking infrastructures, it is pertinent to note here that the task of building programmable wireless networks is much more nuanced. Various vexing problems (such as routing[61], security[62], etc.) need to be solved while taking into account the network-wide behavior[63]. Historically, most of the CR research has focused on optimizing at a device level, with network-level programmability being a recent afterthought[64]. In the subsequent sections, we will see how trends of software-defined networks (Section 4.1) and cognitive networks (Section 4.2) allow us to extend the programmability concepts to network proportions.

2.3 MAC programmable wireless devices

In the past few years, numerous new wireless technologies, with distinct MAC protocols, have been proposed to serve a variety of niche wireless applications. Since there is no universal and one-size-fits-all MAC protocol that will work equally well for all such scenarios, there is a lot of interest in creating programmable wireless devices which will implement, what may be effectively called, software-defined MAC. A majority of current wireless devices do not support SDRs, or even software-defined MAC, and effectively can support only a single technology. Although SDRs offer great flexibility in altering its PHY later characteristics, supporting programmatic MAC on SDRs also entails significant research challenges[32, 65].

In recent times, there has been work in supporting programmable, or software-defined MAC, on commodity wireless devices. In 2005, Neufeld et al. proposed SoftMAC[45] as a software system that allows development of new MAC protocols on commodity 802.11 network interface cards (NICs) to build a SDR with predefined PHY characteristics but with a flexible MAC layer. SoftMAC was extended by the MultiMAC framework[46], proposed by Doerr et al., to provide support for DSA applications in CRNs. In particular, MultiMAC supports multiple concurrent MAC layers that can be switched with minimal impact. MultiMAC aimed at dynamically reconfiguring MAC and PHY layer properties to select appropriate MAC component on per node/flow basis thereby acting as a stepping stone to the concept of ‘cognitive MAC’ which supports intelligent reconfiguration of MAC and PHY layers.

Other ways have also been proposed for building MAC programmable wireless devices. One way of doing this is by creating an abstraction of a wireless MAC processor with an instruction set representing common MAC actions, events, and conditions which can be programmed through an API to compose any custom MAC protocol[53]. Another approach, known as the MAClet approach, is to conceive the entire MAC protocol stack akin to a Java applet which can be loaded onto a MAC processor and run[54]. While these approaches could be conceivably implemented on FPGA-based SDR platforms, such as WARP[30] or USRP[25] in a straightforward manner, the main contribution of the works[53, 54] has been to implement these approaches on a commodity Broadcom wireless NIC. In[66], a new service-oriented architecture for programmable wireless interfaces is proposed which replaces the traditional PHY and MAC layers with a i) a platform layer, which exposes static primitives for managing hardware events and frame transmissions and ii) three layers of functionalities - state machines, functions, and services - that expose a programmable interface to upper layers. The proposed approach differs from SDR solutions since the adaptation and customization is accomplished through programmable interfaces exposed at a layer higher than the PHY layer. Besides these aforementioned works[53, 54, 66], there have been other component oriented design[67] efforts for composing customizable MAC protocols from a set of basic functional components[51, 52]. For a detailed survey of dynamically adaptable protocol stacks in general, the interested reader is referred to[68].

2.4 Programmable routers

Programmable routers have been developed that incorporate programmable datapath processing capabilities in commodity ×86 architectures to perform custom protocol operations and arbitrary payload processing more flexibly and at a lower cost. These programmable routers are not specific to wireless technologies but we discuss this technology in this section because these routers can potentially be very useful in the context of programmable wireless networking. The Click programmable router[43] is an early influential software router which snaps together various modular ‘elements’ to assemble the router logic. Although Click offers the capability of rapid prototyping and deployment and decent performance for a software router running on a PC, any purely software-based approach will be hard pressed to satisfy the demanding performance requirements of modern networks. However, with the recent advances in the processing and input/output (I/O) performance of commodity servers, software routers running on ×86 architecture offers a disruptive lower cost and more flexible proposition.

More recently, programmable routers with reprogrammable hardware such as FPGAs have been proposed to simultaneously address the needs for flexibility, extensibility, and performance for the forwarding plane. Prominent projects in this category include the NetFPGA project[47], the RouteBricks project[49], and the SwitchBlade project[50]. Extensible open-source control plane software also exists with the Extensible Open Router Platform (XORP) open-source software suite[44] being a prominent example; XORP defines a fully extensible platform, suitable for both research and deployment, which builds upon the extensible Click framework in its forwarding plane.

To wrap this section, we note that we have provided a representative summary of various architectural components of programmable networking, including a summary of programmable MAC devices, is provided in Table1. The characteristics of SDR, CR Programmable MAC, and programmable routers are also juxtaposed in Table2 for a ready comparison.

Table 2 Comparison of SDR, programmable MAC, and CR paradigms

3 Review of programmable networking architectures

3.1 Traditional programmable networking architectures

With the lack of programmability complicating networking innovations, it was the early 1990s when work on creating programmable network started in earnest[19]. At the time there were two major, slightly differing schools, that advocated programmable networks: the first group proposed the ‘OpenSig’ approach[19] while the second group furthered the ‘Active Networking’ approach[69]. The general consensus that emerged was that the programmability solution lies in separating the control software from the hardware and in having open interfaces for management and control. The building blocks for creating programmable networks started appearing thereafter in the form of various programmable networking components (such as the Click modular router[43], etc.). More recently, with the emergence of datacenters, virtualization, and cloud computing technology, the requirement of programmability has become mainstream. In the remainder of this subsection, we will outline these developments in more detail.

3.1.1 The OpenSig approach

In the mid 1990s, the OpenSig approach[70] advocated both the separation of the data plane and the control plane for ATM networks and the usage of open interfaces for signalling between these two planes. The main idea was that with separated control and data planes, and an open standard interface, the ATM switches would become remotely programmable and thus more manageable. The OpenSig community actively worked on standardizing such an open interface, and a number of experimental networks set up in various research institutes explored these proposals. The Tempest framework[40], based on the OpenSig philosophy, allowed multiple control planes to simultaneously control a single network of ATM switches. The main reason of OpenSig approach could not quite become mainstream was the static nature of the interfaces it defined[14].

3.1.2 Active networking

The Active Networking (AN) approach[16, 69] was popularized at the same time as OpenSig, i.e., in the mid 1990s, when the Internet was rapidly commercializing and experiencing the need of more flexible control. The AN approach aimed at creating programmable networks that can allow rapid network innovations. The AN research - driven mainly by the efforts of the Defense Advanced Research Projects Agency (DARPA) - was motivated by the need to rapidly commission new services and dynamically configure networks in run-time. It was perceived that the static nature of OpenSig networks could not support these needs.

The main idea of AN is to actively control network nodes so that the network nodes may be programmed to execute arbitrary mobile code as desired by the operator[16]. The value proposition of such an approach was that it would enable new innovative applications, that leverage computation with the network, and that it would increase the rate of innovations by decoupling services from the underlying infrastructure[71, 72]. The flexibility offered by such an approach, on the other hand, was also accompanied by concerns about its performance and security implications.

The AN approach consisted of two programming models: i) the capsule model, where the data packets contained not only the data to be communicated but also in-band instructions to execute; and the ii) programmable switch model, in which the out-of-band mechanisms were utilized to execute code at various nodes[18, 69]. While it is the capsule model - which was the more radical approach, significantly different from the traditional operational paradigm of networking - that is most closely associated with AN, it is fair to say that both these models have bequeathed valuable legacies inherited by modern programmable networking frameworks. In particular, the capsule approach attracted interest since it could provide a clean method of upgrading data plane processing along an entire network path[18, 72]. Using the capsule approach, numerous services such as active load balancing, multicasting, caching, etc. could be supported[69, 73].

The AN framework was vigorously pursued by the research community in the mid and late 1990s - helped by the interest and generous funding of DARPA. Various influential projects were initiated in this time frame with some prominent AN projects being the ActiveWare project[74] at MIT, the CANES[75] project at Georgia Tech, the SwitchWare project[76] at University of Pennsylvania, the ANTS project at University of Washington[77, 78], and the Tempest project[40] at Cambridge University. More details about these, and other important AN projects, can be seen in Table3 and in the survey paper[69].

Table 3 Representative summary of important programmable networking concepts

The AN paradigm was the first in a series of clean-slate Internet redesign proposals[18]. Many of the programmable networking concepts that appear eminently modern - such as separation of control plane and data plane, remote control of data planes, virtualization, network APIs, etc. - have in fact germinated from the AN community. However, despite the ground breaking nature of the AN paradigm, the AN paradigm failed to really catch on. One reason for its failure to capitalize on the intense interest around was the lack of a compelling application use case in the AN approach that could work pragmatically within the existing framework. Secondly, AN emphasized the flexibility of providing network end users the chance to program the network which never became a popular use case.

3.2 Virtualization and cloud computing

Virtualization is a technique, fundamental to various disciplines of computer science, which allows sharing of resources while providing abstractions identical, for all practical purposes, to that of the original resource.

Virtualization has been especially influential in the modern era of large-scale datacenters. Prior to the popularization of virtualization technology, various concerns (such as security, isolation, performance) dictated that servers be dedicated for particular applications (e.g., dedicated web servers, database servers, etc.) and provisioned for peak load. This led to gross underutilization with 10% to 20% utilization of resources being commonplace. This has motivated the creation of a new ‘virtual machine’ (VM) abstraction using which multiple VM instances, completely isolated from each other, can be created on the same physical machine. These virtual machines provided an interface to end applications that was identical to that of the underlying physical server. With the programmability features of VM cloning and mobility, which allows taking VM snapshots and transporting to any physical server that is currently underutilized, physical resources can now be shared both efficiently and securely. Due to these desirable properties, virtualization has truly become an indispensable component of modern computing.

The popularity of compute virtualization in the datacenter environment has spawned two further trends: i) cloud computing and ii) network virtualization.

The main insight of cloud computing is to provide services in a virtualized datacenter, provisioned programmatically through APIs via the web, as a service in utility computing style[98]. Although utility computing was conceived as early as 1961 by John McCarthy[99], it is only recently that cloud computing has turned this vision into a reality. The cloud paradigm is differentiated from traditional datacenters mainly in the dynamism of service provisioning which has been made feasible by virtualization technology and advances in web APIs. The ability to program services has led to great innovations and has democratized computing largely by making computing resources available on per-use pricing. The ‘holy grail’ of the cloud computing paradigm is the vision of installing a generic ‘network fabric’[100] which can be then programmed to provide any service without any need of manual configuration of network nodes. The implementation of such a fabric-based virtualized datacenter has proven itself elusive, due to the complexity of virtualizing networks, so much so that it is now a common sentiment in the networking industry that networking is the bottleneck in datacenter innovationsb. With traditionally vertically integrated network devices, supporting cloud-era applications entails the undesirable burden of manually configuring various network switches through vendor-specific command-line-interfaces (CLIs) - a process that is cumbersome and error prone[101].

With the presence of 10s or 100s of VMs per machine, a software-based hypervisor switch, inside the physical server, takes care of inter-VM networking. A significant tipping point was recently witnessed when estimated number of physical ports were overtaken by virtualized ports - a significant inflection point in networking history indeed[102]. This has significant architectural implications. In particular, it has been highlighted that using an hypervisor overlay with a networking fabric constructed out of SDN technology (to be covered in Section 3.3) can become the functional equivalent of the traditionally influential end-to-end principle[103]. In addition, the virtualization/SDN hybrid architecture will also subsume the functionality of MPLS and middleboxes to offer a clean split between the core and the edge. In this new architecture, the SDN-based fabric will become the new core, while the hypervisor switches will be the new edge. We shall see later that these edge devices consist of hypervisor switches (e.g., Open vSwitch[104]) that are software defined and thus are programmable (using protocols such as OpenFlow[8]). This paradigm shift to software control fundamentally changes the pace of innovation and opens up a world of new possibilities.

While VMs have unshackled applications from being tied to particular physical servers, traditional network virtualization techniques (such as VLANs, VPNs, and overlay networks) do not offer an analogousvirtual network (VN) abstraction that decouples the network from the physical infrastructure. This VN abstraction should, like the VM abstraction does for the server, ensure detachment of the virtual network from the physical infrastructure as well as isolation between multiple tenants sharing the same infrastructure, while providing the same interface as the original network. There was a notable early work on network virtualization in the OpenSig era: the Genesis project[42] proposed, in 1999, a virtual network kernel that was capable of spawning virtual network architectures on-demand. The term ‘spawning’ is used in Genesis as a metaphorical reference to the use of this term in the field of operating systems where it refers to the process of creating a new process that runs on the same hardware - analogously, spawning a network means creating a new network architecture on the same infrastructure. This concept, although important and novel, is distinct from the modern virtualization abstraction of a VN. Just like a VM is a software container - encapsulating logical CPU, memory, storage, networking, etc. - providing an interface identical to a physical machine to an application, a VN is a software container - encapsulating logical network components, such as routers, switches, firewalls, etc. - that presents an interface identical to a physical network to network applications. The VN abstraction for wireless networks is visually depicted in Figure2. This abstraction allows great flexibility to IT managers as the physical network can now be managed as a ‘fabric’ offering some transport capacity that can be used, programmed, and repurposed as needed.

Figure 2
figure 2

Using virtualization, multiple virtual networks can coexist on the underlying physical infrastructure substrate in a decoupled fashion.

Virtualization is also a popular method in the Internet community for introducing innovations in production networks with minimal intervention through the use of overlay networks[92, 93]. An overlay network is essentially a virtualized logical network built on top of a physical network with tunnels interconnecting edge devices. The overlay network is typically decoupled from the underlying physical network through dual address spaces representing a tunnel encapsulation with the virtual address space on the inside and the physical address space on the outside. The overlay network appears to the nodes connecting to it as a native network with the possibility of multiple overlays existing on the same underlying physical infrastructure (which allows support for multi-tenancy). Each overlay network is effectively a distinct logical network which can support service properties such as an arbitrary policy of L2, L3, and access control list (ACL) processing distinct from the physical network. This makes overlay networking a popular technique for supporting disruptive innovations in networks without requiring interventions in the core network[92, 93].

Interested readers are referred to comprehensive surveys on network virtualization[105, 106] and cloud computing[98] for more details.

3.3 Software-defined networking (SDN)

The major insight of ‘software-defined networking’ (SDNs) is to allow horizontally integrated systems by allowing the separation of the control plane and the data plane[11, 107] while providing increasingly sophisticated set of abstractions. SDN has revolutionized the networking industry by providing architectural support for ‘programming the network’. SDN promises to be a major paradigm shift in networking landscape leading to improved and simplified networking management and operations. While conceived mainly in academia, SDN has been taken up by the industry by gusto with numerous success stories[108, 109]. SDN has also been seen recent successful industrial deployments[12]. Although SDN and active networking paradigms share a common motivation, i.e., of creating programmable networks, both of them are different in their focus; active networks strived more for data-plane programmability while SDN’s focus has been on control-plane programmability[18].

Although the term SDN has only been coined in 2009, the idea of SDN has a rich intellectual history. In particular, it is the culmination of many varied ideas and proposals in the general field of programmable networks[11, 18] with many of the initial ideas of programmable networking (of ‘open interfaces’ and ‘separation of control and data plane’) espoused by the OpenSig and Active Networking community now maturing in the form of the SDN) architecture. While the SDN architecture is very similar to the AN architecture, it has become more popular due to technological advances, compelling use cases, and importantly, certain pragmatic design choices. In particular, SDN has become popular largely due to the need of virtualization in modern datacenters and cloud computing which require network virtualization support due to their dependence on automated provisioning, automation, and orchestration. While AN focused on developing radically new data plane abstractions, the SDN approach has focused more on newer control plane abstractions (which arguably addresses a bigger pain point). The SDN architecture is different from the AN architecture since the former has emphasized on the separation of the control plane and the data plane[18] which was not integral to the AN architecture.With the growing popularity of SDN, various industrial stakeholders have jumped on the SDN bandwagon to exploit its early success, and the term ‘SDN’ has seen a considerable broadening. To analyze and reason about SDN, it is, therefore, vital that we define it precisely. There are three key characteristics of SDN. Firstly, there is a separation of the data plane and the control plane. Secondly, a single control plane (or controller) may control multiple data planes (or the datapath of switches/router). Lastly, SDNs incorporate modularity in the control plane through which high-level abstractions can be used by network control programs. The distinction between traditional and SDN network architecture can be clearly observed in Figure3b. To summarize these views, SDN deals with abstractions and mechanisms for creating a general, horizontal networking platform.

Figure 3
figure 3

Comparison of traditional and SDN network architectures. (a) In traditional networking, the control planes (CP) and the data planes (DP) are colocated on devices to ensure decentralized network control. (b) In SDNs, the DPs and CPs are separated with a centralized controller controlling multiple DPs while supporting a southbound API to the DPs and a northbound API to the SDN applications.

By providing abstraction layers, it is possible to program new applications on central controllers for a wide variety of purposes. These applications include setting up virtual networks, enforcing quality of service (QoS), explicit routing, etc. The most fertile application area of SDN has been datacenters and campus networks[8]; however, SDN has also been proposed in many other settings such as service providers, carrier networks, and wireless networks. Specifically, SDN has been applied to wireless networks in varied settings such as wireless sensor networks (WSNs) and wireless mesh networks (WMNs)[110].

Although networks have always been software definedc, writing, managing, and updating the networking software could be done only by the developers employed by the vendors. This ‘closed’ network architecture stifled innovation as the network was inherently non-programmable, and all new feature requests had to be routed to the networking vendor for implementation. SDN changes this paradigm by opening up the network through the simple, yet powerful, concept of separation of the control plane and the data plane. This separation, coupled with newer control abstractions, forms the core of the new SDN architecture. The development of SDNs is supported by a burgeoning open-source community. With the separation of the control plane from the data plane, it is possible for third party/open-source developers to write program applications for the controller. This allows networks to employ programmable commodity hardware rather than closed vendor hardware, increasing flexibility and development while reducing costs.

The Open Network Foundation (ONF) is an organization that is working on developing and maintaining standards for SDNs. Broadly speaking, there are two main APIs in the SDN architecture: i) the southbound API defines an interface between a centralized network controllerd and networking devices[8], while ii) the northbound API defines the interface exposed by the controller to the network applications. There also has been activity in the Internet Engineering Task Force (IETF) community on standardizing SDN (e.g., with the I2RS[111] and ALTO[112] projects). In addition, there is the OpenDaylighte project under the Linux Foundation which is a community-led and industry-supported framework which aims at fostering innovation in the SDN space through the best practices of open-source development best practices.

OpenFlow[8] represents perhaps the most readily recognized protocol associated with SDNf. OpenFlow is an example standard southbound API which has been standardized by the ONF. The standardization of OpenFlow has propelled it as the principal SDN control plane abstraction, enabling thereby numerous innovations[113]. With the control logic implemented in a separate controller and a standardized control API between the controller and the data planes, the vision of programming the network using a high-level control language can be achieved. While the current control API defined by OpenFlow is fairly primitive (and has been compared to Assembly language), it is a matter of time before higher level control languages are developed that offer more sophisticated abstractions. Indeed, work in this direction is already underway[17]. The seemingly innocuous refactoring of the functionality from individual devices to the centralized controller unleashes a powerful new paradigm offering abstractions which facilitate simplified, efficient, and scalable management of network operations and services.

The development of the SDN architecture has also led to the development of the ‘network operating system’ abstraction. The role of an operating system (OS) is to manage the complexity of various components, that a computer is composed of, and to present a simplified programming interface to the application programmer. In a similar vein, it is envisioned that the network OS (NOS) will manage the various tasks necessary to manage the network (such as exchange of distributed state and computation of routes, etc.) and present a simplified interface to network application programmers. The NOS is typically implemented at the SDN controller(s). An NOS is expected to implement a state management layer, managing distributed state in the network to provide a consistent network view, and provide an API to network applications to facilitate high-level programming. Various NOS have been implemented for SDN including the seminal work for NOX[114] and subsequent efforts for ONIX[115] and ONOS[116].

Since the proposal of the SDN architecture[8] in 2008, many research works have focused on the development of higher layer protocols and applications that can leverage and exploit the programmability offered by the SDN architecture. In particular, routing, transport layer, and management frameworks have been proposed that work with OpenFlow and SDN. The routing proposals include i) Quagflow[117], which partners the open-source routing software Quaqqa[118] with OpenFlow and ii) RouteFlow approach[119] which can be used to provide ‘virtual routers as a service’ in SDN environments[120]. The transport layer protocol proposals include the work on OpenTCP[121]. Finally, there has been work on supporting multimedia delivery with QoS with the OpenQoS[122].

The SDN architecture, as has been highlighted before, uses many of the programmability concepts of earlier projects. In particular, it builds upon earlier proposals to i) separate the control plane and the data plane (early proposals include SoftRouter[82], 4D[83], RCP[81], and work in the ForCES working group[80]), ii) control multiple data planes from a separate controller (like the Tempest framework[40]), and iii) utilize open interface for communications between the separate controller and the data planes (like the OpenSig framework[70]). A representative summary of various programming concepts, many of which SDN exploits, is shown in Table3.

Despite the fact that SDN utilizes many of the active networking projects, SDN has become more popular than its predecessors due to the various technology pushes (e.g., advances in computing and networking technology) and application pulls (e.g., datacenter and cloud services, network virtualization, etc.) and greater industrial acceptance due to certain pragmatic design choices[18]. The long-term success of SDN would require innovations in new abstractions for the control and data plane balanced with a pragmatic strategy for its deployment.

4 Dominant trends in programmable wireless networking

In this section, we focus on prominent trends in wireless networking that have the potential to play a major part in creating future programmable wireless networks. In particular, we will discuss SWNs, CWNs, and VWNs, and CbWNs (Table4). Our generalized treatment of wireless networking will subsume discussions on both technologies that have evolved from their telecom roots (such as 4G networks such as WiMAX and long-term evolution (LTE)) and also those that have predominantly data networking foundations (such as Wi-Fi).

Table 4 Representative summary of important trends in wireless networking

4.1 Trend 1: software-defined wireless networks (SWNs)

With increasing deployment and diversification of wireless technology, managing wireless networks has become very challenging. SDN is a promising architecture that can be used for conveniently operating, controlling, and managing wireless networks. As discussed in Section 3.3, the defining characteristic of SDN is generally understood to be the separation of the control and data plane. The presence of programmable controllers enables us to call these networks ‘software defined’.

The development of programmable wireless networks requires changes not only in the control plane but also in the data plane. In particular, the wireless data plane needs to be redesigned to define new, more useful, abstractions. To put things into perspective, the current data plane abstraction offered by OpenFlow supporting switches is based on primitive match-action paradigm. To lend greater support to innovations in control plane functionality, the data plane functionality has to evolve to support more sophisticated, and useful, abstractions. Research on newer data plane abstractions is being vigorously pursued with the use of programmable hardware being popularly proposed[179]. The vision of programmable wireless networks thus requires synergy in multiple related domains and would require innovations in both the data plane and the control plane of wireless networks. Using SDN technology for wireless networking will extend the benefits of SDNs - simplification, flexibility, evolvability, and rapid innovation - to wireless environments[139].

In this section, we will initially discuss applications of SWNs in Section 4.1.1. We will then discuss architectures for providing software programmable wireless data planes (Section 4.1.2) as well as how SDN techniques have been applied in various settings of wireless networking (Section 4.1.3). While the finer details are application dependent, all SWNs seek to i) attempt to make management of networks a lot more easier, ii) allow the same hardware to support multiple wireless protocols, and iii) provide an abstraction layer to allow all, or some part, of the wireless architecture to be programmable. These aims are facilitated through the separation of the control and data planes which allows a separate controller to programmatically reconfigure network properties. The theme of providing abstractions for programmability thus pervades the SWN approaches we have discussed in this section.

4.1.1 Applications of SWNs

The biggest promise of SDN is to simplify and improve network management and operations[180]. We discuss some main applications of SDNs in this regard next.

  • Coexistence of diverse technologies. SDN can be used to integrate diverse wireless technologies and facilitate optimized management and coexistence of diverse wireless technologies. For example, Yap et al.[128] have proposed supporting diverse wireless technologies using the OpenFlow protocol in the OpenFlow Wireless project. SDN can also be used to coexistence of diverse technology through the support of mobile offloading, or Wi-Fi roaming, using which traffic from a mobile cellular network is outsourced to a Wi-Fi data network to improve the quality-of-experience (QoE) of the end user.

  • Mobile offloading. SDN can also facilitate handovers between heterogeneous technologies and across service provider. There has been work in using OpenFlow-based controller in managing mobile offloading applications in mobile networks such as 3G or 4G/LTE. There are currently various roaming solutions which facilitate homogeneous Wi-Fi handover (such as IEEE 802.11f, 802.11k, and 802.11r) as well as heterogeneous Wi-Fi handover such as IEEE 802.21. Yi et al.[131] have proposed utilizing SDN techniques to implement heterogeneous technology handover. In another recent work, Ding et al. have proposed SoftOffload[129] as a SDN-based programmable framework that enables mobile traffic offloading.

  • Efficient resource utilization. We have already pointed out that OpenFlow Wireless[128] can be used to support diverse wireless technologies. In addition, OpenFlow Wireless, among various other SDN-based works, can facilitate more efficient resource utilization and better infrastructural sharing. The trend of VWNs, which we will discuss later in Section 4.3, can complement SDN in facilitating better resource utilization.

  • Better QoS/QoE. The separation of the control and data planes and the usage of a centralized controller can facilitate better provisioning of network-wide QoS/QoE policies. As a particular example, Sivaraman et al.[163] have proposed to virtualize the access infrastructure of internet service providers (ISPs) and home network using SDN APIs to enable better QoS/QoE through dynamic controlled sharing among user traffic streams.

  • Traffic engineering or adaptive routing. SDN can be used to dramatically improve the network utilization through better traffic engineering (with Google’s traffic engineering work B4[12] being a prime example on how traffic engineering can lead to vastly improved performance). The SDN architecture can facilitate efficient traffic engineering and/or adaptive routing in wireless and mobile networks[130].

  • Distributed mobility management (DMM). DMM is a an architectural framework for evolving mobile IP services from the currently deployed mobile core networks (which have serious scalability/reliability issues due to their hierarchical centralized architecture) to a more scalable model with distributed operations[127, 181]. Current IP mobility frameworks force a mobile network operator (MNO) to deploy central entities (like the home agent, local mobility anchor, packet gateway, etc.) in charge of coordinating the mobility management. The current architecture suffers from the problems of suboptimal routing, lack of scalability, and lack of reliability. SDN-based solutions can be used to implement a partially distributed model in which the control plane and data planes are managed separated. The split of control/data plane using SDN principle allows mobility anchors to optimally route traffic[181].

  • Programmatic network service orchestration. There is also the growing trend of using SDN for performing dynamic programmatic service orchestration such as proposed in the recent work proposed by Schulz-Zander et al.[132].

  • Real-time analytics/reconfiguration. There is renewed interest in the Internet community in deploying the centralized SDN architecture for optimized reconfiguration of network infrastructure based on real-time analytics performed at the SDN controller(s). In a recent work, Metsch et al.[124] have proposed using real-time analytics for service operation and management in mobile networks.

  • Security enhancement. The clean separation of data and control planes in the SDN architecture and the consolidation of the control functionality at the centralized controller allows improved implementation of enterprise-level security policy. In this regard, Ding et al.[133] have proposed an SDN-based framework for security enhancement in wireless mobile networks. Some applications of SDN techniques in mobile networks for improving security include i) implementation of ‘intrusion detection systems’ (IDS), ii) prevent denial of service (DOS) attacks near the wireless edge, and iii) implement secure handoffs in mobile networks[133].

4.1.2 Software-defined programmable wireless data planes

In this section, we will discuss two prominent architectures of software-defined programmable wireless data planes named OpenRadio and OpenRoads, respectively. OpenRadio

The OpenRadio system[33] defines a novel design of a wireless data plane that allows programming of the entire wireless stack through a modular and declarative programming interface. OpenRadio proposes to refactor the functionality of wireless protocols into two parts. The processing plane deals with programs and algorithms that process data using the underlying hardware. The decision plane, on the other hand, is responsible for making logical decisions on the data being processed by the processing planes. It should be observed that the concepts of the processing and decision planes are subtly analogous to that of the data and control planes in the SDN world, respectively. OpenRadio is themed in the mold of both SDRs and SDNs. OpenRadio uses an abstraction layer for managing wireless protocols on generic hardware configured through software like SDRs, while also allowing the separation of protocol from hardware similar to SDNs. OpenRadio can support different wireless protocols, like Wi-Fi, WiMAX, and LTE, etc. though a common hardware, thereby significantly reducing costs and making it easier to configure, optimize, and even define protocols. OpenRadio’s major strength is its ability to detach protocol from hardware and to bind the former with software to allow increased flexibility. With newer wireless protocols regularly being rolled out, the ability to reprogram functionality centrally and programmatically is of great convenience. OpenRadio can also be used for cell-size based optimization in cellular networks and for management of frequency spectrum in the presence of multiple heterogeneous cell stations to avoid interference[33]. OpenRoads or ‘OpenFlow Wireless’

A seminal development in the field of programmable SWNs has been the OpenRoads project[123] - known also as OpenFlow Wireless[128]. OpenRoads provides a complete platform that can be used to apply SDN principles in wireless environments and thereby create a programmable wireless data plane. One particularly appealing benefit of OpenRoads is that it allows efficient handover between diverse wireless technologies, by ‘flattening’ multiple vertically integrated wireless technologies, to allow seamless mobility for clients of mobile wireless networks. In[128], the feasibility of this SDN-based approach is explored for mobility management with vertical handovers between IEEE 802.11 and IEEE 802.16 networks. OpenRoads employs OpenFlow and the Simple Network Management Protocol (SNMP) on wireless routers. OpenFlow provides means to manage the forwarding plane while SNMP allows configuration of these wireless devices. FlowVisor and SNMP demultiplexer are used to divide and make the control more scalable. Each controlling flow is given a particular ‘flow value’ to ensure that different controlling flows are isolated from one another so that only those flows that are intended for particular devices would be installed. High-level control interfaces are used upon OpenFlow to provide communication between different devices, configuration of these wireless devices, and management of flow.

4.1.3 Network-specific categorization of SWNs

We will now detail different wireless networking projects that have incorporated SDN principles. These projects vary in the manner in which they employ SDN principles as well as in the nature of wireless networks (wireless local area networks (WLANs), cellular networks, sensor networks, and personal area networks). WLAN-based SWNs

Odin[134] is a proposed SWN architecture that employs the principles of SDNs in WLANs. In its popular form, WLAN decisions are made by clients and not the WLAN infrastructure itself. For example, a client decides which access point it prefers to join rather than the infrastructure deciding it for the client. In WLANs, association of clients with specific access points keeps on changing with client mobility. This poses a significant challenge to any potential SDN-oriented WLAN architecture as it would be difficult for controller programmers to keep track of the ever changing association between access points and clients. The Odin architecture suggests the usage of light virtual access points (LVAPs). LVAPs virtualize access point-client association and decouples it from physical access points. Whenever a client connects to the WLAN network, it is allotted an identification number on its LVAP that remains fixed regardless of its associated physical access point. The complexities of the physical access point are thus hidden from central controller programmers. The Odin program offers many advantages. Odin provides seamless mobility between access points as the need to constantly establish new connections with physical access points changes. Additionally, flexible routing policies further allow load balancing. Furthermore, with an improved overview of the network, it is possible to reduce interference and eliminate issues such as hidden node problems. Cellular mobile SWNs

Recently, there has been significant interest in improving the performance of cellular mobile networks through SDN principles. In particular, frameworks have been proposed that incorporate SDN principles into 3GPP evolved packet core (EPC) mobile carrier networks (the MobileFlow project[135]) and 4G LTE cellular networks (the SoftRAN project[136] and the SoftCell project[137]). The main advantages of the cellular mobile SWN approach include better management of radio resources, more flexible routing, real-time monitoring, better mobility support, and the ability to offload data to Wi-Fi networks[182, 183].

There are a few problems with the current LTE architecture: i) centralized data flow as all the data passes through the packet gateway (P-GW), ii) centralized monitoring and control is not scalable and is expensive, and iii) base stations and infrastructure are difficult to configure. The first two problems are related with the central control and monitoring of LTE networks. Thus, a possible solution would need to distribute some of the control and monitoring responsibilities leading to a hybridized control plane. This seems to be a departure from one of the fundamental principles of SDNs, i.e., centralized control. Solution to the third problem lies in adapting an SDN-based architecture so that remote applications may be used for the tasks. As discussed earlier, OpenRadio provides an ideal modular interface to configure base stations remotely and conveniently. Wireless sensor network (WSN)-based SWNs

WSNs have been popular within the research community but have always being considered as an application-specific technology. Treating WSNs as application-specific technology leads to the problem of resource underutilization with potentially multiple application-specific WSNs being deployed over a shared area where a single WSN may have sufficed. Incorporating SDN in sensor networks would provide solution to these problems[138]. Separation of control and data planes would provide abstraction, helping to manage and control the network. By employing sensor network-based SWN, network controllers could set policies and quality of services to support multiple potential applications. This would also allow usage of the same sensor nodes for multiple application/ purposes. This again increases resource utilization and optimization. Low-rate personal area network (LR-PAN)-based SWNs

SDN attributes can also be used to great advantage in LR-PANs[139]. All LR-PANs essentially employ the same 802.15 data link layer[184, 185]. Differences in higher layers of their respective protocol stacks lead to different LR-PAN protocols such as ZigBee, Bluetooth, etc. This leads to incompatibilities in communication between different nodes. By using the same tools that are used in OpenRadio, we could separate hardware from protocol and use an abstraction layer to program and define different wireless protocols. This would allow us to run different wireless LR-PAN protocols on the same wireless device. In this way, it would be possible for nodes to be dynamically associated with many networks at a time, allowing us to use network resources more efficiently. The separation of data and control planes extends the usual SDN benefits of simpler management, flexible control, and efficient resource utilization to LR-PAN SWNs.

4.2 Trend 2: cognitive wireless networks (CWNs)

It has been highlighted earlier that the predominant focus of most of the existing CRN research has been on enabling intelligent device-level behavior, with a notable exception being some work on cognitive networks[63, 64, 140142]. Cognitive networks, in contrast to cognitive radios, are characterized by their network-level intelligent and self-aware behavior. In this paper, we refer to such cognitive networks as ‘cognitive wireless networks’ (CWNs). CWNs employ a cognition loop (as can be seen in Figure4) to observe the environment, orient itself, and thereafter decide/plan to arrive at the best decision according to the networking/user and application context.

Figure 4
figure 4

Cognitive wireless networks (CWNs) which include an embedded cognitive engine. Which can observe network conditions, orient itself with the context, learn from experience, and decide to act, all while taking into account end-to-end network goals.

While device-level reconfiguration capabilities (e.g., SDRs and CRs) and network-level reconfiguration capabilities (e.g., SDN) will undoubtedly be a big part of future programmable wireless networking, the resulting programmable wireless architecture will still not be fully automated unless AI techniques are incorporated into the core of the framework. In addition to programmable data plane and programmable control plane, both offering various useful abstractions, future wireless programmable networking also requires a knowledge plane[186]. Since CRNs inherently embody AI techniques with wireless communications, it seems natural to explore using CRs, along with the capabilities of SDN and SDRs, and to provide mechanisms for implementing the knowledge plane of future programmable wireless devices.

In future work, the hybrid use of SDN and CRN technology could plausibly lead to a more powerful programmable wireless networking paradigm. While the CogNet project[63] did propose an architectural model of separated control and data planes with an extensible global control plane controlling the separated data planes through an API - which is similar in spirit to the SDN architecture - no concrete proposal has followed this initial conception. This area is ripe for further exploration to exploit the best of CRN and SDN worlds.

We note here that CWNs are autonomously self-programmed networks, i.e., CWNs incorporate the ability of autonomously adapting, or programming, itself so that operation parameters are optimized to fulfill the desired goals of performance. This conception of programmability in CWNs is distinct from the traditional view of programmability (which also applied to SWNs) which implicitly assumes non-autonomous programming. Future programmable wireless networking will arguably employ both autonomous and non-autonomous programming to reap the benefits of both approaches.

In the following subsections, we will introduce applications of CWNs and will provide a network-specific categorization of CWNs.

4.2.1 Applications of CWNs

  • Dynamic spectrum access[144]. An important adaptive feature of CWNs is DSA which allows reconfiguration of operating frequency of a SU to allow communication in licensed spectrum. This depends critically on spectrum sensing (which is performed to detect the presence of primary users, or PUs) which is used to ensure that incumbent licensed users, represented by the PUs, are not interfered with. In certain cases, spectrum sensing can be avoided and a database lookup specifying the activity pattern of the PU suffices[144]. Many IEEE standards (such as IEEE 802.11, 802.15, and 802.16) incorporate some basic cognitive radio functionality such as dynamic frequency selection (DFS) and power control (PC) which facilitate coexisting networks sharing the same frequency[187]. While DSA is the most popularly cited application of CRNs, developing network-level intelligence in CRNs will enable numerous other applications - including the ability to reprogram itself optimally according to the network conditions.

  • Cognitive networking. Cognitive networking broadly encompasses models of cognition and learning that have been defined for CRs while emphasizing an end-to-end network-wide scope. Such cognitive networks can perceive current conditions to plan, decide, and act while catering to the overall network’s end-to-end goals[64, 142]. Figure4 serves to illustrate the vision of cognitive networks. To help CRNs become cognitive networks (CN), it is imperative that intelligence be integrated into the fabric of CRN architecture and protocols across the stack. The cognitive networking vision foresees an intelligent network capable of setting itself up given high-level instructions and which can continually adapt and manage itself according to changing environmental conditions to optimize network-wide performance metrics.

  • The grand vision of cognitive networking can enable various interesting applications. In particular, the applications of network-optimized MAC protocols[146, 147], adaptive routing[61, 143], and improved security[149] hold special promise and can enable significant advancement in the state of the art in wireless networking services.

  • Parameter optimization. In typical wireless networks, it has been observed that PHY and MAC layers offer many knobs that can be tweaked to optimize performance which may be measured through some meters. In[60], many examples of knobs and meters at the PHY and MAC layers have been provided in the context of CWNs. Since wireless networks often operate in dynamic conditions, configuring the knobs optimally is not a trivial problem. Various AI-based techniques have been proposed in the literature to assist CWNs in their quest of performing autonomous parameter optimization adaptations in such settings[145]. Apart from artificial intelligence, CWNs also borrow techniques and tools from various other fields such as game theory, control theory, optimization theory, metaheuristics, etc.[59].

  • Enhanced reliability. To be widely deployed, it is important that next-generation wireless networks provide enhanced reliability independently of the state of the network and the radio transmission medium. Unfortunately, the wireless transmission medium is particularly error prone. CRs have been proposed as a solution to this problem, and they can combat various failures through efficient failure recovery and prevention mechanisms. This can allow CWNs to provide consistent QoS under all circumstances. A detailed survey of various failure conditions and how CRs can be used to provide enhanced reliability in the face of such failures is provided in[148].

  • Adaptive optimization. CWNs offer the ability to adaptive optimize against the varying wireless environmental conditions using AI-based techniques. CWN typically utilizes adaptive frameworks such as reinforcement learning, learning automata, game theory, etc., for adaptively optimizing the parameters of the network. There are numerous optimization-based applications of CWNs including dynamic spectrum access[144], parameter optimization[145, 188], optimized MAC[146] and routing[61, 189], enhanced reliability[148] and security[149, 189], QoS assurance and management[190, 191], channel assignment[192], etc.

4.2.2 Network-specific categorization of CWNs

The use of CR technology has been proposed in various network settings. This allows the CWN trend to manifest itself in different network settings providing in each case the benefits of cognitive networking. There has been work in applying cognitive technology to IEEE 802.11 networks. Niyato et al. have proposed using CRs for opportunistic channel selection in IEEE 802.11-based WMNs. There also has been work in implementing white space networking with commodity IEEE 802.11 WLAN NICs[151]. CRs have also been used in the IEEE 802.22 wireless regional area network (WRAN) standard which is proposed to be used in the TV bands. Other white space networking projects include the work of Yuan et al.[37] which has focused on using white spaces in the TV band for DSA. There also has been working in embedding CR technology in WSNs and vehicular networks (VANETs) to help realize cognitive sensor networks[154] and cognitive vehicular networks, respectively.

4.3 Trend 3: virtualizable wireless networks (VWNs)

Virtualization has transformed both the operational efficiency and the economics of the compute industry and more recently, the datacenter environment. With the growing role of virtualization in networking, it is highly likely that future programmable wireless networks will be virtualization based.

There is also growing interest among major network service providers to decouple the functionality of telecom devices from dedicated devices to enable ‘network functions virtualization’ (NFV) (as can be seen in Figure5) which will enable implementation of network functions (such as mobile network node, etc.) on servers in datacenters[193]. The concept of NFV extends to any data plane packet processing and control plane function in mobile or fixed networks including, but not limited to, mobile network nodes and traditional switching devices such as routers, switches, home gateways, etc. NFV technology also allows the providers to make the data plane programmable which will facilitate in orchestrating middlebox functionality efficiently.

Figure 5
figure 5

NFV is used to convert fixed-function hardware appliances into virtualized cloud software instances. That run on commodity infrastructure hosted in cloud datacenters.

Traditionally, it is not uncommon for a single packet to undergo processing in the data plane through multiple middleboxes that are used to augment data plane processing by L2 and L3 switches. This is in contrast to the traditional mainframe like model of building middleboxes based on monolithic platforms housed in fixed location in the network (typically at the edge of carrier’s core network). This traditional architecture suffered from being rigid, static, and resistant to attempts at automation and orchestration. The functionality of network infrastructure orchestration can be implemented in the NFV framework, on the other hand, by dynamic ‘network service chaining’ (NSC)[194] through virtual network functions (such as ACLs, QoS, load balancing, etc.) running as virtualized cloud instances in datacenters.

There has been a lot of work done in exploiting SDN principles to enable network virtualization solutions. An initial SDN use case, espoused in[8], was allowing researchers to run experimental protocols in virtualized ‘slices’ of the production network. While the concept of slicing network through virtualization technology predates SDN - e.g., it has been used in VINI[195], PlanetLab[92], Emulab[196], and more recently in the NSF funded Global Environment for Network Innovations (GENI) project[197] - Casado et al. have extended this idea further by proposing a network hypervisor to virtualize the network’s forwarding plane[198]. The concept of a network hypervisor is analogous to the traditional hypervisor concept. The network hypervisor implements a network-wide software layer through which it is aimed that multiple virtualized networks, that are decoupled from their underlying hardware instantiation, can be supported. In such an environment, the network state (forwarding and configuration) is decoupled from the underlying hardware, and thus, networks can be created, moved, cloned, and deleted just like VMs in the server world - all in software. A network hypervisor, FlowVisor[94], has been developed for OpenFlow-based SDN environments that allows carving out of virtualized slices, that are isolated from each other and controlled by a separate NOS, out of OpenFlow production networks[95].

There also has been work in exploiting SDN in addition to NFV to bulid service chains. OpenFlow has also been used for designing and prototyping high-speed networking by a reusable platform OpenPipes[199]. Using an OpenFlow network, new systems can be constructed quickly by OpenPipes, like the Click modular router, by ‘plumbing’ modules - be they implemented in CPU, FPGA, and ASIC - together in a pipeline. OpenPipes also allows flexible migration of modules (implemented in software or hardware, or both) from one subsystem to another, even in a running system.

It is pertinent here to clarify the connections between SDN and network virtualization (NV). Since both these technologies return some similar benefits, it is a common mistake to equate these two technologies[18]. The SDN architecture is characterized by its emphasis on the separation of the control plane and the data planes and the potential management of multiple data planes through the separated control plane. NV, on the other hand, is characterized by its emphasis on a new ‘virtual network’ (VN) abstraction that decouples the virtual network from the physical infrastructure. It is another myth that NV is just an application of SDN. It is worth stressing that NV is a solution while SDN is an architecture - while NV can be implemented more easily using the architectural flexibility offered by SDN, implementation of SDN is not a prerequisite for NV. It has been argued quite convincingly that NV is a distinct entity, important in its own right[18, 103, 200], which may turn out to be even bigger than the current SDN fad sweeping the networking community[103].

In summary, the cloud computing concepts, proposed originally for datacenters, are likely to play a big part in creating future programmable wireless networks. In a few years time, it is anticipated that mobile carrier and telecom networks will increasingly emulate datacenters and clouds in their reliance on commodity hardware, virtualization technology, and open software and interfaces in a break from the current scenario in which telecom service providers are full of proprietary vertically integrated hardware appliances. In particular, the combination of cloud computing/network virtualization (including network functions virtualization) allow programmability that leads to unprecedented flexibility in rapidly creating, deploying, and managing novel services in virtualized settings as per the demands of users. This can create a new service-oriented architecture for wireless networking where heterogeneous wireless access technologies may coexist and converge as extended cloud infrastructure[201]. For a more comprehensive discussion of wireless virtualization, the interested reader is referred to a specialized book on this topic[201].

In the remainder of this section, we will discuss applications of VWNs and will provide a network-specific characterization of VWN applications.

4.3.1 Applications of VWNs

  • Convergence of different technologies. Wireless technologies are proliferating at a breakneck pace, and in such a dynamic ecosystem, technologies that facilitate multi-technology convergence will become increasingly important. VWNs are an important multi-faceted trend that promise to facilitate coexistence of diverse technologies.

  • Efficient resource sharing. An important application pull and use-case of VWNs in general is the convenience of supporting multiple virtual owners (also known as tenants) on shared infrastructure. The trend of VWNs provides better support for multi-tenancy and multi-provider and infrastructure sharing, which is convenient both in terms of user experience and economics[202]. Each tenant is provided with a ‘slice’ - which is an virtualized abstraction of shared wireless infrastructural components - with a committed service-level agreement (SLA) to allow efficient resource sharing of expensive infrastructure. For instance, in the service provider domain, there is a need of supporting multiple virtual network operators (VNOs) - mobile VNOs (MVNOs) in the context of mobile carrier networks[203] - on shared infrastructure to lower the capital and operational expenditures (CAPEX and OPEX). The trend of VWNs can also be used with other trends such as SWNs to facilitate multi-tenancy as has been proposed in the MobileFlow framework[135] to build multi-tenant mobile networks.

  • Virtualization of network components. There has been a lot of work done in virtualizing various aspects of wireless network components. In practice, the trend of VWNs encompasses many sub-solutions offering varying level of programmability and granularity of control. For example, VWNs encompass in the context of cellular networks, the virtualization of 4G/5G RAN[156], WiMAX BS[157], and LTE[158]; in a similar vein, virtualized abstractions have been proposed for WLAN environments such as the virtual NIC abstraction[159] and the virtual access point (AP) abstraction[160]. As we shall see later in section, virtualization has been applied in the context of WLANs, cellular networks, etc.

4.3.2 Network-specific categorization of VWNs

In the following, we shall discuss the application of virtualization in four environments: i) WLANs, ii) software-defined VWNs, iii) cellular mobile carrier networks, and iv) CRNs. WLAN-based VWNs

With the widespread use of IEEE 802.11 WLANs (Wi-Fi) - and the pervasive commissioning of Wi-Fi hotspots in campuses, offices, business centers, airports, shopping centers, etc. - the wireless signal is almost ubiquitously available. There has been a lot of interest in exploiting this common infrastructure to support multi-tenant and multi-provider environments. The concept of ‘slices’ proposes to provide virtualized environment that runs on top of common shared infrastructure. The general area of network virtualization (NV) is explored in depth in[106], and the interested reader is referred to this paper, and the references therein, for more details. Some prominent contributions that have proposed virtualization for WLANs include wireless virtualization on commodity 802.11 hardware[159], the use of virtual access points (VAPs)[132, 160], virtual Wi-Fi[161], and building multi-purpose access point (MPAP) virtualization architecture[162]. Software-defined VWNs

There is a lot of interest in exploiting SDN technologies to enhance the functionality and utility of VWNs. With management protocols such as control and provisioning of wireless access points (CAPWAP)[204], it will be possible to implement infrastructure-wide virtualization using functions consolidated in a centralized software controller. In an SDN context, the FlowVisor[94] project has proposed mechanisms for ensuring isolation needed to support virtualization. In OpenRoads[123], OpenFlow has been extended to wireless APs with forwarding planes virtualized through FlowVisor. In[163], Sivaraman et al. have proposed to address the impasse on service quality in access networks by virtualizing the wireless access network via open APIs using SDN techniques. In a recent work, Schulz-Zander et al.[132] have proposed using SDN techniques using their Odin work for programmatic orchestration of Wi-Fi networks. Cellular mobile VWNs

With the mobile traffic increasing exponentially[1], mobile carrier wireless networks are an attractive setting for wireless virtualization. Various works, focusing on mobile carrier VWNs, have exploited virtualization technology, with some sample works being Costa et al. work on RAN virtualization[156], Bhanage et al. work on WiMAX base station virtualization[157], and Zaki et al. work on LTE virtualization[158]. CRN-based VWNs

Relatively less work has been done on CRN-based VWNs. In[165], Tan et al. have presented a novel spectrum virtualization layer, that runs directly below the wireless PHY layer, that presents a seamless interface to the upper layers while allowing DSA. In[205], Nakauchi et al. have proposed AMPHIBIA as a cognitive virtualization platform that can be used to dynamically reconfigure wireless networks by integrated CR and network virtualization technology. More research needs to be done to explore the interplay between cognitive radio technology and virtualization technology.

4.4 Trend 4: cloud-based wireless networks (CbWNs)

The emergence of cloud computing is promising to revolutionize IT by democratizing and commoditizing computing. The main insight of cloud computing is to provide computing as a utility (i.e., using a pay-for-what-you-use pricing model) via a centralized setup exploiting economies of scale. The widespread popularity of cloud computing is being driven by advances in computing, virtualization, and web technology, along with support for ‘programming the network’ through SDN and web APIs. The ability to program the network through the high-level abstractions defined by cloud/SDN API allow unprecedented dynamism in service provisioning, network management, and control. The broad idea behind cloud-based management of wireless networking to implement CbWNs is illustrated in Figure6.

Figure 6
figure 6

Cloud-based wireless networks (CbWNs).

A recent trend in cloud computing is ‘mobile cloud computing’ (MCC) which integrates cloud computing in mobile environments to enable mobile wireless clients to perform computations in the cloud. A major challenge in MCC is to ensure that the mobile users are provisioned the necessary QoS even if the interfacing gateway changes due to node mobility. Misra et al. have proposed an auction-based QoS utility maximization-based approach for providing QoS-guaranteed bandwidth shifting and retribution in mobile clouds[170]. MCC can be used to overcome various performance impediments in mobile environments due to battery life, storage, bandwidth, and environment. These applications are discussed further in a detailed survey by Dinh et al.[171].

In the following subsections, we will introduce applications of CbWNs and will provide a network-specific categorization of CbWNs.

4.4.1 Applications overview of CbWNs

  • Centralized management. A major application of CbWNs is centralized remote management of wireless networks using which cloud-based provisioning of services can be performed scalably on the level of a large enterprise and/or service provider. The ‘control and provisioning of wireless access points’ (CAPWAP) protocol is a control and management (C&M) protocol defined by IETF in RFC 5415[204] which is aimed at relocating some important functionality from the hardware AP equipment to an external controller. The CAPWAP protocol allows a software-defined architecture and is amenable to implementation via the cloud. There exists significant interest in the research community[169] in proposing efficient approaches for central management of Wi-Fi networks. Various industrial solutions, such as Meraki Networks[206] and Aruba Networks[207], have also been proposed that perform cloud-based management of WLANs.

  • Zero-touch auto-configuration. The centralized management paradigm of CbWNs can allow zero-touch auto-configuration of wireless APs regardless of the location. The centralized management of wireless networks also allow cloud-based performance management and the use of advanced data analytics for optimization performance including real-time reconfiguration of wireless parameters.

  • Context-aware mobile services. The centralized management paradigm of CbWNs can also facilitate provisioning of context-aware mobile services. As an example, Papakos et al. have proposed Volare as a framework for context-aware adaptive cloud service discovery for mobile systems[208].

  • Optimized operations and management. Apart from the ability to perform zero-touch auto-configuration, CbWNs can exploit their centralized management architecture to make dynamic changes in real-time in response to changing network conditions through the cloud-based management setup. As an example, Misra et al.[170] have proposed a framework for optimized QoS-guaranteed bandwidth redistribution among gateways in the settings of MCC. In addition, there has been work proposed for Papagianni et al.[209] for optimal allocation of VM resources in cloud computing environments with heterogeneous resources.

  • Computation offloading. Another major application is computation offloading through which energy or computation-constrained devices can scalably handle complex tasks by offloading their computation to the cloud. The cloudlet approach[210] is to provision a trusted well-connected and resource-rich cluster of computers which is available for use by mobile devices that are close. When computation offload to the cloud is undesirable due to any reason (such as cost, delay, etc.), then mobile users can connect to a nearby cloudlet.

  • Various other works have been proposed for offloading in a mobile cloud computing environment. Yang et al. have proposed techniques for effective offloading for resource-constrained mobile devices running resource-rich mobile Internet applications[166]. Chun et al. have proposed CloneCloud which allows unmodified mobile applications in an application-level VM to seamlessly offload part of their execution from the mobile devices onto device clones operating in the cloud[167]. Vestin et al. have proposed CloudMAC[175] architecture for managing enterprise WLANs through a virtual AP abstraction provided by the cloud. In the CloudMAC framework, OpenFlow is used to manage the network, and the physical CloudMAC APs are now simplified devices only tasked with relaying MAC frames between the virtual APs and mobile stations while the build of the processing and management functionality is now executed in the cloud.

  • Cloudifying mobile networks. An extensive amount of work has focused on integrating cloud computing with mobile networks (including 4G[178] and 5G networks[177]) to improve the efficiency of next-generation mobile carrier networks[172]. In particular, there has been work done in extending cloud computing ‘as-a-service’ provisioning style to radio access networks[174, 177].

4.4.2 Interplay with other programmable wireless trends

In this section, we will describe the interplay of CbWNs with the other three trends of programmable wireless networking (SWNs, CWNs, and VWNs) that we have studied. Cloud-based software-defined WNs

Cloud technology and SDN technology have been used in previous work to introduce programmability features in wireless networking. As part of the NFV drive, there is significant interest in the mobile industry for transforming fixed network functions typically implemented in proprietary hardware devices (such as radio network controller, LTE base stations, etc.) to software-based virtualized instances running in the cloud. In parallel as part of the ‘software-defined datacenter’ (SDDC) drive, datacenters are increasingly turning to SDN technology for better management. Cloud-based cognitive WNs

There have been a few proposals for utilizing cloud technology to improve the performance in CWNs. In particular, cloud technology has been proposed for use with CWNs for cooperative spectrum sensing in the TV white spaces[176] and for a fast processing of vast volumes of data[211]. In the future, CWNs will perceivably leverage cloud technology increasingly to exploit its scalable computation capability along with its inherent programmability. Cloud-based virtualable WNs

Cloud technology has recently been used with VWNs to provide its scalability and service benefits in such environments. The CloudMAC project has proposed virtualizing APs in a datacenter[175]. Vassilaras et al. present an approach in[172] to provide wireless networking as a service (in utility computing style associated with cloud computing). Other VWN projects that have utilized cloud computing include the ‘wireless network cloud’ (WNC) project[173]. Due to their popular usage and associated benefits, cloud technology has also been proposed for use with SDRs[212] and in CRs[211].

4.4.3 Network-specific categorization of CbWNs

As discussed in this paper, the use of cloud technology has been proposed in various wireless network settings. The trend of CbWNs is most prominent for WLANs, mobile cellular networks, and CRNs (as has been discussed already in this paper). In addition, cloud computing paradigm has also been applied to the setting of WSNs[213]. In WSNs, the network nodes are limited in their processing capability, battery life, and communication resources. WSNs can utilize the CbWN trend to offload its computation to the cloud and increase its efficiency.

5 Open research issues and challenges

Research in programmable wireless networks has indeed gained momentum as highlighted in this paper. However, many issues still remain to be resolved in order to fully realize the potential benefits associated with this paradigm. We highlight a few important research issues in this domain.

5.1 Building software-defined cognitive wireless networks

An initial promise of SDR was seamless interworking with a plethora of technologies through software-defined adaptations. The vision of CRNs, on the other hand, has evolved from the foundations of SDRs and aims to provide users with seamless holistic experience that integrates potentially heterogeneous technologies. The interplay of cognitive radios with the SDN architecture appears to be a viable and promising hybrid technology that can be used to create programmable wireless networks. We refer to this hybrid technology as ‘software-defined cognitive wireless networking’ (SCWN). Numerous interesting use-cases can plausibly emerge if we synergize the mainly centralized operational paradigm of SDNs with the mainly distributed operational paradigm of CRs. While the emphasis of SDN architecture has been on the separation of control and data planes, it is worth exploring if a combined SDN and CR architecture can help realize the vision of programmable wireless networks having a ‘knowledge plane’ as envisioned by Clark et al.[186].

5.2 Development of wireless-specific network APIs

The utility of any programming paradigm depends greatly on the abstractions available and the standardization of APIs. For the vision of programmable wireless networking to become established, it is important that there is progress in developing useful network APIs offering sophisticated high-level abstractions for wireless networking. In the SDN community, while numerous southbound APIs have been proposed, there is a lack of clarity and consensus about what abstractions and interface a northbound API should expose. While OpenFlow, an example southbound API, has become wildly popular, it is quite primitive in its functionality[17] - the metaphor of Assembly language programming is often used to describe direct OpenFlow programming. To increase the rate of innovation, it is important that higher level languages are developed that can be used by network programmers through a high-level standardized interface. In this regard, more work is required for both southbound and northbound API. Since a network application programmer will interface with the controller through a northbound API, quick consensus on the development of an effective northbound network API is of paramount importance.

5.3 Integrating wireless and cloud technologies

The paradigm of cloud computing - which is itself based on web technology, programmability through APIs and virtualization - is likely to play a big role in future wireless programmable networks. There is already a lot of work on integration of SDN and cloud technology[10]. Future designers of programmable wireless devices will be well-served by exploiting the performance and scalability advantages offered by cloud computing in their designs. Already, there has been significant work in incorporating cloud technology into existing frameworks (as has been discussed in Section 4.4), and this trend looks set to continue well into the future.

5.4 Wireless internet of things

While traditionally, the Internet communication paradigm has revolved around human consumption of Internet services, it is envisioned that in the future, networking will create many novel services through machine-to-machine communication by creating an Internet of things[214]. In particular, the convenience of untethered mobile communication facilitated by wireless communication can create a future wireless Internet of things. This is a potential future research area envisioned to have a significant impact on the community and the way stakeholders interact with the services provided by the Internet.

5.5 Balancing centralized and distributed paradigms

SDNs have proposed a separation of the control plane and data plane with the control logic placed on a separated controller. Pragmatic concerns about performance and security have dictated that this controller be implemented as a distributed system. Hence, although the controller is ‘logically centralized’, it is implemented as a distributed system - this has led to coining of the awkward term ‘logically centralized control’. This draws our attention to the perennial tension between distributed and centralized control. The Internet’s community has traditionally favored the distributed control paradigm due to its scalability. However, architectural ossification and inflexible network control has led through a rethink to the centralized SDN paradigm. Like the pre-SDN era, not all tasks can be, or should be, exclusively centralized or distributed. The modern shift to a centralized paradigm is sometimes codified in the mantra, ‘centralize what you can, distribute what you must’. Finding the right balance between centralized and distributed control is an important fundamental design choice which needs careful evaluation. Also, it is important to address the scalability and performance concerns associated with the centralized control to make it a viable practical architecture. Future wireless networks will have to seamlessly manage the delicate balance between the centralized and distributed control paradigms of current technologies - such as WiMAX and Wi-Fi - and the centralized aspects and distributed aspects of future network architecture such as SWNs and CWNs, respectively.

6 Conclusions

In this paper, we have provided a general overview of architectural techniques useful for building next-generation programmable wireless networks. We have seen that the seemingly disparate schemes of software-defined radio, cognitive radio networking, software-defined networking, and programmable wireless processors are in fact themed on a common goal of creating flexible ‘programmable wireless networks’. A self-contained tutorial is provided for these architectures followed by a detailed survey of their applications. We also proposed synergizing these technologies into newer hybrid technologies. In particular, we proposed a new framework of software-defined cognitive wireless networking which will employ both SDN and CRN principles to potentially open up new use cases. We have also highlighted important research issues in this field and identified future research work.


a Tennenhouse et al. also made the sobering observation in[16] that object-oriented approaches to networking are proposed every 5 to 10 years with little impact on mainstream research. Time will tell how transformative the modern proposals (e.g., SDN languages approach) will be in the long run.

b James Hamilton, the architect of Amazon’s cloud, made the now famous remark in 2010 that ‘datacenter networks are in my way’ bemoaning the lack of network programmability. See Hamilton’s blog post at more perspective.

c David Clark, the former chair of the Internet Architecture Board (IAB), summarized the role of software implementations in the networking community ethos when he said, ‘We reject kings, presidents and voting. We believe in rough consensus and running code’.

d The centralized SDN network controller can itself be built as a distributed system to be scalable and avoid a single point of failure.


f OpenFlow should not be confused with the overall SDN architecture since OpenFlow, popular as it is, is but only one protocol that implements the southbound API as envisioned in the SDN architecture.

Authors’ information

Junaid Qadir is an Assistant Professor at the School of Electrical Engineering and Computer Sciences (SEECS), National University of Sciences and Technology (NUST), Pakistan. He is also the Director of the Cognet Lab at SEECS. He completed his BE in Electrical Engineering from UET, Lahore, Pakistan and his PhD from University of New South Wales, Australia in 2008. His research interests include cognitive radio networks, wireless networks, and software-defined networks.

Nadeem Ahmed received the BE degree from the University of Engineering and Technology, Lahore, Pakistan and the MS and PhD degrees in computer sciences from University of New South Wales (UNSW), Sydney, Australia in 2000 and 2007, respectively. He is currently an Assistant Professor at the School of Electrical Engineering and Computer Sciences (SEECS), National University of Sciences and Technology (NUST), Pakistan. His research interests include wireless sensor networks, software-defined networks and mobile ad-hoc networks.

Nauman Ahad is presently working as a software engineer with xFlow Research Inc. Nauman graduated from the School of Electrical Engineering and Computer Sciences (SEECS), National University of Sciences and Technology (NUST), Pakistan with a BE in Electrical Engineering in 2014. He was an internee in the Cognet research lab at SEECS, NUST, in the summer of 2013.


  1. Raychaudhuri D, Mandayam NB: Frontiers of wireless and mobile communications.Proc. IEEE 2012, 100(4):824-840.

    Google Scholar 

  2. Akamai State of Internet Report Q1 2013. . Accessed 30 Sept 2013

  3. Koponen T, Shenker S, Balakrishnan H, Feamster N, Ganichev I, Ghodsi A, Godfrey P, McKeown N, Parulkar G, Raghavan B, Rexford J, Arianfar S, Kuptsov D: Architecting for innovation. Comput. Comm. Rev 2011, 41(3):24-36. 10.1145/2002250.2002256

    Google Scholar 

  4. Liskov B: The power of abstraction. In Distributed Computing. Springer, Berlin Heidelberg; 2010:3-3.

    Google Scholar 

  5. Rexford J: The networking philosopher’s problem. Comput. Comm. Rev 2011, 41(3):5-9. 10.1145/2002250.2002252

    Google Scholar 

  6. Scott Shenker’s talk at Open Networking Summit 2011. [Online]. Accessed 12 Sept 2013

  7. Rexford J, Zave P: Report of the DIMACS working group on abstractions for network services, architecture, and implementation. Comput. Comm. Rev 2012, 43(1):56-59. 10.1145/2427036.2427047

    Google Scholar 

  8. McKeown N, Anderson T, Balakrishnan H, Parulkar G, Peterson L, Rexford J, Shenker S, Turner J: OpenFlow: enabling innovation in campus networks. Comput. Comm. Rev 2008, 38(2):69-74. 10.1145/1355734.1355746

    Google Scholar 

  9. Andreessen M: Why software is eating the world. Wall Street Journal 2011. [online], Accessed 22 Sept 2013 [online], Accessed 22 Sept 2013

    Google Scholar 

  10. Openstack’s neutron plugin for “network-as-a-service” [online]. Accessed 22 Sept 2013 [online]. Accessed 22 Sept 2013

  11. Nunes B, Mendonca M, Nguyen X, Obraczka K, Turletti T: A survey of software-defined networking: past, present, and future of programmable networks. IEEE Commun. Surv. Tutorials 2014, PP(99):1-18. IEEE, NY USA

    Google Scholar 

  12. Jain S, Kumar A, Mandal S, Ong J, Poutievski L, Singh A, Venkata S, Wanderer J, Zhou J, Zhu M, Zolla J, Hölzle U, Stuart S, Vahdat A: B4: Experience with a globally-deployed software defined WAN. In Proceedings of the ACM SIGCOMM 2013. ACM, NY USA; 2013:3-14.

    Google Scholar 

  13. Cisco’s use of programmable networks for powering ‘Internet of Everything’ [Online]. Accessed 1 Oct 2013 [Online]. Accessed 1 Oct 2013

  14. Campbell AT, De Meer HG, Kounavis ME, Miki K, Vicente JB, Villela D: A survey of programmable networks. Comput. Comm. Rev 1999, 29(2):7-23. 10.1145/505733.505735

    Google Scholar 

  15. Smith JM, Nettles SM: Active networking: one view of the past, present, and future. IEEE Trans. Syst. Man Cybern. C Appl. Rev 2004, 34(1):4-18.

    Google Scholar 

  16. Tennenhouse DL, Wetherall DJ: Towards an active network architecture. In DARPA Active Networks Conference and Exposition, 2002. Proceedings. IEEE, NY USA; 2002:2-15.

    Google Scholar 

  17. Foster N, Guha A, Reitblatt M, Story A, Freedman MJ, Katta NP, Monsanto C, Reich J, Rexford J, Schlesinger C: D Walker, R Harrison, Languages for software-defined networks. IEEE Comm. Mag 2013, 51(2):128-134.

    Google Scholar 

  18. Feamster N, Rexford J, Zegura E, The road to SDN: Queue. 2013, 11(12):20. 10.1145/2559899.2560327

    Google Scholar 

  19. Campbell AT, Katzela I, Miki K, Vicente J: Open signaling for ATM, internet and mobile networks (OPENSIG’98). Comput. Comm. Rev 1999, 29(1):97-108. 10.1145/505754.505762

    Google Scholar 

  20. Burgess DA, Samra HS: The OpenBTS Project. 2008. [Online]. Accessed 22 Sept 2013

    Google Scholar 

  21. Reed JH: Software Radio: A Modern Approach to Radio Engineering. Prentice Hall Professional, USA; 2002.

    Google Scholar 

  22. Tuttlebee WH: Software Defined Radio: Enabling Technologies. Wiley, USA; 2003.

    Google Scholar 

  23. Ulversoy T: Software defined radio: challenges and opportunities. IEEE Commun. Surv. Tutorials 2010, 12(4):531-550. IEEE, NY USA

    Google Scholar 

  24. Partridge C: Realizing the future of wireless data communications. Commun. ACM 2011, 54(9):62-68. ACM, NY USA 10.1145/1995376.1995395

    Google Scholar 

  25. Ettus Research, acquired recently by National Instruments (NI) [Online]. Accessed 12 Sept 2013 [Online]. Accessed 12 Sept 2013

  26. GNU Radio [Online]. Accessed 12 Sept 2013 [Online]. Accessed 12 Sept 2013

  27. OSSIE Virginia Tech [Online]. Accessed 12 Sept 2013 [Online]. Accessed 12 Sept 2013

  28. Mackenzie P: Software and Reconfigurability for Software Radio Systems. PhD thesis, Ph. D dissertation, Trinity College Dublin, Ireland; 2004.

    Google Scholar 

  29. Ettus M: USRP User’s and Developer’s Guide. Ettus Research LLC [Online]Accessed 12 Sept 2013 [Online]Accessed 12 Sept 2013

  30. Khattab A, Camp J, Hunter C, Murphy P, Sabharwal A, Knightly EW: WARP: a flexible platform for clean-slate wireless medium access protocol design. ACM SIGMOBILE Mobile Comput. Commun. Rev 2008, 12(1):56-58. ACM 10.1145/1374512.1374532

    Google Scholar 

  31. Ng MC, Fleming KE, Vutukuru M, Gross S, Balakrishnan H, Arvind: Airblue: a system for cross-layer wireless protocol development. Proceedings of the 6th ACM/IEEE Symposium on Architectures for Networking and Communications Systems 2010, 4-4. ACM

    Google Scholar 

  32. Tan K, Liu H, Zhang J, Zhang Y, Fang J, Voelker GM: Sora: high-performance software radio using general-purpose multi-core processors. Commun. ACM 2011, 54(1):99-107. ACM 10.1145/1866739.1866760

    Google Scholar 

  33. Bansal M, Mehlman J, Katti S, Levis P: Openradio: a programmable wireless dataplane. In Proceedings of the First Workshop on Hot Topics in Software Defined Networks. ACM; 2012:109-114.

    Google Scholar 

  34. Stewart G, Gowda M, Mainland G, Radunovic B, Vytiniotis D: Ziria: wireless programming for hardware dummies. Tech. Rep MSR-TR-2013-135, Microsoft Systems, November 2013

  35. Stewart G, Gowda M, Mainland G, Radunovic B, Vytiniotis D, Patterson D: Ziria: language for rapid prototyping of wireless PHY. In Proceedings of the 2014 ACM conference on SIGCOMM. ACM; 2014:357-358.

    Google Scholar 

  36. Mishra SM, Cabric D, Chang C, Willkomm D, Van Schewick B, Wolisz S, Brodersen B: A real time cognitive radio testbed for physical and link layer experiments. In New Frontiers in Dynamic Spectrum Access Networks (DYSPAN), 2005. First IEEE International Symposium on. IEEE, NY USA; 2005:562-567.

    Google Scholar 

  37. Yuan Y, Bahl P, Chandra R, Chou PA, Ferrell JI, Moscibroda T, Narlanka S, Wu Y: KNOWS: cognitive radio networks over white spaces. In New Frontiers in Dynamic Spectrum Access Networks, 2007, DySPAN 2007. 2nd IEEE International Symposium on. IEEE; 2007:416-427.

    Google Scholar 

  38. Miljanic Z, Seskar I, Le K, Raychaudhuri D: The WINLAB network centric cognitive radio hardware platform: WiNC2R. Mobile Network Appl 2008, 13(5):533-541. 10.1007/s11036-008-0082-0

    Google Scholar 

  39. Lazar AA, Lim K-S, Marconcini F: xbind: The system programmer’s manual. report # 452-96-16. tech. rep., Center for Telecommunications Research (CTR), Columbia University, 1996

  40. Rooney S, van der Merwe JE, Crosby SA, Leslie IM: The tempest: a framework for safe, resource assured, programmable networks. IEEE Comm. Mag 1998, 36(10):42-53. 10.1109/35.722136

    Google Scholar 

  41. Angin O, Campbell AT, Kounavis ME, Liao R-F: The mobiware toolkit: programmable support for adaptive mobile networking. IEEE Pers. Comm 1998, 5(4):32-43. 10.1109/98.709367

    Google Scholar 

  42. Campbell A, De Meer H, Kounavis M, Miki K, Vicente J, Villela D: The genesis kernel: a virtual network operating system for spawning network architectures. In Open Architectures and Network Programming Proceedings, 1999. OPENARCH’99. 1999 IEEE Second Conference on. IEEE, NY USA; 1999:115-127.

    Google Scholar 

  43. Morris R, Kohler E, Jannotti J, Kaashoek MF: The click modular router. In ACM SIGOPS Operating Systems Review. ACM, NY USA; 1999:217-231.

    Google Scholar 

  44. Handley M, Hodson O, Kohler E: XORP: an open platform for network research. Comput. Comm. Rev 2003, 33(1):53-57. ACM, NY USA 10.1145/774763.774771

    Google Scholar 

  45. Neufeld M, Fifield J, Doerr C, Sheth A, Grunwald D: SoftMAC: flexible wireless research platform. In ACM Workshop on Hot Topics in Networks (HotNets). ACM, NY USA; 2005.

    Google Scholar 

  46. Doerr C, Neufeld M, Fifield J, Weingart T, Sicker DC, Grunwald D: MultiMAC - an adaptive MAC framework for dynamic radio networking. In New Frontiers in Dynamic Spectrum Access Networks (DYSPAN), 2005. First IEEE International Symposium on. IEEE, NY USA; 2005:548-555.

    Google Scholar 

  47. Lockwood JW, McKeown N, Watson G, Gibb G, Hartke P, Naous J, Raghuraman R, Luo J: NetFPGA–an open platform for gigabit-rate network switching and routing. In Microelectronic Systems Education, 2007. MSE’07. IEEE International Conference on. IEEE, NY USA; 2007:160-161.

    Google Scholar 

  48. Naous J, Gibb G, Bolouki S, McKeown N: NetFPGA: reusable router architecture for experimental research. In Proceedings of the ACM Workshop on Programmable Routers for Extensible Services of Tomorrow. ACM, NY USA; 2008:1-7.

    Google Scholar 

  49. Dobrescu M, Egi N, Argyraki K, Chun B-G, Fall K, Iannaccone G, Knies A, Manesh M, Ratnasamy S: Routebricks: exploiting parallelism to scale software routers. In Proceedings of the 22nd ACM Symposium on Operating Systems Principles (SIGOPS). ACM, NY USA; 2009:15-28.

    Google Scholar 

  50. Anwer MB, Motiwala M, Tariq Mb, Feamster N: Switchblade: a platform for rapid deployment of network protocols on programmable hardware. Comput. Comm. Rev 2010, 40(4):183-194. ACM, NY USA 10.1145/1851275.1851206

    Google Scholar 

  51. Ansari J, Zhang X, Achtzehn A, Petrova M, Mahonen P: Decomposable MAC framework for highly flexible and adaptable MAC realizations. In New Frontiers in Dynamic Spectrum, 2010 IEEE Symposium on. IEEE, NY USA; 2010:1-2.

    Google Scholar 

  52. Zhang X, Ansari J, Yang G, Mahonen P: Trump: supporting efficient realization of protocols for cognitive radio networks. In New Frontiers in Dynamic Spectrum Access Networks (DySPAN) 2011 IEEE Symposium on. IEEE, NY USA; 2011:476-487.

    Google Scholar 

  53. Tinnirello I, Bianchi G, Gallo P, Garlisi D, Giuliano F, Gringoli F: Wireless MAC processors: programming MAC protocols on commodity hardware. In INFOCOM, 2012, Proceedings, IEEE. IEEE, NY USA; 2012:1269-1277.

    Google Scholar 

  54. Bianchi G, Gallo P, Garlisi D, Giuliano F, Gringoli F, Tinnirello I: MAClets: active MAC protocols over hard-coded devices. In Proceedings of the 8th International Conference on Emerging Networking Experiments and Technologies. ACM, NY USA; 2012:229-240.

    Google Scholar 

  55. Jondral FK: Software-defined radio: basics and evolution to cognitive radio. EURASIP J. Wireless Commun. Netw 2005, 2005(3):275-283. Springer Heidelberg

    Google Scholar 

  56. Mitola III J: Cognitive Radio Architecture: The Engineering Foundations of Radio XML. John Wiley & Sons, USA; 2006.

    Google Scholar 

  57. He A, Bae KK, Newman TR, Gaeddert J, Kim K, Menon R, Morales-Tirado L, Neel JJ, Zhao Y, Reed JH, Tranter W: A survey of artificial intelligence for cognitive radios. IEEE Trans. Veh. Tech 2010, 59(4):1578-1592.

    Google Scholar 

  58. Akyildiz I, Lee W, Vuran M, Mohanty S: Next generation/dynamic spectrum access/cognitive radio wireless networks: a survey. Comput. Network 2006, 50(13):2127-2159. 10.1016/j.comnet.2006.05.001

    Google Scholar 

  59. Haykin S: Cognitive radio: brain-empowered wireless communications. IEEE J. Sel. Area Comm 2005, 23(2):201-220.

    Google Scholar 

  60. Fette BA: Cognitive Radio Technology. Academic Press, Elsevier, USA; 2009.

    Google Scholar 

  61. Qadir J: Artificial intelligence based cognitive routing for cognitive radio networks. arXiv preprint arXiv:1309.0085 2013. [Online]. Accessed 12 Sept 2013 [Online]. Accessed 12 Sept 2013

    Google Scholar 

  62. Baldini G, Sturman T, Biswas AR, Leschhorn R, Gódor G, Street M: Security aspects in software defined radio and cognitive radio networks: a survey and a way ahead. IEEE Commun. Surv. Tutorials 2012, 14(2):355-379. IEEE, NY USA

    Google Scholar 

  63. Raychaudhuri D, Mandayam NB, Evans JB, Ewy BJ, Seshan S, Steenkiste P: Cognet: an architectural foundation for experimental cognitive radio networks within the future internet. In Proceedings of first ACM/IEEE International Workshop on Mobility in the Evolving Internet Architecture. ACM, NY USA; 2006:11-16.

    Google Scholar 

  64. Thomas RW, Friend DH, DaSilva LA, MacKenzie AB: Cognitive networks. In Cognitive Radio, Software Defined Radio, and Adaptive Wireless Systems. Edited by: Arslan H. Springer, Netherlands; 2007:17-41.

    Google Scholar 

  65. Nychis G, Hottelier T, Yang Z, Seshan S, Steenkiste P: Enabling MAC protocol implementations on software-defined radios. In USENIX NSDI. USENIX; 2009:91-105.

    Google Scholar 

  66. Gallo P, Krasilov A, Lyakhov A, Tinnirello I, Bianchi G: Breaking layer 2: a new architecture for programmable wireless interfaces. In ICT Convergence (ICTC), 2012 International Conference on. IEEE, NY USA; 2012:342-347.

    Google Scholar 

  67. Messerschmitt D: Rethinking components: from hardware and software to systems. Proc. IEEE 2007, 95(7):1473-1496. IEEE, NY USA

    Google Scholar 

  68. Gazis V, Patouni E, Alonistioti N, Merakos L: A survey of dynamically adaptable protocol stacks. IEEE Commun. Surv. Tutorials 2010, 12(1):3-23. IEEE, NY USA

    Google Scholar 

  69. Tennenhouse DL, Smith JM, Sincoskie WD, Wetherall DJ, Minden GJ: A survey of active network research. IEEE Commun. Mag 1997, 35(1):80-86. IEEE, NY USA

    Google Scholar 

  70. Lazar AA: Programming telecommunication networks. IEEE Netw 1997, 11(5):8-18. IEEE, NY USA 10.1109/65.620517

    Google Scholar 

  71. Wetherall D, Legedza D, Guttag J: Introducing new internet services: why and how. IEEE Netw 1998, 12(3):12-19. IEEE, NY USA 10.1109/65.690955

    Google Scholar 

  72. Wetherall D: Active network vision and reality: lessons from a capsule-based system. In DARPA Active NEtworks Conference and Exposition, 2002. Proceedings. IEEE, NY USA; 2002:25-40.

    Google Scholar 

  73. Psounis K: Active networks: applications, security, safety, and architectures. IEEE Commun. Surv. Tutorials 1999, 2(1):2-16. IEEE, NY USA

    Google Scholar 

  74. ActiveWare project at MIT . Accessed 12 Sept 2013

  75. CANES project at Georgia Tech [Online]. Accessed 22 Sept 2013 [Online]. Accessed 22 Sept 2013

  76. SwitchWare project at University of Pennsylvania [Online]. Accessed 22 Sept 2013 [Online]. Accessed 22 Sept 2013

  77. Wetherall D, Guttag J, Tennenhouse D: Ants: network services without the red tape. Computer 1999, 32(4):42-48. IEEE, NY USA 10.1109/2.755004

    Google Scholar 

  78. ANTS project at the University of Washington [Online]. Accessed 22 Sept 2013 [Online]. Accessed 22 Sept 2013

  79. Doria A, Hellstrand F, Sundell K, Worster T: General switch management protocol (GSMP) v3.IETF Request for Comments: 3292. 2002. [Online]. Accessed 12 Sept 2013

    Google Scholar 

  80. Yang L, Dantu R, Anderson T, Gopal R: RFC 3746: Forwarding and control element separation (FORCES) framework. Network Working Group 2004., 4: [Online]. Accessed 12 Sept 2013 [Online]. Accessed 12 Sept 2013

    Google Scholar 

  81. Feamster N, Balakrishnan H, Rexford J, Shaikh A, Van Der Merwe J: The case for separating routing from routers. In Proceedings of the ACM SIGCOMM Workshop on Future Directions in Network Architecture. ACM, NY USA; 2004:5-12.

    Google Scholar 

  82. Lakshman T, Nandagopal T, Ramjee R, Sabnani K, Woo T: The softrouter architecture. In Proc. ACM SIGCOMM Workshop on Hot Topics in Networking. ACM, NY USA; 2004-2004.

  83. Greenberg A, Hjalmtysson G, Maltz DA, Myers A, Rexford J, Xie G, Yan H, Zhan J, Zhang H: A clean slate 4d approach to network control and management. Comput. Comm. Rev 2005, 35(5):41-54. ACM, NY USA

    Google Scholar 

  84. Lakshminarayanan K, Stoica I, Shenker S, Rexford J: Routing as a Service. Computer Science Division, Technical Report No. UCB/EECS-2006-19. University of California Berkeley; 2004.

    Google Scholar 

  85. Farrel A, Vasseur J-P, Ash J: A path computation element (pce)-based architecture. tech. rep., RFC 2006, 4655.

    Google Scholar 

  86. Van der Merwe J, Cepleanu A, D’Souza K, Freeman B, Greenberg A, Knight D, McMillan R, Moloney D, Mulligan J, Nguyen H, Nguyen M, Ramarajan A, Saad S, Satterlee M, Spencer T, Toll D, Zelingher S: Dynamic connectivity management with an intelligent route service control point. In Proceedings of the 2006 SIGCOMM Workshop on Internet Network Management. ACM, NY USA; 2006:29-34.

    Google Scholar 

  87. Casado M, Garfinkel T, Akella A, Freedman MJ, Boneh D, McKeown N, Shenker S: SANE: a protection architecture for enterprise networks. In ACM USENIX Security Symposium. ACM; 2006.

    Google Scholar 

  88. Casado M, Freedman MJ, Pettit J, Luo J, McKeown N, Shenker S: Ethane: taking control of the enterprise. Comput. Commun. Rev 2007, 37: 1-12. ACM 10.1145/1282427.1282382

    Google Scholar 

  89. Juniper Networks . Accessed 12 Sept 2013

  90. Cisco’s One Platform Kit (onePK) . Accessed 12 Sept 2013

  91. OpenStack’s Neutron Accessed 12 Sept 2013

  92. Chun B, Culler D, Roscoe T, Bavier A, Peterson L, Wawrzoniak M, Bowman M: Planetlab: an overlay testbed for broad-coverage services. Comput. Comm. Rev 2003, 33(3):3-12. ACM, NY USA 10.1145/956993.956995

    Google Scholar 

  93. Anderson T, Peterson L, Shenker S, Turner J: Overcoming the internet impasse through virtualization. Computer 2005, 38(4):34-41. IEEE, NY USA

    Google Scholar 

  94. Sherwood R, Gibb G, Yap K-K, Appenzeller G, Casado M, McKeown N, Parulkar G: Flowvisor: a network virtualization layer. OpenFlow Switch Consortium, Tech. Rep 2009. [Online]. Accessed 12 Sept 2013 [Online]. Accessed 12 Sept 2013

    Google Scholar 

  95. Sherwood R, Chan M, Covington A, Gibb G, Flajslik M, Handigol N, Huang T-Y, Kazemian P, Kobayashi M, Underhill D, Yap K, Appenzeller G, McKeown N: Carving research slices out of your production networks with Openflow. Comput. Comm. Rev 2010, 40(1):129-130. ACM, NY USA 10.1145/1672308.1672333

    Google Scholar 

  96. Guo C, Lu G, Wang HJ, Yang S, Kong C, Sun P, Wu W, Zhang Y: Secondnet: a data center network virtualization architecture with bandwidth guarantees. In Proceedings of the 6th ACM International Conference on emerging Networks EXperiments and Technologies (Co-NEXT’10). ACM, NY USA; 2010:1-12.

    Google Scholar 

  97. Koponen T, Amidon K, Balland P, Casado M, Chanda A, Fulton B, Ganichev I, Gross J, Gude N, Ingram P, Jackson E, Lambeth A, Lenglet R, Li S, Padmanabhan A, Pettit J, Pfaff B, Ramanathan R, Shenker S, Shieh A, Stribling J, Thakkar P, Wendlandt D, Yip A, Zhang R: Network virtualization in multi-tenant datacenters. In USENIX Networked Systems Design and Implementation (NSDI). USENIX; 2014.

    Google Scholar 

  98. Armbrust M, Fox A, Griffith R, Joseph AD, Katz R, Konwinski A, Lee G, Patterson D, Rabkin A, Stoica I, Zaharia M: A view of cloud computing. Commun. ACM 2010, 53(4):50-58. ACM, NY USA 10.1145/1721654.1721672

    Google Scholar 

  99. Dikaiakos MD, Katsaros D, Mehra P, Pallis G, Vakali A: Cloud computing: distributed internet computing for it and scientific research. IEEE Internet Comput 2009, 13(5):10-13. IEEE, NY USA

    Google Scholar 

  100. Casado M, Koponen T, Shenker S, Tootoonchian A: Fabric: a retrospective on evolving SDN. In Proceedings of the First Workshop on Hot topics in Software Defined Networks. ACM, NY USA; 2012:85-90.

    Google Scholar 

  101. What’s Behind Network Downtime? - IBM Accessed 30 Sept 2013

  102. Statistics on “virtual server access port” vs. “physical server access port”; Source: Crehan Research Inc. and VMWare Estimates, March 2003 . Accessed 30 Sept 2013

  103. Scott Shenker’s talk at Stanford 2013. [Online]. Accessed 12 Sept 2013

  104. Pfaff B, Pettit J, Amidon K, Casado M, Koponen T, Shenker S: Extending networking into the virtualization layer. In ACM Workshop on Hot Topics in Networks (Hotnets). ACM, NY USA; 2009-2009.

  105. Wang A, Iyer M, Dutta R, Rouskas GN, Baldine I: Network virtualization: technologies, perspectives, and frontiers. J. Lightwave Technol 2013, 31(4):523-537.

    Google Scholar 

  106. Chowdhury N, Boutaba R: A survey of network virtualization. Comput. Network 2010, 54(5):862-876. 10.1016/j.comnet.2009.10.017

    Google Scholar 

  107. McKeown N: Software-defined networking. INFOCOM Keynote Talk, Apr 2009 [Online]. Accessed 12 Sept 2013 [Online]. Accessed 12 Sept 2013

    Google Scholar 

  108. Nicira [Online]. Accessed 12 Sept 2013 [Online]. Accessed 12 Sept 2013

  109. Contrail [Online]. Accessed 12 Sept 2013 [Online]. Accessed 12 Sept 2013

  110. Chung J, Gonzalez G, Armuelles I, Robles T, Alcarria R, Morales A: Experiences and challenges in deploying OpenFlow over a real wireless mesh network. In Communications (LATINCOM) 2012 IEEE Latin-America Conference on. IEEE, NY USA; 2012:1-5.

    Google Scholar 

  111. I. IW Group: Interface to the routing system (I2RS). Internet Engineering Task Force, 2014. 2014. [Online] Available:. Accessed 12 Sept 2013

    Google Scholar 

  112. Alimi R, Penno R, Yang Y: Application-layer traffic optimization protocol. Internet Draft, Internet Engineering Task Force, March 2014. 2014. [Online]. Available:. Accessed 12 Sept 2013

    Google Scholar 

  113. Lara A, Kolasani A, Ramamurthy B: Network innovation using OpenFlow: a survey. IEEE Commun. Surv. Tutorials 2013., 16: IEEE, NY USA

    Google Scholar 

  114. Gude N, Koponen T, Pettit J, Pfaff B, Casado M, McKeown N, Shenker S: NOX: towards an operating system for networks. Comput. Commun. Rev 2008, 38(3):105-110. ACM, NY USA 10.1145/1384609.1384625

    Google Scholar 

  115. Koponen T, Casado M, Gude N, Stribling J, Poutievski L, Zhu M, Ramanathan R, Iwata Y, Inoue H, Hama T, Shenker S: Onix: a distributed control platform for large-scale production networks. In USENIX OSDI. USENIX; 2010:1-6.

    Google Scholar 

  116. Open networking operating system . Accessed 12 Sept 2013

  117. Nascimento MR, Rothenberg CE, Salvador MR, Magalhães MF: Quagflow: partnering quagga with openflow. Comput. Commun. Rev 2010, 40: 441-442. ACM, NY USA 10.1145/1851275.1851252

    Google Scholar 

  118. Quagga Routing Suite [Online]. Accessed 12 Sept 2013 [Online]. Accessed 12 Sept 2013

  119. Nascimento MR, Rothenberg CE, Salvador MR, Magalhaes MF, Corrêa CN, de Lucena SC: The RouteFlow approach to IP routing services on software-defined networks. Brazilian Symposium on Computer Networks and Distributed Systems (SBRC) 2011. [Online]_{2}.pdf. Accessed 12 Sept 2013 [Online]_{2}.pdf. Accessed 12 Sept 2013

    Google Scholar 

  120. Nascimento MR, Rothenberg CE, Salvador MR, Corrêa CN, de Lucena SC, Magalhães MF: Virtual routers as a service: the routeflow approach leveraging software-defined networks. In Proceedings of the 6th International Conference on Future Internet Technologies. ACM, NY USA; 2011:34-37.

    Google Scholar 

  121. Ghobadi M, Yeganeh SH, Ganjali Y: Rethinking end-to-end congestion control in software-defined networks. In Proceedings of the 11th ACM Workshop on Hot Topics in Networks. ACM, NY USA; 2012:61-66.

    Google Scholar 

  122. Egilmez HE, Dane ST, Bagci KT, Tekalp AM: OpenQoS: an OpenFlow controller design for multimedia delivery with end-to-end quality of service over software-defined networks. In Signal & Information Processing Association Annual Summit and Conference (APSIPA ASC), 2012 Asia-Pacific. IEEE, NY USA; 2012:1-8.

    Google Scholar 

  123. Yap K-K, Kobayashi M, Sherwood R, Huang T-Y, Chan M, Handigol N, McKeown N: Openroads: empowering research in mobile networks. 2010. ACM, NY USA

    Google Scholar 

  124. Metsch T, Edmonds A, Harsh P, Antonescu F: Real-time Analytics System for Service Operations & Management. ACM symposium applied computing. ACM, NY USA; 2014.

    Google Scholar 

  125. Ali-Ahmad H, Cicconetti C, De la Oliva A, Mancuso V, Sama MR, Seite P, Shanmugalingam S: An SDN-based network architecture for extremely dense wireless networks. In Future Networks and Services (SDN4FNS), 2013 IEEE SDN for. IEEE, NY USA; 2013:1-7.

    Google Scholar 

  126. Karimzadeh M, Valtulina L, Karagiannis G: Applying SDN/OpenFlow in Virtualized LTE to support distributed mobility management (DMM). In The 4th International Conference on Cloud Computing and Services Science (CLOSER). Citeseer; 2014.

    Google Scholar 

  127. Yang H, Kim Y: Routing optimization with SDN. 2013. . Accessed 12 Sept 2013

    Google Scholar 

  128. Yap K-K, Sherwood R, Kobayashi M, Huang T-Y, Chan M, Handigol N, McKeown N, Parulkar G: Blueprint for introducing innovation into wireless mobile networks. In Proceedings of the second ACM SIGCOMM Workshop on Virtualized Infrastructure Systems and Architectures (VISA). ACM, NY USA; 2010:25-32.

    Google Scholar 

  129. Ding AY, Crowcroft J, Tarkoma S: Poster: Softoffload: a programmable approach toward collaborative mobile traffic offloading. In Proceedings of the 12th Annual International Conference on Mobile Systems, Applications, and Services. ACM, NY USA; 2014:368-368.

    Google Scholar 

  130. Akyildiz IF, Lee A, Wang P, Luo M, Chou W: A roadmap for traffic engineering in software defined networks. Comput. Network 2014, 71: 1-30. ACM, NY USA

    Google Scholar 

  131. Yi G, Lee S: Fully distributed handover based on SDN in heterogeneous wireless networks. In Proceedings of the 8th International Conference on Ubiquitous Information Management and Communication. ACM, NY USA; 2014:70-70.

    Google Scholar 

  132. Schulz-Zander J, Suresh L, Sarrar N, Feldmann A, Hühn T, Merz R: Programmatic orchestration of wifi networks. In 2014 USENIX Annual Technical Conference (USENIX ATC 14). USENIX Association; 2014.

    Google Scholar 

  133. Ding AY, Crowcroft J, Tarkoma S, Flinck H: Software defined networking for security enhancement in wireless mobile networks. ACM, NY USA; 2014:94-101.

    Google Scholar 

  134. Suresh L, Schulz-Zander J, Merz R, Feldmann A, Vazao T: Towards programmable enterprise WLANs with Odin. In Proceedings of the First Workshop on Hot Topics in Software Defined Networks. ACM, NY USA; 2012:115-120.

    Google Scholar 

  135. Pentikousis K, Wang Y, Hu W: Mobileflow: toward software-defined mobile networks. IEEE Commun. Mag 2013, 51(7):44-53. IEEE, NY USA

    Google Scholar 

  136. Gudipati A, Perry D, Li LE, Katti S: Softran: software defined radio access network. In Proceedings of the Second ACM SIGCOMM Workshop on Hot topics in Software Defined Networking. ACM, NY USA; 2013:25-30.

    Google Scholar 

  137. Jin X, Li LE, Vanbever L, Rexford J: SoftCell: scalable and flexible cellular core network architecture. ACM, NY USA; 2013.

    Google Scholar 

  138. Luo T, Tan H-P, Quek TQ: Sensor openflow: enabling software-defined wireless sensor networks. IEEE Commun. Lett 2012, 16(11):1896-1899. IEEE, NY USA

    Google Scholar 

  139. Costanzo S, Galluccio L, Morabito G, Palazzo S: Software defined wireless networks: unbridling SDNs. In European Workshop on Software Defined Networking (EWSDN). IEEE, NY USA; 2012:1-6.

    Google Scholar 

  140. Mahmoud QH: Cognitive Networks: Towards Self-Aware Networks. Wiley, USA; 2007.

    Google Scholar 

  141. Manoj B, Rao RR, Zorzi M: Architectures and protocols for next generation cognitive networking. In Cognitive Wireless Networks. Springer, Heidelberg; 2007:271-284.

    Google Scholar 

  142. Fortuna C, Mohorcic M: Trends in the development of communication networks: cognitive networks. Comput. Networks 2009, 53(9):1354-1376. 10.1016/j.comnet.2009.01.002

    Google Scholar 

  143. Cesana M, Cuomo F, Ekici E: Routing in cognitive radio networks: challenges and solutions. Ad Hoc Networks 2011, 9(3):228-248. 10.1016/j.adhoc.2010.06.009

    Google Scholar 

  144. Zhao Q, Sadler BM: A survey of dynamic spectrum access. IEEE Signal Process. Mag 2007, 24(3):79-89.

    Google Scholar 

  145. Zhang Z, Long K, Wang J: Self-organization paradigms and optimization approaches for cognitive radio technologies: a survey. IEEE Wireless Comm 2013, 20(2):36-42.

    Google Scholar 

  146. Cormio C, Chowdhury KR: A survey on MAC protocols for cognitive radio networks. Ad Hoc Networks 2009, 7(7):1315-1329. 10.1016/j.adhoc.2009.01.002

    Google Scholar 

  147. De Domenico A, Strinati EC, Di Benedetto M: A survey on MAC strategies for cognitive radio networks. IEEE Communicat. Surv. Tutorials 2012, 14(1):21-44.

    Google Scholar 

  148. Azarfar A, Frigon J-F, Sanso B: Improving the reliability of wireless networks using cognitive radios. IEEE Communicat. Surv. Tutorials 2012, 14(2):338-354.

    Google Scholar 

  149. Fragkiadakis AG, Tragos EZ, Askoxylakis IG: A survey on security threats and detection techniques in cognitive radio networks. IEEE Communicat. Surv. Tutorials 2013, 15(1):428-445.

    Google Scholar 

  150. Niyato D, Hossain E: Cognitive radio for next-generation wireless networks: an approach to opportunistic channel selection in IEEE 802.11-based wireless mesh. IEEE Wireless Commun 2009, 16(1):46-54.

    Google Scholar 

  151. Ahuja R, Corke R, Bok A: Cognitive radio system using IEEE 802.11 over UHF TVWS. In New Frontiers in Dynamic Spectrum Access Networks, 2008. DySPAN 2008. 3rd IEEE Symposium on. IEEE, NY USA; 2008:1-9.

    Google Scholar 

  152. Flores AB, Guerra RE, Knightly EW, Ecclesine P, Pandey S: “IEEE 802.11 af: a standard for tv white space spectrum sharing. IEEE Commun. Mag 2013, 51(10):92-100. IEEE, NY USA

    Google Scholar 

  153. Cordeiro C, Challapali K, Birru D, Sai Shankar N: IEEE 802.22: the first worldwide wireless standard based on cognitive radios. In New Frontiers in Dynamic Spectrum Access Networks, 2005. DySPAN 2005. IEEE, NY USA; 2005:328-337.

    Google Scholar 

  154. Akan OB, Karli O, Ergul O: Cognitive radio sensor networks. IEEE Netw IEEE, NY USA, 2009, 23(4):34-40.

    Google Scholar 

  155. Di Felice M, Doost-Mohammady R, Chowdhury KR, Bononi L: Smart radios for smart vehicles: cognitive vehicular networks. IEEE Veh. Tech. Mag 2012, 7(2):26-33. IEEE, NY USA

    Google Scholar 

  156. Costa-Perez X, Swetina J, Guo T, Mahindra R, Rangarajan S: Radio access network virtualization for future mobile carrier networks. IEEE Comm. Mag 2013, 51(7):27-35. IEEE, NY USA

    Google Scholar 

  157. Bhanage G, Seskar I, Mahindra R, Raychaudhuri D: Virtual basestation: architecture for an open shared WiMAX framework. In Proceedings of the Second ACM SIGCOMM Workshop on Virtualized Infrastructure Systems and Architectures (VISA). ACM, NY USA; 2010:1-8.

    Google Scholar 

  158. Zaki Y, Zhao L, Goerg C, Timm-Giel A: LTE wireless virtualization and spectrum management. In Wireless and Mobile Networking Conference (WMNC), 2010 Third Joint IFIP. IEEE, NY USA; 2010:1-6.

    Google Scholar 

  159. Smith G, Chaturvedi A, Mishra A, Banerjee S: Wireless virtualization on commodity 802.11 hardware. In Proceedings of the Second ACM International Workshop on Wireless Network Testbeds, Experimental Evaluation and Characterization. ACM, NY USA; 2007:75-82.

    Google Scholar 

  160. Hamaguchi T, Komata T, Nagai T, Shigeno H: A framework of better deployment for, WLAN access point using virtualization technique. In 24th International Conference on Advanced Information Networking and Applications Workshops (WAINA) 2010 IEEE. IEEE, NY USA; 2010:968-973.

    Google Scholar 

  161. Xia L, Kumar S, Yang X, Gopalakrishnan P, Liu Y, Schoenberg S, Guo X: Virtual WiFi: bring virtualization from wired to wireless. In ACM SIGPLAN Notices, vol 46. ACM, NY USA; 2011:181-192.

    Google Scholar 

  162. He Y, Fang J, Zhang J, Shen H, Tan K, Zhang Y: Mpap: virtualization architecture for heterogenous wireless aps. Comput. Comm. Rev 2010, 40: 475-476. ACM, NY USA 10.1145/1851275.1851271

    Google Scholar 

  163. Sivaraman V, Moors T, Habibi Gharakheili H, Ong D, Matthews J, Russell C: Virtualizing the access network via open apis. In Proceedings of the Ninth ACM Conference on Emerging Networking Experiments and Technologies. ACM, NY USA; 2013:31-42.

    Google Scholar 

  164. Philip VD, Gourhant Y, Zeghlache D: Openflow as an architecture for e-node b virtualization. In e-Infrastructure and e-Services for Developing Countries. Springer, Heidelberg; 2012:49-63.

    Google Scholar 

  165. Tan K, Shen H, Zhang J, Zhang Y: Enable flexible spectrum access with spectrum virtualization. In Dynamic Spectrum Access Networks (DYSPAN), 2012 IEEE International Symposium on. IEEE, NY USA; 2012:47-58.

    Google Scholar 

  166. Yang K, Ou S, Chen H-H: On effective offloading services for resource-constrained mobile devices running heavier mobile internet applications. IEEE Commun. Mag 2008, 46(1):56-63. IEEE, NY USA

    Google Scholar 

  167. Chun B-G, Ihm S, Maniatis P, Naik M, Patti A: Clonecloud: elastic execution between mobile device and cloud. In Proceedings of the Sixth Conference on Computer Systems, EuroSys ‘11. ACM, NY USA; 2011:301-314.

    Google Scholar 

  168. Calhoun P: Lightweight access point protocol. 2010. . Accessed 12 Sept 2013

    Google Scholar 

  169. Dalvi A, Swamy P, Meshram B: Centralized management approach for, WLAN. In Computer Networks and Information Technologies. Springer; 2011:578-580.

    Google Scholar 

  170. Misra S, Das S, Khatua M, Obaidat M: QoS-guaranteed bandwidth shifting and redistribution in mobile cloud environment. IEEE Trans. Cloud Comput 2013, 99: 1-1. IEEE, NY USA

    Google Scholar 

  171. Dinh HT, Lee C, Niyato D, Wang P: A survey of mobile cloud computing: architecture, applications, and approaches. Wireless Comm. Mobile Comput Wiley, USA, 2011.

    Google Scholar 

  172. Vassilaras S, Yovanof GS: Wireless going in the cloud: a promising concept or just marketing hype? Wireless Pers. Comm 2011, 58(1):5-16. Springer 10.1007/s11277-011-0284-9

    Google Scholar 

  173. Lin Y, Shao L, Zhu Z, Wang Q, Sabhikhi RK: Wireless network cloud: architecture and system requirements. IBM J. Res. Dev 2010, 54(1):4-1. IBM

    Google Scholar 

  174. Ferreira L, Pichon D, Hatefi A, Gomes A, Dimitrova D, Braun T, Karagiannis G, Karimzadeh M, Branco M, Correia L: An architecture to offer cloud-based radio access network as a service. Networks and Communications (EuCNC), 2014 European Conference on (IEEE, 2014) pp. 1-5.

    Google Scholar 

  175. Vestin J, Dely P, Kassler A, Bayer N, Einsiedler H, Peylo C: CloudMAC: towards software defined WLANs. ACM SIGMOBILE Mobile Comput. Commun. Rev 2013, 16(4):42-45. ACM, NY USA 10.1145/2436196.2436217

    Google Scholar 

  176. Ko C-H, Huang DH, Wu S-H: Cooperative spectrum sensing in TV white spaces: when cognitive radio meets cloud. In Computer Communications Workshops (INFOCOM WKSHPS), 2011 IEEE Conference on. IEEE, NY USA; 2011:672-677.

    Google Scholar 

  177. Rost P, Bernardos CJ, Domenico A, Girolamo M, Lalam M, Maeder A, Sabella D, Wübben D: Cloud technologies for flexible 5G radio access networks. IEEE Commun. Mag 2014, 52(5):68-76. IEEE, NY USA

    Google Scholar 

  178. Staring AJ: Applying the cloud computing model in LTE based cellular systems. In Proc. of the 17th Twente Student Conference on IT. University of Twente; 2012.

    Google Scholar 

  179. Anwer MB, Feamster N: Building a fast, virtualized data plane with programmable hardware. Comput. Commun. Rev 2010, 40(1):75-82. ACM, NY USA 10.1145/1672308.1672323

    Google Scholar 

  180. Chaudet C, Haddad Y: Wireless software defined networks: challenges and opportunities. In Microwaves, Communications, Antennas and Electronics Systems (COMCAS), 2013 IEEE International Conference on. IEEE, NY USA; 2013:1-5.

    Google Scholar 

  181. Zuniga JC, Bernardos CJ, de la Oliva A, Melia T, Costa R, Reznik A: Distributed mobility management: a standards landscape. IEEE Comm. Mag 2013, 51(3):80-87. IEEE, NY USA

    Google Scholar 

  182. Li LE, Mao ZM, Rexford J: Toward software-defined cellular networks. In European Workshop on Software Defined Networking (EWSDN), 2012. IEEE, NY USA; 2012:7-12.

    Google Scholar 

  183. Randall Schwartz MJ: White paper: Carrier Wi-Fi Offload. . Accessed 12 Sept 2013

  184. Zheng J, Lee MJ: A comprehensive performance study of IEEE 802.15.4. Sensor Network Operations, ISBN 0-471-71976-5, Chapter 4 218–237. IEEE Press, Wiley Interscience; 2006.

    Google Scholar 

  185. Singh CK, Kumar A, Ameer P: Performance evaluation of an IEEE 802.15.4 sensor network with a star topology. Wireless Network 2008, 14(4):543-568. Springer 10.1007/s11276-007-0043-8

    Google Scholar 

  186. Clark DD, Partridge C, Ramming JC, Wroclawski JT: A knowledge plane for the internet. In Proceedings of the 2003 Conference on Applications, Technologies, Architectures, and Protocols for Computer Communications. ACM; 2003:3-10.

    Google Scholar 

  187. Sherman M, Mody AN, Martinez R, Rodriguez C, Reddy R: IEEE standards supporting cognitive radio and networks, dynamic spectrum access, and coexistence. IEEE Commun. Mag IEEE, NY USA, 2008, 46(7):72-79.

    Google Scholar 

  188. Sarigiannidis A, Nicopolitidis P, Papadimitriou G, Sarigiannidis P, Louta M, Pomportsis A: On the use of learning automata in tuning the channel split ratio of wimax networks. IEEE Systems Journal 2013, PP(99):1-13. IEEE, NY USA

    Google Scholar 

  189. Misra S, Venkata P, Krishna Isaac K, Abraham Sasikumar N, Fredun S: An adaptive learning routing protocol for the prevention of distributed denial of service attacks in wireless mesh networks. Comput. Math. Appl 2010, 60(2):294-306. Elsevier, USA 10.1016/j.camwa.2009.12.035

    Google Scholar 

  190. Misra S, Krishna P, Kalaiselvan K, Saritha V, Obaidat MS: Learning automata-based QoS framework for cloud IaaS. IEEE Trans. Network Service Manage 2014, 11: 15-24. IEEE, NY USA

    Google Scholar 

  191. Kakali VL, Sarigiannidis PG, Papadimitriou GI, Pomportsis AS: A novel adaptive framework for wireless push systems based on distributed learning automata. Wireless Pers. Comm 2011, 57(4):591-606. Springer 10.1007/s11277-009-9863-4

    Google Scholar 

  192. Misra S, Krishna PV, Saritha V: Lacav: an energy-efficient channel assignment mechanism for vehicular ad hoc networks. J. Supercomput 2012, 62(3):1241-1262. Springer 10.1007/s11227-011-0552-1

    Google Scholar 

  193. Network functions virtualization (NFV): Network functions virtualization: an introduction, benefits, enablers, challenges and call for action. Introductory white paper, SDN and OpenFlow world congress, Oct 2012 2013. . Accessed 12 Sept 2013

    Google Scholar 

  194. John W, Pentikousis K, Agapiou G, Jacob E, Kind M, Manzalini A, Risso F, Staessens D, Steinert R, Meirosu C: Research directions in network service chaining. In Future Networks and Services (SDN4FNS), 2013 IEEE SDN for. IEEE, NY USA; 2013:1-7.

    Google Scholar 

  195. Bavier A, Feamster N, Huang M, Peterson L, Rexford J, VINI veritas: realistic and controlled network experimentation: Comput. Commun. Rev. 2006, 36: 3-14. ACM, NY USA

    Google Scholar 

  196. Hibler M, Ricci R, Stoller L, Duerig J, Guruprasad S, Stack T, Webb K, Lepreau J: Large-scale virtualization in the, Emulab network testbed. In USENIX Annual Technical Conference. USENIX; 2008:113-128.

    Google Scholar 

  197. Elliott C: GENI: Opening up new classes of experiments in global networking. IEEE Internet Comput 2010, 14(1):39-42. IEEE, NY USA

    Google Scholar 

  198. Casado M, Koponen T, Ramanathan R, Shenker S: Virtualizing the network forwarding plane. In Proceedings of the Workshop on Programmable Routers for Extensible Services of Tomorrow. ACM, NY USA; 2010:8-8.

    Google Scholar 

  199. Gibb G, Underhill D, Covington A, Yabe T, McKeown N: OpenPipes: prototyping high-speed networking systems. In Proc. ACM SIGCOMM Conference (Demo), Barcelona, Spain. ACM, NY USA; 2009.

    Google Scholar 

  200. Bruce Davie’s talk in the Open Networking Summit on NV. [Online] 2013. . Accessed 12 Sept 2013

  201. Wen H, Tiwary PK, Le-Ngoc T: Wireless Virtualization, Springer Briefs in Computer Science. (Springer; 2013.

    Google Scholar 

  202. Bosch P, Duminuco A, Pianese F, Wood TL: Telco clouds and virtual telco: consolidation, convergence, and beyond. In Integrated Network Management (IM), 2011 IFIP/IEEE International Symposium on. IEEE, NY USA; 2011:982-988.

    Google Scholar 

  203. Sachs S, Baucke J: Virtual radio: a framework for configurable radio networks. In Proceedings of the 4th Annual International Conference on Wireless Internet. ICST (Institute for Computer Sciences, Social-Informatics and Telecommunications Engineering). ACM, NY USA; 2008:61-61.

    Google Scholar 

  204. R. Control and Provisioning of Wireless Access Points (CAPWAP) Protocol Specifications 2009. [Online]. Accessed 12 Sept 2013

  205. Nakauchi K, Ishizu K, Murakami H, Nakao A, Harada H: Amphibia: a cognitive virtualization platform for end-to-end slicing. IEEE, NY USA; 2011.

    Google Scholar 

  206. Meraki Networks [Online]. Accessed 12 Sept 2013 [Online]. Accessed 12 Sept 2013

  207. Aruba Networks [Online]. Accessed 12 Sept 2013 [Online]. Accessed 12 Sept 2013

  208. Papakos P, Capra L, Rosenblum DS: Volare: context-aware adaptive cloud service discovery for mobile systems. In Proceedings of the 9th International Workshop on Adaptive and Reflective Middleware. ACM, NY USA; 2010:32-38.

    Google Scholar 

  209. Papagianni C, Leivadeas A, Papavassiliou S, Maglaris V, Cervelló-Pastor C, Monje A: On the optimal allocation of virtual resources in cloud computing networks. IEEE Trans Comput IEEE, NY USA, 2013, 62(6):1060-1071.

    MathSciNet  Google Scholar 

  210. Satyanarayanan M, Bahl P, Caceres R, Davies N: The case for VM-based cloudlets in mobile computing. IEEE Pervasive Comput 8(4):14-23. IEEE, NY USA

  211. Ge F, Lin H, Khajeh A, Chiang CJ, Eltawil AM, Bostian CW, Feng W-C, Chadha R: Cognitive radio rides on the cloud. In Military Communications Conference, MILCOM 2010. IEEE, NY USA; 2010:1448-1453.

    Google Scholar 

  212. Miguelez IGomez, Marojevic V: A Gelonch Bosch, Resource management for software-defined radio clouds. IEEE Micro 2012, 32(1):44-53. IEEE, NY USA

    Google Scholar 

  213. Kurschl W, Beer W: Combining cloud computing and wireless sensor networks. In Proceedings of the 11th International Conference on Information Integration and Web-based Applications & Services. ACM, NY USA; 2009:512-518.

    Google Scholar 

  214. Atzori L, Iera A, Morabito G: The internet of things: a survey. Comput. Network 2010, 54(15):2787-2805. Elsevier 10.1016/j.comnet.2010.05.010

    Google Scholar 

Download references

Author information

Authors and Affiliations


Corresponding author

Correspondence to Junaid Qadir.

Additional information

Competing interests

The authors declare that they have no competing interests.

Authors’ original submitted files for images

Rights and permissions

Open Access This article is distributed under the terms of the Creative Commons Attribution 2.0 International License (, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

Reprints and Permissions

About this article

Verify currency and authenticity via CrossMark

Cite this article

Qadir, J., Ahmed, N. & Ahad, N. Building programmable wireless networks: an architectural survey. J Wireless Com Network 2014, 172 (2014).

Download citation

  • Received:

  • Accepted:

  • Published:

  • DOI:


  • Cloud Computing
  • Cognitive Radio
  • Application Programmer Interface
  • Control Plane
  • Network Virtualization