1. A data-dependent overlay network comprising: a plurality of nodes; a plurality of data clouds, each data cloud including related data stored in the plurality of nodes in the data cloud, wherein the related data is related by topic, and wherein the related data includes different data; for each data cloud, a peer list maintained by each node in the data cloud, wherein each peer list includes at least one other node that is in the data cloud; and for each data cloud, a peer list update process used by each node in the data cloud for adding or removing nodes from peer lists for nodes in the data cloud, wherein the peer list update process includes identifying data of interest stored at another node in the data cloud and requesting the data of interest from the another node.