Remote Method Invocation (RMI), Java’s remote procedure call implementation, provides a mechanism for designing distributed Java technology-based applications. It allows methods to be invoked from other Java virtual machines, possibly at different hosts. RMI uses lockbased concurrency control, which suffers from distributed deadlocks, livelocks, and scalability and composability challenges. We ...