Project 1: Remote Procedure Call

DCE RPC supports a variety of execution semantics, i.e. what actions can be taken in case of failure. It also supports multiple versions of interfaces; a server can implement multiple versions of an interface, and a client can specify which interface it binds to.

For the first project, you will devise and implement tests to validate correct operation of versioning and execution semantics in DCE RPC. I don't expect a full validation suite, but examples of things you should be able to do are:

I don't expect everyone to do everything. A score of 4 can be earned by implementing a reasonably complete test (e.g., all of the above points) for either versioning or execution semantics, and one or two tests for the other.

Deadlines

This will be due in two parts. The first part, due Wednesday, January 30 at the beginning of class, is a design phase. You should lay out what you will do and how you expect to do it. Code is not necessary, but you must show that you have an idea how to create the code and make it work. Please submit as email, or if you prefer as an email attachment. I will return comments by February 1.

The second part, due Monday, February 11 at the beginning of class, is actual code. Please turn in code, along with scripts for test execution, results, and an overall commentary on your interpretation of the results. Submit via email as a tar file.

Reading

DCE Access

DCE is now running on blitz.cs.purdue.edu and ballroom.cs.purdue.edu. I've requested access to both machines for everyone in the course. The DCE files are in /opt/dce. You can also read documentation on-line. You'll probably want to start with the DCE RPC documentation. For simple examples of DCE RPC, see: /opt/dce/examples/pubs/greet/...


Valid XHTML 1.1!