Abstract
Most peer-to-peer systems are built upon the assumption that their running environment is homogeneous. However, for Internet-scale applications this assumption could lead to performance limitations. We propose a framework for building peer-to-peer systems which use performance monitoring techniques to adapt to changes in their environment.