The NDN State Vector Sync (SVS) Protocol in Python 3
Project description
ndn-python-svs: State Vector Sync NDN Python library
This python library implements the State Vector Sync (SVS) protocol to synchronise states between multiple clients over NDN for distributed realtime applications.
This is an official implementation but considered 'experimental'.
ndn-python-svs uses the python-ndn library for it's implementation.
Installation
Prerequisites
Examples
To try out the chat demo application, follow the below steps.
To create a chat client, simply run this in the home directory:
python3 examples/chat_node.py -n NODE_NAME [-gp GROUP_PREFIX] [-h]
You may create as many of these as possible and all clients will sync up using SVS.
Before you run the program, you must register the group prefix as multi-cast (even if you did not specifically define the group prefix):
nfdc strategy set <group-prefix> /localhost/nfd/strategy/multicast/%FD%03
The default (unless specified) group prefix is /svs
for our examples.
More on setting different strategies (like mutli-cast) for prefixes.
Branches
-
master : The Default Protocol Only, no other features from other branches
-
preserve : Does preserve cache via database
~/.ndn/svspy
between runs -
share : Able to cache other node's messages in case one goes down
License and Authors
ndn-python-svs is an open source project that is licensed. See LICENSE.md
for more information.
Please note: This is only a reimplementation in python and does not claim any credit towards the actual design of SVS.
The Names of all authors associated with this reimplementation project are below:
- Justin C Presley (justincpresley)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.