Talaria

Описание

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

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

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

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

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

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

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

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

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

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

В основе сети лежит протокол DNMP (Distributed Network Messaging Protocol)

Скачать документацию

talaria.zip

Исходники на трекере проекта

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

TCP порт по умолчанию: 4044