Hiearchical Overlay For Service Composition In Pervasive Environments
MetadataShow full item record
The objective of pervasive computing is to allow users to perform their tasks in a transparent way regardless of device features. Resources on devices should be exploited to provide services in order to perform user tasks. When there is no exact match for the user task in the environment, the capabilities of available devices should be combined to perform the user task. Seamless Service Composition (SeSCo) abstracts device capabilities as services and leverages existing work on graph algorithms to perform service composition. A lightweight framework, PerSON (Service Overlay Network for Pervasive Environments) was developed to provide a service overlay network for the Pervasive Information Community Organization (PICO) middleware. In this thesis SeSCo service composition mechanism is implemented on top of PerSON. The ability of PerSON to construct an ad hoc service overlay network is exploited to create a hierarchical service overlay using message exchanges that facilitate the hierarchical order. This thesis develops a mechanism for propagation of services in the hierarchy. Services at each level are aggregated with services at lower levels of the hierarchy and requests are resolved by constructing a path in the service aggregation. Demonstration applications that perform string encryption and decryption are implemented using the PICO framework. The application problem comprises a matrix multiplication operation, and the encryption and decryption of matrix data. SeSCo is extended to include device resources in the service path, so that service composition will find the set of services hosted by the least resource constrained devices among all feasible candidates. A combination of device resources is used to define a suitable length for all services hosted by the device in the service aggregation. A proof of concept example scenario that uses battery energy has been implemented to demonstrate resource aware service composition.