Talaria
Описание
Talaria позволяет строить распределенную сеть обмена информацией без наличия специальных знаний и навыков.
В основе сети лежат узлы (nodes) - они могут соединяться друг с другом и обмениваться информацией. Клиенты могут подключаться только к узлам. Соединенные непрерывно между собой узлы образуют сегмент сети. Внутри сегмента действует автоматическая маршрутизация и работают массовые рассылки.
Адресация участников осуществляется по сетевому адресу формата X.Y, который состоит из идентификатора узла (X) и идентификатора клиента узла (Y). Кроме того, у каждого участника имеется глобальный уникальный идентификатор GUID, который не зависит от сетевого адреса, но является его синонимом. Возможна прямая адресация 2^32 узлов и 2^32 клиентов на каждом узле.
Основной единицей передаваемой в сети информации является сетевое сообщение. Сетевое сообщение состоит из заголовка, секции параметров и секции данных. Заголовок содержит тип сообщения, адреса отправителя и получателя, таймштамп. Секция параметров содержит произвольные текстовые параметры в виде имя=значение. Секция данных хранит произвольные данные. При прохождении через несколько узлов в конец сообщения добавляются синбаи - идентификаторы пройденых узлов.
Внутри сети у клиента имеется паспорт - набор сведений клиента, который мигрирует между узлами, если клиент подключается к другому узлу. Паспорт содержит как основные сведения о клиенте (адрес, GUID, имя), так и дополнительные (произвольная информация, список контактов, подписки на сервисы, неполученые сообщения.
При подключении не используются логины и пароли. Авторизация осуществляется шифрованным ключом, ключ генерируется автоматически при ручном подтверждении принятия кчастника в сеть. При этом в паспорте участника отмечается узел, который его принял в сеть.
Для регулирования сети служит система объективных и субъективных рейтингов. Объективные рейтинги составляются автоматически и отражают скорость передачи и обработки данных, уровень ошибок связи, нарушения стандартов. Субъективный рейтинг выставляется вручную. Участники с низким рейтингом ограничены в возможностях, вплоть до полного исключения из сети. Приоритет сетевых сообщений определяется типом сообщения и правилами маршрутизации на узле.
В сети имеются сервисы - программы, реализующие различный пользовательский функционал, такой как:
- обмен короткими текстовыми сообщениями
- обмен сообщениями и файлами
- архивы, форумы, блоги
- обмен данными в реальном времени (звук, видео)
Сервисы работают интерактивно (запрос-ответ), или по подписке, когда информация рассылается всем подписчикам сервиса, без необходимости запроса.
В основе сети лежит протокол DNMP (Distributed Network Messaging Protocol)
Скачать документацию
Исходники на трекере проекта
Проект разрабатывается на FreePascal с использованием мультиплатформенных библиотек и компонентов.
TCP порт по умолчанию: 4044