The Web Stream Message Protocol (WSMP) defines how a web stream is carried between nodes. A web stream is a resource that provides data to many subscribers in the form of a replicated log of messages. The channel between publisher and subscriber is bidirectional and symmetric: what a publisher emits may depend on messages its subscribers send, so a stream is a conversation rather than a broadcast.

Web streams carry both stream kinds the Scene Composition Protocol uses — the structural stream and the parameter stream. The same abstraction composes into data pipelines, where a stage consumes web streams and publishes another, and it simplifies distributing updates to a replicated store.

In a peer-to-peer network#

WSMP rides on Helia / IPFS: libp2p pubsub topics per realm and per stream for live delivery, and content-addressed blocks for replay, so a late-joining or reconnecting node can catch up from any peer that still holds the blocks rather than from an origin. Because every node is ephemeral, a stream is not hosted anywhere in particular — it exists for as long as some subset of peers still carries it, with the availability characteristics described under Peer-to-Peer Network.

The earlier design proposed building on Aeron — a server-oriented messaging system chosen for its throughput and latency — and adding a symmetric protocol, simpler connection establishment, and a persistent backing store for replay. That framing predates the peer-to-peer protocol and is kept below as prior art only.

Similar concepts and prior art:

See also#