= Network Project Ideas = Note: this is not a substitute for the project requirements. Also if you have a project idea that involves service in the community (business or otherwise) talk to me about doing a Level III project for service credit. <> == CS Students == === Option 1: === 1. Design a new application protocol used to communicate between two devices in a client-server or peer-to-peer mode. 1. Create proof of concept program(s) that implement your new protocol 1. Demonstrate the programs communicating over a network 1. Document your development in the project report. === Option 2: === 1. Write an application that uses TCP/IP sockets to examine/probe/measure network performance. This could be anything from a google style indexing bot to a program that measures and collects statistics related to network performance (think response time etc.) 1. Demonstrate the programs communicating over a network 1. Document your development in the project report. === CS Project Ideas === * DNS proxy - Microsoft does not allow "views" as BIND does. This means that a DNS server is recursive or not, but can't be selectively recursive. Create a DNS proxy that allows queries about our domain and recursive queries from a set of IP addresses specified, but denies all other recursive queries. Setup the DNS on the server so that outside request traverse the proxy, but inside requests go directly to the server. * Multi-player games (pong, chess, ...) * Write software to measure route variations to specific public servers over a two week period * Write software to implement a web proxy for the dorm network so that common downloads could be retrieved without a bandwidth hit - sort of a download manager that registers downloads and checks for local copies from other users. * Peer-to-peer network video/audio streaming application that uses as a source a file or live video. Make it legal too... * Write a DHCP server or distributed webproxy that routes requests through an ad-hoc wireless dorm network so that when your bandwidth runs out, you can continue using the network. == IT Students == === Option 1 === 1. Research a network application 1. Install and configure a realistic instance of the network application (server and clients or multiple peers as the case may be) 1. Document the features and how well the application stacks up to its competition. Document your installation and configuration process and evaluate the system in terms of ease of use, installation and configuration. 1. Document specific network infrastructure configuration requirements. 1. Demonstrate the application as part of your presentation === Option 2 === 1. Study network performance issues for specific network applications (data collection and statistical analysis) This requires more research but less computer programming/installation work. A good example of this would be: Johannes Farber. 2002. Network game traffic modeling. In Proceedings of the 1st workshop on Network and system support for games (NetGames '02). ACM, New York, NY, USA, 53-57. DOI=10.1145/566500.566508 http://doi.acm.org/10.1145/566500.566508 1. Report on the performance metrics etc using charts/graphs etc. === IT Project Ideas === * Install and demo Asterisk (open source) * Install and demo Microsoft Communications Server (or the latest) * Measure and analyze some aspect of network performance such as * Route Variation (Map the routes on google earth) * Response times between clients at a specific location and a target server group (this would have to be a broad based survey with lots of data collected - but it could be very interesting). * Setup the network at a real business or organization including domain name, DNS, LAN etc. * Research and analyze a network application to determine the state of the art (i.e. which software provides the best, features, performance, availability, reliability, security, etc.). An example would be researching web proxies like squid. == Sage advice == Still lost and completely overwhelmed? Take a look at this page: StrugglingInComputerScience