IgorK писал(а):
1. Информационные потоки в системе ЭГ реализованы исключительно в виде информационных пакетов перечисленных типов (названия условные):
- пакет "выдача" ("В"). На узле СГ произошло событие (генерация ключей, голосование, ...). Информация в пакете "В" выталкивается в сеть. Принимают информацию те узлы, которым она нужна.
- пакет "запрос" ("З") информации и ответ в пакете "ответ на запрос" ("ОЗ"). Софт на узле запущен, БД узла требуется пополнить текущей информацией (ключами, сформированными в группе узлов, текущими рез-ми голосований, ...). В сеть идет запрос "З", узлы, обладающие необходмиой информацией, отвечают по сути пакетом "ОЗ".
Тогда уж так:
- выдача;
- синхронизация (пополнение хранилища);
- запрос (запрос на информацию которая тут храниться не должна, но потребовалась по каким-либо причинам)
IgorK писал(а):
2. Также в системе есть сервера, выполняющие только функции распостранения и кэширования информационных потоков.
Так же p2p клиент можно установить на сервера. По факту они ничем не будут отличаться от пользовательских нод и будут выполнять те же функции. Вот только ресурсов у них будет побольше.
IgorK писал(а):
Список известных системе серверов может распостраняться с дистрибутивами и периодически обновляться с выходом новых версий программы.
Список будет синхронизироваться p2p.
IgorK писал(а):
А как быть с теми узлами, которые в данный момент не присоединены, и, соответственно, не получили нужную информацию.
Правильно - синхронизироваться.
Для демонстрационного прототипа будет только пункт "синхронизироваться".
Для реальной системы будет разработан механизм поиска нод с нужными данными типа DHT