Next Article in Journal
DAG Hierarchical Schedulability Analysis for Avionics Hypervisor in Multicore Processors
Next Article in Special Issue
Non-Contact and Non-Intrusive Add-on IoT Device for Wireless Remote Elevator Control
Previous Article in Journal
Study on Stator-Rotor Misalignment in Modular Permanent Magnet Synchronous Machines with Different Slot/Pole Combinations
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Honesty-Based Social Technique to Enhance Cooperation in Social Internet of Things

1
Institute of Computing, Kohat University of Science & Technology, Kohat 26000, Pakistan
2
Department of Computer Science & Bioinformatics, Khushal Khan Khattak University, Karak 23000, Pakistan
3
Faculty of Computer and Software Engineering, Huaiyin Institute of Technology, Huaian 233003, China
4
Biomedical Technology Department, College of Applied Medical Sciences, King Saud University, P.O. Box 10219, Riyadh 1433, Saudi Arabia
5
Department of Engineering, Faculty of Science, Thompson Rivers University, 805 TRU Way, Kamloops, BC V2C 0C8, Canada
*
Author to whom correspondence should be addressed.
Appl. Sci. 2023, 13(5), 2778; https://doi.org/10.3390/app13052778
Submission received: 26 January 2023 / Revised: 18 February 2023 / Accepted: 18 February 2023 / Published: 21 February 2023

Abstract

:
The Social Internet of Things (SIoT) can be seen as integrating the social networking concept into the Internet of Things (IoT). Such networks enable different devices to form social relationships among themselves depending on pre-programmed rules and the preferences of their owners. When SIoT devices encounter one another on the spur of the moment, they seek out each other’s assistance. The connectivity of such smart objects reveals new horizons for innovative applications empowering objects with cognizance. This enables smart objects to socialize with each other based on mutual interests and social aspects. Trust building in social networks has provided a new perspective for providing services to providers based on relationships like human ones. However, the connected IoT nodes in the community may show a lack of interest in forwarding packets in the network communication to save their resources, such as battery, energy, bandwidth, and memory. This act of selfishness can highly degrade the performance of the network. To enhance the cooperation among nodes in the network a novel technique is needed to improve the performance of the network. In this article, we address the issue of the selfishness of the nodes through the formation of a credible community based on honesty. A social process is used to form communities and select heads in these communities. The selected community heads having social attributes prove effective in determining the social behavior of the nodes as honest or selfish. Unlike other schemes, the dishonest nodes are isolated in a separate domain, and they are given several chances to rejoin the community after increasing their honesty levels. The proposed social technique was simulated using MATLAB and compared with existing schemes to show its effectiveness. Our proposed technique outperforms the existing techniques in terms of throughput, overhead, packet delivery ratio (PDR), and packet-delivery latency.

1. Introduction

The Internet of Things (IoT) is the connection of physical objects that feature IP addresses for the Internet’s connectivity and the communications between them. The IoT has different technologies working in the cycle, rather than being based on a single piece of technology [1]. IoT is a network with intelligence to connect all things to the Internet to share information using some protocols. The things on the Internet sense, send data, and provide intelligent solutions to the underlying network [2]. IoT devices are not limited to traditional devices such as laptops, personal computers, mobile phones, and tablets. There is a diverse range of devices that use embedded technologies to communicate and interact with the environment throughout the Internet. The main technologies include sensors and actuators that interact with the physical environment. Actuators are intelligent enough to store and share data. Many sensor attributes, such as memory size, battery life, and computational power, restrict data processing. The processing is performed by the network and sometimes processed by the central remote servers. Some examples include connected security systems, cars, electronic home appliances, and various devices in the commercial environment and industry [3]. IoT has taken the world by storm, as millions of smart devices are deployed daily in the home, business, office, and industries. These greatly influence the cutting of costs, the reduction of energy consumption, the improvement of health care, and the creating of smart cities that improve human life. Thus, we need a better understanding of how devices are connected in smart homes [4]. The IoT industry is rapidly growing, being predicted to increase from 892 million USD now to 4 trillion USD by 2025 [5].
A novel mode of communication is the Social Internet of Things (SIoT), where the connected nodes in the IoT have social attributes [6]. The structure of the SIoT is modeled to help navigate the nodes’ discovery, as we do in social networks. The establishment of trust through honesty among nodes can be addressed in SIoT to show the degree of interactions [7]. The ability of these objects to socialize with each other intelligently results in a social network. These objects manage such communities intelligently without direct communication with humans [8]. The data in the different applications are at risk of being leaked out. Therefore, trust must be established among the connected nodes to keep the data reliable and private. Trust is key in keeping the data personal, reliable, and confidential [9]. More trusted nodes in a network means a more reliable system. Various parameters and the nodes’ social behavior contribute to the nodes’ trust in the network. In [10], researchers proposed a machine learning-based approach to compute trust in SIoT networks. This scheme works on the computation of direct and indirect trust to isolate trustworthy and untrustworthy nodes in the network.
The role of reputation is widely justified in the SIoT environment, where the nodes are vulnerable to risks due to incomplete information. The reputations of nodes are used in the network to predict their behavior, based on experience and accumulated information [11]. In [12,13,14,15,16,17,18,19], various schemes for increasing the trust values of nodes and to detect the misbehaving nodes in the SIoT networks to enhance their performance levels were discussed.
In [20], the Copy-Adjustable Incentive Scheme (CAIS) using a virtual credit-based mechanism to incentivize the selfish nodes to forward messages to their neighboring nodes was presented. Social and non-social credits are given to the selfish nodes both inside and outside of the community. The DSL-STM [21] was proposed with three multilevel trust schemes. The proposed mechanism is scalable and dynamic in practice for SIOT networks. The DSL-STM uses user trust dimensions, device trust dimensions, and service trust dimensions as metrics to show the behavior of nodes in the SIoT environment. These three metrics are combined through a machine learning-based method to detect the behavior of nodes in the SIOT.
Various trust-based techniques have been used to detect and omit the selfish behavior of nodes in networks. Unlike current incentive and reputation-based techniques, our proposed social technique has different approaches to (i) credible community creation, (ii) selfish nodes after detection, and (iii) selection of heads. Other techniques lack the creation of a credible community. Nodes can be assessed by their honesty levels, and a credible community can be formed. In other techniques, the nodes with selfish behavior are warned and then expelled from the community after showing repeated selfish behavior. In our social technique, the nodes with selfish behavior are isolated in the selfish domain. Each selfish node is given a chance to rejoin the community by increasing its honesty level. The selection criteria of heads involve the node’s seniority level, which is not considered in other techniques. A senior node has better knowledge of the network, having spent a long time in the network to make decisions about nodes’ performances. In the proposed technique, trust parameters and social behavior are used to detect the selfish nodes in the network and stimulate them for better performance. A credible community is formulated based on the honesty levels of the nodes. A social technique is then used to select the heads of the community for the incentivization and punishment of nodes in the community. Detection of the selfish behavior of nodes is the major problem in SIoT networks. This issue has been addressed by many researchers, and our motivations for this study were as follows:
  • Detection of selfish nodes in the network.
  • Increasing the number of honest nodes in the network to enhance the performance of the network.
  • Devising a social technique for the heads’ selection to overcome the complexity in some contemporary schemes for the selection of heads.
  • Separating the selfish nodes from honest nodes for the better utilization of network resources.
The following are the key benefits of the proposed scheme:
  • Selfish nodes are stimulated for cooperation easily.
  • Network performance is optimized.
  • Our technique realizes the social aspects of the nodes in the SIoT.
  • Our technique effectively handles the detection of the selfish behavior of the nodes.
  • The isolation of selfish nodes helps with improving their social behavior.
The primary contributions of our proposed scheme are:
  • An honesty-based, credible community is established.
  • The seniority of the node is considered for head selection.
  • Isolation of selfish nodes from the community to improve the network’s performance.
The following are the objectives of the proposed technique:
  • Establishing a credible community based on honesty attributes.
  • Enabling reliable communication among the nodes in the network to increase the number of honest nodes in the network for better utilization of the resources.
  • Proposing a mechanism to detect dishonest and selfish nodes in the network.
  • Separating the selfish nodes in a selfish domain.
  • Providing a chance to the selfish and dishonest nodes to participate in the network and hence increase the network’s performance.
The rest of the paper is organized as: The literature review is given in Section 2. The proposed model is defined and explained in Section 3. The procedures for the isolation of nodes and punishment are explained in Section 4. Section 5 discusses the monitoring system. The simulation results, comparisons, and performance analysis are given in Section 6. Finally, Section 7 concludes the proposed work and discusses the future directions.

2. Literature Review

IoT is the eminent communication model for computing devices’ dynamic connectivity with different devices. The main technologies of the IoT domain are machine-to-machine communication, data-aware routing, and radio-frequency identification (RFID). Some seamlessly connected devices are smartwatches, sensors in smart homes for locking and unlocking, smart cities, smart vehicles, and smart forensics systems [22]. The IoT can also provide help in the current COVID-19 pandemic situation. The IoT can be used in smart healthcare systems for properly monitoring COVID patients by connecting various interconnected networks. This could greatly reduce healthcare costs and improve the treatment of COVID-19 patients. Applications such as ArogyaSetu and Close Contact are employed using IoT tactics to effectively trace COVID-19 patients and suspects [23].
Lack of cooperation among the connected nodes in the network is a challenge to forwarding data. Trust management is substantial in IoT, enabling networks to transfer reliable data to increase nodes’ privacy [24]. A multistep method has been proposed to detect selfish nodes in the network having three steps: (i) establishing a cluster, (ii) using multi-person game theory to send data to a node’s neighbor, and (iii) detection of selfish nodes by the reputations of the nodes [25]. In [26], a novel cumulative trust-based technique (CTBET) was proposed, based on the novel idea of cumulative trust in IoT-based networks. It calculates direct and indirect trust among the connected nodes in the network to improve the network’s security and privacy. This leads to trustworthy data transmission and identifies the selfish nodes by updating the node routing table. A distributed trust management technique investigates the node’s behavior and sends its trust value to the network. The technique is used to detect the nodes’ behavior based on the trust weight recommendations as selfish or honest [27]. In [28], a social technique called Social Characteristics-based Distributed Routing Algorithm (SCDRA) was presented, which uses the social features of the nodes, such as selecting friends and a community, to forward the data in the network efficiently. The nodes with strong friendships in the network have higher durations of communications, and data are forwarded successfully. Amin et al. [29] explain nearly all the aspects of SIoT in detail and integrates it conceptually with modern technologies such as big data, cloud computation, and other social networks. It further proposed six key aspects of SIoT: the discovery of services, navigability of objects, architecture, plate forms and tools used, relationships, and management of the trust. Nobahary et al. [30] used genetic algorithms and learning automation to detect malicious nodes in a route. The first clustering algorithm was used to set up clusters and routes. The nodes in the network worked collectively to forward data to the destination nodes. Each node’s performance was monitored by its neighbors, and the learning automation system detected the selfish nodes in the network. DASH avoids contact with selfish nodes, rather than isolating them in the network, in a novel approach to dealing with selfish nodes. The nodes with social behavior are avoided unless they start cooperating again. Thus, the selfish nodes are allowed to change their behavior to improve the network’s performance [31].
The Amin et al. [32] have proposed a community detection mechanism for the identification of network communities. They used the social influence of the central node on its neighbors to detect network communities. Local and global information play important roles in the detection mechanism. The proposed scheme Friendliness Based Trustworthy Relationship Management (F-TRM) [33] utilizes the honesty of the devices in the SIoT-based network. As humans make friends, the SIoT network devices also make friends to share their data and services. A node in the F-TRM scheme selects the best nodes which can provide services to other nodes in the network, and this updated feedback is sent to all the nodes in the SIoT network.
The node’s active participation improves the network’s performance in the network’s activities. The heads of the community are elected based on honesty parameters such as the centrality of nodes, nodes interactions, and node interest in the community. The elected heads provide incentives to the honest nodes and punish the nodes with selfish behavior in the community [34]. The authors of [35] proposed a watchdog system for detecting malicious nodes in the network and devised a mechanism to reduce the number of selfish nodes in the network to enhance its performance. The watchdog system’s operations are based on cooperatively exchanging the reputation scores of nodes. A hybrid approach was proposed in [36] to stimulate the nodes in the network to cooperate and reduce the number of selfish nodes in the network for better performance. The proposed model has a monitoring system to monitor the behavior of the nodes and an incentive module that stimulates the nodes for cooperation by providing incentives in the form of reputations.
A Q-learning technique combined with a multi-copy routing algorithm was used to calculate the credit value of each node to determine its suitability to deliver a message. To ease the congestion in the network, the nodes deleted already exchanged messages when meeting each other [37]. In [38] a social election technique was used to elect the heads and omit the selfishness in the network by assigning cooperation values as incentives. With the emergence of 5G/B5G, the IoT is transforming into the integrated Internet of the future. With the advancements in the intelligent transportation system, smart vehicles, and smart parking, the innovative technologies for the IoV have emerged to make data communication possible between vehicles and their environment. Such networks aim to ease traffic congestion, help reduce road accidents, and share other information for better utilization of vehicles [39]. In [40], the author discussed the social aspect of the SIoV. A vehicle in the network starts socializing when it meets other entities and shares common information such as traffic information, weather, road congestion, road safety, and car parking. SIoV systems are initiated from the manufacturing site by enabling the vehicle with sensors for different social operations. In SIoV, the vehicle maintains a social relationship list of other vehicles through on-board units (OBUs) to communicate with owners and other vehicles.
SOCIABLE is a novel vigorous system to disseminate data in an urban environment having an SIoV network. It selects a relay vehicle based on common community interests and similar social behavior of the vehicle. The architecture of SOCIABLE has community recognition and social influence components. Community recognition systems select the vehicles of the same community to create community knowledge and social influence component to calculate the importance of vehicles in the current community [41]. The environment surrounding the vehicle is not credible and not trustworthy. Smart contracts, physical unclonable functions (PUF), and certificates are used in a blockchain protocol to establish trust among the vehicles in IoV [42]. TACASHI has proposed a trust-aware social communication architecture for inter and in-vehicle structures in the SioV. The driver’s honesty is considered through online social networks, and historical mobility patterns of the vehicles are used to develop trust and path prediction [43]. An evolutionary game theory technique is used in [44] to evaluate reputation management. The system assigns specific reputation values to the network’s vehicles. If the reputation value of a vehicle drops to zero, it is marked as dishonest and removed from the network. For the reputation value of a traffic event, the initial reputation value of the traffic event is submitted to its vehicle, and if the value of the message drops to zero, the messages are removed from the broadcasting. An incentive punishment scheme (IPS) is a democratic election process to elect heads in the community to detect and punish the selfish nodes in the community. A mathematical model is used in the election process alongside monitoring of the nodes’ performances in the network. Nodes with cooperative behavior receive incentives in the form of reputation, and nodes with repeated selfish behavior are punished [45]. Social selfishness-aware routing (SSAR) is used in delay-tolerant networks (DTNs), where it considers each node’s willingness and contact opportunity to forward data to its fellow nodes [46]. The efficient monitoring system (EMS) is a social technique to detect cooperative and non-cooperative nodes in VDTN based on their cooperative behavior [47].
The proposed scheme is compared with some contemporary schemes in Table 1.
The SIoT makes the objects smarter and incorporates social behavior in them. SIoT is a new concept, and little research has been performed in the field. One of the challenging tasks in the SIoT is to maintain reliable communications in the network. Any node in the network has to forward the data to its neighboring node to enable reliable communication. However, some nodes may not forward the data to their neighboring nodes to save their resources (battery, energy, bandwidth, etc.). Such nodes are selfish nodes and can degrade the network’s performance. As the social network grows, the number of selfish nodes also increases, affecting the network’s performance.
Any node which forwards the data to its neighbor node is termed an honest node and gives honest recommendations. Researchers use many techniques and schemes to detect and omit the node’s selfishness to improve the network’s performance. Still, a novel technique is required to detect selfish behavior and dishonest node in the network. The key considerations in the proposed mechanism are given in Table 2.

3. Proposed Model

In our proposed model, we have a community comprised of many different nodes. The nodes in the community are socially bonded to form a social network, just like a human community where the people with the most resources are termed credible. Nodes in the community have strong social ties and cooperate with one another. The main community has all the nodes in it having some social status. The proposed scheme has three sections: (i) the selection of a credible community from the main community, (ii) the selection of heads from the credible community, and (iii) the section of a decision module, which declares the nodes as honest or selfish.
In the first phase of our proposed model, credible nodes are selected from the main community. This new community will be called a credible community having all the credible nodes. Credible nodes are all those nodes with a certain level of community reputation. The node’s reputation will be calculated through the honesty level of the node. After the formulation of a credible community, in the second selection phase, a social process is adopted to select two heads from the credible community having reputation criteria related to seniority, cooperative behavior, and energy level. The node with the highest weight of reputation criteria is selected as the selected community head, SCH, and the node with the second highest weight of reputation is selected as the selected monitoring head, SMH. The selected heads will be assigned responsibilities to stimulate the nodes in the network and omit the selfish behavior of the nodes in the network. The role of the SCH will be to stimulate the selfish nodes for participation in the network and can punish the selfish node reported by the SMH. The SMH will monitor the behavior of nodes in the community. If the node is selfish, it will be reported to the SCH to take some action. The SCH will isolate the selfish nodes in a separate domain, and no communication will be made with them. If the selfish node shows repeated selfish behavior, the SCH can expel it from the community—a severe punishment. Table 3 shows the lists of symbols used in the equations. These symbols are also further explained in the text, along with the respective equations.
An honesty threshold value was calculated for network simulation. The proposed scheme deals differently with selfish nodes. The node with below-threshold selfish behavior will be separated into an isolated domain, and no communication will be performed with these nodes, rather than expelling them permanently from the community. However, a selfish node can rejoin the main community by increasing its honesty level beyond the threshold value. Such nodes will be given a chance to increase their honesty levels to become part of the main community again. If a node shows repeated selfish behavior, a message will be sent to the neighboring communities to stop communication with that node—a severe punishment. This message will be broadcast to all the neighboring communities to stop communication with nodes with constant selfish behavior. Figure 1 shows the system diagram.
This section is further divided into the subsections (a) Preliminaries and Assumptions, (b) Selection Module, and (c) Decision Modules.

3.1. Preliminaries and Assumptions:

The following are the proposed mechanism’s key assumptions and features:

3.1.1. Network Model

A diverse set of IoT nodes is assumed in the network. The network can be denoted by N having a finite number of nodes n i , where i = 1 ,   2 ,   3 , n . The proposed network can be represented by Equation (1).
N = n 1 ,   n 2 ,   n 3 ,     ,   n i
It is further assumed that each node n i has a transceiver and is capable of performing its data and network operations.

3.1.2. Communication Layers

The IoT network nodes may operate on different physical and network layers. However, it is assumed that the nodes are adequately equipped to communicate and easily translate each other’s data. The proposed mechanism mainly focuses on the data and communication patterns among the nodes. The roles of gateways or heterogeneity controls are not within the domain of this work. Moreover, wireless interfaces allow for promiscuous operation. This communication mode is assumed to be supported by the network nodes to enable the proposed procedures. Most of the present IEEE 802.11-based wireless devices allow such a promiscuous mode of operation.

3.1.3. Base Protocols

The base protocols can be traditional IP and IoT-based 6Lopan and ad hoc network-based DSR and AODV. However, the nodes should be capable of understanding each other, even with such diverse protocols.

3.1.4. Classification of Nodes

The network’s nodes can be classified as friend, mutual friend, selfish, or honest nodes.
A friend of node n i can be denoted as F n i that is present in the community and has active liking and trust ( A L T ) with the node n i . A mutual friend of nodes n i and n j ,   M n i , n j , refers to the common friend of two interacting friends in a community. A well-behaved node is an honest node in the community, which means node H n i transmits the data or messages correctly to its fellow nodes in a network. The neighbor’s node, n k , denotes all those nodes that have direct interaction with nodes in the community. Additionally, the node does not try to modify history. Any node in the community that uses the resources of the other nodes for its purpose but does not serve the community with its resources, such as energy, bandwidth, link sharing, and storage space, can be described as a selfish node S n i .
Equations (2)–(5) are used to define these nodes.
F n i N :   n j N a l i v e n j A L T n i  
M n i , n j N :   n k N a l i v e n k A L T n i   n k A L T n j
H n i     N : n i     τ c r     τ M n c o m   ϵ   N a l i v e     n i   i s   t r u s t f u l  
S n i N :   n i N a l i v e n i   i s   n o t   i n   H n i
where N is the total number of nodes which is between 0 ,   1 .

3.1.5. Community

It is a group of nodes with similar interests, the same geographical area, and mutual understanding. The nodes in the community socialize with each other to develop trust by sharing information. For example, a community of vehicles could be used to pick up and drop off kids at schools. These buses can share information regarding school opening times, school closing times, and traffic and events at the schools. A community of nodes can be denoted as C o m m i having a set of nodes n i performing some functions, R o l e j , as shown in Equation (6). There are two communities. The main community is represented by τ M n c o m , and the credible community represented by τ C r c o m .
C o m m i = { n i N a l i v e     n i :   R o l e i }

3.1.6. Events

An event is any activity in a community where nodes patriciate for a specific period. For example, during weekdays school attendance, the vehicles provide pickup and drop-off to the kids. An event can be denoted as a R o l e i that chains different functions, f j , as shown in Equation (7):
R o l e i = f 1 , f 2 , f 3 , f n

3.1.7. Social Interactions

While performing a particular role, the nodes may share information about the events. For example, vehicles attending some events might socialize with each other by sharing traffic information, parking information, accident emergency exits, and other social information, as shown in Equation (8).
S I n i , n j = { H i s t o r y . R o l e k n i     H i s t o r y . R o l e k n j

3.1.8. Node Energy Level

There is a finite quantity of energy in each node. Different nodes have different energy levels in the network. The node is alive if it has sufficient energy to process, transmit, and receive the data in the network from other nodes. The current and initial energy levels of a node n i are E n i and E I n i t i a l n i , respectively. E t n i is the node’s residual energy ratio at time t , as calculated by Equation (9).
E t n i = I n i t i a l _ E n i C o n s u m e d _ E n i

3.1.9. Threshold Calculations

For the node to become part of the credible community, the node’s honesty level is compared with the threshold value, as calculated in Equations (10) and (11). Equation (12) is used to show the status of the node as credible. The threshold value monitors the honesty level of the node in our method and triggers actions when the honesty level of the node is less than the threshold value.
τ C r c o m   ( λ , 1 ]     N :   { n i     H n i   w h e r e   n i > λ   ϵ 0 , 1   }
τ M n c o m   0 , λ   N :   { n i     H n i   w h e r e   n i     λ   ϵ 0 , 1
H n i     N : n i     τ c r     τ M n c o m   ϵ   N a l i v e     n i   i s   t r u s t f u l  
τ c r   represents the credible community, τ M n c o m represents the main community, and λ is an arbitrary constant assumed for calculating the threshold value for honesty from node n i to node n j   H n i , n j t .

3.2. Selection Module

In this phase of the selection process, a credible community is created from the main community based on the social behavior of nodes in the community. We have chosen honesty as a trust parameter to create a credible community from the main community.

3.2.1. Credible Community

The following metrics are used to calculate the honesty level of the node to become part of a credible community.
i.
Interaction frequency
Let us consider the conversation of nodes in the community involving the exchange of data: C n = c n 1 ,   c n 2 , c n 3 ,     c n i . The conversation made between trustee and trustor nodes, denoted by n i and n j , over time t, is given in Equation (13).
i f     t n i , n j = L C n i T L C n i E L C n i
where L C n i indicates the number of interactions between nodes, and T L C n i indicates the total number of interactions. E L C n i is the entropy function that measures the usefulness of the conversation between the nodes calculated in Equation (14).
E L C n i = φ log φ 1   φ log 1 φ
Here, φ is the fraction of communication between the trustor and trustee node.
ii.
Credibility
Credible nodes consider each other trustworthy if they have common friends. The more common friends between two nodes, trustor i and trustee j, the higher the reliability of their communications. This can be calculated in Equation (15):
c r t n i , n j = m i n n i , n j N n i c r t n i , n j = n i   n j N n i
                          c r t n i , n j = M n i , n j N n i     M   n i , n j ϵ 0 , 1 , N n i 0
where M n i , n j are the common friends of i and j ,   and N n i is the numbers of friends of the trustee.
iii.
Community Interest
Each node has interests in the community. A node that takes an interest in the community’s activities is likely to forward the relevant data to its connected nodes. It can be calculated in Equation (16):
c i t n i , n j = C o m m i m i n n i , n j C o m m i N n i c i t n i , n j = C o m m i [ n i n j ] C o m m i N n i
                    c i     t n i , n j = C o m m i M n i , n j C o m m i N n i       M   n i , n j ϵ 0 , 1 , N n i 0
where C o m m i M n i , n j is the common community of friends of the trustor and trustee nodes and C o m m i N n i is the common community of the friends of the trustee nodes.
The total honesty of node n i to node n j is calculated in Equation (17) by taking the sum of three metrics, as shown below:
H n i , n j t =   α + γ + δ
where α + γ + δ = 1 and α = β i f   i f     t n i , n j γ = β c r   c r     t n i , n j   δ = β c i c i     t n i , n j .
The total honesty of the node calculated in Equation (17) is compared with the threshold value calculated in Equations (10) and (11) when the network is setup. If the node’s honesty level is greater than the threshold value, the node is credible and becomes a member of the credible community. Otherwise, the node is not considered to become part of the credible community. The node is not selfish but not honest enough to be part of the credible community. The credible community includes all the nodes with honesty levels greater than the threshold value. The proposed scheme automatically changes the node’s state from the main community to the credible community if its honesty exceeds the threshold value. Algorithm 1 shows the creation of a credible community from the main community.
Algorithm 1 Credible community creation.
Ensure: Credible Community from Main Community
Require: Number of nodes n
Ensure: Credible Community from Main Community
  • Begin
  • Create τ C r c o m   τ M n c o m
  • Formation of τ C r c o m
  • For i = 1: n do
  • Compute H n i , n j of all Nodes in τ M n c o m
  • H n i , n j t   i f   t n i , n j + c r   t n i , n j + c i   t n i , n j
  • Frequency of interactions :   i f   t n i , n j = j L C n i T L C n i E L C n i
  • Credibility :   c r   t n i , n j = M n i , n j N n i
  • Community of interest: c i   t n i , n j = C o m m i M n i , n j C o m m i N n i
  • i f   ( H n i , n j t     λ )
  • n o d e   n i = Credible   node
  • n o d e   n i   τ C r c o m
  • Else
  • n o d e   n i   τ M n c o m
  • End if
  • End for
  • Exit

3.2.2. Heads Selection

In this section of the selection module, two heads are selected from the credible community based on the following criteria.
i.
Computation of Seniority:
In a community of nodes, the nodes join the community, make some social relationships with other nodes, and may leave over the period. The node that spends the most time in a community becomes its senior node. The senior node learns more about the community’s resources and its fellow nodes. Different events occur in a community. An event k can be represented as E V k , where k = 1 ,   2 ,   3 , , m and m is the total number of events. A node n i participating in an event k for a time interval t can be represented by E V k n i T . The seniority of the node n i   can be represented by Equation (18):
S E V k n i t = T c u r T r e g
where t c u r is the current time and t r e g is the registration or joining time of the node n i .
ii.
Cooperative behavior.
A node is cooperative if it has more friends in the community to communicate with. More friends of the node mean it is more trustworthiness and cooperativity with the connected nodes in the community. Therefore, the cooperative behavior of a node n i towards node n j can be figured out as in Equation (19):
c b n i T = m i n n i , n j m a x N n i , N n j c b n i T = n i n j N n i     N n j
c b n i T = M n i , n j N n i     N n j
where, M n i , n j is the total number of friends of nodes i and j and N n i     N n j is the total number of common friends of nodes i and j.
iii.
Energy level:
The node energy is very important in the community. A node having high energy means it is alive and is taking an active part in the main events of the community. A node with a higher energy level is more cooperative than a node with a lower energy level. The node’s current energy level can be computed in Equation (20).
Δ E n i = Avg ( Δ E t i ( n i ) Δ E t i + 1 ( n i ) )
where t i represents the different uniform reading times. The energy fluctuation must satisfy the equation E n i > E n i , after a given amount of time. Due to the SIoT heterogeneous environment, the value E may differ for each node.
iv.
Final Weights of Nodes:
The final weight of a node can be calculated in Equation (21).
f w n i T = s E V k n i T + c b n i T + E n i / Δ E n i
In Equation (21), the final weight f w n i T of node n i determines the node’s status as a head node in the credible community. f w n i T is the final weight of the nodes to be used for selecting heads of the community. The node having the highest value of f w n i T is selected as the selected community head, SCH, and the node with the second highest value is selected as the selected monitoring head, SMH. The SCH is responsible for managing the nodes in a community and will make a decision based on the behavior of a given node in the community. The SMH monitors the behavior of nodes in the community. Suppose it observes a node with selfish behavior. It is reported to the SCH for further treatment. The node is isolated to a selfish domain if it shows selfish behavior, and a chance will be given to increase its honesty level. The SCH can also expel the selfish nodes if it shows repeated selfish behavior in the isolated domain. This process selects the heads in the community based on the final weight of the node in the community having attributes of seniority, cooperative behavior, and energy level.
Algorithm 2 shows the process for head selection.
Algorithm 2 Head selection.
Require: Number of all credible nodes n in Cr(Com)
Ensure: Selection of Different Heads in Cr(Com) and its Responsibilities
  • Begin
  • For i = 1: n do
  • Select Heads in τ C r c o m such as SCH, SMH
  • Compute the weight of each node in τ C r c o m for head Selection
  • Weight = E V k n i T +   c b n i T +   c b n i T
  • s E V k n i T = t c u r t r e g
  • c b n i T = M n i , n j N n i     N n j
  • Δ E n i = n i / Δ E n j
  • Higher weight in τ C r c o m   SCH
  • Go back to step 5 and repeat steps 5, 6, 7 and 8
  • For i = 1: n−1
  • 2nd higher weight in τ C r c o m   SMH
  • End for

3.3. Decision Module

In this module of our proposed scheme, the selfishness and honesty of the node’s performance are evaluated. Here, in our approach, the detection and punishment of selfish nodes are different from some of the current approaches [31,34,38]. The SMH in the community monitors the nodes’ behavior. It has direct communication with all the nodes in the community. The monitoring head monitors the value in the assessment table, and if it finds selfish behavior of the nodes in the community, it reports the SCH to act based on the node’s behavior. The SCH node is responsible for taking appropriate action against selfish nodes in the community. In our approach, the nodes with selfish behavior will be isolated to a separate domain, rather than expelling them permanently from the community. These selfish nodes will be given a chance to rejoin the community once their reputation scores reach a threshold value calculated in Equation (11) because the nodes can regain some energy and make memory free to start forwarding messages again. However, such nodes may be expelled from the network with repeated selfish behavior, as a severe punishment, and this message will be forwarded to all the nodes in the network. The decision module is subdivided into (i) performance evaluation of nodes, (ii) node score in the community, and (iii) node score according to its neighbor. Algorithm 3 shows the functions of two heads.
Algorithm 3 Heads functions.
Input: Available nodes in the community and its Assessment table
Output: node’s behavior
  • ρ a n y   n u m b e r
  • For each node j among the neighbor’s node of interacting node n x i
  • Compute S n x i = f n x i + g n x i d n x i
  • Compute N S n x i + 1 = S n x i + 1 m i n C P A n x i m a x C P A n x i m i n C P A n x i
  • Compute N J d k n x of node n x i neighbor judgement
  • Compute R S n x i = N S n x i + 1 + N J d k n x i 2
  • If R S n x i > ρ
  • Behaviour = “CPR”
  • Else if R S n x i ρ
  • Report to SCH
  • Behavior = “SELF”
  • Update C P A n x i
  • End if
  • Each node SCH   τ C r c o m
  • If (Behavior = “selfish” reported by SMH)
  • then
  • Isolate node in a separate domain
  • Else if (Behavior = “selfish” repeated)
  • Expel the node from the community
  • Broadcast this message in the community
  • Update C P A n x i
  • End if
  • End for

3.3.1. Performance Evaluation of Node

In a community, there are different events represented by E k = n x 1 , n x 2 ......... n x i , t k , where 1≤ n i xi and n x i represent nodes. E k and t k indicate the occurrence of an event at time t. These nodes in the events forward and receive a set of data. The set of data forwarded by a node n x i is represented as (forwarded data) f n x i , and the set of the data generated by the node n x i is (generated data) g n x i . In the process, there are certain data bundles which are dropped and may not be relayed by node n_(x_i), which are represented as (dropped data) d n x i .   Equation (22) shows the nodes’ scores based on how they receive and process the data.
S n x i = f n x i + g n x i d n x i
where is the probable data bundles forwarded, generated, and dropped by node n x i . When the nodes contact each other, they request the information needed to calculate their score S n x i   . This score then becomes part of the community performance assessment table, which has the other nodes’ scores S n x i .
i.
Node Score in the community:
Each node in the community maintains a community performance assessment table C P A n x i . This table has information about all other nodes’ scores, S n x i .   While participating in the events, the nodes exchange information, f n x i ,   g n x i ,   and   d n x i   to build and calculate the node’s score,   S n x i . This information is propagated in the community, and each node in the community keeps information of S n x i in the community assessment table. In this case, the nodes in the community may not directly interact with one another but will learn about nodes’ score (NS) through community performance assessment table’s updates. The score of a node in the community is given by Equation (23):
N S n x i + 1 = S n x i + 1 m i n C P A n x i m a x C P A n x i m i n C P A n x i
N S n x i + 1 shows the node score value of the encountered node n x i + 1 in the overall network, whereas S n x i + 1   shows the performance value of node n x 2 computed by node n x 1 . m a x C P A n x i   shows the maximum and m i n C P A n x i   the minimum probable values recorded in the node assessment table of node n x i . Equation (23) shows how a node in a community performs relative to other nodes in a community. This value is propagated in the community starting from its neighbor node.
Algorithm 4 shows a node’s performance in the community.
Algorithm 4 Nodes performance in community.
Input :   f n x i , g n x i   a n d   d n x i
Output: N S n x i + 1
Begin
S n x i = f n x i + g n x i + d n x i
Min m i n C P A n x i
Max m a x C P A n x i
If S n x i > Max
Max  S n x i
Else
Min  S n x i
End if
Broadcast
N S n x i + 1 = S n x i + 1 m i n C P A n x i m a x C P A n x i m i n C P A n x i

3.3.2. Node Score According to Its Neighbors

The neighbor assessment is very important in a community with few contacts to be made among the nodes. In other words, it is the score calculated based on the direct contact of the nodes with their neighbors. Thus, the assessment of the node in the network only is not sufficient to declare the node as selfish or honest. We need the neighboring nodes’ assessments to decide whether the node’s behavior is honest or selfish. At each contact made, the node’s performance is propagated to all N neighbors about its bundles of data which are accepted or rejected. The neighbor’s opinion score is calculated by Equation (24):
N J D k n x i = ( v = 1 N J D v   n x i N )
where N J D k n x i represents the judgment of node k about node n x i   and N is the total number of neighbors of node n x i . Node v will evaluate the reputation of node n x i based on the value of accepted bundles and rejected bundles for node v. The two values will be compared later to declare the node as selfish or honest in a reputation score calculation. The node score module (NS) will request all the neighbors to show their judgment about the contacted node. The requested information from all N neighbors has all the accepted bundles (AB) and rejected bundles (RB) from that node to them, and the judgment table is updated.

3.3.3. Threshold Value Calculation

The reputation score declares the node as honest or selfish. An honest node is a cooperative node, whereas a selfish node does not cooperate in forwarding the messages. The reputation score of the node is compared with the threshold value calculated in Equations (25)–(27).
τ H n i ρ , 1 N : { n x i   ϵ   R S n x i   w h e r e   n x i > ρ     0 , 1   }
τ S n i o , ρ     N : n x i   ϵ   R S n x i   w h e r e   n x i   ρ     0 , 1  
R S n x i     N : n x i     τ H n i   τ S n i     N S n x i + 1   N J d k  
τ H n i represents honest nodes, and τ S n i represents selfish nodes in the community. ρ is an arbitrary constant assumed for calculating the threshold value for the node score R S n x i . The threshold value monitors the honesty level of the node in our technique and triggers actions according to the honesty level of the node. A node with a reputation score greater than the threshold value is cooperative; otherwise, it is declared as a selfish node.

3.3.4. Reputation Score

The reputation score (RS) of the node n x i will determine the node as honest or selfish by taking values from Equations (23) and (24) and calculating the reputation score of the node in Equation (28):
R S n x i = ( N S n x i + 1 + N J d k n x i 2 )
were N S n x i + 1 is the reputation score of node n x i throughout the network, and N J d k n x i   represents the scores calculated by all its neighbors. The decision module accepts or rejects the request made by the node by comparing the reputation score with the threshold value. If the reputation score exceeds the threshold value, then the node is trustworthy and will be allowed to communicate; otherwise, it will be declared as a selfish node and isolated to the selfish domain. No communication will be made with the nodes in the selfish domain. A message will be propagated to all the nodes in the community.
Algorithm 5 determines the node’s behavior as selfish/honest.
Algorithm 5 Node’s behavior (selfish/honest).
Input: node score N S n x i + 1   , node judgement N J d k n x i
Output: reputation score R S n x i
Begin
If R S n x i > ρ
n x i Honest node
Allowed to communicate
Else if R S n x i         ρ
n x i selfish node
Isolate in a separate domain
End if

4. Isolation of Nodes and Punishment

The reputation score determines the node’s behavior as honest or selfish. A more honest node in the community means more cooperation among the nodes to enhance the community’s performance. However, the selfish nodes can degrade the performance of the community, and some measures must be taken to reduce the number of selfish nodes. If the reputation score is less than the threshold value, the node will be declared selfish and isolated in a separate domain, and nodes will be unable to communicate with them. The selfish node will be given a chance to improve its reputation score and rejoin the community. If the node shows repeated selfish behavior, the SCH can punish the node by expelling it from the community. A message will be sent to all the nodes to refrain from communicating with selfish nodes.

5. Monitoring System

The SMH in the community monitors the behavior of the nodes. The monitoring head monitors the value in the assessment table and reports the SCH to act based on the node’s behavior. The node’s behavior depends on how many data bundles it sends that successfully reach their destinations, and a time delay in each data bundle is observed. Equation (29) calculates the ratio of data bundles received to data bundles generated.
D n x i = R n x i G n x i
D n x i is the data bundles delivered, R n x i is the number of bundles received at nodes x, and G n x i is the data bundles generated by node n x i .

6. Simulations Parameters and Performance Analysis

The effectiveness of the proposed Honesty-Based Social Technique (HBST) is evaluated in this section. The performance parameters considered are throughput, overhead, packet delivery ratio (PDR), and packet delivery latency. These measures are contrasted for two environments where different numbers of selfish nodes were introduced to examine their impact on the network. Selfish nodes can significantly reduce a network’s PDR, delivery delays, and routing overhead. It is essential to separate the selfish nodes to prevent any impact on the network’s overall performance.
Due to the selfish node’s lack of cooperation, packet delivery takes longer. To deliver the packets to their destinations on time, the cooperative nodes must therefore exert twice as much effort. As a result, the packages will take longer than usual to arrive at their destinations. When packets are kept in the node’s buffer for an extended period, the buffer becomes congested, leading to increased packet drops. The rise in dropped packets can also be attributed to the prevalence of selfish nodes. Selfish nodes do not collaborate, which causes the network to drop more packets and perform worse. The nodes depart from the protocol as a result of this. As a result, selfish nodes significantly affect the network nodes’ route information.
The overhead also influences the network’s performance. It reduces the network’s protocol bandwidth. The results demonstrate that the overhead caused by selfish nodes causes the network’s performance to decline as their number grows. Table 4 shows the parameters used in the simulation.
The proposed scheme was simulated and compared with the Copy Adjustable Incentive Scheme (CAIS) [20], Honesty-Based Democratic Scheme (HBDS) [34] and Social Selfishness Aware Routing protocol (SSAR) [46].

6.1. Comparison of Results with 25% Selfish Nodes in the Network

In this environment, 50 selfish nodes of 200 nodes were used, and the results were checked for performance metrics. Figure 2 shows the results for network throughput.
The proposed mechanism did not work effectively at the initial pause times, since the frequency of interactions heavily influences it. The throughput dramatically increases after pause time 20 when the communities were formed following the initial input operations. The throughput of the HBST began to increase as the community commutated and nodes began to show interest in the community. At pause time 60, HBST had a throughput that was 28.27% higher than that of the CAIS, 50% higher than that of the HBDS, and 56.52% higher than that of SSAR. Before pause 20, the continuous improvement in the throughput was due to detecting selfish nodes in the network by the HBST protocol and isolating them in a separate domain to improve the honesty parameters, and the increasing traffic volume.
The comparisons of routing overhead are shown in Figure 2—the nodes first exchange redundant control information to create the communities and their heads. More routing traffic is also required for tasks’ assignments. As a result, HBST initially has a higher routing overhead than CAIS, HBST, and SSAR protocols. When a community is first put up, nodes may quit it, and there is less frequent node interaction. The results show that by 10 s of pause time, HBST has an approximately 50% larger overhead than CAIS, 35.30% larger overhead than HBDS, and 27.46% lesser overhead than HBST for the SSAR protocol.
Given how the configuration was set up, the overhead of the HBST dramatically declined by the pause time of 30 s. The proposed mechanism’s overhead values are marginally better than its rivals. The overhead ratio of the HBST was 45.30% less than that of SSAR, 32.55% less than that of the HBDS, and 21.62% less than that of the CAIS at pause time 60. Similarly, at pause time 100, the overhead of the HBST dropped by around 20.60% compared to CAIS, 27.30% compared to HBST, and 44.90% less than SSAR. The findings show that the overhead of the HBST lowers as soon as the communities are established, nodes begin interacting with one another, and there is a rise in community interest. The isolation of selfish nodes also results in a lower overhead. The overhead ratio is reduced, since these nodes are separated and are not forwarded any communications. Figure 3 shows routing overhead ration for the network having 25% selfish nodes.
Figure 4 compares the proposed HBST’s PDR results to those of the CAIS, HBDS, and SSAR protocols. Over time, the PDRs of the experimented protocols rise. The performance of the proposed protocol is slightly worse than CIAS until pause time 30. At pause time 10, HBST’s PDR is 15.68% higher than that of the SSAR protocol, 3.77% less than that of the CAIS, and equal to that of the HBDS.
After the first setups were complete at pause time 30, the HBST performed at its best. The PDR of the HBST was 3.17% more than that of the CAIS, 14.28% more than that of the HBDS, and 18.46% more than that of the SSARat pause time 50. The PDR of the HBST was considerably increased at pause time 100 and was 10% better than that of the CAIS, 14.28% better than that of the HBDS, and 21% better than that of SSAR. The PDR of the HBST was initially somewhat smaller or equivalent to those of other protocols, as shown in the figure. However, as the community grows and more nodes show interest in it, the PDR of the HBST is improved. The reason for the higher PDR of the HBST at pause time 100 is that selfish nodes were separated from the main network and given time to enhance the qualities of the honesty parameter.
The network’s packet-delivery delays also influence the performance of a network. Network performance decreases as packet-delivery delays increase. Figure 5 compares the end-to-end delays of the proposed protocol with those of its competitors.
The findings indicate that once the community is established, nodes begin to show interest in it, and nodes engage in more interactions to create a credible community; HBST experiences the minimum delays. At stop time 10, the CAIS packet delay was 6.25% longer than that of the HBST, the HBDS’s delay was 9.10% longer, and the SSAR protocol’s delay was 12.54% longer. As a credible community is formed, the HBST delays get shorter, and the network’s performance gets better. The end-to-end delays of the HBST were 20% shorter than those of the CAIS, 36.7% shorter than those of the HBDS, and 42.86% shorter than those of the SSAR protocol at the end of the simulation. Reducing HBST end-to-end delays is attributable to excluding selfish nodes from communication.

6.2. Comparison of Results with 50% Selfish Nodes in the Network

The results for an environment having 50% selfish nodes—100 selfish ones out of a total of 200 nodes—are covered in this section. The rise in the number of selfish nodes also impacts throughput, overhead ratio, PDR, and packet delays. The current experiment followed the same protocols as the prior one. The results for the network having 50% selfish follow the same trends that are somewhat reminiscent of the first experiment. However, the values and performances have slightly declined because there are more selfish nodes.
Figure 6 compares the proposed protocol’s throughput results to those of the selected competitors. At pause time 10, HBDS and SSAR approaches outperformed HBST by about 15% and 10.52%, respectively, whereas CAIS’s throughput was approximately 19.05% higher than that of the HBST. At pause time 20, all three protocols—CAIS, HBDS, and SSAR—outperformed HBST’s throughput by roughly 17.40%, 9.52%, and 5%, respectively. At the initial stage, the throughput of the HBST was lower because the community was still growing, and nodes are not interacting frequently. The throughput of the HBST increased, as seen in the figure, and surpassed those of other approaches after establishing the credible community after pause time 20. The throughput of the HBST was 20% higher than that of the CAIS, 11.12% higher than that of the HBDS, and 37.78% higher than that of the SSAR at pause time 60. Similarly, the data reveal that HBST performs better than CAIS, HBDS, and SSAR at pause time 100.
The impact of the overhead ratio on network performance is depicted in Figure 7. The results show that HBST initially carries a greater overhead. The increased overhead is caused by the need to establish a trustworthy community, give nodes enough time to begin interactions with one another, and encourage nodes to take an interest in the community. As a legitimate community is established and grows, the overhead falls. At pause time 10, the overhead ratio of the HBST was 48.96% higher than that of the CAIS, 43.75% higher than that of the HBDS, and 41.67% higher than that of the SSAR. The other three approaches, CAIS, HBDS, and SSAR, have demonstrated a lower overhead ratio than the HBST at pause time 20. After establishing a credible community, the overhead ratio of the HBST began to improve. As seen in the results at pause time 60, the overhead ratio is 16.21% lower than that of the CAIS, 20.51% lower than that of the HBDS and 27.90% lower than that of the SSAR. Similarly, it improved further at pause time 100, achieving a lower overhead ratio.
The isolation of 50% of nodes from the main network also contributed to the improvement in the overhead ratio, as no communication was performed with the selfish nodes, decreasing the overhead ratio.
Figure 8 compares the PDR results of the proposed protocol to those from the CAIS, HBDS, and SSAR. At pause time 10, the PDR of the HBST was 17.5% lower than that of the SSAR method, 6.97% lower than that of the CAIS, and 2.43% lower than that of the HBDS. A lower PDR indicates that a credible community is developing. Results show that the PDR increases after developing a reliable community and once the nodes begin to show interest in the community. The PDR of the HBST was 10.34% lower than that of the CAIS, 15.51% lower than that of the HBDS, and 25% lower than that of the SSAR at pause time 60. The results show that the PDR of the HBST is superior to those of all three other methods at pause time 100.
Results for PDR in the prior experiment with 25% selfish nodes were marginally better than those in this experiment with 50% selfish nodes for all protocols. As fewer communication channels were constructed, and packet drops were more common, an increase in selfish nodes lowered the PDR.
The results for end-to-end delay are shown in Figure 9. The results show that once the network is set up, the HBST starts performing well. At stop time 10, the HBST’s packet delays were 7.40% shorter than those of the CAIS, 13.80% shorter than those of the HBDS, and 19.35% shorter than those of SSAR. As the nodes start communicating and a credible community is formulated, delays in the HBST decrease, as seen in the results. From pause time 30 to 100, it improves further. This is due to forming a credible community to forward messages to its neighbor nodes. At pause time 60, delays were 21.81% shorter than those of the CAIS, 23.56% shorter than those of the HBDS and 28.34% shorter than those of the SSAR. Similarly, at pause time 100, HBST had shorter delays than CAIS, HBDS, and SSAR techniques by 22.5%, 41.87% and 48.34%, respectively.
There were 50% selfish nodes in the network, which our technique separated from the main network, so no communication was performed with these selfish nodes in our scheme. This decreased the delays in the network, as no communication was possible with selfish nodes until they improved their honesty levels.

7. Conclusions and Future Work

In this paper, we have proposed a novel technique for SIoT networks to deal with the selfish behavior of nodes. If the selfish behavior of the nodes is not addressed, it can degrade the performance of the network and reduce the network’s basic value. HBST is a social technique to enhance the cooperation level of the nodes in the network, using honesty as a performance parameter. Unlike many other techniques that permanently expel the selfish nodes from the network, the proposed technique creates a separate domain for the selfish nodes and prevents all other honest nodes from communicating with selfish nodes. The selfish nodes in the isolated domain are given a chance to improve their behavior and become part of the network again.
The simulation results have shown that the proposed mechanism has greatly improved the network’s performance with the presence of selfish nodes. The key performance metrics are throughput, overhead ratio, PDR, and packet delay. In the future, nodes will also be given incentives or isolation from the main network to improve their behavior. In addition, incentives for game-based models dealing with virtual currencies can also be incorporated. The existing scheme can also be updated to avoid the selfish behavior of nodes in the network.

Author Contributions

S.M. introduced the main idea and finalized the methodology; S.K. supervised the entire work; M.M.U. conducted investigations, simulations, and validations; S.K. conducted the formal analysis, implementation of methods, and administration; N.A.A. evaluated the prior works/literature review; S.M. carried out original draft preparation, review, editing, and visualization; N.A.A. funding acquisition; E.A.M. reviewed, revised, and updated the manuscript. All authors have read and agreed to the published version of the manuscript.

Funding

This project is funded by Researchers Supporting Project number (RSPD2023R648), King Saud University, Riyadh, Saudi Arabia.

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Acknowledgments

The authors extend their appreciation to the Researchers Supporting Program for Project number (RSPD2023R648), at King Saud University for supporting this research project.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Perwej, Y.; AbouGhaly, M.A.; Kerim, B.; Harb, H.A.M. An extended review on Internet of things (IoT) and its promising applications. Commun. Appl. Electron. (CAE) 2019, 7, 2394–4714. [Google Scholar] [CrossRef]
  2. Perwej, Y.; Omer, M.K.; Sheta, O.E.; Harb, H.A.M.; Adrees, M.S. The future of Internet of Things (IoT) and its empowering technology. Int. J. Eng. Sci. 2019, 9, 20192. [Google Scholar]
  3. Hassija, V.; Chamola, V.; Saxena, V.; Jain, D.; Goyal, P.; Sikdar, B. A survey on IoT security: Application areas, security threats, and solution architectures. IEEE Access 2019, 7, 82721–82743. [Google Scholar] [CrossRef]
  4. Gsma. Safety, Privacy and Security. Available online: https://www.gsma.com/publicpolicy/resources/safetyprivacy-security-across-mobileecosystem/ (accessed on 29 January 2019).
  5. Atzori, L.; Iera, A.; Morabito, G. SIoT: Giving a Social Structure to the Internet of Things. IEEE Commun. Lett. 2011, 15, 1193–1195. [Google Scholar] [CrossRef]
  6. Afzal, B.; Umair, M.; Shah, G.A.; Ahmed, E. Enabling IoT platforms for social IoT applications: Vision, feature mapping, and challenges. Future Gener. Comput. Syst. 2019, 92, 718–731. [Google Scholar] [CrossRef]
  7. Thamburu, T.R.; Vinitha, A.V. A Survey on Trust Management Models in Internet of Things Systems. Int. J. Adv. Res. Comput. Sci. Softw. Eng. 2017, 7, 15–21. [Google Scholar]
  8. Atzori, L.; Iera, A.; Morabito, G.; Nitti, M. The Social Internet of Things (SIoT)—When Social Networks Meet the Internet of Things: Concept, Architecture, and Network Characterization. Comput. Netw. 2012, 56, 3594–3608. [Google Scholar] [CrossRef]
  9. Jayasinghe, U.; Lee, H.W.; Lee, G.M. A computational model to evaluate honesty in social Internet of things. In Proceedings of the Symposium on Applied Computing, Marrakech, Morocco, 4–6 April 2017; pp. 1830–1835. [Google Scholar]
  10. Chengzhe, L.; Yangyang, D.; Qili, G.; Dong, Z. A Trust-based Privacy-preserving Friend Matching Scheme in Social Internet of Vehicles. Peer—Peer Netw. Appl. 2021, 14, 2011–2025. [Google Scholar]
  11. De Meo, P.; Fotia, L.; Messina, F.; Rosaci, D.; Sarné, G.M. Providing Recommendations in Social Networks by Integrating Local and Global Reputation. Inf. Syst. 2018, 78, 58–67. [Google Scholar] [CrossRef]
  12. Truong, N.B.; Um, T.-W.; Zhou, B.; Lee, G.M. From Personal Experience to Global Reputation for Trust Evaluation in the Social Internet of Things. In Proceedings of the IEEE Global Communications Conference (GLOBECOM), Singapore, 4–8 December 2017; pp. 1–7. [Google Scholar]
  13. Xiao, H.; Sidhu, N.; Christianson, B. Guarantor. Reputation Based Trust Model for Social Internet of Things. In Proceedings of the International Wireless Communications and Mobile Computing Conference (IWCMC), Dubrovnik, Croatia, 24–28 August 2015; pp. 600–605. [Google Scholar]
  14. Mohammadi, V.; Rahmani, A.M.; Darwesh, A.; Sahafi, A. Trust-based Friend Selection Algorithm for navigability in social Internet of Things. Knowl.-Based Syst. 2021, 232, 107479. [Google Scholar] [CrossRef]
  15. Azad, M.A.; Bag, S.; Hao, F.; Shalaginov, A. Decentralized SelfEnforcing Trust Management System for Social Internet of Things. IEEE Internet Things J. 2020, 7, 2690–2703. [Google Scholar] [CrossRef]
  16. Truong, N.; Lee, G.M. A Reputation and Knowledge-Based Trust Service Platform for Trustworthy Social Internet of Things. In Proceedings of the 19th International Conference on Innovations in Clouds, Internet and Networks (ICIN), Paris, France, 1–3 March 2016; pp. 1–8. [Google Scholar]
  17. Jafarian, B.; Yazdani, N.; Sayad Haghighi, M. Discrimination aware Trust Management for Social Internet of Things. Comput. Netw. 2020, 178, 107254. [Google Scholar] [CrossRef]
  18. Li, N.; Varadharajan, V.; Nepal, S. Context-Aware Trust Management System for IoT Applications with Multiple Domains. In Proceedings of the IEEE 39th International Conference on Distributed Computing Systems (ICDCS), Dallas, TX, USA, 7–9 July 2019; pp. 1138–1148. [Google Scholar]
  19. Jayasinghe, U.; Truong, N.B.; Lee, G.M.; Um, T.-W. RpR: A Trust Computation Model for Social Internet of Things. In Proceedings of the IEEE International Conferences on Ubiquitous Intelligence Computing, Advanced and Trusted Computing, Scalable Computing and Communications, Cloud and Big Data Computing, Internet of People, and Smart World Congress (UIC/ATC/ScalCom/CBDCom/IoP/SmartWorld), Toulouse, France, 18–21 July 2016; pp. 930–937. [Google Scholar]
  20. Ning, Z.; Liu, L.; Xia, F.; Jedari, B.; Lee, I.; Zhang, W. CAIS: A copy adjustable incentive scheme in community-based socially aware networking. IEEE Trans. Veh. Technol. 2016, 66, 3406–3419. [Google Scholar] [CrossRef]
  21. Abdelghani, W.; Amous, I.; Zayani, C.A.; Sèdes, F.; Roman-Jimenez, G. Dynamic and scalable multilevel trust management model for Social Internet of Things. J. Supercomput. 2022, 78, 8137–8193. [Google Scholar] [CrossRef]
  22. Stoyanova, M.; Nikoloudakis, Y.; Panagiotakis, S.; Pallis, E.; Markakis, E.K. A survey on the Internet of things (IoT) forensics: Challenges, approaches, and open issues. IEEE Commun. Surv. Tutor. 2020, 22, 1191–1221. [Google Scholar] [CrossRef]
  23. Singh, R.P.; Javaid, M.; Haleem, A.; Suman, R. Internet of things (IoT) applications to fight against COVID-19 pandemic. Diabetes Metab. Syndr. Clin. Res. Rev. 2020, 14, 521–524. [Google Scholar] [CrossRef] [PubMed]
  24. Pourghebleh, B.; Wakil, K.; Navimipour, N.J. A comprehensive study on the trust management techniques in the Internet of Things. IEEE Internet Things J. 2019, 6, 9326–9337. [Google Scholar] [CrossRef]
  25. Nobahary, S.; Garakani, H.G.; Khademzadeh, A.; Rahmani, A.M. Selfish node detection based on hierarchical game theory in IoT. EURASIP J. Wirel. Commun. Netw. 2019, 2019, 255. [Google Scholar] [CrossRef]
  26. Qureshi, K.N.; Iftikhar, A.; Bhatti, S.N.; Piccialli, F.; Giampaolo, F.; Jeon, G. Trust management and evaluation for edge intelligence in the Internet of Things. Eng. Appl. Artif. Intell. 2020, 94, 103756. [Google Scholar] [CrossRef]
  27. Mendoza, C.V.L.; Kleinschmidt, J.H. A distributed trust management mechanism for the Internet of things using a multi-service approach. Wirel. Pers. Commun. 2018, 103, 2501–2513. [Google Scholar] [CrossRef]
  28. Penurkar, M.R.; Deshpande, U.A. Social characteristics-based routing algorithm for a mobile social network. Computing 2021, 103, 133–153. [Google Scholar] [CrossRef]
  29. Amin, F.; Majeed, A.; Mateen, A.; Abbasi, R.; Hwang, S.O. A Systematic Survey on the Recent Advancements in the Social Internet of Things. IEEE Access 2022, 10, 63867–63884. [Google Scholar] [CrossRef]
  30. Nobahary, S.; Garakani, H.G.; Khademzadeh, A.; Rahmani, A.M. Selfish Node Detection Based on GA and Learning Automata in IoT. 2020. Available online: https://assets.researchsquare.com/files/rs-22412/v1_covered.pdf?c=1631833987 (accessed on 25 December 2022).
  31. Loudari, S.; Abouhassane, A.; Benamar, N.; Younis, M. DASH: A Distributed Approach for Selfishness Handling in a DTN. In Proceedings of the 2nd IEEE Middle East and North Africa Communications Conference (MENACOMM), Manama, Bahrain, 19–21 November 2019; pp. 1–6. [Google Scholar]
  32. Amin, F.; Choi, J.G.; Choi, G.S. Advanced community identification model for social networks. Cmc-Comput. Mater. Contin. 2021, 69, 1687–1707. [Google Scholar] [CrossRef]
  33. Rajendran, S.; Jebakumar, R. Friendliness Based Trustworthy Relationship Management (F-TRM) in Social Internet of Things. Wirel. Pers. Commun. 2022, 123, 2625–2647. [Google Scholar] [CrossRef]
  34. Rehman, G.U.; Ghani, A.; Zubair, M.; Ghayyure, S.A.; Muhammad, S. Honesty based democratic scheme to improve community cooperation for Internet of Things based vehicular delay tolerant networks. Trans. Emerg. Telecommun. Technol. 2021, 32, e4191. [Google Scholar] [CrossRef]
  35. Dias, J.A.; Rodrigues, J.J.; Xia, F.; Mavromoustakis, C.X. A cooperative watchdog system to detect misbehavior nodes in vehicular delay-tolerant networks. IEEE Trans. Ind. Electron. 2015, 62, 7929–7937. [Google Scholar] [CrossRef]
  36. Dias, J.A.; Rodrigues, J.J.; Kumar, N.; Mavromoustakis, C.X. A hybrid system to stimulate selfish nodes to cooperate in vehicular delay-tolerant networks. In Proceedings of the IEEE International Conference on Communications (ICC), London, UK, 8–12 June 2015; pp. 5910–5915. [Google Scholar]
  37. Dong, Y.; Zhang, F.; Joe, I.; Lin, H.; Jiao, W.; Zhang, Y. Learning for multiple-relay selection in a vehicular delay tolerant network. IEEE Access 2020, 8, 175602–175611. [Google Scholar] [CrossRef]
  38. Rehman, G.U.; Ghani, A.; Zubair, M.; Saeed, M.I.; Singh, D. SOS: Socially omitting selfishness in IoT for smart and connected communities. Int. J. Commun. Syst. 2020, 36, e4455. [Google Scholar] [CrossRef]
  39. Ji, B.; Zhang, X.; Mumtaz, S.; Han, C.; Li, C.; Wen, H.; Wang, D. Survey on the internet of vehicles: Network architectures and applications. IEEE Commun. Stand. Mag. 2020, 4, 34–41. [Google Scholar] [CrossRef]
  40. Talbi, S.; Bouabdallah, A. Interest-based trust management scheme for social Internet of things. J. Ambient Intell. Humaniz. Comput. 2020, 11, 1129–1140. [Google Scholar] [CrossRef]
  41. Yury, A.; Andrade, E.; Nogueira, M.; Santos, A.; Matos, F. Social-based cooperation of vehicles for data dissemination of critical urban events. In Proceedings of the GLOBECOM 2020–2020 IEEE Global Communications Conference, Taipei, Taiwan, 7–11 December 2020; pp. 1–6. [Google Scholar]
  42. Javaid, U.; Aman, M.N.; Sikdar, B. A scalable protocol for driving trust management in Internet of vehicles with blockchain. IEEE Internet Things J. 2020, 7, 11815–11829. [Google Scholar] [CrossRef]
  43. Kerrache, C.A.; Lagraa, N.; Hussain, R.; Ahmed, S.H.; Benslimane, A.; Calafate, C.T.; Vegni, A.M. TACASHI: Trust-aware communication architecture for social Internet of vehicles. IEEE Internet Things J. 2018, 6, 5870–5877. [Google Scholar] [CrossRef]
  44. Tian, Z.; Gao, X.; Su, S.; Qiu, J.; Du, X.; Guizani, M. Evaluating reputation management schemes of Internet of vehicles based on evolutionary game theory. IEEE Trans. Veh. Technol. 2019, 68, 5971–5980. [Google Scholar] [CrossRef]
  45. Rehman, G.U.; Ghani, A.; Zubair, M.; Naqvi, S.H.A.; Singh, D.; Muhammad, S. Ips: Incentive and punishment scheme for omitting selfishness in the Internet of vehicles (iov). IEEE Access 2019, 7, 109026–109037. [Google Scholar] [CrossRef]
  46. Li, Q.; Zhu, S.; Cao, G. Routing in socially selfish delay tolerant networks. In Proceedings of the 2010 IEEE Infocom, San Diego, CA, USA, 14–19 March 2010; pp. 1–9. [Google Scholar]
  47. Rehman, G.U.; Zubair, M.; Qasim, I.; Badshah, A.; Mahmood, Z.; Aslam, M.; Jilani, S.F. EMS: Efficient Monitoring System to Detect Non-Cooperative Nodes in IoT-Based Vehicular Delay Tolerant Networks (VDTNs). Sensors 2023, 23, 99. [Google Scholar] [CrossRef] [PubMed]
Figure 1. System model.
Figure 1. System model.
Applsci 13 02778 g001
Figure 2. Network throughput with 25% selfish nodes.
Figure 2. Network throughput with 25% selfish nodes.
Applsci 13 02778 g002
Figure 3. Routing overhead ratio for the network having 25% selfish nodes.
Figure 3. Routing overhead ratio for the network having 25% selfish nodes.
Applsci 13 02778 g003
Figure 4. Packet delivery ratio for the network having 25% selfish nodes.
Figure 4. Packet delivery ratio for the network having 25% selfish nodes.
Applsci 13 02778 g004
Figure 5. End-to-end delays for a network having 25% selfish nodes.
Figure 5. End-to-end delays for a network having 25% selfish nodes.
Applsci 13 02778 g005
Figure 6. Throughput for the network with 50% selfish nodes.
Figure 6. Throughput for the network with 50% selfish nodes.
Applsci 13 02778 g006
Figure 7. Routing overhead ratio for the network with 50% selfish nodes.
Figure 7. Routing overhead ratio for the network with 50% selfish nodes.
Applsci 13 02778 g007
Figure 8. Packet delivery ratio for the network with 50% selfish nodes.
Figure 8. Packet delivery ratio for the network with 50% selfish nodes.
Applsci 13 02778 g008
Figure 9. End-to-end delays for the network with 50% selfish nodes.
Figure 9. End-to-end delays for the network with 50% selfish nodes.
Applsci 13 02778 g009
Table 1. Relevant literature.
Table 1. Relevant literature.
S. No.PaperContributionsLimitations
1Lai et al. [10]Computes trust among the nodes in SIOT
using a machine-learning approach
Uses direct and indirect trust parameters
Final trust is calculated using machine learning
The previous history is not considered in the trust calculation
2Mohammadi et al. [14]A generic model for exchanging services
and resources in SIoT-based networks.
Intelligent friend selection method.
Use of social attributes topology, Communication willingness and Other nodes
characteristics
The mobility of the nodes is an issue.
3Jafarian et al. [17]Considers the discriminatory behavior
of the object to detect the behavior of
the node in the network.
Uses data mining techniques and the KNN algorithm to
extract the meaning of the social attrib
utes of the node.
Social similarity service, the remaining
energy and service importance are considered social attributes.
The node’s selfish behavior is only detected no action is taken to stimulate the nodes.
No punishments for the selfish nodes.
4Abdelghani et al. [21]Multilevel trust model.
It is a machine-based method.
Three social attributes are used.
User trust dimension
Device trust dimension
Service trust dimension
Can prove costly in a large network.
5Nobahary et al. [25]A multistep method is proposed to detect selfish nodes in the network having three
Steps.
Formation of cluster
Multi-person game theory to send data to its neighbors.
Detection of selfish nodes by the reputations of the node.
No punishment for the selfish nodes.
No incentives for the selfish nodes to stimulate them for active participation.
6Amin et al. [32]Identification of network communities.
Local and global information is used to detect the influential node in the community.
Parameters-free scheme and no previous information are needed for community detection.
Can be used in business applications to recommend friends.
Detects only network community.
Do not detect the selfish nodes in the network.
7Rajendran et al. [33]Honesty-based mechanism to select friends.
Uses an updated friendship directory.
Privacy protection paradigm.
Uses MIT and ARAS datasets to select friends in the network.
Security is a challenge when a new node is added to the community.
8Rehman et al. [34]Honesty-based democratic scheme
Election-based scheme.
Nodes are punished after repeated selfish behavior.
No isolation of selfish nodes.
No credible community is created.
Election process is overhead.
9Dias et al. [35]Watchdog system to detect selfish nodes
Cooperative exchange of node’s reputation for selfish behavior
of node.
Detects only selfish nodes.
No incentives for the selfish nodes.
10Rehman et al. [38]Election based scheme
Election of heads
Cluster head
Incentive head
Monitoring head
Incentives in the form of reputations and punishment of selfish nodes
Election process is overhead.
11Talbi et al. [40]Detection of untrusted behavior of nodes based on interest preferences.
Uses both direct and indirect trust to calculate the behavior of the node.
Grouped trustworthy and untrustworthy nodes separately.
The selfish behavior of the nodes is not identified.
Table 2. Key considerations.
Table 2. Key considerations.
Key ConsiderationsCurrent LiteratureOur Proposed Work
HonestyHonesty is considered an attribute of the election processHonesty is considered a personal attribute to judge the behavior of a node.
Credible communityThere is no consideration of credible communityA credible community is created based on the honesty level of the node
Head SelectionThe heads are selected based on the reputation of the node in the community.A novel technique is adopted to select the heads of the community where the seniority of nodes is considered.
Isolation of selfish nodesNodes with selfish behavior are punished.The selfish nodes are isolated in a separate domain, and further chance is given to increase their honesty.
Node StimulationNormally the incentive and credit-based mechanisms block the selfish nodes immediately.Nodes with selfish behavior are given warnings before expelling them from the community
Table 3. Summary of symbols and notation used.
Table 3. Summary of symbols and notation used.
SymbolsExplanations
τ M n c o m Main community
τ C r c o m Credible community
F n i Friend node in the community
M n i , n j ,Mutual friends
H n i Honest and trusty nodes
S n i Selfish nodes
S I n i , n j Social interactions of two nodes, i and j
E t n i The energy of the node over time t
λ Arbitrary constant to calculate the honesty Threshold value
i f     t n i , n j Interaction frequency
c r     t n i , n j Credibility of node
H n i , n j t Total   honesty   of   node   n i to n j
SCHSelected Community Head
SMHSelected monitoring Head
E k Events in the community
f n x i Forward data
g n x i Generated data
d n x i Dropped data
S n x i Score   of   nodes   n x i
C P A n x i Community   performance   assessment   of   nodes   n x i
N S n x i + 1 Node score in the community
N J D k n x i Node score according to its neighbor
R S n x i Reputation score of nodes to declare node as selfish or honest
Table 4. Parameters used in the simulation.
Table 4. Parameters used in the simulation.
ParametersValues
Simulation field1000 m2
Transmission radius50 m
Base protocolsAODV
Pause time10–100 s
Ratio of selfish nodes25% & 50%
Threshold value usedCredible community, node selfishness
Comparison protocolsCAIS, HBDS, SSAR
Nodes distributionRandom
Packet sizeRandom
Type of channelWireless
Simulation duration100 s
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Muhammad, S.; Umar, M.M.; Khan, S.; Alrajeh, N.A.; Mohammed, E.A. Honesty-Based Social Technique to Enhance Cooperation in Social Internet of Things. Appl. Sci. 2023, 13, 2778. https://doi.org/10.3390/app13052778

AMA Style

Muhammad S, Umar MM, Khan S, Alrajeh NA, Mohammed EA. Honesty-Based Social Technique to Enhance Cooperation in Social Internet of Things. Applied Sciences. 2023; 13(5):2778. https://doi.org/10.3390/app13052778

Chicago/Turabian Style

Muhammad, Shad, Muhammad Muneer Umar, Shafiullah Khan, Nabil A. Alrajeh, and Emad A. Mohammed. 2023. "Honesty-Based Social Technique to Enhance Cooperation in Social Internet of Things" Applied Sciences 13, no. 5: 2778. https://doi.org/10.3390/app13052778

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop