Top Banner
35

Guy Jacob Roee Shapiro

Jan 07, 2016

Download

Documents

herve

INFINI DRIVE. 044167 – Project A Spring, 2008. Guy Jacob Roee Shapiro. 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. - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Guy Jacob Roee Shapiro
Page 2: Guy Jacob Roee Shapiro

Guy Jacob Roee Shapiro

044167 – Project ASpring, 2008

INFINI DRIVE

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

Page 3: Guy Jacob Roee Shapiro

Agenda

Goal Project Objective Technologies InfiniDrive Architecture

System Overview Layers Overview

InfiniDrive Demonstration Future Plans

Page 4: Guy Jacob Roee Shapiro

Final Goal

One logic drive with infinite storage space

Page 5: Guy Jacob Roee Shapiro

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.

Page 6: Guy Jacob Roee Shapiro

Technologies

Application Tier .Net Framework 3.5 (C#)

Database Tier XML Serialization

Development Environment Visual Studio 2008

Page 7: Guy Jacob Roee Shapiro

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.

Page 8: Guy Jacob Roee Shapiro

System Overview

Internet

AccountDatabase

Connection

Physical

Logical

GUI

IMAP

SMTP

Management

IMA

P

Restore PointFilesDatabase

Page 9: Guy Jacob Roee Shapiro

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

Page 10: Guy Jacob Roee Shapiro

GUI – Class Diagram

Windows

Forms

Classes

Service

Classes

Page 11: Guy Jacob Roee Shapiro

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

Page 12: Guy Jacob Roee Shapiro

Logical – Class Diagram

Logic

Classes

Data

Structure

Classes

Service

Classes

Page 13: Guy Jacob Roee Shapiro

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

Page 14: Guy Jacob Roee Shapiro

Physical – Class Diagram

Logic

Classes

Page 15: Guy Jacob Roee Shapiro

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

Page 16: Guy Jacob Roee Shapiro

Connection – Class Diagram

Logic

Classes

Data

Structure

Classes

Service

Classes

Page 17: Guy Jacob Roee Shapiro

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

Page 18: Guy Jacob Roee Shapiro

Management – Class Diagram

Logic

Classes

Data

Structure

Classes

Service

Classes

Page 19: Guy Jacob Roee Shapiro

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

Page 20: Guy Jacob Roee Shapiro

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

Page 21: Guy Jacob Roee Shapiro

Management

IMA

P

Upload File - Physical

Internet

Database

Connection

Logical

GUI

IMAP

SMTP

Physical

Split files and build message with attachment

Complete metadata header

Page 22: Guy Jacob Roee Shapiro

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

Page 23: Guy Jacob Roee Shapiro

Upload File - Management

Internet

Database

Physical

Logical

GUI

ConnectionIMAP

SMTP

Management

Discover upload files Update InfiniDrive file

system Update GUI

Page 24: Guy Jacob Roee Shapiro

InfiniDrive Demonstration

Upload

Download

User Account

Page 25: Guy Jacob Roee Shapiro

Documentation

Code documented using C# XML documentation.

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

Page 26: Guy Jacob Roee Shapiro

Documentation – Preview

Page 27: Guy Jacob Roee Shapiro

Future Plans

Add more protocols (today supports imap and smtp)

Add namespace shell extension Encryption Beat the Competition

Page 28: Guy Jacob Roee Shapiro

Competition - livedrive

http://www.livedrive.com/

Page 29: Guy Jacob Roee Shapiro

Competition - Gladinet

http://gladinet.com/

Page 30: Guy Jacob Roee Shapiro

The End…

Questions?

Page 31: Guy Jacob Roee Shapiro

Upload

Page 32: Guy Jacob Roee Shapiro

InfiniDrive – Internal View

Page 33: Guy Jacob Roee Shapiro

Download

Page 34: Guy Jacob Roee Shapiro

User Account

Page 35: Guy Jacob Roee Shapiro

GUI

Physical

Logical

Connection