An overlay is a virtual network.
Overlays are an important tool for deploying new services on the Internet.
Peer to Peer networks are an example of overlay formed between end systems. Overlays formed between end systems need to be self configuring because of dynamic membership of participating node and variable underlying network characterstics. Goal of this project is to examine issues associated with forming large scale self organizing overlays. We present a distributed algorithm to automatically configure the nodes into a logical topology which is dynamic and efficient. Our algorithm is targetted to scale to 1000s of members.