EECS 3214 : Assignment 3

Submit this assignment using the submit command (see the instructions below).

Objective

This assignment requires you to think about the networking aspects of a practical application and come up with a design that can be implemented as an open-source application in a term by a group of 3 students in a course like this one.

Application

Within a home network, internet monitors are required for various purposes. Parents may wish to use one to check on their kids and make sure they do not spend too much time on the internet, or do not visits inappropriate sites. The owner of the network may want to monitor a guest account to track inappropriate use in terms of either content or the amount of usage. Of course there are privacy issues involved here, but we will ignore them in this assignment and assume that the owner behaves responsibly in using the internet monitor.

The monitor should be transparent to users and should not affect user experience too much. It is only a monitor and should not shut down users; instead it logs information for the network owner to review. It should not be very easy for the user to deactivate the monitor.

Assignment

Carry out the following steps. Remember that your intended audience is a team of students wishing to make an application for this problem.
  1. Find out the functionality of one or two commercial applications that claim to solve this problem. Reference them in your report and list their strengths and weaknesses.
  2. Make a list of features of your proposed application. It does not have to be distinct from the apps you reviewed in the previous step.
  3. Propose a network architecture for designing a solution that provides the features in step 2. You need not worry about user-interfaces or platform-specific features. Think about clients, servers, sockets, packets etc. Feel free to use diagrams.
  4. Write a short report (around 2-3 single space pages) describing your design. Please cite any sources you may be using. Failure to do so may qualify as a violation of academic honesty standards.
    In the conclusion section, describe the shortcomings, especially if/how an user can work around your monitor. List any assumptions you make about the OS (e.g., a user cannot change a setting without admin privileges). List briefly any features you would add in a commercial version of this project, focussing only on the networking and not user-interface aspects.
Note: As mentioned in class, if you want to write a similar report about an application you are thinking about instead of this one, you can do so with the instructor's permission.

Submission and grading

Submit the programs using the following command: submit 3214 a3  <filename>.

Grading Scheme:
quality of design: 10 points
quality of report : 5 points