3.1.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.

The following states specify the data organization that a protocol server maintains to participate in the protocol:

  • Partition-block: A partition that contains binary file data in the abstract data model as specified in [MS-FSSHTTPB]. A file is associated with one or more partitions. The server stores the binary file contents and file format–specific data in partitions. File contents are stored in the default partition. Each partition is uniquely identified by a partition identifier.

  • File coauthoring tracker: A tracking mechanism that the protocol server uses for coauthoring. For each file, the protocol server keeps track of the protocol client identifier associated with each client that is coauthoring the file, the type of lock on the file—that is, an exclusive lock or a shared lock—and the timeout associated with each client’s shared lock on the coauthorable file.