Skip to content

Wireless Data Distribution using Luby-Transform Codes and Trickle Algorithm (Sprinkler Protocol)

License

Notifications You must be signed in to change notification settings

shantanoo-desai/Sprinkler

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Sprinkler

An efficient IPv6 Multicast Protocol for distributing data over a wireless network.

It uses:

  1. Luby-Transform Codes
  2. Trickle Algorithm

Usability over

  • 802.11 WLAN ad-hoc networks with Raspberry Pis and GNU/Linux computers

Usage

Case:

python3 Sprinkler.py
--version 1 --path /path/to/dir/
--filename file_to_send --group ff32::2
--port 30002

will distribute the file /path/to/dir/file_to_send over the wireless ad-hoc network Nodes which are running the same code but will lower version number (for instance 0). The /path/to/dir will also store all new incoming files.

General:

usage: Sprinkler.py [-h] [-V VERSION] [-b BLOCK] [-pt PATH] [-f FILENAME]
                [-g GROUP] [-p PORT]

Sprinkler Wireless Data Dissemination Protocol

optional arguments:
-h, --help            show this help message and exit
-V VERSION, --version VERSION
                    Version Number for Updated Data
-b BLOCK, --block BLOCK
                    Encoding Block Length, keep it less than 1500B
-pt PATH, --path PATH
                    Path to the file for Dissemination / storing Incoming
                    file over channel. Default is
                    current_folder/transmissions
-f FILENAME, --filename FILENAME
                    Main File for Fountain. provide complete path
-g GROUP, --group GROUP
                    IPv6 Multicast Group. Default is ff02::1
-p PORT, --port PORT  port number. Default is 30001

Setup

sudo ./setup.sh

This file will:

  • Check for python3 and pip3

  • install the lt-code pip module

  • make necessary folders for the API and relevant dummy files for default operation

  • creates routeTable.json for storing information of nearby neighbors and source of information fountain

Application

Dependencies

It uses LT-Code Github Repository by Anson Rosenthal

install pip3 module first using:

sudo pip3 install lt-code

References

Complete Report of the Protocol at ResearchGate

License

published under GNU Public License v3 (GPLv3)

About

Wireless Data Distribution using Luby-Transform Codes and Trickle Algorithm (Sprinkler Protocol)

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published