pattern-airalab

На пути ДАО. Проектирование. Архитектура прикладного уровня.

Рабочие процессы автономии должны иметь понятную схему на уровне программного обеспечения. В данной статье я постараюсь поделиться ответом на вопрос: «Каким образом лучше всего представить схему работы организации, живущей в p2p сетях?»

p2p сети

Пиринговые сети используются для 2 основных видов коммуникации:

  • распределенного вычисления и хранения данных;
  • децентрализованного вычисления и хранения данных;
Рис. 1: Содержание p2p сетей
Рис. 1: Содержание p2p сетей

Распределенное вычисление и хранение данных

Рис. 2: взаимодействие автономного агента с распределенной сетью
Рис. 2: взаимодействие автономного агента с распределенной сетью

p2p протокол распределенного вычисления и хранения данных позволяет рассматривать сеть, как единое целое.

 

Децентрализованное вычисление и хранение данных

Рис. 3: взаимодействие автономного агента с децентрализованной сетью
Рис. 3: взаимодействие автономного агента с децентрализованной сетью

p2p протокол децентрализованного вычисления и хранения данных позволяет рассматривать сеть, как набор равных участников, с которыми возможно построить прямые коммуникации.

Вывод #1

Различия в подходе работы распределенных и децентрализованных сетей предоставляют различный набор возможностей и сказываются на стоимости работы автономного агента с организацией.

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

Анатомия автономного агента

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

Рис. 4: анатомия автономного агента
Рис. 4: Анатомия автономного агента

Стоит обратить внимание на то, что работа с сетью разделяет данные на два вида:

  • локальные данные автономного агента;
  • данные сети, защищенные консенсусом;

Также стоит обратить внимание на схематичное отражение взаимодействия объектов автономного агента, к примеру:

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

Вывод #2

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

  • Будет ли у автономного агента в рамках данного рабочего процесса интерфейс в окружающий мир?
  • Какие данные автономный агент будет хранить в защищенном сетью формате, а какие будут являться локальными данными?
  • Каким образом инженеры будут вмешиваться в работы алгоритмов автономного агента?
  • Какие протоколы необходимы автономному агенту для работы с сетью?

Взаимодействие автономных агентов

Рис. 5: Взаимодействие автономных агентов
Рис. 5: Взаимодействие автономных агентов

Выше представлена общая схема прикладного уровня работы децентрализованной автономной организации.

Важно отметить следующее:

  • взаимодействие автономных агентов происходит исключительно через p2p сети;
  • автономный агент не обязан иметь интерфейсов в окружающий мир или механизмов вмешательства инженера в его работу;
  • автономный агент, участвующий в рабочих процессах ДАО может не иметь локальных данных, но сетевые данные у него обязательно будут храниться;

На пути ДАО

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