State has direction
Reported state usually flows from asset to twin. Desired state and commands flow back only when a control loop is allowed.
Explore the synchronization contracts, patterns, and tradeoffs behind useful digital twins.
Pick a scenario, choose a sync pattern, and step through the loop. The lab shows what changes when reported state, desired state, commands, acknowledgments, and predictions have different latency, bandwidth, and conflict requirements.
Reported state usually flows from asset to twin. Desired state and commands flow back only when a control loop is allowed.
A building dashboard can tolerate seconds or minutes. A robot safety workflow may need sub-second update and command confirmation.
Simulation can fill gaps between observations, but the UI should reveal model confidence and stale-state risk.
Step through the sync contract to see which state is trusted at each point.
Sensors observe the real process and produce reported state.
Filters, timestamps, buffers, and validates updates before the cloud sees them.
Stores state, versions updates, resolves desired deltas, and exposes query views.
Reads the twin for decisions and sends commands only through a governed path.
Each stage changes what the learner should trust about the twin.
The chart shows why a twin can look precise while still lagging the process or relying on a model.
A twin design becomes easier to reason about when every update has a type, version, timestamp, and owner.
{}
The measured or inferred asset state. It should include source time and quality.
{}
The target configuration. It is not the same as what the asset is currently doing.
{}
Used to order events, detect stale writes, and avoid overwriting newer state.
{}
Commands should be idempotent, acknowledged, and bounded by a safety policy.
The best pattern depends on what must be true before a human or controller acts.
Change the workload and see how the contract fit moves.
The recommendation compares freshness, bandwidth pressure, and conflict risk for this workload.
Mirror and command-heavy twins need explicit conflict handling when update windows overlap.
Upstream volume is based on sent events, payload size, and decimal network Mbps.
raw events/s = sensors x samples/s/sensor.upstream Mbps = sent events/s x payload KB x 8 / 1000. This uses decimal network Mbps.sample wait ~= half of the sample interval, because a change can happen between readings.mirror command age ~= two one-way trips + validation + sample wait, before local safety checks.