Open Access
This article is

- freely available
- re-usable

*Future Internet*
**2019**,
*11*(11),
240;
https://doi.org/10.3390/fi11110240

Article

Multimedia Independent Multipath Routing Algorithms for Internet of Things Based on a Node Hidden Communication Model

^{1}

School of Computer Science and Technology, Zhoukou Normal University, Zhoukou 466001, China

^{2}

School of Mathematics and Statistics, Zhoukou Normal University, Zhoukou 466001, China

^{*}

Author to whom correspondence should be addressed.

Received: 18 October 2019 / Accepted: 7 November 2019 / Published: 15 November 2019

## Abstract

**:**

In order to achieve a multi-path routing algorithm with time delay and energy consumption balance to alleviate the energy holes around a sink, a multimedia independent multipath routing algorithm for internet of things (IoT) based on node hidden communication model is proposed in this paper. On the premise of satisfying the application delay, a multi-source multi-path routing algorithm is proposed by using the idea of software definition and fitting multiple curves to form independent multi-path routing. Through a sink node centralized programming control source node routing, according to the priority of the source node, the dynamic angle of the source node can be allocated, which effectively reduces the energy consumption of the network. In addition, considering that the Internet of Things has more perceptive nodes, limited computing and storage capacity, frequent joining and exiting operations and other factors, a hidden communication model of nodes is designed for the IoT. It is helpful to improve the level of privacy protection in the IoT, and to effectively improve the ability of nodes to resist attacks in the IoT. The experimental results show that the proposed algorithm avoids the interference between paths and various network attacks to the greatest extent, and the energy consumption is relatively low under the requirement of quality of service (QoS) delay.

Keywords:

independent multipath routing algorithm; the Internet of things; wireless multimedia sensor network (WMSNs); multimedia data processing; node concealment communication model; multimedia security; the network energy consumption## 1. Introduction

Internet of Things (IoT) applications will bring huge amounts of information data processing, including not only text, but also multimedia data such as audio and video. As the multimedia data perception layer of the IoT, wireless multimedia sensor network (WMSNs) has been widely used in various fields, including target monitoring, tracking and environmental monitoring. Multimedia data requires high bandwidth and delay, so it is necessary to establish multipath routing for transmission. Independent multipath routing can improve network throughput and work efficiency and minimizing overlap between multipaths can help WSN nodes to use energy equally to reduce black hole phenomenon.

Resource-constrained wireless sensor nodes are prone to congestion in high-load applications, which significantly affects network performance [1,2,3]. In order to solve this problem, researchers have adopted more network resources to improve network capacity and adopted the method of multi-path average network traffic to support the bandwidth requirements of different applications to solve the problem of network congestion. Moreover, sending network traffic through multiple sensors will reduce the average energy consumption of sensor nodes and prolong the network lifetime. In the past decade, multipath routing has been widely used for various purposes, such as improving the reliability of data transmission, providing fault-tolerant routing, congestion control and quality of service (QoS) support. In single-channel wireless networks, because of the broadcast characteristics of wireless communication, sensor nodes use shared wireless channels to communicate with adjacent paths. Intensive concurrent communication may cause interference and increase the probability of packet collision between active path nodes. This problem is called path coupling effect, which limits many of them. This problem poses a challenge to the design of efficient multipath routing protocols. In order to reduce the interference between multipath routing, designing independent and disjoint paths becomes the main standard for designing multipath routing protocols. The main contributions of this paper are summarized as follows:

- (1)
- On the premise of satisfying the application delay, using the idea of software definition, the independent multi-path routing is formed by fitting multiple curves. A multi-source multi-path routing algorithm is proposed, which takes into account the balance of delay and energy consumption.
- (2)
- Aiming at the problem of privacy disclosure of communication relationship, a node hidden communication model is designed for the IoT. In this covert communication system, the attack detection and prevention technology is studied, which effectively improves the anti-attack ability.

The structure of this paper is as follows: chapter 2 introduces the related research on Multimedia Routing Algorithm in the IoT. chapter 3 introduces the system model in detail. chapter 4 introduces the design of multimedia independent multipath routing algorithm. chapter 5 introduces the implementation process of multimedia independent multipath routing.

## 2. Relevant Research

With the development of hardware technology, WMSNs have been widely used in various fields, including target monitoring, tracking and environmental monitoring. Wireless multimedia sensor networks introduce multimedia sensors such as audio and video into wireless sensor networks. WMSNs are generally used in real-time applications with high bandwidth and low latency. In recent years, researchers have done a lot of research on routing algorithms, and many routing protocols are proposed according to the performance requirements of different applications. If multimedia data is transmitted through a single path, the energy of the forwarding node will be exhausted rapidly and the node will fail. Multipath routing method constructs multiple paths between source and target nodes, divides data into multiple paths equally, and makes more nodes participate to prolong the lifetime of nodes and networks. Data sent by multipath routing is more secure and reliable than single-path routing [4]. Multipath routing has been widely used in different requirements, such as improving the reliability of data transmission, providing fault-tolerant routing, congestion control and QoS support. Early multipath routing was proposed based on traditional wireless sensor networks (such as ad hoc networks). To be used in wireless sensor networks, it is necessary to consider the unique characteristics of wireless sensor networks (such as limited energy supply, computing power and memory capacity) and short-range wireless communications (such as signal fading and interference) [5,6,7].

Due to the large amount of multimedia information collected by WMSNs, the energy consumption of data acquisition, processing, storage, and wireless transceiver is relatively large, especially around sink nodes, energy holes are easily formed, which seriously affects the performance of WSN [8]. The network lifetime can be improved by balancing the energy load distribution around sink nodes, and how to alleviate energy holes around sink nodes is also an important research direction.

Nodes can use location technology to obtain their own geographic location information. According to coordinate information, nodes can avoid blind flooding of routing detection packets and efficiently discover and maintain routing, which has good scalability and robustness. This paper mainly studies the multipath routing protocol based on geographic location information. Tarique et al. [9] proposed a DGR multipath routing protocol solves the problem of bandwidth and energy limitation in real-time video streaming. From a small number of scattered video sensor nodes in wireless sensor networks (WSN), data is transmitted to sink nodes by combining forward error correction (FEC) coding. Shu L et al. [10] offers an algorithm is a two-stage geographic path greedy protocol, which supports the shortest path routing and multipath routing around wormholes. The two phases of TPGF are based on geographic information forwarding and path optimization. Repeated execution of TGPF can find multiple paths to send data. However, it only considers the formation of multipath paths, without considering the interference between paths and traffic distribution. Chen A et al. [11] based on the improvement of SPEED protocol, SPEED protocol maintains a transmission speed throughout the network, which is not suitable for various data types of wireless multimedia sensor networks. RTGOR designed different QoS services in terms of real-time and reliability. Aswale et al. [12] proposed a geographic multipath routing (TIGMR) protocol based on triangular link quality metrics and minimum path interference, which discovers disjoint paths of multiple nodes in the IEEE 802.15.4 compatible network. The cross-layer routing protocol selects forwarding nodes based on triangular link quality metrics, residual energy and distance, and predicts the smallest adjacent path interference effect.

The above independent multipath routing algorithms are based on the maximum transmission distance per hop, without considering the balance of delay and energy consumption. In WMSNs applications with lax delay requirements, they can reduce the distance per hop and save energy consumption, in this section, delay and energy balance independent multipath routing algorithm is studied; When multiple source nodes send data to sink nodes through multiple paths at the same time, in order to avoid interference caused by path crossover, multiple source nodes need to coordinate transmission paths with each other. At present, there is little research on multi-source and multi-path routing. In this paper, a new multi-source and multi-path routing algorithm is proposed by applying the idea of software definition and controlling the routes of multiple source nodes centrally through sink nodes.

## 3. System Model

#### 3.1. Delay Model

Each hop delay consists of four parts, ①queuing delay, the queuing delay can be neglected if unsaturated traffic is used; ②processing delay, Assuming that each node processes a constant length packet with equal delay; ③propagation delay, it can be neglected compared with other parameters; ④transmission delay, generally, with constant unsaturated traffic, the size of the packet remains unchanged, and the node does not need to wait. Therefore, the delay per hop can be simply estimated as a constant, and the end-to-end delay is proportional to the number of hops. Based on the data in reference [13], the delay of 802.11b DCF per hop is estimated. The delay ${T}_{hop}$ of successful data transmission includes transmission delay ${T}_{DATA}$ and response delay ${T}_{ACK}$:

$${T}_{DATA}={T}_{PRE}+{T}_{PHY}+\frac{8{L}_{MAC}+8{L}_{DATA}}{{R}_{DATA}}$$

$${T}_{RTS}={T}_{PRE}+{T}_{PHY}+\frac{8{L}_{RTS}}{{R}_{CTRL}}$$

RTS/CTS delay can be calculated by the following formula:

$${T}_{RTS}={T}_{PRE}+{T}_{PHY}+\frac{8{L}_{RTS}}{{R}_{CTRL}}$$

$${T}_{CTS}={T}_{PRE}+{T}_{PHY}+\frac{8{L}_{CTS}}{{R}_{CTRL}}$$

$${T}_{hop}={T}_{RTS}+\tau +{T}_{SIFS}+{T}_{CTS}+\tau +{T}_{SIFS}+{T}_{DATA}+\tau +{T}_{SIFS}+{T}_{ACK}+\tau +{T}_{DIFS}+\frac{C{W}_{\mathrm{min}}\sigma}{3H}$$

The symbols and values used are shown in Table 1. According to Table 1, the value of ${T}_{hop}$ with RTS/CTS is calculated to be 2.68 Ms. If the end-to-end delay ${T}_{QOS}$ is specified, the delay ${H}_{QOS}$ per hop can be calculated by the following formula:

$${H}_{QOS}=\lfloor \frac{{T}_{QOS}}{{T}_{hop}}\rfloor $$

#### 3.2. Energy Consumption Model

Energy consumption includes four parts: ①Idle energy consumption: Nodes in the idle state consume little energy and can be ignored. ②Transmission energy consumption: Sending energy consumption accounts for the main part of energy consumption, which is related to the number of bytes sent. ③Receiving energy consumption: It is related to the number of bytes received. ④Control signal energy consumption: Assume that each node is the same.

If the size of the packet is unchanged and the transmission distance is the same, the energy consumption will be the same. Therefore, if a packet is sent from source to sink, and each hop is the largest distance transmission, and the free space transmission path index is 2, that is, the energy consumption per hop is proportional to the square of distance, then the energy model of each hop transmission is:
where $C$ is a constant and $D$ is a hop distance. $\alpha $ is the path loss index, which depends on the transmission environment, free space transmission is generally 2. For simplification, set $C$ to 1 and $\alpha $ to 2. Packets send energy $E$ through $k$ paths ${P}_{k}$ from source to target:
where ${D}_{{n}_{i-1}{n}_{i}}$ is the transmission distance from ${n}_{i-1}$ to ${n}_{i}$ hops. Then ${n}_{0}$ is the source node and ${n}_{{P}_{k}}$ is the sink node.

$${E}_{hop}=C.{D}^{\alpha}\to {E}_{hop}=C.{D}^{2}$$

$$E={\displaystyle \sum _{i=1}^{{P}_{k}}{({D}_{{n}_{i-1}{n}_{i}})}^{2}}$$

#### 3.3. Transmission Model

After specifying an application delay of ${T}_{QoS}$, when $k$ paths are generated between Source and Ink, and the end-to-end delay control is close to ${T}_{QoS}$, the energy consumption of each path is the smallest. ${D}_{st}$ represents the shortest path, then ${T}_{QoS}$ needs to satisfy ${T}_{QoS}\ge \frac{{D}_{st}}{{R}_{\mathrm{max}}}\times {T}_{hop}$, otherwise there will be no path to satisfy q’s needs. On the other hand, Q can’t be too big. For a given network topology, multimedia applications, set the w range:
where $C$ is constant, generally set to 2, ${R}_{\mathrm{max}}$ is the maximum transmission distance. Assuming that ${R}^{\ast}$ is the average minimum distance per hop, there are:

$$\frac{C.{D}_{st}}{{R}_{\mathrm{max}}}\times {T}_{hop}\ge {T}_{QoS}\ge \frac{{D}_{st}}{{R}_{\mathrm{max}}}\times {T}_{hop}$$

$${R}^{\ast}\ge \frac{{D}_{st}}{{H}_{QoS}}$$

When constructing $k$ paths, the optimal transmission distance ${R}_{k}$ satisfies the following formula:

$${R}^{\ast}\le {R}_{k}\le {R}_{ma}$$

Suppose that for multiple paths of ${P}_{1},{P}_{2},\cdots ,P$, the corresponding lengths are ${L}_{1},{L}_{2},\cdots ,{L}_{k}$. The average transmission distance per hop of the $k$-th path is:

$${R}_{k}=\frac{{L}_{k}}{{H}_{QoS}}$$

${R}^{\ast}\times {H}_{Qos}\le {L}_{k}\le {R}_{\mathrm{max}}\le {H}_{Qos}$ can be obtained, where ${L}_{\mathrm{max}}={R}_{\mathrm{max}}\times {H}_{Qos}$.

The energy consumed by the $k$-th path is ${E}_{k}={\displaystyle \sum _{i=1}^{{H}_{QoS}}{(D{n}_{i-1}{n}_{i})}^{2}}$, which can be obtained by applying Cauchy inequality.

$${E}_{k}={\displaystyle \sum _{i=1}^{{H}_{QoS}}{(D{n}_{i-1}{n}_{i})}^{2}}\ge \frac{{\left({\displaystyle \sum _{i=1}^{{H}_{QoS}}(D{n}_{i-1}{n}_{i})}\right)}^{2}}{{H}_{QoS}}\approx \frac{{L}_{k}^{2}}{{H}_{QoS}}$$

The condition of the above formula is ${D}_{{n}_{0}{n}_{1}}={D}_{{n}_{1}{n}_{2}}=\dots ={D}_{{n}_{{H}_{Qo{S}^{-1}}}{n}_{{H}_{QoS}}}\approx \frac{{L}_{k}}{{H}_{QoS}}{R}_{k}$. That is to say, when the distance per hop is equal (${R}_{k}$), the energy consumption is the smallest.

#### 3.4. Node Hidden Communication Model

#### 3.4.1. Correctness Analysis of Communication Model

This paper introduces a model of node hidden communication, which consists of three kinds of nodes: source node composed of sender $S$, destination node composed of receiver $D$ and relay node (Relay node ${R}_{\left(i,j\right)}\left(i=1,2,\cdots ,m;j=1,2,\cdots ,n\right)$). The entry node of the forwarding network is the first row of forwarding relay nodes and the next hop of the source node, which is represented by ${R}_{\left(i,j\right)}\left(i=1,2,\cdots ,m;j=1,2,\cdots ,n\right)$; the outlet node of forwarding network is the last relay node in its path and the last hop of destination node, which is represented by ${R}_{\left(i,j\right)}\left(i=1,2,\cdots ,m;j=n\right)$.

In the data forwarding network based on network coding, assuming that there is no transmission error probability, all network coding information, local coding matrix and global coding vector existing in $m$ paths can be transmitted to the destination node, through these information, the target node can correctly recover the information sent by the source node [14,15].

After $n$ network coding, information fragmentation ${M}_{i}$ can be transformed into information ${M}_{i}{}^{\left(n\right)}$, the following is the specific transformation process:

$$\begin{array}{ll}{M}_{i}{}^{\left(n\right)}& ={C}_{\left(i,n\right)}\oplus {M}_{i}{}^{\left(j-1\right)}={C}_{\left(i,n-1\right)}\oplus {M}_{i}{}^{\left(j-2\right)}\\ & ={C}_{\left(i,n\right)}\oplus \left({C}_{\left(i,n-1\right)}\oplus \left({C}_{\left(i,n-2\right)}\oplus {M}_{i}{}^{\left(j-3\right)}\right)\right)\\ & ={C}_{\left(i,n\right)}\oplus \left({C}_{\left(i,n-1\right)}\oplus \left({C}_{\left(i,n-2\right)}\oplus \left(\cdots \left({C}_{\left(i,0\right)}\oplus {M}_{i}\right)\right)\right)\right)\\ & =\underset{k=0}{\overset{n}{\oplus}}{C}_{\left(i,k\right)}\oplus {M}_{i}\end{array}$$

The global coded vector ciphertext $E{V}_{i}{}^{\left(0\right)}$ is calculated by $n$ times, and then the ciphertext $E{V}_{i}{}^{\left(n\right)}$ of the global encoding vector can be obtained:

$$\begin{array}{ll}E{V}_{i}{}^{\left(n\right)}& ={\displaystyle \sum _{k=1}^{n}{C}_{\left(k,n-1\right)}^{k}}E{V}_{i}{}^{\left(n-1\right)}\\ & ={\displaystyle \sum _{k=1}^{n}{C}_{\left(k,n-1\right)}^{k}}\left({\displaystyle \sum _{k=1}^{n}{C}_{\left(k,n-2\right)}^{k}E{V}_{i}{}^{\left(n-2\right)}}\right)\\ & ={\displaystyle \sum _{k=1}^{n}{C}_{\left(k,n-1\right)}^{k}}\left({\displaystyle \sum _{k=1}^{n}{C}_{\left(k,n-2\right)}^{k}\left({\displaystyle \sum _{k=1}^{n}\cdots}\left({\displaystyle \sum _{k=1}^{n}{C}_{\left(k,1\right)}^{k}E{V}_{i}{}^{\left(0\right)}}\right)\right)}\right)\\ & ={\displaystyle \sum _{k=1}^{n}{C}_{\left(k,n-1\right)}^{k}}\left({\displaystyle \sum _{k=1}^{n}{C}_{\left(k,n-2\right)}^{k}\left({\displaystyle \sum _{k=1}^{n}\cdots}\left({\displaystyle \sum _{k=1}^{n}{C}_{\left(k,1\right)}^{k}E{C}_{\left(1,0\right)}^{i},E{C}_{\left(2,0\right)}^{i},\cdots ,E{C}_{\left(m,0\right)}^{i}}\right)\right)}\right)\\ & =\left(\underset{k=0}{\overset{n-1}{\oplus}}E{C}_{\left(1,1\right)}^{i},\underset{k=0}{\overset{n-1}{\oplus}}E{C}_{\left(1,2\right)}^{i},\cdots ,\underset{k=0}{\overset{n-1}{\oplus}}E{C}_{\left(1,k\right)}^{i}\right)\end{array}$$

By decrypting the secret key, the target node can decrypt the global encoding vector’s ciphertext $E{V}_{i}{}^{\left(n\right)}$, and get the global encoding vector ${V}_{i}{}^{\left(n\right)}$:
$$\begin{array}{ll}E{V}_{i}{}^{\left(n\right)}& ={\displaystyle \sum _{k=1}^{n}{C}_{\left(k,n-1\right)}^{k}}E{V}_{i}{}^{\left(n-1\right)}\\ & ={\displaystyle \sum _{k=1}^{n}{C}_{\left(k,n-1\right)}^{k}}\left({\displaystyle \sum _{k=1}^{n}{C}_{\left(k,n-2\right)}^{k}E{V}_{i}{}^{\left(n-2\right)}}\right)\\ & ={\displaystyle \sum _{k=1}^{n}{C}_{\left(k,n-1\right)}^{k}}\left({\displaystyle \sum _{k=1}^{n}{C}_{\left(k,n-2\right)}^{k}\left({\displaystyle \sum _{k=1}^{n}\cdots}\left({\displaystyle \sum _{k=1}^{n}{C}_{\left(k,1\right)}^{k}E{V}_{i}{}^{\left(0\right)}}\right)\right)}\right)\\ & ={\displaystyle \sum _{k=1}^{n}{C}_{\left(k,n-1\right)}^{k}}\left({\displaystyle \sum _{k=1}^{n}{C}_{\left(k,n-2\right)}^{k}\left({\displaystyle \sum _{k=1}^{n}\cdots}\left({\displaystyle \sum _{k=1}^{n}{C}_{\left(k,1\right)}^{k}E{C}_{\left(1,0\right)}^{i},E{C}_{\left(2,0\right)}^{i},\cdots ,E{C}_{\left(m,0\right)}^{i}}\right)\right)}\right)\\ & =\left(\underset{k=0}{\overset{n-1}{\oplus}}E{C}_{\left(1,1\right)}^{i},\underset{k=0}{\overset{n-1}{\oplus}}E{C}_{\left(1,2\right)}^{i},\cdots ,\underset{k=0}{\overset{n-1}{\oplus}}E{C}_{\left(1,k\right)}^{i}\right)\end{array}$$

Through the above three information, the original information can be restored fragmentally, the specific calculation method is as follows:

$$\begin{array}{ll}{M}_{i}{}^{\left(n\right)}& =\underset{k=0}{\overset{n}{\oplus}}{C}_{\left(i,k\right)}^{i}\oplus {M}_{i}\\ & =\underset{k=0}{\overset{n-1}{\oplus}}{C}_{\left(i,k\right)}^{i}\oplus {C}_{\left(i,n\right)}\oplus {M}_{i}\\ & ={V}_{i}{}^{\left(n\right)}\oplus {C}_{\left(i,n\right)}\oplus {M}_{i}\end{array}$$

According to the above formulas, the following calculations can be used to derive the following conclusions:

$${M}_{i}={M}_{i}{}^{\left(n\right)}\oplus \left({V}_{i}{}^{\left(n\right)}\oplus {C}_{\left(i,n\right)}\right)$$

According to ${M}_{i}$, the original information $M=\left({M}_{1},{M}_{2},\cdots ,{M}_{n}\right)$ can be restored.

To successfully construct an anonymous forwarding network between the sender and the receiver of information, it is necessary to satisfy the anonymity of the communication relationship between the sender and the receiver of information.

In the forwarding network, the future self-organizing anonymity of cities and counties can generate the anonymity of the senders of cities and counties with multiple virtual source nodes through the use of pseudonym strategy; the anonymity of the receiver can be realized by broadcasting information from the exit node to the target node; the anonymity of communication relationship between them can be realized through anonymous relay and forwarding network, In each hop of the forwarding network, a group of nodes is included. Each group of nodes can only understand the specific information of the group nodes of the previous and next hop, and can communicate between the group nodes, thus realizing the anonymity of the communication relationship [16,17]. Figure 1 shows the process of constructing forwarding network and the related anonymity strategy.

#### 3.4.2. Anonymity Analysis

In the anonymous forwarding network, the sender sends a pseudonym $S$, and only one precursor node exists in the collection of the entry nodes. Although it is easy to infer the sender, the inference is only a pseudonym, and the sender’s true identity is not leaked, and the sender’s anonymity is guaranteed.

In an anonymous forwarding network, the recipient’s exit node is also its precursor node, and there are $m$ in subsequent nodes, so the probability that the recipient is inferred by the exit node is only 1 m. The anonymity of the receiver is guaranteed.

In the process of constructing anonymous forwarding network, for each relay node, its information range only includes the last hop and the next hop node, and the information of other nodes is not known. In this situation, even if the attacker can intercept routing information, it is also impossible to infer the relevant information of the receiver and sender. Anonymity of communication relationship is guaranteed.

In the node hidden communication model, the anonymity of the forwarding network, sender, and receiver determines the anonymity of the model. The use of recipient pseudonym ensures that the identity of the node cannot be guessed, and the sender has the anonymity of ${d}_{S}=1$; The number of $n$ hop adjacent points determines the anonymity of the receiver, so the sender has the degree of ${d}_{R}=\frac{m-1}{m}$ anonymity; The number of forwarding nodes and the length of forwarding path determine the anonymity of forwarding network. If an attacker wants to infer the communication relationship between the receiving and sending sides of the information, he must have a detailed grasp of all the $n$ forwarding paths. Combining the probability of an attacker, one of the forwarding paths can be obtained, and the expectation of $k$ routing and forwarding paths can be expressed by $E=kp=\frac{k}{{n}^{m}}$. The forwarding network has ${d}_{N}=1-\frac{k}{{n}^{m}}$ anonymity. Thus, it can be concluded that the hidden communication path of the whole node has $d={d}_{N}\times {d}_{R}\times {d}_{N}=1\times \left(1-\frac{k}{{n}^{m}}\right)\times \frac{m-1}{m}=\frac{\left({n}^{m}-k\right)\left(m-1\right)}{m{n}^{m}}$ anonymity.

## 4. Design of Multimedia Independent Multipath Routing Algorithms

The algorithm is considered in three steps: ①Calculate the number of hops. Based on each hop delay and application specified delay, the required initial hops are calculated. ②Generate multipath routing, calculate the length of each path, divide the length by hops, and get the distance of each hop. ③In the process of data transmission, the distance per hop can be continuously modified according to the residual delay and the length of the remaining path.

Since the length of each multipath is different, the optimal transmission distance of each hop calculated is also different. That is to say, the node with longer path length has longer transmission distance per hop, while the node with shorter path has shorter transmission distance per hop [18]. Five paths are shown in Figure 2. The longest two paths have a large transmission distance per hop, while the middle one has the smallest transmission distance per hop. However, they have the same number of hops, so the transmission delay is the same.

#### 4.1. Path Generation

Some studies have applied B-spline algorithm to wireless networks. B-spline curves can be generated by parameters of any control point (≥ 2), and the path length of B-spline can be calculated by function integral. It has low computational complexity and good controllability.

As shown in Figure 3, A B-spline curve can be divided into three parts: spreading, parallel, and converging. ${n}_{s}$ and ${n}_{t}$ represent the source node and sink node, respectively. Arc $sp$ is controlled by points ${n}_{s}^{\prime}$, ${n}_{s}$, ${n}_{cs}$, ${n}_{ct}$. Arc $pl$ is controlled by points ${n}_{s}$, ${n}_{cs}$, ${n}_{ct}$, ${n}_{t}$. Arc $lt$ is controlled by points ${n}_{cs}$, ${n}_{ct}$, ${n}_{t}$, ${n}_{t}^{\prime}$.

$$\{\begin{array}{l}{S}_{sp}(t)=\frac{1}{6}{n}_{s}^{\prime}{(1-t)}^{3}+\frac{1}{6}{n}_{s}(3{t}^{3}-6{t}^{2}+4)+\frac{1}{6}{n}_{cs}(-3{t}^{3}+3{t}^{2}+3t+1)+\frac{1}{6}{n}_{ct}{t}^{3}\\ {S}_{pl}(t)=\frac{1}{6}{n}_{s}{(1-t)}^{3}+\frac{1}{6}{n}_{cs}(3{t}^{3}-6{t}^{2}+4)+\frac{1}{6}{n}_{ct}(-3{t}^{3}+3{t}^{2}+3t+1)+\frac{1}{6}{n}_{t}{t}^{3}\\ {S}_{lt}(t)=\frac{1}{6}{n}_{cs}{(1-t)}^{3}+\frac{1}{6}{n}_{ct}(3{t}^{3}-6{t}^{2}+4)+\frac{1}{6}{n}_{t}(-3{t}^{3}+3{t}^{2}+3t+1)+\frac{1}{6}{n}_{t}^{\prime}{t}^{3}\end{array}$$

The specific calculation is shown in the following Equation (20), which varies from 0 to 1. Note that the abscissa and ordinate coordinates in the formula are calculated separately, and the coordinate $\left({x}_{cs},{y}_{cs}\right)$ of ${n}_{cs}$ is calculated by the following formula:
where $\left({x}_{s},{y}_{s}\right)$ is the coordinate of node ${n}_{s}\xb7\gamma =\mathrm{arctan}\frac{{y}_{t}-{y}_{s}}{{x}_{t}-{x}_{s}}$ is the expansion angle. ${d}_{s}$ denotes the expansion distance. It can be calculated by the following formula:
where ${n}_{cs}$ and ${n}_{s}^{\prime}$ are based on point ${n}_{s}$ symmetry. ${n}_{ct}$ and ${n}_{t}^{\prime}$ are based on point ${n}_{t}$ symmetry. It can be calculated by the following formula:

$$\{\begin{array}{l}{x}_{cs}={x}_{s}+{d}_{s}\cdot \mathrm{cos}(\theta +\gamma )\\ {y}_{cs}={y}_{s}+{d}_{s}\cdot \mathrm{sin}(\theta +\gamma )\end{array}$$

$${d}_{s.}=\frac{\lambda}{\mathrm{sin}(\theta )}$$

$${n}_{s}^{\prime}=2{n}_{cs}-{n}_{s}$$

In fact, only four vertices ${n}_{s}$, ${n}_{t}$, ${n}_{cs}$, ${n}_{ct}$ and this curve can be determined. The determination of ${n}_{cs}$ can be determined by two parameters. The first is the angle $\theta $, and the second is the length of the line from ${n}_{cs}$ to m. Multiple paths can be formed by setting different angles $\theta $ and the length of line segments ${n}_{cs}$ to ${n}_{s}$.

Assuming that $K$ path are generated, ${\theta}_{k}$ denotes the divergence angle of the $k$-th path. ${\lambda}_{k}$ denotes the maximum distance between the path $k$ and the midline. ${\lambda}_{k}$ denotes the maximum distance from the middle line of the $k$-th path. Then ${\theta}_{k}$ can be calculated by the following formula:
where $\Delta \theta $ denotes the expansion angle, as shown in Figure 4. In order to distribute multipath as evenly as possible in space. The deviation angle between adjacent paths is set to the same value. In order to prevent interference between paths, the distance between adjacent paths is set to $\Delta \lambda $ as the maximum transmission distance ${R}_{\mathrm{max}}$.

$${\theta}_{k}=\Delta \theta \cdot \left|k-1-\frac{k-1}{2}\right|$$

Therefore, routing can be established by three parameters, i.e., $K$, $\Delta \theta $, $\Delta \lambda \xb7\Delta \theta $ adjusts the density between paths to specify control points. By specifying the maximum expansion angle ${\theta}_{\mathrm{max}}$, then $\Delta \theta $ can be calculated by the following formula:

$$\Delta \theta =\frac{2{\theta}_{\mathrm{max}}}{K-1}$$

#### 4.2. Direction Control Algorithm

The path is controlled by the expansion angle, and the expansion angle is determined by the path length. The direction control algorithm consists of two parts: calculating the length of the curve and calculating the expansion angle.

As shown in Figure 5, ${n}_{i}$ represents the current node, ${n}_{i+1}$ represents the next hop node. ${v}_{i}$ and ${v}_{i+1}$ represent virtual nodes of ${n}_{i}$ and ${n}_{i+1}$, respectively. ${v}_{i+1}$ is the ideal next hop node of ${n}_{i}$ node. The nearest node at this location is ${n}_{i+1}$, so ${n}_{i+1}$ is chosen as the next hop node. $\left({x}_{t},{y}_{t}\right)$ represents the coordinates of ${v}_{i}$, $\Delta {L}_{t}$ represents ${v}_{i}$ path increment. $\left({x}_{t+\Delta t},{y}_{t+\Delta t}\right)$ denotes the next node of the spline curve. Then $\Delta {L}_{t}$ can be calculated by the following formula:

$$\Delta {L}_{t}=\sqrt{{({x}_{t+\Delta t}-{x}_{t})}^{2}+{({y}_{t+\Delta t}-{y}_{t})}^{2}}$$

Cumulative, then the formula of the total length of the path can be calculated by the following formula:
where the smaller the value of $\Delta t$, the closer the length of path calculation is to the length of ideal curve of B-spline formula. In practice, the curve length $L=GetLength\left(\theta ,\lambda \right)$ is calculated by self-defining integral function.

$$L={\displaystyle \sum _{j=0}^{\frac{1}{\Delta t}}\Delta {L}_{j}}$$

Given ${L}_{\mathrm{max}}$, ${\theta}_{\mathrm{max}}$ can be calculated by Algorithm 1, and $\Delta \theta $ can be calculated by Equation (24):

Algorithm 1. Get Spreading Angle ($\tau $, $L$). |

Input: $\tau $ is a small increment of $\theta $; $L$ is specified path length; |

Output: $\theta $ |

1. $\theta $ = 0; |

2. ${L}^{\prime}$=GetLength($\theta $,$\lambda $); |

3. while $\left|{L}^{\prime}-L\right|>e$ do |

4. $\theta =\theta +\tau $; |

5. ${L}^{\prime}$=GetLength($\theta $,$\lambda $); |

6. end while |

7. return $\theta $ |

#### 4.3. Error Correction Calculation

In most cases, the next hop node is closer than the virtual node. As the node forwards, this error accumulates. Therefore, a correction factor $\rho $ is introduced to improve the actual transmission distance per hop and eliminate the error [19]. In Figure 6, ${v}_{i+1}$ is the ideal next hop node of ${n}_{i}$ node, ${n}_{i}$ actually chooses the next hop node as ${n}_{i+1}$ node. m is the center of gravity of the sector region with ${v}_{i+1}$ as the center and r as the radius. From a statistical point of view, the actual selection of the next hop node is close to m point. In order to calculate the position of m, we need to calculate the center of gravity of the sector area. We need to determine the size of the sector area A and the center position ${v}_{i+1}$. A is set here as 1/2 of the average area of the nodes. When A and $R$ are given, then r and $\alpha $ can be calculated according to the following formula:

$$\{\begin{array}{l}\mathrm{cos}\frac{\alpha}{2}=\frac{r}{R}\\ A\approx \frac{\alpha}{2\pi}\cdot \pi {R}^{2}\end{array}$$

If $D=R-M=R-\frac{4}{3}\cdot \frac{r}{\alpha}\cdot {\mathrm{sin}}^{2}\frac{\alpha}{2}$, the formula for calculating the correction factor is as follows:

$$\rho \text{}=\frac{R}{D}=\frac{R}{R-\frac{4}{3}\cdot \frac{r}{\alpha}\cdot {\mathrm{sin}}^{2}\frac{\alpha}{2}}$$

## 5. Implementation of Multimedia Independent Multipath Routing Algorithms

When multiple source nodes send data to the sink node at the same time, it poses a greater challenge to the construction of independent multipath routing. During the transmission process, some source nodes may exit or join dynamically. In order to make better use of the path resources, the source nodes need to readjust the path. In this paper, the idea of software definition is applied to centralize programming and control the multi-path routing of multiple source nodes through sink nodes, so as to realize the multi-source and multi-path coordination algorithm [20,21]. There are three source nodes and one sink node in the model. Each source node sends data to sink through four paths.

Considering that sink nodes are located in the center of the sensor network and multiple source nodes send data at the same time, the following issues need to be considered.

- ①
- How do source nodes distribute their paths when the distribution of source nodes is not uniform around the sink nodes;
- ②
- How to distribute paths when the weights of source nodes are different;

How to dynamically adjust the existing multipath routing after the source node joins and exits dynamically.

#### 5.1. Process Description

Message and package structure tables are shown in Table 2. Packet content includes package type, serial number, source node and target node.

#### 5.1.1. Source Application Process

①After the initialization of the source node is finished, the RREQ packet is sent by setting self-interrupt trigger. In addition to the initialization phase, the network also allows nodes to send applications when it is running normally.

②All source nodes initialize RREQ packages. The fields in the packages include unit traffic, priority and coordinates of Source, which are sent by the shortest radial sink.

③After receiving RREQ packets, the sink is inserted into the source node queue from large to small according to the angle of the source relative to the sink. Set a self-interrupt because there are multiple source nodes. The interrupt time ensures that all node requests are processed only after RREQ messages have been received from all source nodes.

④The sink processes the source node queue, calculates the node weight according to a certain algorithm, assigns angles to each source node in the queue according to the weight ratio, and then sends RACK packets to all source nodes in turn.

⑤After all sources receive RACK packets, they start sending data.

#### 5.1.2. Source Sends Data Flow

①Nodes begin to send data according to the starting and ending angles of applications, and the angle range applied by nodes is different in size because of different weights [22].

②The number of paths to be sent is specified according to the traffic of the node (the number of paths to be selected according to the traffic and priority of the node, such as 200,000 paths can be considered).

③According to B-spline curve algorithm, multi-radial sink sends data packets.

#### 5.1.3. Source Cancels the Process

①When the source node does not want to send any more data, it sends a DATA_CANCEL message to the sink node.

②When the sink node receives it, it is removed from the source node queue. The weight and allocation angle of each source node are recalculated, and RACK packets are sent to all source nodes.

③Step 4 and step 5 of enter the source application process.

#### 5.2. Algorithmic Implementation Details

#### 5.2.1. Sink End Angle Allocation Algorithms

In order to reduce the interference of wireless signals, the receiving angle range is allocated to each node according to the weight of source nodes, which makes the paths between nodes independent. First, we need to calculate the weight of each source node, the weight = traffic × priority. Then, the angle range that nodes can allocate is equal to node weight/all node weight and × 360. The formula is as follows:
where ${P}_{i}$ is the priority of the $i$th node, ${F}_{i}$ is the traffic of the $i$th node, ${Q}_{i}$ is the weight of the $i$th node, ${Q}_{total}$ is the sum of all node weights, $Angl{e}_{i}$ is the angle range allocated by the $i$ th node.

$${Q}_{i}={P}_{i}\times {F}_{i}$$

$${Q}_{total}={\displaystyle \sum {}_{i=1}^{n}}{Q}_{i}$$

$$Angl{e}_{i}=\frac{{Q}_{i}}{{Q}_{total}}\times 360$$

#### 5.2.2. The Choice of the Order of Angle Distribution

If the distribution of source nodes is not uniform, the angles assigned may vary in size. In order to balance the load, the paths need to be evenly distributed around sink nodes, so the order of angle allocation needs to be considered. The definition of coordinate system is that the angle of the horizontal line on the right side of the node is 0, clockwise from small to large. Consider the following scenarios: one sink, three sources, namely Src1, Src2, Src3. Assume that the weights of Src1 and Src3 are 1 and that of Src2 is 2. Then there are two considerations for the allocation scheme.

①Location allocation based on the source.

The first allocation scheme is based on the location allocation of the source. The smaller the angle of Source relative to the sink, the earlier the allocation. Since the angle of Src1 is at 090, the angle range that should be allocated according to the weight calculation is as follows:

$$Angl{e}_{1}=\frac{{Q}_{1}}{{Q}_{total}}=1/\left(1+2+1\right)\times 360=90$$

With Src1 as the center, the distribution angle of Src1 is 45°–135°. The weight of Src2 is 2 and its angle range is 180. Then the angle of distribution is followed by Src1, i.e., 135°–315°. Src3 ranges from 315° to 45°, as shown in Figure 7a. Although Src1 is located in the middle of its angle range, Src2 is located on one side of its angle range, while Src3 is completely out of its angle range.

②Distribution begins with the node with the largest weight.

Considering that the larger the weight of the node, the larger the angle range of the allocation, in order to take care of the node with the largest weight, the node with the largest weight is assigned priority here. As shown in Figure 7b. The distribution range of Src2 is from 45° to 225° and occupies the range of Src1. The range of Src1 is from A to B, ranging from −45° to 45°.

#### 5.2.3. Selection of the Sending Angle Range at the Source End

For the source, because the nodes are not located in the middle of the allocated angle range, the transmission angle range of the path should be considered. In order to keep the sending routes between source nodes from crossing, the range of the source sending angle needs to be determined according to the receiving angle allocated by the sink terminal. The formula is as follows:

$$\{\begin{array}{l}Angl{e}_{Source}=Angl{e}_{\mathrm{sin}k}+180\\ Angl{e}_{Source\_begin}=Angl{e}_{Source}-(Angl{e}_{\mathrm{sin}k\_begin}-Angl{e}_{\mathrm{sin}k})\\ Angl{e}_{Source\_end}=Angl{e}_{Source}-(Angl{e}_{\mathrm{sin}k\_end}-Angl{e}_{\mathrm{sin}k})\end{array}$$

As shown in Figure 4, Figure 5, Figure 6, Figure 7 and Figure 8, for the sink, Src1 is located at 90 degree angle of the sink, and the range of angle allocated is (−45° to 45°), while the relative angle offset is (−135° to 45°). According to Equation (33), that is, the sink is at a 270 degree angle of SRC 1. According to Equation (33), $Angl{e}_{Source}=Angl{e}_{Sink}+180={270}^{\circ}$, that is, the sink is at 270 degrees of Scr1. The starting angle of Src1 is 270°−(−135°) = 405°. The end angle is 270° − (−45°) = 315°. The transmission curve is shown in Figure 8.

#### 5.2.4. Determination of the Number of Paths at Source end and the Angle between Paths

If different source nodes install different camera resolutions, so the amount of data to be transmitted per unit time is different. In order to balance the paths, the size of each path packet is limited to no more than $p{k}_{size}$ at a time. This requires $Pat{h}_{num}=F/p{k}_{size}$ routes to be sent, of which $F$ represents traffic. $AngleScop{e}_{path}$ represents the angle of interval between each path. In the edge zone, $AngleScop{e}_{path}$ of 1/2 is set aside as the interval, and the formula for calculating the interval angle between paths is as follows:

$$AngleScop{e}_{path}=\left(Angl{e}_{Source\_begin}-Angl{e}_{souce\_end}\right)/Pat{h}_{num}$$

$$Angl{e}_{path{}_{i}}=Angl{e}_{Source\_begin}-i*AngleScop{e}_{path}-1/2*AngleScop{e}_{path}$$

For example, Src1 needs 600 KB of traffic and 200 KB of packet size in a certain period of time. Assuming that each path can fully meet the delay requirement, the required number of paths is 600k/200k = 3. $AngleScop{e}_{path}=\left(405-315\right)/3={30}^{\circ}$. According to the formula, the angles of the three paths are 390 degrees, 360 degrees, and 330 degrees, respectively.

## 6. Simulation Verification

In order to verify the proposed independent multi-path routing algorithm for networked multimedia, a simulation experiment is designed. The simulation scenario is 500 m × 900 m with 2000 nodes, and the average area of each node is 225 square meters. It is assumed that both the receiving end node and the ordinary sensor node are stationary. The sensor application module consists of a fixed bit rate data source, which generates multimedia traffic with QoS requirements. We use IEEE 802.11b DCF as the MAC layer protocol. All nodes know their geographic location by means of positioning system. All nodes know the geographic location of other nodes within their transmission radius and call these other nodes neighbors or one-hop reachable nodes.

#### 6.1. Delay and Energy Model Verification

$t$ is set to 0.01 and five paths are set. Table 3 is the actual simulation results, ${T}_{ete}$ is the end-to-end delay, ${L}_{e}$ is the path length, ${H}_{ete}$ is the actual hop number, ${T}_{ete}/{H}_{ete}$ is the actual hop delay, ${L}_{e}/{H}_{ete}$ is the actual hop length. The expansion angle increases from 40 to 120 degrees. With the increase, ${T}_{ete}$ and ${L}_{e}$ increased correspondingly.

The average delay per hop is 0.0026 s, which is consistent with the theoretical calculation. It is noted that the actual distance per hop is 53 m, which is smaller than the 60 m set. Since the actual distance per hop is smaller than the corresponding virtual distance per hop. In order to verify the impact on energy consumption and time delay, the simulation is set from 25 m to 60 m, and the results are shown in Figure 9. Energy consumption and time delay show a compromise. The smaller ${R}_{k}$ is, the larger the delay and the lower the energy consumption are. Under the condition of meeting the demand of time delay, the smaller ${R}_{k}$ is, the lower energy consumption is.

#### 6.2. Performance Parameter

Set ${T}_{Qos}$ to 0.03 s, and the number of paths is 5. There are three schemes: pure spline multipath, delay multipath and delay error correction multipath.

①Pure spline multipath: no delay requirement. The results are shown in Table 4. The path delay changes from 0.027 s to 0.039 s. Two of the five roads cannot meet the delay requirements. On the other hand, without energy consumption control, the maximum transmission distance is always used for each hop, and the average energy consumption is high. This scheme cannot meet the demand of time delay and has high energy consumption.

It is observed that the transmission distance is inversely proportional to the transmission distance, and the actual transmission distance per hop is corrected. Higher accuracy is obtained. End-to-end delay is guaranteed and more energy is saved. As shown in Table 6.

#### 6.3. Performance Parameter

Most of the existing multimedia independent multipath routing algorithms are based on the maximum transmission distance per hop, without considering the balance of delay and energy consumption. Therefore, it is necessary to study new delay and energy balance routing algorithms. In this paper, a new algorithm is proposed. When multiple source nodes send data to sink nodes through multiple paths at the same time, in order to avoid interference caused by path crossover, Multiple source nodes coordinate transmission paths to avoid interference. We compare the algorithm with RTGOR algorithm [11] and TIGMR algorithm [12], and compare the following parameters:

①Average end-to-end delay, including various delays, such as queuing, retransmitting and transmission delays.

②Energy consumption E (mw) per round: Total energy consumption of 60 packets in all routes:

$$E={\displaystyle \sum _{k=1}^{K}{\displaystyle \sum _{i=1}^{{P}_{k}}{({D}_{{n}_{i-1}{n}_{i}})}^{2}}}\approx {\displaystyle \sum _{k=1}^{K}{\displaystyle \sum _{i=1}^{{P}_{k}}{P}_{k}{}^{2}}}$$

A large number of simulations have been done to change ${T}_{Qos}$ from 0.02 s to 0.04 s. Figure 10a shows the time-delay comparison. Figure 10b shows the energy consumption comparison of several routing algorithms. Since the time-delay is not considered in RTGOR algorithm and TIGMR algorithm, the energy consumption of the proposed algorithm is higher. The energy consumption of the proposed algorithm is better than that of the algorithm in RTGOR algorithm and TIGMR algorithm, and its energy consumption increases with the increase of ${T}_{Qos}$. It is necessary to set ${T}_{Qos}$ according to the actual situation in order to give full play to the advantages of the algorithm. When the number of paths increases from three to seven, because of the interference between paths and various network attacks, the energy consumption and delay of the three algorithms increase, because the path of the TIGMR algorithm is denser than other algorithms, so the delay is lower. The best performance of this algorithm is to satisfy the requirement of QoS delay. The interference between the path and various network attacks is avoided to the greatest extent, and the energy consumption is the lowest.

## 7. Concluding Remarks

IoT is an extension of the Internet, which extends the scope of interconnection to anything and everything. The new generation of information and network technology with IoT and software defined networks as the core is the hotspot of current computer network research.

This paper studies the multi-media independent multi-path routing algorithm. Using the idea of software definition, a multi-source multi-path routing algorithm is proposed. Through sink node centralized programming control source node routing, one can dynamically coordinate the multipath routing of each source node according to the change of the source node. The model is deeply analyzed, and the anti-attack technology based on the hidden communication model of the IoT is emphatically studied. In the node hidden communication model, the anonymity of forwarding network, sender and receiver determines the anonymity of the model. In the aspect of multimedia independent multipath routing, most of the existing multimedia independent multipath routing algorithms are based on the maximum transmission distance per hop, without considering the balance of the delay and energy consumption.

There have been many studies on multipath routing in wireless sensor networks. In the research of multipath routing, the mobility of nodes, cross-layer design, duty cycle of nodes, and data fusion need to be further studied. In addition, the energy consumption of network nodes will be further balanced in the future, ensuring the effectiveness and security of routing nodes.

## Author Contributions

Data curation, C.W. and J.Y.; funding acquisition, C.W.; investigation: C.W.; methodology: C.W. and J.Y.; software: C.W. and J.Y.; visualization: C.W.

## Funding

This research was funded by the Henan Science and Technology Department project (no. 182102311126), basic research project of Henan Education Department (no. 16A520106).

## Conflicts of Interest

The authors declare no conflict of interest.

## References

- Addisalem, G.; Lobiyal, D.K.; Jemal, H.A. Energy Efficient Multipath Routing Algorithm for Wireless Multimedia Sensor Network. Sensors
**2019**, 19, 3642. [Google Scholar] [CrossRef] - Habib, M.A.; Moh, S. Robust Evolutionary-Game-Based Routing for Wireless Multimedia Sensor Networks. Sensors
**2019**, 19, 3544. [Google Scholar] [CrossRef] [PubMed] - Li, S.; Kim, J.G.; Han, D.H.; Lee, K.S. A Survey of Energy-Efficient Communication Protocols with QoS Guarantees in Wireless Multimedia Sensor Networks. Sensors
**2019**, 19, 199. [Google Scholar] [CrossRef] [PubMed] - Pourakbar, H.; Ghaffari, A. Reliable and Real-Time End-to-End Delivery Protocol in Wireless Sensor Networks. World Appl. Sci. J.
**2018**, 14, 256–263. [Google Scholar] - Zhou, C.; Yang, Y.; Wang, Y. DV-Hop localization algorithm based on bacterial foraging optimization for wireless multimedia sensor networks. Multimed. Tools Appl.
**2018**, 78, 1–11. [Google Scholar] [CrossRef] - Khernane, N.; Couchot, J.F.; Mostefaoui, A. Maximum Network Lifetime with Optimal Power/Rate and Routing trade-off for Wireless Multimedia sensor Networks. Comput. Commun.
**2018**, 124, 1–16. [Google Scholar] [CrossRef] - Al-Ariki, H.D.; Swamy, M.N. A survey and analysis of multipath routing protocols in wireless multimedia sensor networks. Wirel. Netw.
**2017**, 23, 1823–1835. [Google Scholar] [CrossRef] - Tarique, M.; Tepe, K.E.; Adibi, S.; Erfani, S. Survey of multipath routing protocols for mobile ad hoc networks. J. Netw. Comput. Appl.
**2009**, 32, 1125–1143. [Google Scholar] [CrossRef] - Chen, M.; Leung, V.C.; Mao, S.; Yuan, Y. Directional geographical routing for real-time video communications in wireless sensor networks. Comput. Commun.
**2007**, 30, 3368–3383. [Google Scholar] [CrossRef] - Shu, L.; Zhang, Y.; Yang, L.T.; Wang, Y.; Hauswirth, M.; Xiong, N. TPGF: Geographic routing in wireless multimedia sensor networks. Telecommun. Syst.
**2010**, 44, 79–95. [Google Scholar] [CrossRef] - Chen, A.; Li, X.; Ni, X.; Luo, G. RTGOR: Reliability and Timeliness Guaranteed Opportunistic Routing in wireless sensor networks. EURASIP J. Wirel. Commun. Netw.
**2018**, 2018, 86–98. [Google Scholar] [CrossRef] - Aswale, S.; Ghorpade, V.R. Geographic Multipath Routing based on Triangle Link Quality Metric with Minimum Inter-path Interference for Wireless Multimedia Sensor Networks. J. King Saud Univ.-Comput. Inf. Sci.
**2018**. [Google Scholar] [CrossRef] - Xiao, Y.; Rosdahl, J. Throughput and delay limits of IEEE 802.11. IEEE Commun. Lett.
**2002**, 6, 355–357. [Google Scholar] [CrossRef] - Gherbi, C.; Aliouat, Z.; Benmohammed, M. A survey on clustering routing protocols in wireless sensor networks. Sens. Rev.
**2017**, 37, 12–25. [Google Scholar] [CrossRef] - Al-Turjman, F.; Radwan, A. Data Delivery in Wireless Multimedia Sensor Networks: Challenging and Defying in the IoT Era. IEEE Wirel. Commun.
**2017**, 24, 126–131. [Google Scholar] [CrossRef] - Kouadria, N.; Mechouek, K.; Messadeg, D.; Doghmane, N. Pruned discrete Tchebichef transform for image coding in wireless multimedia sensor networks. AEU—Int. J. Electron. Commun.
**2017**, 74, 123–127. [Google Scholar] [CrossRef] - Guo, L.; Ning, Z.; Song, Q.; Zhang, L.; Jamalipour, A. A QoS-Oriented High-Efficiency Resource Allocation Scheme in Wireless Multimedia Sensor Networks. IEEE Sens. J.
**2017**, 17, 1538–1548. [Google Scholar] [CrossRef] - Aswale, S.; Ghorpade, V.R. LQEAR: Link Quality and Energy-Aware Routing for Wireless Multimedia Sensor Networks. Wirel. Pers. Commun.
**2017**, 97, 1–14. [Google Scholar] [CrossRef] - Bejaoui, C.; Guitton, A.; Kachouri, A. Equal Size Clusters to Reduce Congestion in Wireless Multimedia Sensor Networks. Wirel. Pers. Commun.
**2017**, 97, 3465–3482. [Google Scholar] [CrossRef] - Azim, M.A.; Kim, B.S.; Shah, B.; Kim, K.I. Real-time routing protocols for (m,k)-firm streams based on multi-criteria in wireless sensor networks. Wirel. Netw.
**2017**, 23, 1233–1248. [Google Scholar] [CrossRef] - Ahmed, A.A. A real-time routing protocol with adaptive traffic shaping for multimedia streaming over next-generation of Wireless Multimedia Sensor Networks. Pervasive Mob. Comput.
**2017**, 40, 495–511. [Google Scholar] [CrossRef] - Pournazari, J.; Alaei, M.; Yazdanpanah, F. An Energy Efficient Autonomous Method for Coverage Optimization in Wireless Multimedia Sensor Networks. Wirel. Pers. Commun.
**2018**, 99, 717–736. [Google Scholar] [CrossRef]

Symbol | Definition | Value |
---|---|---|

$\mathrm{T}$ | Propagation delay | 1 μs |

$\sigma $ | Time slot | 20 μs |

$\mathrm{C}{\mathrm{W}}_{\mathrm{min}}$ | Minimum Competition Window Size | 30 |

${\mathrm{T}}_{\mathrm{PRE}}$ | Physical Layer Synchronization Code Transmission Time | 128 μs |

${\mathrm{T}}_{\mathrm{DIFS}}$ | DCF frame interval | 50 μs |

${\mathrm{T}}_{\mathrm{SIFS}}$ | Minimum Interframe Interval | 10 μs |

${\mathrm{T}}_{\mathrm{PHY}}$ | Physical Layer Transport Time | 45 μs |

${\mathrm{L}}_{\mathrm{DATA}}$ | Packet Length | 125 bytes |

${\mathrm{L}}_{\mathrm{MAC}}$ | MAC Packet Length | 28 bytes |

${\mathrm{L}}_{\mathrm{ACK}}$ | ACK Packet Length | 14 bytes |

${\mathrm{L}}_{\mathrm{BTS}}$ | RTS Packet Length | 20 bytes |

${\mathrm{L}}_{\mathrm{CTS}}$ | CTS Packet Length | 14 bytes |

${\mathrm{R}}_{\mathrm{DATA}}$ | Data transmission rate | 1 Mbps |

${\mathrm{R}}_{\mathrm{CTRL}}$ | Control message sending rate | 1 Mbps |

Package | Source | Target | Main Field | Route of Transmission |
---|---|---|---|---|

RREQ | Source | Sink | 1.Priority; 2.Flow; 3.Source coordinates | Shortest path |

RACK | Sink | Source | 1. Beginning Angle; 2. Ending Angle | Shortest path |

DATA | Source | Sink | 1. Four node coordinates that determine the path; 2. ordinal number of t; 3. subpath number; 4. data, etc. | B-spline multipath transmission |

DATA_CANCEL | Source | Sink | Source ID | Shortest path |

$\mathit{\theta}$ | ${\mathit{T}}_{\mathit{e}\mathit{t}\mathit{e}}$ | ${\mathit{L}}_{\mathit{e}}$ | ${\mathit{H}}_{\mathit{e}\mathit{t}\mathit{e}}$ | ${\mathit{T}}_{\mathit{e}\mathit{t}\mathit{e}}/{\mathit{H}}_{\mathit{e}\mathit{t}\mathit{e}}$ | ${\mathit{L}}_{\mathit{e}}/{\mathit{H}}_{\mathit{e}\mathit{t}\mathit{e}}$ |
---|---|---|---|---|---|

40 | 0.0288 | 561.23 | 11 | 0.0026 | 51.02 |

60 | 0.0288 | 582.84 | 11 | 0.0026 | 52.989 |

80 | 0.0288 | 607.94 | 11 | 0.0026 | 55.27 |

100 | 0.0317 | 641.33 | 12 | 0.0026 | 53.44 |

120 | 0.0346 | 693.69 | 13 | 0.0027 | 53.36 |

Average | - | - | - | 0.0026 | 53.10 |

End-to-End Delay (s) | Energy Consumption Per Packet (mw) | |||||||||
---|---|---|---|---|---|---|---|---|---|---|

Times (s) | Path 1 | Path 2 | Path 3 | Path 4 | Path 5 | Path 1 | Path 2 | Path 3 | Path 4 | Path 5 |

1 | 0.00345 | 0.0322 | 0.0284 | 0.0271 | 0.0363 | 37,200 | 26,100 | 25,400 | 28,500 | 37,200 |

2 | 0.00329 | 0.0278 | 0.0274 | 0.0270 | 0.0390 | 37,200 | 26,100 | 25,400 | 28,500 | 37,200 |

3 | 0.0356 | 0.0318 | 0.0267 | 0.0272 | 0.0387 | 37,200 | 26,100 | 25,400 | 28,500 | 37,200 |

4 | 0.0361 | 0.0321 | 0.0278 | 0.0271 | 0.0386 | 37,200 | 26,100 | 25,400 | 28,500 | 37,200 |

5 | 0.0371 | 0.0324 | 0.0279 | 0.0275 | 0.0381 | 37,200 | 26,100 | 25,400 | 28,500 | 37,200 |

6 | 0.0382 | 0.0327 | 0.0280 | 0.0269 | 0.0394 | 37,200 | 26,100 | 25,400 | 28,500 | 37,200 |

7 | 0.0346 | 0.0297 | 0.0276 | 0.0271 | 0.0388 | 37,200 | 26,100 | 25,400 | 28,500 | 37,200 |

8 | 0.0348 | 0.0333 | 0.0279 | 0.0271 | 0.0386 | 37,200 | 26,100 | 25,400 | 28,500 | 37,200 |

9 | 0.0349 | 0.0286 | 0.0265 | 0.0275 | 0.0382 | 37,200 | 26,100 | 25,400 | 28,500 | 37,200 |

10 | 0.0350 | 0.0327 | 0.0275 | 0.0274 | 0.0383 | 37,200 | 26,100 | 25,400 | 28,500 | 37,200 |

11 | 0.0351 | 0.0308 | 0.0281 | 0.0273 | 0.0378 | 37,200 | 26,100 | 25,400 | 28,500 | 37,200 |

12 | 0.0353 | 0.0311 | 0.0277 | 0.0272 | 0.0375 | 37,200 | 26,100 | 25,400 | 28,500 | 37,200 |

13 | 0.0354 | 0.0314 | 0.0274 | 0.0268 | 0.0390 | 37,200 | 26,100 | 25,400 | 28,500 | 37,200 |

14 | 0.0358 | 0.0305 | 0.0268 | 0.0270 | 0.0387 | 37,200 | 26,100 | 25,400 | 28,500 | 37,200 |

15 | 0.0379 | 0.0293 | 0.0262 | 0.0271 | 0.0392 | 37,200 | 26,100 | 25,400 | 28,500 | 37,200 |

16 | 0.0363 | 0.0301 | 0.0274 | 0.0263 | 0.0396 | 37,200 | 26,100 | 25,400 | 28,500 | 37,200 |

17 | 0.0358 | 0.0323 | 0.0283 | 0.0268 | 0.0378 | 37,200 | 26,100 | 25,400 | 28,500 | 37,200 |

18 | 0.0349 | 0.0294 | 0.0279 | 0.0271 | 0.0375 | 37,200 | 26,100 | 25,400 | 28,500 | 37,200 |

19 | 0.0352 | 0.0303 | 0.0273 | 0.0269 | 0.0372 | 37,200 | 26,100 | 25,400 | 28,500 | 37,200 |

20 | 0.0354 | 0.0311 | 0.0282 | 0.0271 | 0.0374 | 37,200 | 26,100 | 25,400 | 28,500 | 37,200 |

②Delay multipath: End-to-end delay is generally within the delay requirement, and energy consumption is also smaller than the previous scheme, as shown in Table 5.

End-to-End Delay (s) | Energy Consumption per Packet (mw) | |||||||||
---|---|---|---|---|---|---|---|---|---|---|

Time (s) | Path 1 | Path 2 | Path 3 | Path 4 | Path 5 | Path 1 | Path 2 | Path 3 | Path 4 | Path 5 |

1 | 0.0345 | 0.0323 | 0.0316 | 0.0321 | 0.0357 | 32,800 | 22,400 | 18,600 | 22,200 | 31,500 |

2 | 0.0346 | 0.0318 | 0.0324 | 0.0320 | 0.0350 | 32,800 | 22,400 | 18,600 | 22,200 | 31,500 |

3 | 0.0356 | 0.0305 | 0.0308 | 0.0302 | 0.0361 | 32,800 | 22,400 | 18,600 | 22,200 | 31,500 |

4 | 0.0346 | 0.0325 | 0.0328 | 0.0316 | 0.0345 | 32,800 | 22,400 | 18,600 | 22,200 | 31,500 |

5 | 0.0351 | 0.0329 | 0.0314 | 0.0305 | 0.0338 | 32,800 | 22,400 | 18,600 | 22,200 | 31,500 |

6 | 0.0342 | 0.0303 | 0.0310 | 0.0316 | 0.0362 | 32,800 | 22,400 | 18,600 | 22,200 | 31,500 |

7 | 0.0346 | 0.0321 | 0.0306 | 0.0317 | 0.0347 | 32,800 | 22,400 | 18,600 | 22,200 | 31,500 |

8 | 0.0348 | 0.0320 | 0.0319 | 0.0304 | 0.0352 | 32,800 | 22,400 | 18,600 | 22,200 | 31,500 |

9 | 0.0343 | 0.0305 | 0.0305 | 0.0324 | 0.0348 | 32,800 | 22,400 | 18,600 | 22,200 | 31,500 |

10 | 0.0355 | 0.0317 | 0.0331 | 0.0328 | 0.0353 | 32,800 | 22,400 | 18,600 | 22,200 | 31,500 |

11 | 0.0356 | 0.0307 | 0.0306 | 0.0313 | 0.0344 | 32,800 | 22,400 | 18,600 | 22,200 | 31,500 |

12 | 0.0346 | 0.0321 | 0.0311 | 0.0302 | 0.0357 | 32,800 | 22,400 | 18,600 | 22,200 | 31,500 |

13 | 0.0352 | 0.0307 | 0.0307 | 0.0327 | 0.0338 | 32,800 | 22,400 | 18,600 | 22,200 | 31,500 |

14 | 0.0351 | 0.0311 | 0.0334 | 0.0320 | 0.0346 | 32,800 | 22,400 | 18,600 | 22,200 | 31,500 |

15 | 0.0349 | 0.0313 | 0.0315 | 0.0311 | 0.0353 | 32,800 | 22,400 | 18,600 | 22,200 | 31,500 |

16 | 0.0354 | 0.0326 | 0.0316 | 0.0327 | 0.0336 | 32,800 | 22,400 | 18,600 | 22,200 | 31,500 |

17 | 0.0351 | 0.0308 | 0.0318 | 0.0331 | 0.0354 | 32,800 | 22,400 | 18,600 | 22,200 | 31,500 |

18 | 0.0346 | 0.0324 | 0.0306 | 0.0306 | 0.0365 | 32,800 | 22,400 | 18,600 | 22,200 | 31,500 |

19 | 0.0350 | 0.0331 | 0.0323 | 0.0309 | 0.0339 | 32,800 | 22,400 | 18,600 | 22,200 | 31,500 |

20 | 0.0347 | 0.0314 | 0.0312 | 0.0305 | 0.0354 | 32,800 | 22,400 | 18,600 | 22,200 | 31,500 |

③Delay error correction multipath: When the transmission distance of each path is specified, the value of A is half of the average area of each node, that is 112.5 square meters.

End-to-End Delay (s) | Energy Consumption per Packet (mw) | |||||||||
---|---|---|---|---|---|---|---|---|---|---|

Time (s) | Path 1 | Path 2 | Path 3 | Path 4 | Path 5 | Path 1 | Path 2 | Path 3 | Path 4 | Path 5 |

1 | 0.0287 | 0.0282 | 0.0294 | 0.0292 | 0.0301 | 28,200 | 25,500 | 22,800 | 23,700 | 27,800 |

2 | 0.0289 | 0.0283 | 0.0278 | 0.0280 | 0.0290 | 28,200 | 25,500 | 22,800 | 23,700 | 27,800 |

3 | 0.0281 | 0.0302 | 0.0284 | 0.0322 | 0.0283 | 28,200 | 25,500 | 22,800 | 23,700 | 27,800 |

4 | 0.0290 | 0.006 | 0.0312 | 0.0321 | 0.0276 | 28,200 | 25,500 | 22,800 | 23,700 | 27,800 |

5 | 0.0288 | 0.0284 | 0.0288 | 0.0309 | 0.0289 | 28,200 | 25,500 | 22,800 | 23,700 | 27,800 |

6 | 0.0302 | 0.0297 | 0.0320 | 0.0288 | 0.0293 | 28,200 | 25,500 | 22,800 | 23,700 | 27,800 |

7 | 0.0306 | 0.0293 | 0.0312 | 0.0273 | 0.0288 | 28,200 | 25,500 | 22,800 | 23,700 | 27,800 |

8 | 0.0281 | 0.0286 | 0.0287 | 0.0291 | 0.0386 | 28,200 | 25,500 | 22,800 | 23,700 | 27,800 |

9 | 0.0287 | 0.0282 | 0.0301 | 0.0287 | 0.0292 | 28,200 | 25,500 | 22,800 | 23,700 | 27,800 |

10 | 0.0291 | 0.0307 | 0.0298 | 0.0284 | 0.0303 | 28,200 | 25,500 | 22,800 | 23,700 | 27,800 |

11 | 0.0296 | 0.0308 | 0.0288 | 0.0278 | 0.0288 | 28,200 | 25,500 | 22,800 | 23,700 | 27,800 |

12 | 0.0284 | 0.0301 | 0.0307 | 0.0282 | 0.0300 | 28,200 | 25,500 | 22,800 | 23,700 | 27,800 |

13 | 0.0289 | 0.0284 | 0.0324 | 0.0298 | 0.0312 | 28,200 | 25,500 | 22,800 | 23,700 | 27,800 |

14 | 0.0288 | 0.0295 | 0.0308 | 0.0293 | 0.0302 | 28,200 | 25,500 | 22,800 | 23,700 | 27,800 |

15 | 0.0308 | 0.0298 | 0.0298 | 0.0289 | 0.0282 | 28,200 | 25,500 | 22,800 | 23,700 | 27,800 |

16 | 0.0303 | 0.0271 | 0.0284 | 0.0293 | 0.0293 | 28,200 | 25,500 | 22,800 | 23,700 | 27,800 |

17 | 0.0298 | 0.0303 | 0.0303 | 0.0287 | 0.0279 | 28,200 | 25,500 | 22,800 | 23,700 | 27,800 |

18 | 0.0302 | 0.0284 | 0.0289 | 0.0314 | 0.0285 | 28,200 | 25,500 | 22,800 | 23,700 | 27,800 |

19 | 0.0282 | 0.0302 | 0.0288 | 0.0319 | 0.0302 | 28,200 | 25,500 | 22,800 | 23,700 | 27,800 |

20 | 0.0284 | 0.0291 | 0.0295 | 0.0289 | 0.0311 | 28,200 | 25,500 | 22,800 | 23,700 | 27,800 |

© 2019 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).