Sunday, 28 October 2012 08:50

OAB (Offline Address Book) Architectural Difference in Exchange Server 2013

Written by

OAB (Offline Address Book), as you know, is one of the critical features of Microsoft Exchange Server. Microsoft Exchange Team has introduced a major change in architecture of OAB in Exchange Server 2013, mainly targeting to avoid the single point of failure of OAB generation process. As we all know, until Exchange 2010 when we create an Offline Address Book, we need to specify the mailbox server name that is responsible for the generation of OAB. Hence this server becomes a single point of failure thus affecting the generation process if the particular server becomes unavailable.

In Exchange Server 2013, OAB generation does not owned by single server, whereas it generated by the Mailbox Server(s) that hosts special type of arbitration mailbox, called organization mailbox. Hence, the OAB generation is not bound to a single server.


Exchange Component Responsible for OAB Generation,

In all the previous versions of exchange Microsoft Exchange System Attendant (SA) was responsible for the OAB generation process. And the OAB generation was a scheduled activity, which will run according to the schedule regardless of the server load. Whereas in Exchange Server 2013 “OABGeneratorAssistant” (mailbox agent running under the Microsoft Exchange Mailbox Assistant service) generated the OAB. Good part is, “OABGeneratorAssistant” is a throttled process and it pauses and resumes according to the load of a server to give a maximum server performance.

OAB file storage and Client Distribution,

The Exchange Server 2007/2010 was designed to distribute the OAB in 2 methods,
  1. Web based distribution
  2. Public Folder distribution
The Exchange Server 2013 is designed only to support web-based distribution. Wait…, how about outlook 2003? Well, I did not see a complete review on it yet. According to the available information, outlook 2003 might not go with Exchange Server 2013(as usual to arhive clients). Let’s wait for the RTM to be released.

Also, in exchange 2007/2010 version the OAB files were saved under %ExchangeInstallPath%\ExchangeOAB folder and is shared with Exchange CAS server for delivering it to the clients. In Exchange Server 2013, the OAB files are stored in the Organization Mailbox first and later the contents are copied to %ExchangeInstallPath%\ClientAccess\OAB\ folder. As it mentioned, it is no more accessible to CAS server via shared like in previous versions, hence the CAS server proxies such requests to the mailbox server where the database of Organization mailbox is active.

In previous versions, Microsoft Exchange File Distribution Service on the CAS role was pulling the OAB files, and passes it to the clients on request. Bu in Exchange 2013, Exchange CAS 2013 proxies all OAB download requests to the appropriate Exchange 2013 Mailbox server. As a result, Microsoft Exchange File Distribution Service is removed from the CAS role of Exchange Server 2013 architecture.

The process of OAB downloads in short,

  1. Outlook receives the OAB download information from the Autodiscover and reaches the Exchange Server 2013 Client Access Server (CAS role)
  2. CAS server (role) performed the initial authentication for OAB
  3. CAS server (role) Look for the nearest mailbox server for the requesting user
  4. CAS server (role) Identifies mailbox server where the active (mounted) database of Organization Mailbox.
  5. CAS role proxies the request to the identified mailbox server and retrieves the OAB file and passes to the client processing.

Now, what if the current active mailbox server fails where in DAG scenario?

The database will be mounted on another server according to the activation preference. So if CAS server receives another request for OAB download it then queries to Active Manager for the current active mailbox server to process the request.


theme by reviewshub