Skip to Main Content
Service discovery is a critical feature in cloud computing. It is often centrally controlled within the cloud fabric, which may lead to many risks, such as performance bottleneck and single point of failure. This paper proposes a new service discovery approach based on Pastry, i.e. a structured peer-to-peer network model, to leverage large-scale decentralized cloud computing. In the proposed P2P-Cloud framework, all virtual machines running in a cloud environment on heterogeneous hosts are considered as peer nodes. Each node has its own resources to share and may request resources from other nodes. In addition, each node has a unique NodeID and each service has a unique ServiceID, generated by a hash function. Pastry is used because it maintains locality while performing routing. To reduce complexity, we further propose a fixed-length prefix, say the first m bits, of the ServiceID to be used as the key for service advertisement and discovery. This enables the service capability of a node to be advertised at multiple peer nodes (known as directory nodes of the service) and thus increases the chance that a user can discover within its proximity, a node which can provide the service required. Our proposed prefix routing approach preserves the locality property of Pastry, and the lookup process for service advertisement/discovery has an order of O(logBM), where B is the number base (i.e. radix) used for constructing the Pastry routing table, and M = 2m is the total number of possible keys in the network.