SYSC 5800: Network Computing

Sample Final Exam

 

Answer all questions on this exam paper. Each explanation should be as brief as possible; you may also want to use diagrams where appropriate.

 

Question 1. Computer Networks (10 marks)

Most protocol implementations are based on a layered architecture. Explain the reason behind this design and describe an example protocol stack that is based on this layered architecture.


Question 2. RPC (10 marks)

What is the basic idea behind RPC? What are some of the challenges in implementing RPCs?


Question 3. Coordination Languages (10 marks)

JMS (Java Message Service) provides persistent subscriptions in a publish-subscribe system: once a client makes a persistent subscription, the message broker will deliver events/messages to clients if they are connected. When a client is not connected, the message broker will buffer events until the client reconnects. Discuss how JMS is similar to and also differs from:

1.        TIB/Rendezvous

2.        Tuplespaces


Question 4. WWW Programming (10 marks)

Imagine we have a website with a form that allows a user to fill in a single textfield with name “input”. Once the user clicks on submit, the client uses the GET method to retrieve the following HTML webpage:

<html>

<head><title>Sample Output</title></head>

<body>

You typed in: <i>blabla</i>

</body>

</html>

whereblabla” is the text entered by the user. Provide implementations of the server side using

1.        CGI

2.        Java Servlets

3.        JSP

 

Note: for the Java Servlets solution, only provide the implementation of

public doPost(HttpServletRequest req, HttpServletResponse response)

{ … }


Question 5. Grid Computing (10 marks)

Describe the generic Layered Grid Architecture as presented in class. Discuss how this layered architecture is similar to and different from a layered protocol architecture.