35

Guy Jacob Roee Shapiro 044167 – Project A Spring, 2008 INFINI DRIVE Project Supervisor: Hai Vortman Lab Chief Engineer: Dr. Ilana David

  • View
    214

  • Download
    0

Embed Size (px)

Citation preview

Guy Jacob Roee Shapiro

044167 – Project ASpring, 2008

INFINI DRIVE

Project Supervisor: Hai Vortman Lab Chief Engineer: Dr. Ilana David

Agenda

Goal Project Objective Technologies InfiniDrive Architecture

System Overview Layers Overview

InfiniDrive Demonstration Future Plans

Final Goal

One logic drive with infinite storage space

Project Objective

Distributed Disk Application over the Internet.

Physical

The physical part of the disk would be made from a number of disk fragments in different machines over the network which have different applications or protocol interfaces.

Example for physical disks on the Internet could be: email accounts, ftp sites, peer-to-peer file sharing networks.

Logical

The logical part will give the end user one logic disk which will be the size of the fragments sum.

The application will give the end user one united interface for the logic disk and will hide all other different interfaces for the different physical disks.

Technologies

Application Tier .Net Framework 3.5 (C#)

Database Tier XML Serialization

Development Environment Visual Studio 2008

Protocols

SMTPThe objective of the Simple Mail Transfer Protocol (SMTP) is to transfer mail reliably and efficiently.When an SMTP client has a message to transmit, it establishes a two- way transmission channel to an SMTP server. The responsibility of an SMTP client is to transfer mail messages to one or more SMTP servers, or report its failure to do so

IMAPThe Internet Message Access Protocol, allows a client to access and manipulate electronic mail messages on a server. IMAP4 permits manipulation of mailboxes (remote message folders) in a way that is functionally equivalent to local folders. IMAP also provides the capability for an offline client to resynchronize with the server.

System Overview

Internet

AccountDatabase

Connection

Physical

Logical

GUI

IMAP

SMTP

Management

IMA

P

Restore PointFilesDatabase

GUI Layer

Show local/remote file system

Show graphical indication for: Transfer Status Connection Status

Provide account management facilities Add or remove accounts Change priority

Provide InfiniDrive facilities Create Restore Point Refresh InfiniDrive

Connection

Physical

Logical

GUI

Management

GUI – Class Diagram

Windows

Forms

Classes

Service

Classes

Logical Layer

Manage virtual file system Initiate Upload and Download flows Build schemes holding logical limitations:

Upload scheme Redundancy scheme Scatter Data scheme

Invoking a controller for each thread Each file is processed in a different thread

Connection

Physical

Logical

GUI

Management

Logical – Class Diagram

Logic

Classes

Data

Structure

Classes

Service

Classes

Physical Layer

Split files to fit the maximum attachment size Add information to metadata header

Merge parts in to a single file

Connection

Physical

Logical

GUI

Management

Physical – Class Diagram

Logic

Classes

Connection Layer

Manage clients database

Via IMAP: Retrieve accounts properties Retrieve InfiniDrive files

Via SMTP: Send file parts to one or more accounts

Connection

Physical

Logical

GUI

Management

Connection – Class Diagram

Logic

Classes

Data

Structure

Classes

Service

Classes

Management Layer

OpenCM (Client Management) Monitor accounts connection and

respond to changes

Discovery Discover and monitor InfiniDrive files Build Download Assembly Retrieve Restore Point

Connection

Physical

Logical

GUI

Management

Management – Class Diagram

Logic

Classes

Data

Structure

Classes

Service

Classes

Management

IMA

P

Upload File - GUI

Internet

Database

Connection

Physical

Logical

GUI

IMAP

SMTP

Activated by mouse click or drag and drop

Pass folder tree or file to Logical Layer

Update Transfer and Status panes

Management

IMA

P

Upload File - Logical

Internet

Database

Connection

Physical

GUI

IMAP

SMTP

Logical

Check logical conditions (space, connection, …)

Assign account/s Generate metadata header Upon successful completion

- Update Remote FS and DB

Management

IMA

P

Upload File - Physical

Internet

Database

Connection

Logical

GUI

IMAP

SMTP

Physical

Split files and build message with attachment

Complete metadata header

Management

IMA

P

Upload File - Connection

Internet

Database

Physical

Logical

GUI

ConnectionIMAP

SMTP

Send each part to one or more accounts

Send new database files

Upload File - Management

Internet

Database

Physical

Logical

GUI

ConnectionIMAP

SMTP

Management

Discover upload files Update InfiniDrive file

system Update GUI

InfiniDrive Demonstration

Upload

Download

User Account

Documentation

Code documented using C# XML documentation.

This documentation is compiled using SandCastle / DocProject creating user friendly help file

Documentation – Preview

Future Plans

Add more protocols (today supports imap and smtp)

Add namespace shell extension Encryption Beat the Competition

Competition - livedrive

http://www.livedrive.com/

Competition - Gladinet

http://gladinet.com/

The End…

Questions?

Upload

InfiniDrive – Internal View

Download

User Account

GUI

Physical

Logical

Connection