DORA (Dataflow-Oriented Robotic Application) is middleware designed to streamline and simplify the creation of AI-based robotic applications. It offers low latency, composable, and distributed dataflow capabilities. Applications are modeled as directed graphs, also referred to as pipelines.
Dora currently uses custom TCP streams to communicate with remote nodes (related: #459). This only works if the machines have public IPs, which is often not the case for cloud instances. By using zenoh, we could make it easier to deploy to cloud systems.
Other possible advantages of using zenoh:
Simplify metadata communication between nodes and the daemon.
We want to continue using shared memory for message data to benefit from zero-copy (especially relevant for large messages).
However, we could use zenoh to send small metadata, such as drop tokens or log messages.
How about creating a zenoh-plugin-dora for zenoh-router to route different dora machine? Same as zenoh-plugin-dds. This plugin can be referred as a specific daemon.
Dora currently uses custom TCP streams to communicate with remote nodes (related: #459). This only works if the machines have public IPs, which is often not the case for cloud instances. By using
zenoh
, we could make it easier to deploy to cloud systems.Other possible advantages of using
zenoh
:zenoh
to send small metadata, such as drop tokens or log messages.