A researcher from Khalifa University has designed a blockchain-based model using smart contracts for trading computing resources between cloud providers as well as monitoring the service quality among cloud service providers.
“Our model enables quality verification for cloud providers who lease computing resources from each other,” explained Dr. Hadi Otrok, Associate Professor of Electrical Engineering and Computer Science.
Many of today’s information technology applications rely on access to state-of-the-art computing facilities, including cloud computing. Cloud computing enables convenient, on-demand network access to a shared pool of configurable computing resources that can be rapidly provisioned and released.
“The demand variation has forced cloud providers to preserve a massive amount of computing resources to avoid Service Level Agreement (SLA) violations,” explained Dr. Otrok. “To mitigate the issue of underutilized and over-provisioned computing resources, cloud providers scaled their pool of resources by forming cloud federations to maximize their profit and provide guaranteed Quality of Services.”
Cloud federations have emerged as a new paradigm in which cloud service providers share resources and revenue. Providers tend to collaborate when they face a hike in the demand for their services, but trust issues can make this collaboration challenging.
“In spite of their prominent advantages, cloud providers are reluctant to participate in federations due to some strict challenges, including the federations’ stability, long-term commitments from the providers, fair revenue sharing, the presence of unknown and untrusted participants, security and privacy concerns regarding the managed data, and the creation and management overhead of these federations,” explained Dr. Otrok.
“In order to overcome these limitations, the proposed Cloudchain is a new distributed blockchain-based framework to support interoperability and coopetition (cooperative competition) among the cloud providers. Cloudchain allows the cloud providers to outsource their unmet computing demands and agree on the values of shared variables (for example, the amount of resource, SLA and price) and keep a history of how the values change over time.”
A blockchain is a distributed ledger of transactions validated by a community rather than a central authority. It’s a collection of records that are validated and maintained as encrypted blocks, with the blocks being linked together as a chain, each one referencing the prior. The entire chain of blocks is retained on the public network in multiple copies, making it essentially immune to tampering, as no one person can go back and change records. This level of transparency is one of the main advantages of blockchain.
“The blockchain structure removes the barriers of a traditional centralized federation and offers a fully distributed and transparent administration by enforcing the involved agents to maintain consensus on the data. For a blockchain-based federation, it is vital to avoid blind-trust on the claimed SLA guarantees and monitor the quality of service which is highly desirable considering the multi-tenancy characteristic of cloud services.”
However, formation of federations remains hindered as blockchain has no visibility for the outside world and decisions made using its information content are dependent on the information provided to it.
“Due to the fact that the blockchain network is unable to access the outside world, it cannot detect SLA violations. Thus, we introduce Oracle as a verifier agent to monitor the quality of the service, perform verification tasks, confirm if the SLA is met, and report to the smart contract agents deployed on the Blockchain,” Dr. Otrok explained. Oracle, in the blockchain context, is a fully-trusted third-party agent that has access to the outside world and feeds the data into the blockchain via smart contracts to be accessible by the applications.
Smart contracts are simple programs that are stored on the blockchain and can be used to automatically execute instructions under certain conditions. Smart contracts take the digital place of a trusted third party and because they are stored on the blockchain, they inherit the immutable and distributed properties from the blockchain. Hence, tampering with smart contracts becomes almost impossible.
“Blockchain had a revolutionary impact in corporate governance by offering greater transparency among stakeholders. By leveraging blockchain-enabled smart contracts, we eliminate the need for trust in the federation and reduce barriers of entry, lock-in, and transaction costs, by removing obsolete trust-establishing mechanisms,” said Dr. Otrok.
There are a handful of blockchain networks that support smart contracts, with Ethereum being the largest and specifically created and designed to support them. Dr. Otrok and his team implemented a decentralized model on the Ethereum network, designing their smart contracts with the Solidity programming language. Their model is designed to embody quality verification for cloud providers who lease computing resources from each other and optimize workload.
“The interaction between cloud service providers (either providing a service or requesting it from another provider) and the Oracle through smart contracts comprises a system of autonomous and utility maximizer agents. Cloud requesters seek to receive high quality services with constant monitoring at cheap prices or even with no charge, while cloud providers aim to have a balanced workload with less preserved capacity, and the Oracle tends to charge higher for their monitoring services. Therefore, to model this conflicting situation, we formulated a dynamic Stackelberg differential game to optimize the cost of using the Oracle and maximize the profit of the agents with the role provider agent as a leader, and the requester and verifier agents as followers.”
The Stackelberg game model is a strategic game in economics in which the leader firm moves first and the follower firms move sequentially; in game theory terms, the players of this game are a leader and a follower, with players competing on maximizing their gain. The Stackelberg model can be solved to find the subgame perfect Nash equilibrium (SPNE), which is the strategy equilibrium that optimizes outcomes for each player.
“Game theory has been successfully applied in the cloud computing area for resource allocation and pricing mechanisms, where the interactions of players have to be taken into account,” said Dr. Otrok. “A user-provider interactive approach has been taken in previous works, where a Stackelberg game is designed to consider constrained pricing with limited resources offered by a cloud service provider and the optimal user demands. However, the price is the only utility factor considered in these studies and the importance of Quality of Service is somehow neglected.”
“The results from our Stackelberg differential game revealed that the requester agent initiates most of the quality verification requests at the beginning to the middle of the contract. Thus, the provider agent could reserve fewer computing resources as it could share the workload among other customers’ computing resources during this peak-time. Moreover, imposing a higher penalty on the provider agent increased the capacity and decreased the number of requests for quality verification at the equilibrium. We also found that the impact of timing in the dynamic pricing strategy of the verifier agent is very minimal, and the provisioning capacity of the provider is strongly correlated with the monitoring price.”
Dr. Otrok’s model used a single trusted Oracle to perform the verification. However, blind trust in a single third-party may hinder the reliability and efficiency of the blockchain network. His team plans to consider multiple Oracles and more advanced techniques such as reinforcement learning, to enforce truthfulness among the Oracles and select the most reliable and efficient at each stage of verification.
News and Features Writer
12 January 2020