Distributed Backup Service
A reliable and secure Distributed Backup Service for the Internet.
Bernardo Belchior - up201405381
Edgar Passos - up201404131
João Gomes - up201403275
Nuno Freitas - up201404739
Our program uses a system called JSSE in order to ensure encrypted connections. As such, the following arguments must be given to the Java Virtual Machine:
java -Djavax.net.ssl.keyStore=<filename1> -Djavax.net.ssl.keyStorePassword=<password1> -Djavax.net.ssl.trustStore=<filename2> - Djavax.net.ssl.trustStorePassword=<password2> <name-of-the-program> ...
There are two keystores and a truststore provided in the repository for testing. Their passwords are "123456", without quotes.
In order to run the server, a rmiregistry must be run, which is done as follows:
To run the first server, use the following command (with the provided stores):
java -Djavax.net.ssl.keyStore=keystore.keys -Djavax.net.ssl.keyStorePassword=123456 -Djavax.net.ssl.trustStore=truststore.keys -Djavax.net.ssl.trustStorePassword=123456 server.Server <peer-access-point> <port-number> [<peer-ip-address> <peer-port-number>
The peer access point is the name to connect to with a TestApp. The port number identifies where the server will open its socket in. The peer IP address and port number must not be specified on the first peer of the network and must be specified on all others. It is used to start the process of joining the network.
To run the TestApp, use the following command:
java client.TestApp <peer-access-point> <operation>
The peer access point is the one given when starting the server we want to connect to; the operation is what identifies what to test and has the following possible values:
RESTORE <key> <path-to-output>
Purpose of the Application
Improve the Distributed Backup Service made in the first assignment, making it more robust and fault-tolerant, while allowing it to be used throughout the internet.
- Chunk encryption
Java standalone application for PC/Mac
Additional Improvements (if time permits)
- Peers authentication using certificates
- Space management