Многопользовательское приложение "клиент-сервер"
Необходимо разработать приложение по типу "клиент-сервер".
Суть приложения - наблюдение за пользователями.
Клиент получает данные о том, чем занимается пользователь: какие окна открыты (по заголовкам), какие процессы запущены, какие веб-страницы открыты (только IE ниже 7 версии, по сути тоже нужно просто взять заголовок, адрес выковыривать необязательно), время запуска и время закрытия процесса\окна\веб-страницы. Так же клиент и сервер должны уметь обмениваться сообщениями а-ля ICQ, и иметь возможность передавать друг другу файлы. клиенты между собой не могут ни общаться, ни передавать файлы, ни как-либо еще взаимодействовать.
Сервер - соответсвенно умеет принимать файлы и обмениваться сообщениями с клиентами (обратите внимание, сервер должен уметь открывать сразу несколько окошек для общения с разными клиентакми, ну как аська). Кроме этого, в реальном времени можно просмотреть список подключившихся клиентов (в качестве идентификатора клиента - системное имя пользователя), какие процессы\окна\страницы у него открыты\, в какое время подключился и отключился.
Так же сервер всю полученную информацию (кроме файлов), хранит в БД, и в любой момент можно промотреть данные по пользователям в удобоваримом виде. БД - Access (возможно будет MS SQL, но пока не утверждено).
Язык програмиирования - C#, другой не нужен, это обязательное требование.
Жду предложений