Rollover to other server when not responding?

I’m looking for suggestions for controlling which servers users replicate with. There are probably some good solutions that I am overlooking. Lately we have been experiencing more issues where remote users roll over to another server when they fail to reach their server.

Scenario

We have two databases each with several million documents. Our users replicate with a regional or district server which contains an appropriate subset of documents that they need. The first time they replicate, they may spend hours doing a one-time search followed by transfer of their documents. Subsequent replications are quick — UNLESS they replicate with the wrong server in which case they go through another one-time search – possibly across a WAN. Ouch! You know how smart users are. They will start a replication at the end of the day and go home while it continues to churn.

If they fail to access their preferred server, it rolls-over to the first server alphabetically. In our environment, they typically roll-over to the “Central” server (“C” being near the start of the alphabet). I considered putting Central in a separate Notes Named Networks (NNNs) but then they would roll-over to the next server in the list. I would hate to set up dozens of NNNs. Is there any way to restrict users to one NNN?

On the replication page, we do set the preferred server to their server name. That does not work if their server is down or other network issues cause it not to respond.

Could I do something with named ports or protocols? I would hate to have dozens of port names.

Any other suggestions?