demiguise storage an anonymous file storage system vijay kumar ravi pragathi segireddy comp 512

19
DEMIGUISE STORAGE An Anonymous File Storage System VIJAY KUMAR RAVI PRAGATHI SEGIREDDY COMP 512

Upload: marilyn-hardy

Post on 26-Dec-2015

217 views

Category:

Documents


1 download

TRANSCRIPT

DEMIGUISE STORAGEAn Anonymous File Storage System

VI JAY KUMAR RAVI

PRAGATHI SEGIREDDY

COMP 512

SYNOPSISIntroduction

Abstract

Existing System

Proposed System

Architecture

Server

Client

Peer

Implementation

Introduction

DEMIGUISE Storage SystemDEMIGUISE is a magical creature that makes itself invisible

Necessity for such System

Goal of the SystemTo ensure sender/receiver anonymity

EXISTING SYSTEM & PROPOSED SYSTEM

Existing System:

The existing system focusses on anonymous communication

Achieved through various routing protocols

One such protocol is Onion Routing protocol

Used in peer to peer architecture

Proposed System:

To achieve anonymous file storage in a network

Uses Client/Server architecture

ARCHITECTURE

Server/Client Architecture

Communication by Message passing

SERVER

Responsible for handling requests from Clients

Capable of connecting with multiple Clients

Uses Sockets for connection

Also responsible for load balancing in the network

Maintains a database

SERVER – DATABASE

Two TablesFile Store TableStatus Table

File Store TableOrigin, Destination, File Name of each file stored in the networkBoth Origin & Destination are client ids.

Status TableContains information about the status of each client Used for load balancing

CLIENT

Typically send requests to Server for service

Types of requestsStore a FileRetrieve a FileDelete a File

Maintains a database with list of files stored in the network

PEER

Peer is essentially each client in the network

Responsible for accepting requests from Server

Requests includeStore FileRetrieve FileDelete a File

Implementation

Request Reply Messages between Server/Client

Store a File – Client RequestsRequest Server to Store a fileSend the File

Store a File – Server ActionsRequest peer to store the fileAsk Client for FileForward file to peer

Similar procedure to retrieve file

SERVER

CLIENT 1

CLIENT 2

REQUEST TO STORE THE FILE

REPLY TO REQUEST TO STORE FILE

SEND FILE

REQUEST TO STORE FILE

SEND FILE

REPLY TO STORE FILE

ACK

ACK

Socket Connections in ServerTwo Sockets

Client connectPeer Connect

Client ConnectConnects multiple clientsUsed for communication with client – message passing

Peer ConnectConnects to the required peer to store/retrieve fileUsed for communication with peer

Event Flow Diagram – Connected to Server

Start Client Start Server

Connect to Server

Start Listening

Request to Connect

Reply to Connect : ͞;Connected͞<

If Reply

Display Connected

YESNO

Display Server Not Listening

Event Flow – Store RequestCLIENT

Client Sends “Request Store“

Receive Ack and if it is “Ok To Send” then send the file

Wait for Ack from Server

SERVER

Receive “message”

Check if message is “Request Store” and reply with “Ok To Send”

Receive the File

Check from database which peer is available to store the file

Forward the file to peer

Insert File Name, Origin, Destination to File Store Table

Send “File Transfer Successful” to Client

Event Flow – Retrieve RequestCLIENT

Client Sends “Retrieve Store along with Filename“

Wait for File from Server

SERVER

Receive “message”

Check if message is “Retrieve Store”

Check from File Store Table the Destination

Forward the request to peer

Receive the file from peer

Send the file to client

Validation of Requests in Server

Validation of connection request done in Server

To ensure the identity of the Client

Uses a unique Client_Id while the client connects.

LOAD BALANCING

Server forwards the store request to the peer

Balanced load can be maintained in network

Server has information about load on each client

Uses this to decide which peer to forward the incoming file

FUTURE IMPROVEMENTS

Proxy Servers can be used to handle requests

Use of encryption/decryption mechanisms

Authentication based on users instead of client id

Replication of files in more than one system based for more robust system

Questions?

Thank You