2. Preliminaries
This section reviews the preliminaries of cloud computing, service computing, and pervasive computing.
2.1 Cloud computing
As we have introduced in Section 1, a computing cloud is a massive network of nodes. Thus, scalability should be a quality feature of the computing cloud. It has at least two dimensions, namely
horizontal cloud scalability and vertical cloud scalability (adapted from [9]).
Horizontal cloud scalability is the ability to connect and integrate multiple clouds to work as one logical cloud. For instance, a cloud providing calculation services (calculation cloud) can
access a cloud providing storage services (storage cloud) to keep intermediate results. Two calculation clouds can also integrate into a larger calculation cloud.
Vertical cloud scalability is the ability to improve the capacity of a cloud by enhancing individual existing nodes in the cloud (such as providing a server with more physical memory) or improving
the bandwidth that connects two nodes. In addition, to meet increasing market demand, a node can be gradually upgraded from a single power machine to a data center.
Scalability should be transparent to users. For instance, users may store their data in the cloud without the need to know where it keeps the data or how it accesses the data.
For simplicity, we will refer to horizontal and vertical cloud scalability, respectively, as horizontal scalability and vertical scalability in this paper.