The technology evolution has been based on diverse disruptive technologies, which now start to converge towards deeply integrating physical and virtual worlds; a trend that has been called digital transformation [1
]. Disruptions are emerging in connectivity, controllability, virtualization, expressiveness, content distribution and resources management. The Internet of Things (IoT) [2
] is an example of disruption that has been covering connectivity, expressiveness and resources management. Expressiveness can be defined as the ability to express meaning [3
]. Connected sensors provide all kind of physical world data, generating context for services and applications. Connected actuators reflect back to physical world decisions made at software level. Things’ representatives (smart objects) act as proxies, representing physical world devices towards service level dynamic composition [4
Other important disruptions are related to the increasing role of software in information architectures. Software-defined network (SDN) [5
] and network function virtualization (NFV) [6
] have been revolutionizing telecommunications network design, including the fifth generation of mobile communications (5G) [7
]. SDN improves network programmability [9
], enabling slicing of the physical network devices. NFV supports virtualization of network functions that typically are implemented in hardware. Placement and chaining of virtual network functions (VNFs) create unprecedented levels of architectural flexibility. Multi-access edge computing (MEC) [10
], fog and cloud computing can be combined to address VNFs optimal placement. By combining VNFs orchestration with SDN controllability, 5G architectures reflect service and application needs directly in physical device configurations, creating a disruption in the way that physical resources are managed. The work in 5G has been largely inspired/guided by previous work in future Internet (FI) research [11
]. Future Internet means any Internet-like network that could emerge in the future. For instance, the outputs of FI public-private partnership (PPP) [13
] have been fostering the 5G-PPP [14
] initiative in Europe.
Disruption is also present in content distribution: information-centric networking (ICN) [15
] replaces traditional host centric paradigm with efficient, coherent, secure and integral distribution of named contents. Packets identify the desired content instead of destination hosts. What matters are content names rather than locations. Services directly access contents/data by their names. Expressiveness is increased with named-content forwarding/routing [16
]. Network caching can also be considered another disruption in this scope. ICN application to IoT management and control is a promising approach [20
], since ICN provides in-network storage of control/management data. Access to the closest copy of a command is possible, as well as asynchronous interaction between controllers and controlled devices. Self-verifying names (SVNes) [21
] can be applied to control plane, allowing provenance [22
] and integrity check [23
] in multi-controller networks.
The application of these disruptive technologies in smart environments will inevitably squeeze into the limited radio frequency spectrum of unlicensed bands, while providing devices, things and people connectivity. According to Haykin [24
], the current static spectrum management policies are responsible for its poor use, leaving few bands for unlicensed use, challenging the coexistence of heterogeneous technologies in smart environments. Cognitive radio (CR) [25
] can considerably increase the efficiency of radio frequency spectrum by performing a dynamic spectrum management (DSM) [24
]. The dynamic assignment of spectrum holes (or free frequency channels) in a fair and efficient manner is a powerful tool to deal with congested frequency bands, reducing interference and improving throughput. Therefore, integrated, trustable and secure DSM for IoT, Wi-Fi and other technologies for unlicensed bands is extremely important for the current and future telecommunications networks. Technological solutions for this context must take advantage of the disruptive technologies mentioned above. To the best of our knowledge, the literature still does not present a unified combination of ICN, SOA, SDN, ID/Loc splitting and cognitive radio in favor to improve DSM on IoT environments [16
In this article, we explore the benefits of integrating these disruptive technologies for DSM of WSANs and IoT networks. We advance state-of-the-art by leveraging: (i) named-based routing of control data to provide provenance and location-independent access to DSM controls; (ii) temporary storage of control data for efficient and cohesive control dissemination and asynchronous communication between software-controllers and controlled devices; (iii) contract-based control plane to improve trust-ability of control actions; (iv) service-defined configuration of wireless devices, approximating devices configurations to real services needs. These features bring fresh air to control plane, confronting the problems of confidence lack, security, reliability, consistency, provenance and integrity of control actions in WSANs and IoT networks [23
Our approach for co-existence of wireless networks in the 2.4 GHz ISM band adopts a convergent design space (presented in Table 1
) that integrates IoT, ICN, FI and 5G ingredients. The work is performed in the context of a FI/5G disruptive architecture called NovaGenesis (NG) [3
]. NG project started in 2008 and includes support for several architectural ingredients, typically addressed in a standalone fashion. NG provides a complete architecture that covers ICN [15
], SDN [5
], service-oriented architecture (SOA) [34
], service-centric networking (SCN) [35
], NFV [6
], self-verifying naming [3
], distributed name resolution and identifier/locator (ID/Loc) splitting [36
The article represents an extension of our previous work on cognitive radio for IoT [33
], adding Wi-Fi and IEEE 802.15.4 channel control based on energy detection. A proof-of-concept has been experimentally performed, demonstrating throughput improvement after channel changing in a mobile environment, in which Wi-Fi interferes in IEEE 802.15.4 and vice-versa. A contract-based, named-data and software-defined approach is employed for IoT/Wi-Fi coexistence in the 2.4 GHz ISM band for the first time. The focus is on the control plane rather than previous work [33
] that was mainly interested in ICN for data plane. To the best of our knowledge, this is the first effort for applying ICN in the control plane. In summary, the article objective is threefold: (i) to advance DSM for the co-existence of IoT IEEE 802.15.4 nodes and Wi-Fi access points in an ISM band; (ii) demonstration of NovaGenesis viability in a real scenario for integrated IoT/Wi-Fi spectrum management of smart places; (iii) demonstration of NG as an alternative to the current spectrum management architectures. Our main contributions are the following:
Integration of aforementioned key ingredients usually separately found in IoT/FI/5G architectures. As it will be demonstrated latter, this work goes deeply than our previous work [33
] when integrating the design dimensions, as reported in Table 1
Name-based routing and self-verifying naming for provenance and integrity of the best channel indications [23
]. For the first time, name-based routing of the best channel indications is demonstrated in laboratory. In contrast to other works [20
], results have been obtained in a field-trial experiments.
“Semantic rich” orchestration of DSM services. NG provides naming support to foster trustable exposition and discovery of spectrum sensing, optimization and reconfiguration services. Dynamic composition is provided via publish/subscribe of name bindings.
Configuration of IoT/Wi-Fi devices accordingly to the service contracts. IoT and Wi-Fi devices operate at channels defined by the umbrella of services contracts. This is more generic than only configuring traffic flow tables as in traditional OpenFlow-based SDN [5
]. In the current SDN approaches, neither controllers are seen as services, nor contracts are established with services to reflect their real needs beyond traffic flow configuration. We propose a service-defined architecture (SDA), in which services and controllers establish dynamic contracts in the control plane, making devices configuration a direct reflex of services needs. In other words, our SDN model allows services to directly contract controllers to change physical device configurations.
Network caching of spectrum data (at control plane) to improve scalability and efficiency of best channel indications for services. This solution allows asynchronous access to spectrum data, as well as trustable sharing of spectrum indications among DSM services. This solution is promising for scenarios with multiple spectrum sensors/best channel indicators and devices to be controlled.
In summary, this work aims at providing significant bit rate increase in IEEE 802.15.4 and Wi-Fi networks operating in unlicensed bands. The ICN-based proposal offers a spectrum management solution for IoT/Wi-Fi, using a named data network to switch from the current TCP/IP technologies to future Internet ones. The remainder of this manuscript is structured in other six sections. Section 2
presents a revision on the state-of-the-art in Section. In Section 3
, we propose a cognitive radio system for the integrated spectrum sensing in the 2.4 GHz band, including its hardware and firmware modules. This cognitive radio system is latter integrated to NovaGenesis architecture. Section 4
describes the basics of NovaGenesis architecture. We also detail our main contribution: an extension to our previous work [33
] to offer a set of trustable, named-control-data and contract-based dynamic spectrum management services for IoT/Wi-Fi devices. In Section 5
, a real scenario is evaluated and experimental results are analyzed. Section 6
enumerates our proposal contributions, benefits and open issues for the control plane of new generation WSANs and IoT. Finally, Section 7
points our conclusions.
2. Related Work
Previous works related to the D1-D8 design dimensions are listed in Table 2
. We have restricted our selection to the state-of-the-art manuscripts related to next generation technologies of WSANs and IoT. The hot topics and keywords presented in Table 1
have been used to select the best fits. As can be seen in Table 2
, the majority of selected papers is typically focused on one or two dimensions. For instance, articles that cover cognitive radio-based DSM (D1 and D2) do not cover emerging technologies like ICN (D3 and D6), SDN (D4), SOA (D5 and D8), or identifier/locator splitting (D7). In this context, our methodology was selecting papers that cover as many as possible of these design dimensions.
The emergence of IoT and its perspective of providing connectivity for a very large quantity of devices [63
] makes device/standard heterogeneity an important rule. Interoperability has been provided at software level. New technology coexistence problems have emerged and become largely studied. They include electromagnetic interference mitigation, dynamic spectrum management and opportunistic spectrum access.
The authors of [39
] propose cognitive radio implementations for IoT, addressing channels keying with different techniques; not always related to the cognitive sensing technique, but employing multiple access protocol, multi-hop and others. In [40
], cognitive radios were employed for IoT-enabled smart grids. The convergence of spectrum-aware communications and energy harvesting is explored to: (i) deal with collisions and interference in ISM band; (ii) rectify RF signals to feed IoT nodes. A ultra-low power unit perform channel sensing and switching in the nodes. In [47
], cognitive radio technology is applied for vehicular communication in a licensed band. Opportunistic channels are allocated to vehicles as they move. The coexistence of medical wireless devices was investigated in [51
]. A framework for wireless devices coexistence testing based on energy detection was proposed. Ding et al. [52
] evaluated a distributed joint channel allocation and time slot access control solution for IoT devices, concerned to optimizing residual nodes energy. In [46
], the coexistence of Wi-Fi and 4G in unlicensed spectrum was studied. Co-channel interference mitigation from small cells to Wi-Fi is provided, whereas in in [50
] coordination of heterogeneous wireless sensor network technologies (Wi-Fi and IEEE 802.15.4) was investigated. The proposed WiSHFUL control framework addresses interference mitigation (D1) using an protocol-independent unified programming interface (UPI) for software-defined devices monitoring and configuration (D4).
], authors reported an experimental performance evaluation of IEEE 802.11 and IEEE 802.15.4 standards, when sharing the same geographical space. In [26
], SDRs were employed to have a more flexible network with quality of service (QoS). References [38
] are related to SOA. Services designed to control the system operation and other functionalities aim to improve its performance, like the spectrum sensing service proposed in [53
]. In [53
], IoT devices with cognitive radio capabilities (D1) cooperatively optimize spectrum channels. Simulation and numerical analyses were employed to demonstrate minimal interference with licensed mobile networks. In [39
], cognitive radio is employed for wireless sensor network energy-efficient channel handoff.
], Jacobson et al. proposed content-centric networking (CCN) paradigm covering dimensions D3, D6 and D7. In CCN, pending interest tables (PITs) handle interest packets forwarded upstream to possible content sources in order to route back data packets to requesters. Zhang et al. [30
] revisited CCN and proposed an enhanced version called named data networking (NDN). NDN also follows the same forwarding model, but proposes some improvements regarding delay. The surveys [19
] cover many proposals also related to D3, D6 and D7. Network of information (NetInf) is one example [17
] of a key component of the scalable and adaptive Internet solutions (SAIL) architecture. NetInf relays in named data objects (NDOs) to give access to content by its name, i.e., data is located during final transfer phase. Network caching is employed to store NDOs closely to the interested peers, maximizing content distribution efficiency and robustness. The NetInf nodes offer three services: (i) forwarding of requests for NODs to the closest caching/storage nodes; (ii) data transfer to the requesters; (iii) a name resolution service (NRS) that can be used to locate possible content sources. NetInf covers publishing, searching and subscription for NDOs. NetInf covers design dimensions D3, D6 and D7, clearly demonstrating there is a gap related to the other design dimensions while applying ICN paradigm. Still related to FI and ICN, the publish subscribe Internet technology (PURSUIT) architecture employed a flat naming structure (D6) to support content subscriptions from a publisher/subscriber rendezvous function at network nodes [32
]. Publisher mobility is supported by a topology manager that decouples IDs from locators (D7). PURSUIT can support the secure exchange of control data, but there is no support for the dynamic composition of trustable services. Katsaros et al. [65
] studied data-oriented architecture (DONA) [66
] and context-ubiquitous resolution and delivery infrastructure for next generation services (CURLING) [67
] route-by-name scalability and performance for hierarchical networking caching. The effects of inter-domain topologies in ICN performance have been evaluated, pointing this issue as important to be considered when extending ICN for hierarchical domains. Another important aspect related to ICN is proactive caching of contents accordingly to user mobility. Siris et al. [68
] proposed an efficient mechanism to reduce delay when mobile devices employ ICN paradigm, which is an important problem for the convergence of ICN, IoT, 5G and cognitive radio. The proposed solution exploits mobility and congestion information to improve cache storage performance.
Additionally, we selected studies that tackles ICN benefits for IoT. The authors of [20
] addressed the application of ICNs to IoT. In [20
], content-centric network (CCN) was employed for management of IoT networks. Name resolution (D6) and name-based, secure routing (D3) was used for IoT devices key distribution, registration, discovery and command execution (D2 and D4). They have also considered service level agreement (SLA) for management services (D8). CCN offers content identifier/locator splitting (D8). In contrast, our work employs ICN for wireless spectrum management (D1). Another difference is that we adopt service names for dynamic composition of IoT/Wi-Fi spectrum management services (D5).
], motes authentication (D2) and IoT data name-based routing (D3) were explored in the context of the named-data network (NDN) architecture. Scalability and efficiency were evaluated using ns-3 simulations. In [27
], a simulation-based comparison of Internet protocol (IP) and CCN (D3 and D6) for supporting IoT data plane was provided in terms of energy consumption and bandwidth usage. Results indicated CCN consumes less energy and bandwidth than IP. In [28
], two ICNs were evaluated in the context of IoT: MobilityFirst [69
] and NDN. The study covered devices discovery and IoT data publish/subscribe. Two smart campus applications were evaluated with simulation.
], an ICN-based middleware for IoT was proposed. The proposal covered IoT devices naming, exposition and discovery. Name-based IoT data dissemination was evaluated in a real scenario. Nour et al. [43
] enhanced NDN architecture towards devices naming (D6), management (D2), mobility (D7) and handoff. Simulation results contended on proposal’s scalability and efficiency. Another paper related to ICN name and name resolution in IoT context was proposed by Dong et al. [44
], which covered devices attachment and failures. In [23
], security of ICN-IoT (D2, D3 and D6) was investigated. The work is related to the ICN research group (ICNRG) of Internet research task force (IRTF), which investigate ICN application in the context of IoT. An ICN-IoT middleware was proposed to provide service (D5 - partially), device and content (D3) discovery. A secure naming service (D6) was also covered. In [48
], authors extended NDN to reduce IoT data latency. Adhatarao et al. [58
], employed CCN-Lite for IoT nodes and gateways. The work addressed naming in IoT, publish/subscribe communication model, security and mobility.
The convergence of ICN (D3 and D6) and CR (D1) has been explored in a very few works. Si et al. [26
] addressed efficient video distribution in this context. Mathematical modeling and simulation were employed. Although the concern was to improve spectrum efficiency, the work has no relation to D4.
Another convergence is spectrum management (D1) and SDN (D4). In [37
], an enhanced distributed channel access (EDCA) technique was integrated to an SDN controller. Access points and mobile devices configured channels accordingly to a SDN controller. CORAL-SDN [49
] was embedded (D4) inside IoT nodes to offer low power wireless communication and media access control in IEEE 802.15.4 2.4 GHz networks. A modified controller offered topology control, routing and flow establishment, and data collection. Spectrum management was left out of the scope. In [9
], Lin et al. proposed a programmable P4 switch that provided aggregation/disaggregation of IoT data.
The integration of SDN and NFV is relevant for convergent architectures. Although independent, the synergistic integration of SDN and NFV can take advantage of both disruptions simultaneously. Duan et al. [59
] proposed an integrative approach called software-defined network virtualization (SDNV). This approach provided not only separation of data and control planes, but also decoupling of service functions and infrastructure. A service-oriented control/management (D2, D4 and D5) plane was provided to allow independent coordination of physical (infrastructure) and virtual (service-based) resources. Duan et al. [59
] contended that unified abstractions are required to expose heterogeneous resources to software layer, e.g. information processing, networking and storage. However, the SDNV proposal did not covered this issue. Coherence of coexisting software-controllers (control plane) is still pointed as an open issue. Service-oriented proposals (D5) are also relevant for next generation IoT and smart places. They are typically related to cloud or fog computing. In [45
], a service-oriented platform for IoT devices integration and behavior-aware coordination was proposed. The work employed the devices profile for web services (DPWS) standard to support heterogeneous IoT devices, including IEEE 802.15.4. Discovery and control services were developed (D5), but none related to coexistence of RF signals. In [57
], a SOA-based middleware for wireless sensor networks addressed services security (D2 and D4), dynamic composition (D5), data aggregation and QoS challenges of smart environments. In [62
], a data oriented networking architecture (DONA) based on cloud computing was proposed. It addresses cloud orchestration for ICN, covering the challenges behind IoT and its control plane.
A novel naming structure for identifying and locating IoT data and services (D7) is discussed in [61
]. Different rules for controlling information distribution are proposed and organized into hierarchical caches. A user that desires to obtain an information asks for the scope corresponding to a certain context, i.e., it can access IoT information by their names. In [60
], an example of hierarchical network caching (HNC) is provided, as well as a mechanism for mobility-based data search. These works address the important issue of ICN-based hierarchical caching performance for IoT.
Regarding future Internet, the eXpressive Internet architecture (XIA) is a FI project funded by the USA national science foundation (NSF) [16
]. Its key concepts are: (i) employs global unique identifiers for networking principals, i.e., administrative domains, hosts, services, and contents; (ii) allows services to express intent via unique IDs; (iii) flexible addressing; (iv) iterative refinement of forwarding; (v) intrinsic security. Self-certifying identifiers (XIDs) are calculated by hashing the public cryptographic keys of domains, hosts and services or the entire binary pattern of named-data. Still related to FI, recursive Internetwork architecture (RINA) is a clean slate architecture founded on the interprocess communication (IPC) abstraction [31
]. RINA adopted a distributed IPC facility (DIF) to allow dynamic stack creation based on customized instances of recursive layers. In other words, DIFs have the same interface and structure, independently of their level in the protocol stack. IPCs can implement virtual network functions. RINA also has an inter-DIF directory (IDD) for name resolution (D3 and D6) and ID/Loc splitting (D7). An error and flow control protocol (EFCP) provides secure exchange of control data (D2). A common application connection establishment phase (CACEP) is employed for establishing application connections (D8), allowing applications to discover (D5) possible peer names. To the best of our knowledge, neither XIA, nor RINA have been applied for cognitive radio and DSM yet.
In summary, related work individually deal with the challenges of next generation IoT and wireless network demands, providing mathematical models and/or simulations, with a few real world implementations, addressing specific design dimensions of Table 1
. The majority of cognitive radio proposals do not address other design dimensions. This means they do not form trustable networks of control services, if possible implications in security. Moreover, they do not exchange control data by their names, lacking on provenance and integrity check of control actions [22
]. Name-based routing is also unavailable, making control actions dependent on node’s addresses and locations. Control plane is not software-defined, lacking in flexibility and evolvability. Control services are not dynamically composed, difficulting extensibility and requiring frequently manual intervention. Naming support is limited to the current Internet technologies, difficulting expressiveness [16
]. Devices, services and data identifiers are coupled with locators, which creates identity loss and traceability problems while moving. Control plane is not contract-based, meaning all control services do not follow pre-established quality requirements. ICN proposals address some of these limitations, but do not incorporate cognitive radio (or DSM) or SOA benefits. Suarez et al. [20
], applied ICN for IoT management, but have not covered cognitive radio or SOA. In summary, there is a gap in the current researches to fully address design dimensions listed in Table 1
to automatic switch wireless devices’ channels (not only for Wi-Fi, but also for IEEE 802.15.4) using ICN, SOA, SDN and cognitive radio, while optimizing network throughput.
NovaGenesis (NG) [3
] is an alternative information architecture that covers data processing, exchanging and storage. The project has idealized an alternative architecture for the current Internet and has been demonstrated viable for IoT [4
] and cognitive radio [33
]. NG has been evaluated as an alternative to domain name service (DNS) [3
], named-data routing and network caching [73
] (for efficient content distribution) and software-defined networks [74
]. Due to its service-oriented design (SOD) with support for virtualization, software-defined networking and virtual network functions, it can be seen as a 5G architecture as well. In this context, NovaGenesis is a “clean slate” architecture that cohesively integrates many novel ingredients at its core, including exposition of physical things to software, programmable networks (SDN and NFV), service-defined architecture (SDA), ICN, SOA, SCN, IoT, SON, among others.
4.1. Naming and Hierarchical Name Resolution
NovaGenesis allows for unlimited namespaces and provides distributed/hierarchical name binding resolution. Namespaces can cover from natural language names (NLNes) up to self-verifying names (SVNes). For instance, a SVN can be calculated from an IoT hardware serial number, i.e., SVN = MD5(12080180972B) = b09d3a2e3aead0308403ecb0d6c6f9a4, in which MD5 is a hash function. Moreover, NG supports devices NLNes, such as NLN = Mote 1, which are important for human operators.
Besides flexible naming, NG allows name bindings (NBs) to represent entities relationships by means of semantic operators, such “equivalent”, “is contained” or “contains”. For instance, a name bind < Mote 1, b09d3a2e3aead0308403ecb0d6c6f9a4 > stores that one existence have two equivalent names, i.e., homonyms. However, a “contains” NB can represent that some entity inhabits another one. For example, the NB < Domain 1, Mote 1> represents that the domain named Domain 1 contains a Mote 1. NG allows also name bindings to be associated with the contents, i.e., data objects that are distributedly stored in the network. In this case, a name “Sample1.json” can be associated with a binary file containing a certain measure.
4.2. Hierarchical Network Caching
NovaGenesis adopts temporary caches in every domain to improve named-content distribution. This approach is founded in ICN, in which contents are accessed by their names and popular information is made available to future access in local cache. NG name resolution approach is integrated to a network caching to form a name resolution and network caching service (NRNCS). By integrating name resolution to content caching, NG facilitates content delivery by their names.
The current implementation of NRNCS adopts a publish/subscribe communication model, in which services publish and/or subscribe name bindings (NBs) and associated contents (if any) from the local domain cache. Therefore, NRNCS provides a rendezvous point analogous to message queuing telemetry transport (MQTT) brokers.
NRNCS is implemented by three services: (i) publish/subscribe service (PSS) to which services can publish or subscribe NBs/contents; (ii) generic indirection resolution service (GIRS) that selects appropriate hash tables to store named data; (iii) a hash table service (HTS), which in fact stores NBs and associated contents. Every NG domain must have at least one instance of each of these core services. However, elasticity is provided by increasing the numbers of PSS/GIRS/HTS. To facilitate understanding, a summary of NG terminology is shown on Table 3
PSS forwards NG messages carrying name bindings and content for network caching. For this purpose, it exposes an application programming interface (API), which offers the following primitives: (i) NB and content publishing without notification of other services; (ii) NB and content publishing with notification of interested services; (iii) NB and content subscription; (iv) NB and content subscription with notification of publisher; (v) delivering of NB and content subscribed; (vi) revoking of published NB and content, if any. In summary, PSS offers an API distributed over the network, allowing services discovery and access based on naming.
4.3. Entities Life-Cycling: From Equipment, Operating Systems, Services up to Information
NG adopts SOA premises to perform everything-as-a-service (XaaS) dynamic composition. Event protocol implementations in software are seen as services that establish contract to other services (peer protocol implementations or applications). NG provides a rich service life-cycle with resources (capabilities) exposition, discovery of possible peers and contents, contracting offers, negotiation and SLA installation. Due to its unique naming and name resolution approach, NG enables name-based dynamic service composition. In other words, NG integrates service-centric networking (SCN) and ICN in an unique design. Not only access to information is name-based, but also access to services. In fact, access to all entities is name-based as well as content routing and delivering. All these NG features provide a service-defined, trustable IoT spectrum management approach.
4.4. Message Encapsulation over Link Layer
Although NG can be applied to link layer, the current implementation does not cover this feature. As a consequence, NovaGenesis messages must be adapted for contemporary link layer technologies, such as Ethernet, Wi-Fi, ZigBee, LoRa, etc. For this aim, a gateway service was designed. In the current implementation, a convergent proxy/gateway/controller service (PGCS) was developed to represent (as a proxy) ordinary things (and IoT nodes) inside NG service ecosystem. PGCS provides gateway (protocol translation) functions to IoT protocols, such as ZigBee, IEEE 802.15.4, LoRa. Additionally to message encapsulation, NG model requires a service to represent things at software layer. Currently, this idea is named smart object. For this purpose, PGCS includes an internal proxy component which represents things in NG life-cycle.
4.5. Layered Model
Even though NG allows for flexible protocol development and layering, the current implementation can be represented in a protocol stack as illustrated in Figure 4
. The model presents two computers hosting NG. Each NovaGenesis service has several internal components to implement their functions. These components are called blocks, which can be classified in two types: common and specialized. The following blocks inhabit all services: gateway (GW) and hash table (HT). GW provides: (i) inter block communication (IBC) inside a service; (ii) inter service communication (ISC) in an operating system (OS); and (iii) event-driven dispatching of messages and callback of service actions. Inter OS/host communication is done by a specialized block called proxy/gateway (PG), which implements a convergence layer to provide message encapsulation, fragmentation and reassembly. PGCS, PSS, GIRS and HTS offer a software implementation of the NovaGenesis layer. Finally, in the upper level of the architecture an application layer takes advantage of all core services.
4.6. Software-Defined Networking Model
PGCS can also control things, self-configuring them as required, based on dynamic established contracts (Figure 5
). PGCS was envisioned as a controller service, similar to a SDN controller, but with responsibilities larger than frame forwarding control. PGCS provides programmability of connected things, sensors, actuators and switches. It can change general configurations in represented devices. In an OpenFlow-based SDN, software-controllers employ OF protocol to configure flow tables in compatible switches. OF protocol is employed in the south bound, between controller and switches. In the north bound, REST is typically employed, e.g., in OpenDaylight and open network operating system (ONOS). Figure 5
provides a comparison between OF and NovaGenesis SDN models.
NG does not limit the scope of programmability to flow tables. It employs services life-cycling to dynamically compose control plane via service contracts. NG applies the same protocols at north and south bounds. PGCS represents things to “sell” their capacities via NG named-based, semantic rich service orchestration. PGCS configures things accordingly to high level service and application needs, creating a service-define architecture (SDA) [4
]. When applied for IoT spectrum management, PGCS can represent IoT nodes to sell their measurement capabilities to control applications, such as a RMS instance. In addition, it can change the RF channel being used by the IoT node to communicate. PGCS can also change flow tables in a switch or access points in a similar way to OpenFlow, but using NG publish/subscribe communication model. It can also interoperate with OF controllers [74
4.7. Publishing Content to the Local Domain Temporary Cache
demonstrates the path required to publish a NG message from an application to the NRNCS. In Transaction 1, a Host 2 application publishes a message to the PSS. The local gateway determines the message is destined to another host (using a host identifier in the message header). The App GW forwards the message to the local PGCS GW via Transaction 2. The PGCS GW also determines the message destination is Host 1 and forwards the message to its PG for inter OS message exchange (Trans. 3). The PG block employs a raw socket to encapsulate NG over Ethernet (Trans. 4). Then, Host 1 PGCS PG reads the message from raw socket (Trans. 5). Using PSS identifier (also contained in message header), the PGCS GW forwards the message to the PSS instance (Trans. 6 and 7). The message goes to PS block, where a GIRS instance is selected to continue storage (Trans. 8-10). The message arrives at the GIRS GW and is forwarded to the IR block (Trans. 12). The IR block selects the proper HTS instance to store the content and forwards the message to HTS GW (Trans. 13–15). The message arrives at the HTS HT block (Trans. 16), where its content is store in Host 1 Linux file system. NRNCS always involve message forwarding from PSS to GIRS and from GIRS and HTS. A content subscription follows the same path up to the HTS. Content delivery is done by HTS directly to the subscriber service.
4.8. Message Format
NovaGenesis messages are divided into two portions: command lines (that call Actions in the receiving side) and payload. The command lines are in ASCII format, employing a novel script language to define control commands and their parameters. The payload is streamed from a file system archive. To separate command lines and payload a blank line is employed. The structure of each command line is as follows:
ng -command –alternative version [ < n type E1 E2 E3 E4 … En > ]
-command identifies the Action that will be called at the destination.
-alternative identifies possible alternatives to the command line, allowing Actions customization.
version identifies the version of the command line being executed.
[ ] contains one or more vectorial arguments.
n indicates the number of elements in the vector.
type contains the type employed in the vector elements.
E1 E2 E3 E4 … En are the vectors’ elements, containing parameters for the command line.
gives an example of a NovaGenesis exposition message used by a service to publish its name bindings to other services. The first command line with the command ng -m –cl is a forwarding/routing command line [75
], which contains the control information required to forward the message to a certain destination. It contains two tuples of four values that identifiers respectively, source and destination self-verifying names (SVNes). The argument [ < 4 s 0BD95286 ED12F3ED 342DD4C5 B8101939 > ] contains a tuple that names the source of the message and the argument [ < 4 s 0BD95286 ED12F3ED 449B0B0C 6FDF0A76 > ] provides the names of the destination. The command line ng -p –b is used to publish name bindings, therefore exposing keywords related to the service exposing its features, e.g., the key 19656CF3 is the hash of the word “Wi-Fi”. The last command line contains the hash of the previous command lines for integrity check purpose.
4.9. Dynamic Spectrum Management with NovaGenesis
NovaGenesis allows spectrum sensing, management and control as a service. The service-oriented spectrum management components are implemented as services in NG environment. They represent spectrum sensing hardware to enable dynamic composition with a spectrum manager. Services also represent the Wi-Fi access points and IEEE 802.15.4 nodes, allowing software-defined configuration of wireless channels. NG enables contract-based spectrum management, integrating all components required for dynamic spectrum access (DAS). It aims to create a dynamic spectrum market, in which opportunistic usage is allowed and monetized accordingly to established contracts or SLAs.
4.9.1. Spectrum Sensing Service (SSS)
In this paper, we extended a previous spectrum sensing service (SSS) development [33
] to expose IEEE 802.11 and IEEE 802.15.4 best channel indications to a resource management service (RMS). As illustrated in Figure 7
, measurements performed in HackRF One™ hardware are transferred to a GNU Radio instance. The channel advisor (CA) controls spectrum energy measurement and connects to a Core block of SSS via zero-em-queue (ZMQ) request/response socket. In addition, SSS also publishes keywords (“SSS”, “Spectrum”,“Sensing”, “IEEE 802.15.4” and “Wi-Fi”) to other NG spectrum management services in a local domain via PSS. Posterior, SSS searchers for a RMS instance. When SSS discovers a RMS, it sends a service offer to RMS describing the details behind best channel indications that will be performed.
4.9.2. Access Point Service (APS)
APS is novel service to represent and control Wi-Fi access points inside NovaGenesis. APS publishes keywords (“APS”, “Access”, “Point”, “Controller” and “Wi-Fi”) to other NG spectrum management services to enable dynamic composition. It also searchers for RMS instances and sends a service offer to discovered ones, describing details of the Wi-Fi APs it is representing. A service acceptance message will be sent by the RMS in case of contract establishment. Then, APS can exchange channels in Wi-Fi APs as requested by RMS. For this aim, APS Core block sends a control message to the AP via SSH. APs need to run OpenWRT OS.
4.9.3. Resource Management Service (RMS)
RMS implements a name-based, contract-oriented, self-organizing wireless spectrum management approach in a local NG domain. RMS mediates the relationship among NG spectrum management services (a.k.a SSS, APS and PGCS). Communication among them is TCP/IP independent. When a SSS discovers a RMS, it proposes a service offer with a description of the channel indication functionality that will be provided by CA software (Section 3
). RMS accepts the contract and starts being notified of the SSSes’ publications which inform: (i) the wireless technology that is being sensed (Wi-Fi or IEEE 802.15.4); (ii) the best channel to be used by local devices. Therefore, RMS becomes aware of the radio spectrum situation (a property called situation awareness) in the industrial, scientific and medical (ISM) bands. RMS can then decide if it accepts latest indication subscribed from SSS or to keep the current configuration. If it decides to change Wi-Fi/802.15.4 channel configurations, it publishes a control message to one or more local domain APS/PGCS, asking them to change channel. PGCS is used in case of IEEE 802.15.4.
4.9.4. Proxy/Gateway/Controller Service (PGCS)
When an IoT node needs to change the frequency channel, e.g., a IEEE 802.15.4 node, a contract to its representative PGCS is required. In this way, PGCS exposes its keywords and sends a service offer to RMS. The offer exposes PGCS IoT node control feature, which can be done via Tunslip software as illustrated in Figure 7
. Future work will enable IEEE 802.15.4 channel exchange without using TCP/IP. An embedded proxy/gateway service (EPGS) is being adapted [3
] to run inside IoT nodes and accept NovaGenesis messages directly, without TCP/IP.
4.10. Dynamic Composition of Spectrum Management Services
provides a sequence diagram of the actions implemented to dynamically manage 2.4 GHz ISM spectrum with NovaGenesis. The life-cycle comprehends five steps: (i) service names/keywords exposition; (ii) service discovery; (iii) service contracting; (iv) best channel indications; (v) device channel adjustment.
4.10.1. Service Names/Keywords Exposition
In Transaction 1a, PGCS from Host 2 publishes to NRNCS a set of self-verifying name bindings, e.g., among Host ID, OS ID, Process ID and internal component IDs. In addition, SVNes are bound to natural language names (keywords) to express PGCS role in spectrum management solution (e.g., “Proxy”, “Gateway”, “Controller” and “IoT”). These NBs are stored in the HTS distributed system. Transactions 1b, 1c and 1d carry, respectively, name bindings of APS, RMS and SSS instances. SSS keywords are “Spectrum”, “Sensing”, “Service”, “Wi-Fi” and “IoT”, while RMS are “Manager”, “IoT”, “RMS” and “Management”. Other keywords can be used, in any language. These transactions are forwarded by local Host 2’s PGCS to the Host 1’s PGCS, in which NRNCS is running. In the end of this exposition phase, all name binding (graph of names) required to self-organize spectrum management services are stored in the NRNCS.
4.10.2. Service Discovery
In the service discovery step, services subscribe NBs can identify possible peer services for the solution. In Transaction 2a, PGCS subscribes the keywords “Manager”, “IoT”, “RMS” and “Management” in order to discover a RMS instance. APS and SSS also employ the same keywords, while searching for RMS (Transactions 2b and 2d). In the opposite direction (2c), RMS tries to discover PGCS, APS and SSS instances that can be employed to control devices. NRNCS delivers NBs resulting from these searches to each one of the querying services. This service discovery procedure is distributed, periodic and recursive. Not all the Transaction taken are shown in Figure 8
for the sake of simplicity.
4.10.3. Service Contracting
In Figure 8
, two service contracting actions are illustrated. In the first one, PGCS publishes a service offer to a RMS instance that it discovers. In this offer (3a), PGCS informs its ability to exchange IEEE 802.15.4 channel at IoT sensor tags it represents. In the second one (3b), SSS offers to RMS the ability to indicate best channels to be used not only in Wi-Fi ISM band, but also in IEEE 802.15.4. In a third action (not shown in Figure 8
), APS offers to RMS its ability to exchange Wi-Fi channels at access points. All offers are forwarded to RMS, which coordinates all actions in a domain.
RMS is notified by NRNCS about the three service offers commented above and subscribe them (3c). After receiving the service offers (in a .txt file), RMS analyzes its contents. In Transaction 3d, RMS accepts the service offer by publishing a service acceptance .txt file to NRNCS and notifying PGCS about it. PGCS subscribes this service acceptance object and stores it locally. The other service contracts are established in a similar way.
4.10.4. Best Channel Indication
After establishing all contracts, services can perform dynamic spectrum management via named-content message exchanging. In Transaction 4a, SSS queries channel advisor software about the best channel to be used in a domain. Queries can be applied for Wi-Fi or IEEE 802.15.4. CA determines the best option based on a GNU Radio instance connected to a HackRF One™ software-defined radio. In Transaction 4b, SSS publishes a best channel indication to the local domain cache (NRNCS), which notifies RMS about this publication. RMS subscribes the best channel indication and decides if a channel exchange is necessary.
4.10.5. Devices Channel Adjustment
The last step is to change devices channels according to the need. RMS can change one or more access point channels or IoT node channels. In the case of changing IEEE 802.15.4 channels, RMS publishes a channel change control message to the PGCS (5c). PGCS is notified about this publication and subscribes it, implementing a properly channel change in the IoT Sensor Tags. In the contrary (Wi-Fi channel changing), RMS publishes a control message to the local domain APS (5d). APS subscribes the control message and implements a channel change in the AP(s).
6. Discussion on Benefits and Open Challenges
This section returns to the design dimensions presented in Table 1
, giving a summary of NovaGenesis benefits to the problem of trustable unlicensed spectrum management for IoT/Wi-Fi. Moreover, it points out open challenges for future developments. Table 5
summarizes our contributions for the control plane of new generation WSANs and IoT:
D1—Our approach could sense any kind of wireless communication protocol in the HackRF One SDR operating bandwidth. It provides integrated IoT (IEEE 802.15.4) and Wi-Fi cognitive radio-based DSM. Our NG-based solution enable to increase network throughput and reduce interference of Wi-Fi access points in IoT nodes.
D2—Secure exchange of spectrum sensing data via trustable DSM services. The novel security mechanisms proposed by NG, namely self-verifying naming, secure name resolution, trust network formation, contract-based operation and services reputation allows enhanced security at smart places. These mechanisms improve traditional security for IoT/FI/CR/5G, since it takes advantage of social behavior of devices and services.
D3—NovaGenesis made possible name-based access and routing of spectrum sensing data, including network caching for efficient, distributed and coherent software-control (control plane) of smart environments.
D4—Integration of software-defined control and operation [37
]. The current SDN model (based on the OpenFlow protocol) is limited to configure forwarding tables at link layer switches. NG allowed broader configuration and management of physical devices via their software representatives (e.g., DSM services). Therefore, NG extends software-defined paradigm towards exposing hardware capabilities to spectrum management services, enabling “richer” orchestration of resources.
D5—NovaGenesis includes support for the dynamic composition of control plane services based on semantic and context-awareness. It provides mechanisms for the complete service life-cycling. Quality of service (QoS) can be measured from the established contracts, enabling estimation of services reputation. Services with low quality can loose its contracts, losing reputation. QoS and reputation will be subject of future works. Dynamic composition is available for network data, control and management planes.
D6—NovaGenesis provides increased expressiveness [16
], when compared to current information architectures. NovaGenesis is not the unique architecture concerned to improve protocols expressiveness, XIA [16
] is also an example that deals with this issue. However, to the best of our knowledge, we have first applied XIA for IoT in 2017 [78
D7—IoT/Wi-Fi devices, spectrum data and spectrum management services are accessed by self-verifying identifiers, enabling ID-consistent mobility and guaranteeing provenance of spectrum data [21
D8—NovaGenesis provides contract-based operation of spectrum management services. The control of IoT/Wi-Fi unlicensed band channels is service-defined, contract-based and trustable.
This paper extended Alberti et al. [33
] scenario to deal with the dual-mode (Wi-Fi/IEEE 802.15.4) best channel indications from a Channel Advisor middleware. We plan to extend this DSM approach to other next generation WSANs, such as LoRa, Sigfox, NB-IoT, etc. Operation in licensed band is also an open issue. Furthermore, this article extended NovaGenesis control plane for CR/IoT/Wi-Fi. However, NG data plane is limited to Ethernet and Wi-Fi. We have been developing extensions for LoRa, ZigBee, passive-optical networks and IEEE 802.15.4. In other words, we have been developing a NovaGenesis over X (NGoX) adaptation layer, which will enable PGCS to interoperate with embedded NG versions, such as the embedded proxy/gateway service (EPGS) proposed in [4
]. In this context, embedding NovaGenesis at GNU Radio, IoT nodes and access points are still in its infancy. We plan to introduce NovaGenesis in all devices of Figure 7
, eliminating SSH, ZMQ, Tunslip and CoAP need. We indeed envision the need to improve spectrum sensing to a cooperative approach with NovaGenesis.
There is an inherent complexity behind the integration of so many ingredients, such as IoT, ICN, SDN/NFV, SOA, cognitive radio, dynamic spectrum management, etc. In this context, an open challenge is how to model the complexity behind existent/novel architectures in order to enable fair comparison. NovaGenesis brings to the core many ingredients usually found at the world wide web of the current Internet. For instance, distribute hash table (DHT) is typically implemented over TCP/IP. NovaGenesis implements DHT directly over link layer protocols, in the core. The same applies for MQTT, an IoT publish/subscribe approach implemented over TCP/IP. NovaGenesis implements pub/sub in the core, allowing any application to take advantage of this model. Therefore, to be fair, the same features should be present in both stacks being compared. It means we need to consider the overhead of application protocols of the Internet in the evaluation.
Another point is performance evaluation of ICN caches. Fair comparisons require complete scenarios, in which data/control plane information is transferred not to an unique client, but to many in a coherent and efficient way. It is in this type of situation that the new proposals are promising, taking advantage of ICN caches for coherent distributed deliveries. In summary, the evaluation of system performance should consider functionalities that are being covered, including aspects related to distributed coordination, data delivery and coherence of control plane. Methodologies for these aims provide interesting research opportunities and are topics for future research.
We also have plan to improve NovaGenesis performance by: (i) adding source coding to NG messages; (ii) exploring load balancing and multi-path routing; (iii) elasticity of NovaGenesis services; (iv) refinement of the prototype; (v) employ different hash code sizes to reduce overhead in NG messages; (vi) implement hierarchical multi-domain/level name resolution, network caching and name-based routing. These improvements promise a better performance when compared to the current solutions. For this reason, they will be the target of future work.
Scalability of route-by-name approaches with hierarchical networking caching is another important aspect to be evaluated in ICN-based approaches [65
]. Moreover, our solution will require an evaluation regarding mobile nodes, such as the one performed by Siris et al. [68
]. Reproducibility of experiments is another open issue, as well as to experiment with larger numbers of IoT nodes, Wi-Fi APs and spectrum sensing cells. Recent work on experimental facilities can help on improving such issues. Another future work is to prepare NovaGenesis scenarios to be tested in larger testbeds in Europe, USA and Brazil. A challenge is how to port NovaGenesis services to different hardware available in these experimental facilities.
For networks larger than a small campus network, more instances of spectrum sensors, best channel indicators and channel changing services will be required. The hardware part of our DSM solution can be scaled by adding more devices to the deployment. The software part of the our proposal can be scaled by employing elasticity of edge computing as proposed by Righi et al. [80
]. Moreover, previous results obtained for NovaGenesis service-oriented, self-organizing, dynamic composable distributed architecture [4
] indicate that it can deal with new software instances as the number of physical devices increases. However, a large scale experiment with hundreds/thousands of nodes is a quite challenging research task, which is being addressed by the authors as future works.