+ <h3>Centralised Machine Monitoring</h3>
+
+ <p>
+ The Computer Science department has a number of different machines
+ running a variety of different operating systems. One of the tasks
+ of the systems administrators is to make sure that the machines
+ don't run out of resources. This involves watching processor loads,
+ available disk space, swap space, etc.
+ </p>
+
+ <p>
+ It isn't practicle to monitor a large number of machines by logging
+ on and running commands such as 'uptime' on the unix machines, or
+ by using performance monitor for NT servers. Thus this project is
+ to write monitoring software for each platform supported which
+ reports resource usage back to one centralized location. System
+ Administrators would then be able to monitor all machines from this
+ centralised location.
+ </p>
+
+ <p>
+ Once this basic functionality is implemented it could usefully be
+ expanded to include logging of resource usage to identify longterm
+ trends/problems, alerter services which can directly contact
+ sysadmins (or even the general public) to bring attention to problem
+ areas. Ideally it should be possible to run multiple instances of
+ the reporting tool (with all instances being updated in realtime)
+ and to to be able to run the reporting tool as both as stand alone
+ application and embeded in a web page.
+ </p>
+
+ <p>
+ This project will require you to write code for the unix and Win32
+ APIs using C and knowledge of how the underlying operating systems
+ manage resources. It will also require some network/distributed
+ systems code and a GUI front end for the reporting tool. It is
+ important for students undertaking this project to understand the
+ importance of writing efficient and small code as the end product
+ will really be most useful when machines start run out of processing
+ power/memory/disk.
+ </p>
+
+ <p>
+ John Cinnamond (email jc) whose idea this is, will provide technical
+ support for the project.
+ </p>
+
+ <h2>Features</h2>
+
+ <h3>Key Features of The System</h3>