В информатике мобильный агент — это часть программного агента, объединенного с данными, которая может автономно перемещаться с одного компьютера на другой и продолжать свое выполнение в месте назначения с возможностью взаимодействия с другими агентами там. Вместо того, чтобы клиент запрашивал данные и выполнял действия, мобильный агент отправляется на сервер для выполнения этих задач. Эта парадигма делегирует работу от клиента на сервер. [1] : v–vi
Мобильный агент — это тип программного агента , обладающего такими свойствами, как автономность , социальные способности , способность к обучению и, что наиболее важно, мобильность .
Более конкретно, мобильный агент — это процесс , который может переносить свое состояние из одной среды в другую, сохраняя свои данные нетронутыми, и быть способным выполняться соответствующим образом в новой среде. Мобильные агенты решают, когда и куда перемещаться. Перемещение часто происходит из методов RPC . Так же, как пользователь направляет интернет-браузер «посетить» веб-сайт (браузер просто загружает копию сайта или одну его версию в случае динамических веб-сайтов), мобильный агент выполняет перемещение посредством дублирования данных. Когда мобильный агент решает переместиться, он сохраняет свое собственное состояние ( образ процесса ), переносит это сохраненное состояние на новый хост и возобновляет выполнение из сохраненного состояния.
Мобильный агент — это особая форма мобильного кода в области мобильности кода . Однако, в отличие от парадигм удаленной оценки и программирования кода по требованию , мобильные агенты активны в том смысле, что они могут выбирать миграцию между компьютерами в любое время во время их выполнения. Это делает их мощным инструментом для внедрения распределенных приложений в компьютерной сети .
Существует два типа мобильных агентов. Классификация основана на пути их миграции.
Открытая многоагентная система (MAS) — это система, в которой агенты, принадлежащие различным заинтересованным сторонам, постоянно входят в систему и выходят из нее.
В начале 1990-х годов компания General Magic создала язык и среду Telescript для написания и выполнения мобильных агентов и описала их популярной сейчас метафорой « облака », как это описал Энди Херцфельд :
«Прелесть Telescript », — говорит Энди , — «в том, что теперь вместо того, чтобы просто программировать устройство, у нас есть целое облако, где одна программа может перемещаться по множеству различных источников информации и создавать своего рода виртуальную службу». [3]
Однако предприятие не имело успеха.
Некоторые преимущества мобильных агентов по сравнению с обычными агентами:
Одним из особых преимуществ удаленного развертывания программного обеспечения является повышенная портативность, благодаря чему системные требования становятся менее значимыми.