Abstract
In the social internet of things, community structure exists objectively and affects the transmission of network messages. If the social context such as community is fully utilized, the efficiency of data forwarding will be effectively improved. A community-based routing algorithm (MSAR) is proposed by studying the multiple social relationships. First, we propose four measures of social relationships. They are social closeness degree, in-community activeness, cross-community activeness and community interaction. Then, the design of routing algorithm considers two stages. One is in-community forwarding and the other is cross-community forwarding. The measurement of node forwarding capability depends on closeness degree and in-community activeness in the in-community forwarding stage. In the cross-community stage, the measurement of node forwarding capability depends on closeness degree, cross-community activeness and community interaction. The relay node with higher cross-community forwarding utility will be selected. This prevents messages from being limited to the local community. Therefore, messages can always travel in the direction of the destination node’s community. Finally, a lot of simulation experiments and analyses are carried out. The analysis results show that the proposed algorithm has good performance in the following two aspects, the average latency and the message delivery rate respectively.
Introduction
The mobile device’s movement pattern is strongly depended on the movement behavior of its owner. On the other hand, mobile devices are usually owned by human. Human always has social properties [1, 2], such as occupation, friends, hobbies, home address, etc. There are also a lot of relations hidden among human beings such as kinship, business relationship, campus relationship and friendship. Therefore, the mobile behavior of mobile devices is closely related to the social properties and the social relationships. With the popularization of mobile devices, more and more sensing function and biometric identification technologies are embedded in mobile devices. Mobile networks are becoming more and more human-centered. Thus Social Internet of Things (SIoT) emerges at the historic moment [3]. SIoT can sense and analyze the context information by using some intelligent technologies, and then deduce important the social relationships. So that it can provide more intelligent services for human beings [4, 5]. In SIoT, how to select or recommend suitable smart objects from an ocean of smart objects has become an increasingly critical issue. The researchers [6] apply an enhanced objective function and a modified approach concerning the ambiguous relationship towards the dynamical change process. A novel neural network model [7] is proposed for smart objects scoring tasks to make recommendations in social Internet of things.
The social internet of things combines social networks with the internet of things. It realizes the information interaction between people and things. A vast and complex network of everything is formed [8]. It is similar to mobile delay tolerant network, which combines Cyber-Physical Systems and Social Network Analysis Theory. Firstly, it utilizes various sensors deployed in the real world to obtain the sensing data, such as personal behavior, social contact, and the environment information. The various data reflects not only personal behaviour but also information of environment. It is the main basis for exploring personal and social attributes. Through the analysis and learning of these data, some important social attributes can be deduced. For example, by analyzing the contact time and frequency, information such as the similarity and tie strength between users can be mined. When we analyze the movement of human, we can learn the human mobility pattern. Then the routing protocols and data forwarding algorithms are designed to support the application layer according to these social characters.
Community is one of the important attributes in SIoT routing protocols. At present, the research of community detection has attracted a lot of attention. A large number of literatures have proposed different algorithms for community division [9, 10, 11, 12]. We divide routing and forwarding protocols into community routing and independent community routing, which according to whether community support is needed. In the community routing, the community is the basis of data forwarding. The operating principle of this kind of routing is usually to divide the mobile nodes into communities by certain community detection algorithm. Then, according to the segmented community structure, the nodes’ data forwarding strategy within the community or across the community is designed. After that, based on whether the relay node is in the community which the destination node belongs to or not, the forwarding strategies can be classified as in-community forwarding and cross-community forwarding. Some representative classic community routing protocols include LABEL [13], Bubble Rap [14], LocalCom [15], etc. There are some newly proposed improved routing algorithms by subsequent scholars [16, 17]. Considering the difficulty of community detection, many routing protocols have been presented without community support. The independent community routings mainly apply the information of context, social properties, and regular mobility pattern to predict the best relay node [18, 19, 20, 21, 22].
The discovery and quantification of social relations play an important role in the social relationship-based routing schemes. The characteristics between users can be used as indicators to quantify the social relations of users [23]. The social relationship is studied from two levels in this paper, and these are node and community. Obviously, in node’s intimate relationship, the more common friends there are between nodes, the closer the relationship will be. Meanwhile, indirect relationship (such as friends of friends) also plays an important role in node’s intimate relationship. Based on this, the metric of “closeness degree between nodes” is defined according to the ratio of common neighbors between nodes and destination nodes. In addition, the research shows that [24, 25] the social relationship between nodes in the same community is relatively close, while that in different community is relatively weak. The strong correlation between nodes in the same community is beneficial to message forwarding within communities. On the other hand, the weak correlation between nodes in different communities is an important link for message delivery across different communities. Based on this, two characteristics of “in-community activeness” and “cross-community activeness” are respectively defined. When the message is forwarded across communities, if only the nodes with weak forwarding ability are around carrier node of the message, the message is temporarily stored in the current node and will not be forwarded. In order to avoid this situation, a metric of “community interaction” is presented from the community level according to the interaction of different communities. Even if the relationship between the node and the destination node is weak, messages can still go in the direction of the target community. Finally, the message is delivered to the destination node. This is beneficial for forwarding messages to the destination community and making the forwarding step faster from cross-community to in-community.
Since most existing routings in SIoT only perform well in a certain statistic of network performance, MSAR is proposed to balance the delivery rate and network overhead based on the research of social relations between nodes and communities. Firstly, we propose four measures of social relationships. Then we use the four measures to form two functions: in-community forwarding utility and across-community forwarding utility. When messages are in the stage of in-community forwarding, we select the node with higher in-community forwarding utility as the relay node to make the messages deliver to the destination node faster. And when messages are in the across-community forwarding stage, the relay node with higher across-community forwarding utility is selected to avoid the messages being con?ned to the local community and make sure that the messages can always be transmitted to the destination community. Experimental simulation results show that the proposed MSAR routing scheme can achieve better performance compared with the existing routing schemes even under the limited cache.
The structure of the paper is arranged as follows. The second section introduced the system model, proposed closeness degree model, activeness in/cross community model and community interaction model. The routing algorithm exploiting multiple social network metrics was introduced in Section 3. The routing algorithm was simulated and evaluated in Section 4, and Section 5 summarizes the whole paper.
System model
In social internet of things with community structure, there are two types of message forwarding. They are message forwarding within the same community and message forwarding across different communities. It is determined by checking whether the forwarding node and the destination node are in the same community. Nodes in the same community meet more frequently than nodes in different communities. It is also easy to transfer data within the same community. Therefore, it is necessary to focus on analyzing message forwarding across different communities. In this way, messages will be forwarded to the community where the destination node resides as soon as possible. When the message enters the community where the destination node resides, it enters the in-community forwarding stage.
Different forwarding stages have different goals. Considering the objectives of the current stage, we need to design appropriate indicators to evaluate the forwarding utility of relay nodes. Then, these indicators are used to select the optimal relay node. Using these relay nodes to forward messages will improve the performance of the routing. Based on the above ideas, we define four new metrics: “closeness degree”, “in-community activeness”, “cross-community activeness” and “community interaction”. Then, the forwarding utility function is constructed to select the best relay nodes. Utility functions are divided into two categories. One is the cross-community forwarding utility function and the other is the in-community forwarding utility function. The utility function of in-community forwarding is a linear combination of “closeness degree” and “in-community activeness” two metrics. The utility function of cross-community forwarding is composed of “closeness degree”, “cross-community activeness” and “community interaction”. Finally, routing decisions are made according to the forwarding utility function. When message forwarding is carried out within the community, the node with the highest message forwarding utility within the community is usually selected as the relay node. Messages are delivered to the relay node quickly, which effectively reduces network overhead and latency. In the process of forwarding across communities, the relay node is selected by comparing the cross-community forwarding utility value, so that messages can be quickly sent outside of the local community. Eventually, the messages reach the destination community.
Model and assumptions
In order to facilitate the formalized description of Social Internet of Things, some assumptions are set for the model in the paper.
The network topology of SIoT is abstracted as a graph Suppose the divided network community structure is There maybe overlapping areas between two or multiple communities. That means node Suppose there are
The more common neighbors between two nodes, the easier it is for the two nodes to form a close relation. In addition, the two-hop neighbors play also important roles in the relationship between nodes. Therefore, the metric of closeness degree is proposed based on the concept of extended neighbors.
The activeness of the node reflects the forwarding ability of the node. When nodes meet with other nodes more frequently, it indicates that there are more meeting opportunities in the process of moving. So the nodes have more possibilities for message dissemination and transmission. On the other hand, Nodes have more connections with other nodes in their own community than that with external nodes. However, nodes which connect with nodes outside are more likely to send messages out to other communities. When the destination of the message is in another community, the node with strong forwarding ability will be selected as the relay node. By using this relay node, messages can be delivered to the community of the destination node as quickly as possible. This approach prevents messages from lingering too long in the current community. Therefore, it is beneficial to save valuable network resources. On the contrary, when a node can meet many nodes inside its own community, the node has a high degree of activeness within the community. When the node is in the destination community, it can facilitate message delivery. Based on the above analysis, we divided the activities of nodes into two categories, namely “in-community activeness” and “cross-community activeness”.
In Eq. (3),
In Eq. (4),
In SIoT, nodes’ movement range is limited. Messages usually need to be forwarded through multiple nodes. If the current node and the destination node belong to different communities, the message will pass through multiple communities to reach the destination community. The message lifetime is important. If the message does not find the destination host’s community within the lifetime, the message is discarded and cannot be delivered to the destination host. This not only leads to the decline of network performance, but also causes the waste of network resources. Research shows that community structure can reduce the traffic generated during message forwarding through real experimental data. So community interaction is defined to evaluate the relationship between communities. While when the node is in an independent community, the community correlation between two communities is calculated only by their interactions.
The more frequently nodes in different communities meet each other, the better the interaction between two or more different communities is. The interaction between communities gives the opportunity for messages to spread from one community to another. A community can be selected as a relay community if it interacts well with the destination community. This not only avoids invalid message forwarding, but also promotes a step-by-step approach to the community where the destination node is located.
The
The community interaction can be calculated between the node’s community and the destination community regarding the message needs cross-community forwarding. Considering that both node
The main task of the network is to deliver messages. Because the mobile nodes in SIoT have complex social features and the network topology is unstable, the traditional network routing strategies have much limitation in this network. The nodes in SIoT transmit data by means of storing, carrying and forwarding. In this pattern, when a node receives the messages, it stores the messages in the cache and moves with the messages. When the node encounters the selected relay node, it forwards the messages to the relay node. In the same manner, the relay node forwards messages to other selected relay nodes. Finally, the message is forwarded to the destination community, and the destination node receives the message from the source node. Therefore, it is very important to select the optimal relay node when designing routing algorithm. Using nodes’ closeness, activeness and community interaction, this section explains two utility functions. Then the utility functions are used to select the optimal relay node. Finally, an efficient routing algorithm is designed for social internet of things.
Forwarding utility functions
In-Community Forwarding Utility Function The in-community forwarding utility function is a linear combination of “closeness degree” and “in-community activeness”. The in-community forwarding utility function of node
Cross-Community Forwarding Utility Function The cross-community forwarding utility function consists of “closeness degree”, “cross-community activeness” and “community interaction”.
According to the forwarding utility functions mentioned above, the main idea of MSAR is to select the corresponding forwarding utility function according to the needs of message forwarding, so as to screen out the best relay node. If the source node and destination node of the message are in the same community, then the forwarding of the message needs to be done only between nodes within the community. In order to deliver messages quickly, the nodes with higher forwarding utility in the community are selected as relay nodes. When the source node and destination node of the message are in different communities, the forwarding of the message needs to cross different communities. At this time, the higher the relay node’s cross-community forwarding utility value is, the more chance it has to deliver the message towards the destination community. This can not only avoid the messages spread in the invalid communities, but also save valuable network resources.
The MSAR algorithm flow chart.
The routing decision process can be seen more intuitively through the MSAR algorithm flow chart in Fig. 1, as described below:
The message carrier node Check whether node Check if node
The simulation system we choose is ONE (Opportunistic Network Environment) which is widely applied in Opportunistic Network and Social Internet of Things [26]. The main parameters of the computer for our simulation experiment are as follows. The CPU model is Intel Core I7-7700, with eight cores of 3.6 GHz frequency. The computer has 16 GB of memory. The computer’s operating system is Windows 10 Professional. ONE is a simulation application based on the Java programming language. Users can adopt built-in mobile models or add other mobile external models or real data sets. In the simulation experiments, we evaluated the routing performance by changing the simulation run time and the node cache size. The experimental results are compared and analyzed with some classical algorithms named Epidemic, Prophet and Direct Delivery.
In the simulation experiment, three evaluation indexes were adopted, respectively the delivery rate, the network overhead rate and the average latency. The calculation formulas of the three indexes are as follows:
Delivery Rate
Network Overhead Rate
Average Latency
Simulation parameter setting
In the experiment with simulation running time as variable, the cache of the node is set as 50 M. When “cache of node” is the variable, the simulation run time is set as 8 hours. Other parameters were set as the same in the two group experiments, as shown in Table 1.
Basic parameters of simulation experiment
Basic parameters of simulation experiment
Impact of the simulation running time
In this set of experiments, sufficient cache (50 M) is set for the nodes, and the simulation running time is set as 2 hours, 4 hours, 6 hours, 8 hours and 10 hours respectively. We did a lot of repeated simulation experiments for MSAR. The other three algorithms (Epidemic, Direct Delivery and Prophet) are analyzed. Then, their detailed performance will be compared from the three classical algorithms mentioned above.
Impact of different simulation running time on delivery rate.
Figure 2 describes the impact of different simulation running time on delivery rate. As can be seen from the figure, the delivery rates of the four algorithms all show an upward trend over time. The Direct Delivery algorithm in Fig. 2 has the lowest delivery rate, because there is no relay process in the algorithm, and the source node carries messages until it encounters the node of destination. The long waiting process makes the message cannot be successfully delivered within the limited time to live, so the delivery rate of this algorithm is lower than other algorithms. The other three algorithms have little difference in delivery rates at the beginning. When the simulation runs more than 6 hours, the Epidemic routing delivery rate rises rapidly. It is because each meeting node in this algorithm is a relay node, so it can achieve high delivery rates by rapidly flooding messages across the network. The delivery rate of MSAR is second only to that of Epidemic, exceeding Prophet by 14%. That’s because the longer the simulation running time, the more it can get social connections by collecting social information of network nodes. Prophet only uses simple historical information to assist routing decision. Compared with it, MSAR can select more accurately the appropriate relay node, so the delivery rate of MSAR is better than that of Prophet routing.
Impact of different simulation running time on network overhead rate.
Figure 3 compares the impact of different simulation running time on network overhead rate. The Direct Delivery algorithm has no message replication, so the network overhead of it is zero. In the other three algorithms, Epidemic algorithm and Prophet algorithm produce large quantities of copies, thus consume large amounts of network resources. So they have high network overhead. However, MSAR takes full advantage of resources of node’s social attributes and the interaction between communities to assist routing decision. As can be seen from Fig. 3, the overhead rate of the MSAR algorithm is less than 30%. Using multiple social relationships, the MSAR algorithm can accurately select the best relay node, so that the invalid forwarding information is greatly reduced. .In this way, the number of copies is effectively controlled and the index of network overhead rate of MSAR can be lower than Epidemic algorithm and Prophet algorithm.
Impact of different simulation running time on average latency.
As is shown in the Fig. 4, the average latency of each algorithm presents an increasing trend with the increase of simulation running time. As the running time of the simulation increases, so does the number of messages sent in the simulator. Therefore, for each algorithm, the number of messages successfully delivered also increases. As a result, the average delay for messages will be longer.
The average latency of each algorithm does not differ much when the experiment lasted less than 4 hours. Among the four algorithms, algorithm Direct Delivery has the highest average delay when the simulator runs for 4 hours. This is because the node is always carrying messages waiting to meet the destination node when algorithm Direct Delivery is used.
The average latency of Epidemic also has a fast-rising speed. However, MSAR and Prophet respectively make use of nodes’ social attributes and historical information in the network to filter relay nodes, making the path of message transmission more directional and avoiding detour to some extent, so the average latency of them is relatively low.
In social Internet of Things, the amount of information that a node can carry is related to its cache. In this experiment, size of the node’s cache is changed to verify the performance of various algorithms when the cache of node is limited. The simulation running time of this experiment is set as 8 hours. The detailed experimental results will be analysed from three aspects as follow.
Impact of different node caches on delivery rate.
Figure 5 compares impact of different node caches on delivery rate. With the increase of cache space, the delivery rate of algorithm Direct Delivery almost does not increase, but the other three algorithms have significant increases.
The Direct Delivery does not carry out message replication and has low requirements on the size of the cache. Therefore, with the increase of the cache space, the delivery rate of this route is in a stable state. When the cache of node does not exceed 15 M, Epidemic and Prophet are greatly affected by the limit of cache, and have low delivery rates. Data shows that when the cache is 10 M, the delivery rate of MSAR exceeds that of the Epidemic by 26%, which is 17% higher than that of the Prophet algorithm and 6% higher than that of Direct Delivery. The reason why MSAR can still have a relatively high delivery rate in the case of small cache is that it uses the social attributes of nodes and community interaction to select the best relay nodes. It avoids blindly copying and forwarding messages, reduces the pressure of caching and ensures the performance of routing in a limit cache of node.
Impact of different node caches on network overhead rate.
Figure 6 shows the impact of different node caches on network overhead rate. Direct Delivery does not need a relay node to forward a message and does not produce copies, so its network overhead rate is zero. The flooding mechanism of Epidemic algorithm is prone to congestion in the case of limited cache, so the higher packet loss rate results in a larger network overhead rate. Prophet routing has some screening for relay nodes, but the screening strength is not enough. The network overhead rate of Prophet is improved compared with that of Epidemic, but it is still high. In the index of network overhead rate, the MSAR we proposed always has a lower value than Epidemic and Prophet. The reason is that MSAR adopts information related to destination node to select relay node in message forwarding, which can effectively reduce the forwarding times and reduce the number of copies and network overhead. In a word, the MSAR algorithm can make full use of the four measures mentioned above to select the best relay nodes.
Impact of different node caches on average latency.
Figure 7 illustrates the impact of caching on average latency. Direct Delivery has a long waiting process because it does not deliver messages until meeting the destination node. So it has a large average delay, and the delay changes very little. The average delay of the other three algorithms is on the whole increasing trend. When the node’s cache is larger than 15 MB, MSAR has the best performance on average latency. Comparing with Direct Delivery algorithm, Epidemic algorithm and Prophet algorithms, the average latency of MSAR is reduced by 35%, 23% and 11% respectively. MSAR performs well when node’s cache is limited because this algorithm comprehensively considers the close relationship, the activeness and the community interaction. It can carry out multi-dimensional evaluation on the relay node, so as to select the best relay node, effectively avoid the redundancy of intermediate process and reduce the average delay of the algorithm.
As can be seen from the above experimental analysis, MSAR proposed in this paper has the lowest average latency, and the delivery rate and overhead rate exceed the medium level. MSAR achieves a relatively balanced state in the performance of message delivery rate, network overhead and average latency, which can be seen in the above detailed comparison of two sets of simulation experiments and data analysis. The proposed algorithm MSAR can effectively reduce network overhead and average delay while ensuring a better delivery rate. This is because when MSAR selects relay nodes, it firstly divides message forwarding into in-community forwarding and cross-community forwarding. Then the social attributes such as the closeness between nodes, the activeness of nodes and the interaction between communities are considered comprehensively. Different forwarding utility functions are designed for different forwarding stages. The best relay node is selected to make the message spread faster. The messages are delivered to the destination node more precisely. While Direct Delivery does not select relay nodes, Epidemic blindly selects relay nodes, and Prophet fails to make full use of social information. So even if they have a better value in a certain statistic, they are at the expense of other performance.
By studying the social attribute of nodes and the interaction between communities, the paper redefines social closeness degree, in-community activeness, cross-community activeness and community interaction. And it proposes a routing scheme based on multiple social relationships for social internet of things. The algorithm can comprehensively consider the relationship between nodes and communities, and divides the message forward into two stages, in-community forwarding and cross-community forwarding. In the in-community forwarding stage, the node’s relay ability is evaluated by the closeness degree and the in-community activeness. When carrying out the message forwarding process for the cross-community stage, the following three factors are considered in the selection of the relay node, namely the closeness degree, the cross-community activeness and the community interaction. Finally, two sets of simulation experiments are carried out to compare the proposed MSAR with several classical algorithms. It is proved that the MSAR can reduce the average latency even in the case of node’s cache is limited. At the same time, the delivery rate and the network overhead rate have better performance. The problem of unbalanced for delivery rate, overhead and latency in SIoT is well solved. Next, we will consider the effect of node selfishness on routing performance and conduct in-depth research.
Footnotes
Acknowledgments
This research was supported by the Hubei Provincial Department of Education Outstanding Youth Scientific Innovation Team Support Foundation (T2020017), the Natural Science Foundation of Xiaogan City (XGKJ2022010095), the Hubei Natural Science Foundation (2020CFB571).
