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.
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.
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.
We own the entirety of the developed IP. Thus to the best of our knowledge there are not potential legal issues.
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.
We plan to work on:
- More client API, next two will be Rust and JavaScript
- Next generation Router rewrite in Rust
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.
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.
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.
- Log in to post comments