CS 654 Course Project Information


Projects may be done individually or in teams of two (in which case more content should be added). The proposals I have seen are not sufficiently deep to require two people, so stick with individual projects.


Project proposals are due by 5:00pm on Friday, October 8, 2004 (send it electronically - pdf file).
Project status reports are due by 5:00pm on Wednesday, November 5, 2004 (send it electronically - pdf file; or talk to me).
Projects are due at 5:00pm on Sunday, December 5, 2004 (send it electronically - pdf file).

Projects:

Two types of projects are possible:
  1. System Performance Comparison:  You can pick alternative algorithms/protocols for a particular problem and  either
  2. in which to evaluate their relative performance and report on the results of your evaluation.   For example, you may choose to compare various distributed algorithms, replication methods, web caching protocols, security protocols as they apply to a particular application (e.g., e-commerce), or transaction protocols.  Your testbed/model is not required to support a wide range of application domains, but should be focused and realistic for one environment.  In your project proposal you should describe the alternatives you wish to compare, how you will implement your testbed or define your model, what the environment is, and how you will conduct and report on the tests.
  3. Critical Examination of a Distributed Systems Problem:  Evaluate proposed solutions to a current distributed computing research problem of your choosing.  You may wish to examine a topic specific to some application domain (such as distributed multimedia systems, e-commerce, or tele-health), a topic within some application environment (such as Web data mining, resource discovery, data integration, or querying/searching the Web, Web caching, real-time systems), or a topic specific to distributed systems (such as election algorithms, replication protocols, or data security). Your evaluation must summarize and compare various approaches  to address the problem, identifying  their limitations and relative strengths and weaknesses.  A critical comparison that offers some insight into the problem and the proposed solutions will be viewed much more favourably than a superficial comparison that simply rehashes the content of various articles. As a starting point, you may wish to look at some recent conference papers, for example those that have appeared in the ACM Symposium on Distributed Computing, IEEE International Conference on Distributed Computing Systems, ACM Transactions on Computer SystemsACM Transactions on Internet Technology, IEEE Transactions and Parallel and Distributed ComputingInternational Symposium on Distributed Objects and Applications, IEEE International Symposium on High Performance Distributed Computing. Also, database people have worked on these and related topics; so you should check ACM SIGMOD International Conference on Management of Data (SIGMOD), the International Conference on Very Large Data Bases (VLDB), the ACM Symposium on Principles of Database Systems (PODS), the IEEE International Conference on Data Engineering (ICDE), ACM Transactions on Database Systems, IEEE Transactions on Knowledge and Data Management, VLDB Journal, and Distributed and Parallel Databases Journal.  The proceedings of all of these conferences and the journals are available through the UW library.  The first three can also be accessed (and searched) on-line through the ACM Digital Library.    (UW maintains a campus-wide subscription to the ACM Digital Library and IEEE Digital Library, so you should be able to search it and retrieve from it if you are coming from any machine on the UW campus network.)  You may also be interested in exploring Michael Ley's databases and logic programming bibliography server (it actually has much wider coverage than its name suggests), which is searchable and contains many links to on-line papers.  In your project proposal you should describe the problem, indicate at least two approaches that have been proposed as (partial) solutions, and identify some of the key papers you expect to evaluate.

Project Proposals:

You must prepare a project proposal and submit it before the proposal deadline.  Your proposal will be returned to you as quickly as possible, either approved or not approved.  If it is not approved, you will be expected to revise and resubmit it.   Since your (approved) proposal defines the scope of your project, your project may not be submitted until your proposal has been approved.

Proposals must be short -- no more than two pages in length when printed. Each proposal should include your name(s), your student ID(s), and your e-mail address(es). Proposals must be submitted electronically, by attaching them to an e-mail message directed to your course instructor. Proposals must be submitted in one of the following formats: plain text, postscript, pdf, Microsoft Word, or HTML.

Project Status Reports:

When your project is approved, you will be assigned to one of the course instructors for evaluation purposes.  You may meet with either instructor to seek advice at any time, but you must schedule a meeting with the assigned instructor before the status report deadline to present an oral report of your progress.

Project Evaluation:

The final project reports should be written as if they are being submitted to a conference or a journal. The papers that you read should give you sufficient background to understand what is required. You can also talk to the instructor when you need to.

System evaluation projects will be evaluated based on the following criteria:

Critical evaluation projects will be evaluated based on the following criteria:


Home | General Information | Weekly Schedule

Course Notes | Newsgroup | Assignments & Exams | FAQ


Last updated 3 May 2004