bodems

shower thoughts and ideas

User Tools

Site Tools


projects:library

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
projects:library [2017/02/13 16:50]
bodems
projects:library [2020/04/16 06:37] (current)
Line 1: Line 1:
 ===== Distributed e-book library ===== ===== Distributed e-book library =====
  
-Access to information is a human right. The idea is to establish a distributed federated e-book library system. Each library has it's own database. When two libraries are linked together, they exchange their databases. The databases only store metadata, like titles, tags, language and file location. For storage a distributed file system should be used. The file system should be fault-tolerant and avoid duplications. The database also should avoid duplications, so that each book is only once in the global database.+Access to information is a human right. The idea is to establish a distributed federated e-book library system. Each library has it's own database. When two libraries are linked together, they exchange their databases. The databases only store metadata, like titles, tags, language, checksum and (global and local) file location. For storage a distributed file system should be used. The file system should be fault-tolerant and avoid duplications. The database also should avoid duplications, so that each book is only once in the global database.
  
 ==== Features ==== ==== Features ====
   * Easy accessable webinterface   * Easy accessable webinterface
   * distributed file system   * distributed file system
 +    * IPFS? Bittorrent?
   * federation: databases can be linked together   * federation: databases can be linked together
     * filtering ("I only want books about topic x", etc.)     * filtering ("I only want books about topic x", etc.)
Line 11: Line 12:
     * Web of trust, signed database entries     * Web of trust, signed database entries
   * tags, categories languages   * tags, categories languages
-  * each book only once in the global database+  * "Channels" for upstream/downstream¬†
 +  * each book/journal/paper/file only once in the global database
   * search engine   * search engine
  
 ==== Name ==== ==== Name ====
 I suggest the name "Alexandria", called after the Ancient Library of Alexandria. I suggest the name "Alexandria", called after the Ancient Library of Alexandria.
 +
 +
 +==== Architecture ====
 +
 +=== Backend ===
 +  * Database
 +  * Links to other Backends
 +  * Links to storage systems
 +      * sends instructions to storage systems
 +        * is the requested file locally available?
 +            * yes => provide link
 +            * no => instruct storage system to download it via torrent, provide link
 +      * knows how much storage is available at every system
 +      * select a suitable storage system for downloading files
 +      * knows at what storage system each file is stored
 +
 +== Database ==
 +  * file name
 +  * magnet link
 +    * can be used for identification, but it's SHA1, so broken
 +  * metadata
 +      * title
 +      * language
 +      * author
 +      * tags
 +      * "Channels", "Subchannels", "Metachannels"
 +      * etc.
 +
 +=== Frontend ===
 +  * Webinterface
 +  * API
 +  * search engine
 +  * reading in browser
 +  * converting to other formats (like calibre does)
 +  * queries backend and provides download links to storage
 +  * Administration
 +  * User accounts
 +    * users can generate downstream-links to there own backend
 +    * trusted users can edit the database and provide new files
 +    * bookmarks
 +    * RSS
 +    * personal dashboard
 +    * social networking
 +
 +=== Storage ===
 +  * multiple storage systems per backend
 +  * provides files via http(s) and torrent
 +  * receives instructions from backend to download files via torrent
 +  * when storage is full:
projects/library.1487004649.txt.gz · Last modified: 2020/04/16 06:37 (external edit)