Networks and Distributed Computing CS-233/333

Homework 6

    Due Friday, June 13th for the programming project and according to the schedule below for the packet lab. Graduating students must turn in their programs by June 5th(less complicate programs are expected.) Since this assignment is offered over several weeks, it will be worth more than the other assignments (2.5 x for the programming and .5 for the packet lab, except for seniors where it will be .7 and .3, respectively.) Students taking the CS 333 version of this class are expected to have more sophisticated projects.

Reading Assignment

    Read Chapter 6-7 Tanenbaum as well as some other readings which will be distributed by email for class discussions.

Network Packet Lab

      The network packet monitoring component should be completed by everyone and turned in during class in paper form according to the following schedule:

        Senior undergraduates, in class, June 3rd

        Everyone else, in class June 5th

      Since there are only 4 Macs with Etherpeek, please try to do the lab at a time other than the night before it is due, or right before class. Students for this classes are to have priority on those machines for this assignment, so if a another student is on the Macs, ask them or ask the MacLab Tutor to ask them to switch to a different machine.

Final Project

Pick from among the following projects, or propose a project to me and have it approved by the 29th.

Turn the Apple Address Book into a distributed contact manager by writing a rendevous version with uses the Address Book API. You will need access to a Mac for this. See me for the Apple developer software and sample code.

Implement the network infrastructure for a networked multiuser game. Keep the game very simple(something like tic-tac-toe), your focus should be on the networking.

Improve your web server to support the rest of these server features.

Implement a distributed contact manager using ONC RPC or RPC2.

Implement a web proxy server.

Implement a web load balancing system.

Deliverables

    Please turn in your source, makefile and runable Linux binary to the grader and to me. Your code will be evaluated by running it and on style. Turn the packet lab into me during class in paper form.