Introduction

IoT describes a different world of heterogeneous objects such as sensors, smartphones, and actuators in which everything, even objects, has an independent identity [1]. They have distinct features, such as different operating systems, platforms, communication protocols, and related standards, but all these differences are ignored when interacting with each other [2]. Therefore each device needs to communicate with other things around it to meet the needs of its users.

In recent years SIoT is a new described expression in the literature that comes from combining SNs with IoT, which is related to the interaction between things and the Internet as a network substrate, and its functionality like information exchange, behavior, and relationship are independent of the human intervention [3]. Moreover, objects have this capability to establish a social relationship autonomously, and the communication between them can be varied from simple-to-complicate, for example, as simple as using some smartphone applications like Waze to route the shortest path or as complex as the communication infrastructure of a smart city [4]. SIoT used all interconnected things all over the world to create a social network based on common interests and motivation to provide better services to end-users [5].

The contribution of SIoT is for different objects to cooperate effectively and securely to gratify end-users’ desires to satisfy some main parameters such as reliability, safety, time, cost-effectiveness, and availability.

Many survey papers have not focused on SIoT comprehensively to discuss it in all its aspects in detail, which motivated us to provide a new systematic literature review article because of:

  • Lack of comprehensive knowledge of the SIoT system that examines and compares it in detail from all aspects provides accurate statistics and results.

  • Lack of sufficient information about the structural and communication details of objects on the SIoT can be an excellent guide to exploring and finding its nature and challenges.

  • Lack and non-occurrence of resources are used in summarizing the results and evaluations performed, which has led to less accuracy of the results.

  • Lack of a clear method research and paper selection approach helps other researchers gather their references and related information.

  • Lack of transparency of the structural issue, especially in detail such as platforms, datasets, object relationships, human roles, components, and in the context of existing and forthcoming challenges, and lack of possible solutions to solve or anticipate them.

Therefore, the main fields of our research include the following:

  • Present a taxonomy to conceive a better view of SIoT main elements.

  • Display a comprehensive study on the main principles and concepts of the SIoT to evaluate and examine its primary structure and cover the lack of sufficient information and awareness.

  • Illustrate all aspects of SIoT holistically include the main features, evaluation parameters, and simulation tools for each component of the SIoT.

  • Display of platforms and datasets used in evaluating SIoT samples of studied literature.

  • Provide meaningful statistical and technical information by investigating and analyzing many papers.

  • Provide major SIoT challenges for a network of smart objects.

  • Propose open issues and future guidelines for solving problems.

The structure of this article is as follows:

Background” section provides a brief background on Social IoT and presents recent studies. In “Research method” section outlines our research methods and questions. “The fundamental components of the Social Internet of Things” delineates the main structure of SIoT and highlights taxonomy and analytical comparison of recent literature. Consequently, in Section five “Discussion” and Section six “Conclusions” are presented.

Background

The population of humans on the earth is about 7.4 billion. This population volume needs to connect to the objects around them to improve their quality of life by sending or receiving various services. The number of objects is estimated at around 75 billion by 2025, much more than the human population. This rapid and dramatic growth [6] has caused problems such as scalability and feasibility. Therefore, different communication types between objects are necessary for our daily life demands regardless of their kind. The first idea of forming SIoT comes from [7], which Kleinberg introduces the small world phenomenon. SIoT mimics the structure of the human SNs structure and describes how to communicate, the friendship selection, or choose Friends of A Friend (FoAF) between different objects to help provide a range of certain and high-quality services [1].

Each object that is considered a friend of another object must have different parameters such as scalability, interoperability, and trustworthiness to form a healthy friendship based on evaluating these factors.

Therefore, each object can communicate with other objects to improve the interaction between humans and objects based on a set of rules defined by their owners, such as how objects communicate, choose a friend, and provide services [8].

Each device we use soon becomes intelligent and social, and with the help of various sensors, can receive or send information. Socialized objects provide more accurate and faster responses to complicate requests than objects that work individually [9]. Hence we can conclude that the smarter things become, the more social the IoT becomes. Some articles concentrate on the human SNs structure, while others consider the SN of objects. Figure 1 presents the articles that recently reviewed the network structure between human SNs and things SNs structure.

Fig. 1
figure 1

A comparison of the human social network structure and objects’ social network structure studied papers

Tripathy et al. [9] highlight a history from the origin of SIoT that developed from IoT to SIoT. They point to some of the critical features of SIoT, including availability, privacy, and security. They explored future open issues consisting of analyzing service discovery in network navigability, analyzing a massive amount of data to describe human dynamics, and proposed new related models. The constraint of this paper is that it is not apparent how they extract studied articles.

Abdelghani et al. [10] point out to trust management in SIoT and describe it as one of the main issues to build a reliable, and secure data exchange regarding QoS offered services. Therefore, they provide a comprehensive surveyed article in trust. They discussed the primary factors and present a classification of trust types, models, related properties, SIoT limitations and requirements, and challenges. A safe relationship has two main elements as trustor and trustee, formed based on mutual benefits and affected by many parameters like location and time. Despite the comprehensively of this article, they do not consider open issues in SIoT.

Roopa et al. [11] present a comprehensive systematic review based on SIoT and review the existing related articles to satisfy some main scopes in SIoT. These include trustworthiness and object relationship to improve link connection between friend objects in large scale networks and listed the essential perquisites of the SIoT system. Furthermore, this article’s main advantage is the complete analysis of the trustworthiness and summarized various aspects of SIoT relationships. However, the methodology and how they select studied articles are not clear, and the lack of a complete taxonomy on the main issues is apparent.

Table 1 summarizes the related studied papers that systematically reviewed the SIoT regarding various aspects and survey articles that have been presented. The article’s main content and covered years are listed briefly in this Table.

Table 1 Related survey articles in SIoT paradigm

Research method

All we try to do is display a new correct systematic literature review from the SIoT. So we try to find the latest articles published between 2011 and December 2019 in reputable ISI journals and conferences as our search engines, as shown in Table 2. Then we considered these interesting articles to classify them into relevant groups based on search terms and keywords.

Table 2 Selected databases

Finally, after a long review of articles, 55 articles were accepted in this research to categorize relevant articles to explain the main structure of SIoT. We used six international databases, namely IEEE, Science Direct, Springer, ACM, Taylor & Francis, and John Wiley, as depicted in Table 2 with their URLs.

Keywords

To find relevant research articles, we use the final keywords in Table 3 to find journal and conference articles that used our groups and keywords in their concept, abstract, or title names.

Table 3 List of keywords based on their groups’ classification

For finding the final search term, we use [12] method that each final search term has two constant and relative parts, the constant strings including Social IoT, SIoT, Social Internet of Things and provided relative keywords include smart objects, elements, relation management, trustworthiness, service selection, service composition, service discovery, web services, and information. We categorized them into social, objects, components, Relationship, Trust, Services, and Data distinct sets and use their synonyms phrases to provide an accurate search term. The final search phrase consists of a logical OR between all synonym relative parts with a logical AND between the two close and constant sets.

Paper selection process

After searching for candidate articles, we use the following criteria to refine them to select final studies or eliminate irrelevant articles as follows:

  • The following selection criteria are applied to the final result:

  • Articles published between 2011 and December 2019

  • Articles are related to IoT and SIoT

  • Articles that provide high-quality approaches and ideas for SIoT have analyzed SIoT analytically and statistically, especially in a particular domain like objects relationship

  • The following elimination criteria are applied to the final result:

  • Articles not in the English language

  • Articles not index in ISI

  • Articles not access to full-text documents

  • Articles present an overall survey and systematic review

  • Articles do not consider SIoT analytically and statistically

  • The scope of candidate articles is entirely irrelevant to SIoT

Final selected articles

Figure 2 shows the refined articles using the method discussed in the previous subsection, which we have grouped according to the main structure of SIoT. Researchers can have a complete and clear view of the final articles and make it easier to decide on reputable articles.

Fig. 2
figure 2

A taxonomy of reviewed academic literature based on SIoT main elements

Figure 3 presents a comparison between total studied papers over time based on their publishers, as mentioned in Table 2.

Fig. 3
figure 3

Total selected articles between 2011 and December 2019 based on their publishers

Related research questions

This article tries to respond to the following Research Questions (RQs):

  • RQ1: What target platforms, datasets are there for SIoT?

  • RQ2: What evaluation parameters are essential for the core elements of SIoT?

  • RQ3: What simulation tools are used to simulate the main structure of SIoT?

  • RQ4: What are the most important challenges of the SIoT?

The fundamental components of the Social Internet of Things

In Fig. 4, we have designed a holistic taxonomy to describe SIoT, which consists of six main components: Architecture, Relation Management, Trust Management, Web Services, Information, and finally, SIoT tools that include datasets and platforms.

Fig. 4
figure 4

A taxonomy of the SIoT

Architecture

Although there is no standard architecture for SIoT, most articles proposed a four-tier architecture that includes devices (objects), global connections, platforms, and applications based on IoT architecture [13].

Devices need to be connected to the internet or a gateway directly or indirectly to send or receive information from a particular platform or user application. Global connections are responsible for connecting objects to each other and playing a communication layer between platforms and devices using communication standards, gateways, and protocols (MQTT, HTTP, HTTPS, CoAP) to read and exchange information over the Internet between objects as a middleware. Applications are used to capture all user application services, such as smart homes, smart health, industrial, and mobile applications [14].

This architecture defines IoT basics, but it is not perfect for deploying SIoT architecture, so we have shown a five-layer architecture for SIoT in Fig. 5, which includes the entity, component abstraction, communication, social interaction, and application layer.

Fig. 5
figure 5

Proposed SIoT an architecture

The entity, communication, and application layer functionality are similar to IoT reference architecture, but we have specified the component abstraction and social interaction layer to the SIoT architecture.

  • The Component abstraction layer: this layer contains the key elements of the SIoT that are essential for communication between objects that include IDFootnote 1 (each object has its unique identifier with which it is identified throughout the network), OPFootnote 2 (static and dynamic information of any object like their profiling information), and OCFootnote 3 (all activities and interactions of objects are carried out under the control of the command and rules of their owners) to perform service discovery, trust management, relationship management, and service selection processes.

  • The Social Interaction Layer: this layer is used as an interface and social agent to establish social communication between smart objects and humans.

A comparison between SIoT architecture given in recent contributions is presented in Table 4 in detail. Table 5 presents a summary of studied articles based on their domain and the type of architecture (layered, generic, relational and unified that layered and relational is clear but generic is general and public IoT architecture that allows allocation and change in different areas such as the smart city, agriculture, health, energy [15], SIoT and WoT [16]. Based on different IoT architecture, various IoT applications are created. Their basic architecture is the same as the IoT architecture, but it has been customized on various applications.

Table 4 A comparison between the different architectures presented in SIoT
Table 5 Related architecture types In SIoT

The unified means integrating architectures based on platforms, devices, smart objects [17] to create a better architecture to solve IoT problems, for example, integrating the edge and cloud computing concept or IoT architecture of platforms with building a suitable software infrastructure based on the micro-services to develop IoT solutions and create smart products [18] or create a middleware integrated architecture for IoT security for empowering IoT applications [19]).

Ortiz et al. [16] introduced the main dimensions of SIoT as Social role (the integration of human social networks with IoT for efficient service search and discovery; accordingly establish a social relationship between human and objects), intelligence (as the most important feature, helps them to decide their situation so that they can more easily start, end or change a relationship), social conscious devices (that means the intelligent objects can communicate with humans through the Internet) and everything as a service (objects are recognized by the services they provide, so anything including objects, social networks, environments, etc., is considered as a service to make it easier to discover and share with others). Accordingly, they developed a hybrid architecture of IoT and WoT, includes actors such as objects and users, an intelligent system for managing and coordinating transactions between objects including searching and discovering for services, exchanging information, an interface for activating interactions between objects, including control commands and service management and finally the Internet as a communication platform for transferring object services to users. This study’s advantage is that they consider the challenges and open issues deeply and provide a detailed description of SIoT while the deficit is that they do not introduce any suitable platform to implement their method.

Kim et al. [20] proposed a new architecture for SIoT end-users based on a three-layered Socialite system: Socialite Client application, Socialite Server, and Databases. Socialite Client application has two components, first, control or access to devices remotely, and the next, allowed them to define their own rules for communication by end-user programming. Socialite server is used to access overall access to devices that may have different creators, and databases are used to process and store data.

Atzori et al. [21, 22] proposed a two-tier social-based architecture for SIoT: one is for SIoT server which contains three sub-layers: The base layer, the component layer, and the application layer, which is the base layer responsible for storage, data management, database and communication, and the component layer contain the core elements of the SIoT system (objects), and the application layer also contain applications, API and interfaces. The other side is the client that has three sub-layers including objects layer, object abstraction (which is defined to coordinate the relationship of objects through a common language) and the application layer also includes two parts, including service management (that are used to manage the behavior of objects in the SIoT, which is related to the human interface in the application layer of the server), and social agent that is used to communicate between objects and the SIoT server. In the base layer, two types of components are introduced, including key and lateral components. The key SIoT components include Id management that assigns and manage an id to identify each object, object profiling, which includes static and dynamic information about each object, and owner control, which includes a set of rules set by the object’s owners and other components including service discovery, service composition, trust management, and relationship management. This study’s strong point is the Integration of human social network architecture with the SIoT concept, but there is no simulation in this article.

Gulati and et al. [23] introduced four-layer semantic-oriented platform architecture for SIoT as a reference model, including four-layer: objects, communication, SIoT management, and application layers. The layer of objects refers to the objects that are placed on the SIoT, and communicate through local networks and sensors, and is the lowest layer. The communication layer includes protocols, gateways, and technologies that are used to communicate between objects. The SIoT management layer is related to SIoT platforms and services that include essential components such as id management, object profiling, owner control, service discovery, service composition, trust management, and relationship management that communicate with the application layer via the API. The application layer includes various applications such as mobile applications, web applications, etc. So they have devised a complete architecture for SIoT, but they have not explored the details about their implementation.

Gulati and et al. [24] proposed a three-layer architecture for industrial IoT that by using semantic technologies, they have investigated the relationship between different objects. They have seven design considerations for their SIoIT architecture: resource management, relationship control, data management, interfaces, scalability, interoperability, trustworthiness, security, and privacy. Their proposed architecture has the following layers:

  • The base layer consists of two sub-layers includes the infrastructure and communication layer.

  • The middleware layer responsible for interactions and transactions between different components in SIoIT, and it acts as an interface between the hardware and the application layer.

  • The application layer accesses to user applications.

This article’s strength is effective communication management and the combination of the SIoT concept with the industry. The disadvantage is that it is not dynamically tested in a real industrial environment and remains as future work.

Relation management (RM)

There are many interesting papers mentioned to RM in SIoT. For example, according to [9], every object on the social network receives more accurate responses to their requests than objects that work individually. Therefore, these objects need to communicate with each other to form a social community to request or respond to relevant services, and the SIoT works based on these friendly relationships. Besides, the main purpose of creating SIoT is to separate things from humans to build their social networks autonomously. Thus, RM shows the hidden intelligence of objects that help them decide to start a friendship, update, or end it [25]. Also, each object must choose its type of relationship with other objects [26] to share relevant resources, information, and services. Therefore, the management of their relationships is based on the choice of relationships they have with other objects around them.

The relationships between different things start when they find social nature. Therefore, according to recent articles [20, 21, 27], we can divide the relationship between different devices into five main groups as presents in taxonomy in Fig. 4, namely Parental OR,Footnote 4 Owner OR, Co-Work OR, Social OR, and Co-Location OR.

  • Parental OR (POR): This relationship is established between objects with a manufacturing plant, and usually, all objects that work together are homogenous.

  • Owner OR (OOR): This relationship is established between objects with a specific owner like heterogeneous apps on someone’s phone.

  • Co-Work OR (CWOR): This relationship is established between objects that work together for a specific purpose, even in different places.

  • Social OR (SOR): This relationship is based on the social relationship established between the objects’ owners, which results in the collaboration between their devices.

  • Co-Locate OR (CLOR): This relationship is formed between objects in one place and maybe homogeneous or heterogeneous.

Roopa et al. [11] delineated and classified new relationship types for SIoT based on two main categories: UOFootnote 5 Relationship, which includes four main sub-categories as OOR, SOR, SIBORFootnote 6 (it belongs to objects that have the same family or group), and GSTORFootnote 7 (it refers to objects whose owners have the guest role). OOFootnote 8 Relationship (it consists of six main elements: POR, CLOR, CWOR, GOR,Footnote 9 STGOR,Footnote 10 and SVORFootnote 11 among those objects that cooperate to satisfy a requested service).

Atzuri et al. [22] provide a relational architect for the social structure of objects in SIoT to address many of IoT’s problems, like service discovery and service composition. Therefore, they have simulated objects’ mobility to evaluate the underlying relationships between objects and provide statistical analysis on SIoT to illustrate the similarity between human and object social networks. This approach’s strength is to improve network navigation capability, but there is no simulation or suggested algorithm in this study.

Fu et al. [28] have presented a theoretical model– SSIoT (Search engine SIoT)–that works on four real datasets: Facebook, CDBLP, fsrWeibo P2P, to show that search engines are influential in SIoT social relationships. They first considered the search engines as an interface between social networks and IoT, and then evaluated six performance factors that included: degree distribution that strengthened power-law, and then assessed network diameter and network distance (both of them decreased dramatically), and network density, network stability, and user betweenness are increased in SSIoT model. The strength of this article is the presentation of appropriate statistical analysis about the performance metrics. This model’s limitation is that the propagation of malicious codes in the SIoT network is much more than SIoT.

Eddy et al. [29] proposed a reference architecture using the SIoT concept to exchange services in industrial properties for object analysis and evaluation. For this, they have compared human communication based on the Fiske model in verses of objects communication to point out that these communications are similar to each other and mentioned to SIoT protocols and related features to form a community of social communication industrial objects. The benefit of this study is that they considering IIoT scope based on SIoT. However, the service evaluation cost was not considered.

Wei et al. [30] introduce physical objects as social communication concepts to describe the relationships of the physical objects accompanied by IoT to distinct the concept of social relations for physical objects from humans or smart objects. Therefore they proposed a category based on spatial–temporal features of social relationships. This paper’s profit is that they accelerated the finding of relevant physical objects between huge amounts of them.

In Atzori et al. [31], an explanation is given for the various communications required in SIoT based on the communication models in human SNs. Also, the type of necessary objects transactions were shown in a Table and an app example, but there is no clearness in the object’s interaction.

Human role on the SIoT system

The social network of objects is modeled on human beings’ social behaviors so that they can communicate with each other and form their social network. So how humans communicate with each other is the key to creating a social network of objects.

The vast impact of IoT on human life is undeniable, which has led to a two-way relationship between humans and objects. The SIoT, as a part of IoT for the proper function and production of content, requires human beings and the laws that determine it. On the other hand, SIoT is a system that can obtain the information it needs from the environment, is an essential factor in the accuracy and speed of transactions.

For every object that is placed in this system, three main features must be considered [21, 29]: Object ID Management (ID Mng), Object Profiling (OP), and Owner Control (OC)

  • ID Mng: each object has its identifier with which they are identified throughout the SIoT system.

  • OP: it contains static and dynamic information from each object in the network that acts as their profiling information for other objects.

  • OC: is a set of rules by object owners to control the behavior of objects, such as how the objects communicate with each other, start, end, or change the state of themselves in the network.

After identifying objects, each object is allowed to be present and active in the SIoT under the permissions given by its owner. The OC is responsible for providing these permissions that greatly influence the way objects behave, such as determining the maximum number of members, the conditions that objects can establish, terminate, or change their status.

Therefore, humans have a key and decisive role in the formation and management of SIoT systems and ensure their efficiency and effectiveness with their determining rules as owners of objects.

Hitherto, a unified model of human social communication was provided by Alan Fiske in 1992 [32], which shows four elementary relational models based on human communication in social networks to analyze and evaluate their communication behaviors. His model was presented in Fig. 4 as a taxonomy that includes Communal Sharing, Equality Matching, Authority Ranking, and Market Pricing.

  • Communal Sharing: it’s for people who belong to a particular community, such as family and friends, to communicate based on the shared profile or the information they need or offer.

  • Equality Matching: based on the similar connections between different members of a particular group, while retaining their own identity and keeping load balance in the data exchange in the involved objects (there must be a balance between requesting and providing a specific service).

  • Authority Ranking: humans are classified hierarchically according to different levels and with different complexity. Each human being has access to a level based on his score, which leads to their asymmetric categorization, so anyone with a lower rank should be a service provider to someone with a higher score.

  • Market Pricing: communication between people is based on common benefits and social privileges such as wages, prices, and values.

Table 6 summarized the articles studied on the SIoT that provide RM. The article’s primary content, the strength, weakness, and new finding of this article was listed for each topic. Table 7 lists the main evaluation parameters related to RM based on the studied literature.

Table 6 Comparison of articles related to RM
Table 7 Important evaluation parameters in RM

Trust management (TM)

Many articles are discussed TM in SIoT. For instance, trust is one of the most critical topics in today’s technology, such as IoT [33] and cloud computing, which deals with how objects interact together [34, 35]. Lack of trust in objects that work together socially leads to some problems such as loss of privacy, safety, security, access, and alteration of the information by unauthorized persons or things. Besides, object owners may carry out harmful attacks based on their interaction with other objects, such as Bad-mouthing, Self-promoting, and On–Off attacks; hence evaluating trust between them is essential for SIoT to identify the best interaction between customers and providers.

Anything that needs to establish a trustable connection needs to have sufficient confidence in the other things that want to be connected. It can make a higher trustworthiness communication to provide some requests and separated malicious things in the network from trustable things [25].

Confidentiality is one of TM’s main issues, which means that information is available at the right time by the right person because each object has its vulnerabilities and attacks. Therefore, a control system is required to prevent unauthorized access to data and network resources. Hence, it is vital to introduce a security policy in the access control system to limited access to the network from attacks [36]. Also, things adjacent to each other contain much crucial information that they can share with other things in a distributed social manner to provide some qualified services, which should be based on the right choice of things as friends because each object can discover relevant services by inquiring from its friends or FoAF to decrease searching area. After all, it is vital that every object only exchange data and services with those things that are trustable and provide a healthy and reliable communication to respond to requested demands, which leads to increased security and safety of SIoT networks.

Trust types

The most of related articles such as [10, 11, 25, 35,36,37] mentioned trusting main types as:

  • Transitivity: trust between different things is based on indirect known, so that for example, if (A) has confidence in (B) and (B) has confidence in (C), so (A) must trusts to (C).

  • Direct: it is based on direct perception between two things.

  • Indirect: it is based on other objects, recommendation, and reputation.

  • Local: it is different for any object. For instance, (A) trusts to (B), but (C) does not have any trust to (B).

  • Asymmetric: there are different levels of trustworthiness between two friend objects, for example, (A) has a high trust to (B), but (B) is not as same as the (A).

  • Subjective: it is based on individual opinions like [11, 25].

  • Objective: it is based on each object’s quality of service properties like [11, 25].

  • Context-dependent: it is not equal for the same devices and related to objects context like [11, 38].

  • Composite: it is a composite of friend opinions and recommendations which leads to trust or distrust.

  • Personalized/History: it is based on the prior background of things to each other; for this reason, may two separate things have different trust levels to each other.

  • Dynamic: it means that the trust value is not static throughout time and may be different over time, whether the conditions altered like [11, 3941].

Abdelghani et al. [10] presented two types of trust between objects, including quality of service trust (whether a device can be prepared high-quality service in response to a requested service or not and used many different metrics like reliability and cooperativeness to evaluate QoS trust) and social trust (which is more customary in social IoT and is a level of trust between the owners of different objects with together that is evaluated by some factors like honesty and connectivity [42]).

Kowshalya and Valarmathi [35] explained a dynamic trust model to consider the degree of resiliency of trust in SIoT against On–Off selective forwarding attacks and, for the first time, categorized trust except Direct and Indirect into centrality (which is the degree of importance of an object for another one to protect SIoT network from malicious objects to prevent from making a large number of communication between objects to achieve their harmful aims), energy (is vital for trust evaluation specifically in On–Off attack) and service score [43] (means that each object gets a rate for providing each service request otherwise get a penalty score. Hence the more fines are, the probability of being sabotaged is higher).

Trust models

In the sense that there are several models for building trust in SIoT and all models need to be evaluated for correctness and accuracy, so evaluation and model concept is intertwined. There are several models for building trust in SIoT, all of which must be assessed to use trust evaluation models instead of trust models. Many articles mentioned to these evaluation models such as:

Nitti et al. [25] described a dynamic trust model based on the level of honesty between different objects. Two models for the trust were supported, including subjective and objective. The subjective model has a slower transitory response than an objective model; besides, objective processing and trust information storage are done in a DHT (Data Hash Table) system observable by all network objects. The strong point of this study is that they can separate distrust objects from network effects. Also, technical analysis for TM is done between related objects that cooperate, such that each object can be malicious if it is strange in the network. Other objects meet it rarely, and it did not become active in social activities. On the contrary, other objects can befriend. However, this article’s weakness is that they do not use direct observation to evaluate trust metrics and just assess indirect trust observations.

Xiao et al. [38] propose a SIoT guarantor and reputation trust evaluation model based on objects’ behavior to propose a proper service response and used some effective techniques like credit rating and reputation rating to evaluate the degree of trust between objects. Any object that provides a complete service gets a higher rank than those who do not collaborate or do not prepare any appropriate service; finally, the objects with lower rank known as malicious objects. This work is defined as a suitable approach to determine dishonest objects, but they do not consider all main trust aspects in large scale networks like scalability.

Chen et al. [39] present three kinds of social trust factors based on owner’s interaction, including Friendship, Social Contact, and Community of Interest relationship, which is based on common interests, and the system resiliency against opportunistic service attacks were considered. The limitation of this work is that they do not consider attacks approaches.

Chen et al. [40] proposed an adaptive TM protocol which is based on main TM features to assess trust response: Honesty (according to direct or indirect evidence, whether or not whether an object is trustable), Cooperativeness (is related to the degree of social cooperation in a community with friends like social contact) and Community of Interest (is based on the common interests and desires or some similar capabilities that have existed between the objects that are placed in a common group or community (e.g., co-location or co-work [44])), but the deficiency of this study is that they do not consider dynamic environment issues.

Sharma et al. [45] suggest a cooperative trust relaying and privacy-preserving model that, to the best of our knowledge, is the first attempt that used Fission Computing (which leads to the load balancing in the network) and edge-crowdsourcing network to evaluate privacy and trust. They have used several theoretical analyses and numeric simulations to implement their proposed model and numerical simulations to implement their proposed model and have also helped evaluate the proposed method’s effectiveness from real data.

Truong et al. [46] delineated a general description for trust in all SIoT components according to trust information used to evaluate the amount of trust in SIoT. Moreover, they have developed a platform to assess trust services in SIoT, which has three main parts as Reputation (which is based on user’s opinion and is a system to evaluate trust authority according to user’s opinion feedback like QoS, time, and reliability), Recommendation (is based on the recommendation of users to trust or distrust to an object) and Knowledge (is based on default knowledge of each object). Also, they use a car-sharing service use case to implement and consider their approach.

In Table 8, a summary of the related studied papers that considered SIoT concerning TM parameter has been presented. In Table 9, based on the studied articles, a brief explanation of TM’s main evaluation parameters was listed to conceive them better.

Table 8 A comparison between trust articles with details
Table 9 Comparison of the essential criteria of trust assessment in the studied articles

SIoT trust attacks

Many security attacks affect the SIoT system, which is listed below. However, many attacks face unauthorized access and suspicious behavior [47] due to a lack of authentication infrastructure [48]. The others try to present a proper perspective of themselves to gain other objects and users’ trust. So first, we need an appropriate mechanism to verify the authenticity and confidentiality of information in unauthorized access to the data and network resources [36]. To this end, we can use effective techniques to predict the behavior of objects such as machine learning, decision tree [49], and deep learning approaches. They separate malicious objects from reliable ones by predicting their next behavior to make better decisions about exchanging data. The importance of one object to another can be assessed to prevent suspicious communication between them [35]. It is also possible to design a trust management system or consider an effective encryption mechanism for encrypting data in data transmissions and sharing so that information can be exchanged securely [50]. Also, centralized privacy-preserving communities of objects can be created to form a trustable data-sharing model [51]. Also, like [25], we can use subjective trust approaches. Each node calculates its friends’ level of trust based on its history or objective methods that use distributed DHT structures to securely use information from its friends.

  • Bad-mouthing: misleading the background of the trustable objects to decrease its selection chance by cloud services [10, 40, 42, 44, 52, 53].

  • Slandering attack: misleads trust feedback to change its results in service providers [54].

  • Self-promoting: promotes itself position by offering good feedbacks about itself to alter trust services for service providers [40, 42, 44, 52,53,54].

  • Whitewashing: a malicious object clean its bad background by separation from the application and, after that, join it again to increase its chance for selecting by service providers [10, 40].

  • OnOff Selective: an object goes to the Off state during the primary transaction to consume a higher amount of energy until it comes back to On state [35, 42, 52].

  • Opportunistic service: a malfunctioning object provides good services to enhance its popularity to collaborate in some attacks like bad-mouthing [10, 42].

  • Discriminatory: attacks to those objects without strong community interaction with other objects [10, 40].

  • Ballot stuffing: provides good recommendations about misbehaved objects to increase the selection chance of them to choose by service providers [10, 40, 42, 44].

Web Services

As web services are one of the main challenges for developing many recent technologies like IoT, SIoT, cloud, and fog computing, we concentrated on the primary process from the beginning that a particular service is requested until an object responds to it. Therefore, a web services process scheme was illustrated in Fig. 6, a combination of three main sub-processes, in order as Service Discovery, Service Selection, and Service Composition.

Fig. 6
figure 6

Web services process from request to response

Service discovery is the process of searching for objects that can provide the desired service. Service selection is a selection process of appropriate service matched to requested services. Service composition is the process for combining different services to offer an appropriate response to requested services, which results in the desired quality of service, better functionalities, and feasibility because a service cannot meet all user’s needs. So, choosing suitable services and a combination of them can be one of the main concerns in the SIoT environment.

Kouicem et al. [55] propose a dynamic framework based on multi-agent structure implemented on cloud computing and used large-scale composition techniques according to real use cases—in smart cities monitoring scope- to enhance performance, QoS, and contextual metrics of service selection and composition approach. Multi-agent architecture is responsible for the services’ core operations, divided into plan composition, service selection, and service orchestration to describe effective services and abstract services. They also implement three algorithms: an algorithm for plan generation, an algorithm for the best selection, and an algorithm for updating QoS metrics after selection execution. Finally, they evaluate plan generation time, service response time, and success rate of services in comparison to three similar approaches (FCoSC, HTN-DL, and CDSC) and demonstrated the scalability, flexibility, and adaptability of their approach. However, they do not consider any contextual models, and there is not any exact statistics for their QoS evaluation metrics.

Using a three-dimensional structure and RESTful, Chen et al. [56] provide a distributed social structure for service discovery and selection based on object interconnections. Greg et al. [57] present an integrated framework for semantic web service discovery, selection, and run-time integration for non-functional evaluation factors, like response time and throughput, to satisfy user’s requirements. They used a HIS-Healthcare Information System-use case to present the usability of their method. Their experiments are based on using a greedy search technique to combine the service response process at an optimal execution time. They provided a comparison between their method and QoS-based and hybrid approaches (it is a combination of genetic and greedy search techniques). They demonstrated that this approach is better in scalability and performance and is optimum in execution time rather than a hybrid approach.

Butt et al. [58] proposed an adaptive, context-aware, and scalable protocol for service discovery in IoT. They use Trendy techniques to improve service discovery’s main factors like reducing service invocation delay, the amount of energy consumption during the network life cycle and packet overhead, and improved network scalability by reducing the number of packets. Trendy employs an efficient discovery technique with a context-aware selection in IoT web services.

Wei and Jin [59] proposed a context-aware architecture and a capable ontology-based context model to provide an efficient service discovery support for IoT. The main goal is to describe the role of context in IoT and remove unreliable context because it has an essential role in making a smart discovery process regarding minimum human intervention. This study’s main point is that they present a reliable and efficient discovery process, although there are no analytical statistics to prove efficiency.

Xia et al. [60] point out to SLSA—an efficient and scalable service discovery for SIoT concerning three main performance metrics including the success rate of queries, an average number of relay nodes, and average path length of searches to provide an efficient service search for secure and fast web services discovery. They compared their proposed mechanism with three others (KGC, RDPM, and HON) and classified 500 web services into 50 groups that each of them has 10 types of a specific service. Finally, they conclude that SLSA has high search efficiency in queries’ success rate, much more energy efficiency in the average number of relay nodes, and decreased average path length of the discovery process than the other compared mechanisms. This study’s strong point is that their evaluation is based on a dynamic behavior in a large scale network, and based on their results, SLSA can address resource limitations in SIoT.

Klauck and Kirsche [61] presented a DNS-SD approach for discovery web services for resource constraint devices in IoT. Their approach is based on integrating three protocols (Contiki,Footnote 12 mDNSFootnote 13 DNS-SDFootnote 14) called uBonjour to improve interoperability between resource constraints and non-constraint devices to discover desired services. This approach’s benefit is to promote the self-configuration and service discovery process, though they did not mention any possible flaws. Also, their implementation testbed is small.

Shamszaman and Ali [62] present an effective solution for sharing resources and choosing the right object at the right time to deliver a service, taking into account QoS criteria in SIoT. It has used the Integer Programming Solutions to implement it, and the strong point of this article is that their work has high flexibility in resource sharing. However, they do not consider the entire system in terms of QoS and keep it as future work.

Baker et al. [63] proposed E2C2—an energy efficiency SC algorithm for IoT-based services regarding integrating the minimum number of web services to manage the amount of energy consumption for IoT devices to satisfy user’s requirements. Their implementation is based on the performance comparison of E2C2 with existing approaches like Base Cloud, All Cloud, Smart Cloud, and COM2. The critical point of this research is the high performance and energy-awareness of the E2C2 approach, but they do not consider SS in this article to complete their SC method.

Pallec et al. [64] proposed a service composition approach according to the available recommend-based IoT services to satisfy the user’s requirements. They used TAG (Typed Attribute Graph) framework to classify the recommendation of available services to facilitate the smart objects’ communications. The important part of this study is that they used a physical-interface-based algorithm to calculate the service signature for enabling service interactions. However, they do not implement any simulation for their approach.

Ma et al. [65] presented a new hybrid approach that combines Genetic Programming (GP-based) with a greedy search approach on built test suit benchmarks like WSC-2008 and WSC-2009 on web services to enhance some QoS main factors like availability, reliability, and. They compare their hybrid approach with GP-based without greedy search techniques to improve the search process in a large service repository to provide a more correct and accurate composition approach. Besides, they test their approach for QoS-aware service composition in dynamic and static behaviors. This article highlights that using a greedy search decreases the number of web services for the GP-based composition approach to reduce search time and increase search efficiency. The weakness of this study is that they offered no implementation to develop their approach.

In Table 10, a summary of the related studied papers that considered SIoT regarding the web services process has been presented. In Table 11, based on the studied articles, a brief explanation of the main evaluation metrics was listed to analyze them.

Table 10 A comparison between the articles studied on the web service in detail
Table 11 A comparison between the important parameters of evaluating web services

Figure 6 presents the web services process from the first. The user first requests a service. The discovery process begins to find the best services that meet the user’s demand in the service repository. However, extracting an appropriate service from the service repository needs to select a specific service based on its functional attributes. Service selection needs to check whether this service description matched with the end-users requests or not. If this service is found, then selection started, and if multiple matched services were discovered, then based on the network and user context information, the most appropriate service was selected [58]. Otherwise, it creates the appropriate service with the composition process and at the end, try service filtering to remove impertinent services to provide an absolute service regarding QoS factors and context-aware properties like location or context of services like its functionality descriptions that most of the user requests are concentrated on it [57].

Information

The data exchange in SIoT is according to the three main characters of Big Data notion, namely Volume, Velocity, and Variety (3Vs), which have the potential to manage effectively, collect, maintain, and process to be able to analyze this massive data for evaluating and predicting objects behaviors, information [16]. Another issue in this domain is related to the massive volume of data, which was integrated into the interaction between different devices and things, so we need a specific solution to aggregate and collect data and need particular software to process this huge amount of data [66]. For example, we can present SIoT Big Data as a four-tiered framework includes:

  • A collector server: to collect the sensed data from a common community of objects in our environment.

  • A storage server: to store different types of data that are aggregated from various devices.

  • A filtering server is a primary processing unit to remove noisy data from raw data then send it to the process server to accomplish in SIoT interactions.

  • A process server: to analyzed and processed stored data.

Lakshmanaprabu et al. [67] implemented a Java-based SIoT data classification with an optimal feature extraction framework that presented a comparative analysis between the proposed framework with other algorithms like PSO, ACO, and GA in some performance metrics like accuracy, count of features, throughput, energy consumption and time based on four different datasets including Indoor User Movement Prediction from RSS, Water Treatment Plant, Hepatitis and Twitter Dataset for Arabic Sentiment Analysis. Therefore, they use MapReduce and Hadoop framework to improve the efficiency of the proposed framework. They filtered data by Gabor filter to reduce irrelevant data and remove unwanted noises. It is derived that by this approach, the improved accuracy is 98.2%, specificity (85.88%), and sensitivity (80%). The strong part of this research is that they provide technical analysis compared to other existing algorithms, and the drawback is that they do not consider evaluation cost.

Hasan and Fadi [68] proposed a fault-tolerant routing topology for exchange data in the SIoT network by using the PMSOFootnote 15 algorithm and compare it with FPMSOFootnote 16 and CPSOFootnote 17 methods to consider the connectivity between humans and devices, furthermore; by using PMSO, they can create, maintain and select k-disjoint paths that can tolerate possible failures in data transformation paths and implement a high-performance routing protocol. This research’s important point is that they analyze a model for each mentioned parameter like energy consumption, average delay, and throughput evaluated by fitness function with the different k-disjoint multipath routing protocol.

Ahmad et al. [69] proposed a four-layered Java-based architecture based on ABC (Artificial Bee Colony) for Big Data to extract attributes, MapReduce Hadoop, to analyze a large amount of data, and Kalman filter to remove undesired noise from data processing. They compare ABC with PSO, ACO, and GA algorithms to demonstrate its high accuracy and efficiency in feature selection for Big Data notion. Therefore, they used some test datasets to evaluate the performance metrics like throughput and their algorithm’s processing time. The weakness of this study is that there is not any statistical analysis of main performance metrics.

Alam et al. [70] presented a comparative analysis of eight well-known algorithmsFootnote 18 on data mining scope to consider each algorithm based on accuracy, processing time, and execution time. Finally, compare them based on the results together. According to this, they find out that C4.5 and C5.0 have better accuracy and processing time rather than other algorithms. Also, they have better average accuracy (97.5% and 96.61%), respectively. The weak point of this study is that they do not evaluate large datasets and keep it as a future experiment.

Ahmad [71] proposed a parallel processing architecture for analyzing and processing huge amounts of data in SIoT systems by simulating big datasets like Vehicular Mobility Traces. To do so, they evaluated performance by using the Apache Hadoop framework. Their approach is divided into three functional scopes as an object, SIoT server, and application domain. The main advantage is that they demonstrate a direct proportional between data size and throughput, either between data size and processing time (any increment in data size leads to a decrease in processing time).

In Table 12, a summary of the related studied papers that considered SIoT regarding information has been presented. The article main content, the strength, weakness, and new finding of these articles was listed for each topic. In Table 13, based on the studied articles, a brief explanation of the primary evaluation was detailed to analyze them.

Table 12 A comparison between the articles studied on the information in detail
Table 13 A comparison between the essential parameters of evaluating information

SIoT tools

Platform

IoT platforms are those software’s that can connect anything in an IoT system to each other through cloud services [72] to create new applications [11].

Hijazi et al. [72] were categorized IoT platform components in four subcategories as Sensing Component, Communication and Identification Component, Computation and Cloud Component, and Service and Application Component. There are many platforms specifically for Big Data in IoT, such as Apache Hadoop, 1010 data, Cloudera, SAP, HP-HAVEn [73], besides AirVantage and IBM Watson used for Big Data management [74].

Table 14 presents some main SIoT platforms in detail, including many scopes such as related interfaces, data manipulation protocols, tools, databases, the platforms functionality, and the URL that can use some of them like ThingSpeak, Paraimpu, Lysis, and the others for social purposes. Moreover, many other platforms such as IFTTT,Footnote 19 Belkin,Footnote 20 Quit,Footnote 21 NaturalFuse,Footnote 22 Cityscripts,Footnote 23 and PhpBB Social NetworkFootnote 24 (that is an open-source platform and a simulation of the Facebook website) that are not listed in this Table.

Table 14 Platforms

Byun et al. [75] proposed Lilliput—an ontology-based SN platform for IoT—to illustrate an ontological and socialize perspective for interaction in IoT concept between humans, devices, and the places by using a social graph model. Also, they proposed an environment model to show the communication of smart devices and people with together that divide into three main groups as object-to-objects, humans-to-humans, and places-to-places interactions that can have many bidirectional relationships among this main classification, for example, they can have an object-to-place communication or place-to-humans or objects-to-human and vice versa. The advantage of this study is that they consider all aspects of the relationship between people and smart objects and implement efficient hybrid architecture for both IoT and SNs. The limitation of this study is that maybe increased the cost of utilizing machine learning methods.

Pintus et al. [76] develop a scalable and user-friendly platform -Paraimpu- for a large scale of the SWoT paradigm to add, share, compose and interact with the HTTP smart virtual objects with together that provides data adoption in the heterogeneity nature of devices. The restriction of this study is that they do not consider the social relationships between devices.

Girau et al. [77] discussed the first SIoT platform based on Thing speak to manage social interactions in a centrality manner. However, they do not consider any PaaS (Platform as a Service) model for this issue, so that [78] illustrates a cloud-based platform called Lysis that uses a semantic search approach and has four main elements as SVOs (Social Virtual Objects) that act as social agents to help for making a social interaction in a community autonomously to improve SD and scalability, a PaaS service model to use SVOs in the cloud to facilitate the management and development of the application by programmers and non-programmers effectively, Cloud-Storage that use a user cloud space to store devices generated data and information, Reusability to make this possible to create object templates to use in a common community.

Beltran et al. [79] introduce a semantic web service platform among humans, devices, and web services by using SNs as an SCE (Social Network as a Creation Environment) where the area surrounding that users can make their desired web services privately on the devices to enhance the cooperation between semantic web services and SIoT. The excellent point is that they combine Web with IoT effectively, but there is some limitation to describe more details in their implementations.

Helal et al. [80] introduced a new tool called Persim 3D to generate a real dataset from the usual activities in a smart environment like smart homes.

Cicirelli et al. [81, 82] proposed a new smart city agent-based platform based on SIoT attributes called iSapiens that is a Java-based platform for designing a smart environment and using edge-computing, out-of-the-edge computing, and IoT to build a pervasive intelligent environment to form a cyber-physical paradigm for implement smart city applications. This platform has two main elements as Virtual Objects (VOs) to manage the heterogeneity of objects in IoT and software service agents to online and offline analytics by edge computing and out-of-the-edge services on computational objects. This study’s benefit is improving the fault-tolerant and main QoS factors and using them from a real case study (Smart Street Cosenza in Italy) to exploit the architecture. The deficit is that there is not an implementation or algorithm in this study.

Chen et al. [83] presented new hybrid architecture to implement a platform for the SIoT paradigm based on the heterogeneity of IoT devices and the concept of SNs by using related protocols like MQTT, CoAP to analyze the collected information from these devices besides the SNs that built on Hadoop and Spark cloud servers.

Sanchez et al. [84] presented a three-layered architecture for a real use case-Santander city in Spain-includes objects, gateways, and IoT servers to monitor environmental variables like pollution, weather conditions, etc. IoT objects are some resource limitation devices that sense the environments. Gateways build a connection among IoT objects and the network infrastructure. Finally, the server acts as a data repository to aggregate objects sensed data. The strong part of this study is using a large dynamic scale IoT testbed to evaluate smart environments. However, because of the ultra-large-scale of this scenario, maybe some maintenance and scalability problems occurred.

Zhang et al. [85] presented a platform for social WoT to interact between humans and objects by SNs.

Table 15, illustrates a summary of some studied articles about platforms that cover the main article topic, platform name, and the scope of using platforms is presented for each article briefly.

Table 15 Some studied articles on platforms

Dataset

Table 16 presents different types of datasets based on their features and URLs.

Table 16 Related datasets
  • CRAWDAD: this dataset is a community to aggregate wireless network data resources and stores this data from many different locations to collect and analyze them.Footnote 25 Many contributions to this dataset are explained in Table 16.

  • Reality Mining Dataset: this dataset is a collection of one hundred human subjects in nine months and presents information on users’ location, communication, and device usage behavior.Footnote 26

  • Washington State University’s CASAS Dataset: the CASAS project described the real smart environment and sensors as intelligent agents that can provide a safer and more comfortable life in our environment by gathering vital information from our surrounding environment by using these smart devices [86]. This dataset is divided into many different categories based on their usage like Real-Time Smart Home Stats, Assisted Care Apartments Real-Time Activity Update, etc.

  • SNAP: Stanford Large Network Dataset is a huge collection of different datasets in various scopes, for example, social networks dataset that is related to online SNs interaction between different users and has many subsets like Brightkite or Epinion.

Discussion

In previous sections, we provide a comprehensive description of all aspects of SIoT that, based on them, some research questions were presented. In this section, we answer these questions based on statistical and comparative analysis of these technical questions.

RQ1: What target platforms, datasets are there for SIoT?

Based on “SIoT Tools”section, we provide a comprehensive overview of all IoT and SIoT platforms and datasets. We present their features and targets absolutely in separate Tables (14, 15, and 16).

RQ2: What evaluation parameters are essential for the core elements of SIoT?

Figure 7 presents the main evaluation metrics in RM (left-side) and TM (right-side) that, based on it, in RM scalability is the most considered metrics by about 29%. Then navigability has 22%, time and adaptability have 14%, and finally, the stability, connectivity, and efficiency by 7% for each of them are evaluated more than other factors and in TM accuracy and resiliency are the most considered metrics by 25% (for each of them). Then adaptability has 19%, and reliability has 13% that they are considered more than others, and finally, scalability, cost, and time have 6% that was assessed as less concentrated in literature.

Fig. 7
figure 7

Left-side: Main evaluation parameters in RM, Right-Side: Main evaluation parameters in TM based on studied literature

According to Fig. 8, web services (left-side) were considered based on their essential evaluation factors, which is the most important factor by 23%. Then scalability has 16%, and availability has 14% that are considered more than others. Reliability and cost have 12%; adaptability, flexibility, security, and interoperability by 9%, 7%, 5%, and 2% are at the next levels.

Fig. 8
figure 8

Left-side: Main evaluation parameter in web services based-on service discovery, service selection and service composition, Right-side: Main evaluation parameter in Information according to reviewed papers

Due to this, the primary evaluation parameters in SIoT information (right-side) was investigated and according to it, throughput and time are the most important metrics that have 25% for each of them, accuracy and efficiency have 19%, and finally, energy is at the last position by 12 percent.

RQ3: What simulation tools are used to simulate the main structure of SIoT?

Figure 9 shows the statistical percentage of the simulation tools applied in the studied literature. The Java-based tools like Eclipse have the most percentage in simulation tools in reviewed studies with 28%. The SWIM simulator has 13% usage for simulation (especially in RM), and Apache Hadoop (especially for data processing in SIoT) and MATLAB toolkit has 10% of usage commonly in literature.

Fig. 9
figure 9

Percentage of the simulation tools in studied articles

Challenges of SIoT

Many challenges in the SIoT can be significantly crucial for researchers to address new solutions for them. In Fig. 10 we listed the main challenges with their possible solutions that they are not considered exactly in the reviewed articles, and we illustrate all of them as follows:

Fig. 10
figure 10

SIoT main challenges and possible solutions

RQ4: What are the most important challenges of the SIoT?

  • Heterogeneity: SIoT is made up of millions of objects with different features in sources, platforms, protocols, and standards, and all objects and data must be recoverable [87]. These differences have led to the creation of a heterogeneous network of objects that affect their interaction and compatibility directly with each other and increase complexity [87], so that the heterogeneity nature of objects leads to many important problems like interoperability and compatibility that need solutions to solve them [9], such as:

    • Using POR objects relationship: the parental objects can be used in such systems to ensure compatibility between them because all objects are homogenous and compatible with each other.

    • Using middleware (interface) for non-POR objects: in contrast for other objects that are not homogeneous, can be worked on a suitable middleware as an interface to communicate and adapt them by enhancing the communicability, applicability, practicability, and operability of devices without considering models or manufacturers [88].

    • Discovering object identification policies: We need new addressing solutions for finding device identification [87].

  • Mobility and Dynamicity: smart objects placed in a dynamic environment are constantly changing their location, which leads to problems such as lack of effective object search for selecting and providing services. The other important issue is the dynamic behavior of objects and environments, which leads to a change in the state of objects. So, the objects alter their status in the network. Some solutions proposed for these issues, such as:

  • Create objects communities: for solving mobility, groups of objects can be formed into communities based on distinct features like their movement, social behaviors, social similarities [89], and common interests to interact with each other [90]. When an object changes its position, the structure of the community alters based on this displacement. Therefore, we can use some functions like Euclidean, adjacent matrix, or Global Positioning System (GPS) to get the current location of objects for calculating their distance or using the SWIMFootnote 27 model for modeling their mobility [90], which is used to generate location-based traces for the SIoT objects [91].

    • Manage dynamic behavior of objects: for solving this issue, objects need to dedicate some main rules and protocols by their owners to manage these changes to prevent from changing the network topology, although adaptability is the other issue that arises from this dynamicity because an object needs to adapt itself with these frequent changes.

  • Tracking objects: one of the main issues in SIoT and large scale networks that were considered rarely is tracking objects, interactions, and activities. We can propose some solution for solving this problem such as:

    • Using a graph model: we can present a graph model for smart object interactions based on following objects’ social behaviors.

    • Determine rules: some rules must define to construct, update, predict, or remove the edges between two objects. Each object can be considered the main node. Their connection with together creates their edges. Their behaviors add weight to it according to the type and feature of a pair of objects relationship like common interest, providing a specific service/services, same location, etc.

    • Using objects movement patterns: Zhiyuan et al. [92] proposed Resource Discovery based on Preference and Movement Similarity (RDPM) for tracking objects movement patterns using GPS and three-dimensional location approach.

  • Security, Trust, and Privacy: because of a huge connected environment of devices, opportunistic services, and users in SIoT [51], security is an essential key to share information guardedly. So, contrary to many types of research that have been done in this field, it remains as one of the significant challenges and requires handling for the survival of the system in the face of various attacks to have security, reliability, availability, resiliency in interactions [9]. So there are some solutions to this problem, such as:

    • Access control system: we need a control system to prevent unauthorized access to data.

    • Effective encryption mechanism: We can also use an effective encryption mechanism to encrypt data reliably or use cost-effective and self-synchronizing models [50] to secure real identities from attacks.

    • Trust management framework: moreover, we can work on the SIoT trust management framework [43] to provide new applications for making trust between objects and users.

    • Safe data sharing model: We can also create privacy-preserving user and object communities based on policies to form a dynamic and safe data sharing model for more security and privacy [50].

    • Predicting node behaviors: We can use some techniques like machine learning [26] and decision tree for predicting nodes behaviors [95].

  • Resource-constrained devices: even though the SIoT is a system with limited resources and this issue has a direct impact on the life of the network and the exchange of information, there is still no optimal solution to address this issue by considering energy limitations at all levels of design to have more effective interactions [9]. Therefore, we need more studies and research to create an effective resource management system [93] on the SIoT to get the most out of such a system.

    • Effective resource management system: due to the mobility nature of objects, which leads to much more computation power and energy in this system, we need an effective resource management system for solving it.

  • Efficient service search and discovery: the large number of objects in SIoT led to lower scalability and navigability for selecting friendships, searching services, and making an appropriate connection between objects. This issue increases the overhead at all levels of the SIoT system. So one of the main issues is the effective search and discovery of the services, which leads to a reduction in system overhead, provision of services with greater efficiency [52], better response time, decrease objects transactions time, and increase the navigability and scalability of the network [94, 95]. So there are some solutions to this problem, such as:

    • Using a mechanism to control overhead: we need a mechanism to control overhead and effectively search for services and resources, such as creating communities of objects based on main parameters such as social similarities [90], providing similar services, resources, other similarity measurements [49].

  • Using new searching algorithms: in [90], they used intracommunity and intercommunity service search algorithms between detected local and global communities to discover services efficiently [90].

Conclusion

This article delineates a comprehensive systematic literature overview of SIoT. First, we provide a brief background on SIoT. Second, we have collected data from a large collection of previous works. We propose working methods, paper extraction methods, and research question design to explore open topics and challenges of evaluating the data collected. We reviewed related articles published between 2011 and December 2019 in English and ISI journals. In the end, about 55 articles were selected for statistical and technical analysis, focusing on the main structures of SIoT. In the third, we developed a technical classification of the core structure of the SIoT ecosystem, which includes six sub-categories: architecture, relation management, trust management, web service process, related information, and tools (platform and dataset) and shows the elements one by one perfectly to highlight its strengths and weaknesses and express its main idea. Also, this study can be created and used for future work to test more closely and accurately the critical elements of SIoT, such as trust management, relationship management, and friendship selection. It could also explore it for future research in promising areas such as smart grids, smart cities, and smart industries. There are many challenges in this area that need to be thoroughly explored, and we will keep them as future work.