DISTRIBUTED SYSTEMS PROJECT WITH JAVA Checklists Distributed Systems Functionality At Least 3 Advanced Design Patterns Use of Java Native Interface Remote Method Invocation