SYSC 5800: Network Computing
Final Exam, Winter 2007
Duration: 90 minutes
Instructor: T. Kunz
Name:
Student number:
Answer all
questions on this exam paper. Each explanation should be as brief as possible;
you may also want to use diagrams where appropriate or requested.
Question 1. Network Addresses
(10 marks)
1. In the Internet, how many different ways exist to address a specific endhost. Assume you are dealing with a PC-type device, with only one Network Interface Card. How are these addresses related to each other (i.e., how can an Address of type X be translated into an Address of type Y)?
2. Which one(s), if any, of these addresses are just opaque, unique identifiers? Which ones have a structure? In the latter case, explain the structure and its purpose.
Question 2. Socket
Programming (10 marks)
1. Describe in a diagram the interactions between a client and server using UDP sockets. The diagram should start with client and server processes starting up and end with the client process terminating.
2. Describe similarly in a diagram the interactions between a client and a server using TCP sockets.
Question 3. RPC (10 marks)
1. Describe the basic communication pattern using RPC.
2. Discuss the shortcomings of the communication pattern and suggest an alternative communication pattern that solves that problem.
3. Describe the basic steps when executing an RPC, based on the Sun-RPC package described in class.
Question 4. Tuple Space (10 marks)
1. Describe the basic tuple space idea: what sort of communication paradigm does it implement, what are the communication primitives?
2. In JavaSpaces, a TupleSpace can be implemented in a number of different ways. Describe at least three different implementations that involve storing the tuple space across multiple machines and describe the pros and cons of each design.
3. Would a centralized implementation (i.e., the whole tuple space being managed by a centralized server) be a better solution? Explain your answer.
4.
Question
5. WWW Programming (10 marks)
Briefly describe at least three different ways of generating dynamic WWW content at the server and list advantages and disadvantages of each approach.
Question
6. XML (10 marks)
Briefly describe the following protocols:
1. XML
2. XML Schema
3. XSLT
4. SOAP
5. WSDL
Question
7. P2P Systems (10 marks)
1. Describe how P2P systems differ from Client-Server Architectures.
2. What are (potential) advantages of the P2P approach?
3. Briefly describe and evaluate Napster, Gnutella, and KaZaA.
4.
How do Napster, Gnutella, etc. differ
from P2P systems such as CHORDS or CAN?