Skip to content

DDO – Distributed Data Object

The Distributed Data Object (DDO) is the fundamental unit of data exchange in DaaS-IoT systems.

All information exchanged between nodes — including telemetry, configuration, events, and control messages — is encapsulated within DDOs.

DDOs provide a structured, self-contained representation of data that can be transported across heterogeneous networks and platforms.


Purpose of the DDO

DDOs are designed to:

  • Encapsulate application and system data
  • Carry routing and addressing information
  • Enable consistent handling across different transports
  • Support time-aware data exchange
  • Provide a uniform abstraction for data delivery

The DDO abstraction allows applications to interact with the system without depending on transport-specific details.


Structure and Metadata

Each DDO contains:

  • Metadata required for routing and delivery
  • Identification of the originating node
  • A typeset that defines the semantic category of the data
  • A payload containing the actual data
  • Timing information used for ordering and synchronization

The exact internal representation is managed by the runtime and is not exposed directly to applications.


Timestamp and Origin Handling

Starting from version 0.21.03, timestamp and origin fields associated with a DDO are fully managed by the system.

  • Applications can no longer manually assign timestamps to DDOs
  • The origin of a DDO is automatically determined by the runtime
  • These fields are set as early as possible during message handling to ensure consistency and integrity

This change guarantees correct interaction with synchronization and routing mechanisms.


Payload-Less DDOs

Version 0.21.03 allows the creation and transmission of DDOs without a payload.

Payload-less DDOs are typically used for:

  • Control messages
  • Acknowledgments
  • Status signaling
  • Lightweight system coordination

These DDOs follow the same delivery and handling rules as payload-bearing DDOs.


Reliability and Retry Behavior

DDO transmission may be subject to retry policies in case of delivery failure.

The runtime may:

  • Detect transmission failures
  • Apply retry strategies according to configured policies
  • Report delivery outcomes to the system

Retry behavior is handled internally and is transparent to applications unless explicitly configured otherwise.


Integration with Synchronization

DDOs are tightly integrated with the time synchronization subsystem.

  • Timing information associated with DDOs is used to evaluate delays and offsets
  • Correct synchronization must be established before reliable bidirectional DDO exchange occurs

This ensures that data ordering and temporal interpretation remain consistent across nodes.


System-Level DDOs

In addition to application-level data, DDOs are used internally by the system for:

  • Discovery-related signaling
  • Synchronization control
  • Network monitoring and diagnostics

These system-level DDOs are handled transparently by the runtime and are not exposed to application logic.


Warning

Manual assignment of DDO timestamps or origin is not supported starting from version 0.21.03. Applications relying on this behavior must be updated.