DSAccess builds a list of domain controllers (DCs) and Global Catalogs (GCs) for Exchange 2000 Server to use for retrieving information from Active Directory (AD). To build the list, DSAccess follows these steps:

  1. Call the Directory Service (DS) Locator Service.
  2. Retrieve the list of all DCs and GCs from the local AD site.
  3. Contact each server in the list.
  4. Cache up to 10 active DCs and 10 active GCs.
  5. Reorder the active GC list so that domain-local GCs are at the top of the list.
  6. Use the cached DC and GC server list on a simple round-robin basis.

Here are some important enhancements and exceptions to this process:

  • If DSAccess can't locate a GC in the local AD site, it uses GC servers from the local domain.
  • If DSAccess can't locate a GC in the local AD site or the local domain, it uses GC servers from anywhere in the forest.
  • If responses from cached servers take more than 5 seconds, DSAccess marks the server as SLOW and sends all requests synchronously.
  • If the cached server is unavailable, DSAccess marks the server as DOWN and retries it at a specified interval (e.g, 5 minutes, 10 minutes, 25 minutes).
  • DSAccess adds new GC servers to the cache as they become available on the network.
  • GCs are marked as UP if they're available, FAST if they respond to directory queries within 5 seconds (within 2 seconds for Exchange 2000 Server Service Pack 1—SP1), and InSync if all intraforest replication has taken place.