public boolean remove(int processID) {
		Integer targetSlaveID = processSlaveMap.get(processID);
		outputStream = slaveOutputStreamMap.get(targetSlaveID);
		if (outputStream != null) {
			try {
				if (sendSuspendMsg(processID) == false)
					return false;
				outputStream.writeObject("remove");
				outputStream.writeObject(processID);
				// wait for acknowledgement
				String removeOK = (String) inputStream.readObject();
				if (removeOK.equals("fail"))
					return false;
				// remove the process from data structure
				processlist.remove(processID);
				processStatusMap.remove(processID);
				processSlaveMap.remove(processID);
			} catch (IOException e) {
				e.printStackTrace();
			} catch (ClassNotFoundException e) {
				e.printStackTrace();
			}
		}
		return true;
	}