dc.description.abstract | The Internet of Things (IoT) envisions a large number of physical devices connecting over the Internet at an unparalleled rate, to enable ubiquitous and pervasive computing scenarios. By adopting the service-oriented architecture paradigm, the devices' functional capabilities can be abstracted as IoT services and provided to application tasks on demand to create scalable, adaptable, and flexible IoT applications. For mission-critical IoT applications that have strict demands on the quality of service (QoS), a Service Level Agreement (SLA) can be used as a contract to specify the obligations and guarantees of involved parties for a particular service. By adopting an SLA monitoring and billing mechanism, service performance can be measured at runtime and compensation imposed when a contract is violated during the service execution stage. An SLA is needed to enable demand-driven service provision within QoS constraints, while SLA negotiation is needed to create a valid SLA before actual service delivery. To date, SLA management for the IoT environment has focused on SLA modeling, while research on automatic run-time SLA negotiation is limited to a centralized cloud-based mediator platform. This is insufficient to accommodate IoT domain-specific characteristics such as distributed heterogeneous resources, scale and dynamics in the environment. In addition, when negotiation parties are mobile, timeout failures during the negotiation stage may increase, which further reduces the chance of finding a mutually acceptable solution. This thesis presents a distributed negotiation system that dynamically negotiates with multiple service providers on behalf of service consumers, named iNegotiate. In an IoT environment with distributed, heterogeneous negotiation parties, semantic interoperability is required for these parties to understand each other. This work formalizes service information by proposing the WIoT-SLA ontology, which is an SLA ontology of IoT services built on two prominent web service SLA specifications: WS-Agreement and WSLA. In addition, in a large-scale environment where consumers are likely to have no prior experience with the surrounding service providers, negotiation with multiple service providers without a trust evaluation may be time-consuming and risky. This work proposes an experience-based trust model to identify trustworthy candidate service providers that have the potential to satisfy a consumer's requirements, even before negotiating with them. Considering the scale and dynamics of the environment, this thesis further proposes a three-stage negotiation model for automatic SLA negotiation. The first is the pre-negotiation stage, at which a hierarchical overlay network is automatically created to organize service information and control message flows. The second is the negotiation stage, at which a negotiation strategy based on WS-Agreement Negotiation specification is designed to make decisions after receiving a negotiation offer from a service provider. To balance the success rate and negotiated utility, the strategy has two negotiation tactics targeting different negotiation scenarios: a context-based tactic that reflects a service consumer's negotiation preference, and an artificial bee colony (ABC) algorithm-based tactic when the consumer's negotiation preference is unknown. The third stage is the post-negotiation stage at which the best negotiated solution is selected and returned to consumers. The thesis measures system performance using a set of simulated experiments. Evaluations of the service match-making using the WIoT-SLA ontology measure matchmaking precision, recall, and accuracy by simulating various services that have different SLA terms. Evaluations of the negotiation strategy measure the success rate and negotiation utility by simulating different bilateral negotiation scenarios. Evaluations of the trust-based candidate selection measure the success rate, negotiation utility, and SLA compliance by simulating different types of service providers based on a real IoT dataset. Evaluations of the distributed negotiation model have been carried out on the Simonstrator simulator under different network densities and various dynamic conditions. The evaluation metrics are the success rate, message delivery rate and the number of messages. The results demonstrate the feasibility, efficiency, and limitations of iNegotiate. | en |