T-07S-05: Difference between revisions

From
Jump to navigation Jump to search
Line 41: Line 41:
** Implement a DHT interface localy (not distributed).
** Implement a DHT interface localy (not distributed).
** Implement the Blocklayer.
** Implement the Blocklayer.
*** hardcopys on blocklayer
** Implement Direcorys:
** Implement Direcorys:
*** openDir
*** openDir
Line 46: Line 47:
*** rmdir
*** rmdir
*** ls
*** ls
*** close
*** <s>chdir</s>
*** <s>chdir</s>
*** <s>pwd</s>
*** <s>pwd</s>
Line 54: Line 56:
*** write
*** write
*** truncate
*** truncate
*** close
** Implement Fuse Frontend
** Implement Fuse Frontend
** first prototype
* What You plan to do next?
* What You plan to do next?
** fix bugs
** fix bugs

Revision as of 17:16, 30 July 2007

Distributed Filesystem for Wireless Mesh Networks

Assigned to: Felix Bechstein

Advisor: Anatolij Zubow

Expected Submission: December 2007

Problem Statement

  • Which problem do you want to solve?
    • There is no filesystem only based on DHT for decentralized use, like our BRN.
  • To which domain of Computer Science does this problem relate to?
  • Why is the problem interesting? Why is it difficult?
    • A filesystem is a basic service for many applications on top. It can be used for class- and update-distribution, backup- or storage-service and many more.

Deliverables

  • At the end of the project, what will you have delivered?
    • A basic distributed (high-performance) filesystem, using only the DHT.
    • An interface to that filesystem in fuse or nfs, to mount it.
  • What does it mean that the project was successful?
    • The filesystem's performance is sufficient for class- or upgrade-distribution.

Prior Art

  • Who are your competitors? What are they doing?
  • How is your work different?
  • List of publications related to your topic.

Key Ideas / Project Execution Plan

  • How will you approach the problem?
    • I'll build the filesystem from bottom to top:
      • abstraction to fuse, nfs or similar
      • fs-layer: c# library, with an ioctl-like interface
      • block-layer: abstract the dht to simple blocks/extends variable in size
      • dht-layer: use the DHT
    • All the BRN-magic is done in the DHT, so i'll try to build a clever block structure with some caching to improve everything's speed.
  • On which contributions of others do you depend on?

Project Log

  • What you have done so far?
    • Define some Interfaces (not fixed yet).
    • Implement a DHT interface localy (not distributed).
    • Implement the Blocklayer.
      • hardcopys on blocklayer
    • Implement Direcorys:
      • openDir
      • mkdir
      • rmdir
      • ls
      • close
      • chdir
      • pwd
    • Implement Files
      • openFile
      • unlink
      • read
      • write
      • truncate
      • close
    • Implement Fuse Frontend
    • first prototype
  • What You plan to do next?
    • fix bugs
    • push performance to its limits