An Architecture for Spatial Networking
Josh Millar, Ryan Gibb, Roy Ang, Hamed Haddadi, Anil Madhavapeddy
TL;DR
An Architecture for Spatial Networking introduces Bifröst, a spatial programming model based on bigraphs that treats physical spaces as primary network boundaries. It enables policies and services to be scoped by containment, supports just-in-time ephemeral services, and uses spatial naming to provide stable identities across hardware changes. The paper presents a practical OCaml runtime with Cap'n Proto delegation, Python bindings, and an evaluation showing fast local reactions with manageable delegated-overhead, demonstrating viability for locality-aware coordination. Overall, the approach reimagines networking around physical space, offering low-latency, private, and composable cross-space coordination while enabling selective global collaboration.
Abstract
Physical spaces are increasingly dense with networked devices, promising seamless coordination and ambient intelligence. Yet today, cloud-first architectures force all communication through wide-area networks regardless of physical proximity. We lack an abstraction for spatial networking: using physical spaces to create boundaries for private, robust, and low-latency communication. We introduce $\textit{Bifröst}$, a programming model that realizes spatial networking using bigraphs to express both containment and connectivity, enabling policies to be scoped by physical boundaries, devices to be named by location, the instantiation of spatial services, and the composition of spaces while maintaining local autonomy. Bifröst enables a new class of spatially-aware applications, where co-located devices communicate directly, physical barriers require explicit gateways, and local control bridges to global coordination.
