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

An NBNS server needs to maintain the following data structures:

  1. Name record: Name record is a data structure that holds name, IPv4 address, its owner's IPv4, and so on. (see section 3.1.1.1 for more information).

  2. Name records collection: This is a collection of all records that are either registered by this NBNS server or obtained by replication.

  3. Owner-Version map: This is a map of each NBNS owner to the highest version of record from that owner present in the name records collection. This map is used to determine if the NBNS server has to pull records from its partners and if so, the range of records to obtain.

  4. Global Version Counter: This is a 64-bit unsigned integer that is used to track the version that will be given to the next record that will be updated.