Как стать автором
Обновить

Файл из интернета за несколько секунд? Это реально!

Время на прочтение 2 мин
Количество просмотров 7.3K
Первое и самое важное — ЭТО ТОЛЬКО ИДЕЯ!

Итак, представьте себе городскую локальную сеть. У многих пользователей этой сети есть интернет. И самое главное — пользование им (для примера возмем «скачку» файлов) не рационально.

Конечно есть пользователи, например как я, которые за время своей работы в интернете сохраняют какие-либо ссылки на файлы, а затем, купив скоростной безлимит, днем и ночью скачивают их. Но речь не о них. Что делать тем, пользователям, которые не могут даже этого себе позволить? (Здесь стоит упомянуть, что я с Дальнего Востока и цены на трафик, по сравнению с Москвой, у нас просто дикие)

Представляю вам программу, которая поможет избавить вас от этой проблемы.


Программа поделена на две части: серверную и клиентскую.

Клиентская часть:
  • Позволяет отправить заявку на скачку нужного пользователю файла
  • Позволяет регулировать поток трафика вручную или автоматически
  • Скачивает с интернета ту чать файла, которую определил сервер
  • Отправляет серверу готовую часть файла
  • Забирает с сервера готовый файл в указанную папку
  • и т.д.

Серверная часть:
  • Принимает заявки на скачку файлов (торренты, ed2k, p2p и т.д.)
  • Распределяет приоритет по скачиванию среди заявок (по рейтингу пользователей и т.д.)
  • Распределяет части скачиваемого файла по клиентам для дальнейшего скачивания с интернета
  • Собирает куски воедино
  • Кеширует готовые файлы
  • Раздает готовый файл всем клиентам, отправившим заявку
  • и т.д.

Таким образом получаем следующую схему:
  1. Пользователи устанавливаю себе клиента
  2. Настраивают в параметрах ту пропускную способность своего безлимита, которую готовы пожертвовать ради доброго дела
  3. Формируют заявку на файл и отправляют ее на сервер
  4. Сервер анализирует заявку, разбивает нужный файл по ссылкам на равные по объему (или определяемые по скорости клиента) части и отдает их на скачивание всем клиентам
  5. Клиент, скачав нужный блок файла, отдает его серверу, получает новую ссылку, скачивает, отдает и т.д.
  6. Сервер по кускам, полученных с клиентов собирает файл
  7. Если файл готов, кеширует его (вдруг еще кому-то понадобится) и отдает клиентам.
  8. И дальше все по новой...


И в итоге, например нужен какой-то фильм, программа, книга — качаем всем миром с итоговой скоростью несколько Тб/мин :) А в одиночку не каждый осилит скачку фильма в HDTV-качестве. А если у пользователя вообще только локальная сеть без выхода в интернет?

Плюсы такой программы очевидны. И самое главное — осталось ее только разработать. Я же вам вынес на суд только идею. Сам я ее реализовать не смогу, поэтому и прошу энтузиастов помочь.

Если идея не нова — подскажите пожалуйста аналоги. Я вам буду очень признателен.

P.S.
Простите за «пацанский» стиль изложения мыслей.
Помидорамо кидать в меня не надо (как и гадить в карму).
Теги:
Хабы:
-4
Комментарии 117
Комментарии Комментарии 117

Публикации

Истории

Ближайшие события

Московский туристический хакатон
Дата 23 марта – 7 апреля
Место
Москва Онлайн
Геймтон «DatsEdenSpace» от DatsTeam
Дата 5 – 6 апреля
Время 17:00 – 20:00
Место
Онлайн