A VCG Mechanism Based Storage Allocation Strategy in
Cloud Computing Environment
Zhenqiang Mi
1
, Miao Zhang
1
and Zenggang Xiong
2
1
School of Computer and Communication Engineering, University of Science and Technology Beijing, Beijing, China
2
School of Computer and Information Science, Hubei Engineering University, Xiaogan, Hubei, China
Email: mizq@ustb.edu.cn; zhangmiao_lyy@163.com; jkxxzg2003@163.com
Abstract—With the significant growth in the quantity of cloud
storage customers, it becomes a primary issue for cloud storage
companies to properly allocate cloud resources among selfish
and rational virtual machines (VMs), which compete for
resources with others only to maximize their own performance
regardless of the overall system equalization. In this paper, a
mechanism approach is presented to cope with this problem.
Distinguish to previous studies, the proposed approach not only
considers storage cost and valuation of user data, but also
comprehensively takes the memory of storage nodes, data
center CPU and network bandwidth into consideration.
Moreover, we design a guidance algorithm to achieve dominant
equilibrium of the system. Through theoretical analysis and
experiments, the proposed mechanism has proved its
effectiveness and incentive compatibility for the overall system
equalization.
Index Terms—Cloud computing, storage allocation,
mechanism design, VCG mechanism
I. INTRODUCTION
Cloud computing develops rapidly in recent years. It
has been widely accepted as the third technology
revolution following personal computers and the Internet
[1], [2]. Cloud computing is computing that involves a
large number of computers connected through a
communication network such as the Internet, and in
which dynamically scalable and often virtualized
resources are pro-vided as services over the Internet.
Cloud storage is a typical application of cloud
computing. In scenarios where the core of the cloud
computing system is the storage and management of
massive data, cloud computing system requires a lot of
storage device configuration. Then, the cloud computing
system turns into a cloud storage system which aims to
establish an information-sharing storage environment
across the Internet so as to provide clients with data
storage service at any given time and place.
Manuscript received September 29, 2014; revised November 12,
2014, accepted November 14, 2014.
Corresponding author email: jkxxzg2003@163.com.
This work was supported by the National Science Foundation of
China (Grant No. 61272432, 61202508, 61370092, 61370132 and
61472033), Hubei Provincial Department of Education Outstanding
Youth Scientific Innovation Team Support Foundation (T201410), and
Fundamental Research Funds for the Central Universities (FRF-TP-14-
045A2).
doi:10.12720/jcm.7.2.89-105 (doi:10.4304/jcm.v.n.p-p)
The storage allocation strategy is one of the most
important problems in cloud storage system. As Virtual
Machines (VMs) are selfish and rational, a VM will
compete with others to maximize its own profit. This
problem brings new challenges to cloud providers who
must thwart non-cooperative behavior as well as allocate
resources among selfish VMs efficiently. Many re-source
allocation works have been done in the past. In [3], it is
pointed that, the growing demand increases the energy
consumption of data centers, which translates to high
energy cost and high carbon emissions which are not
environmentally sustainable, so the strategy pro-posed
focus on energy saving. There also exist other storage
allocation strategies such as load balancing algorithm [4]
and value-based scheduling [5], whereas most of the
existing work focuses on the storage cost to achieve a
better storage allocation performance. But they often
ignore the importance of the user’s data value and
synthesized performance metrics of the cloud nodes. Data
value represents the importance of data in both users’ and
cloud providers’ perspective. Different values of data
should be considered when allocating the cloud storage,
in order to maximize the profits while minimizing the
impacts on users’ quality of services (QoS). In the
meantime, considering the unique characteristic of cloud
storage system, sophisticated performance metrics, e.g.,
network bandwidth, CPU and memories, should be taken
into consideration when allocating the storage to
effectively balance the load of each cloud node, and
finally reduce the cost of the entire system.
Interestingly, the storage allocation problem is also a
specific aspect in the research area of resource allocation,
in which many proposed solutions are readily applicable.
Resource allocation is one of the most challenging
problems in resource management. As a key issue in the
research of cloud computing, resource allocation has
attracted numerous efforts in both academic and industry
societies [6]. Work [7] proposes a reinforcement learning
based management system for dynamic allocation of
servers, the proposed method tried to maximize the profit
of the host data center in cloud computing. A generic
request allocation and scheduling scheme was proposed
in [8] to achieve desired percentile service level
agreements (SLA) goals of consumers and to increase the
profits to the cloud provider. Storage allocation is a
particular aspect of resource allocation, especially in