Hi Manish,
I think the best RMI tutorial to start with is the
java tutorial
In this tutorial, it shows you all the fundamentals of rmi programming. Also it demonstrates the dynamic loading (using codebase) and RmiSecurityManager which is no need in this assignment.
Another interesting and useful reference is the
BINGO game example.
Both Data and RemoteData class implement DataInterface. I actually change the lock signature in DataInferface which forces both Data and RemoteData to alter their lock signature.