Протокол федерации Google Wave

Сетевой протокол

Wave Federation Protocol (ранее Google Wave Federation Protocol ) — открытый протокол , расширение Extensible Messaging and Presence Protocol (XMPP), который используется в Apache Wave . Он предназначен для связи в режиме, близком к реальному времени, между компьютерными серверами совместной работы Wave.

Обзор

Протокол Wave Federation Protocol, который в настоящее время находится в стадии разработки, представляет собой открытый протокол , призванный соответствовать открытости протокола электронной почты, чтобы волны могли заменить электронную почту в качестве доминирующей формы интернет-коммуникации. [1] [2] [3] [4] [5]

Доступность

Поскольку протокол открыт, любой может стать поставщиком волн и делиться волнами с другими. Как и в случае с электронной почтой , общение возможно независимо от поставщика. Например, организации могут выступать в качестве поставщиков волн для своих членов, отдельный человек может запустить частный сервер волн для одного пользователя или членов семьи, а поставщик интернет-услуг может запустить службу волн как еще одну интернет-службу для своих пользователей в качестве дополнения к электронной почте, IM , FTP и т. д. В этой модели Google Wave является одним из многих поставщиков волн. [4] [5]

Исходный код Java для «Google Wave Federation Prototype Server» был опубликован в репозитории Mercurial в июле 2009 года под лицензией Apache License 2.0. [6] [7]

Рамки

Некоторые функции Extensible Messaging and Presence Protocol, унаследованные протоколом федерации волн, включают обнаружение IP-адресов и номеров портов с использованием записей SRV системы доменных имен (DNS) , а также аутентификацию и шифрование соединений TLS. Транспорт XMPP шифрует операции на транспортном уровне. Таким образом, он обеспечивает криптографическую безопасность только между серверами, подключенными напрямую друг к другу. Дополнительный уровень криптографии обеспечивает сквозную аутентификацию между поставщиками волн с использованием криптографических подписей и сертификатов, что позволяет всем поставщикам вейвлетов проверять свойства операции. Таким образом, поставщик волн ниже по течению может проверить, что поставщик волн не подделывает операции вейвлетов. Он не должен иметь возможности ложно утверждать, что операция вейвлета исходит от пользователя другого поставщика волн или что она исходит из другого контекста. Это решает ситуацию, когда два пользователя из разных, заслуживающих доверия поставщиков волн являются участниками вейвлета, размещенного на вредоносном поставщике. Протокол требует, чтобы каждый участник подписывал операции своего пользователя своим собственным сертификатом. Подписи всех операций, пересылаемых хостом, будут оцениваться участниками. Это делается для того, чтобы помешать злонамеренным хостам изменять или подделывать содержимое сообщений от пользователя других служб. Все подписи и проверки выполняются поставщиками волн, а не клиентским программным обеспечением конечных пользователей. [4] [5]

Все волны и вейвлеты (дочерние волны) идентифицируются по глобально уникальному идентификатору волны, который представляет собой доменное имя и строку идентификатора. Доменное имя идентифицирует поставщика волн, где возникла волна. Волны и вейвлеты размещаются поставщиком волн создателя. Вейвлеты в одной и той же волне могут размещаться разными поставщиками волн. Однако пользовательские данные не объединяются, т. е. не передаются другим поставщикам волн. Также возможны частные ответные вейвлеты, о которых другие участники не знают и не имеют доступа. Если частный вейвлет отправляется между пользователями одного и того же поставщика волн, он не объединяется независимо от того, где размещена родительская волна. [4] [5]

Параллельная федерация

Провайдер волн управляет службой волн на одном или нескольких сетевых серверах. Центральными частями службы волн являются хранилище волн, в котором хранятся операции вейвлетов, и сервер волн, который разрешает операции вейвлетов путем операционного преобразования и записывает и считывает операции вейвлетов в хранилище волн и из него. Обычно служба волн обслуживает волны пользователей провайдера волн, которые подключаются к интерфейсу службы волн. В целях федерации служба волн делится волнами с участниками других провайдеров, взаимодействуя с серверами этих провайдеров волн. Копии вейвлетов распространяются среди всех провайдеров волн, имеющих участников в данном вейвлете. Копии вейвлета у конкретного провайдера могут быть как локальными, так и удаленными. Мы используем этот термин для обозначения этих двух типов копий вейвлетов (в обоих случаях мы имеем в виду копию вейвлета, а не вейвлет). Представление волны может одновременно содержать как локальные, так и удаленные копии вейвлетов. [4] [5]

Исходный сервер волн отвечает за размещение и обработку операций вейвлета, отправленных локальными участниками и удаленными участниками от других поставщиков волн. Сервер волн выполняет управление параллелизмом, упорядочивая отправленные операции вейвлета относительно друг друга с помощью операционного преобразования. Он также проверяет операции перед их применением к локальному вейвлету. [4] [5]

Удаленные вейвлеты размещаются другими поставщиками, кэшируются и обновляются с помощью операций вейвлета, которые локальный поставщик получает от удаленного хоста. Когда локальный участник отправляет операцию вейвлета удаленному вейвлету, сервер волн пересылает операцию на сервер волн хостинг-провайдера. Затем преобразованная и примененная операция отражается обратно и применяется к кэшированной копии. [4] [5]

Службы Wave используют шлюзы федерации и компоненты прокси-сервера федерации для связи и обмена волнами с другими поставщиками волн. Шлюзы федерации передают локальные операции вейвлета, отправляют новые локальные операции вейвлета удаленным поставщикам волн любых других участников, выполняют запросы на старые операции вейвлета и обрабатывают запросы на отправку операций вейвлета. Прокси-сервер федерации передает удаленные операции вейвлета и является компонентом поставщика волн, который взаимодействует со шлюзом федерации удаленных поставщиков. Он получает новые операции вейвлета, отправленные ему другими поставщиками, запрашивает старые операции вейвлета и отправляет операции вейвлета другим поставщикам. [4] [5]

Смотрите также

Ссылки

  1. ^ Видео на YouTube
  2. ^ "Протокол федерации Google Wave". Архивировано из оригинала 2009-05-30 . Получено 2009-05-29 .
  3. ^ Хачман, Марк (28.05.2009). «Google переосмысливает электронную почту и документы с помощью Google Wave». www.pcmag.com . Получено 02.06.2009 .
  4. ^ abcdefgh "Архитектура федерации Google Wave - Протокол федерации Google Wave". Архивировано из оригинала 2013-03-30 . Получено 2009-06-05 .
  5. ^ abcdefgh "Протокол клиент-сервер Google Wave - Протокол федерации Google Wave". Архивировано из оригинала 2013-03-30 . Получено 2009-06-05 .
  6. ^ «Протокол федерации Google Wave и обновления с открытым исходным кодом».
  7. ^ «Архив Google Code — долгосрочное хранилище для хостинга проектов Google Code».
  • Домашняя страница протокола федерации Google Wave
  • Проект спецификации протокола
  • Протокольные документы Архивировано 31.05.2009 на Wayback Machine
Взято с "https://en.wikipedia.org/w/index.php?title=Протокол_федерации_Google_Wave&oldid=1228835049"