evermesh — s/ high load / p2p /g
DESCRIPTION
TRANSCRIPT
EverMeshмировое господство бесплатно
s/ high load / p2p /g
попытка разобраться▪ почему раньше было всё хорошо
▪ почему сейчас стало всё плохо
▪ как мог бы выглядеть идеал
▪ какими шагами к нему двигаться
Интернет(ы) — TCP/IP▪ разработан по заказу DARPA
▪ создан полностью p2p, отказоустойчивым
▪ абсолютно открытые протоколы
▪ успешно коммерциализирован
▪ доступен 1.67 миллиарду людей
Usenet, E-mail —NNTP, UUCP, SMTP
▪ спроектированы для надёжной работы побезнадёжному dial-up
▪ неограниченные объёмы информации
▪ неограниченное число пользователей
▪ возникновение глобальных перегрузокпрактически невозможно
World Wide Web▪ хотели как лучше — получилось как всегда
▪ искусственные центры массового скопленияпользователей
▪ сверхвысокие нагрузки — тяжело подняться иостаться на плаву
▪ косность на всех уровнях, от технологий добизнес–моделей
проблемаURL=URN=URI
▪ Uniform Resource Locator, Name, Identifier
▪ три разных сути ресурса
▪ в вебе — традиционно жёстко, порочноидентичны друг другу
▪ сравните с IP:hostname–DNS–CNAME–IP–BGP–OSPF–ARP–MAC
проблемацентрализации
▪ бизнес требует посещаемости и полногоконтроля
▪ нарушаются основные парадигмы сети
▪ пользователи сильно зависят от отдельныхкомпаний
▪ искусственные центры перегружают и сервера,и каналы
проблема Presentationв Web 2.0
▪ авторам сложно предлагать данные вжелаемом виде
▪ пользователям сложно настроить желаемыйвид
▪ web services в теории должны решатьпроблему
▪ на практике рабочих, открытых WS почти нет
▪ • мешают отсутствие стандартов и
сложность коммерциализации
проблема “seriousbusiness”
▪ подавляющий процент коммерции — рекламаи продажи
▪ бизнес–модели 19 века, ставка напривлечение масс
▪ традиционная боязнь чужих нововведений
▪ традиционно фанатичная закрытость
проблема массовойидеологии
▪ 2001–2009: знакомство 2/3 населения планетыс IT
▪ 2010–2019: выход в интернет 99% землян
▪ для них IT — тормозные сайты, захламленныерекламой
▪ они не зададут вопросов, просто привыкнут
проблема copyright▪ рекламные бизнес-модели против свободного
распространения информации
▪ технические, коммерческие, идеологическиепрепоны кульминируются в законах
▪ файлообменные сети приравняли «p2p» ккоммунизму и преступности
▪ carriers используют ситуацию для упраздненияnet neutrality
решения▪ популярные пути обхода высоких нагрузок
▪ открытые сети p2p
▪ синергия технологий: p2p в браузере
обход высокихнагрузок
▪ локальный load-balancing кластер
▪ децентрализация по нескольким ДЦ,глобальный LB
▪ распределённая международная система
▪ покупка услуг CDN или строительство своейсети
▪ весь смысл — подойти ближе к получателю
обмен файлами вp2p-сетях
▪ 30-90% всего мирового трафика
▪ очень слабая централизация (для hybrid p2p)
▪ минимальные нагрузки
▪ • p2p-нагрузка на каналы — полезное явление
p2p и edge-to-edge▪ Usenet — edge-to-edge система, солидная доля
файлообменного трафика
▪ кэшируя p2p-трафик, провайдеры практическиделают его edge-to-edge
▪ популярный раньше HTCP — пример рабочегоedge-to-edge для HTTP
p2p в браузере▪ для начала достаточно встроенного веб-
сервера
▪ • Opera Unite, Firefox Plain Old Webserver
▪ Flash 10 имеет встроенный p2p, естьбиблиотека для Silverlight 2
▪ резидентные приложения, ускоряющие любыезагрузки
▪ • BitTorrent DNA
технологиивсё только начинается
технологии–выручалки▪ IPv6 — NAT отменяется, Skype отмирает
▪ SCTP — много маленьких удобств
▪ HTML5 — локальное хранилище
▪ Client–side server–side JS
▪ XMPP message passing в браузере
▪ Flash, Silverlight
современный p2p▪ данные — TCP или тонко тюненный UDP
▪ поиск — гибридные решения или DHT
▪ безопасность — шифрование и крипто-хэширование
▪ анонимность — onion routing, Tor, Freenet
Distributed HashTables
▪ семейство несложных алгоритмов поиска имаршрутизации
▪ масштабирование без ограничений
▪ гарантированная, быстрая доставка
▪ • потенциально — со скоростью IP или даже
быстрее
▪ работает в вебе: Coral CDN, Amazon,memcached
ресурсы и URIs▪ отделение от местонахождения (URL) и имени
(URN)
▪ SHA-UUID — безопасное, глобально-уникальное хэширование
▪ URL абстрагируется в DHT
▪ URN и другие мета-данные — как отдельныйфайл в DHT
▪ идея не нова: RSS GUIDs, RFC 4122, urn:uuid ватрибутах HTML
структуризацияресурсов
▪ по компонентам и версиям
▪ для минимализации изменений идублирования
▪ для удобства точных ссылок
концепт EverHash▪ UUID-хэши для всего
▪ единый глобальный namespace
▪ • от отдельных «div» на странице до замены
EAN/UPC в жизни
▪ никакой необходимой централизации
пример uuid/p2p ввебе
▪ <a href="http://..." uuid="abcd...">
▪ ищем файл с метаданными по uuid в DHT,качаем по p2p
▪ в файле один или много uuidsнепосредственно данных
▪ ищем в DHT, качаем
▪ для небольших файлов метаданные могутбыть совмещены с данными для скорости
▪ полная обратная совместимость напереходный период
структуризацияинтерактивности▪ где-то тривиально
▪ • Twitter, сообщения в соцсетях легко
соотносятся с XMPP
▪ где-то непросто
▪ • там, где нужны быстрые, надёжные
транзакции
• например — в играх типа MMORPG
быстрые, массовыеглобальныетранзакции
▪ их не бывает
▪ они не нужны
▪ достаточно ultimately-consistent
▪ • практика Amazon Dynamo
p2p-транзакции▪ открытые протоколы вместо закрытых
сервисов
▪ жёсткая структуризация данных
▪ переопределение целостности в качествопредела
▪ определение парадигмы синхронизации
▪ всё это почти решено в DVCS, DistributedVersion Control Systems
mashups как view вMVC
▪ набирают обороты в enterprise
▪ • Open Mashup Alliance, EMML
▪ приходят к пользователям
▪ • Yahoo Pipes, Mozilla Ubiquity
▪ возвращают presentation layer в рукипотребителя
▪ • с большими технологическими дивидендами
концепт EverMash▪ замена традиционных интерфейсов (CLI/TUI,
GUI, Web2.0)
▪ авто-подстройка mashup-интерфейса по мереработы
▪ асинхронный, continuous workflow
▪ единый глобальный источник данных — P2P/DHT
коммерция▪ рост интенсивного развития
▪ переход от push-модели к pull-модели
▪ • от рекламы — к экспертно-аудированной
информированности
▪ продвижение Cloud/Grid/SaaS-решений ближек пользователям
▪ • аппаратные, программные решения,
закрытые приложения-клиенты
• открытые приложения с поддержкой и value-
added сервисами
идеология▪ открытый доступ к открытой информации
▪ стандартизация и распространение ws- иmashup-протоколов
▪ представление информации в руках упользователя
концепт EverMesh▪ полное отсутствие центральных агрегаторов
▪ связи пользователя определяются любымижелаемыми критериями
▪ • местоположение, социальные связи,
спонтанный интерес
▪ высокие нагрузки — в прошлом :-)
в заключениерасставляя точки над «ы»
когда ждатьпришествия?
▪ все кусочки пазла уже есть и работают
▪ в академической среде успешно работаютнесколько цельных проектов
▪ критическая масса давно набрана
▪ когда вы перестанете поддерживать ie6? :)
что делать?▪ понимать, что мы 20 лет забиваем гвозди
микроскопами
▪ каяться, принять и исповедывать принципыоткрытости в IT
▪ когда есть хорошая идея, но нет денег,подумать, как её можно запустить на базе p2p,опубликовать всё надуманное
▪ внедрять p2p-технологии, даже если покакажутся лишними
▪ • кстати, OpenID — это тоже по-своему p2p
на что надеяться?▪ Google Wave, Opera Unite — принципиально
значимые события
▪ • две крупные компании проталкивают p2p в
веб
• пока неуклюже, но главное — желание
▪ прорывы в науке
▪ • пока мы изобретаем велосипеды, они
трудятся над межгалактическим
гипердрайвом
• алгоритмы глобального p2p/meshing хоть и
несложны, но требуют свода теории и
экспериментов
что же будет?всё будет хорошо :)
wiki.cenkes.org/EverMesh