Applies to: Exchange Server 2007 SP3, Exchange Server 2007 SP2, Exchange Server 2007 SP1, Exchange Server 2007
Topic Last Modified: 2007-08-27

This topic explains how Microsoft Exchange Server 2007 handles the routing of messages to public folders. Routing messages to public folders differs from other internal message routing because multiple replicas of the public folder instance may exist in the organization. Therefore, before message delivery can occur, the categorizer must determine to which public folder instance a message should be routed.

Selecting the Destination Public Folder Database

Public folders are stored in databases that are created on Mailbox servers. Public folder replication is the process by which public folder content and hierarchy are replicated across multiple servers for efficiency and fault tolerance. When multiple public folder databases that are located on separate servers support a single public folder tree, Microsoft Exchange uses public folder replication to keep the databases synchronized. Public folder content exists only in Exchange databases that are configured to have a replica of a specific folder. Content and hierarchy information are replicated separately.

Public folder hierarchies are retrieved when routing tables are calculated. The top-level hierarchy object has a list of all the public folder databases to which that hierarchy is replicated. This list of public folder databases is stored as the msExchOwningPFTreeBL attribute in the Active Directory directory service. The msExchOwningPFTreeBL attribute always lists the most recently added public folder databases at the top of the list. To make sure that correct message delivery can occur to the public folder replica, a preferred public folder database is selected by the routing component of the Microsoft Exchange Transport service from the msExchOwningPFTreeBL list. This selection is made by using the following evaluation process:

  1. If the list contains any public folder databases that are located on servers that are running Exchange Server 2003 or Exchange 2000 Server, these public folder databases are removed from consideration as the preferred public folder database if a replica also exists on an Exchange 2007 Mailbox server.

  2. If more than one Exchange 2007 public folder database is available, the following criteria are used to select a preferred public folder database:

    1. Ranking by the age of the public folder database   The older a public folder database is, the more likely it is to have a replica of the target public folder. Therefore, all public folder databases that are listed in the msExchOwningPFTreeBL list are ranked according to their date of creation by using a configurable number of days as a baseline. The age ranking for each public folder database can be one of the following, listed from best to worst:

      • More than baseline days old

      • Less than baseline days old

      • Unknown

      The public folder database that has the best age rating is selected as the preferred public folder database. By default, the baseline age for public folder replicas is two days (48 hours). You can modify this value by editing the PFReplicaAgeThresholdHours key in the EdgeTransport.exe.config file. This file is located in the %ProgramFiles%\Microsoft\Exchange Server\Bin directory on a computer that is running Exchange 2007.

    2. Proximity   If more than one public folder database has the best age rating, the Mailbox server that has the best proximity rating is selected. The proximity rating for each public folder database can be one of the following, listed from best to worst:

      Local server   If the local server contains a replica of the public folder database, it is selected as the preferred destination for routing to public folders that are contained in that hierarchy.

      A server that is located in the local Active Directory site   If more than one server on the list is located in the local Active Directory site, the first server on the list is selected as the preferred destination for routing to public folders that are contained in that hierarchy.

      A server that is located in a remote Active Directory site   If more than one server on the list is located in a remote Active Directory site, the server in the Active Directory site that has the least cost routing path from the local Active Directory site is selected as the preferred destination for routing to public folders that are contained in that hierarchy. If there is more than one server in that site that has a replica of the public folder database, the first server on the list is selected. If more than one remote Active Directory site has the same value for the least cost routing path, the first server on the list is selected. In this case, the lowest cost routing path to the selected server is calculated by using the logic that is used for intra-organizational routing. For more information, see Internal Message Routing.

If no public folder database replica is located on an Exchange 2007 Mailbox server, a public folder database that is located on an Exchange 2003 or Exchange 2000 computer is selected as the preferred destination for routing to public folders that are contained in that hierarchy. The Exchange 2003 or Exchange 2000 public folder database is selected by using the following criteria:

  1. Ranking by the age of the public folder database   The age ranking for an Exchange 2003 or Exchange 2000 public folder is determined by using the same method as for an Exchange 2007 server.

  2. If more than one public folder database has the same age ranking, the first server on the list is selected.

If only a single instance of a public folder database exists, the server that hosts that database is selected.

New in Exchange 2007 Service Pack 1

In Exchange 2007 Service Pack 1 (SP1), the selection process for the preferred public folder hierarchy database is modified. In the release-to-manufacturing (RTM) version of Exchange 2007, a public folder database that is located on an Exchange 2007 Mailbox server is always preferred over a public folder database that is located on an Exchange 2003 or Exchange 2000 server, regardless of age. This can result in routing a message to a public folder database that has not received replication of the complete hierarchy. If this happens, the location of the public folder replica cannot be determined, and a non-delivery report (NDR) is returned to the sender of the message.

In Exchange 2007 SP1, the preferred public folder hierarchy database is selected by using the following criteria:

  1. Ranking by the age of the public folder database   By default, public folder databases that have an age threshold of less than two days are not considered unless the age of all public folder databases is less than the threshold or the age is unknown.

  2. Proximity   The local server is preferred. If the local server does not contain a replica of the public folder database, a server in the same Active Directory site is preferred. If the local Active Directory site does not contain a replica of the public folder database, a server in a remote Active Directory site or routing group is selected as the preferred destination.

  3. Cost   If more than one remote Active Directory site or routing group contains a replica of the public folder database, the server in the Active Directory site or routing group that has the least cost routing path from the local Active Directory site is selected as the preferred destination.

After you apply this logic, if more than one server still meets the criteria, the first server in the replica list that is returned by Active Directory is selected.

Routing to Public Folders

The following steps describe the routing process for message delivery to public folders.

  1. The Hub Transport server receives the message and performs the categorization process. The e-mail address on the message is resolved to a recipient in Active Directory. If the e-mail address resolves to a public folder, the categorizer must determine which public folder hierarchy the public folder resides in.

  2. The categorizer looks up the homeMDB attribute for the public folder. The homeMDB attribute identifies the public folder hierarchy where the destination public folder is located.

  3. Based on the routing table calculations that are performed by the Microsoft Exchange Transport service, and described in the "Selecting the Destination Public Folder Database" section of this topic, the preferred public folder database is used to determine which public folder hierarchy contains a replica of the destination public folder.

    If the preferred public folder database is located in the same Active Directory site as the routing Hub Transport server, message processing proceeds as described in step 4 in this section.

    If the preferred public folder database is located in a remote Active Directory site, the message is relayed to that site by using the least cost routing path. The message categorization process that is described in step 1 and step 2 earlier in this section are repeated.

    If the preferred public folder database is located on an Exchange 2003 or Exchange 2000 server, the message is relayed to that server, and message delivery is determined by the earlier version of Exchange Server.

  4. The Hub Transport server establishes a connection to the store driver on the Mailbox server that contains the preferred public folder database. The public folder database is queried to determine whether content for the public folder is available. The identity of the destination folder is referenced by the legacyExchangeDN attribute, and content availability is determined by the value of the IsContentAvailable attribute. The store driver either accepts the message for delivery, or, if the folder contents are not available locally, the store driver responds with a list of alternative servers that contain a replica of that public folder.

    The behavior of returning an alternative list of servers is known as store override. The alternative list of servers that contain the public folder replica is listed in the same order that is provided in client folder referrals, and the top entry is chosen by transport. This referral is provided to routing as the destination to which the message should be routed. For more information about client folder referrals, see Managing Public Folder Referrals.

  5. If store override occurs, the Hub Transport server uses the routing table to determine the least cost routing path to the server that contains the preferred public folder replica and routes the message to that destination.

  6. The message is delivered to the public folder store.

For More Information