SpecsModelExplore
Overview
Actors
External Systems
IoT Platform
Edge
Ingestion
Stream Processing
Device Management
Device Registry
OTA Service
Campaign RepositoryTargeting EngineProgress Tracker
User-Facing Apps
Platform
SpecsModelExplore
Targeting Engine
OverviewGuideLinks and Communications
IDproduct.device_management.ota_service.targeting_engine
DescriptionSelects devices for the next batch.
Keytargeting_engine
Typecomponent
TeamDevice Management
Ownerdevice-mgmt@iotgateway.example
Statusactive
TechnologiesGo
Attributesselector: cohort query DSL
Tags
Table of contents
Guide
Targeting Engine
How a stage is sized
Apply the stage percent
Exclude in-flight and failed

Guide

Targeting Engine

The Targeting Engine evaluates a campaign’s cohort_query against the live fleet and, stage by stage, hands the OTA service the next batch of device IDs to offer the update to.

How a stage is sized

Resolve the cohort

The saved selector (e.g.

group:eu AND model:gw-300
) is resolved against the
Device Repository
.

Apply the stage percent

The current stage percent (1% → 10% → 50% → 100%) caps how many of the resolved cohort are released in this batch.

Exclude in-flight and failed

Devices already updating, or that failed an earlier stage, are excluded so each device is only offered the update once per stage.

Targeting is deterministic given a campaign and stage, so a paused campaign resumes exactly where it left off.

Links and Communications

1 incoming link · 1 outgoing link

Incoming Links(1)

Source objectLabelLink typeRelationRaw idRequiredDescription
Progress Tracker

example-iot.product.device_management.ota_service.progress_tracker

component
gates rollout via—linksproduct.device_management.ota_service.targeting_engine——

Outgoing Links(1)

Target objectLabelLink typeRelationRaw idRequiredDescription
Campaign Repository

example-iot.product.device_management.ota_service.campaign_repo

component:database
selects devices from—linksproduct.device_management.ota_service.campaign_repo——