Научная статья на тему 'Агентный подход к проектированию сетевых приложений поиска информации'

Агентный подход к проектированию сетевых приложений поиска информации Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
135
61
i Надоели баннеры? Вы всегда можете отключить рекламу.

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Болдырев Е. В., Кирякова Г. С., Шилкин А. В.

Classic client-server architecture does not suit well for the design of the distributed network applications. In this article we describe a new approach to creation of such applications for instance in a distributed data search system in a set of databases of different types.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Agent approach to creation of a distributed data search system

Classic client-server architecture does not suit well for the design of the distributed network applications. In this article we describe a new approach to creation of such applications for instance in a distributed data search system in a set of databases of different types.

Текст научной работы на тему «Агентный подход к проектированию сетевых приложений поиска информации»

Вычислительные технологии

Том 10, Специальный выпуск, 2005

АГЕНТНЫЙ ПОДХОД К ПРОЕКТИРОВАНИЮ

______ _ _ __ и __

СЕТЕВЫХ ПРИЛОЖЕНИЙ ПОИСКА ИНФОРМАЦИИ

Е. В. Болдырев, Г. С. КиряковА, А. В. Шилкин Красноярский государственный технический университет, Россия

e-mail: [email protected]

Classic client-server architecture does not suit well for the design of the distributed network applications. In this article we describe a new approach to creation of such applications for instance in a distributed data search system in a set of databases of different types.

Классическая клиент-серверная архитектура работает хорошо, если есть только один сервер (одна база данных), а клиентские приложения совершают четко определенные простые действия с данными. Однако по мере возрастания сложности системы, когда количество серверов и источников данных возрастает, количество и алгоритмическая сложность приложений увеличиваются, а клиент-серверная система очень быстро исчерпывает возможности по развитию. С усложнением клиентского приложения увеличивается и его размер, что, в свою очередь, приводит к ужесточению требований к клиентскому компьютеру, его вычислительной мощности, размеру оперативной и долговременной памяти. А поскольку количество пользователей в системе также имеет тенденцию к росту, мы неминуемо должны увеличивать мощность серверной аппаратуры. Экстенсивный путь развития системы рано или поздно приводит к серьезным проблемам в ее поддержке, расширяемости, безопасности. Кроме того, процесс создания сетевых приложений, используя клиент-серверный подход, зачастую требует знания множества языковых и инструментальных средств разработки и умения решать вопросы конфигурирования этих средств (например, Apache — CGI — Perl — HTML — Javascript). Очевидно, что необходим новый, интенсивный, путь развития программного обеспечения. В работе предлагается использовать для этого технологию программных агентов.

Области применения программных агентов могут быть очень обширны, на рис. 1 приведена классификация агентов в соответствии с классами решаемых задач [1].

Использование агентных технологий упрощает:

— процессы размещения (deployment) программного обеспечения в условиях сети, автоматизируя процессы перемещения программного кода, его установки и конфигурирования;

— процессы обновления программного кода, заменяя неактивные в данный момент компоненты новыми версиями, сохраняя при этом ассоциированные с компонентами данные, совершенно прозрачно для работы всей системы в целом;

© Институт вычислительных технологий Сибирского отделения Российской академии наук, 2005.

Рис. 1. Классы решаемых задач.

— удаленный доступ и управление в условиях сети, в том числе с использованием мобильных устройств, таких как сотовые телефоны и РВА;

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

Кроме того, обеспечиваются:

— качественно новый способ работы с данными как со знаниями с учетом контекста существования информации за счет использования онтологий;

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

— уменьшение влияние качества и латентности каналов связи за счет возможности асинхронной обработки данных по следующим схемам: 1) отправка запроса агенту на обработку — отключение от сети — подключение к сети — получение результатов обработки; 2) отправка запроса агенту — выполнение другой работы — получение уведомления о завершении обработки и ее результаты;

— балансировка нагрузки между несколькими вычислительными ресурсами и возможность параллельной обработки данных за счет связи между агентами и перемещения кода агента на другие агентные платформы;

— сокращение времени и затрат на администрирование за счет возможности коммуникаций между агентами и перемещения их кода;

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

Сравнительный анализ клиент-серверного и агентного подходов по основным признакам приведен в таблице.

Оценочная классификация клиент-серверного и агентного подходов

по пятибалльной шкале

Название а од х од п

Признак Клиент- серверный Агентный

Прозрачный доступ к данным 3 б

Удобство размещения (deployment) 2 б

Удобство обновления компонентов 2 б

Удобство администрирования системы 2 4

Повторное использование компонентов 3 б

Поддержка уже существующего ПО 3 б

Снижение избыточности информации 2 б

Объем сетевого трафика 3 4

Работа в режиме реального времени 5 З

Простота разработки 4 З

Уровень безопасности системы в целом 3 б

Средняя оценка 2.9 4.5

Таблица составлена по результатам опроса экспертов в области разработки программного обеспечения и профессиональных программистов, занимающихся разработкой информационной системы поддержки бизнес-процессов промышленного предприятия PRO-VIS (Process Visualization System). Анализ результатов показывает, что агентный подход превосходит клиент-серверный по большинству признаков, проигрывая лишь в работе в режиме реального времени и простоте разработки. С использованием агентного подхода разработана система поиска информации в распределенных по сети базах данных. В качестве средства разработки были использованы язык Java и платформа JADE [2].

Платформа разработки Java-агентов JADE (Java Agent Development Framework) используется для создания мультиагентных систем и приложений в соответствии со стандартами FIPA [1, 3] для интеллектуальных агентов. Она включает в себя среду выполнения агентов. Агенты регистрируются и работают под управлением этой среды, в ней предусмотрены механизмы создания, уничтожения, взаимодействия, поиска агентов (рис. 2).

Среда JADE

Служба каталогов Система управления агентами

j і г

Регистрация Поиск Создание Задание адреса Именование Удаление Приостановка Активация

Расширение для устройств с ограниченными ресурсами Коммуникационный канал

і г г

Запуск платформы Передача сообщений Получение сообщ. Передача агента Получение агента

Рис. 2. Основные компоненты среды JADE.

Среда включает систему управления агентами (Agent Management System), которая предоставляет средства именования и управления жизненным циклом агента, и службу каталогов (Directory Facilitator), включающую регистрационный каталог (каталог Желтых страниц). Используя этот каталог, агент может связаться с другими агентами, необходимыми ему для достижения цели.

Кроме того, JADE содержит библиотеку классов, используемых для разработки агентов и агентной системы, и набор графических утилит для администрирования и наблюдения за жизнедеятельностью агентов, функционирующих в системе. Важной особенностью JADE является поддержка исполнения агентов на устройствах с ограниченными возможностями (CLDC, Connected Limited Device Configuration), например мобильных телефонах, карманных компьютерах (PocketPC, Palm и др.), за счет использования расширения LEAP (Lightweight Extensible Agent Platform) (рис. 3).

Архитектура разработанной системы поиска информации в системе распределенных в сети базах данных приведена на рис. 4 [4].

Рис. 3. Схема работы агента на устройстве с ограниченными возможностями.

Рис. 4. Схема работы агента на устройстве с ограниченными возможностями.

В систему включены три типа агентов: интерфейсные агенты (Аи), реализующие презентационную логику и непосредственно взаимодействующие с пользователями сотовых телефонов (Пмоб) и персональных компьютеров (Ппк), агенты-обработчики (Аобр), реализующие бизнес-логику системы, и агенты доступа к базам данных (Абд), предоставляющие унифицированный интерфейс работы с источниками данных и реализующие логику доступа к данным. Такое разделение агентов системы позволило сделать ее более гибкой и расширяемой — реализация новых возможностей по обработке и доступу к новым источникам данных не требует внесения существенных изменений в систему или в ее компоненты. Агенты системы имеют возможность работать параллельно на одном или множестве вычислительных устройств (ПК, мобильный телефон и др.). Для минимизации времени ожидания результатов поиска и обработки агенты доступа к базам данных функционируют непосредственно на машинах, на которых работают СУБД. Интерфейсные агенты работают на устройствах пользователей, и ввиду ограниченности возможностей этих устройств (малого объема оперативной памяти, слабого процессора, низкой скорости передачи информации) в них нет функций по обработке данных, их задачей является реализация пользовательского интерфейса. Агенты-обработчики реализуют основную функциональность системы, осуществляя прием заданий от интерфейсных агентов, формирование заданий агентам доступа к базам данных, обработку полученных от них результатов, исключение повторяющихся данных, возврат результатов обработки интерфейсным агентам.

Предложенная система была протестирована в ООО “Мобилон” (оператор ip-телефонии) при работе с корпоративными базами данных компании, функционирующими на нескольких серверах в сети Интернет. Результаты показывают, что время ожидания результатов поиска снижается за счет псевдопараллельности операций поиска, значительно сокращается время разработки и внедрения системы, реализованной с использованием агентного подхода по сравнению с клиент-серверным.

Список литературы

[1] Таненбаум Э., Ван Стеен М. Распределенные системы. Принципы и парадигмы. СПб.: Питер, 2003.

[2] Bellifemine F., Caire G., Poggi A., Rimassa G. 2003, JADE. A White Paper. http://jade.cselt.it/papers/WhitePaperJADEEXP.pdf

[3] FipA: the foundation for intelligent agents. 2000. http://www.fipa.org/specifications.

[4] Болдырев Е.В. Архитектуры мультиагентных систем. Деп. ВИНИТИ. Рег. № 236-В2005.

Поступила в редакцию 2 ноября 2005 г.

i Надоели баннеры? Вы всегда можете отключить рекламу.