Project Information

 

This handout is largely a summary of information contained on the project web page, http://www.cs.cornell.edu/Courses/Courses/cs514/project_information.htm. Make sure you check there often, because this handout will become out of date fast!

 

The project should be done in groups of 2-3 people, unless you have prior approval from Professor Birman. You should write the bulk of your code in C or C++ or Java. You can choose whether to use E-Speak or WebLogic, but since they are adapted for particular, and distinct kinds of applications, the project you do will probably dictate which of the two products you end up using. Both products have a great deal of documentation, which can be accessed from the course web site.

 

WebLogic and E-Speak have been installed some of the computers in the undergrad lab. You have been issued with accounts to use these computers. Of the two products, WebLogic is the more “polished”, it is self-contained, while E-Speak relies on other software, particularly Perl and Apache. Apache is not currently installed on the undergrad lab computers, but we will make it available soon.

 

You are free to use additional software as you deem appropriate: as usual, it makes more sense to use something someone has already written and save your time for the important stuff. Since this is a course which focuses on reliability in distributed systems, you should be particularly concerned with these issues. Some software which you may find useful includes:

 

·         Ensemble and JavaGroups, powerful tools for building replicated data, high availability services, and other kinds of distributed systems, designed and implemented by Professor Birman’s research group here at Cornell. Ensemble provides a powerful foundation to build secure and scalable distributed systems upon. The Maestro toolkit may be of particular interest, since it supplies a C++ and Corba interface to Ensemble. JavaGroups is a pure-Java implementation of a subset of the Ensemble features.

http://www.cs.cornell.edu/Info/Projects/Ensemble/index.html

http://www.cs.cornell.edu/Info/Projects/JavaGroupsNew/index.html

·         The NS-2 network simulator, one of the most powerful network simulators, which may be useful for evaluating the scalability of your design.

http://www-mash.cs.berkeley.edu/ns/

·         Don’t overlook Microsoft Access, Excel, etc for storing data: Access permits retrieving data using SQL. Note that WebLogic incorporates CloudScape, a lightweight database from Informix.