public void getServer(int host) throws RemoteException
	{
		Registry registry = LocateRegistry.getRegistry(host);
		String backupName = null;
		
		for(String name : registry.list())
		{
			try {
				currentServer = (ICoreServer)registry.lookup(name);
				if (currentServer.inService()) {
					//If we've found the primary server, return as it's already set
					if (currentServer.getState() == ServerState.PRIMARY)
					{
						return;
					}
					//Else if it's a backup (and alive), just set the name variable to be this server's name (arbitrary)
					else if (currentServer.getState() == ServerState.BACKUP)
					{
						backupName = currentServer.getName();
					}
				}
				
			}
			catch (Exception e)
			{
				continue;
			}
		}
		
		if (backupName == null)
		{
			System.err.println("There don't seem to be any servers");
			//There aren't any servers to connect to, propagate this up
			throw new RemoteException();
		}
		
		try {
			currentServer = (ICoreServer)registry.lookup(backupName);
		} catch (NotBoundException e) {}
		
	}