keyword searches; the web back-ends store documents, meta-data, and coordination state
on the participating systems.
The rapid acceptance of the new paradigm triggered the development of a new commu-
nication protocol allowing hosts at the network periphery to cope with the limited network
bandwidth available to them. BitTorrent is a peer-to-peer file sharing protocol enabling a
node to download/upload large files from/to several hosts simultaneously.
The P2P systems differ in their architecture. Some do not have any centralized infras-
tructure, while others have a dedicated controller, but this controller is not involved in
resource-intensive operations. For example, Skype has a central site to maintain the user
accounts; the users sign in and pay for specific activities at this site. The controller for
a BOINC platform maintains membership and is involved in task distribution to partic-
ipating systems. The nodes with abundant resources in systems without any centralized
infrastructure often act as supernodes and maintain information useful to increasing the
system efficiency e.g., indexes of the available content.
Regardless of the architecture, P2P systems are built around an overlay network, a
virtual network superimposed over the real network. Methods to construct such an overlay,
discussed in Section 7.10, consider a graph G = (V, E) where V is the set of N vertices and
E is the set of links between them.
Each node maintains a table of overlay links connecting it with other nodes of this virtual
network, each node being identified by its IP addresses. Two types of overlay networks,
unstructured and structured, are used by P2P systems. Random walks starting from a
few bootstrap nodes are usually used by systems desiring to join an unstructured overlay.
Each node of a structured overlay has a unique key which determines its position in the
structure; the keys are selected to guarantee a uniform distribution in a very large name
space. Structured overlay networks use key-based routing (KBR); given a starting node v
0
and a key k the function KBR(v
0
, k) returns the path in the graph from v
0
to the vertex
with key k. Epidemic algorithms discussed in Section 7.12 are often used by unstructured
overlays to disseminate network topology.
1.3 Cloud computing - an old idea whose time has come
Once the technological elements were in place it was only a matter of time until the eco-
nomical advantages of cloud computing became apparent. Due to the economy of scale
large data centers, centers with more than 50 000 systems, are more economical to operate
than medium size centers which have around 1 000 systems. Large data centers equipped
with commodity computers experience a 5 to 7 times decrease of resource consumption, in-
cluding energy, compared to medium size centers [25]. The networking costs, in dollars per
Mbit/sec/month, are 95/13 = 7.1 larger and the storage costs, in dollars per Gbyte/month,
are 2.2/0.4 = 5.7 larger for medium size centers. Medium size centers have a larger admin-
istrative overhead, one system administrator for 140 systems versus one for 1 000 systems
for large centers.
Data centers are very large consumers of electric energy to keep the servers and the
networking infrastructure running and for cooling. For example, there are 6 000 data centers
in the U.S and in 2006 they reportedly consumed 61 billion KWh, 1.5% of all electric energy
in the U.S., at a cost of $4.5 billion. The power demanded by data centers was predicted
to double from 2006 to 2011. Peak instantaneous demand was predicted to increase from 7
19