Jumaruba / BackupSystem

Distributed backup system

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Backup system

A simple distributed backup system developed in java

How to execute

Under de ./src directory run the following command to compile the code:

$ sh ../scripts/compile.sh

After compiling, go to the Build folder located in src folder. In that folder you can run the following commands:

Initialize the peer running the following command:

$ sh ../../scripts/peer.sh <version> <peer_id> <svc_access_point> <mc_addr> <mc_port> <mdb_addr> <mdb_port> <mdr_addr> <mdr_port>

To run the TestApp you should run the command:

$ sh ../../scripts/test.sh <peer_ap> BACKUP|RESTORE|DELETE|RECLAIM|STATE [<opnd_1> [<optnd_2]] 

To cleanup the files run the following code on Build folder

$ sh ../../scripts/cleanup.sh <Peer_Id>

Introduction

The aim of this project is to elaborate a distributed system service for backing up files in a LAN.
All the features requested for this work were implemented:

  • Chunk backup
  • Chunk restore
  • Delete a file
  • Manage a local service storage
  • Retrieve local service state information

We also implemented the following enhancements:

  • Backup Enhancement - Each chunk is not stored more times than its replication degree;
  • Restore Enhancement - Using TCP Protocol;
  • Delete Enhancement - Upon a delete command, peers that are not working by the time of the request will receive the delete command when connected.

For more information regarding this project checkout the report.

Group members

About

Distributed backup system


Languages

Language:Java 94.9%Language:Shell 4.0%Language:Makefile 1.0%