В распределенных вычислениях, мобильность кода - это возможность запуска программ, кода или объектов, которые должны быть перенесены (или перемещены) из одна машина или приложение на другую. Это процесс перемещения мобильного кода через узлы сети сети в отличие от распределенных вычислений, при которых перемещаются данные.
В распределенных системах распространено требование перемещения кода или процессов между частями системы вместо данных.
Примеры мобильности кода включают сценарии, загружаемые по сети (например, JavaScript, VBScript ), Java-апплеты, элементы управления ActiveX, Flash-анимация, фильмы Shockwave (и Xtras) и макросы, встроенные в документы Microsoft Office.
Целью мобильности кода является поддержка сложных операций. Например, приложение может отправить объект на другую машину, и объект может возобновить выполнение внутри приложения на удаленной машине с тем же состоянием, что и в исходном приложении.
Согласно классификации, предложенной Fuggetta, Picco и Vigna, мобильность кода может быть сильной или слабой: сильная мобильность кода включает перемещение как кода, так и данных и состояния выполнения с одного хоста. к другому, в частности, через образ процесса (это важно в тех случаях, когда запущенное приложение должно поддерживать свое состояние при переходе от хоста к хосту), в то время как слабая мобильность кода предполагает перемещение только кода и данных. Следовательно, может потребоваться перезапустить выполнение программы на целевом хосте.
В рамках мобильности кода существует несколько парадигм или архитектурных стилей:
В рамках мобильности кода парадигма мобильного агента имеет обычно вызывали наибольший интерес и исследования, однако некоторые недавние работы привели к созданию универсальных реализаций.
Мобильный код также может быть инкапсулирован или встроен в другие форматы файлов, которые традиционно не связаны с исполняемым кодом. Примером этой формы инкапсуляции является наличие JavaScript в PDF.
Мобильный код также может загружаться и выполняться на клиентской рабочей станции по электронной почте. Мобильный код может загружаться через вложение электронной почты (например, макрос в файле Word) или через тело электронной почты в формате HTML (например, JavaScript). Например, вирусы / черви в электронных письмах ILOVEYOU, TRUELOVE и AnnaK были реализованы в виде мобильного кода (VBScript во вложении электронной почты в формате.vbs, выполняемом в Windows Scripting Host). Практически во всех ситуациях пользователь не знает, что мобильный код загружается и выполняется на его рабочей станции.
Мобильный код также относится к коду, «используемому для аренды», способу сделать программные пакеты более доступными. т.е. использовать по запросу. Это особенно актуально для разрабатываемых мобильных устройств, которые представляют собой сотовые телефоны, КПК и т. Д. Все в одном. Вместо установки пакетов программного обеспечения их можно «сдавать в аренду» и оплачивать по факту использования.