The dynamically changing nature of the emerging networked environments warrants a computing model in which resources are dynamically discovered and opportunistically utilized to maintain continuity of service. This paper describes the design and implementation of Lightweight Adaptive Network Sockets (LANS) for accessing services in such a dynamically changing networked environment. A LANS socket takes a high-level description of a service and opportunistically connects to the best provider of the service in the changing environment of the application. LANS builds on the architectural philosophy of Service-oriented Network Sockets (SoNS)[13], in that it integrates a service-oriented abstraction with the operating system socket interface and provides adaptive service access at the end-host session layer. However, our experience with SoNS led to three key improvements for the LANS architecture. 1) The LANS session layer reduces the computation and communication over-head resulting from the SoNS end-to-end architecture. 2) LANS is designed to offer richer semantics for resource selection and allocation to enable better utilization of resources in shared pervasive environments. 3) Applications in LANS can control the opportunistic behavior of the system to avoid perfunctory reconnections. Our experiments show that LANS running on an iPAQ consumes 40% less power, requires less than 1% of the network traffic, and is far less processor hungry than the original version of SoNS --- without compromising performance and offering richer semantics for adaptive service access.
[1]
Krzysztof Z. Gajos,et al.
Rascal - A Resource Manager for Multi Agent Systems in Smart Spaces
,
2001,
CEEMAS.
[2]
Ben Y. Zhao,et al.
An architecture for a secure service discovery service
,
1999,
MobiCom.
[3]
Umar Saif,et al.
USENIX Association Proceedings of MobiSys 2003 : The First International Conference on Mobile Systems , Applications , and Services
,
2003
.
[4]
Michael Tüxen,et al.
Architecture for Reliable Server Pooling
,
2006
.
[5]
Roy H. Campbell,et al.
Building Applications for Ubiquitous Computing Environments
,
2002,
Pervasive.
[6]
Roger M. Needham,et al.
Grapevine: an exercise in distributed computing
,
1982,
CACM.
[7]
Hari Balakrishnan,et al.
The design and implementation of an intentional naming system
,
1999,
SOSP.
[8]
Gaetano Borriello,et al.
Next century challenges: data-centric networking for invisible computing: the Portolano project at the University of Washington
,
1999,
MobiCom.
[9]
John Loughney,et al.
Requirements for Reliable Server Pooling
,
2002,
RFC.
[10]
Erik Guttman,et al.
Service Location Protocol: Automatic Discovery of IP Network Services
,
1999,
IEEE Internet Comput..
[11]
Jerome H. Saltzer,et al.
End-to-end arguments in system design
,
1984,
TOCS.
[12]
Dale Skeen,et al.
The Information Bus: an architecture for extensible distributed systems
,
1994,
SOSP '93.
[13]
R. Sietmann,et al.
UNIVERSAL PLUG AND PLAY
,
1999
.