Java RMI based Implementation