Pull to refresh

Протокол передачи данных, как p2p, но только умнее

Reading time2 min
Views2.1K
Всем привет, это мой первый пост на хабре. У меня появилась задумка, и хочется услышать мнение хабраюзеров, возможно уже было, но за длительное время в качестве читателя хабра такой идеи вроде не встречал.

В общем суть такова. Многие знают устройство peer-to-peer сетей и принцип их основания, если нет то об этом подробно написано в вики. Кусочки информации передаются с одного ПК на другой.

Что если создать протокол передачи данных на подобие p2p но только под браузер? Объясню на примере, мы имеем фильм, конечно же мы его сами сняли, есть сайт (некое подобие youtube), мы заливаем фильм на сайт — сайт обрабатывает видео сохранет на сервере. Далее фильм становиться свободным для доступа и любой желающий может его посмотреть, для этого достаточно зайти на сайт, скачать оттуда программку которая после установки создаст некий буфер на жестком диске, в котором будут храниться данные. Вот, человек установил программу, и начал смотреть наш фильм — данные ему в начале цикла передаются с сервера — т.к. больше неоткуда, потому что, если слишком много человек сразу подсядет смотреть фильм, то автор фильма, если бы использовал технологию p2p просто бы не успел раздать видео с такой скоростью чтобы обеспечить несколько человек просмотром фильма без задержек.

И так. Сервер отдает данные пользователю(ям), а так как они установили программу которая делает буфер на харде для хранения данных и приняли лицензионное соглашение, позволяющее сайту использовать этот буфер и интернет соединение для дальнейших целей, то кусочки фильма сохраняются в этот самый буфер и будут там находиться (буфер — % ограничение от объема диска, когда он начинает заканчиваться — старые данные удаляются, заменяясь новыми).

Таким образом, насейвив несколько кусочков видео множеству юзеров мы получим централизованную p2p сеть, которой будет рулить основной сервер. Следующий человек который захочет посмотреть наш фильм онлайн… в браузере заходит на сайт инсталирует ту програмку которая создает буфер на харде и жмет кнопочку плей, в это время юзеры которые посмотрели фильм раньше и в буфере которых остались кусочки фильма — отдают их юзеру который смотрит фильм. Сайт в раздаче фильма уже не участвует, а только следит за процессом и в случае недоступности файла — подгружает данные с сервера.

Что мы получаем в итоге:
Затраты на хостинг для сайта с видео — малы, по сравнению с тем если бы сервер отдавал каждому юзеру полный фильм
Юзер получает возможность посмотреть фильм онлайн, не теряя времени на скачку (как это бывает при использовании torrent — сначала качаешь, потом смотришь)

Да я знаю что нуб в p2p сетях, серверной части, русском языке и то что все это дело труднореализуемо, но черт возьми, это классно! Для наглядности хоть как то реализовал приблизительную схему.

image

Такое можно использовать на посещаемых сайтах, на которых всегда есть неплохой онлайн на некоторых популярных видео роликах, либо аудио сайтах… в общем на проектах у которых весь тип контента можно запустить/прослушать/посмотреть в браузере.

Написал как смог, точнее сформулировать мысль ну не как просто. Как вы думаете, перспективно ли это? Имеет ли право на жизнь?
Опубликовал, ушёл спать.
Tags:
Hubs:
Total votes 19: ↑13 and ↓6+7
Comments10

Articles