This document discusses peer-to-peer systems as a way to build distributed systems and applications that are self-managing. It introduces DKS, a peer-to-peer middleware that provides routing, directory, and messaging services. DKS allows for automatic management including adding/removing resources, handling crashes, and load balancing. Some potential applications built using DKS are discussed, including a peer-to-peer web server, backup system, and file system. Structured peer-to-peer systems aim to overcome inefficiencies of earlier unstructured systems through self-organization and fault tolerance.