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:
- 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.
- If more than one Exchange 2007 public folder database is
available, the following criteria are used to select a preferred
public folder database:
- 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.
- 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.
- 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:
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:
- 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.
- 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:
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- The message is delivered to the public folder store.
For More Information
For more information, see the following topics: