p2p сеть для книгообмена.
Jun. 8th, 2007 03:44 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Я тут подумал, что требования к peer-to-peer протоколу для работы с электронными книгами сильно отличаются от требований к протоколу для разадчи multimedia, под которые заточены всякие ed2k и bittorrent.
Если музыка и фильмы это, как правило, немного больших файлов, и возможность распределения нагрузки по раздаче является существенной, то электронная библиотека - это много-много (десятки тысяяч) относительно маленьких файлов.
Причем начиная с того момента, как у человека образовалась эта библиотека, дальнейшиф траффик очень маленький - новинки, исправления опечаток и т.д.
С другой стороны, мультимедиа-файлы обычно редактированию конечным пользователем не поддаются. А вот опечатки в электронной книге может исправлять любой.
Соответвтвенно, для синхронизации изменений в электронных библиотеках (если предположить что на начальный момент участия в p2p сети каждый участник обзавелся копией библиотеки на момент вступления, например выкачав ежегодный снапшот из традиционных p2p),
гораздо больше подходят такие средства как rsync и unison.
Эти средства позволяют поддерживать в консистентном состоянии сколько угодно мирроров одной и той же коллекции книг с минимальным количеством траффика. При этом если любой пользователь исправит опечатку, это исправление расползется по всем хостам сети.
Кстати, если кому-то жалко места на диске, он вполне может синхронизировать у себя не всю библиотеку, а определенные жанры или определенных авторов. Для этого нужна только соответствующая структура каталогов.
Злесь, правда, есть такая тонкость, что необходима какая-то система учета доверия к пользователям. А то в сети заведутся обязательно гады, которые будут книги портить. Впрочем, формат FB2 легко защищается электронной подписью на базе xmldsig. При этом файл подписи можно положить рядом, чтобы не мешал читалкам. Тогда если при синхронизации приехали изменения к существующему файлу, можно посмотреть, кто под ними подписался, и, в зависимости от этого, либо сразу включить в основной архив, или оставить до ревизии владельцем данной копии, который, может быть, потом и своей подписью под этими изменениями подпишется. Новые книги, ранее в библиотеке отсутствовавшие, можно принимать и без подписи.
Если музыка и фильмы это, как правило, немного больших файлов, и возможность распределения нагрузки по раздаче является существенной, то электронная библиотека - это много-много (десятки тысяяч) относительно маленьких файлов.
Причем начиная с того момента, как у человека образовалась эта библиотека, дальнейшиф траффик очень маленький - новинки, исправления опечаток и т.д.
С другой стороны, мультимедиа-файлы обычно редактированию конечным пользователем не поддаются. А вот опечатки в электронной книге может исправлять любой.
Соответвтвенно, для синхронизации изменений в электронных библиотеках (если предположить что на начальный момент участия в p2p сети каждый участник обзавелся копией библиотеки на момент вступления, например выкачав ежегодный снапшот из традиционных p2p),
гораздо больше подходят такие средства как rsync и unison.
Эти средства позволяют поддерживать в консистентном состоянии сколько угодно мирроров одной и той же коллекции книг с минимальным количеством траффика. При этом если любой пользователь исправит опечатку, это исправление расползется по всем хостам сети.
Кстати, если кому-то жалко места на диске, он вполне может синхронизировать у себя не всю библиотеку, а определенные жанры или определенных авторов. Для этого нужна только соответствующая структура каталогов.
Злесь, правда, есть такая тонкость, что необходима какая-то система учета доверия к пользователям. А то в сети заведутся обязательно гады, которые будут книги портить. Впрочем, формат FB2 легко защищается электронной подписью на базе xmldsig. При этом файл подписи можно положить рядом, чтобы не мешал читалкам. Тогда если при синхронизации приехали изменения к существующему файлу, можно посмотреть, кто под ними подписался, и, в зависимости от этого, либо сразу включить в основной архив, или оставить до ревизии владельцем данной копии, который, может быть, потом и своей подписью под этими изменениями подпишется. Новые книги, ранее в библиотеке отсутствовавшие, можно принимать и без подписи.
no subject
Date: 2007-06-08 12:10 pm (UTC)Всякие pdf/djvu/chm больше похожи на multimedia
no subject
Date: 2007-06-08 12:29 pm (UTC)(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2007-06-08 02:20 pm (UTC)no subject
Date: 2007-06-08 12:11 pm (UTC)no subject
Date: 2007-06-08 07:07 pm (UTC)BOOK - только художественные тексты (DOS-TXT.RAR) 1.3 мег в сутки;
BOOK-DOP - художественные (из тех, что не пользуются массовым спросом), наука, науч.поп, учебники, справочники, критика, стихи. (TXT, DOC, HTML, DJVU) 20 мег в сутки;
957SHEMA - литература по радиоэлектронике: Радиоэлектроника; Кибернетика; Общая радиотехника; Электроника; Электороакустика; Электрическая связь; Телевидение; Радиолокация; Автоматика и телемеханика; Вычислительная техника; Оргтехника (пособия, учебники, справочники) (TXT, DOC, HTML, DJVU) до 6 мег в сутки (трафик нерегулярный);
957HELP - пособия самодельщикам; автомобили; мебель; дом, дача, приусад. участок; оружие, охота, рыбалка; поделки (Сделай сам); полезные программы-справочники; Фото и киносъемка; худож.промыслы; кулинария (TXT, DOC, HTML, DJVU) до 8 мег в сутки (трафик нерегулярный);
(no subject)
From:no subject
Date: 2007-06-08 12:19 pm (UTC)no subject
Date: 2007-06-08 12:23 pm (UTC)При этом, если 2 пользователя одновременно исправят 2 опечатки в одном файле - rsync изменения одного из них убьёт. Нужно интеллектуальное слияние, например, система контроля версий.
no subject
Date: 2007-06-08 12:37 pm (UTC)(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2007-06-08 12:23 pm (UTC)no subject
Date: 2007-06-08 12:31 pm (UTC)И репозитарии для управления всем этим.
no subject
Date: 2007-06-08 02:04 pm (UTC)Первым делом про них и вспомнил. Вторым делом подумал, что на практике и для централизованых (вроде CVS) репозитариев своя ниша найдётся — в разных странах разное законодательство.
no subject
Date: 2007-06-08 02:15 pm (UTC)no subject
Date: 2007-06-08 12:23 pm (UTC)ЗЫ я вот думаю, что хорошо бы объеденить svn или подобную программу с генератором текстовых файлов из бинарных, чтоб в том же svn хранить бинарные файлы, но получать из него diff'ы в txt -- весьма удобно было бы хранить так в организациях doc, xls (используя Ваш catdoc), odf, ...
Или такое уже есть?
no subject
Date: 2007-06-08 12:38 pm (UTC)no subject
Date: 2007-06-08 01:49 pm (UTC)А вот насчет выделения "нескольких основных серверов" я решительно против. Каждый читатель (владелец библиотеки) должен решать сам за себя. Если он какому другому читателю доверяет, так это лично он лично ему доверяет.
no subject
Date: 2007-06-08 01:51 pm (UTC)А специфические аналоги diff для xml существуют.
(no subject)
From:no subject
Date: 2007-06-08 12:26 pm (UTC)Нечто подобное реализовано в gentoo для конфигфайлов.
no subject
Date: 2007-06-08 12:41 pm (UTC)Ыыыыыы. Не надо!
no subject
Date: 2007-06-09 09:06 am (UTC)(no subject)
From:no subject
Date: 2007-06-08 12:54 pm (UTC)no subject
Date: 2007-06-08 01:01 pm (UTC)Я тоже сразу про darcs вспомнил.
no subject
Date: 2007-06-08 12:57 pm (UTC)Понятно, что сети это не вредит никак, а вот ее участнику - очень даже. Я, пожалуй, не буду принимать участие.
no subject
Date: 2007-06-08 01:47 pm (UTC)Хранение файловой базы на винте - шифрованное, траффик между системами - шифрованный. Тогда максимум, что смогут найти у тебя на винте, это непонятные шифрованные файлы.
Стандартное возражение, а сели тебе всунут в жопу паяльник, не катит в принципе.Если у тебя в жопе паяльник, то это означает, что наличие или отсутствие файлов на винте никакой роли уже не играет. С паяльником в жопе легко признаться в убийстве Кеннеди, в похищении трубки Сталина, в покушении на Путина, в производстве наркотиков и т.п.
* * *
У меня вообще есть парадоксальная мысль. Если всё равно могут прийти и трахнуть (за нелицензионный Линукс, за опечатку в налоговой накладной, за написание нелицензионного софта), то вообще не имеет смысла прятаться, шифроваться, покупать Винды, не воровать, быть честным и легальным. Всё равно засудят. Нужно или смириться в тем, что жизнь смертельна или искать нетехнических способов защиты (эмигрировать, повеситься, найти себе сильную крышу, переквалифицироваться в управдомы или бомжи и т.п.)
(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(осененно)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From: (Anonymous) - Date: 2007-06-09 02:14 pm (UTC) - Expand(no subject)
From:(no subject)
From:сеть? давайте делать Систему Распространения книг
Date: 2007-06-08 05:06 pm (UTC)Тремя руками за! Готов даже пожертвовать на создание такой системы значительную (относительно понятно) сумму.
Re: сеть? давайте делать Систему Распространения книг
Date: 2007-06-09 09:08 am (UTC)Потом библиотека это ни разу не блог. И большинство авторов давно покойные и в вознаграждении увы, не нуждаются.
угу, есть такое. болею этим.
From:Re: угу, есть такое. болею этим.
From:нельзя объять необъятное
From:Re: нельзя объять необъятное
From:угу. красивая проблема. но это застой.
From:Re: угу. красивая проблема. но это застой.
From:Вы правы. Социальная, но...
From:Re: Вы правы. Социальная, но...
From:может и так. Если считать неподъемной задачу.
From:Re: может и так. Если считать неподъемной задачу.
From:спасибо. ценное замечание
From:оперативная + консервативная подсистемы
From:Re: сеть? давайте делать Систему Распространения книг
From:все относительно 8)
From:Пиринг как новый вариант сетевой библиотеки
Date: 2007-06-08 08:50 pm (UTC)Re: Пиринг как новый вариант сетевой библиотеки
Date: 2007-06-09 09:14 am (UTC)Re: Пиринг как новый вариант сетевой библиотеки
From:Re: Пиринг как новый вариант сетевой библиотеки
From:Re: Пиринг как новый вариант сетевой библиотеки
From:Re: Пиринг как новый вариант сетевой библиотеки
From:Re: Пиринг как новый вариант сетевой библиотеки
From:Re: Пиринг как новый вариант сетевой библиотеки
From:Gopher или новое - хорошо забытое старое?
Date: 2007-06-08 09:41 pm (UTC)Re: Gopher или новое - хорошо забытое старое?
Date: 2007-06-09 09:45 am (UTC)Я сейчас рассматриваю другую задачу - предположим, что у каждого есть локальная копия библиотеки. Но в этой библиотеке регулярно находятся и исправляются опечатки, появляются новые поступления и так далее. Хочется сделать, чтобы эти улучшения распространялись по всем локальным копиям.
Проблема больше похожа на задачу дистрибуции security updates к софту, чем на поиск информации в интернете.
Разница в том, что у софта есть мейнтейнер, который утверждает изменения, и для каждой софтины (а то и для всего дистрибутива) есть централизованная точка, откуда исправленная версия начинает распространяться. В ситуации с библиотеками хотелось бы этого избежать.
В некоторых случаях мейнтейнером может выступать автор. Вспомним высказывание Дивова на приснопамятном круглом столе - что его больше всего раздражает, что выложили кривой скан его книги, а его не уведомили об этом и не предложили выдать более правильный текст. Но только в некоторых. Могут быть авторы, которые не хотят чтобы полные копии их текстов циркулировали в сети. А лично я считаю, что права отозвать единожды опубликованную информацию у автора не должно быть. Слово не воробей - вылетит не поймаешь.
Re: Gopher или новое - хорошо забытое старое?
From:no subject
Date: 2007-08-30 07:26 am (UTC)