← Resources
Networking·8 min read·

Unified namespace: the idea, and what it does not solve

One broker, one hierarchy, every system publishing and subscribing. Why it beats point to point integration, and the three things it does not fix.

Short answer

A unified namespace is a single publish and subscribe layer, usually an MQTT broker, holding the current state of everything in the plant under an agreed hierarchy. Systems publish what they know and subscribe to what they need, instead of being wired to each other. It removes the point to point integration mesh; it does not remove the need for protocol drivers, data modelling, or somebody owning the naming.

Which protocol sits whereENTERPRISEOPC UAMQTTCONTROLEtherNet/IPPROFINETModbus TCPDEVICEIO-LinkPROFIBUS DPModbus RTUEthernet carries most of it now, which is why the layers blur.

The problem a unified namespace solves is visible on the whiteboard of every plant that has been integrated over time: a mesh of point to point connections between systems that were never designed to talk to each other.

The MES reads from three PLCs directly. The historian polls a different set. The reporting tool has its own OPC connection. The maintenance system has a spreadsheet somebody exports on Fridays.

The count that makes the argument

Connecting n systems point to point takes up to n times n minus one, over two connections. Six systems is fifteen. Ten is forty five.

Through a broker it is ten connections, one each. That is the whole architectural argument and it is a good one.

The hierarchy is the actual work

The broker is the easy part. Agreeing what things are called is where the effort is, and where the projects that fail, fail.

Most people start from ISA-95: enterprise, site, area, line, cell. A topic becomes something like acme/leeds/packing/line3/filler/temperature.

The rule that keeps it usable: the hierarchy describes the plant, not the software. The moment a topic path contains the name of a SCADA system or a database table, the namespace has started describing its own implementation and will have to be renamed when that implementation changes.

Report by exception, and the retained state

The second idea, and it is what makes this efficient rather than merely tidy.

Publishers send a value when it changes, not on a poll. A tank level that has not moved produces no traffic at all.

MQTT's retained messages mean a subscriber connecting at three in the morning immediately receives the current value of everything it subscribes to, without waiting for the next change. Without that, a late subscriber sees nothing until something happens.

What Sparkplug B adds

Plain MQTT gives you topics and payloads and nothing else. Every serious deployment then reinvents the same three things, and Sparkplug B is those three things written down.

  • Birth and death certificates. A publisher announces its full tag set on connect, and the broker publishes its death message if it disappears. Subscribers know what exists and when it stopped.
  • State management. Sequence numbers so a subscriber knows it missed something, and a defined rebirth mechanism to resynchronise.
  • A payload format. Typed, with timestamps and metrics, rather than a JSON blob whose shape each publisher invents.

What it does not solve

Worth being blunt, because the enthusiasm sometimes outruns it.

Protocol drivers. Something still has to talk Modbus to the old machine. The namespace does not read a PLC; a gateway does, and publishes.

Data modelling. Publishing a temperature does not say what it is the temperature of, what units it is in, or how it relates to a batch. That is modelling work and it is unavoidable.

Governance. Somebody has to own the naming, or within a year there will be three names for the same measurement, all in use, none wrong.

Security. A broker every system can reach is a broker an attacker who reaches one system can also reach. Authentication per client, topic level authorisation and TLS are not optional, and the default configuration of most brokers has none of them.

Where to start

Not with the whole plant. One line, one gateway, one broker, the ISA-95 hierarchy for that line, and one consumer that genuinely needs the data.

Getting one line right teaches you the naming argument at a scale where renaming everything is still an afternoon.

Common questions

Is a unified namespace just an MQTT broker?
The broker is the transport. The namespace is the agreed hierarchy of topics and the discipline that everything publishes its current state to it. A broker with two hundred ad hoc topic names invented by whoever got there first is a message bus, not a unified namespace.
Do I need Sparkplug B?
Not strictly, and it solves problems you will otherwise solve yourself and worse. It defines birth and death certificates so subscribers know a publisher's full tag set and when it goes offline, state management so a late subscriber gets current values, and a payload format. Plain MQTT gives you none of that.
Does a unified namespace replace OPC UA?
No. They do different jobs and are usually used together. OPC UA is strong at structured, browsable, machine to machine access at the equipment; MQTT is strong at lightweight distribution across a site or between sites. The usual shape is an edge gateway reading over OPC UA and publishing to the namespace.

Keep reading