The ZettaScale team working on Zenoh

Zenoh and What’s Next in 2024

| 5 min read

As the Blue Dragon protocol continues to make incredible progress, the ZettaScale team is excited to share the new features for Zenoh in 2024.

The head of technology leading the R&D activities for Zenoh, Luca Cominardi, shared the upcoming developments for the next year. From access control to improved shared memory support, our communication protocol is constantly evolving to meet the needs of its users.

The Road to Zenoh 1.0.0: A Graduation Release

One of the most anticipated updates for Zenoh and a significant milestone is the upcoming release 1.0.0. This release is a graduation for Zenoh, marking its transition from the incubation phase to a mature project. Our team is working hard towards this goal and we aim to achieve it in the first half of 2024. This release will validate Zenoh’s maturity and provide an official approval stamp from the Eclipse community (recap from EclipseCon 2023). This is a proud moment for all users who have witnessed the software’s evolution and helped it grow.

New Features in the Works for Zenoh

Though release 1.0.0 is at the forefront of our to-do list, we’re busy working on several features, many of which stem directly from user requests and feedback. We’ll highlight a few new features for Zenoh in 2024 that Zenoh users can look forward to:

  • Access Control

User security is paramount, and Zenoh is ramping up its access control capabilities. We’re introducing fine-grained access control mechanisms beyond the basic authentication methods like TLS mutual authentication. This new feature will allow users to control read/write access to specific key expressions in the Zenoh network.

  • Async Run Time: From Async-std to Tokio

For those familiar with async runtimes and frameworks, we’re transitioning Zenoh’s full implementation from Async-std to Tokio. These two competed for dominance a few years back, we chose Async-std for its performance. However, the ecosystem has evolved, and Tokio now matches Async-std in performance while offering a richer community-driven ecosystem. This shift will usher in better telemetry, tracing, and profiling. We’re happy to integrate this into the upcoming release.

  • Shared Memory and Zero-Copy

Zenoh already supports Shared Memory and Zero copy, but as of today, that only works on clique topologies. Our goal for the next release is to support any topology and allow third parties to safely integrate shared memory providers.

  • API Expansion: JavaScript, TypeScript, Kotlin, and Java

We’re currently developing JavaScript and TypeScript APIs, allowing Zenoh to run in browsers. The plan is to compile Zenoh into WebAssembly (WASM) and offer seamless browser-side integration. Additionally, support for Kotlin, Java, and Android is being strengthened, moving past the alpha stage to more robust and native integrations. We’re working on these enhancements because they’ll give developers broader accessibility, no matter their preferred technology stack.

 
  • User Attachments: Metadata Management

Zenoh is introducing a feature called “user attachment” to allow metadata to be added to data packets without reserializing the full payload. Initially, support for this feature will roll out for Rust, C, and C++, followed by other APIs like Python and Java.

  • Enhanced Plugin Management and System Improvements

We’re focused on creating a stable plugin management API, enabling users to write plugins that can effectively communicate their status, simplifying management on various platforms and paving the way for improved performance, especially on client-sides and embedded devices. This will provide developers with more control and visibility over the plugins they create. By exposing plugin status and enabling fine-grained management, Zenoh aims to enhance the overall plugin experience.

  • A Glimpse into Fault Tolerance and Reliability

Zenoh is introducing a new mechanism for end-to-end reliability called “NBFT reliability.” This mechanism aims to provide non-blocking and fault tolerant end-to-end reliability, ensuring reliable communication even in the face of failures and changes in the network topology. While the details of this mechanism are complex, the goal is to provide a stronger form of reliability to Zenoh’s users.

  • Raw Ethernet Support for Zenoh-pico

Our team is also working on adding raw Ethernet support specifically for Zenoh-pico. This support will enable Zenoh to send messages directly in Ethernet frames, reducing overhead and improving compatibility with time-sensitive networking (TSN). By leveraging this support, users can fine-tune their network parameters and improve the scheduling of the entire system.

Join the Zenoh Revolution

The ZettaScale team working on Zenoh

If you haven’t yet explored the Zenoh GitHub repository, now is the time. A “star” doesn’t just make us happy—it’s a show of support which fuels our drive to innovate and improve.

As we move ahead, we continue to explore other features requested by our users, such as support for Controller Area Network (CAN). We’ll look into adding new features in future releases, but for now these are the main new features for Zenoh in 2024.

The journey of Zenoh is driven by community feedback and a constant quest for technological excellence. Stay tuned for more updates as we approach the landmark 1.0.0 release and beyond!

blank

Author

ZettaScale

ZettaScale’s mission is to bring to every connected human and machine the unconstrained freedom to communicate, compute and store — anywhere, at any scale, efficiently and securely.

blank FOLLOW
Scroll to Top