1. Introduction
As the 4th industrial revolution and the development of future social interconnection technology, internet of things (IoT), following the internet, brings tremendous changes in people’s lives [
1,
2,
3]. With the continuous intelligence of hardware devices and the maturity of edge computing technology, IoT will have greater scalability [
4,
5]. Integrating the concept of socialization into the IoT system, the social internet of things (SIoT) [
6,
7], as a new service paradigm, improves the interoperability among IoT objects and enhances the service efficiency in industry applications. The objects will establish the relationship with each other and collaborate on services without human intervention, which make the objects more autonomous in the process of IoT service. Moreover, the structure of SIoT boosts the network navigability and scalability, which enhances the service discovery and resource acquisition. Currently, the SIoT paradigm has been widely applied in various application scenarios, such as vehicular social networks [
8,
9,
10,
11], mobile crowdsensing [
12,
13,
14,
15,
16], data-driven smart city [
17,
18,
19,
20], etc.
In SIoT, each object (e.g., intelligent sensors, smartphone, and video camera) can be a service requester (SR) or service provider (SP), according to its own motivations. The SR will broadcast the service request, such as collecting sensing tasks or urban noise data, and provide some rewards to the SP. On the other hand, the SP will provide the specific service, such as sharing information or computation resources to the SR, to receive some rewards from the SR. Each IoT object can autonomously determine which service to initiate and which object to delegate within a given set of candidate objects. By this method, the service discovery, interaction, and execution will be optimally implemented.
Although the SIoT paradigm will improve the quality of services to a certain extent, it also may suffer from various types of attacks due to the presence of malicious objects [
21]. Some malicious objects may launch bad-mouthing or cheating attacks to affect the decision process of service delegation [
22]. To address this issue, in recent years, some works in the literature have presented various trust models to solve the problems of trust establishment and relationship maintenance among objects in SIoT [
23,
24]. Trust is a complex and comprehensive concept in SIoT [
25,
26]. Specifically, trust not only reflects the security and reliability at the IoT system level, but also reflects the degree of cooperation between two IoT objects when establishing an interactive relationship. The establishment of trust will stimulate cooperation and improve security in the process of service [
27,
28,
29]. Castelfranchi and Falcone introduced a systematic socio-cognitive trust theory [
27]. They proposed a layered model for trust, which consists of five basic ingredients: trustor, trustee, task, goal, and context. They also proposed and analyzed the important characteristics, including integrated, socio-cognitive, multi-factor and multi-dimensional, dynamic, non-prescriptive, etc. The proposed trust theory can be used as a theoretical foundation for analyzing the trust issue of SIoT. Xia et al. combined the fuzzy logic method to solve the trustworthiness convergence issue and proposed a lightweight mechanism for service discovery based on directed acyclic graph (DAG) [
28]. On this basis, Xia et al. proposed a trustworthiness inference framework which combines a kernel-based nonlinear multivariate grey prediction model and fuzzy logic method to quantify the trust [
29]. Amin et al. presented a classified catalog of friendliness and trust in SIoT. They described the key ingredients and challenges of friendliness- and trust-based approaches, which contributes to the analysis of the effectiveness of the trust model [
30]. Narang and Kar proposed a hybrid trust management framework based on probabilistic neighborhood overlap, which considers the resource-constrained IoT devices [
31]. Moreover, they analyzed the various attack scenarios, such as slandering/bad-mouthing attack, Sybil attack, self-promoting attack, and ballot stuffing attack to demonstrate the effectiveness of the proposed model. Chen et al. proposed an integrated trust evaluation model which combines direct and indirect trustworthiness [
32,
33]. Moreover, they further proposed a series of new metrics, such as friendship similarity, social contact similarity, and community of interest similarity to quantify the indirect trust evaluation. They also applied the typical application scenarios, including air pollution detection and augmented map travel assistance, to illustrate the feasibility of the proposed model. In order to comprehensively compare the recent studies along with advantages and disadvantages, we presented detailed comparison of various works in the literature on the SIoT trust model in our previous work [
34].
However, the current research on trust model in SIoT still faces three important challenges. First, most works focus on the unidirectional trust evaluation from the SR to the SP. The evaluation of the trustworthiness of SR is ignored, which may cause the trust crisis from the SPs to the SR. The SPs may gradually lose enthusiasm if they suffer prejudiced treatment of the malicious SR. Second, the trust model and service delegation are context- or environment dependent. The properties of the same task are different in different contexts or environments. Third, the decision of service delegation should not only consider the trust of SPs, but also the utility of the SR. In addition, the correlation between trust and utility is ambiguous.
To address the above challenges, we propose a bidirectional trust model and trust-based service delegation approach by comprehensively considering the trust and utility of service requesters and providers. We combine the social trust theory and characteristics of IoT tasks to formalize the trust evaluation and service delegation model. The main contributions of this paper are as follows:
In order to improve the quality of the IoT service, we propose the bidirectional evaluation and selection model between the SRs and SPs to formulate the process of service or task in SIoT, thus preventing the malicious behaviors of SRs and SPs.
A context-aware trust model which comprehensively considers the task properties in the specific environment is presented. We employ the subjective logic to construct the opinion-based and evidence-based trust quantification method.
We present a trust-based service delegation approach that optimizes the utility of the SR while effectively isolating the malicious SPs. Since the service delegation problem in SIoT seldom considers the trust and utility issue at the same time, this paper explores the correlation of trust and utility and their impacts on the service delegation.
In order to validate the feasibility of our proposed trust model and service delegation method, we present a series of vital experiments to explain the operation of our model. Our results show that the proposed model can effectively assist the IoT object to make the decision of the service delegation.
The remainder of the paper is organized as follows: the system overview and problem statement are presented in
Section 2. On this basis, we present the trust and service delegation model, including the trust quantification method and integrated service delegation mechanism in
Section 3. In
Section 4, in order to demonstrate the feasibility of proposed trust model, we present a series of experiments. In
Section 5, we conclude the paper and summarize the contributions. Moreover, some pending research issues are discussed for further research.
2. System Overview and Problem Statement
We consider a general system model in SIoT which consists of five ingredients: (1) service requester (SR), (2) service provider (SP), (3) intermediate object, (4) the context, and the (5) service/task. The life cycle of a task or service is shown in
Figure 1. The first step that the SR will perform is to determine the content of the task, including the context, property and goal. It will also publish the task request information. Then, after receiving the message of the task request, the SPs will determine whether to respond to the request by evaluating the trustworthiness of the SR. If the SR is trustworthy from the perspective of the SP, the SP will send a respond message which contains the task price, which is calculated by considering the cost of the task performance. After receiving some response, the SR will delegate the task to the specific SP based on the trust model and the consideration of utility. Then, the delegated SP will perform the task and submit the result. After receiving the result of the task from the delegated SPs, the SR and SP will evaluate each other about their behaviors and update the trust model.
Different from the traditional trust-based service delegation model in SIoT, we combine the bidirectional evaluation to construct the trust model and adopt the utility optimization to formulate the service delegation problem. On the one hand, most of the current literature assumed that SR is reliable, which means the trust between the SR and SP is unidirectional. This assumption may be reasonable and useful in the small-scale network or SR-centric situation. However, in the open and large-scale SIoT scenarios, the SR may not be reliable. If there is no bidirectional evaluation, a malicious SR may damage the SP’s privacy, or it may delay a payment after the SP submits the task results. On the other hand, the current literature often employs trustworthiness to determine which SP should be delegated, but there is a lack of consideration for utility issues. To this end, we design the trust-based utility formulation for service delegation.
In order to facilitate the formal description, we divide the entire process into four steps, focusing on the decision-making problem of the object in the process of IoT tasks or services.
2.1. Step 1: The SR Determines the Content of the Task in the Specific Context
In the first step, the SR will comprehensively consider the goal of task and the context to construct the content of the task. A task includes the several necessary properties, which reflect the SR requirements. Formally, the task is denoted by , where C is the context of the task . represents the properties of task in the context C, and is the goal of the SR for publishing the task .
2.2. Step 2: The SPs Determine Whether to Response the Task Request of the SR
After receiving the request from the SR
, the SPs will evaluate the trustworthiness of the SR
based on the direct interaction records and some recommendation opinions from several intermediate objects. The set of SPs is denoted by
. The set of intermediate objects, which have some interactions with the SR, is denoted by
. The trustworthiness of the SR
from the viewpoint of the SP
is formulated as
where
denotes the direct trust vector of the SR
from the viewpoint of the SP
. Additionally,
denotes the recommendation trust of the SR
from the viewpoint of the intermediate object
. The function
is the convergence function of the trust opinions from the different sources. Based on the evaluation result of the SR trust, the SP will determine whether to respond to the task request by solving the following formulation:
where
is a response threshold set by
for the task
, and
denotes the price that SR
needs to pay to the SP
if
delegates
to perform task
.
denotes the function of the trustworthiness calculation.
2.3. Step 3: The SR Delegates the Task to the SP
After receiving several responses, the SR
will consider the factors of trust and utility to make a decision of service delegation. Similar to the process of trust evaluation of the SR from the viewpoint of the SP in step 2, the trust of the SP
from the viewpoint of the SR
is formulated as
where
denotes the intermediate objects which have some interactions with the SP
. Based on the trust analysis, the SR will determine the delegated SP by solving the following formulation:
where
is the delegation function that calculates the integrated index for service delegation.
is a trust threshold set by
for the task
.
2.4. Step 4: The Delegated SP Performs the Task and Submits the Result, and Then the SR and SP Will Mutually Comment Each Other
After receiving the delegation message from the SR, the delegated SP (we assume ) will perform the task and submit the result. After that, the SR will evaluate the result according to the accuracy, real-time, etc., of the task performance to decide the success or failure of the task. The SR’s evaluation of the task is denoted by , where is the occurred time of the task . If the SR is satisfied according to the SP’s performance, the will be set 1, and it will be set −1 if the SR is unsatisfied. Similarly, the SP will also evaluate the SR’s behavior in the process of the task, which is denoted by . If the SP is satisfied, then the will be set 1, and it will be set −1 if the SP feels unsatisfied.
2.5. Problem Statement
According to the previous description, we can find that in the entire service delegation process, the most important part lies in the rules for mutual trust evaluation between objects, and how to use the trust evaluation information to make decisions. The first important problem is the structuralization of the interactions and the calculation of the direct trust.
Problem Statement 1: Based on historical interaction records between object A and object B, how does object A determine the direct trust of object B?
The recommended trust opinions from intermediate objects can be great references for object A to evaluate the trust of object B. However, trust opinions from different sources should have different degrees of confidence. For example, we usually believe in information from reliable sources. Therefore, how to effectively quantify the confidence of information from different sources will be the second important problem.
Problem Statement 2: When intermediate object C provides A with trust opinions about object B, how will A integrate the opinions of C?
The success of task execution is seriously related to the delegation decision of the SR, so in the process of service delegation, the SR must carefully evaluate the reliability of SPs. Establishing trust is a suitable way to evaluate the reliability of an object. However, the SR will not only consider trust, but also its own benefits in the delegation process. Therefore, how to comprehensively consider both trust and utility so as to ensure that a relatively reliable SP is selected and optimize the utility of SR is the third important problem.
Problem Statement 3: According to the trust of the candidate objects, how does object A delegate the task?
In summary,
Problem 1 corresponds to the quantitative calculation of
.
Problem 2 corresponds to the formulation of Equation (
1). In addition,
Problem 3 corresponds to the formulation of Equation (
4).
4. Simulation and Results
In order to verify the validity of the subjective logic-based trust model proposed in this section, this study conducts experiments based on the Netlogo experimental platform [
37]. NetLogo is an agent-based programming language, which is useful to simulate the interaction among objects and monitor the state changes in a simulative SIoT environment. The construction of the experimental platform is based on our previous work [
38]. The trust evaluation mechanism module and service delegation module are adjusted based on the aforementioned bidirectional model. The experiments are divided into the following parts: First, after the interactive experiment, the results of the bidirectional trust evaluation of SPs to SR and SR to SPs are observed to test the effectiveness of subjective logic in the process of trust evaluation. On this basis, the impact of similarity of the services/tasks and positive evaluation rates on trust evaluation results are analyzed. Then, the influence of the number of recommenders on the compositive trust evaluation results is analyzed, and finally the benefits of SR and the changes in the number of responding SPs are measured.
This study defines the rate of positive evidence (RPE) as the proportion of the number of simulated service results that are rated as “positive—that is, satisfied” in the total number of service evaluations. Similarity, the rate of task similarity (RTS) is the similarity of the attributes among the services. For example, when the similarity is 40%, it means that 40% attributes of randomly generated services in the network are consistent. In this experiment, a total of 110 virtual nodes are deployed for service interaction, of which 10 nodes are employed as SRs and 100 nodes are employed as SPs. At the same time, the above virtual nodes will also serve as intermediate nodes in the process of trust evaluation to provide recommendations.
4.1. Comparison of SR and SPs’ Basic Bidirectional Trust Evaluation Results
In this part of the experiment, the positive evaluation rate is set to 50%, and the task similarity is 40%. The experiment runs 500 ticks, and one service/task is executed in each tick. In addition, 10 SPs and 1 SR were randomly selected for observation.
Figure 5a,b shows the trust evaluation results of 10 SPs and SR. As shown in
Figure 5a, compared with the direct trust evaluation results of each SP, the compositive trust evaluation results for SR have less difference and more comprehensive opinions, which reflects that the evaluation method based on subjective logic can better integrate the recommendations from different sources so that most SPs can have a more consistent evaluation for SR. Similarly, as shown in
Figure 5b, after the SR obtains the recommendations of other intermediate nodes in the network, it obtains the integrated evaluation results of each SP’s trust. It can be seen that the recommendations of other intermediate nodes will facilitate the SR to make a more accurate evaluation on the trustworthiness of SPs.
4.2. The Influence of RPE and RTS on the Results of Trust Evaluation
This part of the experiment analyzes the impact of RPE and RTS on the evaluation of SR’s trust. As shown in
Figure 6a, with the increase in the positive evaluation rate, the trust evaluation result of the object will be improved to a certain extent. However, this improvement still has certain limitations. The evaluation results of some SPs for SR may decrease with the increase in RPE. The main reason is that due to the low similarity of tasks. Although some service evaluation opinions are positive or satisfactory, the evidence strength is slight.
As shown in
Figure 6b, compared with the case where the task similarity is 40%, when the task similarity is 80%, the attributes between tasks are more similar. Therefore, the evidence strength of a single evidence will be increased, which will make the formation of the trust evaluation more accurate and reliable. Compared with
Figure 6a, the upper and lower boundaries in
Figure 6b are larger, and the differences among different RPE groups are more obvious. It can be demonstrated that when the task similarity is greater, the object can provide more accurate recommendations, thereby forming a more accurate trust evaluation result.
4.3. The Influence of the Number of Recommenders on the Trust Evaluation
In the process of trust evaluation for a certain SP, the SR needs to collect the recommendation opinions from the intermediate nodes to form a more accurate trust point of view. As shown in
Figure 7, when the number of the recommenders is 0, it indicates that the trust value of SP to form the viewpoint of the SR is completely evaluated based on direct experience. Along with the number of recommenders gradually increasing, the SR can collect more recommendation opinions. From the experimental results of this group, it can be seen that when the number of recommendation opinions is equal to or greater than 6, the SR’s trust evaluation opinion on SP tends to be stable, and the SR can more accurately identify the honest and trustworthy SP while avoiding wrongly delegating malicious or negative SPs. Therefore, in order to better evaluate the trustworthiness of the SP, the SR needs to obtain as many recommendations from intermediate nodes as possible during the service delegation process.
4.4. Quantity of Responsive SPs and Benefit Analysis of the SR under the Bidirectional Trust Evaluation
Figure 8 shows the number of responsive SPs and benefits of the SR when the RPE is from 10% to 90% for a certain task. It can be seen that when the RPE is less than 0.5 and the RTS is large, there are more negative opinions referenced. Therefore, the trust evaluation result of SR from the viewpoint of SPs is generally low, and few SPs respond. Therefore, the SR cannot select a suitable SP, and the income is low. With the increase in RPE, the trustworthiness of the SR increases and the number of responding SPs gradually increases, so the SR can obtain a better delegation scheme, which improves the overall revenue. In addition, in the case of small RPE, although the expected benefit of SR is higher when the RTS is lower (the reason is that some SPs cannot correctly estimate the trustworthiness of SR, resulting in a wrong response to the service), it may lead to lower service quality of SPs and failure to guarantee the benefits of SPs. Higher RTS will lead to more accurate bidirectional evaluation results, and more SPs choose not to respond to the service request when RPE is low. On the other hand, in the case of higher RPE, higher RTS will make the bidirectional evaluation between SPs and SR more accurate, so the overall benefit of the SR will be higher.
5. Conclusions and Discussions
In this article, we studied the trust-based service delegation problem in SIoT. Considering the bidirectionality of trust, we design a framework of the trust model and service delegation. On this basis, we propose a bidirectional trust evaluation method based on subjective logic. We have shown that by using this formulation, the SR and SP can quantitatively evaluate the trust of each other in a reasonable way. In addition, we consider the context of the task to ensure the feasibility of our model in the SIoT scenario. The task similarity and time window are presented for the calculation of evidence strength. The convergence operators including discounting and consensus operator are constructed for compositive trust quantification. The decision-making approach of the service delegation with comprehensive consideration of trust and utility is proposed to ensure the success of the task while improving the utility of the SR.
However, the current work is in infancy. First, considering the computational complexity, the proposed model simplifies the condition setting to a certain extent. The evidence composition in evidence space only includes service attributes, bidirectional service evaluation information, service time, etc., without considering the relationships between device characteristics of IoT objects and service properties. Therefore, our proposed model is more suitable for the scenarios where the degree of heterogeneity and differentiation of IoT devices is low. The evidence-based descriptions of the characteristics of IoT devices and the relationship between these evidence-based descriptions and opinions will be our important future work. Second, with the development of the Internet of Things, some new architectures, such as multiple internets of things, are proposed. Therefore, we will further evaluate whether our model can be feasible and adaptive for various paradigms [
39,
40,
41]. Moreover, we plan to extend this model and configure a real-world application scenario in order to make it more capable. The task simulations at different network scales will be carried out in the following research process to validate the effectiveness and practicability of our trust model and service delegation method. Furthermore, testing under different attack environments will be also further provided.