Conductor : An Adaptive Agent Framework |
Adaptive methods can be used to bridge the gap between the communication requirements of the application and the capabilities of the network. One approach is to alter the communication protocol used by the application to either reduce the application requirements or improve the facilities provided by the network. A typical adaptation might filter unnecessary data when transmission is costly, provide encryption when the network is insecure, provide dynamic caching when network latency is high, or allow dissimilar clients and servers to communicate. Adaptation allows the user to trade communication cost for lower quality application services or added functionality for computing overhead, providing a spectrum of cost and benefit tradeoffs.
Systems using single proxy to provide adaptation have previously been constructed for adapting to "last-mile" connectivity issues. In a more complex network architecture, however, adaptation may be required at several points along the communication path. This added complexity requires a richer and more distributed service for environmental monitoring, reliability, and the selection and deployment of adaptations.
Conductor is a middle-ware facility for deploying adaptation agents into a network. It allows connection-oriented application-level protocols to be tailored to specific distributed network characteristics. The Conductor run-time is deployed on nodes through a network providing support for environmental monitoring and adaptation deployment. Conductor intercepts network connections, dynamically selects a set of adaptor agents, deploys the combination of required agents along the connection path, routes the data flow through the agents, and monitors the network conditions for changes. Because Conductor operates on protocols, adaptation can be provided transparently to applications. Conductor also provides additional reliability mechanisms which maintain connection integrity despite adaptor or link failures. Thus, Conductor provides transparent adaptation of network applications over a wide variety of architectures, allowing users to obtain maximal usability and minimal cost under unfavorable conditions.
Mark Yarvis | ||
Dr. Peter Reiher | ||
Dr. Gerald Popek |
Jun Li | ||
| ||
Kevin Eustice | ||
|
Please note: | While the information below is a useful introduction to Conductor, it is somewhat outdated. Please see the Publications and Presentations section below for more up-to-date information. |
Why Adaptation? | ||
Why Distributed Adaptation? | ||
Conductor Architecture | ||
Coordinating Adaptation | ||
Adaptation and Reliability | ||
Adaptation and Security | ||
Links to Related Work |