UNSW   Faculty of Engineering myCSEPRINT VERSIONSITE MAP  
cse | School of Computer Science and Engineering (CRICOS Provider No. 00098G)
    #About CSE     #Undergraduate Study     #Postgraduate Study     #Timetables & Courses     #Research & Publications     #People & Work Units     #Help & Resources     #News & Events     #High School Portal

Last updated 31.01.12

Distributed Systems [COMP9243]

Exercises: Client Server


Before asking questions regarding this exercise, please review the lecture notes of Week #01 and #02 as well as the documentation on the Erlang web pages.

Address Server

In Erlang, implement a server process that manages a simple address database. This server should be able to handle four types of requests:

  • insert requests: Such a request adds a new address to the database (any existing address under the same name may be silently overwritten).
  • delete requests: Given a name, any address stored under that name is to be removed from the database.
  • lookup requests: Given a name, retrieve and return to the client the address stored under that name (if available).
  • stop requests: Terminate the server.

In addition, implement a client function that adds addresses to the database, retrieves addresses, and deletes them. One way of doing this would be to write an interactive front-end that communicates with the server. In a second step, provide RPC stubs to communicate with the address server and rewrite your client to use these stubs. Finally, using Erlang's after clause add support for dealing with timeouts during communication with the server. How does this affect the RPC interface?


COMP9243, School of Computer Science and Engineering, University of New South Wales CRICOS Provider Number: 00098G

This page is maintained by cs9243@cse.unsw.edu.au Last modified: Tuesday, 31-Jan-2012 17:58:29 EST

Top Of Page

 ###
Site maintained by webmistress@cse.unsw.edu.au
Please read the UNSW Copyright & Disclaimer Statement