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. This description is provided to explain 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 specified in this document.
The DLT Workstation server maintains the following information:
Volumes: The volumes on the computer on which the server is running. Each volume has a VolumeID, and each volume stores a MoveTable (described later). Each VolumeID MUST be unique within the server computer. A protocol server MAY have VolumeID values generated for it by using the Distributed Link Tracking: Central Manager Protocol, as specified in [MS-DLTM], section 3.2.5.3.<4>
Files: Each file on a volume that is to be tracked across moves MUST have an ObjectID, a FileID, and a CrossVolumeMoveFlag associated with it. The ObjectID MUST be created for the file before a link is made to the file, and MUST be unique within a volume. If the CrossVolumeMoveFlag is zero, the ObjectID component of the FileID MUST be the same as the file's ObjectID, and the VolumeID component of the FileID MUST be the same as the volume's VolumeID. File locations can be specified with a UNC. <5><6>
MoveTable: A MoveTable is stored on each volume. The MoveTable has an entry for each file that has been moved off the volume, where the file had an ObjectID. An entry in the table maps the file's ObjectID to the MachineID of the computer to which the file was moved, along with the file's new FileLocation at that location. The MoveTable MUST NOT hold more than the most recent 10,000 entries.
Note The preceding conceptual data can be implemented by using a variety of techniques. Any data structure that stores the preceding conceptual data can be used in the implementation.