CS680 Project Ideas



Following are several ideas for Project 2. Some are directly related to content covered in class, some are not. This is not meant to be an exhaustive list, and is meant to inspire your creativity.

Extensions to a Distributed Data Backup Application
The goal of this project is to solve at least one of the problems left unsolved by Project 1. Following are several options:
An Exploration of Availability Prediction Techniques for Mobile Systems
The goal of this project is to investigate techniques for predicting availability in a network of mobile devices. Using data collected from 13 laptops, the project will evaluate the performance of techniques that attempt to predict when particular devices will be available. Ultimately, the result of this project will be a recommendation for which technique(s) would be most useful in an application such as the peer-to-peer data backup application described above.

A Simulator for Mobile Environments
The goal of this project is to implement a simulator that will model energy usage in a network of mobile devices. The simulator will be used to model predicted performance of the peer-to-peer data backup application described above.

Personal File System
The goal of this project is to implement a personal distributed file system. Suppose a user carries a collection of devices and each device stores some collection of data files (e.g., emails, an address book, or homework). The idea behind the personal file system is to provide the user with an integrated view of all files available on the system, and to enable to user to view any file from any location. The first step in the project is to develop and implement the basic architecture. There are also a number of more challenging research questions involved such as how to cache information, how to provide the best "quality of service" for the user (e.g., minimize delay), and how to manage files in a power-aware way.

A New P2P Search Algorithm
The goal of this project is to implement and test a new search algorithm for peer-to-peer file sharing environments. One possible algorithm would incorporate caching and push-based data delivery to provide users with the facility to browse content currently being downloaded. As the peer software receives search requests, it caches the requests and presents them to the user as catalog of available content. Extensions include additional filters that attempt to identify the content in which the user will be most interested.

A Lecture Interaction System
The goal of this project is to develop an application to enable students to interact electronically with an instructor during a lecture. For example, it may allow students to post questions anonymously, indicate they do not understand a particular topic, or for students to submit answers to a question posed by the instructor. The instructor will have a view of of information submitted by students, and may select certain comments and solutions to display to the class. An additional feature would be a participation tracker that enables the instructor to easily track which students have participated in the class discussion and will also randomly select participants when prompted. Many other feature suggestions available upon request!

Automated Linked In for Researchers
The goal of this project is to provide an automated linked in-style service that provides researchers with their degrees of separation to other researchers. The project would involve building a crawler to gather data about researchers. For example, you might build a database of researchers that contains for each researcher a list of his/her co-authors. Using this information, a researcher can query the system to find out how they can contact another researcher through co-authors. In other words, Bob->Jane->Bill->Alice might indicate that Bob co-authored a paper with Jane and Jane co-authored a paper with Bill and Bill co-authored a paper with Alice. So, Bob can potentially be introduced to Alice by contacting Jane.
Sami Rollins