Мир во власти p2p. Часть 1

Этот пост, похоже, придётся начинать с общего места. В предыдущем я «великодушно» пообещал рассказать о peer-to-peer (p2p) технологии. Однако тема эта на сегодняшний день просто неимоверно популярна. Ведь сегодня даже те, кто не подозревают о существовании p2p, всё равно о ней говорят. Я имею в виду пользователей ICQ, Skype и многочисленных файлообменных систем, подобных Gnutella, BitTorrent, Kazaa, а до недавнего прошлого и Napster.
Грош бы мне была цена как пользователю Интернета, и как блоггеру, если бы я принялся излагать тонкости работы peer-to-peer («ровня к ровне») сетей. Хотя некоторые воспринимают отсылки как грубость, я всё же посоветую любопытствующим обратиться к более авторитетным ресурсам, с чьей помощью можно составить себе достаточно полное представление о работе «одноранговых» (=peer-to-peer) сетей. Я же сосредоточусь на принципиальных моментах. Итак…
Начнём с того, что Интернет со дня своего появления (впрочем, как и по сей день) основывается на централизованной сетевой архитектуре. Иными словами, Сеть существует исключительно благодаря «узлам»-серверам независимо от присутствия в сети клиентов. В свою очередь, p2p – это сетевая технология, подразумевающая, грубо говоря, децентрализованную сеть со множеством равноправных узлов (peer), выполняющих функции и сервера и клиента. Массив информации может быть загружен из разных источников, а клиент в процессе «закачки» сам становится сервером, то есть источником данных и каналом их доставки. Соответственно, чем популярнее файл, тем быстрее он может быть доставлен: больше машин обеспечивают большую производительность сети и больше доступных фрагментов целого файла. Иными словами, принцип работы p2p-системы предполагает, что пользователь является одновременно и поставщиком информации или ресурсов для её хранения и распространения, предоставляя их в общее пользование.
Аналогичный принцип реализован и в целом классе программных и веб-приложений, которые позволяют совместно использовать распределенные ресурсы (дисковое пространство, файлы, вычислительные ресурсы, пропускную способность и т.д.). Тим О'Райли в статье «Что такое Web 2.0» назвал такие приложения сервисами с «архитектурой взаимодействия» (иди «партнёрской архитектурой»). Начиная с Nepster, все p2p-проекты работали по аналогичной схеме, что позволяло им обогащать свои базы данных пользовательской информацией автоматически (ей просто нужно делиться в процессе работы). По мысли О'Райли, такая удачная архитектура во многом определила популярность и успех не только файлообменных систем, но и open-source-проектов, в которых p2p реализовано в технологии параллельного программирования. «Даже большая часть самой инфраструктуры веба - включая Linux, Apache, MySQL и Perl, PHP или Python - обязана P2P-методам открытых исходников, которые сами по себе есть примеры результатов коллективной работы, возможной благодаря сети интеллектуальной деятельности».
Существует много областей, где успешно применяется p2p. Файлообменные сети (file-sharing) и службы сообщений самые популярные, но при этом, пожалуй, самые банальные способы её использования. Более продвинутые варианты p2p-приложений с успехом применяются в системах распределённых вычислений (проект SETI@Home, использующий вычислительный потенциал миллионов пользовательских машин), в поисковых системах (InfraSearch), а также для резервного копирования данных в корпоративных локальных сетях (программный инструмент HiveCache). Отдельного внимания заслуживают рассматриваемые технологии в приложении к так называемым сетям групповой работы (P2P Groupware). Причём, на мой взгляд, настолько заслуживают, что хотелось бы посвятить этому отдельный пост.
Говорить о программных продуктах, основанных на p2p-принципе можно до бесконечности. В будущих записях я буду возвращаться к этой теме, однако предметно буду говорить лишь о тех приложениях, которые касаются существа организации совместной работы людей в Сети. В заключение же этой записи позволю себе вернуться к названию блога.
Если удалось отследить общую логику изложения (в этом и предыдущем постах), можно задать справедливый вопрос: ведь в случае с p2p речь идёт именно об открытом подходе к использованию ресурсов Сети, зачем же усложнять и вставлять это сокращение в словосочетание «Открытое обучение» в названии блога. Причин несколько. Все они значимы, с моей точки зрения. Во-первых, как я уже говорил, открытым обучением (образованием) называют зачастую системы, которые более определённо именуются «дистанционными». (У меня нет намерения вести блог в русле данной тематики просто потому, что ей посвящено достаточно большое количество Интернет-ресурсов, а в Сети точно уж есть люди, более сведущие в это проблематике, чем я). Таким образом, метка p2p – это уточнение, говорящее, что мне в большей степени интересно открытое обучение в том смысле, которое в него вкладывают разработчики и идеологи ресурсов, подобных «Wikipedia» и «Connexions» (см. предыдущий пост).

Во вторых, p2p-подход в последние годы стал настолько распространённым, что его применение «грозит» изменить не только Интернет-технологии, но и многие виды социальных практик (от связанных с производством и финансами, до политики и обучения). Впрочем, разговор об этих масштабных трансформациях ещё впереди. И в первую голову, меня будет интересовать вопрос о приложении рассматриваемых идей и инструментов с точки зрения применения их для обучения (=самообучения) Интеренет-пользователей.

Конечно, меньше всего хотелось бы "открывать здесь Америку", но делать это придётся – причём в буквальном смысле. Поэтому для начала разберемся со всем, что наработано в этой области. Посмотрим, какой опыт имеется на этот счёт в «загнивающем капиталистическом обществе», и насколько это применимо к российской действительности.

Комментариев нет:

Отправить комментарий