In this paper we propose the design and implementation of ServBGP, a service routing protocol for managing service collaboration among cloud providers in cloud computing. ServBGP is based on the policy-driven design of the well-known BGP Internet routing protocol to support the different service interaction models currently employed in the cloud particularly the monolithic, composite, and broker-based service models. The main contribution of this work lies in devising a system that autonomously manages the different aspects of service interaction and collaboration among service providers from service discovery and advertisement to service consumption and revocation. The ServBGP routing decision engine is designed to operate by (1) processing cost-bidding service advertisement and revocation messages from the different cloud providers and (2) extracting objective and trustworthy feedback which is maintained by certified network entities and which consists of a set of reputation scores related to quality of service, security, and pricing. The BGP-inspired design choice allows the proposed system to “stand upon the shoulders of giants” by relying on a time-tested protocol that currently supports scalable inter-domain routing services among over 120,000 IPv4 prefixes in the Internet. Moreover, reusing the decision logic of the standard BGP protocol aids in reducing the development and operational costs, hence shortening the time to market, and utilizing a large set of BGP extensions, particularly, in the security domain, that have been incorporated into BGP since its inception in 1989. These qualities are of a chief importance in the cloud community today to ensure the efficient and secure service collaboration among cloud providers and to support the evolution, scalability, and economic feasibility of the overall cloud computing infrastructure. A proof of concept implementation of the ServBGP design is realized on the NetKit network emulation and virtualization platform using the standard BGPv4 protocol. Moreover, the devised ServBGP design is developed from the ground up and deployed in a real cloud computing environment using Amazon EC2, Microsoft Azure, and Google App Engine cloud platforms.
Read full abstract