Протокол Wave Federation Protocol (ранее Google Wave Federation Protocol ) - это открытый протокол , расширение Extensible Messaging and Presence Protocol (XMPP), которое используется в Apache Wave . Он предназначен для ближнего реального времени связи между компьютерной поддержкой совместной работы волновых серверов.
Обзор
Протокол волновой федерации, все еще находящийся в разработке, представляет собой открытый протокол, который предназначен для параллельной открытости протокола электронной почты, поэтому волны могут вытеснить электронную почту как доминирующую форму Интернет-коммуникации. [1] [2] [3] [4] [5]
Доступность
Поскольку протокол открыт, любой может стать поставщиком волн и делиться волнами с другими. Как и по электронной почте , общение возможно независимо от провайдера. Например, организации могут работать в качестве провайдеров волн для своих членов, отдельные лица могут запускать частные серверы волн для одного пользователя или членов семьи, а интернет-провайдер может запускать сервис волн в качестве другого интернет-сервиса для своих пользователей в качестве дополнения к электронная почта, IM , FTP и т. д. В этой модели Google Wave является одним из многих поставщиков волн. [4] [5]
Исходный код Java для «Прототип сервера Google Wave Federation» был выпущен в репозитории Mercurial в июле 2009 года под лицензией Apache License 2.0. [6] [7]
Фреймворк
Некоторые функции расширяемого обмена сообщениями и протокола присутствия, унаследованные протоколом волновой федерации, включают обнаружение IP-адресов и номеров портов с использованием записей SRV системы доменных имен (DNS) , а также аутентификацию TLS и шифрование соединений. Транспорт XMPP шифрует операции на транспортном уровне. Таким образом, он обеспечивает только криптографическую безопасность между серверами, подключенными напрямую друг к другу. Дополнительный уровень криптографии обеспечивает сквозную аутентификацию между поставщиками волн с использованием криптографических подписей и сертификатов, позволяя всем поставщикам вейвлетов проверять свойства операции. Следовательно, нижестоящий поставщик волн может проверить, не подделывает ли он операции с вейвлетами. Он не должен иметь возможность ложно утверждать, что операция вейвлета была инициирована пользователем на другом провайдере волн или что она была инициирована в другом контексте. Это решает ситуацию, когда два пользователя из разных надежных провайдеров волн являются участниками вейвлета, размещенного на вредоносном провайдере. Протокол требует, чтобы каждый участник подписывал операции своего пользователя собственным сертификатом. Подписи всех операций, отправленных хостом, будут оцениваться участниками. Это делается для того, чтобы злоумышленники не могли изменять или подделывать содержимое сообщений от пользователя других служб. Все подписи и проверки выполняются поставщиками волн, а не клиентским программным обеспечением конечных пользователей. [4] [5]
Все волны и вейвлеты (дочерние волны) идентифицируются глобально уникальным идентификатором волны, который представляет собой доменное имя и строку идентификатора. Доменное имя идентифицирует провайдера волны, от которого произошла волна. Волны и вейвлеты размещаются поставщиком волн создателя. Вейвлеты в одной волне могут размещаться разными поставщиками волн. Однако пользовательские данные не объединяются; т. е. не передается другим поставщикам волн. Также возможны вейвлеты с частным ответом, о которых другие участники не знают или не имеют доступа. Если частный вейвлет отправляется между пользователями одного и того же поставщика волн, он не объединяется независимо от того, где размещается родительская волна. [4] [5]
Параллельная федерация
Провайдер волн управляет сервисом волн на одном или нескольких сетевых серверах. Центральными частями волнового сервиса являются волновое хранилище, в котором хранятся вейвлет-операции, и волновой сервер, который разрешает вейвлет-операции посредством операционного преобразования, а также записывает и считывает вейвлет-операции в и из волнового хранилища. Обычно волновой сервис обслуживает волны пользователей провайдера волн, которые подключаются к внешнему интерфейсу сервиса волн. В целях федерации сервис волн делится волнами с участниками от других провайдеров, связываясь с серверами этих провайдеров волн. Копии вейвлетов рассылаются всем поставщикам волн, у которых есть участники данного вейвлета. Копии вейвлета у конкретного провайдера могут быть локальными или удаленными. Мы используем этот термин для обозначения этих двух типов копий вейвлетов (в обоих случаях мы имеем в виду копию вейвлета, а не вейвлет). Волновое представление может одновременно содержать как локальные, так и удаленные копии вейвлетов. [4] [5]
Исходный волновой сервер отвечает за размещение и обработку вейвлет-операций, представленных локальными участниками и удаленными участниками от других поставщиков волн. Сервер волн выполняет управление параллелизмом, упорядочивая представленные операции вейвлета относительно друг друга с помощью операционного преобразования. Он также проверяет операции перед их применением к локальному вейвлету. [4] [5]
Удаленные вейвлеты размещаются у других провайдеров, кэшируются и обновляются с помощью вейвлет-операций, которые локальный провайдер получает с удаленного хоста. Когда локальный участник отправляет вейвлет-операцию удаленному вейвлету, волновой сервер пересылает операцию волновому серверу хостинг-провайдера. Затем преобразованная и примененная операция возвращается и применяется к кэшированной копии. [4] [5]
Сервисы Wave используют шлюзы федерации и компоненты прокси-сервера федерации для связи и обмена волнами с другими поставщиками волн. Шлюзы федерации обмениваются данными о локальных вейвлет-операциях, передают новые локальные вейвлет-операции удаленным провайдерам волн любых других участников, выполняют запросы на старые вейвлет-операции и обрабатывают запросы на отправку вейвлет-операций. Прокси-сервер федерации обменивается данными с удаленными вейвлет-операциями и является компонентом поставщика волн, который взаимодействует со шлюзом федерации удаленных поставщиков. Он получает новые операции с вейвлетами, переданные ему от других поставщиков, запрашивает старые операции с вейвлетами и отправляет операции с вейвлетами другим поставщикам. [4] [5]
Смотрите также
Рекомендации
- ^ Видео на YouTube
- ^ "Протокол федерации Google Wave" . Архивировано из оригинала на 2009-05-30 . Проверено 29 мая 2009 .
- ^ Хахман, Марк (28 мая 2009 г.). «Google заново изобретает электронную почту и документы с помощью Google Wave» . www.pcmag.com . Проверено 2 июня 2009 .
- ^ Б с д е е г ч «Архивная копия» . Архивировано из оригинала на 2013-03-30 . Проверено 5 июня 2009 .CS1 maint: заархивированная копия как заголовок ( ссылка )
- ^ Б с д е е г ч «Архивная копия» . Архивировано из оригинала на 2013-03-30 . Проверено 5 июня 2009 .CS1 maint: заархивированная копия как заголовок ( ссылка )
- ^ http://googlewavedev.blogspot.com/2009/07/google-wave-federation-protocol-and.html
- ^ https://code.google.com/p/wave-protocol/
Внешние ссылки
- Домашняя страница протокола федерации Google Wave
- Проект спецификации протокола
- Официальные документы протокола