Mesh topology is usually implemented in wired networks, where all nodes can exchange their data over direct-wired channels as shown in Fig. 1 for an MN of six members (M = 6) as an example. Figure 1 shows that MN suffers from a large number of wired cables with their relative connections' hardware; indeed, for M nodes MN, M(M − 1) cables and their relative hardware are needed, which is the reason of limiting the wired MN coverage region to ten meters or so. Moreover any connection problem between any two members; results in a total disconnection between them till removing the connection trouble. When a BD exchange network is needed for a large coverage communication region, wired MN becomes practically unsuitable. Consequently, this paper proposes a mix of wired and wireless protocols that exploit CoNC advantages to help in solving the MN challenges for BD networks. Indeed, results show that the proposed protocols significantly increase the MN coverage region and improve the MN applicability, as results, the proposed protocols assist in increasing the number of connected members and simplifying the algorithm that could be adopted for BD in 5G networks.
The proposed hybrid ring-mesh benchmark
In the HRMP Benchmark scenario, M members are connected to each other’s by a WRT that requires M cables and their relative hardware elements. Simultaneously, the M members are connected to a BS by M optical fibre wires, consequently, 2M wires are required in the proposed Benchmark scenario.
The M members are connected to exchange their data through the WMN, where each member aims to receive and then retrieve the other M − 1 partner's information, as shown in Fig. 2 for a network of six members as an example.
Figure 2 shows that only twelve (2M) wires are needed for this network because the BS is broadcasting the M member's data wirelessly.
In such a scenario where CoNC is not applied, the BS forwards the received M packets for the M members. After completing a full successful transmission stage, each member will be receiving the other M − l packets from the BS, besides its neighbour's two packets through the ring connected wired topology. It is important to notice that the BS broadcasts the received M packets separately, i.e. it does not combine (X-ORING) packets. The broadcast packets in the Benchmark scenario are called in this paper “single packets.”
Accordingly, the received matrix for node four—as an example—is shown in Eq. 1:
$${\text{Rp}}_{{\left( {M4} \right)}} = \left[ {\begin{array}{*{20}c} {M_{1} } & {M_{2} } & {M_{3 } } \\ \end{array} \begin{array}{*{20}c} {M_{4} } & {M_{5} } & {M_{6} } \\ \end{array} } \right]\left[ {\begin{array}{*{20}c} 1 & 0 & 0 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 & 0 & 0 \\ 0 & 0 & 1 & 0 & 0 & 0 \\ 0 & 0 & 0 & 1 & 0 & 0 \\ 0 & 0 & 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 0 & 0 & 1 \\ \end{array} } \right]\;{\text{and}}\; \left[ {\begin{array}{*{20}c} {M_{3} } & {M_{5} } \\ \end{array} } \right]\left[ {\begin{array}{*{20}c} {\begin{array}{*{20}c} 0 & 0 & 1 \\ \end{array} \begin{array}{*{20}c} { 0} & 0 & 0 \\ \end{array} } \\ {\begin{array}{*{20}c} 0 & 0 & {0 } \\ \end{array} \begin{array}{*{20}c} 0 & 1 & 0 \\ \end{array} } \\ \end{array} } \right]$$
(1)
where Rp(M4) denotes to the single received packets at the fourth member.
According to Eq. 1, the M4 member receives a maximum of five single packets from the BS and two single packets from its neighbour members, i.e. M3 and M5, besides the fact that M4 knows its packet, accordingly, the retrieving matrix at M4 when all packets are assumed to be received correctly, is:
$${\text{RT}}_{{\left( {M4} \right)}} = \left[ {\begin{array}{*{20}c} {M_{1} } & {M_{2} } & {M_{3} } \\ \end{array} \begin{array}{*{20}c} {M_{4} } & {M_{5} } & {M_{6} } \\ \end{array} } \right]\left[ {\begin{array}{*{20}c} { {\text{BS}}\left( {{\text{single}}} \right) \left\{ {\begin{array}{*{20}c} 1 & 0 & 0 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 & 0 & 0 \\ 0 & 0 & 1 & 0 & 0 & 0 \\ 0 & 0 & 0 & 1 & 0 & 0 \\ 0 & 0 & 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 0 & 0 & 1 \\ \end{array} } \right\}} \\ { M_{4} \left( {{\text{retriever}}} \right) \left\{ {\begin{array}{*{20}c} 0 & 0 & 0 \\ \end{array} \begin{array}{*{20}c} { 1} & 0 & 0 \\ \end{array} } \right\}} \\ { {\text{ RT}} \left\{ {\begin{array}{*{20}c} {\begin{array}{*{20}c} 0 & 0 & 1 \\ \end{array} \begin{array}{*{20}c} { 0} & 0 & 0 \\ \end{array} } \\ {\begin{array}{*{20}c} 0 & 0 & 0 \\ \end{array} \begin{array}{*{20}c} { 0} & 1 & 0 \\ \end{array} } \\ \end{array} } \right\}} \\ \end{array} } \right]$$
(2)
where RT(M4) denotes to the retrieving matrix at M4 and BS(single) denotes to the single packets received from the BS (without applying CoNC).
When taking into consideration that the duplicated packets (received twice) is regarded as bandwidth and power waste ones; because they do not improve the retrieving matrix’s rank (Eq. 2) as they are not new linearly dependant equations, hence the RT and the retriever’s packet are considered as redundant.
Accordingly, Eq. 2 shows that the packets received through the WRT do not have any new information, and it is the same for each member’s packet in the whole network; so these three packets are pure redundant and hence discarded, which is considered as loss of power and more traffic for no new information.
The Jordan Gaussian Elimination (JGE) retrieving mechanism confirms that a receiver can retrieve all received packets when and only when the received retrieving matrix has a rank that equals the number of the unknown pivots [8, 11]. Based on JGE retrieving condition, each member of the WMN can retrieve all other members if the received rank of Eq. 2 equals M.
In the case that the BS drops any number of packets through the assumed lossy channels between all members and M4,—as an example—the communication will not be fully completed unless if the dropped packets are the packets that were sent for RT packets (neighbours) (M3 or/and M5) or the own retriever packet (M4). On the other hand, if the retriever member does not receive any packet other than the three known packets (RT and retriever), the communication will not be completed, i.e. the retrieving matrix’s rank (Eq. 2) will be less than M. Based on the above, the RT improved the WMN partially, and when assuming a large number of members, such as tens members, this improvement becomes trivial, as shown in the result Sect. 3.
The only remaining advantage of the Benchmark scenario is the ability of the network to enlarge the coverage region of the mesh network. Yet, the severe relation between the transmission distance and the PER in lossy network channels makes the coverage region to be limited even in the existence of the WRT. Moreover, if any disconnection problem happens to any optical fibre that connects any member of the M WMN members to the BS, the communication will not be completed for the disconnected member because its packet will not be received at the BS, and hence will not be broadcast to the rest of members, just only this member's neighbours that can receive the packet through the wired RT.
Network reliability of the Benchmark scenario is clearly at the minimum level, i.e. any maintenance over any optical fibre for the WNM results in isolating the optical fibre's member from sending its data to the BS, as shown in Fig. 3a for M4 as an example. Moreover, if any disconnection happens between any two neighbours and either neighbours with the BS, the communication between these two neighbours will be disconnected and at the same time, the connection between either member with the BS is lost; consequently, the full communication between them will be lost, though they are neighbours, as shown in Fig. 3b for M1 and M2 as an example.
Figure 3a shows the case when a wire between an MN member and the BS is disconnected and Fig. 3b shows the case when a wire between two neighbours is disconnected simultaneously with a wire between the BS and either neighbour of the disconnected wire to the BS (M1 to BS is proposed). Accordingly, in Fig. 3a, M4 is isolated except from its two neighbours, where in Fig. 3b, M1's information will not be received at M2 though they are neighbours.
Based on the above, the Benchmark scenario does not provide significant benefits to the whole network, other than improving the coverage region that severely depends on the PER in the channels between the N WMN members.
The proposed hybrid ring-mesh cooperation network coding protocol
Based on the disadvantages in the Benchmark scenario mentioned in Sect. 2.1, CoNC is proposed to fully exploit the benefits of the HRM connection shown in Fig. 2. Indeed, if the CoNC applied to the BS in a deterministic manner, the WRT plays such a significant role to improve the full connectivity of the MN, in addition to the original benefit of increasing the WMN coverage region, taking into consideration that CoNC mitigates the effect of the PER significantly [8], and hence improves the coverage region.
The proposed protocol is as follows: the BS manipulates the M single packets received from the optical fibre channels by deterministically combining (X-ORING) M − 1 different packets for M times, where every single packet is excluded just once from the M combination times, resulting in M different combined packets. This combination algorithm is called in this paper as “M − 1 combination”. Accordingly, the M deterministically combined packets, which are named "Network Coded Packets" (NCP), are as in Eq. 3 for a WMN of six members as an example:
$$T_{{{\text{NCP}}}} = \left[ {\begin{array}{*{20}c} {M_{1} } & {M_{2} } & {M_{3} } \\ \end{array} \begin{array}{*{20}c} {M_{4} } & {M_{5} } & {M_{6} } \\ \end{array} } \right]\left[ {\begin{array}{*{20}c} 0 & 1 & 1 & 1 & 1 & 1 \\ 1 & 0 & 1 & 1 & 1 & 1 \\ 1 & 1 & 0 & 1 & 1 & 1 \\ 1 & 1 & 1 & 0 & 1 & 1 \\ 1 & 1 & 1 & 1 & 0 & 1 \\ 1 & 1 & 1 & 1 & 1 & 0 \\ \end{array} } \right]$$
(3)
where TNCP denotes to the created NCP packets that are transmitted from the BS to the M members of the WMN, taking into consideration that the BS receives correctly the M single packets from the M WMN members through the optical fibre channels, so, it is always assumed that the BS receives the M packets correctly in a single form, i.e. each packet contains data for just one single member.
The received packets from the BS and RTat M4, for example, are shown in Eq. 4:
$${\text{Rp}}_{{\left( {M4} \right)}} = \left[ {\begin{array}{*{20}c} {M_{1} } & {M_{2} } & {M_{3} } \\ \end{array} \begin{array}{*{20}c} { M_{4} } & {M_{5} } & {M_{6} } \\ \end{array} } \right]\left[ {\begin{array}{*{20}c} 0 & 1 & 1 & 1 & 1 & 1 \\ 1 & 0 & 1 & 1 & 1 & 1 \\ 1 & 1 & 0 & 1 & 1 & 1 \\ 1 & 1 & 1 & 0 & 1 & 1 \\ 1 & 1 & 1 & 1 & 0 & 1 \\ 1 & 1 & 1 & 1 & 1 & 0 \\ \end{array} } \right]\;{\text{and}}\; \left[ {\begin{array}{*{20}c} {M_{3} } & {M_{5} } \\ \end{array} } \right]\left[ {\begin{array}{*{20}c} {\begin{array}{*{20}c} 0 & 0 & 1 \\ \end{array} \begin{array}{*{20}c} { 0} & 0 & 0 \\ \end{array} } \\ {\begin{array}{*{20}c} 0 & 0 & 0 \\ \end{array} \begin{array}{*{20}c} { 0} & 1 & 0 \\ \end{array} } \\ \end{array} } \right]$$
(4)
where RT(M4) denotes to the received packets at M4, noticing that the receiving row for any none received packet will be a row of zeroes in Eq. 4.
Considering that M4 knows its packet, so, the JGE retrieving matrix at M4 is given in Eq. 5:
$${\text{RT}}_{{\left( {M4} \right)}} = \left[ {\begin{array}{*{20}c} {M_{1} } & {M_{2} } & {M_{3} } \\ \end{array} \begin{array}{*{20}c} {M_{4} } & {M_{5} } & {M_{6} } \\ \end{array} } \right]\left[ {\begin{array}{*{20}c} 0 & 1 & 1 & 1 & 1 & 1 \\ 1 & 0 & 1 & 1 & 1 & 1 \\ 1 & 1 & 0 & 1 & 1 & 1 \\ 1 & 1 & 1 & 0 & 1 & 1 \\ 1 & 1 & 1 & 1 & 0 & 1 \\ 1 & 1 & 1 & 1 & 1 & 0 \\ \end{array} } \right] \;{\text{and}}\; \left[ {\begin{array}{*{20}c} {M_{3} } & {M_{4} } \\ \end{array} M_{5} } \right]\left[ {\begin{array}{*{20}c} {\begin{array}{*{20}c} 0 & 0 & {1 } \\ \end{array} \begin{array}{*{20}c} 0 & 0 & 0 \\ \end{array} } \\ {\begin{array}{*{20}c} 0 & 0 & 0 \\ \end{array} \begin{array}{*{20}c} { 1} & 0 & 0 \\ \end{array} } \\ {\begin{array}{*{20}c} 0 & 0 & {0 } \\ \end{array} \begin{array}{*{20}c} { 0} & 1 & 0 \\ \end{array} } \\ \end{array} } \right]$$
(5)
According to Eq. 5, the retrieving matrix is shown in Eq. 6.
$${\text{RT}}_{{\left( {M4} \right)}} = \left[ {\begin{array}{*{20}c} {M_{1} } & {M_{2} } & {M_{3} } \\ \end{array} \begin{array}{*{20}c} {M_{4} } & {M_{5} } & {M_{6} } \\ \end{array} } \right]\left[ {\begin{array}{*{20}c} { {\text{BS}}\left( {M - 1} \right) \left\{ {\begin{array}{*{20}c} 0 & 1 & 1 & 1 & 1 & 1 \\ 1 & 0 & 1 & 1 & 1 & 1 \\ 1 & 1 & 0 & 1 & 1 & 1 \\ 1 & 1 & 1 & 0 & 1 & 1 \\ 1 & 1 & 1 & 1 & 0 & 1 \\ 1 & 1 & 1 & 1 & 1 & 0 \\ \end{array} } \right\}} \\ { M_{4} \left( {{\text{self}}} \right) \,\,\, \,\,\left\{ {\begin{array}{*{20}c} 0 & 0 & 0 \\ \end{array} \begin{array}{*{20}c} { 1} & 0 & 0 \\ \end{array} } \right\}} \\ { {\text{RT}} \quad\quad\quad\,\,\,\,\,\left\{ {\begin{array}{*{20}c} {\begin{array}{*{20}c} 0 & 0 & 1 \\ \end{array} \begin{array}{*{20}c} { 0} & 0 & 0 \\ \end{array} } \\ {\begin{array}{*{20}c} 0 & 0 & 0 \\ \end{array} \begin{array}{*{20}c} { 0} & 1 & 0 \\ \end{array} } \\ \end{array} } \right\}} \\ \end{array} } \right]$$
(6)
where RT(M4) denotes to the retrieving matrix for M4, as an example.
Equation 6 confirms that after the transmission processes, each member of the M WMN is expected to receive M NCP, besides the fact that each member knows its packet and its two neighbours' as well, accordingly the two packets received by the WRT and the member's packet are regarded as three new packets with novel information, based on in Eq. 6.
Though three new novel packets seem to be a small number of packets when compared to a network of tens of members, the effect of these three packets is significant, simply because each member becomes able to retrieve its data even when losing any three packets transmitted from the BS, which is unlike the Benchmark scenario, where each member cannot complete the communication when losing any packet other than its two neighbours.
The reason that each member can retrieve the information for all other members even when not receiving three packets has become dropping any three NCPs from the proposed deterministically combined packets on the BS still gives a transmission matrix of rank M in Eq. 6. The rank of Eq. 6 remains equal M because each single packet (from RT) gives new information to the transmission matrix, so the reception matrix rank remains equal M when replacing the three single packets with any three combined packets in the received matrix (Eq. 6).
GJE processes theory confirms that any matrix of rank M that contains M pivots can be retrieved successfully when receiving M linearly independent equations, regardless these equations are for single or combined packets [8, 11]. Accordingly, the CoNC enables each member to drop any three packets through the lossy wireless channel between the M WMN members, which is such an important advantage that helps in increasing the coverage region and decreasing the ARQ significantly.
The advantage of applying the deterministic combination to the BS can be extended by creating more linearly independent combined packets to produce additional new novel information, as shown in [9].
To enhance the full reception for each member of the WMN, the BS can create more than M novel (linearly independent) combined packets to assure that there is no any created packet that does not maintain the rank M of the receiving matrix when replaced with the lost packet.
Based on the network data rate, erasure probability of the WMN channel, and the required coverage region; the BS can create as many novel combinations as required, taking into consideration that the novel packet is regarded as the packet that can be replaced in Eqs. 2 and 6 without decreasing the matrix's rank (rank = M).
So, it is clear that implementing WRN with applying CoNC on the BS gives an important trade-off between the data rate and both of the PER and the coverage region, which is investigated through the simulation results in Sect. 3.
Several deterministic combinations can maintain the full rank of the receiving matrix when replaced with the lost packets, which were proposed in [9] for different scenarios, such as Odd–Even combination, Next-Neighbour combination, Previous-Neighbour combination, and others. The key issue is to follow a deterministic manner of combination to assure that the same NCP is not created and broadcast more than once to avoid a redundant transmission that does not improve the retrieving matrix's rank.
It is easy to notice that when combining all of the M packets, a new novel packet is created, so the BS can broadcast M + 1packets to enable each member to drop even four different packets, as shown in Eq. 7
$${\text{RT}}_{{\left( {M4} \right) + 1}} = \left[ {\begin{array}{*{20}c} {M_{1} } & {M_{2} } & {M_{3} } \\ \end{array} \begin{array}{*{20}c} {M_{4} } & {M_{5} } & {M_{6} } \\ \end{array} } \right]\left[ {\begin{array}{*{20}l} {{\text{BS}}\left( {M - 1} \right)\left\{ {\begin{array}{*{20}c} 0 & 1 & 1 & 1 & 1 & 1 \\ 1 & 0 & 1 & 1 & 1 & 1 \\ 1 & 1 & 0 & 1 & 1 & 1 \\ 1 & 1 & 1 & 0 & 1 & 1 \\ 1 & 1 & 1 & 1 & 0 & 1 \\ 1 & 1 & 1 & 1 & 1 & 0 \\ \end{array} } \right\}} \hfill \\ {M_{4} \left( {{\text{retriever}}} \right)\left\{ {\begin{array}{*{20}c} 0 & 0 & 0 \\ \end{array} \begin{array}{*{20}c} { 1} & 0 & 0 \\ \end{array} } \right\}} \hfill \\ { {\text{RT }} \left\{ {\begin{array}{*{20}c} {\begin{array}{*{20}c} 0 & 0 & 1 \\ \end{array} \begin{array}{*{20}c} { 0} & 0 & 0 \\ \end{array} } \\ {\begin{array}{*{20}c} 0 & 0 & 0 \\ \end{array} \begin{array}{*{20}c} { 0} & 1 & 0 \\ \end{array} } \\ \end{array} } \right\}} \hfill \\ {{\text{All}}\;{\text{ combined}} \left\{ {\begin{array}{*{20}c} 1 & 1 & 1 \\ \end{array} \begin{array}{*{20}c} { 1} & 1 & 1 \\ \end{array} } \right\}} \hfill \\ \end{array} } \right]$$
(7)
where RT(M4)+1is the retrieving matrix at M4 with the extra suggested all combined packet in the case of full reception.
The Odd–Even combination can create M new novel (linearly independent) combination protocol [9], which is one of the recommended protocols for this scenario.
Equation 8 shows the retrieving matrix for the M created novel packets when the Odd–Even combination algorithm is adopted at the BS.
$${\text{RT}}_{{\left( {{\text{Odd}} - {\text{Even}}} \right){\text{NCP}}}} = \left[ {\begin{array}{*{20}c} {M_{1} } & {M_{2} } & {M_{3} } \\ \end{array} \begin{array}{*{20}c} { M_{4} } & {M_{5} } & {M_{6} } \\ \end{array} } \right]\left[ {\begin{array}{*{20}c} {{\text{BS}}\left( {{\text{odd}} - {\text{even}}} \right)\left\{ {\begin{array}{*{20}c} 0 & 0 & 1 & 0 & 1 & 0 \\ 1 & 0 & 0 & 0 & 1 & 0 \\ 1 & 0 & 1 & 0 & 0 & 0 \\ 0 & 0 & 0 & 1 & 0 & 1 \\ 0 & 1 & 0 & 0 & 0 & 1 \\ 0 & 1 & 0 & 1 & 0 & 0 \\ \end{array} } \right\}} \\ { M _{4 } \left( {{\text{retriever}}} \right)\left\{ {\begin{array}{*{20}c} 0 & 0 & 0 \\ \end{array} \begin{array}{*{20}c} { 1} & 0 & 0 \\ \end{array} } \right\}} \\ { {\text{RT}} \left\{ {\begin{array}{*{20}c} {\begin{array}{*{20}c} 0 & 0 & 1 \\ \end{array} \begin{array}{*{20}c} { 0} & 0 & 0 \\ \end{array} } \\ {\begin{array}{*{20}c} 0 & 0 & 0 \\ \end{array} \begin{array}{*{20}c} { 0} & 1 & 0 \\ \end{array} } \\ \end{array} } \right\}} \\ \end{array} } \right]$$
(8)
where RT(Odd–Even)NCP is the retrieving matrix at M4 as an example when the Odd–Even combined packets algorithm is applied.
The deterministic Odd–Even combination process is partially similar to the combination proposed in Eq. 2; just it is applied twice, once for even members where all even members are combined excluding each even packet just once, and the other time when odd members are combined excluding each odd packet just once, resulting to M new linearly independent equations as shown in Eq. 8.
Other deterministic combination algorithms can be created, such as Eq. 9, where the Next-Neighbour combination algorithm is adopted, and the Previous-Neighbour combination algorithm is shown in Eq. 10, where each packet is combined just with the previous neighbour's packet.
$${\text{RT}}_{{\left( {{\text{NN}}} \right){\text{NCP}}}} = \left[ {\begin{array}{*{20}c} {M_{1} } & {M_{2} } & {M_{3} } \\ \end{array} \begin{array}{*{20}c} {M_{4} } & {M_{5} } & {M_{6} } \\ \end{array} } \right]\left[ {\begin{array}{*{20}c} { {\text{BS}}\left( {{\text{NN}}} \right) \left\{ {\begin{array}{*{20}c} 1 & 1 & 0 & 0 & 0 & 0 \\ 0 & 1 & 1 & 0 & 0 & 0 \\ 0 & 0 & 1 & 1 & 0 & 0 \\ 0 & 0 & 0 & 1 & 1 & 0 \\ 0 & 0 & 0 & 0 & 1 & 1 \\ 1 & 0 & 0 & 0 & 0 & 1 \\ \end{array} } \right\}} \\ {M_{4} \left( {{\text{retriever}}} \right)\left\{ {\begin{array}{*{20}c} 0 & 0 & 0 \\ \end{array} \begin{array}{*{20}c} { 1} & 0 & 0 \\ \end{array} } \right\}} \\ { {\text{RT }} \left\{ {\begin{array}{*{20}c} {\begin{array}{*{20}c} 0 & 0 & 1 \\ \end{array} \begin{array}{*{20}c} { 0} & 0 & 0 \\ \end{array} } \\ {\begin{array}{*{20}c} 0 & 0 & 0 \\ \end{array} \begin{array}{*{20}c} { 0} & 1 & 0 \\ \end{array} } \\ \end{array} } \right\}} \\ \end{array} } \right]$$
(9)
where RT(NN)NCP is the retrieving matrix for the Next-Neighbour combination algorithm at M4 as an example.
$${\text{RT}}_{{\left( {{\text{PN}}} \right){\text{NCP}}}} = \left[ {\begin{array}{*{20}c} {M_{1} } & {M_{2} } & {M_{3} } \\ \end{array} \begin{array}{*{20}c} {M_{4} } & {M_{5} } & {M_{6} } \\ \end{array} } \right]\left[ {\begin{array}{*{20}c} { {\text{BS}}\left( {{\text{PN}}} \right) \left\{ {\begin{array}{*{20}c} 1 & 0 & 0 & 0 & 0 & 1 \\ 1 & 1 & 0 & 0 & 0 & 0 \\ 0 & 1 & 1 & 0 & 0 & 0 \\ 0 & 0 & 1 & 1 & 0 & 0 \\ 0 & 0 & 0 & 1 & 1 & 0 \\ 1 & 0 & 0 & 0 & 1 & 1 \\ \end{array} } \right\}} \\ {M_{4} \left( {{\text{retriever}}} \right)\left\{ {\begin{array}{*{20}c} 0 & 0 & 0 \\ \end{array} \begin{array}{*{20}c} { 1} & 0 & 0 \\ \end{array} } \right\}} \\ { {\text{RT}} \left\{ {\begin{array}{*{20}c} {\begin{array}{*{20}c} 0 & 0 & 1 \\ \end{array} \begin{array}{*{20}c} { 0} & 0 & 0 \\ \end{array} } \\ {\begin{array}{*{20}c} 0 & 0 & 0 \\ \end{array} \begin{array}{*{20}c} { 0} & 1 & 0 \\ \end{array} } \\ \end{array} } \right\}} \\ \end{array} } \right]$$
(10)
where RT(PN)NCP is the retrieving matrix for the Previous-Neighbour combination algorithm at M4 as an example.
Any two combinations, such as the M − 1combination algorithm and the Odd–Even combination algorithm shown in Eq. 11 can be applied at the BS to generate extra M linearly independent equations.
$$\begin{aligned} & {\text{RT}}_{{\left( {{\text{Odd}} - {\text{Even}}\;{\text{and}}\;M - 1} \right){\text{NCP}}}} \\ & \quad = \left[ {\begin{array}{*{20}c} {M_{1} } & {M_{2} } & {M_{3} } \\ \end{array} \begin{array}{*{20}c} {M_{4} } & {M_{5} } & {M_{6} } \\ \end{array} } \right]\left[ {\begin{array}{*{20}l} {{\text{BS}}\left( {{\text{Odd}} - {\text{Even}}} \right)\left\{ {\begin{array}{*{20}c} 0 & 0 & 1 & 0 & 1 & 0 \\ 1 & 0 & 0 & 0 & 1 & 0 \\ 1 & 0 & 1 & 0 & 0 & 0 \\ 0 & 0 & 0 & 1 & 0 & 1 \\ 0 & 1 & 0 & 0 & 0 & 1 \\ 0 & 1 & 0 & 1 & 0 & 0 \\ \end{array} } \right\}} \hfill \\ {{\text{BS}}\left( {M - 1} \right) \left\{ {\begin{array}{*{20}c} 0 & 1 & 1 & 1 & 1 & 1 \\ 1 & 0 & 1 & 1 & 1 & 1 \\ 1 & 1 & 0 & 1 & 1 & 1 \\ 1 & 1 & 1 & 0 & 1 & 1 \\ 1 & 1 & 1 & 1 & 0 & 1 \\ 1 & 1 & 1 & 1 & 1 & 0 \\ \end{array} } \right\}} \hfill \\ { M_{4} \left( {{\text{retriever}}} \right) \left\{ {\begin{array}{*{20}c} 0 & 0 & 0 \\ \end{array} \begin{array}{*{20}c} { 1} & 0 & 0 \\ \end{array} } \right\}} \hfill \\ { {\text{RT}} \left\{ {\begin{array}{*{20}c} {\begin{array}{*{20}c} 0 & 0 & 1 \\ \end{array} \begin{array}{*{20}c} { 0} & 0 & 0 \\ \end{array} } \\ {\begin{array}{*{20}c} 0 & 0 & 0 \\ \end{array} \begin{array}{*{20}c} { 0} & 1 & 0 \\ \end{array} } \\ \end{array} } \right\}} \hfill \\ \end{array} } \right] \\ \end{aligned}$$
(11)
where RT(Odd–Even and N−1)NCP is the retrieving matrix for the Odd–Even and the M − 1 combination algorithms at M4 as an example.
According to Eq. (11), the BS broadcasts 2M packets instead of M, which is regarded as a trade-off between the data rate and the PER, considering that the better PER, the larger the WMN coverage region.
So, when sending 2M novel packets, besides the pre-mentioned three packets (RT and retriever’s packet), each wireless member's channel has the permeability to drop till M + 3 packets, which is regarded as an extremely great improvement to the WMN PER that enables to increase remarkably the coverage region. Any extra broadcast packet can be set according to the network's PER and the desired coverage region, shown through the simulation results in Sect. 3. For BD transmission, the authors of this paper recommends following fair trade-off between the data rate and the PER (coverage region) so, M + 20% of M is considered as a reasonable trade-off. However, the extra number of packets depends on the needed coverage region and the PER in the WMN channels. The recommendation mentioned above is based on the authors' personal experience in this field. Still the main rule is as follows: the more transmitted packets, the better performance, coverage region and worse data rate efficiency. Finally, Eqs. 1–11 show how the proposed protocol works in a clear and systematic manner.
Cooperation networking coding over ring topology and reliability improvement
When a wire that connects a member with the BS got disconnected as a result of maintenance operations, or any an unexpected fault as shown in Fig. 3a, or two wires got disconnected as shown in Fig. 3b, the disconnected member is named in this paper as a “dead member”; however, CoNC can solve this problem once applied over the RT in the following algorithm:
The data packet of the dead member already sent to the two neighbours; hence, each dead member’s neighbour combines (X-ORING) the dead packet's data to its data packet and then sends the combined packet to the BS through its wires. Consequently, the dead member’s neighbours pass the dead member’s data packet to their neighbours instead of passing their data packets. The rest of the WMN members do the same, i.e. combining the dead member’s data packet to their packets and passing the dead member’s data packet to their neighbours, as shown in Fig. 4a, b.
At the end of the passing processing shown in Fig. 4a, b, each member of the WMN will be sending its data combined with the dead member’s data. Accordingly, the BS will be receiving Eq. 12 when assuming that M4 is the dead member as in Fig. 4a, and Eq. 13 if M1 got two disconnected wires as shown in Fig. 4b:
$${\text{Rp}}_{{\left( {{\text{BS}}} \right) = }} \left[ {\begin{array}{*{20}c} {M_{1} } & {M_{2} } & {M_{3} } \\ \end{array} \begin{array}{*{20}c} {M_{4} } & {M_{5} } & {M_{6} } \\ \end{array} } \right]\left[ {\begin{array}{*{20}c} 1 & 0 & 0 & 1 & 0 & 0 \\ 0 & 1 & 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 1 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 1 & 1 & 0 \\ 0 & 0 & 0 & 1 & 0 & 1 \\ \end{array} } \right]$$
(12)
where Rp(BS) denotes to the received packets at the BS that have been sent through the M − 1 wires based on Fig. 4a.
Equation 12 shows that the BS receives five combined packets (M − 1), and the row of the disconnected wire (row 4 in Eq. 12 in this example) is zeroed.
$${\text{Rp}}_{{\left( {{\text{BS}}} \right) = }} \left[ {\begin{array}{*{20}c} {M_{1} } & {M_{2} } & {M_{3} } \\ \end{array} \begin{array}{*{20}c} {M_{4} } & {M_{5} } & {M_{6} } \\ \end{array} } \right]\left[ {\begin{array}{*{20}c} 0 & 0 & 0 & 0 & 0 & 0 \\ 1 & 1 & 0 & 0 & 0 & 0 \\ 1 & 0 & 1 & 0 & 0 & 0 \\ 1 & 0 & 0 & 1 & 0 & 0 \\ 1 & 0 & 0 & 0 & 1 & 0 \\ 1 & 0 & 0 & 0 & 0 & 1 \\ \end{array} } \right]$$
(13)
Equation 13 shows that row one is zeroed because M1 is the dead member; hence, the way to retrieve the all member's data is similar to the case when one wire is disconnected.
In the case of full and correct WMN broadcasting, each member of the M WMN will be receiving the same M − 1 combined packets, including the dead member. The retrieving processes for each member simply performed by X-ORING the retriever's packet with each combined packet separately, to retrieve the M − 1 neighbours one by one. Based on the above, applying CoNC enables the network to communicate even if one member is not connected to the BS, which means that the communication can be running in the case of fault or maintenance operations, i.e. the network's reliability is improved.
Based on above, the importance of mixing ring and mesh protocols is justified by the dramatically increasing in the wireless transmission rejoin for some of the resent wireless broadcasting elements, such as Sigfox that can cover a region from 10 to 40 kM, LoRa that can cover a region from 5 to 20 kM, NB-IoT that can cover a region from 1 to 10 kM, LTE-M that can cover a region up to 5 kM radius, and Zegbi that can cover around 200 m radius region.
Accordingly, the proposed protocols are clearly useful for many practical applications such as, IoT applications, remote sensing applications, smart agriculture, smart cities, and etc.