Implemented a File Caching Proxy to support different file operations among Multiple Clients and a Server. The proxy emulated standard C library file operations and implemented an LRU cache. The clients could perform concurrent read and writes to the same file. Made use of Java RMI for the communication between the proxy and server.