Once Exchange 2003 Service Pack 2 has successfully been installed on to the Exchange server, it will have the ability to create the OAB Version 4 folder. The location for this new container will be as follows:
However due to the new functionality that has been added, Outlook clients will not be able to use or download the new OAB v4 until they have installed Outlook 2003 SP2.
Some of new OAB v4 features include: 1. The ability to generate local specific indexes based on the OAB. 2. Using the new Binpatch logic for applying multiple days worth the diff files. 3. The use of new LZX compression. This is the same compression that is used for download Windows Updates from the web 4. Sort orders for ANR and Browse files.
For an Outlook client to get the Unicode OAB (OAB version 3a or 4), the Outlook profile must be configured to use Unicode.
- If Outlook is running Unicode Mode, Outlook will get Unicode OAB, and if not available, fall back to ANSI OAB (OAB version 2). - If Outlook is running ANSI Mode, Outlook will always use ANSI OAB (OAB version 2).
One way to check this is from the advanced properties tab for Email Accounts:
Here are the improvements of the new OAB version; more detailed information on some of those will follow:
- Fewer situations that result in a complete OAB full download (PDN Changes and the 1/8th threshold rule)
Currently (pre Exchange 2003 SP2) there are two known issues that can cause full OAB downloads:
Problem 1: The addition or removal of a PDN (Parent Distinguished Name) in the active directory. When the OAB Generation process is building an address list it will split the ExchangeLegacyDN and SMTP addresses in to two separate parts (1. PDN / 2. RDN). Currently the OAB Generation process has problems handling the addition / removal of the PDN, and this will cause OABGen to skip one day’s differential build.
Problem 2: Total directory changes exceeding 1/8th the size of the OAB. This is one of the biggest client performance issues. The bigger the OAB files become the longer they will take to download to the client. In Exchange 2003 RTM the OAB differential files contain the entire users record, even if the changes were minimal.
Now in OAB Version 4 we will use Binpatch technology to get around above issues. Please read on!
- OAB Version 4 will now use a new technology called Binpatch (Binary Delta Compresion)
With the addition of Exchange 2003 Service Pack 2 we introduce two new files (binpatch.oab and data.oab). This new technology allow gives us the ability to apply multiple days worth the diff files to a client.
Binpatch.oab - contains the incremental changes from the previous day.Data.oab - Contains the data from all merged diff files.
Listed below is the new format used for download and applying OAB files to an Outlook client:
1. The Exchange server will generate a binpatch.oab v4 file each day using for the current data.oab file using the Binpatch technology from the previous days’ data.oab file. This new OAB format will follow the same sequence numbering as the current technology when using these new files. The binpatch file is nothing more than a delta of the data.oab from the previous data.oab file. It is completely unaware of the properties or records that got changed.
2. Outlook will download the data.oab file from the server on the first day and subsequently only downloads the binpatch.oab file from the Exchange server.
3. In order for an Outlook client to update it’s OAB the client will need to download all the binpatch.oab files from the server to upgrade to that version. Once this has been completed it will apply these to the data.oab file. 4. After applying updates to the data.oab file the Outlook client will regenerate new browse and ANR indices based on the Windows user locale on the client.
- OAB Templates will now be added to differential OAB download when they are updated
With the introduction of OAB v4, when an administrator changes or adds a template file on the Exchange server, Outlook clients will now have the ability to download this new template file when it downloads the diff file.
- Failed diff files will not result in a full download
Now with OAB Version 4 the Exchange server will no longer force full downloads to the Outlook clients by intentionally not generating an OAB diff file. The OABGen process has problems handling the addition / removal of the PDN and this will cause the OAB Generation process to skip one day’s differential build. In regard to the PDN addition or removal - when an Outlook client attempts to download the diff files it will notice this and cause the client to do a full download of the oab files. Using the new binpatch technology we are able to get around this problem. We now use deltas to calculate our information instead of the relying on the changes.oab file, so we are no longer affected by this.
Please note that there will still be a potential for a full download to occur. A failure to download one of the OAB files, or a problem due to a file corruption will result in the Outlook client performing a full download.
- Protection against OAB bloat
In OAB v4, the Exchange server now will enforce limits to ensure that the new OAB v4 does not bloat. If we find an attribute that exceed one of the limits imposed, then Exchange server will remove these attributes from the OAB. Once the attribute has been removed we will add an indicator to let Outlook know that we have removed some properties. Outlook 2003 SP2 will treat the removed properties as "not present" in the record.
The Exchange OAB Generation process also has additional checks to make sure that when retrieving necessary attributes from the active directory that are required by Outlook to send mail, they are never removed from the OAB.
- OAB indexing will be based upon the locale setting (language/country) of the client and not the servers
When building legacy OAB’s (OAB Version 2 and OAB Version 3a) we would rely on the local of the server to build the indices for the OAB Files. With OAB Version 4, the client now generates the locale specific indices from the OAB Version 4 data.oab file regardless of what locales are on the server.