1 / 14

Simple PEer to peER File System (SPEERFS)

Simple PEer to peER File System (SPEERFS). Done by: Assaf Waksman Benny Pano Supervised by: Uri Schonfeld On Spring 2005. Background. P2P – A way of sharing information among many equal work stations File System – A database that supports and stores information units called files.

Download Presentation

Simple PEer to peER File System (SPEERFS)

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. Simple PEer to peERFile System(SPEERFS) Done by: Assaf Waksman Benny Pano Supervised by: Uri Schonfeld On Spring 2005

  2. Background • P2P – A way of sharing information among many equal work stations • File System – A database that supports and stores information units called files. • A need for sharable space that holds file-system instances arises: Achieves availability of information everywhere, as well as decrease in bandwidth load over a single server.

  3. Objective Designing and implementing a distributed file system with a P2P approach. The system will let a user the ability to mount and use roots, which will be shared among the peers.

  4. Considerations and Assumptions • The files are small • There are no sudden crashes of peers • A peer’s bandwidth is of domestic type • There are no simultaneous reads and/or writes to the same file (not including directories)

  5. System’s goal characteristics • Scalable P2P network • Maintain data integrity • Equality among peers • Support basic FS operations needed by the OS • Ease of use

  6. SPEERFS Architecture overview Create / Delete roots Create / Delete / Write / Read roots, files, directories Interface / Driver File-System Find a value’s holder P2P

  7. NFS Protocol • Client  Server relationship • Gives the ability for remote users to mount a file system that populates the server • Uses the RPC mechanism • Supports {READ, WRITE, CREATE, REMOVE, MKDIR, RMDIR, READDIR, etc.} remote procedure calls

  8. Chord Protocol • Each peer has a unique value. • Each peer has a successor and a predecessor in the network. • A peer is responsible for a values’ range between his predecessor and himself. • When a new peer joins the network, his successor’s responsibility range is updated accordingly.

  9. Chord Qualities • Maintains scalability • Search for a value: O(logN) • Join / departure of a peer: O((logN)^2) • Maintains data integrity and organization

  10. Chord Demonstration

  11. File-System’s Data Structures • Every file in the file system is physically stored by the appropriate peer, according to the chord protocol. • Each peer has a database file that holds a list of all the files stored by this peer. • Each directory in the file system has a physical database file that contains a list of all the content of that directory. • The system supports passwords enforcement.

  12. System’s Packages Were made: • chord – supports the ChordPeer class • com – supports communication operations • misc – stores helper classes • scome – supports the ScomePeer class Was altered: • nfsserver – implements an NFS server and contains the main method Was used: • org.acplt.oncrpc – implements the RPC mechanism needed by the NFS server

  13. Major Classes • Peer – supports communication’s and basic peer’s functionality. • ChordPeer – inherits from Peer and implements the chord protocol. • ScomePeer – inherits from Peer and supports file system’s functionality. • Listener – Receives messages from other peers and initiates their handling.

  14. Future Improvements • Handle simultaneous joins of peers to the chord network • Handle hostile messages • Support file links in the SCOME layer • Support multiple copies of files’ data • Limit the amount of data a peer can hold • Write a designated driver for the OS • Encrypt and compress messages and databases

More Related