1
The Tutorial Questions and Lab Projects of Week 1
Tutorial Questions
1. Give five types of hardware resource and five types of data or software resource that can
usefully be shared. Give examples of their sharing as it occurs in distributed systems.
2. A user arrives at a railway station that she has never visited before, carrying a PDA that is
capable of wireless networking. Suggest how the user could be provided with information
about the local services and amenities at that station, without entering the station’s name or
attributes. What technical challenges must be overcome?
3. What are the advantages and disadvantages of HTML, URLs and HTTP as core technologies
for information browsing? Are any of these technologies suitable as a basis for client-server
computing in general?
4. A search engine is a web server that responds to client requests to search in its stored
indexes and (concurrently) runs several web crawler tasks to build and update the indexes.
What are the requirements for synchronisation between these concurrent activities?
5. The host computers used in peer-to-peer systems are often simply desktop computers in
users’ offices or homes. What are the implications of this for the availability and security of
any shared data objects that they hold and to what extent can any weaknesses be overcome
through the use of replication?
6. Distinguish between buffering and caching.
7. Describe possible occurrences of each of the main types of security threat (threats to
processes, threats to communication channels, denial of service) that might occur in the
Internet.
Lab Projects
Task 1
1. Download the WebClient1.java from Week 1 block of the unit Moodle site.
2. Compile and run the Java program.
3. What protocols have been used for the communication between WebClient1 and the
server?
4. What has been downloaded by WebClient1? You should answer this question by reading
the source code of WebClient1 and comparing its output (page1.txt) with the source page
of https://www.oracle.com/.
Task 2
1. Download the WebClient2.java from Week 1 block of the unit Moodle site
https://www.oracle.com/
2
2. Compile and run the Java program.
3. What protocols have been used for the communication between WebClient2 and the
server?
4. What has been output from WebClient2? Answer this question by reading the source code
of WebClient2 and checking the properties of the web page.