Rover: a toolkit for mobile information access
SOSP '95 Proceedings of the fifteenth ACM symposium on Operating systems principles
Adapting to network and client variability via on-demand dynamic distillation
Proceedings of the seventh international conference on Architectural support for programming languages and operating systems
Making paths explicit in the Scout operating system
OSDI '96 Proceedings of the second USENIX symposium on Operating systems design and implementation
Composable ad-hoc mobile services for universal interaction
MobiCom '97 Proceedings of the 3rd annual ACM/IEEE international conference on Mobile computing and networking
A general purpose proxy filtering mechanism applied to the mobile environment
MobiCom '97 Proceedings of the 3rd annual ACM/IEEE international conference on Mobile computing and networking
Agile application-aware adaptation for mobility
Proceedings of the sixteenth ACM symposium on Operating systems principles
IEEE Transactions on Software Engineering
The Java Language Specification
The Java Language Specification
Sumatra: A Language for Resource-Aware Mobile Programs
MOS '96 Selected Presentations and Invited Papers Second International Workshop on Mobile Object Systems - Towards the Programmable Internet
The Bay Area Research Wireless Access Network (BARWAN)
COMPCON '96 Proceedings of the 41st IEEE International Computer Conference
Conductor: A Framework for Distributed Adaptation
HOTOS '99 Proceedings of the The Seventh Workshop on Hot Topics in Operating Systems
System Support for Dynamic Layout of Distributed Applications
ICDCS '99 Proceedings of the 19th IEEE International Conference on Distributed Computing Systems
Hi-index | 0.00 |
Future distributed applications will need to support computing devices with a wide range of capabilities, varying network connectivity, increasing mobility of users, and a wide variation in load placed by clients on services. This paper presents DACIA, a framework for building adaptive distributed applications. In DACIA, distributed applications are viewed as consisting of connected components that typically implement data streaming, processing, and filtering functions. DACIA provides mechanisms for run-time reconfiguration of applications to allow them to adapt to the changing operating environments. Components can be moved to different hosts during execution, while maintaining communication connectivity with other components. New components can also be introduced along data paths, for example, to provide compression on low-bandwidth connections. Keeping communication overheads low is a significant challenge in designing component-based services. DACIA is designed so that communication costs among co-located components are similar to those of procedure calls. Performance results, as well as examples of adaptive services that can be built using DACIA are presented.