private void receiveMessage() throws IOException{
		ServerSocket server_sock = HelperFuncs.createServerSocket(master_port);
		
		while(true){
			Socket client_sock = null;
			String msg = null;
			client_sock = server_sock.accept();

			String remote_ip = client_sock.getInetAddress().getHostAddress();
			Rec_msg_handler receiver;
			try {
				receiver = new Rec_msg_handler(client_sock);
			} catch (ConnectException e1) {
				e1.printStackTrace();
				continue;
			} catch (IOException e1) {
				e1.printStackTrace();
				continue;
			}
			
			msg = receiver.rec_line();
			System.out.printf("msg is %s\n", msg);
			
			if(msg.equals(Message.terminated)){
				String terminatedProc = Rec_msg_handler.receive(client_sock);
				System.out.println("terminatedProc:"+terminatedProc);
				procTable.terminateProc(terminatedProc);
			}
			else if(msg.equals(Message.slaveSetup)){
				if(!s_table.addTable(remote_ip, Slave_node.slave_port)){
					System.out.println("error occured in adding job table");
					Send_msg_handler.send_line(client_sock, Message.error_adding_job_table);
				}
				client_sock.close();
			}
			
			else if(msg.equals(Message.enterSuspend)){
				String proc = receiver.rec_line();
				procTable.setSuspend(proc);
			}
			if(msg.equals(Message.reRun)){
				String recPid = receiver.rec_line();
				String recIp = receiver.getIp();
				System.out.println("received Pid is:" + recPid);
				procTable.addProc(recPid, recIp);
			}
		}
	}