Microsoft KB Archive/246091

From BetaArchive Wiki

Article ID: 246091

Article Last Modified on 2/26/2007


  • Microsoft Exchange 2000 Server Standard Edition

This article was previously published under Q246091


When a message is received by Microsoft Exchange 2000 Server, it goes through a process of being committed to disk. This article discusses the format of the message being committed and the concept behind the storage format.


Structured Storage

Traditionally, when applications store data on disk, they are each allowed to have their own files and directories assigned, meaning an exclusive storage area. Component Object Model (COM) technology allows a variety of applications to work together and what you see as a single application is actually a combination of multiple independently developed COM objects each with its own requirements for storing data separately. That is, what is perceived as a single application must have multiple files for storing information. A case in point is a compound document created by using Microsoft Word with an embedded Microsoft Excel spreadsheet. From a user point of view, the document is saved as a single file rather than multiple files for obvious reasons of manageability. In actuality, the document is saved in multiple files by means of a concept called structured storage.

Structured storage provides a way to allow multiple COM objects to share the same file to store information. To accomplish this, there is a file system built inside the file. So while the user perceives the file to be a single file, the application sees multiple private areas for data storage.

Presented in the following table is the associative terminology that maps traditional storage to structured storage:

Traditional COM
Disk Flat File
Directory Storage
Flat File Stream

So while a traditional storage scenario is explained as "Application X is using disk drive D to store its data in a file Y in directory Z," the structured storage scenario is explained as "Application X is using file F to store its data in a stream S in storage T."

Structured storage has some additional advantages in addition to the aforementioned manageability. An immediate advantage is the speed and efficiency in accessing data, which is attributable to the break up of the application's data into independent streams within the file. Consequently, when a COM object needs access to its committed information, it does not have to load the whole file but just the part (stream) that it is concerned with. Of course, building a management structure within the file causes overhead and increases the file size considerably. The files resulting from the use of structured storage are referred to as compound files.

Committing an Incoming SMTP Message to Disk

When Exchange 2000 receives a message (through port 25), it uses structured storage to commit the message to disk. The message has two parts to its structure: properties, such as envelope information, and the content. Each of these is stored in a separate stream in the file.

Additional query words: IS

Keywords: kbinfo KB246091