public boolean sendResumeMsg(int processID) {
		// find what slave the process is running/suspending on
		Integer targetSlaveID = processSlaveMap.get(processID);
		if (targetSlaveID != null) {
			// locate the slave socket and use the socket to send resume signal
			Socket slaveSocket = slavelist.get(targetSlaveID);
			if (slaveSocket != null) {
				try {
					outputStream = slaveOutputStreamMap.get(targetSlaveID);
					outputStream.writeObject("resume");
					outputStream.writeObject(new Integer(processID));
					
					// wait for acknowledgement
					inputStream = slaveInputStreamMap.get(targetSlaveID);
					String resumeOK = null;
					resumeOK = (String) inputStream.readObject();				
					if (resumeOK.equals("fail"))
						return false;
					// update process status
					processStatusMap.put(processID, "running");			
				} catch (IOException e) {
					e.printStackTrace();
				} catch (ClassNotFoundException e) {
					e.printStackTrace();
				}
			} else {
				System.out.println("Error when locating slave socket...");
			}
		}
		return true;
	}