package api; import edu.ucsb.jpregel.system.Job; import edu.ucsb.jpregel.system.JobRunData; import java.io.IOException; import java.rmi.Remote; import java.rmi.RemoteException; import java.util.concurrent.ExecutionException; /** * * @author Pete Cappello */ public interface Cluster extends Remote { public static final int PORT = 5000; public static final String SERVICE_NAME = "Cluster"; void register() throws RemoteException; void reset() throws RemoteException, ExecutionException, InterruptedException, IOException; JobRunData run( Job job ) throws RemoteException, InterruptedException; JobRunData run( Job job, String localFilePathName ) throws RemoteException, InterruptedException; void terminate() throws RemoteException, IOException; }