arun-babu / vermillion

A high-performance scalable IoT middleware for smart cities

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

vermillion_logo

github-workflow codacy license dependabot docker-build-status docker-build-automation gitter

Vermillion is a high performance, scalable and secure IoT middleware platform developed using Vertx. It is a middleware stack which focuses primarily on the compute layer in a smart city IoT deployment. One of the chief goals of Vermillion is to enable seamless data exchange between data producers and consumers in a smart city.

Performance

Performance has been the key consideration while developing Vermillion. Initial results show that the middleware was able to handle at least 130,000 HTTPS requests/sec across 12 compute nodes. Computing Vermillion's performance under various conditions is still ongoing.

A detailed white paper on this project published in Arxiv can be found here. The following is a graph depicting results from the 12-node test:

images/12-nodes.png

Single-node Quickstart

If the OS is Ubuntu or debian based

  • Simply run

    curl -LJ# https://vermillion-install.herokuapp.com/ | bash

For other operating systems

  1. Clone the repository

    git clone https://github.com/rbccps-iisc/vermillion
    cd vermillion
  2. Install the following dependencies manually

    • docker
    • docker-compose
  3. Also install the following dependencies if the tests need to be run

    • requests
    • urllib3
    • pika==0.13.0
  4. Start the installation

    ./single-node/quick_install
  5. Test the middleware using

    ./tests/single-node functional -d 1 -a 1

About

A high-performance scalable IoT middleware for smart cities

License:Other


Languages

Language:Python 53.4%Language:Java 41.7%Language:Shell 4.0%Language:Dockerfile 0.8%