Keywords

1 Introduction

Determining the optimal communication structures is the issue raised in many of research works focused on improving the reliability, performance, and usability of transmission systems (multiprocessor systems, military computer networks - wired and wireless networks of stationary or mobile nodes). A lot of research focuses on the problems with networks of the hypercube structure and on the problems with location and relocation of network resources ([1,2,3,4,5,6,7]). In the era of IoT (Internet of Things), results of research on “energy-efficient” communication structures, prolong the life time of the network with battery-powered nodes, are particularly important ([8,9,10]). The work is focused on developing new routing protocols, effective medium access protocols, selecting of nodes collecting and processing information from other nodes, constituting the catchment information nodes (sink nodes), meeting points nodes (rendezvous points) or acting as coordinator nodes ([10,11,12,13,14]).

In this paper we introduce a centralized procedure for determining the optimal communication structure. The result of the procedure is the shortest path tree with the root in the specific node. We abstract from considering the role this node can play (server, coordinator, collector of information from other nodes). We assume for example, as many articles on the same topic, that indication and use “our” optimal communication structure in a network of wireless nodes, will result in reducing the number of packets generated by the nodes and exchanged between nodes, thereby limiting power consumption and increase the life of network.

Our procedure for determining the optimal communication structure is centralized and we hope that it is universal, on the assumption that we will be able to assess, based on various parameters (bandwidth of transmission channels, delays, packets lost, etc.), the functioning of the network (wireless or wired) at a given moment. We have assumed that we will get information about routing and quality of communication connections (from sensors testing communication channels). On this basis, we will be able to give an optimal (probably suboptimal) communication structure resulting from the use of the best communication routes (dendrite of the best routes). These routes can then be entered (distributed) into the configuration files of network devices. In our opinion, a centrally determined suboptimal communication structure, considering not only the number of hops from the source to the destination (in our procedure only this characteristic has been taken into account), but also other important parameters and regardless of the routing protocol used (whether for wired or wireless networks) will have a positive effect on the functioning of the network (minimizing delays, energy consumption by communication nodes, etc.). We also assumed that the analyzed network is rather small (cluster of whole network) and in our assumptions it’s size is limited to ten nodes.

The paper is organized as follows. In Sect. 2, basic definitions were introduced. The calculation of attainability for exemplary structures were presented. In Sect. 3, the proposal of the method and the algorithm of determining optimal communication structure was presented. In Sect. 4, the results of simulation tests for proposed method verification were described. In Sect. 5, some concluding remarks were presented.

2 The Basic Definitions

Definition 1

The structure of a network is described by coherent ordinary graph \(G=\left\langle {E,U} \right\rangle \quad \left( E \right. \) – set of network nodes, U – set of bidirectional communication link).

Let \(d\left( {e,{e}'\left| G \right. } \right) \) be the distance (the number of hops) between nodes e and \({e}'\) in a coherent graph G,  that is the length of the shortest chain (in the graph G) connecting node e with the node \({e}'.\)

Let \({r}\left( e\vert G\right) = {\mathop {_{{e}'\in E\left( G\right) }}\limits ^{max}}d \left( \left( e,\;{e}' \right) \vert G \right) \) be the radius of a node, and \(D\left( G\right) =max\left\{ d\left( {{e}',{e}''\left| G\right. }\right) :\left\{ {e}',{e}''\right\} \subset {E\left( G\right) }\right\} \) be the diameter of a graph G. The radius of node e is the largest number of hops from node e to any other node of G. The diameter of G is the largest radius in G.

Denote by \(E^{\left( d\right) }\left( e\vert G\right) =\left\{ {e}'\in E\left( G\right) :d\left( {{e},{e}'}\left| G\right. \right) =d\right\} \) for and by

$$\begin{aligned} \varsigma \left( e\left| G\right. \right) =\left( \varsigma _{1} \left( e\left| G\right. \right) ,\ldots ,\varsigma _{r} \left( e\left| G\right. \right) \right) \end{aligned}$$
(1)

for \(\varsigma _{d} \left( e\left| G\right. \right) =\left| {E}^{\left( d\right) }\left( e\left| G\right. \right) \right| \).

Definition 2

[6]. Let \(\varphi \left( e\left| G \right. \right) =\sum \limits _{{e}'\in E\left( G\right) }d\left( {e},{e}'\left| G \right. \right) \) for \({e}\in E\left( G\right) \) be attainability of the node e in the network G and \(\varPhi \left( G \right) =\sum \limits _{e\in E\left( G \right) } \varphi \left( e\left| G \right. \right) \) be attainability of the network G.

Using (1) we have

$$ \varphi \left( e\left| G \right. \right) = \sum \limits _{d=1}^{r\left( e\left| G \right. \right) } d\varsigma _{d} \left( e\left| G \right. \right) . $$

Definition 3

[7]. Let \(T=\left\langle E,U^{*} \right\rangle \) be the dendrite i.e. such coherent acyclic partial graph of G that:

$$ \exists \left\langle {{e}',{e}''}\right\rangle \in U \Longrightarrow \left\langle {{e}',{e}''}\right\rangle \in U^{*} \Longleftrightarrow $$
$$ \Longleftrightarrow \left[ \left( d\left( e_{i},{e}'\right) \ne d\left( e_{i},{e}''\right) \right) \wedge d\left( {e}',{e}''\right) =1\right] $$

for \(r\left( e_{i}\right) ={\mathop {_{e\in E\left( G\right) }}\limits ^{min}}r\left( e\right) \).

Denote by \(T\left( e \right) \) for \(e \in E(G)\) the set of all possible dendrites determined for node e.

Let \(\varPhi _{\min } \left( {T\left( e \right) } \right) = {\mathop {_{t\in T\left( e\right) }}\limits ^{min}} \sum \limits _{e\in E\left( t \right) } \varphi \left( e\left| t \right. \right) \) be the value of minimal attainability for \(T\left( e \right) \).

The dendrite T is a base to determine the communication structure of G. The algorithm for determined dendrite T is presented in [7]. The method and the algorithm for determined the optimal communication structure based on the dendrites determination is presented in Sect. 3.

3 The Method and the Algorithm for Determining the Optimal Communication Structure

The method consists of fourth stages. In the first stage for G, as the first node we choose a node that \(r\left( e \left| G \right. \right) ={\mathop {_{{e}'\in E\left( G\right) }}\limits ^{min}} r\left( {e}'\right) \) or \(\varphi \left( e \left| G \right. \right) ={\mathop {_{{e}'\in E\left( G\right) }}\limits ^{min}} \varphi \left( {e}'\right) \). In the second stage for the chosen node we determine all possible dendrites \(T\left( e \right) \) for \(e\in E\left( G \right) \). In the third stage, for each dendrite determined in the second stage, the value of attainability \(\varPhi \left( {T\left( e \right) } \right) \) is calculated. In the fourth stage, based on the attainability calculated in the third stage, the dendrite T, which is an optimal communication structure satisfying the condition \(\varPhi _{\min } \left( {T\left( e \right) } \right) \) is determined. Based on the presented method the algorithm for determining the optimal communication structure was developed.

The algorithm for determining the optimal communication structure.

Step 1. (first stage)

Calculate \(r\left( e \left| G \right. \right) \) and \(\varphi \left( e \left| G \right. \right) \) for \(e\in E\left( G \right) \).

Choose a node \(e^{*}\in E\left( G \right) \) such that \(r\left( e^{*} \left| G \right. \right) ={\mathop {_{{e}'\in E\left( G\right) }}\limits ^{min}} r\left( {e}'\right) \) or

\(\varphi \left( e^{*} \left| G \right. \right) ={\mathop {_{{e}'\in E\left( G\right) }}\limits ^{min}} \varphi \left( {e}'\right) \).

Selected node \(e_{i} \) will be a central node of G.

Step 2. (second stage)

For the chosen node \(e^{*}\) determine set \(T\left( {e^{*}} \right) \), wherein \(r\left( {\left. {e^{*}} \right| T} \right) =r\left( {\left. {e^{*}} \right| G} \right) .\)

Step 3. (third stage)

Calculate \(\varPhi \left( {t\left( {e^{*}} \right) } \right) \,\) for \(t\in T\left( {e^{*}} \right) \).

Step 4. (fourth stage)

Choose a dendrite t such that \(\varPhi \left( t \right) ={\mathop {_{{t}'\in T\left( {e^{*}} \right) } }\limits ^{min}}\varPhi \left( {{t}'} \right) \).

Step 5.

The end of the algorithm.

For illustrating the algorithm’s operation, consider the following example.

Example 1

Let the structure \(G_{1}\) (presented in Fig. 1) be the basis for determining the optimal communication structure.

Fig. 1.
figure 1

An exemplary communication structure \(G_{1}\)

Table 1. The results of determining the radius (A) and the attainability (B) of \(G_{1}\)

In the first step of the presented algorithm, the radius and the attainability for each node of \(G_{1}\) must be calculated. In the Table 1 the results of calculating radius (A) and attainability (B) of \(G_{1}\)’s nodes are presented.

Next, the node with a minimal radius or (if nodes with a minimum radius value is more) the node with a minimal attainability is chosen. In the case of \(G_{1} \), the node with the minimal radius, and minimal attainability is node \(e_{1} \). In the next step, for chosen node \(e_{1} \), the algorithm determines the set \(T\left( {e_{1}} \right) \) (presented in Fig. 2) of possible dendrites and calculates the attainability (presented in Table 2) for all of them.

Fig. 2.
figure 2

The set \(T\left( e_{1}\right) \) of possible dendrites of the \(e_{1}\) node

Table 2. The attainability for dendrites of set \(T\left( e_{1} \right) \)

The algorithm, as the optimal communication structure \(T_{OPT}\) for \(G_{1}\), choses the dendrite \(t_{15}\) shown in Fig. 3.

Fig. 3.
figure 3

The optimal communication structure \(T_{OPT} \) for \(G_{1} \)

In Table 3 the results of calculating radius (A) and attainability (B) of \(T_{OPT}\) are presented.

Table 3. The radius (A), and the attainability (B) of \(T_{OPT}\)

4 The Results of Simulation Studies

Simulation studies have been realized in Riverbed Modeler environment. The verification of method proposed and described in Sect. 3 was carried out in a wired network environment (due to the rapid and easy modeling of many network structures).

In this subsection, we present results for the procedure verification for \(T\left( e_{1} \right) \) set of dendrites. From section Sect. 3 we know that the best communication structure for these set is \(t_{15}\) (\(T_{OPT}\) for \(G_{1}\)).

The conducted simulation tests certainly do not serve to verify the design of any network. The tests were to authenticate the procedure for determining the optimal communication structure. We decided that the simulation model does not have to be or even should not be a model fully adequate to the real network. We assumed that it would be acceptable to design any communication system with the minimal number of network services. We set the LAN model with an unspecified shape of network traffic and the selected http service. In our case, when assessing the impact of the routing method (corresponding to the chosen subgraph) on how the chosen service works, we decided that it would be the best solution, with transparent results. Therefore, we only took care of the homogeneity of links and network devices. What was important for us is that in the randomness of generating network streams and the randomness of client-server connections, the simulation results confirm the correctness of the theoretical arguments.

All dendrites were modeled as computer networks with routers with attached LAN segment and servers. Routers play a role of a dendrite’s node. For example, the network topology of the single scenario (single dendrite) was shown in the Fig. 4.

Fig. 4.
figure 4

Network topology for single simulation scenario

Workstations within LAN segments (ten workstations in each segment) were functioning as the server’s clients. The basic server’s service was http server (quite enough to carry out research), with standard application [15]. Communication links bandwidth was set to 1,5 Mb/s.

We performed some tests with other settings of network traffic generators and the number of tcp clients in each network segments (to saturate network links), but the obtained results for the characteristics chosen by us (number of hops and delay for tcp transmission) were comparable, i.e. have indicated the communication structure chosen by the procedure, so we gave up the detailed description of each experiments by selecting a representative one.

Selected results (for set \(T\left( e_{1} \right) \) of dendrites), confirming the correctness of the procedure for determining the optimal communication structure are shown in the figures below.

We used two important characteristics (in our opinion sufficient at this stage of research). The first of them was global average Number of Hops (representing an average number of IP hops taken by data packets reaching at a destination node) and the second, average TCP Delay (representing delay of TCP packets. This value is measured from the time an application data packet is sent from the source TCP layer to the time it is received by the TCP layer in the destination node for all connections).

We knew which communication structure for each set of dendrites is optimal and we were looking for confirmation of the correctness of calculations performed earlier. The collected results looked like this from Fig. 5. Figure illustrates average Number of Hops for the best dendrite \(t_{15}\) (the lowest drawn line) against results for selected three other dendrites.

Fig. 5.
figure 5

Average Number of Hops for selected dendrites

Complete results, in the form of a bar chart, for all dendrites from set \(T\left( {e_{1} } \right) \) are presented in Fig. 6. The highlighted bar (No 15) refers to the best structure \(t_{15}\).

Fig. 6.
figure 6

Average Number of Hops for all dendrites of \(T\left( e_{1} \right) \)

Similarly, for all dendrites from the selected set, average TCP Delay was measured. The results are presented in Fig. 7.

Fig. 7.
figure 7

Average TCP delay (in seconds) for TCP-based services

Results of simulation studies (we expected the lowest values of Average Number of Hops and Average TCP delay for TCP-based services) confirmed the correctness of the developed method of determining the optimal communication structure, determined analytically in section Sect. 3.

5 Summary

Correctness of developed method and its usefulness for determining optimal communication structure was confirmed by simulation tests. In analytical calculations two essential characteristics, number of hops and attainability, were used. According to our expectations, in simulation tests you could also use other characteristics, reflecting real condition of the network (in our study we used only TCP delay, but it was quite enough to confirm the correctness of analytical argumentations). The authors believe that the developed method can be used to determine the optimal structure also in wireless networks (for example to extend its life or for the efficient collection of information from wireless nodes). In the nearest future we plan to investigate the impact of such a network monitoring procedure with a periodically scheduled routing plan on how a specific network of wireless nodes works.

At this stage, for a small communication structure, complexity of the developed algorithm was not calculated. Our observations show that the efficiency of the algorithm depends on the number of nodes, the structure diameter and the radius of the node for which dendrites were determined. Currently, calculations are performed on a PC and it does not matter the memory usage and CPU load. We notice the need to modify the procedure (to be fast and not burdening the system) if it is going to be implemented by a wireless network node.