What is the method signature of your lock and unlock methods in the interface provided by Sun? I ask because there are two different strategies, depending on whether or not your interface uses lock cookies...
To summarize: You have one remote object that is a factory, one instance of some file access class that is on the server side and which does not implement Remote, and for each client there is one other remote object obtained by the remote factory.
Note that when an object returned by a Remote object implements Remote itself it is not serialized back to the client: It becomes a remote object on the server side. Use a remote factory that creates the remote objects to access the database.
When you say a RemoteObject and DataAccessObject for each client is that a newly registered and binded object for each client then?