public void refresh() throws SSMException{
		init();
		log.info("START REFRESH");
		log.info("Clean Member Set");
		mbrSet.clear();
		log.info("Get SMbrSet from Simple DB");
		String sMbrList = getSMbrSet();
		log.info("sMbrList : "+sMbrList);
		ConcurrentSkipListSet<String>	sMbrListSet;
		log.info("Empty : "+sMbrList.trim().equals(""));
		if (sMbrList != null && !sMbrList.trim().equals("")) { 
			sMbrListSet = new ConcurrentSkipListSet<String>(Arrays.asList(sMbrList
					.split("--")));
		}
		else { 
			sMbrListSet = new ConcurrentSkipListSet<String>();
			sMbrListSet.add(myIPP.getString());
		}
		log.info("My IPP ; "+myIPP);
		log.info("Sending NOOP to all memsbers");
		Iterator<String> iterator = sMbrListSet.iterator();
		String memberString = "";
		while (iterator.hasNext()) {
			String ippStr = iterator.next();
			IPP mIPP = null;
			try {
				log.info("IPP String : "+ippStr);
				mIPP = new IPP(ippStr);
			} catch (NumberFormatException e) {
				continue;
			}
			if (!mIPP.equals(myIPP)) {
				log.info("Sending Probe Request");
				int noOfTries = 2;
				RPCRequest probeRequest = new RPCRequest(mIPP,RPCRequest.NOOP);
				probeRequest.setCallID(MyUtil.getCallID());
				RPCClient rpcClient = new RPCClient();
				while(noOfTries > 0){
					log.info("Sending to :"+mIPP);
					log.info("Try :"+noOfTries);
					RPCResponse probeResponse = rpcClient.sendRequest(probeRequest);
					noOfTries--;
					if (probeResponse !=null) {
						if (probeResponse.getCallID() == probeRequest.getCallID()
								&& probeResponse.getOpCode() == RPCResponse.ALIVE) {
							mbrSet.add(mIPP.getString());
							memberString += mIPP.getString();
							memberString +="--";
							break;
						}
					}
				}
			}
		}
		log.info("Adding Self to memebr list");
		memberString +=myIPP.toString();
		mbrSet.add(myIPP.toString());
		storeMemberList(memberString, sMbrList);
	}