Giter Club home page Giter Club logo

sola's Introduction

SOLA

SOLA SOLA

SOLA is decentralized communication middleware that omits the need for a dedicated communication instance. It operates on peer's local view, where each peer maintains selected links to a subset of all peers. The local view of a peer is used for its two main building blocks. The management overlay is a tree-structured peer to peer network that supports a service and peer discovery mechanism and an event dissemination, which enables a broadcast operation with the publish-subscribe message pattern.

DISCLAIMER: This project is not intended for everyday use and made available without any support. However, we welcome any kind of feedback via the issue tracker or by e-mail.

Project structure and licensing

This repository contains multiple subprojects which are published under different licenses. The top-level folder of this repository is licensed under the MIT license.

Folder SPDX Identifier Description
daisi GPL-2.0-only ns-3 network simulation setup for all components and applications
minhton MIT P2P tree-structured overlay network
natter MIT P2P broadcasting framework with broadcasting algorithm for MINHTON
sola MIT Decentralized communication middleware
solanet MIT Networking utils for other components
evaluation MIT Verification/Validation/Evaluation scrips

This project uses third party software which might be licensed differently. For the licenses of third party software see the license files in the corresponding folders.

Build

If you want to build DAISI, you need to have ns-3 and some additional dependencies installed. Then, you can build DAISI from a build subdirectory as a CMake project:

cmake .. -G Ninja -DCMAKE_BUILD_TYPE=RelWithDebInfo -Dns3_DIR="PATH_TO_YOUR_NS3_INSTALL"
cmake --build .

Please refer to the documentation for an in depth installation guide including other options as well as further information.

Contributing

If you want to get involved, feel free to ask questions, bring ideas to discuss, or anything else. We are open-source and we like open thoughts! Just open an issue or start a discussion!

See CONTRIBUTING.md for further information.

Academic Attribution

If you use it for research, please include the following reference in any resulting publication.

@inproceedings{detznerSOLADecentralizedCommunication2023,
  title = {{{SOLA}}: {{A Decentralized Communication Middleware Developed}} with ns-3},
  shorttitle = {{{SOLA}}},
  booktitle = {Proceedings of the 2023 {{Workshop}} on ns-3},
  author = {Detzner, Peter and Gödeke, Jana and Tönning, Lars and Laskowski, Patrick and Hörstrup, Maximilian and Stolz, Oliver and Brehler, Marius and Kerner, Sören},
  date = {2023-06-28},
  series = {{{WNS3}} '23},
  pages = {78--85},
  publisher = {{Association for Computing Machinery}},
  location = {{New York, NY, USA}},
  url = {https://dl.acm.org/doi/10.1145/3592149.3592151},
  abstract = {The transformation from static production facilities into a flexible and decentralized cyber-physical production system (CPPS) is part of the current ongoing Industry 4.0. A CPPS will enable and support communication between people, machines and virtual objects, e.g., as material flow or products, alike. However, communication in CPPS relies often on centralized approaches using a message broker or is not considered at all. We present in this paper the decentralized communication middleware called SOLA with an emphasis on, but not limited to, CPPS. SOLA uses the inherent given capability to communicate of participating nodes and eliminates the need for a central instance. A structured overlay network is created and managed, which appears to its users as a single coherent system. The main building blocks of SOLA are the management overlay and the event dissemination. Within this building blocks, no single peer has a global view and all operations are based on each peer’s local view. The local view represents some selected links to a subset of all peers in the network. In addition to this, we also present how SOLA was developed with the help of the discrete-event simulator ns-3. Finally, we also show how we have used ns-3 to simulate a self-organizing material flow where participants use SOLA to communicate.},
  isbn = {9798400707476},
  keywords = {balanced tree,cyber-physical production system,decentral organized communication,peer-to-peer network}
}

SOLA is a composition of other components. References to the publications are provided in the dedicated documentation.

sola's People

Contributors

ltoenning avatar palask avatar janagoe avatar tseeland avatar oliverstolzbo avatar ptrdtznr avatar marbre avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.