СОВРЕМЕННЫЕ ТЕХНОЛОГИИ В ИНФОРМАЦИОННОМ ОБЕСПЕЧЕНИИ НАУКИ

ПОСТРОЕНИЕ РАСПРЕДЕЛЁННОЙ
СИСТЕМЫ ДОСТУПА К ИНФОРМАЦИОННЫМ
РЕСУРСАМ НА ОСНОВЕ МНОГОАГЕНТНОЙ
АРХИТЕКТУРЫ

В.Б. Федотов
(ГПНТБ СО РАН)

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

Опираясь на четырехлетний опыт эксплуатации WEB-ориентированной информационно-поисковой системы для доступа к базам данных CDS/ISIS [1,2,3], можно сказать, что постоянная модификация системы и внедрение в нее новых возможностей отрицательно сказались на её структуре, и постепенно привели систему к состоянию, когда дальнейшая модификация и расширение функциональности стали не реальными. Очевидный вывод, сделанный из этой ситуации, заключался в том, что система нуждается в кардинальном совершенствовании.

Начатую в конце 2001 года модернизацию можно разделить на две части:

  1. Построение новой системной части поисковой системы;
  2. Оптимизация административной и интерфейсной частей системы.

В модернизации системной части были выделены две основные задачи:

Касательно оптимизации административной и интерфейсной частей системы было достаточно подробно рассказано в совместном докладе на международной конференции "Крым 2002"[4]. Способ же интеграции системы с протоколом Z39.50[5] был представлен в докладе на международной конференции "LIBCOM 2002". В рамках этого доклада был также представлен проект будущей архитектуры поисковой системы. Сама же новая поисковая система на том этапе находились в активной разработке, а реально работоспособным был лишь первый её прототип, обладавший ограниченной функциональностью.

За прошедшее время в плане реализации новой системы, получившей название WSDS ("Web Search Distributed System"), был достигнут значительный прогресс и, в конце концов, система была предоставлена в web-доступ. На данном этапе система обладает уже полным набором функций, так как это планировалось при её проектировании. Однако, положенная в основу системная архитектура обладает серьёзным потенциалом дальнейшей модернизации, поэтому процесс расширения функциональных возможностей системы идёт непрерывно.

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

Многоагентная архитектура

Думаю, утверждение о том, что информационные технологии на данный момент - одна из самых быстро развивающихся областей, ни у кого не вызовет ни удивления, ни возражений. Однако наша страна, к сожалению, пока ещё далека в этой области от передовых рубежей. Это касается не только и не столько технического оснащения, модернизация и наращивание которого сейчас в России проходит довольно высокими темпами. Но скорее технологической стороны, где мы пока отстаём очень серьёзно. В России много квалифицированных специалистов, которые делают программное обеспечение мирового уровня, но объёмы исследований в области информационных технологий очень малы. Новые веянья в области программных архитектур, стандартов, протоколов и пр. доходят до нашей страны с серьёзной задержкой. Всё вышесказанное в полной мере относится и к многоагентным технологиям. Технологии эти относительно новы и быстро развиваются, однако в нашей стране их применение пока исключительно эпизодично.

Агентная технология содержит в себе преимущества нескольких различных дисциплин. Она включает достоинства объектно-ориентированных и распределённых программных сред, компонентной концепции разработки программного обеспечения и даже искусственного интеллекта и экспертных систем. Агентные технологии могут стать успешным архитектурным решением именно потому, что они способны интегрировать эти различные аспекты и выявлять их внутренний потенциал.[6]

Подход, который родился довольно давно в рамках исследований в области ИИ (Искусственного Интеллекта), уже в конце 90-х на Западе начал активно переходить в русло практического применения в областях программирования, несвязанных напрямую с ИИ. Разработка агентных систем в Европе приобрела такие масштабы, что встал вопрос о стандартизации, для решения которого ещё в 90-х годах были основаны две организации MASIF (Mobile Agent System Interoperability Facility) и FIPA (Foundation of Physical Intelligent Agents), занявшиеся разработкой стандартов. Их работа вылилась в появление стандарта MASIF и стандарта FIPA, дающих рекомендации к созданию систем мобильных агентов и систем интеллектуальных агентов соответственно. Наиболее актуальной сферой применения агентов считается сфера коммуникационных технологий, и именно в этой сфере, в рамках европейской программы ACTS (Современные Коммуникационные Технологии и Службы), в 1997 году была основана программа "Агентные Технологии в Европе", фокусирующаяся на исследовательских разработках и практическом внедрении агентных технологий. Перспективы применения агентной архитектуры в таких специфических областях как сервисный контроль в статичных и мобильных сетях, телекоммуникации, электронной коммерции, мультимедийных приложениях и т.д. были широко оценены в Европе, что ещё весной того же 1997 года в рамках программы ACTS вылилось в запуск 14 новых проектов по исследованию применения агентных технологий в этих областях.[7]

Тем не менее, даже на Западе агентные технологии относительно мало применяются в библиотечном деле и непосредственно в доступе к информационным ресурсам. Достаточно известны проекты - поисковый сервер Yahoo, сервер Amazoon и электронная библиотека журнала "BT Library"[8]; гораздо шире агентные технологии применяются в сфере коммуникации, особенно в сфере мобильных устройств. В тоже время агентная концепция удобна для создания распределённых систем, в том числе и доступа к информационным ресурсам.

Написание агентно-ориентированной программы выливается в создание набора агентов, которые вместе обеспечивают всю требуемую функциональность. Мобильные агенты отвечают за активные части программы, в то время как системные агенты обеспечивают доступ к локальным службам. И те, и другие, общаются через встроенные механизмы коммуникации. Поскольку агентно-ориентированные программы основываются на сотрудничестве различных независимых объектов, то они структурно не монолитны. Поэтому при создании агентно-ориентированных программ совершенно нормальной практикой становится повторное использование существующих агентов.[9]

Способ коммуникации между агентами

Под эгидой программы ACTS в рамках проекта Grasshopper[10], главной задачей которого провозглашалась унификация коммуникационных стандартов на системы мобильных и интеллектуальных агентов, были выделены следующие возможные способы коммуникации между агентами:

При организации систем доступа конечного пользователя к информационным ресурсам, особенно систем, ориентированных на использование в онлайн-режиме в сети Internet, одним из ключевых технических характеристик системы определяющих удобство её использования, является время отклика на запрос пользователя. Именно эта характеристика и является наиболее узким местом всех распределённых систем. И хотя в последнее время пропускные способности каналов связи стремительно растут, нагрузки на них так же повышаются и, поэтому, коммуникация через Сокеты является вполне логичным выбором, для организации распределённой агентной системы, ориентированной на работу конечного библиотечного пользователя в онлайн-режиме (минимально возможное время отклика системы).

Коммуникационные модели распределённой программы

Другим фактором, активно влияющим на время отклика распределённой системы, является коммуникационная модель, определяющая то, каким образом удалённые части программы совместно работают над запросом пользователя. Наиболее распространённым подходом здесь считается пересылка сообщений, позволяющая достичь более высокой степени автономности между частями программы, чем если бы они вызывались директивно посредством RPC (Удалённого Запуска Процессов).[11] Пересылка сообщений является концепцией, естественно подходящей агентным системам, поскольку в рамках неё агент становится чем-то достаточно независимым, как бы делающим своё и только своё дело, и лишь иногда отвечающим на запросы других агентов или самостоятельно делающим запросы, если это потребуется для его работы. В рамках этой концепции в Европейском проекте Grasshopper были выделены следующие модели коммуникации между агентами:

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

Так, в реализованной архитектуре WSDS системное ядро состоит из полностью асинхронных многопоточных агентов, в то время как клиентский агент, отвечающий за принятие запросов от Web-интерфейса, передачу их в системное ядро и возврат пользователю Web полученных результатов поиска, работает в синхронном односвязном режиме. Понятно, что, работая в односвязном режиме, пользователь не может отправлять запросы сразу к нескольким разным удалённым группам Баз Данных без использования протокола Z39.50, что существенно ограничивало бы функциональность системы. Однако, в WSDS эффект многосвязной коммуникации эмулируется за счёт того, что сложный вопрос разделяется на запросы к разным группам Баз Данных, каждый из которых передаётся отдельному односвязному агенту, результаты работы которых потом собираются вместе и передаются пользователю. Синхронность же клиентского агента обусловлена тем, что ему, до тех пор пока он выполнен по односвязной концепции, просто нет необходимости что-то делать, пока он не получит результат своего запроса.

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

Концепция Архитектуры многоагентной системы "WSDS"

В качестве агентов в данном случае выступают независимые исполняемые модули ('exe') - сервисы и приложения. Никакой специальной программной среды для WSDS не требуется, программной средой, необходимой для удалённой коммуникации между отдельными частями программы, служит сеть Internet; агента идентифицирует агентный тип и уникальный идентификатор; в такой среде каждый агент имеет IP-адрес и порт (может быть несколько портов); общение между агентами осуществляется через Сокеты по протоколу TCP/IP. Внутренняя модель коммуникации между агентами асинхронно-многосвязная.

Итоги проделанной работы:

  1. разработанная система является полностью распределённой - любая часть (агент) системы может быть установлена на удалённом компьютере;
  2. система основана на мировых стандартах: коммуникация через протокол TCP/IP, базовые поисковые агенты, работающие с локальными базами данных ISIS и с удалёнными базами данных через стандартизованный ISO протокол Z39.50.
  3. как результат выбора многоагентной архитектуры мы получили гибкую, легко модифицируемую систему, в которой, при условии сохранения коммуникационного стандарта между агентами, любой отдельный узел (агент) можно заменить, не переделывая и даже не останавливая при этом всю программу, и не меняя архитектуру в целом;
  4. полученная система легко расширяема почти на всех уровнях; мы можем: распределить нагрузку обработки запросов к базам данных между разными компьютерами, просто добавив в систему ещё один удалённый компьютер и поставив на него сервис соответствующего поискового агента; добавить в систему поисковых агентов других типов помимо Z39.50 и ISIS, при этом всё, что нам нужно - это лишь зарегистрировать в системе ещё один тип обрабатываемых запросов;
  5. применённые агентные технологии показали себя перспективным архитектурным решением для разработки распределённых систем, они прекрасно отражают распределённую и неоднородную структуру сети, как бы, являясь её естественным программным воплощением, что позволяет им легко ложиться на сетевую архитектуру, реализуя сложные системы взаимодействия типа "N клиентов - M серверов".

Направления дальнейшей работы:

  1. выпуск следующей ревизии агентов системного ядра WSDS, с элементами искусственного интеллекта, такими как: контроль состояния друг друга, самовосстановление системы - замена/запуск агентов в случае отказа отдельных узлов системы, сбор статистики эффективности работы агентов, автоматическая оптимизация трафика и загрузки серверов и пр.;
  2. переход от использования односвязных синхронных клиентских агентов к более сложным - многосвязным асинхронным многопоточным клиентским агентам;
  3. повышение внутренней защищённости ядра системы за счёт ввода кодирования данных и авторизации соединений между агентами;
  4. разработка поисковых агентов новых типов помимо Z39.50 и ISIS, можно даже пойти ещё дальше и создать интеллектуальные поисковые агенты с возможностями поиска информации в сети;
  5. разработка возможных внешних шлюзов между многоагентной системой WSDS и протоколом Z39.50 или международными спецификациями на коммуникацию между интеллектуальными агентными системами, такими как стандарт FIPA;
  6. проектирование и разработка других распределённых систем на основе отработанных технологий.

Литература

  1. Баженов С.Р., Мазов Н.А., Малицкий Н.А., Баженов И.С. Создание программного комплекса доступа из Интернет к базам данных на основе WWW-ISIS // Библиотеки и ассоциации в меняющемся мире: новые технологии и новые формы сотрудничества: Материалы конф. "Крым 98". - М , 1998. - Т. 2. - C. 581 - 584.

  2. Мазов Н.А., Малицкий Н.А., Баженов С.Р., Баженов И.С., Жижимов О.Л. WEB-ориентированная информационно-поисковая система для доступа к базам данных CDS/ISIS // Библиотеки и ассоциации в меняющемся мире: новые технологии и новые формы сотрудничества: Материалы 6 Междунар. конф. "Крым 99". - Судак , 1999. - Т. 1. - C. 113 - 115.

  3. Баженов С.Р., Мазов Н.А., Малицкий Н.А., Баженов И.С. Создание программного комплекса доступа из Интернет к базам данных на основе WWW-ISIS// Научные и технические библиотеки. - 1999.- N2.- С. 47 - 52.

  4. Баженов С.Р., Баженов И.С., Федотов В.Б. Совершенствование Web-ориентированной системы управления базами данных CDS/ISIS. // Библиотеки и ассоциации в меняющемся мире: новые технологии и новые формы сотрудничества: Материалы Междунар. конф. "Крым 2002" (Судак). - М. , 2002. - Т. 1. - 172 - 175.

  5. Жижимов О.Л. Введение в Z39.50. Новосибирск, Изд-во НГОНБ, 2000, 196 с., ISBN 5-88742-037-5.

  6. Interviews: Mario Campolargo

  7. Mario Campolargo is Head of Unit of Research Networking, with a special interest in Agent Technology.

  8. http://www.cordis.lu/infowin/acts/analysys/products/thematic/agents/ch5/ch5.htm#1

  9. Agents Technology in Europe

  10. http://www.cordis.lu/infowin/acts/analysys/products/thematic/agents/toc.htm

  11. Interviews: Alan Steventon

  12. Alan Steventon is Head of the Complex Systems Laboratory at Adastral Park (BT Laboratories) at Martlesham Heath. He is Project Manager of FACTS (ACTS).

  13. http://www.cordis.lu/infowin/acts/analysys/products/thematic/agents/ch5/ch5.htm#4

  14. AMASE: Agent-based Mobile Access to Information Services

  15. Riccardo Pascotto, T-Nova Deutsche Telekom Innovationsgesellschaft mbH Berkom, riccardo.pascotto@telekom.de

  16. http://www.cordis.lu/infowin/acts/analysys/products/thematic/agents/ch3/amase.htm

  17. Grasshopper - A Universal Agent Platform Based on OMG MASIF and FIPA Standards

  18. Thomas Magedanz, IKV++ GmbH Germany, magedanz@ikv.de and Christoph Bдumer, Markus Breugst, Sang Choy

  19. http://www.cordis.lu/infowin/acts/analysys/products/thematic/agents/ch4/ch4.htm

  20. MIAMI: Mobile Intelligent Agents for Managing the Information Infrastructure

  21. Rudi Broos, Alcatel Bell, broosr@rc.bel.alcatel.be,

  22. Bruno Dillenseger, France Telecom SA CNET,

  23. bruno.dillenseger@cnet.francetelecom.fr,

  24. Andreas Guther, GMD FOKUS, guther@fokus.gmd.de,

  25. Miguel Leith, Imperial College of Science Technology and Medicine, mfl@doc.ic.ac.uk

  26. http://www.cordis.lu/infowin/acts/analysys/products/thematic/agents/ch3/miami.htm