Internet heterogeneity is driving a new challenge in application
development: adaptive software. Together with the increased Internet
capacity and new access technologies, network congestion and the use of
older technologies, wireless access, and peer-to-peer networking are
increasing the heterogeneity of the Internet. Applications should
provide gracefully degraded levels of service when network conditions
are poor, and enhanced services when network conditions exceed
expectations. Existing adaptive technologies, which are primarily
end-to-end or proxy-based and often focus on a single deficient link,
can perform poorly in heterogeneous networks. Instead, heterogeneous
networks frequently require multiple, coordinated, and distributed
remedial actions.
Conductor: Distributed Adaptation for Heterogeneous Networks describes
a new approach to graceful degradation in the face of network
heterogeneity - distributed adaptation - in which adaptive code is
deployed at multiple points within a network. The feasibility of this
approach is demonstrated by conductor, a middleware framework that
enables distributed adaptation of connection-oriented, application-level
protocols. By adapting protocols, conductor provides
application-transparent adaptation, supporting both existing
applications and applications designed with adaptation in mind.
Conductor: Distributed Adaptation for Heterogeneous Networks
introduces new techniques that enable distributed adaptation, making it
automatic, reliable, and secure. In particular, we introduce the notion
of semantic segmentation, which maintains exactly-once delivery of the
semantic elements of a data stream while allowing the stream to be
arbitrarily adapted in transit. We also introduce a secure architecture
for automatic adaptor selection, protecting user data from unauthorized
adaptation. These techniques are described both in the context of
conductor and in the broader context of distributed systems. Finally,
this book presents empirical evidence from several case studies
indicating that distributed adaptation can allow applications to degrade
gracefully in heterogeneous networks, providing a higher quality of
service to users than other adaptive techniques. Further, experimental
results indicate that the proposed techniques can be employed without
excessive cost. Thus, distributed adaptation is both practical and
beneficial.
Conductor: Distributed Adaptation for Heterogeneous Networks is
designed to meet the needs of a professional audience composed of
researchers and practitioners in industry and graduate-level students in
computer science.