By George Coulouris, Jean Dollimore and Tim Kindberg
Addison-Wesley ©Pearson Education 2005
Early file-sharing applications such as Napster were restricted in their scalability by the need to
maintain a central index of resources and the hosts that hold them. What other solutions to the
indexingproblem can you identify?
The choice is application-dependent:
i) The web can be used, but this requires manual intervention to announce new resources and users must
invoke a search engine to find the resources they want (maybe via a web service interface).
ii) If the aim is to provide access to all resources for all users, some form of reliable replication is needed.
Chapter 15details several with differing costs and consistency models. Gossip and Bayou are
potentially scalable to internet-wide. They offer availability guarantees, but only after ‘convergence’
which may be slow.
iii)If guaranteed availability isn’t required (as in media file sharing) then some form of localized
information sharing may be more suitable. For example, each node contacts other nodes withGUIDs in
the same range as its own to discover the resources they have available or can access. This would offer
quick response with a subset of the available resources and possibly more resources with a slower
The problem of maintaining indexes of available resources is application-dependent. Consider the
suitability of each of your answers to Exercise 10.1 for (a) musicand media file sharing, (b) longterm storage of archived material such as journal or newspaper content, (c) network storage of
general-purpose read-write files.
a) Solution (i) is suitable for slowly - changing collections of resources such as media files. It is used by
BitTorrent, supplemented by a tracker service for each resource that holds up-to-date information about
thecurrent locations of available replicas.
b) Solution (ii) is suitable; the updates can be disseminated in a slow algorithm that provides eventual
c) This is difficult to achieve in a totally scalable manner. Some partitioning of the files as in Ivy and
Oceanstore is needed. Clients must hold the GUIDs or other reference to the group of hosts responsible
for the portions of the storethey are interested in.
What are the main guarantees that users expect conventional servers (e.g. web servers or file
servers) to offer?
The main guarantees are:
• to maintain a consistent state of the objects that they store;
Distributed Systems, Edition 4: Chapter 10 Solutions
Last updated: 5 May 2005 11:44 am ©George Coulouris, Jean Dollimore and Tim Kindberg 2005
1• to make their service continuously available.
The guarantees offered by conventional servers may be violated by:
a) physical damage to the host;
b) Errors or inconsistencies by system adminstrators or their managers;
c) successful attacks on the security of the system software;
d) hardware or software errors.
Give two examples of possible incidents for each type of violation.Which of them could be described as a
breach of trust or a criminal act? Would they be breaches of trust if they occurred on a personal computer that
was contributing some resources to a peer-to-peer service? Why is this relevant for peer-to-peer systems?
a) Power failure, earthquake, flood, act of war or sabotage, owner throws the computer away. The last two
are breeches of trustfor servers, but the owner of a PC is free to throw it away.
b) Accidental deletion of a file, permission failure, there are many possible errors in system administration.
Maybe not a breach of trust, but repeated occurrences are a serious matter in a service, though not on a
c) The attacks described in Section 7.1.1 are always a breach of trust or a criminal attack for servers. But