Cloud Computing has gained popularity in both research and industrial communities. Cloud users can acquire computing resources on a need basis, achieving on demand scalability; Cloud providers can maximize resource utilizations of datacenters, increasing their return on investments. While Cloud systems are usually hosted in large datacenters and are centrally managed, other types of Cloud architectures can be imagined. In this paper we describe the design and prototype implementation of a fully decentralized, P2P Cloud. A P2P Cloud allows organizations or even individual to build a computing infrastructure out of existing resources, which can be easily allocated among different tasks. We focus on the problem of maintaining a coherent structure over a set of unreliable computing resources. We show that gossip-based protocols can be used to maintain an overlay network on top of the computing nodes, and to partition the set of resources into multiple slices in such a way that the failure of individual nodes do not compromise the overall structure. Resource partitioning is one of the most important features of a Cloud, and therefore must be supported efficiently and reliably on any Cloud architecture. We describe a prototype Java implementation that is being developed to demonstrate the effectiveness of the proposed approach.
The P2PCS 7 REF project has built an initial prototype implementation of a decentralized Peer-to-Peer cloud system.
Design and implementation of a P2P Cloud system
SAC '12
Computer Science