Skip to content

DIN and SID

DaaS-IoT uses two distinct identifiers to manage identity, addressing, and isolation within the overlay network: the DaaS Identifier (DIN) and the System Identifier (SID).

Together, DIN and SID define how nodes are addressed, grouped, and coordinated inside a distributed system.


DaaS Identifier (DIN)

The DaaS Identifier (DIN) uniquely identifies a node within an overlay network.

A DIN serves as:

  • The routing address of a node
  • The reference used for data delivery
  • The identifier used by discovery, synchronization, and monitoring mechanisms

Each node participating in an overlay network must have exactly one active DIN.


System Identifier (SID)

The System Identifier (SID) defines the logical boundary of a DaaS-IoT system.

Nodes that share the same SID:

  • Belong to the same overlay network
  • Can discover each other
  • Can exchange data and participate in synchronization

Nodes with different SIDs are isolated by default and do not interact.


DIN vs SID

Aspect DIN SID
Scope Node-level System / overlay-level
Purpose Addressing and routing Logical isolation and grouping
Uniqueness Unique within a SID Shared by all nodes in the system
Assignment Manual or automatic Manual or inherited
Change at runtime No Possible via discovery

Automatic DIN Assignment

Starting from version 0.21.03, a node may be initialized without explicitly specifying a DIN.

When this occurs:

  • The system generates a DIN automatically using a time-based algorithm
  • The generated DIN is guaranteed to be unique within the active overlay
  • The DIN becomes immediately usable for routing and addressing

This mechanism enables zero-configuration node startup and supports autonomous network formation.


SID Assignment and Inheritance

SID management is closely tied to discovery.

When discovery is enabled:

  • A node may start without a predefined SID
  • Upon joining an existing network, the node inherits the SID from the network master
  • If the user specified a SID manually, it may be overridden to ensure system-wide consistency and prevent conflicts

The SID therefore represents the authoritative identity of the overlay network, not an immutable local configuration.


Nodes Without SID or DIN

A node that does not have:

  • a valid DIN, and
  • an active SID obtained through discovery or configuration

cannot communicate with other nodes.

Such a node remains isolated until discovery successfully completes and assigns the required identifiers.


Identifier Stability and Lifecycle

  • DINs are assigned once per node lifecycle and remain stable while the node is active
  • SIDs may change as a result of discovery when joining an existing system
  • Identifier assignment always occurs before time synchronization and data exchange

This ordering guarantees that routing and synchronization operate on consistent identities.


Limitations and Constraints

Due to architectural changes introduced in version 0.21.03:

  • Sending messages to the local node itself (self-targeted DME/DDO using the local DIN) is currently not supported
  • Applications should avoid assuming that locally configured SIDs are authoritative when discovery is enabled

These constraints are expected to be addressed in future releases.


Warning

The behavior of DIN and SID assignment in version 0.21.03 is not compatible with previous releases. Nodes running older versions may fail to join or interact correctly with a 0.21.03 overlay network.