УДК: 004.8
Бахтенко Е. А.
аспирант,
Кафедра Автоматики и вычислительной техники (АВТ) Вологодский государственный университет
Баланин Е. О.
аспирант,
Кафедра Информационныхсистем и технологий (ИСиТ) Вологодский государственный университет
Суконщиков А. А.
к.т.н., зав. каф. Автоматики и вычислительной техники (АВТ) Вологодский государственный университет
ПОСТРОЕНИЕ ВИРТУАЛЬНЫХ СЛУЖБ В СОСТАВЕ РАСПРЕДЕЛЕННОЙ СЕРВЕРНОЙ СЕТИ С ИСПОЛЬЗОВАНИЕМ ИНТЕЛЛЕКТУАЛЬНЫХ АГЕНТОВ
В данной статье рассмотрен метод организации работы интеллектуальных агентов в составе виртуальных служб в контексте распределенной серверной сети. Рассмотрен механизм взаимодействия между агентами, а также определено, каким образом агенты информационных серверов получают информацию о других агентах, входящих в состав сети.
Ключевые слова: искусственны интеллект, многоагентная система, метод, сеть, данные, программное обеспечение, веб-система.
Одним из важных аспектов в работе распределенной серверной сети является работа агента информационного сервера [1]. Агенты информационных серверов кроме участия в диалоге с демоном серверов должны взаимодействовать между собой. Это обусловлено необходимостью поддержания целостности информации, ее актуальности [2]. Для этого рассмотрим методы взаимодействия между агентами, протоколы обмена данными.
Перед началом рассмотрения механизмов взаимодействия между агентами информационных серверов, обратимся к структуре самого агента. В первую очередь представим структуру агента информационного сервера.
Как видно из схемы, представленной на рисунке 1, агент информационного сервера состоит из нескольких функциональных частей:
- интерфейса;
- планировщика задач;
- базы знаний.
В интерфейс входят службы обеспечения агента, которые отвечают за его взаимодействие с окружением.
База знаний агента служит для хранения всех без исключения знаний, полученных в процессе жизни агента. Сюда входят база моделей агентов, база знаний о решаемой задаче и база накопленных знаний.
В базе моделей агентов хранятся знания об устройстве и интерфейсах вызовов других агентов. Изначально, в базе имеется некоторая информация об устройстве других агентов, которая нужна для начала работы. Знания помещаются в эту базу по мере взаимодействия с другими агентами. Получение и хранение таких знаний очень важно в агентной системе, поскольку общая конфигурация системы (количество, функции и состав агентов) может меняться с течением времени без остановки функционирования.
и
Агент
Интерфейс
Планировщик
задач
База данных
Рисунок 1 — Модель агента информационного сервера
База знаний о решаемой задаче содержит условие задачи, а также знания, получаемые в процессе решения. Она хранит промежуточные результаты решения подзадач. Также, в базе данных хранятся знания о способах решения задач и методах выбора этих способов.
База накопленных знаний содержит знания агента о системе, которые нельзя отнести к предыдущим категориям. В эту базу помещаются знания о решениях предыдущих задач и различные побочные данные.
Планировщик задач отвечает за планирование деятельности агента по решению задачи. Результатом хорошей работы планировщика должен быть баланс деятельности агента, между построением планов решения задачи в изменяющихся условиях и непосредственным выполнением намеченных планов.
Каждый агент обладает рядом сервисов — служб агента, которые обеспечивают его работу в системе, выполняют идентификацию агента, обеспечивают его связь с "внешним" миром [3]:
- служба языка общения. Содержит правила, структуру языка общения между агентами, демоном серверов. Выполняет действия по формированию пакетов данных и чтению полученных пакетов данных.
- служба транспорта сообщений. Содержит данные о каналах связи между агентами. Выполняет действия по отправке пакетов данных и приему сообщений от других элементов распределенной серверной сети.
- служба место нахождения. Формирует данные о местонахождении агента в сети. Собирает информацию о состоянии смежных каналов связи.
- служба удаленного доступа. Позволяет выполнять администрирования агента средствами удаленного доступа. Также исполняет роль идентификатора в распределенной серверной сети, к которой он относится. Выполняет прямой доступ к службе учета агентов.
Служба учета агентов информационных серверов расположена на Демоне серверов. Выполняет функции регистрации агентов и предоставления отчетной информации по агентам сети. Формирует базу данных, которая исполняет роль идентификатора агентов, содержит информацию о местонахождении каждого агента и другую служебную информацию, касающуюся служб агентов и т. д.
Перед началом работы информационного сервера его агент должен пройти регистрацию в системе. Для этих целей агент формирует данные о себе, как о поставщике различных сервисов в системе. В первую очередь, агент, определяет транспортный протокол
для себя, для обеспечения большей надежности связей их может быть несколько. Далее агент формирует собственную таблицу агента, по формату она соответствует общей таблице агентов, и регистрирует полученные данные в общей базе данных (рисунок 2).
Рисунок 2 — Регистрация агента "А" информационного сервера, в системе распределенных серверов
Рассмотрение механизма взаимодействия между агентами начнем с того, что определим, каким образом агенты информационных серверов получают информацию о других агентах, входящих в состав распределенной серверной сети [4]. На рисунке 3 представлена схема взаимодействия агента со службой учета агентов для получения сведений об агентах, имеющихся в системе. Агент "Б" может выполнять поиск не только агентов, находящихся в сети или вновь появившихся, но и отбирать данные об агентах, удовлетворяющих параметрам, указанным в запросе агента "Б". Поиск в таблице агентов может быть выполнен как по общим принципам, описывающим работу агента, так и по конкретным ключевым параметрам работы агента. В результате обработки запроса, агент "Б" может получить не только данные об искомом агенте, например "А", но и обо всех агентах подходящих под заявленное описание.
Рисунок 3 — Схема взаимодействия агента со службой учета агентов
Для отбора данных нужного агента, из всех полученных от службы учета агентов, агент "Б" может произвести тестовую проверку и отобрать агента, наиболее подходящего для выполнения поставленной задачи.
Агенты информационных серверов могут работать в нескольких режимах связи: 1. Синхронный. Представляет собой такой порядок работы, когда вторичный (вызываемый) объект передает ответы на запросы, поступающие от первичного (вызывающего) объекта. Смысл данного режима в том, что вызываемый объект после передачи ответа на запрос переходит в режим ожидания и прежде чем сможет снова предавать, должен дождаться поступления следующего запроса передачи;
2. Асинхронный. В данном режиме работы вторичный объект самостоятельно принимает решение о передаче данных и не должен ждать для этого получения запроса передачи от первичного объекта;
3. Общий (broadcast). Данный вид связи предусматривает возможность широкого вешания какого-либо агента. Т.е. предоставляет ему возможность отправки одного пакета всем объектам сети.
4. Групповой (multicast). Агент использует такой режим для отправки пакета данных выбранной группе объектов сети.
В распределенной серверной сети агент самостоятельно, без чьей-либо помощи, связывается с нужными ему объектами сети. Фундаментальный аспект, в связях между объектами, это структура сообщений, которыми они обмениваются, представления этих сообщений и их транспортировка.
Представим структуру сообщений сети. Структура сообщения сети пишется на языке связей между объектами сети. Содержимое сообщения пишется на языке, выбранном в качестве языка для содержимого сообщений. Также сообщение должно содержать информацию об отправителе и о получателе сообщения. Информацией об отправителе и получателе указываются их идентификационные имена, которые должны быть уникальны в глобальном плане. Каждое сообщение должно содержать информацию только об одном отправителе и информацию о получателе, количество получателей может быть один или несколько. Если поле получателя осталось пустым, то сообщение является общим (broadcast), как например, в беспроводных сетях. Сообщение может рекурсивно содержать другие сообщения.
Литература
1. Бахтенко Е. А., Зайцев В. Н., Измайлов И. А., Суконщиков А. А., Дурнов П. В. Проектирование многоагентных систем в управлении сетевыми ресурсами предприятия // Материалы седьмой международной научно-технической конференции «Автоматизация и энергосбережение машиностроительного и металлургического производств, технология и надежность машин, приборов и оборудования» — Вологда, ВоГТУ, 2012. — С. 156-160.
2. Бахтенко Е. А., Измайлов И. А. Механизм распределения нагрузки между серверами сети // Материалы седьмой международной научно-технической конференции «Информатизация процессов формирования открытых систем на основе СУБД, САПР, АСНИ и систем искусственного интеллекта» — Вологда, ВоГТУ, 2013. — С. 93-97.
3. Бахтенко Е. А., Измайлов И. А. Работа информационных агентов в составе сети промышленного предприятия // Материалы девятой международной научно-технической конференции «Автоматизация и энергосбережение машиностроительного и металлургического производств, технология и надежность машин, приборов и оборудования» — Вологда, ВоГТУ, 2014. — С. 144-149.
4. Советов Б. Я., Яковлев С. А. Моделирование систем. 3-е изд. / Б. Я. Советов, С. А. Яковлев. — М: Высшая школа, 2001. — 344 с.