3.1.4.1 Abstract Data Model

This section describes a conceptual model of possible data organization that an implementation maintains to participate in this protocol. The described organization is provided to facilitate the explanation of how the protocol behaves. This document does not mandate that implementations adhere to this model as long as their external behavior is consistent with that described in this document.

A server that implements the Shadow Copy Management Protocol maintains the persistent configuration of shadow copies and shadow copy storage associations. The server also provides interfaces to enumerate shadow copies and volumes that can be shadow copied or used as shadow copy storage volumes.

Volumes supporting shadow copy storage: The server provides the mechanism to enumerate the volumes on the server that support shadow copy storage. Each volume on the server that can support shadow copy storage is represented in this protocol by a VSS_DIFF_VOLUME_PROP structure. The server exposes the results of the enumeration through the IVssEnumMgmtObject interface.

Shadow copy storage association: The server maintains a persistent list of shadow copy associations. The server permits the creation, enumeration, resizing, and deletion of shadow copy storage associations.

Shadow copy storage association creation: The protocol can enforce restrictions on the number of shadow copy associations that are permitted to exist between two volumes and can impose restrictions on which volumes can contain shadow copy storage.

Shadow copy storage association enumeration: The server provides the mechanisms to enumerate existing shadow copy storage associations. The server supports the following logical queries:

  • All shadow copy storage associations that are located on a specified volume.

  • All shadow copy storage associations for a specified volume.

  • All shadow copy storage associations that contain differential data for a specified shadow copy.

    The server exposes the results of these queries through the IVssEnumMgmtObject interface. Each shadow copy storage association that is returned by the IVssEnumMgmtObject interface is represented as a VSS_DIFF_AREA_PROP structure.

Shadow copy storage association resizing: The server supports the increase and decrease of the maximum size of the shadow copy storage through this protocol.

Shadow copy storage association deletion: The server supports the deletion of shadow copy storage association objects by resizing the object to zero BYTEs by using the ChangeDiffAreaMaximumSize method.