1 / 22

Breadbox

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

deiter
Download Presentation

Breadbox

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Overview • Objective • Background • Design • Pastry • Data Manager • Client • Future Improvements • Demo • Questions

  3. Project Objective • Storage that is: • Persistent • Available • Reliable • Inexpensive • Secure

  4. P2P Systems(Past/Present) • Napster • Gnutella • Freenet • Oceanstore • BitTorrent

  5. Hierarchical Design

  6. Architectural Design Node A Node X Pastry Overlay Network

  7. Pastry • Storing state • Routing • Maintaining state

  8. Storing state • Leaf set • Closest numerically • Final routing • Neighborhood set • Locality, upkeep

  9. Storing State • Routing table • Structure based on IDs

  10. Routing • Option 1: Leaf set • Fastest • Option 2: Routing table • Prefix-based • Option 3: Other • Randomized • Option 4: Deliver

  11. State maintenance: new nodes • Two phases • Request • Build state for new node • Announce • Tell others to add to state

  12. State maintenance: old nodes • Lazy • Routing fails • Ask other nodes for new state. Either: • Leaf set • Neighborhood set • A single routing table entry

  13. State maintenance: heartbeat • Neighbors

  14. Scalability • Untested • But works in theory • State scales well • ID maximum digits x ID representation base + M + L

  15. Reliability • Largely untested, but: • Lazy repair • Low chance of entire leaf set going down

  16. Server/Data Manager • Service that is run on each node of the network • Connection between client and pastry substrate Client Client Data Manager Service Data Manager Service Pastry

  17. Data Storage • Service manages local file chunks Data Chunk Data Manager Service Data Chunk Data Chunk

  18. Scalability and Reliability:Replication • Each node is responsible for replicating chunks whose Ids are closest to its nodeID • Each chunk is replicated to the n closest nodes • Chunks that are no longer within the closest n will timeout

  19. Client: Put CHUNK send chunk FILE compress MANAGER DATA log LOG

  20. Client: Get CHUNK unchunk receive FILE decompress MANAGER DATA request GET LOG check

  21. Future Improvements • Pastry • Security (Malicious Nodes) • Manager • Caching • Message aggregation • Client • Hash Check • GUI • Encryption

  22. Demo

More Related