Assignment for Distributed Programming involving the use of JMS, Fault Tolerance, and RMI File Sharing