Scalable service composition and reconfiguration in pervasive computing environments

Service composition is one of the fundamental mechanisms in pervasive computing. Different services are provided by physical objects embedded with computing devices which are interconnected in an ad hoc manner. However ensuring scalable service composition and composed service reconfiguration is a desirable as well as challenging task in large scale and highly dynamic pervasive environments. In pervasive computing, addressing the issues of scalability and dynamicity of environments are important and challenging. In service composition, service requestors require services instantaneously to accomplish their goals, but they may have no prior knowledge about the available services, as service providers can join and leave environments at runtime. Also, new devices and services can be added, so the scale of a pervasive computing system will grow. Existing service composition protocols did not adequately address the issues in providing users with scalable service composition at all the times in a localized manner. In this research we address the challenging issues and make the following original contributions in this field. Firstly, we propose a bottom-up community framework which works as the basis of our research in scalable service composition and reconfiguration in large scale and dynamic environments. The bottom-up community framework consists of a set of service providers along with a suite of protocols and algorithms to collaboratively provide scalable service composition, reconfiguration and heterogeneity supports for mobile users in large scale and dynamic environments. Secondly, using afore-mentioned bottom-up community, we propose a localized scalable service composition protocol. The bottom-up community nodes exchange messages only with their local neighbors and collaborate on composing only a part of the request. To avoid problem of nodes collaboration with partners that may fail to compose remaining parts of the request, we introduce a technique called Alien-information-based Acknowledging (A-Ack). We also design two additional techniques to optimize the performance with respect to time and message cost. This i approach guarantees arriving to the solution by collaboration of nodes without global information and maximizes quality of the solution by setting optimal locality area size for a given deadline. Third, based on the bottom-up community, we develop a composed service reconfiguration mechanism, named LASER. The proposed approach is suitable for applications deployed in environments which are large scale and highly dynamic. In LASER, no coordinator collects global information, nodes and links between them are mapped in subsequent stages and nodes construct only local part of the solution, while together achieving global goal. To avoid problem of hidden abort, we develop a technique called gradual reveal. We also design two additional techniques to optimize the performance with respect to time and message cost. Comparing with existing decentralized and pull-based centralized approach, the proposed localized algorithm is delay-constrained and message-efficient. Finally, in order to cope with the problem of heterogeneity in service composition we study how to provide service composition across different environments supported by different service management systems. We propose Universal Adaptor, a novel approach towards supporting multiprotocol service discovery in pervasive computing. UA consists of Universal Adaptor Primitives and Universal Adaptor Mapping. It provides mapping from UAP to protocol specific primitives. The client makes use of UAP to discover and access services. UAM performs mapping from UAP to service specific SDP primitives. From the point of view of the service side, Universal Adaptor is a tailored component that uses native SDP and performs service discovery on behalf of the client. Our contribution to the interoperability of service composition is providing solution that in a lightweight manner bridges not only all existing but future service discovery systems, including standard ones, as well as service discovery mechanisms that support multiple protocols within the domain. Our implementation has shown that Universal Adaptor is a simple and flexible solution. It is easy in the sense of writing the code, implementing in diverse infrastructures and using by client.