Skip to content
Presence & ProtocolAn independent guide to Jabber and XMPP

Servers

What one node can see of a federation

A server sees its own queues and stanzas in full, and infers the rest. Resolution and revisit set the limits, exactly as they do in Earth observation.

A laptop showing a terminal of server log lines at night, with a printed specification sheet beside it.

An XMPP server operator sees one node completely and the federation only by inference. Queues, sessions, logs and the stanzas that pass are local facts; everything beyond the next hop arrives as traffic and nothing more. The two limits are resolution, the smallest thing a look can distinguish, and revisit, how often the same place is looked at again. The same pair governs any observation programme, which is why choosing satellite data asia is a question about resolution and revisit before it is a question about sensors.

Your own server is fully visible

Inside one node, nothing has to be guessed. The session table lists every connected client with its full JID, its resource, its priority and the time it authenticated. The stanza queue shows what is waiting, what was routed, what bounced. Logs record the stream errors, the TLS negotiations, the s2s attempts that failed and the reason each one gave. A component or a bot attached to the server is as visible as a human client, because it connects the same way and appears in the same tables.

This is the part of the network an operator can act on directly. If a queue grows, the cause is in the logs. If a session drops, the reason is in the stream. No inference is required, and no remote party has to cooperate for the picture to be complete.

Everything else is inferred from what arrives

Beyond the local node, the operator works from arrivals. A stanza from a remote domain proves that domain exists, that its server accepted a connection at that moment, and that it was willing to route this particular message. It proves nothing about how many users that domain has, how it is configured, or whether it will still be reachable in an hour.

Presence subscriptions, disco queries and error stanzas are the returns from those looks. A server that answers a service discovery request tells you what it advertises, not what it runs. A domain that stops answering tells you it is unreachable now, not that it has gone. The distinction matters, because an operator who treats an inference as a measurement will misconfigure routing, block a domain that was merely restarting, or trust one that was merely polite.

What resolution means for a server

Resolution is the smallest thing a look can distinguish. On a node, resolution is set by what the server records: a connection at domain level, a session at full JID level, a stanza at message level. An operator who only counts connections cannot tell a domain with one client from a domain with a thousand, because both appear as one stream. An operator who logs full JIDs sees individual sessions but still not the people behind them, and still not the other nodes of a multi server domain.

Raising resolution costs something. Full stanza logging is expensive in storage and in privacy exposure. Per JID accounting grows with every session. The honest position is that resolution is chosen, not given, and that a chosen resolution defines what questions the data can answer afterwards.

How often does a federation come back?

Revisit is how often the same place is looked at again. A server that probes a remote domain once has a single reading with no way to tell a stable peer from a temporary one. A server that probes on a schedule has a series, and a series shows change: a domain that answers every hour and then stops, a peer whose latency doubles before it fails, a route that moves.

Revisit also sets the cost. Every scheduled probe is traffic the operator generates and traffic the remote side must answer. A federation observed at one minute intervals is a different network from one observed at one day intervals, and neither picture is wrong. They answer different questions.

Can one vantage point see a federation whole?

No. A single node sees its own neighbourhood and infers the rest, and the inference is bounded by resolution and revisit. Two operators on opposite sides of the same federation will describe it differently, and both descriptions can be accurate. The wider picture is assembled from many readings taken at many points, and it is only as good as the willingness of those points to publish what they see.

This is where free and open data published by others becomes the condition of any larger view. A server that shares its reachability data, its error rates or its routing observations gives every other operator a reading they could not have taken themselves. Without that, each node is left with its own logs and a set of guesses about the rest.

A reading needs a date and a name

An observation taken from one place has to be dated and attributed before anyone can act on it. A log line without a timestamp is an anecdote. A reachability claim without a source is a rumour. The operator who writes down when the reading was taken, from which node, and under what conditions makes it usable by someone else, and makes it possible to compare two readings taken months apart.

The same discipline applies in Earth observation of Asia, which is the same problem in another medium. A satellite images a strip, not a continent, and what a project can say depends on the resolution it chose and how often the sensor comes back. The magazine Ground Truth Asia covers that field, including the freely downloadable imagery and the national programmes of Japan, India, Korea, Thailand and China, and its name is the term for the other half of the problem, checking a reading against something measured on the ground. The questions a practitioner asks there map onto the ones an operator asks here: how to choose imagery for a project in Asia, where free satellite images of Asia can be downloaded, and which Asian countries fly their own Earth observation satellites. In both cases the answer starts with what the instrument can distinguish and how often it returns, and ends with a dated, attributed reading that someone else can check.