pulsarcast
A pub-sub system for the distributed web - my master thesis @ IST
Science Score: 67.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 1 DOI reference(s) in README -
✓Academic publication links
Links to: ieee.org -
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (8.9%) to scientific vocabulary
Keywords
Repository
A pub-sub system for the distributed web - my master thesis @ IST
Basic Info
Statistics
- Stars: 39
- Watchers: 10
- Forks: 6
- Open Issues: 2
- Releases: 0
Topics
Metadata Files
README.md
Pulsarcast
Scalable and reliable pub-sub over P2P networks
- João Antunes M.Sc Thesis
- Institutions:
- Advisors:
- 2017-2021
Implementation
JS-Pulsarcast - A javascript implementation of pulsarcast, using libp2p
Project Description
Abstract
The publish-subscribe paradigm is a wildly popular form of communication in complex distributed systems. The properties offered by it make it an ideal solution for a multitude of applications, ranging from social media to content streaming and stock exchange platforms. Consequently, a lot of research exists around it, with solutions ranging from centralised message brokers, to fully decentralised scenarios (peer to peer).
Within the pub-sub realm not every solution is the same of course and trade-offs are commonly made between the ability to distribute content as fast as possible or having the assurance that all the members of the network will receive the content they have subscribed to. Delivery guarantees is something quite common within the area of centralised pub-sub solutions, there is, however, a clear lack of decentralised systems accounting for this. Specifically, a reliable system with the ability to provide message delivery guarantees and, more importantly, persistence guarantees. To this end, we present Pulsarcast, a decentralised, highly scalable, pub-sub, topic based system seeking to give guarantees that are traditionally associated with a centralised architecture such as persistence and eventual delivery guarantees.
The aim of Pulsarcast is to take advantage of the network infrastructure and protocols already in place. Relying on a structured overlay and a graph based data structure, we build a set of dissemination trees through which our events will be distributed. Our work also encompasses a software module that implements Pulsarcast, with our experimental results showing that is a viable and quite promising solution within the pub-sub and peer to peer ecosystem.
Documents
Final thesis work
- Final Thesis Document - final thesis report with related work, description of our solution and evaluation
- ACM 13 Page, 2 column, Paper Format
- ACM 10 Page, 2 column, Summary (required by Técnico for administrative reasons)
- Final Thesis Presentation (slideshare)
- Final Thesis Presentation (pdf)
- Covered Literature
Initial research work and project proposal:
- Thesis Project Document - initial report covering related work and proposed solution
- Thesis Project Presentation
Publications & Talks
- J. Antunes, D. Dias and L. Veiga, "Pulsarcast: Scalable, Reliable Pub-Sub over P2P Nets," 2021 IFIP Networking Conference (IFIP Networking), 2021, pp. 1-6, doi: 10.23919/IFIPNetworking52078.2021.9472799.
- Pulsarcast: Scalable and reliable pub-sub over P2P networks - Protocol Labs research talk
- Testing P2P Applications with Kubernetes and Toxiproxy - IPFS community talk
Acknowledgements
This work was developed at INESC-ID Lisboa (Distributed Systems Group), Instituto Superior Técnico, Universidade de Lisboa.
A very special thank you to Microsoft Azure (and specially @palma21) for supporting our evaluation efforts.
Owner
- Name: João Antunes
- Login: JGAntunes
- Kind: user
- Location: Lisbon
- Company: @netlify
- Website: jgantunes.com
- Twitter: jgantunes
- Repositories: 99
- Profile: https://github.com/JGAntunes
Citation (CITATION.cff)
title: "Pulsarcast: Scalable and reliable pub-sub over P2P networks"
abstract: "The publish-subscribe paradigm is a wildly popular form of communication in complex distributed systems. The properties offered by it make it an ideal solution for a multitude of applications, ranging from social media to content streaming and stock exchange platforms. Consequently, a lot of research exists around it, with solutions ranging from centralised message brokers, to fully decentralised scenarios (peer to peer).
Within the pub-sub realm not every solution is the same of course and trade-offs are commonly made between the ability to distribute content as fast as possible or having the assurance that all the members of the network will receive the content they have subscribed to. Delivery guarantees is something quite common within the area of centralised pub-sub solutions, there is, however, a clear lack of decentralised systems accounting for this. Specifically, a reliable system with the ability to provide message delivery guarantees and, more importantly, persistence guarantees. To this end, we present Pulsarcast, a decentralised, highly scalable, pub-sub, topic based system seeking to give guarantees that are traditionally associated with a centralised architecture such as persistence and eventual delivery guarantees.
The aim of Pulsarcast is to take advantage of the network infrastructure and protocols already in place. Relying on a structured overlay and a graph based data structure, we build a set of dissemination trees through which our events will be distributed. Our work also encompasses a software module that implements Pulsarcast, with our experimental results showing that is a viable and quite promising solution within the pub-sub and peer to peer ecosystem."
cff-version: 1.2.0
authors:
- family-names: Antunes
given-names: João
orcid: "https://orcid.org/0000-0001-9062-4922"
- family-names: Dias
given-names: David
- family-names: Veiga
given-names: Luís
orcid: "https://orcid.org/0000-0002-9285-0736"
keywords:
- p2p
- publish-subscribe
- decentralised
- reliability
- persistence
- "eventual delivery"
message: "My M.Sc. Thesis at Técnico, Universidade de Lisboa. If you cite this work, please cite the article from the preferred-citation"
repository: "https://github.com/jgantunes/pulsarcast"
repository-code: "https://github.com/jgantunes/js-pulsarcast"
preferred-citation:
title: "Pulsarcast: Scalable, Reliable Pub-Sub over P2P Nets"
abstract: "The publish-subscribe paradigm is a wildly popular form of communication in complex distributed systems. The properties offered by it make it an ideal solution for a multitude of applications, ranging from social media to content streaming and stock exchange platforms. Consequently, a lot of research exists around it, with solutions ranging from centralised message brokers, to fully decentralised scenarios (peer to peer). Within the pub-sub realm not every solution is the same of course and trade-offs are commonly made between the ability to distribute content as fast as possible or having the assurance that all the members of the network will receive the content they have subscribed to. Delivery guarantees is something quite common within the area of centralised pub-sub solutions, there is, however, a clear lack of decentralised systems accounting for this. Specifically, a reliable system with the ability to provide message delivery guarantees and, more importantly, persistence guarantees. To this end, we present Pulsarcast, a decentralised, highly scalable, pub-sub, topic based system seeking to give guarantees that are traditionally associated with a centralised architecture, such as persistence and eventual delivery guarantees. The aim of Pulsarcast is to take advantage of the network infrastructure and protocols already in place. Relying on a structured overlay and a graph based data structure, we build a set of dissemination trees through which our events will be distributed. Our work also encompasses a software module that implements Pulsarcast, with our experimental results showing that is a viable and quite promising solution within the pub-sub and peer to peer ecosystem."
authors:
- family-names: Antunes
given-names: João
orcid: "https://orcid.org/0000-0001-9062-4922"
- family-names: Dias
given-names: David
- family-names: Veiga
given-names: Luís
orcid: "https://orcid.org/0000-0002-9285-0736"
date-released: "2021-06-21"
doi: "10.23919/ifipnetworking52078.2021.9472799"
GitHub Events
Total
Last Year
Issues and Pull Requests
Last synced: 10 months ago
All Time
- Total issues: 26
- Total pull requests: 11
- Average time to close issues: 10 months
- Average time to close pull requests: 3 days
- Total issue authors: 1
- Total pull request authors: 2
- Average comments per issue: 0.62
- Average comments per pull request: 0.27
- Merged pull requests: 11
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 0
- Pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 0
- Pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- JGAntunes (26)
Pull Request Authors
- JGAntunes (8)
- daviddias (3)