Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Мобильные агенты.docx
Скачиваний:
7
Добавлен:
06.02.2016
Размер:
91.21 Кб
Скачать

Xml-агенты

Интересное направление в области мобильных агентов родилось с развитием языка XML. На его основе сегодня создаются XML-агенты, способные по запросу предоставлять информацию из произвольных источников данных. Немаловажно, что в отличие от Java-технологии, когда для выполнения байт-кода требуется JVM-машина, XML-агенты описываются единственным тегом , используют всего три типа объектов - "ввод", "вывод" и "ошибка" и содержат набор рецепторов для общения со своими "коллегами". Агенты могут применять любой доступный язык сценариев (или специально разработанный XMLScript), а также CGI-программы - в зависимости от возможностей сервера, на котором они выполняются. Главное, чтобы локальные программы стандартно обрабатывали три типа объектов.

Если мобильные агенты путешествуют по Сети сами, то XML-агенты лишь обмениваются сообщениями и данными с другими агентами с помощью HTTP-запросов, что позволяет создавать сколь угодно сложные структуры автоматического хранения и управления данными.

Существующие трудности применения технологии мобильных агентов, пути и перспективы их преодоления

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

Недостаточное количество серверов, предоставляющих агентскую среду

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

Безопасность

Распространение инфраструктуры мобильных агентов может принести много радости создателям компьютерных вирусов и прочим злоумышленникам. Приемлемый уровень безопасности для серверов, предоставляющих агентскую среду и локальные ресурсы, пока удается поддерживать с использованием существующих систем безопасности, например таких, какие содержатся в Java. Значительно хуже обстоит дело с безопасностью самих мобильных агентов, которые очень трудно защитить от попадания на сервера злоумышленников или от перехвата при их перемещении по сети. Особенно это актуально для мобильных агентов, которые "знают" номера кредитных карт или обладают другими средствами оплаты в интернет. Поскольку агентская среда предоставляет классы для агентов, она теоретически может получить или даже изменить конфиденциальную информацию, которая в них содержится.

Отсутствие единых протоколов и стандартов

Системы программирования мобильных агентов существенно различаются по архитектуре и реализации. Это серьезно препятствует обеспечению взаимодействия агентов с различными агентскими системами и между собой. Ситуация может исправиться: группа OMG разработала Mobile Agent System Interoperability Facility - требования к протоколу общения агентов, появился документ COBRA Facilities: Mobile Agents System Interoperability Facilities Submission (MAF). Ожидается стандартизация таких аспектов как передача агентов и служебных классов между агентскими системами и управление агентами (их создание, уничтожение, прерывание и возобновление деятельности) путем стандартизации синтаксиса и семантики имен и типов агентов и агентских систем, их деятельности при пересечении доменов безопасности и т.п.

Низкие темпы решения задач в области искусственного интеллекта

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

Низкая производительность

Поскольку мобильные агенты предполагают переносимость кода, их реализация возможна либо интерпретаторами (Perl, Telescript, Tcl) или языками, поддерживающими раздельную компиляцию (Java). Естественно это предполагает наличие на web-узлах соответствующих интерпретаторов или виртуальных машин, а также механизмов посылки, передачи, получения и выполнения мобильного кода. Изначально виртуальные машины, на которых выполнялся байт-код Java, разрабатывались как некая универсальная среда для различных устройств, где скорость работы программ была некритична, а объемы данных незначительны. Разница в скорости выполнения одинаковых задач между обычным компилируемым кодом и интерпретируемым кодом Java могла достигать сотен раз.

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

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

Увеличение нагрузки на сервера в интернет

Главной причиной применения технологии мобильных агентов является снижение сетевого трафика. Ничего не бывает бесплатно, и данное снижение достигается за счет увеличения нагрузки на вычислительные ресурсы серверов. Можно ожидать, что владельцы серверов интернет, на которых трудятся чужие мобильные агенты и используют их вычислительные ресурсы будут считать это своего рода паразитированием и будут принимать к мобильным агентам меры, которые обычно применяются к паразитам. Особенно это актуально, если в сети будут распространяться агенты, работающие не самым оптимальным образом или содержащие ошибки. Подобная проблема возникла при появлении первых web-роботов, когда некорректно написанные программы приводили к отключению от сети серверов, с которыми они работали. В результате этого появился стандарт исключения роботов (SRE), благодаря которому удается избежать некоторых осложнений. Вероятно, подобный стандарт появится и для мобильных агентов, остается только надеется на то, что их создатели будут его придерживаться.