A distributed proxy system for functionality adaptation in pervasive computing environments

of thesis entitled “A Distributed Proxy System for Functionality Adaptation in Pervasive Computing Environments” submitted by Kwan Vivien Joanna Wai Man for the degree of Master of Philosophy at the University of Hong Kong in August 2002 Pervasive computing, with its distinctive feature of computation at anytime, anywhere, and on any device, has attracted a lot of attention in the last decade. The heterogeneity of client devices, limited capabilities of small devices, and users’ high mobility together pose a great challenge to the provision of web contents and services to the clients. They can be made more suitable to the clients via some form of adaptation by taking into account the clients’ execution contexts. Content adaptation is an existing solution in adapting web contents to resource-constrained devices. Web contents are usually transcoded such that they can fit into these devices. For services, the recent emergence of Web Services tries to take care of the distinctive features of pervasive computing by using dedicated servers for providing services to the clients. However, this approach cannot fit the needs of all the clients. There might be cases where some clients preferred to have the services provided in the client devices. In that case, another approach is to adapt codes to the clients so that they can be executed in the client devices. Although content adaptation is a well-established area of research, very little has been done on the adaptation of program or service codes in the existing literature. The adaptation of services, called functionality adaptation in this thesis, is to adapt service codes such that they can provide the desired functionality in the client devices. In this thesis, we present a proxy-based approach for functionality adaptation. The greatest challenge in adapting a service to a resource-constrained device is to estimate the resource usage required to provide the desired service, which is the total resource usage required by the service codes for the execution. This resource usage is not a static value that can be known before returning the service codes to the clients, but a dynamic value that depends on the execution and cannot be known until run-time. This variation in the dynamic resource usage makes it difficult for the proxy servers to determine whether a functionality can be completed in the client device. This thesis presents a conservative solution for supporting functionality adaptation in pervasive computing environments. As a proof-of-concept for functionality adaptation, a simple prototype of the proxy server has been implemented and tested. Experiments show that the adaptation quality is quite good, and can achieve a quality of over 65% when compared to providing the functionality in the ideal case. Apart from the quality, an average processing time of 300ms also suggests that the proxy server is of a reasonable performance and is suitable to be used in pervasive computing environments. Comparison is also done with random facet selection and the results indicate that although functionality adaptation can only have half the performance, a quality of 1.6 times better can be achieved. Functionality adaptation has sacrificed the performance for a better quality, which is more important to the clients if the performance is reasonable. (487 words) Kwan Vivien Joanna Wai Man August 2002 A Distributed Proxy System for Functionality Adaptation in Pervasive Computing Environments