First day with Eclipse Zenoh

Zenoh (ZEro Network OverHead) is a distributed, multi meshed “global state distribution” and computation network on same level as DDS.

The conceptual elements are

  • Topics for publishsubscribe of resources
  • Resources as key-value set
    • stored (put) and
    • queried (pull/ queryable)

used to provide adaptive, fault tolerant, brokering and routing … also on Constrained Devices

zenoh implementations can be extremely resource constrained. Our smallest implementation takes as little as 300 bytes footprint on an Atmel 8-bit microcontroller.

Notes: DDS has its distributed Global Data Space (GDS) resisted at each node. Zenoh in comparison has routers, comparable to broker in MQTT.

Each mesh is a graph on “peer” (aka nodes). Meshes are bridged via “router“. Routers are meshed with other routes and other peers.

Code examples: https://zenoh.io/docs/getting-started/first-app/ . Available languages C, Python, Java and, Go-Lang.

Integration with ROS(2) happens via the “router“, here called the “bridge” instantiated via the “zenoh-bridge-dds” program. Each “bridge” maps a ROS(2) domain. ROS(2), or better DDS, domains are logical networks share the same physical network.

This entry was posted in Uncategorized. Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *