Skip to main content
  • Log in
  • Manage Cookies
projects.eclipse.org
Download
  • Projects
  • Working Groups
  • Members
  • Community
    • Marketplace
    • Events
    • Planet Eclipse
    • Newsletter
    • Videos
    • Blogs
  • Participate
    • Report a Bug
    • Forums
    • Mailing Lists
    • Wiki
    • IRC
    • Research
  • Eclipse IDE
    • Download
    • Learn More
    • Documentation
    • Getting Started / Support
    • How to Contribute
    • IDE and Tools
    • Newcomer Forum
  • More
      • Community

      • Marketplace
      • Events
      • Planet Eclipse
      • Newsletter
      • Videos
      • Blogs
      • Participate

      • Report a Bug
      • Forums
      • Mailing Lists
      • Wiki
      • IRC
      • Research
      • Eclipse IDE

      • Download
      • Learn More
      • Documentation
      • Getting Started / Support
      • How to Contribute
      • IDE and Tools
      • Newcomer Forum
    • Search

  1. Home
  2. Projects
  3. Eclipse IoT
  4. Eclipse zenoh
  5. Eclipse zenoh
×

Informative message

This proposal has been approved and the Eclipse zenoh project has been created.
Visit the project page for the latest information and development.

Go to Project

Eclipse zenoh

Basics
This proposal is in the Project Proposal Phase (as defined in the Eclipse Development Process) and is written to declare its intent and scope. We solicit additional participation and input from the community. Please login and add your feedback in the comments section.
Parent Project: 
Eclipse IoT
Background: 

As a consequence of the widespread adoption of Cyber Physical Systems (CPS) and the raise of ed applications, the number of network connected devices is steadily increasingly as is (1) their heterogeneity with respect to computing, storage and communication capabilities,  (2) the scale at which they produce and consume data and (3) the need for geo-distributed storage and queries. Thus, data exchange protocols face new needs with respect to vertical and horizontal scalability, support for constrained networks and devices with low duty cycle – in other terms devices that are disconnected/sleeping most of the time as well as ability to deal with both data in motion and data at rest. Protocols used today to build these systems, such as MQTT, DDS, CoAP and HTTP were not designed with these needs in mind. As a result, architects and developers are forced into patchwork design in which multiple protocols are stitched together to provide some meaningful end-to-end semantics. Zenoh's authors have co-invented and built some of the communication infrastructures deployed today as part of telecommunication, aerospace and early Industrial Internet applications (notably DDS). It is with this baggage of experience that they came to the realization that a new protocol was needed – a protocol designed ground-up to address the needs of large scale CPS as well as edge systems end-to-end. Eclipse zenoh, is a stack  designed to (1) minimize network overhead – the minimal wire overhead of a data message a data message is 4 bytes, (2) support extremely constrained devices – its footprint on Arduino Uno is of 300 bytes, (3) supports devices with low duty-cycle by allowing the negotiation of data exchange modes and schedules, (4) provide a rich set of abstraction for distributing, querying and storing data along the entire system, and (5) provide extremely low latency and high throughput. 

Scope: 

Eclipse zenoh provides a stack that unifies data in motion, data in-use and data at rest. It carefully blends traditional pub/sub with geo-distributed storages, queries and computations, while retaining a level of time and space efficiency that is well beyond any of the mainstream stacks.
Eclipse zenoh will build around the zenoh infrastructure and includes zenoh software routers/brokers as well as the zenoh client APIs.

Description: 

Eclipse zenoh provides is a stack  designed to (1) minimize network overhead, (2) support extremely constrained devices, (3) supports devices with low duty-cycle by allowing the negotiation of data exchange modes and schedules, (4) provide a rich set of abstraction for distributing, querying and storing data along the entire system, and (5) provide extremely low latency and high throughput. 

Why Here?: 

Zenoh was deisgned with Edge and Fog Computing in mind thus the Eclipse IoT seems to be the right home for it. Beside, Eclipse fog05 relies entirely on zenoh, thus it would make more sense to have the entire fog05 stack to be powered by Eclipse IoT technologies.

Licenses: 
Apache License, Version 2.0
Eclipse Public License 2.0
Legal Issues: 

We own the entirety of the developed IP. Thus to the best of our knowledge there are not potential legal issues.

Project Scheduling: 

We are ready to go with incubation as soon as the project is accepted. As you can see at http://pkgs.adlink-labs.tech we already have releases for main streams platforms and our github repositors have been made public (see references below).

Thus we are ready now.
 

Future Work: 

We plan to work on:

- More client API, next two will be Rust and JavaScript

- Next generation Router rewrite in Rust

 

People
Project Leads: 
Angelo Corsaro
Yong He
Committers: 
Angelo Corsaro
Olivier Hecart
Julien Enoch
Yong He
Luca Cominardi
Mentors: 
Frédéric Desbiens
Interested Parties: 

Huawei and Futurewei have been a key partner in identifying and addressing all the key use cases that need to be addressed to propoerly support edge-applications and geo-distributed data management.  

 

Source Code
Initial Contribution: 

Our intial contribution will include:

Zenoh Router. The zenoh software router implements a routing infrastructure that allows to run zenoh applications at Internet Scale. Zenoh routers can be connected over arbitrariy graphs and maintain the routing topology through a series of self-stabilising decentralised algorithms.

Zenoh Client API. We will contribute client API for C, Java, Python, Go. 

Zenoh Management. Zenoh routers exposed a REST based management API will will be made avaiable.

Zenoh Storage Plug-ins. We will contribute storage plugins for main-memory, MariaDB, PostgreSQL, SQLite, InfluxDB

Zenoh Protocol Specification and Documentation. We will contribute the zenoh protocol specification along with the API documentation and user guides.

Source Repository Type: 
Git
Source Repositories: 
http://github.com/atolab/zenoh
http://github.com/atolab/zenoh-c
http://github.com/atolab/zenoh-java
http://github.com/atolab/zenoh-python
http://github.com/atolab/zenoh-go
  • Sign in to post comments.

Project Links

  • Getting Started
  • Website
Incubating - Eclipse zenoh

Related Projects

Related Projects:

  • Eclipse IoT
    • Eclipse fog05

Project Hierarchy:

  • Eclipse IoT
  • Eclipse zenoh

Tags

Technology Types
  • IoT and Edge
  • Runtime
  • Specification
Other Tags
  • edge
  • protocol
  • wire efficiency
  • Robotics
  • ROS2
  • data-flow programming

Eclipse Foundation

  • About Us
  • Contact Us
  • Sponsor
  • Members
  • Governance
  • Code of Conduct
  • Logo and Artwork
  • Board of Directors
  • Careers

Legal

  • Privacy Policy
  • Terms of Use
  • Copyright Agent
  • Eclipse Public License
  • Legal Resources

Useful Links

  • Report a Bug
  • Documentation
  • How to Contribute
  • Mailing Lists
  • Forums
  • Marketplace

Other

  • IDE and Tools
  • Projects
  • Working Groups
  • Research@Eclipse
  • Report a Vulnerability
  • Service Status

Copyright © Eclipse Foundation. All Rights Reserved.

Back to the top