An open API service indexing awesome lists of open source software.

https://github.com/eduribeiro00/distbackupservice-feup-sdis

Code and projects developed in the SDIS subject throughout the semester (MIEIC 3rd year, 2nd semester).
https://github.com/eduribeiro00/distbackupservice-feup-sdis

distributed-systems java peer-to-peer

Last synced: about 2 months ago
JSON representation

Code and projects developed in the SDIS subject throughout the semester (MIEIC 3rd year, 2nd semester).

Awesome Lists containing this project

README

        

# SDIS Class Assignments and Projects

**2019/2020** - 3rd Year, 2nd Semester

**Course:** Sistemas Distribuídos ([SDIS](https://sigarra.up.pt/feup/pt/ucurr_geral.ficha_uc_view?pv_ocorrencia_id=436451)) | Distributed Systems

**Projects developed by:** Eduardo Ribeiro ([EduRibeiro00](https://github.com/EduRibeiro00)), José Guerra ([LockDownPT](https://github.com/lockdownpt)), Luís Ramos ([LuisPRamos](https://github.com/LuisPRamos)) and Miguel Pinto ([MiguelDelPinto](https://github.com/MiguelDelPinto))

---

**Project 1: Serverless Distributed Backup Service**

* Distributed peer-to-peer system (locally), developed in Java, that allows the backup of a file divided in chunks in other peers; also allows the restoration and deletion of a file, and the reclaim of a peer's personal space;
* Usage of a well defined message protocol to communicate between peers;
* Usage of thread-pools and non-blocking I/O to achieve high concurrency and parallelism.
* Languages/technologies used: **Java, Shell**.

**Grade**: 19.6 / 20

---

**Project 2: Distributed Backup System in the Internet**

* Distributed peer-to-peer system in the Internet, developed in Java, that allows the backup of a file divided in chunks in other peers; also allows the restoration and deletion of a file, and the reclaim of a peer's personal space;
* Various features of the system were taken into account, like its scalability and fault-tolerance (usage of the Chord protocol), and using secure communication channels (JSSE);
* Usage of thread-pools and non-blocking I/O to achieve high concurrency and parallelism.
* Languages/technologies used: **Java, Shell**.

**Grade**: 18.01 / 20

---

**Disclaimer** - This repository was used for educational purposes and I do not take any responsibility for anything related to its content. You are free to use any code or algorithm you find, but do so at your own risk.