public boolean nodeConnectionFailure(String hostname)
	{
		client.printTerminalError("Lost connection to node: " + hostname);

		Node prevNode = null;
		Node nextNode = null;
		Node failedNode = null;
		
		try 
		{
			NodeManagerInterface iFace = (NodeManagerInterface)client.getNodeServerInterface();
			
			String ipFailedNode = iFace.getNode(hostname);
			
			if(ipFailedNode != null)		//If null, then the failure is already been resolved
			{
				failedNode = new Node(hostname, ipFailedNode);
			}
			
			prevNode = iFace.getPrevNode(hostname);
			nextNode = iFace.getNextNode(hostname);
			
			iFace.delNode(hostname);
		} 
		catch(Exception e)
		{
			System.err.println("NodeServer exception: "+ e.getMessage());
			serverConnectionFailure();
			return false;
		}
		
		if(prevNode != null)
		{
			updateNode(prevNode, null, nextNode);
		}
		if(nextNode != null)
		{
			updateNode(nextNode, prevNode, null);
		}
		
		if(failedNode != null)				//If null, then a failure agent is already been dispatched
		{
			client.createFailureAgent(failedNode);
		}
			
		return true;
	}