Keywords

1 Introduction

Nanotechnology is the transition from IoT (Internet of Things) to IoNT (Internet of NanoThings) in which the backbone of IoT is modern wireless communication devices. Those devices can connect other devices like sensors, actuators, mobile phones, tablets and other intractable objects [1]. The IoT helps to give birth to another advance domain of networking named IoNT. As the name suggest, the nanodevice, due to its nano scale, have some unique characteristics like nanobatteries, nanoantennas, nanorouters, small communication ranges, limited communication distance etc. Nanosensors were the earliest devices explored and can be used within human body for drug delivery, monitoring air pollution, and protection against chemical attacks to the soldiers. There are four communication technologies to communicate at nanoscale and these are: mechanical, electromagnetic, acoustic, and molecular [2]. The first communication technology requires the nanodevices to be connected to each other physically. Hence, these methods are not feasible. Electromagnetic technology did not get specific attention from the researchers in the past, because the electronic nanocomponents of nanodevices have not been manufactured yet. The acoustic waves are absorbent in the human body hence; this technology cannot be headed further for IoNt [2]. However, all the innovations like nanobatteries, nanoantennas, and nanoscale circuits are due to molecular technology and the new generation of grapheme based electronic has been evolved.

With the limitations mentioned above, there is an urgent need for efficient methodologies for each layer of nanonetwork to ensure successful communication of data. The routing protocols help to deliver the data from its source to its destination by choosing the best routing path. The routing protocol of WSN (Wireless Sensor Network) also does the needful as well as it helps to deliver the required information to its destination. This can be done with optimum energy usage and by keeping the constraints under observation. Usually WSN keeps track of the energy consumption and energy usage data, but the protocols with efficient performance typically use more energy and processing power [3]. This is the reason the WNN (Wireless Nano Network) cannot use the classical routing protocols for the WSN and is paramount to design new protocols for the stack of nanonetwork. Mostly, the routing protocols of nanonetwork use flooding based technology, where the receiving node blindly forwards the data. This action leads to conflicts and redundancy of data [4].

The rest of this paper is as follows: Sect. 2 presents a relevant study of the existing protocols that have been designed for nanonetworks. An energy efficient routing protocol is proposed and its efficiency is analysed in the form of comparison graphs in Sect. 3. Finally, a conclusion is drawn and the future research directions are discussed in Sect. 4.

2 Routing Protocols in Nanonetwork

It was observed that the nanonodes have been made with various limitations like highly dense and small memory nanodevices, low processing nanodevices and energy inefficient nanodevices. Therefore, studies are majorly focused on reducing the complexity and improving the energy constraint of these devices [5]. Several protocols were manufactured for this purpose. In this research review we discuss the existing routing protocols and classify them on the bases of energy efficient or energy aware routing protocols. For example, the ECR is a type of energy efficient routing protocols, while the SLR and LSDD are energy inefficient routing protocols for the named network.

2.1 Energy Efficient Routing Protocols in Nanonetwork

Single path and multipath are two subdivisions of routing protocols in nanonetwork. The energy efficient routing protocols are mostly single path in nanonetwork. The reason is obvious that single path routing consumes less energy comparative to multipath routing. In multipath routing protocol, we always try to find the best and optimized path to route the networking traffic, while in case of single path routing protocol, the information is routed to the only path, thus optimizing the energy of overall network [6]. This makes the below discussed routing protocols energy efficient.

2.1.1 Energy Conserving Routing (ECR)

Energy Conserving Routing (ECR) is a protocol paradigm specifically designed for Wireless Body Sensor Network (WBSNs) [7]. WBSN is another application of nanonetwork in which the communication within human body tissues is possible using Terahertz (Thz) waves. The path loss for this type of transmission may include spreading loss, shadowing impact, and absorption attenuation. WBSNs mainly follow hierarchical network architecture for efficient communication between nanointerface and nanonodes. The ECR protocol follows the same strategy, it comprises of nanointerface, nanonodes, and nanocontroller that follows a specific hierarchy to make the transmission possible. ECR performs two different types of communication, namely intercluster and intracluster communication. This protocol use multilayers to make the communication possible. The width of these layers is one half of the distance of single hop. This division is based on the distance from nanointerface to nanonodes and the single hop transmission range of these nanonodes.

When the layers are divided, next task is to select the nanocontroller for the first round with the left over energy. The selected nanocontrollers start broadcasting the message and the nanonodes on receiving side measure the strength of the signal with the help of Received Signal Strength Indicator (RSSI) [8]. The nanocontroller with highest RSSI is then selected and nanonodes start sending joining requests to the selected nanocontroller. The nanocontrollers start sending the data in the lower layers if it is an intercluster communication, but in most of the cases in WBSN it used to be intracluster. The nanointerface plays a major role in ECR transmission by sorting the transmission order of each layer with the help of total transmission time. The transmission time is allocated to each cluster in each layer. As nanonodes are closer to the nanocontroller in intercluster communication, only one hop or double hop transmission is considered. If nanonode has data to send, it prefers direct communication instead of double hop transmission as it maximizes energy efficiency. The intracluster or cross layer transmission needs more energy, so the remaining energy of nanocontroller is always lower than nanonodes. That is why nanocontroller has to be reselected after each transmission.

This cross layer transmission and time allocation of nanonodes make the transmission of ECR collision free and it consumes less energy in WBSNs, but the intercluster communication needs huge quantity of nanocontroller as it only requires one hop or double hop transmission.

2.1.2 Multihop Deflection Routing-Reinforcement Learning (MDR-RL)

The Multihop Deflection Routing Algorithm based on Reinforcement Learning (MDRRL) has been proposed as an energy efficient routing algorithm that dynamically explores the routing path with data packet transmission [9]. The deflection and routing table has been implemented such that the nanonodes can deflect data packets if the entries are invalid. To upload the table entries one forward (on policy) and two feedbacks (off policy) updating algorithms have been proposed. The routing table deflects the data packets if there are any issue of memory and energy in table entries, also considered as invalid entries. The table is initially empty and the data will be filled in it once the transmission process starts. An arbitrary network with several nanonodes is considered in which every nanonode will have this deflection and routing table. Upon receiving or generating any data packet the annonode will check its routing table to find the next hop. To reach to the destination the MDRRL route table has only one route entry. The route entry has the following contents:

  • Destination nanonode ID

  • Next hop nanonode ID

  • Time for the route entry updation

  • QValue to destination nanonode

  • Flag of route validity

  • Recovery rate to next nanonode

  • Lifetime

  • Hop Count to destination nanonode

The QValue is the weight of routing path, which means the higher is the QValue the more resources will be consumed by the routing path. The routing validity specifies the validity of route entry. The flag is enabled when the nanonode receives a data packet or acknowledgment (ACK) from its neighboring nanonode, otherwise it will be disabled upon receiving negative acknowledgment (NACK) or time out. Recovery rate to the next nanonode is to check whether the nanonode will recover to its original state or not, by harvesting energy from the environment. The lifetime is the time of a route entry that can stay in the routing table for a specific amount of time, as the table is used to get updated during the transmission process [10]. The entry may become invalid due to some conditions, including:

  1. 1.

    The next hop nanonode don’t have sufficient energy

  2. 2.

    The next hop nanonode is busy with another nanonode and don’t have more memory/buffer or energy to communicate with new data packets.

  3. 3.

    An error occurs during transmission process due to several reasons like modulation error or channel congestion.

All or any of the above mentioned reasons may cause failure in the packet transmission and to overcome this issue another table has been introduced in MDRRL, named as deflection table. The deflection table can help other nanonodes to deflect to other nanonodes to complete the packet transmission process if the next hop is invalid. As the nanonodes have limited energy capacity; therefore to deal with this energy constraint, the MDRRL introduced an energy prediction scheme that predicts the energy level of next hop with maximum amount of energy. The nanonodes are allowed to share their energy levels, its energy harvesting rates, and energy consumption rates. Based on simulation results the MDRRL has been proved to have the best performance in terms of packet delivery ratio with energy awareness.

2.2 Energy Inefficient Routing Protocols

Almost all the routing protocols that are not energy efficient are multi path and flood based routing protocols. Only the TTL based efficient Forwarding (TEForward) routing protocol that is single path routing protocol is part of this category. In multi path routing protocols each reachable nanonode is allowed to forward the data that may cause redundancy and consume lots of energy. These are basically comprised of two common schemes named as limit flood area based and dynamic infrastructure based routing schemes. The limit flood area based routing forward the data packets only in the partial area between the sender and receiver nanonodes; hence is consumes less energy in comparison with the dynamic infrastructure based routing in which the nanonodes dynamically classify themselves as “user” or “infrastructure”. This is further based on the quality of received packet which eventually increases the computational complexity at every nanonode.

2.2.1 RADAR Routing

Nanonodes in the RADAR routing protocol is distributed in circular area [11]. An entity which is placed at the center of the circle constantly emits radiations at a specific angle. The nanonodes that come in that radiation range, are active nodes and the rest are inactive nodes. Upon sending the information packet, the area is flooded with radiation that overall minimize the number of transmitted packets. The drawback of this routing protocol is packet loss, as the receiver of the nanonode may be inactive. To overcome this issue, the angle of radiation is very important to consider. If the angle of radiation is increased, then the energy consumption rate will increase. Hence, this issue should be optimized in different scenarios. Another aspect to be considered is the packet loss that is possible if the energy level of nanonode is sufficienet, but the nanonode itself is inactive due to the angle of radiation. Another drawback of RADAR routing is that it increases the number of active nanonodes as it moves away from central entity that may cause collision among data packets. The RADAR routing becomes more problematic if the network is of large scale.

2.2.2 Coordinate and Routing System for Nanonetwork (CORONA)

A coordinate and Routing System for Nanonetwork (CORONA) uses a coordinate system to assign addresses to the nanonodes [12]. These addresses are designed for the nanonodes elaborated in Software Defined Metamaterials (SDM). The metamaterials are artificial materials used in combination of nanonodes and cannot be found in natural environment. The SDM provides energy resources to nanonetwork that introduces new fields in the engineering and industrial domain which also includes renewable efficient energy resources for the nanonodes. The main target of SDM protocol is to reduce the number of data packets and hence, to reduce the collision and redundancy among the data packets. In CORONA, every nanonodes dynamically derives coordinates and it is assumed to be placed equally distant in a rectangular area. Four nodes are placed in four corners of the rectangular area in the setup phase. Every nanonode sends the packet in a specific sequence and sets it hop count from the anchor nodes as its specific coordinate.

When a nanonode A wants to send the data to nanonode B, all the nanonodes retransmit the data packets of whose coordinates are between A and B. This retransmission is possible with the help of flooding mechanism, but the two facing anchor nodes cannot be selected at once; otherwise the transmission will not be completed. The hop count from a nanonode to its four anchor nodes is considered to be the coordinates in CORONA and the flooding is limited to the arc shape. This communication is possible for point to point communication in a restricted environment to make it energy efficient [13]. Table 1, given below, provides a detailed comparison of the exiting work for these routing protocols. Most of them are energy efficient routing protocols in nanonetworks. The focused issues, and energy management techniques have been considered here.

Table 1. Comparison of existing routing protocols

3 Proposed Protocol for Energy Efficient Routing

In our proposed work we have considered the scenario of an environment, where different nanoclusters, nanorouters, nanonodes/nanomembers, a nanointerface and a remote server is considered, as can be seen in Fig. 1. It is assumed that nanointerface and the nanorouters are fixed, but the nanonodes are moving. Reclustering in this work has been prohibited; moreover, it is assumed that the nanonodes constrained by energy are moving with a constant velocity. This work follows a typical hierarchy in which the remote server will communicate with the nanointerface. This interaction is assumed to be a simple request/response process through and from the external entity and the nanointerface. Then the nanointerface will deliver the request to the nanorouters, and these nanorouters then will communicate and receive answers from their corresponding nanoclusters. The response generated from a subset of nanonodes will be forwarded to the remote server in the opposite direction via internet/intranet.

It is also considered that the number of requests generated from the remote server can be too high or the requests might arrive too fast with respect to time. Hence, the nanonodes may not always be available to fulfill the requests and to answer them accordingly.

Four messages have been defined to make this work possible:

(1) ND message: a message conveyed from nanorouters to discover its nanocluster’s available nanomembers. The size expressed in bits is represented by nanoND.

(2) EF message: a response message of ND message generated by nanomembers having its energy level stored in them. The size expressed in bits is represented by nanoEF.

(3) R message: a query/request message generated by remote server and forwarded through nanointerface to all the subsequent nanorouters and to its nanocluster controller that have been selected by routing mechanism. The size expressed in bits is represented by nanoR.

(4) A message: an answer message of R, generated by specific nanocluster controller back to the nanointerface and the remote server. The size expressed in bits is represented by nanoA.

3.1 Nanocluster Formation

For the above mentioned messages and for better communication purpose, the nanoclusters are composed. A nanocluster will have nanocluster members/nodes. The nanocluster will be chosen on the basis of available energy levels. The nanocluster helps to aggregate the data and to send it to the nanorouters. It also helps with the intercluster and intracluster communication with high power transmission range and low power transmission range, respectively. The nanocluster will be chosen for every next round using round robin technique, depending on its residual energy i.e.

$$ {\text{WNC}} = {\text{Energyresidual}}/{\text{Energymax}} $$
(1)

If nanocluster could not find another nanomember larger than the Weight nanocluster (WNC) it will again select itself as a nanocluster. The newly selected nanocluster then multicast its message to the nearby non-member nanonodes and they will send the join request to the respective nanocluster having high RSSI (Received Signal Strength Indicator). The procedure continues until the formation of a nanocluster and re-clustering is avoided to prevent from the communicational complexity and clustering overhead.

Fig. 1.
figure 1

Our proposed protocol

3.2 Geographic Routing Protocol Using Greedy Algorithm

The nanonetwork is a resource limited network. Our proposed communication model should use fewer resources in terms of memory consumption, computational power and energy utilization. Flooding is not a suitable option for this type of networking with scarce availability of resources. Therefore, to avoid resource wastage, the proposed model forwards the data packets from nanointerface to the nanodevices, i.e. more precisely using minimal energy, memory and computations [10]. Inspired from geographical routing protocols used in IoT and WSN, in this work we propose a forwarding scheme that reduces the number of relaying nanonodes for a said transmission. Initially, all the nanorouters broadcast messages and the nanonode choose the nearest nanorouter by the broadcasted messages in the medium. The nearest nanorouter based on its location will forward the data packet through nanocluster, and this procedure continues until it reaches to the nanointerface. This protocol is divided into three steps to make it easier to understand. (1) First is the selection of nanorouter, (2) second is the selection of next hope nanonode from the nanocluster, and (3) last is the transmission phase of data.

The important result shown here is the amount of energy available in nanonodes and the number of requests per cluster. Figure 2a, 2b shows that the available energy decreases with the increase in request rate. The reason is quite clear; the nanonodes use more energy to fulfill the increased rate of requests. Moreover it shows that if there will be an increase in the nanonodes per cluster then it will lower the amount of energy stored in them.

Fig. 2.
figure 2

(a). Average request rate per cluster when the amount of nanonodes in each cluster is 50

Fig. 2.
figure 3

(b). Average request rate per cluster when the amount of nanonodes in each cluster is 100

4 Conclusion

In this work the feasibility of energy efficient system has been discussed to measure the total energy of nanoclusters. This proposed process works on the basis of energy efficiency, as well as it will have greedy moves to choose the best route of nanocluster that will eventually move towards nanodevices. The designed model is evaluated and the behavior of proposed system is observed in detail. The results show that if the number of nanomachines increase in each cluster the transmission rate increase gradually with a low amount of the energy consumed. This work is implemented on a descriptive example to evaluate the efficiency of the introduced model. The output obtained is shown in the form of graph with varying parameter values.

These results will constitute a base for future work conducted to obtain better optimized results in near future. The behavior of the devised solution will be investigated with several parameters. The nanotechnology and nanodevices are the components of next evolutionary world that is still in its making and we are planning to investigate it in a more realistic and specific scenarios.