22
Breadbox p2p file storage and distribution Team: Brian Smith, Daniel Suskin, Dylan Nunley, Forrest Vines Mentor: Brendan Burns

Breadbox

  • Upload
    deiter

  • View
    31

  • Download
    0

Embed Size (px)

DESCRIPTION

Breadbox. p2p file storage and distribution. Team: Brian Smith, Daniel Suskin, Dylan Nunley, Forrest Vines Mentor: Brendan Burns. Overview. Objective Background Design Pastry Data Manager Client Future Improvements Demo Questions. Project Objective. Storage that is: Persistent - PowerPoint PPT Presentation

Citation preview

Page 1: Breadbox

Breadboxp2p file storage and distribution

Team: Brian Smith, Daniel Suskin, Dylan Nunley, Forrest VinesMentor: Brendan Burns

Page 2: Breadbox

OverviewObjectiveBackgroundDesign

PastryData ManagerClient

Future ImprovementsDemoQuestions

Page 3: Breadbox

Project ObjectiveStorage that is:

PersistentAvailableReliableInexpensiveSecure

Page 4: Breadbox

P2P Systems(Past/Present)NapsterGnutellaFreenetOceanstoreBitTorrent

Page 5: Breadbox

Hierarchical Design

Client

Java RMIData Manager

Pastry API

Pastry

Page 6: Breadbox

Architectural Design

ClientData

ManagerPastry

ClientData

ManagerPastry

Pastry Overlay Network

Node A Node X

Page 7: Breadbox

PastryStoring stateRoutingMaintaining state

Page 8: Breadbox

Storing stateLeaf set

Closest numericallyFinal routing

Neighborhood setLocality, upkeep

Page 9: Breadbox

Storing StateRouting table

Structure based on IDs

Page 10: Breadbox

RoutingOption 1: Leaf set

FastestOption 2: Routing table

Prefix-basedOption 3: Other

RandomizedOption 4: Deliver

Page 11: Breadbox

State maintenance: new nodesTwo phases

Request Build state for new node

Announce Tell others to add to state

Page 12: Breadbox

State maintenance: old nodesLazy

Routing failsAsk other nodes for new state. Either:

Leaf set Neighborhood set A single routing table entry

Page 13: Breadbox

State maintenance: heartbeatNeighbors

Page 14: Breadbox

ScalabilityUntested

But works in theoryState scales well

ID maximum digits x ID representation base + M + L

Page 15: Breadbox

ReliabilityLargely untested, but:

Lazy repairLow chance of entire leaf set going down

Page 16: Breadbox

Server/Data ManagerService that is run on each node of the networkConnection between client and pastry substrate

Client

Data Manager Service

Client

Data Manager Service

Pastry

Page 17: Breadbox

Data StorageService manages local file chunks

Data Manager Service

Data Chunk

Data Chunk

Data Chunk

Page 18: Breadbox

Scalability and Reliability:ReplicationEach node is responsible for replicating chunks whose

Ids are closest to its nodeIDEach chunk is replicated to the n closest nodesChunks that are no longer within the closest n will

timeout

Page 19: Breadbox

Client: Put

FILE DATA

CHUNK

MANAGER

compresschunk

send

log

LOG

Page 20: Breadbox

Client: Get

FILE DATA

CHUNK

MANAGER

decompress

unchunk receive

LOG

GET

check

request

Page 21: Breadbox

Future ImprovementsPastry

Security (Malicious Nodes)Manager

CachingMessage aggregation

ClientHash CheckGUIEncryption

Page 22: Breadbox

Demo