Talaria

Talaria — это новый протокол передачи данных. Талария может реализовывать любое сетевое приложение (чаты, передача данных, видео, блоги, форумы, итд..) да и вообще любой протокол. Но при этом Талария не просто протокол передачи данных из точки в точку, а полноценная сетевая инфраструктура — автоматические авторизация, маршрутизация, линковка, миграция данных пользователя, сервисы.. То, что в IP-сетях (в Интернете, например) реализовано в виде кучи многоуровневых вложенных друг в друга протоколов и сервисов, в Таларии сделано в виде одного достаточно простого протокола, который позволяет практически все существующие сервисы реализовать просто и однообразно.

Для примера, в Интернет посылка упаковывается в коробку, заворачивается в обертку с указанием имени получателя, затем в ящик с указанием дома и квартиры, затем в контейнер с указанием улицы, затем в прицеп с указанием города, затем в фургон с указанием страны. А потом все это распаковывается в обратном порядке. При этом для города, деревни и прочих мест используются разные виды упаковки.

В Таларии используется всего один-два вида упаковки, в большинстве случаев достаточно одной упаковки, в которой есть стандартная информация (адрес отправителя, адрес получателя, тип содержимого) и дополнительные сведения единого простого формата, не требующая многоуровневого разбора упаковки.

Короче, это сеть нового поколения.

Сейчас Талария реализована в виде испытательного стенда, который может имитировать узлы и точки сети, отправлять и обрабатывать разные виды сообщений с выводом подробных сведений о переданных данных и проделанных операциях. После обкатки технологии на стенде, будут уже создаваться программы для пользователей, реализующие разные ништяки, типа чатов, пейджеров, файлообменников и прочего.

Talaria позволяет строить распределенную сеть обмена информацией без наличия специальных знаний и навыков.

В основе сети лежат узлы (nodes) — они могут соединяться друг с другом и обмениваться информацией. Клиенты могут подключаться только к узлам. Соединенные непрерывно между собой узлы образуют сегмент сети. Внутри сегмента действует автоматическая маршрутизация и работают массовые рассылки.

Адресация участников осуществляется по сетевому адресу, который состоит из идентификатора узла и идентификатора клиента узла. Кроме того, у каждого участника имеется глобальный уникальный идентификатор GUID, который не зависит от сетевого адреса, но является его синонимом. Возможна прямая адресация 2^32 узлов и 2^32 клиентов на каждом узле.

Основной единицей передаваемой в сети информации является сетевое сообщение. Сетевое сообщение состоит из заголовка, секции параметров и секции данных. Заголовок содержит тип сообщения, адреса отправителя и получателя, таймштамп. Секция параметров содержит произвольные текстовые параметры в виде имя=значение. Секция данных хранит произвольные данные. При прохождении через несколько узлов в конец сообщения добавляются синбаи — идентификаторы пройденых узлов.

Внутри сети у клиента имеется паспорт — набор сведений клиента, который мигрирует между узлами, если клиент подключается к другому узлу. Паспорт содержит как основные сведения о клиенте (адрес, GUID, имя), так и дополнительные (произвольная информация, список контактов, подписки на сервисы, неполученые сообщения.

При подключении не используются логины и пароли. Авторизация осуществляется шифрованным ключом, ключ генерируется автоматически при ручном подтверждении принятия кчастника в сеть. При этом в паспорте участника отмечается узел, который его принял в сеть.

Для регулирования сети служит система объективных и субъективных рейтингов. Объективные рейтинги составляются автоматически и отражают скорость передачи и обработки данных, уровень ошибок связи, нарушения стандартов. Субъективный рейтинг выставляется вручную. Участники с низким рейтингом ограничены в возможностях, вплоть до полного исключения из сети. Приоритет сетевых сообщений определяется типом сообщения и правилами маршрутизации на узле.

В сети имеются сервисы — программы, реализующие различный пользовательский функционал, такой как:

— обмен короткими текстовыми сообщениями
— обмен сообщениями и файлами
— архивы, форумы, блоги
— обмен данными в реальном времени (звук, видео)

Сервисы работают интерактивно (запрос-ответ), или по подписке, когда информация рассылается всем подписчикам сервиса, без необходимости запроса.

В основе сети лежит протокол DNMP (Distributed Network Messaging Protocol)
DNMP — описание протокола
DNMP — формат сообщений
DNMP — маршрутизация
DNMP — паспорт
DNMP — сервисы
DNMP — контейнеры и метаданные
DNMP — вопросы и ответы (FAQ)

Исходники на трекере проекта:
http://svn.irchat.ru/browser/trunk/Grouper

Проект разрабатывается на FreePascal с использованием мультиплатформенных библиотек и компонентов.

10.07.2010 · hunter · Комментариев нет
Рубрики: Интернет, Программирование

Написать комментарий