We conclude this paper with a description of our preliminary architectural design for the Piazza system (Figure 1), which focuses on the dynamic data placement problem mentioned above. Our goals are scalability even with large numbers of nodes and moderately frequent updates. We model a data origin as an entity distinct from the peers in the system (though a peer can actually serve both roles) — Piazza can only guarantee availability of data while its origin is a member of the network, and only the origin may update its data. All peer nodes belong to spheres of cooperation, in which they pool their resources and.