Masterless Distributed SCADA
DX — Distributed eXtension
DX removes the web server from the SCADA data path and the master from the SCADA architecture. What's left is a system with no single point of failure, and an operator display with no round-trip latency.
Real time data directly to your screen
Distributed architecture collapses the chain. Modules publish and subscribe as peers on the MQTT backbone — no module is the master — and the browser is one more peer on that same backbone, not a client of a web application server.
All IO drivers, SCADA modules and browser thin clients sit at the same level, with an identical interface and configuration. Configure one node once, then extend the same concept to every other peer. In other words, you can add SCADA components seamlessly into any existing MQTT network.
Distributed and loosely coupled
The DX system integrates into any architecture. For a smaller plant, you can put the distributed extensions on one machine and serve the content through a web server. The realtime traffic still never loads through that web server, so the system remains far more reliable than a monolithic one.
All distributed extensions work like a plug-in to the MQTT network. For instance, if your device or system already communicates in MQTT, you can have the HMI display immediately. If the payload is not already in simple Key-Time-Value (KTV) pairs, just plug in DX-MQTT to restructure the JSON using standard JSONPath syntax. If you need historian trending, just plug in DX-Historian Logger. You can grow your system wherever and whenever needed.
When one DX instance hits a hardware limit, whether CPU or memory, just run another instance on another device or machine, even on a different OS. If the requirement calls for redundancy, duplicate the configuration across two instances to load-shard while both are running. If you need another MQTT backbone, configure all extensions to publish and subscribe to two or more MQTT servers.
Every distributed extension is completely modular and loosely coupled, working within its own group and its own data flow. For instance, when sensors feed data into the MQTT network, real-time data is shown in the browser. The Historian Logger saves the same data into the database, so trending can be displayed, and the Report extension archives it accordingly. The Alarm extension picks up real-time data and sends alerts to the Historian Logger. Sensor data is published once to the MQTT network, and the other extensions — mimic display in the browser, historian, scripting logic, alarm, report and any first-line modules — receive and process it separately and independently.
Hosting Freedom - No bottleneck
Conventional SCADA still funnels every tag through a central server: field devices publish to it, a web server mediates it, and every browser pulls through that same choke point. Take the master down - or just overload it - and every screen in the building goes dark at once, even though the plant is still running fine.
What that buys the plant
No single point of failure
Any module, broker node, or browser session can drop and be restarted independently. There is no master to lose and no master to fail over.
Browser-direct telemetry
The operator screen subscribes straight to the MQTT backbone. No application server sits in between to add a hop, a queue, or a version to keep in sync.
Fail-safe is visible, not silent
Stale or fail-safe values carry a sentinel timestamp the browser renders differently from live data — even when the numeric value happens to match. Operators never mistake "last known" for "known now."
Overrides that expire themselves
An operator override carries its own expiry timestamp. When the clock passes it, precedence lapses automatically — no cancel message to send, and nothing to forget to send.
Grows by addition, not redesign
New sites, new modules, or additional broker capacity attach to the same fabric. Nothing is re-architected to add a node.
Built with CLI for AI
DX components have a user-friendly interface and also a machine-friendly interface that AI agents can use to interact and configure. All configuration is saved in simple JSON & CSV files, which are easy for AI to learn.
DX SCADA
The Distributed eXtension SCADA is masterless and completely built on the MQTT backbone, built to scale. As long as you have MQTT data input, you can add any SCADA/HMI components directly into your MQTT network without changing your existing architecture or topology. If you already have MQTT data, you can have the HMI instantly, with direct browser connections.
The DX modules are completely modular — add any function as required. All modules are independent of each other, so shutting one down for maintenance will not affect the others. The cross-platform modules support both Windows and Linux and can be installed on a single machine or distributed across separate machines or devices. Every module is equipped with store-and-forward capability for handling network disruption.
The masterless architecture ensures no single point of failure and allows all modules to scale without a bottleneck. The browser page can be loaded locally and fetch and send data to the relevant modules directly, without going through a web server. No web server is needed for serving realtime data, and no SQL database is fetched over HTTP.
DX Drivers
DX Drivers are IO interfaces for the industrial range of communication protocols in the IoT era. They are all built entirely on MQTT, which means IO signals from any communication protocol are published to the MQTT backbone. Simply put, it's a Mqtt2Any driver.
Because the MQTT payload is open and interchangeable across all DX drivers, putting any two DX drivers together makes them a protocol converter. DX Profinet plus DX Modbus becomes a Profinet-to-Modbus gateway. BACnet, DNP3, and EtherCAT together become BACnet-to-DNP3, BACnet-to-EtherCAT, and DNP3-to-EtherCAT converters.
Further, you may develop your own drivers based on the open and simple KTV payload. The DX driver is versatile: run it alongside the server or another host, run it separately on site as an edge device, or drop it into an embedded system as an IO gateway.
DX Modules
Independent, cross-platform, and individually deployable — add only the functions your plant needs.
DX Edit
The web dashboard that simplifies starting and stopping modules, installable on a single machine or distributed across devices for local or remote access.
DX Driver
Mqtt2Any IO interface for industrial communication protocols. Publishes IO signals to the MQTT backbone as open, interchangeable payloads. The result is a powerful Any2Any gateway system.
DX MQTT
The MQTT-native driver, bringing existing MQTT data onto the DX backbone using standard-compliant JSONPath syntax. You don't have to change the existing payload structure, and you still get the full benefits of the Distributed eXtensions.
DX Historian / Trending
Historical data and trending for the DX backbone. It's the prime storage system for other DB dependent modules like alarm, trending & report.
DX Alarm & Audit
Alarm & audit event handling for the DX backbone. Independent, cross-platform, and deployable standalone or distributed.
DX Status Watch
DX Status Watch simplifies your development and troubleshooting works, and allows you to view the status of every modules and watch on the realtime values of every tags without going through any middle tier.
Where it fits
Anywhere a plant needs distributed, resilient monitoring and control with a real-time browser HMI — and cannot afford a single control-room server standing between "running" and "blind."
Water & Wastewater
Oil & Gas Remote Sites
Multi-Site Manufacturing
Utilities & Energy Distribution
Building & Facility Automation
Data Center Management
Discrete Manufacturing
Agriculture
At a glance
Masterless · modular
Browser ↔ broker, direct
Windows & Linux, single or distributed
See DX in your architecture
Ask for a walkthrough of the DX architecture and a live demo of fail-safe and override rendering.