3.6.1 Abstract Data Model

The following section describes data organization and state maintained for purposes of Netlogon replication. The described organization 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 described in this document.

Each DC in the domain maintains the following set of data.

AbstractDomainName: The name of the domain.

AbstractDomainSid: The SID of the domain.

AbstractPrimaryDCName: The name of the PDC.

AbstractBuiltinDatabaseCreationTime: The QWORD time stamp in UTC for the SAM built-in database creation time.

AbstractBuiltinDatabaseSerialNumber: The database serial number of the SAM built-in database.

AbstractSamDatabaseCreationTime: The QWORD time stamp in UTC for the SAM database creation time.

AbstractSamDatabaseSerialNumber: The database serial number of the SAM database.

AbstractLsaDatabaseCreationTime: The QWORD time stamp in UTC for the LSA database creation time.

AbstractLsaDatabaseSerialNumber: The database serial number of the LSA database.

Additionally, the PDC maintains the following set of data.

AbstractPulse: A setting on the PDC that specifies the period, in seconds, at which the announcement message will be sent periodically by the PDC to BDCs needing synchronization in the domain.

AbstractRandom: A setting on the PDC that indicates the amount of time, in seconds, that the BDC recipient of the message waits before contacting the PDC with a synchronization request.

AbstractPulseConcurrency: A setting on the PDC indicating the number of outstanding messages the PDC has sent to BDCs that haven't yet contacted the PDC with a synchronization request.

AbstractMaximumPulse: A setting on the PDC indicating a timeout value. If the last announcement message sent to a BDC was more than this value ago, the PDC will send a message to that BDC, as specified below.

AbstractBdcDatabaseSerialNumbers: An array of numbers that the PDC maintains to track database serial numbers for corresponding databases on BDCs.

Additionally, the BDC maintains the following set of data.

AbstractFullSamSynchronizationNeeded: A Boolean setting on the BDC that indicates whether full synchronization of the SAM database is needed. If TRUE, the BDC needs to perform full synchronization. If FALSE, the BDC needs to perform partial synchronization.

AbstractFullBuiltinSynchronizationNeeded: A Boolean setting on the BDC that indicates whether full synchronization of the SAM built-in database is needed. If TRUE, the BDC needs to perform full synchronization. If FALSE, the BDC needs to perform partial synchronization.

AbstractFullLsaSynchronizationNeeded: A Boolean setting on the BDC that indicates whether full synchronization of the LSA database is needed. If TRUE, the BDC needs to perform full synchronization. If FALSE, the BDC needs to perform partial synchronization.