Skip to content

named-data/StateVectorSync

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

60 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

State Vector Sync

Specification and API description of the State Vector Sync (SVS) protocol.

State Vector Sync (SVS) is an NDN transport layer protocol that allows efficient multi-producer/multi-consumer communication. The communication participants maintain a shared data set and whenever a participant publishes data to the data set, the other participants are informed about the data generation and can choose to retrieve the published data.

In SVS, the data set state is synchronized using a state vector. Every participant publishes Data under its own producer prefix, and to distinguish subsequent publications, the publications are enumerated using a sequence number. The highest sequence numbers of every participant are exchanged among all communicating participants in a state vector. Whenever receiving a state vector, new publications from other participants can be inferred and retrieved using Interest-Data exchange. The process of data set synchronization is elaborated in more detail in the Protocol Specification below.

Several implementations of SVS are currently available:

Protocol Specifications

For the detailed SVS protocol, see the SVS Specification. For the SVS-PS Publish/Subscribe protocol, see the Pub/Sub Specification.

Using State Vector Sync

Examples for using SVS can be found in the examples folder of the individual implementations.

API Description

The API is unified across the official libraries. See API for a high-level description. Please also refer to the individual library documentation for more details.

Example Applications

  • Ownly: A secure decentralized workspace built over NDN.
  • ndn-dv: A distance vector routing protocol implementation.

References

If you enjoyed using State Vector Sync, or used it for your research, we would appreciate a citation on the following publications:

License

CC-BY-SA

State Vector Sync is an open source project licensed under a Creative Commons Attribution-ShareAlike 4.0 International License. See LICENSE for more information.

Different licenses for the implementations might apply.

About

Specification and API description of the State Vector Sync (SVS) protocol

Topics

Resources

License

Code of conduct

Contributing

Stars

9 stars

Watchers

5 watching

Forks

Contributors