Update Sequence Number, or USN, is a type of identifier for controlling directory replication in Microsoft BackOffice products such as Microsoft Exchange Server and in Microsoft Windows 2000.
As an example, we will consider how update sequence numbers (USNs) are used in directory replication between Windows 2000 domain controllers. When an object is changed in Active Directory, that change must be replicated to all other domain controllers. To do this, Active Directory assigns a USN to each changed object, incrementing the values with time. Each domain controller uses a table to keep track of its own current USN and the highest USN it has received from each of the other domain controllers on the network.
Graphic U-4. Update sequence number (USN).
For example, if a domain controller called ABLE notifies a domain controller called BAKER of the updates it has for Active Directory, ABLE sends its own current USN number to BAKER, which compares the USN with the USN it recorded for ABLE in its internal table after the last directory update it received from ABLE. If the received USN is higher than the recorded USN, BAKER requests that ABLE send its updates for the directory. If the received USN is equal to or lower than the recorded one, BAKER knows that it has an up-to-date copy of ABLE’s directory and does not request any updates.
USNs are more accurate than time stamps in controlling replication between domain controllers because time stamps depend on the clocks of domain controllers being exactly synchronized. However, time stamps are also employed if a tie-breaking mechanism is required for replication purposes. USNs also speed the recovery of Active Directory if a domain controller experiences a failure.