RMIIO is a library that makes it as simple as possible to stream large amounts of data using the RMI framework (or any RPC framework). The RMI framework makes it very easy to implement remote communication between Java programs, yet does not provide any ready solutions for sending large files without blowing out memory on the client or server. What you really want to do is stream data from the client to the server using a framework that does not really expose streaming. The RMIIO library provides some very powerful classes that enable a client to stream data to the server using only a few extra lines of code.