| Slide 3 |
Guy Jacob
Roee Shapiro
044167 – Project A
Spring, 2008
INFINI DRIVE
Project Supervisor: Hai Vortman
Lab Chief Engineer: Dr. Ilana David
|
| Slide 4 |
Agenda
Goal
Project Objective
Technologies
InfiniDrive Architecture
System Overview
Layers Overview
Future Plans
|
| Slide 5 |
Final Goal
One logic drive with infinite storage space
|
| Slide 6 |
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.
|
| Slide 7 |
Technologies
Application Tier
.Net Framework 3.5 (C#)
Database Tier
XML Serialization
Development Environment
Visual Studio 2008
|
| Slide 8 |
Protocols
SMTP
The 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
IMAP
The 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.
|
| Slide 9 |
System Overview
Internet
Account
Database
Connection
Physical
Logical
GUI
SMTP
Management
Restore Point
Files
Database
|
| Slide 10 |
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
|
| Slide 11 |
GUI – Class Diagram
Window
Form
Classes
Service
Classes
|
| Slide 12 |
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
|
| Slide 13 |
Logical – Class Diagram
Logic
Classes
Data
Structure
Classes
Service
Classes
|
| Slide 14 |
Physical Layer
Split files to fit the maximum attachment size
Add information to metadata header
Merge parts in to a single file
|
| Slide 15 |
Physical – Class Diagram
Logic
Classes
|
| Slide 16 |
Connection Layer
Manage clients database
Via IMAP:
Retrieve accounts properties
Retrieve InfiniDrive files
Via SMTP:
Send file parts to one or more accounts
|
| Slide 17 |
Connection – Class Diagram
Logic
Classes
Data
Structure
Classes
Service
Classes
|
| Slide 18 |
Management Layer
OpenCM (Client Management)
Monitor accounts connection and respond to changes
Discovery
Discover and monitor InfiniDrive files
Build Download Assembly
Retrieve Restore Point
|
| Slide 19 |
Management – Class Diagram
Logic
Classes
Data
Structure
Classes
Service
Classes
|
| Slide 20 |
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
|
| Slide 21 |
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
|
| Slide 22 |
Upload File - Physical
Internet
Database
Connection
Logical
GUI
IMAP
SMTP
Physical
Split files and build message with attachment
Complete metadata header
|
| Slide 23 |
Upload File - Connection
Internet
Database
Physical
Logical
GUI
Connection
Send each part to one or more accounts
Send new database files
|
| Slide 24 |
InfiniDrive Demonstration
Upload
Download
User Account
|
| Slide 25 |
Future Plans
Add more protocols (today supports imap and smtp)
Add namespace shell extension
Beat the Competition
|
| Slide 26 |
Competition - SftpDrive
http://www.expandrive.com/sftpdrive/
|
| Slide 27 |
Competition - SkyDrive
http://skydrive.live.com/
|
| Slide 28 |
Upload
|
| Slide 29 |
InfiniDrive – Internal View
|
| Slide 30 |
Download
|
| Slide 31 |
User Account
|