Skip to main content

Technology Guide Terms

Services

Asset Repository Service

The Asset Repository Service is a key component of data mesh architecture that enhances data management by organizing, describing, and enabling discovery of data products and resources. It streamlines workflows for data teams by curating logical groupings of data assets, including datasets, code, and other artifacts, tailored for specific business use cases. For more information, check here

Identity Service

OctoMesh's Identity Service provides centralized authentication and authorization for the Industrial IoT (IIoT) sector, enabling secure connectivity across devices, applications, and systems. It integrates with multiple identity providers, including OpenLDAP, Microsoft Active Directory, Entra ID, Google, Meta, and Microsoft Authentication. For more information, check here

Bot Service

OctoMesh's Bot Service features Octo Bots, automated assistants that streamline routine and complex tasks to enhance efficiency within the platform. They handle data preparation, cleaning, aggregation, anonymization, user management, reporting, notifications, and more, reducing manual workload and automating key processes. For more information, check here

Communication Controller Service

OctoMesh's Communication Service, powered by the Octo Communication Controller, acts as a central hub for managing and securing communications across devices and applications. It regulates message flow, ensures encrypted transmissions, supports massive connectivity, and enables seamless integration with Octo Plugs and Sockets for scalable, secure IoT communication. For more information, check here

Refinery Studio

Refinery Studio is the web application for exploring, visualizing and managing the OctoMesh system. It replaces the retired Admin Panel and allows for the management of:

For more information, check here

Platform Services

Platform Services is the backend service that hosts the _configuration discovery endpoint clients use to locate the OctoMesh services, and owns the centrally managed System.UI Construction Kit model and its service-managed blueprints (cockpit, tenant mode).

Communication

Pools

A Pool is a collection of Adapters that are managed together by the OctoMesh Communication Operator.

Communication Operator

The Communication Operator is installed on a Kubernetes cluster. It manages the deployment of Adapters.

Adapters

Adapters are executing pipelines, adapters may come with application or protocol specific funtionality, for example connecting to OPC-UA servers.

Nodes

Nodes are executed within a Pipeline. Some nodes are common for all adapters, while others are adapter-specific.
For example:

  • The Modbus Adapter includes Modbus Nodes
  • The OPC UA Adapter includes OPC UA Nodes

Plugs

Adapters that retrieve data from other systems are called Plugs. Typically, Plugs connect as a client to servers.

Sockets

Adapters that provide data to other systems are called Sockets. Typically, Sockets are servers, so others can connect to them.

Construction Kits

Construction Kit

Construction Kits are organized in libraries. Each library may be based on other construction kit libraries. The collection of construction kit libraries is called Construction Kit.

Association Roles

Defines roles within relationships between data entities.

Association Types

Specifies types of relationships between different entities.

Enums

Predefined lists of values used in Construction Kit models.

Types

Defines the data types used in Construction Kits.

Records

Structured datasets that store and represent information. See a documented example here

Attributes

Properties associated with Construction Kit Types.

Construction Kit Libraries

A set of pre-defined standardized data models (Libraries). Find currently documented models here

Construction Kit Repository

Construction Kit Repositories are a collection of libraries stored locally, in a database or on GitHub.

System Construction Kit Library

OctoMesh services use Construction Kit Libraries for their data.
Libraries with names beginning with "System" define core data structures, e.g.:

  • System.Identity (describes Identity Server Users and Roles).

Standard Construction Kit Libraries

OctoMesh provides a variety of standardized Construction Kit Libraries for different industries and use cases, for example for maintenance dashboards. For more information and documentation of available Libraries check here

Custom Construction Kit Libraries

Customizations of data models for a single use-cases or organizations.

Construction Kit Dependencies

Construction Kit Libaries may depend on other construction kit libaries. At least a construction kit must depend on the System Construction Kit Library.

Runtime Model

A Runtime Model consists of entities that are instances of Construction Kit Types. Runtime Entities (RtEntities) consist of:

  • A unique identifier, called Runtime Identifier (RtId)
  • A Construction Kit Type Identifier (CkTypeId)
  • Attributes
  • Associations

Runtime Entity

Instances of Construction Kit Types are called Runtime Entities and the collection of runtime entities are called Runtime Model.

Stream Data

Stream Data refers to object-oriented time series data that can represent both past and future events. These data streams are continuously generated, capturing the state and behavior of objects over time, and can be used for real-time analysis or historical insight. Stream data allows for dynamic tracking and forecasting, enabling systems to handle both retrospective evaluations and predictive modeling. Stream data in OctoMesh can also be referred to as time series data. Time series data usually has a timestamp in its data format. It can queried via GraphQL queries.

Stream Data

Vocabulary for stream-data archives and rollup recompute. These terms are used throughout How archives work and Rollups & recompute. They mix two vocabularies: scheduler terms (how the background loops run) and domain terms (what a rollup means).

Tick

One scheduled iteration of a background orchestrator's loop (default interval 60 s). On each tick the orchestrator does its work: forward aggregation closes any due buckets, the recompute orchestrator drains dirty windows. This is scheduler terminology — it is not a domain concept and has nothing to do with the bucket size.

Bucket

The fixed time interval a rollup aggregates source datapoints into; there is exactly one aggregated output row per bucket per entity (rtId). Example: a daily rollup over 15-minute source data folds the 96 source points of a day into one row (e.g. amountvalue_sum, dataquality_max).

Bucket size

(BucketSizeMs) The bucket width — the length of one bucket. For a daily rollup this is one day expressed in milliseconds.

Bucket alignment

(BucketAlignment) Where bucket boundaries fall:

  • FixedSize — boundaries a constant number of milliseconds apart.
  • Calendar-awareCalendarDay / Iso8601Week / CalendarMonth / CalendarYear, so months of 28–31 days and leap years land on the correct boundaries.

Under calendar alignment, BucketSizeMs is an informational lower bound, not the exact width (a calendar month is not a fixed number of milliseconds).

Watermark

(LastAggregatedBucketEnd) The exclusive end of the most recently committed forward bucket. The orchestrator aggregates forward from here, moving bucket by bucket — the watermark is the boundary between "already rolled up" and "not yet rolled up".

Watermark lag

(WatermarkLagMs) How far behind "now" the orchestrator deliberately stays before it closes a bucket, to absorb slightly-late forward data. A bucket is only aggregated once now - watermarkLag has moved past its end.

Consumed watermark

The minimum watermark (LastAggregatedBucketEnd) across a source archive's non-deleted dependent rollups — the earliest point any dependent has already aggregated past. It is the frontier used to decide whether an incoming write is retroactive.

Dirty window

A time span on a base/source archive flagged for recompute because a retroactive write landed inside an already-consumed window. Recorded as a CkArchiveDirtyWindow; it records intent and rewrites no rows itself.

Generation

The per-window version number used for the optimistic atomic swap. Forward writes use generation 0; a recompute computes into generation N+1 and then flips the genmap pointer to it. The generation column is part of the CrateDB table's primary key.

Source vs rollup archive

A rollup archive aggregates from a source (also called base) archive — either a raw or time-range archive, or another rollup. Because a rollup can itself be the source for further rollups, these form chains (rollup-of-rollup).

Forward aggregation, Recompute, Rewind

The three code paths that produce or replace rollup rows. Forward aggregation closes the next bucket at the watermark (steady state, append-only). Recompute re-aggregates a bounded [from, to) range as a reader-safe atomic swap. Rewind moves the watermark backwards so the forward path re-runs (destructive).

Chain propagation

After a rollup's recompute succeeds, that rollup's own direct dependents are marked dirty and recomputed, carrying the trigger ChainPropagation. This rolls a correction forward through a rollup-of-rollup chain.

Coalesce

Overlapping recompute triggers for the same archive are merged into a single active job; the superseded trigger is recorded as Coalesced. There is at most one active recompute per archive at a time.