عامل سیار

در علوم رایانه , **عامل سیار**  به عنوان مجموعه‌ای متشکل از نرم‌افزار و اطلاعات تعریف می‌شود. عامل سیار توانایی مهاجرت از یک کامپیوتر به کامپیوتر دیگر را به‌طور کاملاً مستقل دارا است و می‌تواند پس از این انتقال، عملیات مورد نظر خود را در کامپیوتر مقصد ادامه دهد.

## تعریف و دید عمومی

عامل سیار را می‌توان به مانند یک عامل نرم‌افزاری در نظر گرفت که از ویژگی‌هایی مانند استقلال، تعامل، یادگیری و مهمتر از همه حرکت و جابجایی برخوردار است.
به‌طور خاص، یک *عامل سیار* پردازشی است که می‌تواند موقعیت خود را از یک محیط به محیطی دیگر تغییر دهد، در حالی که صحت داده‌ها حفظ شده‌ و عامل می‌تواند وظایف خود را در محیط جدید به درستی اجرا کند. این خود عامل سیار است که زمان انتقال را تعیین می‌کند. انتقال اغلب شامل فراخوانی RPC می‌باشد. زمانی که کاربر از یک مروگر اینترنت برای بازدید از یک سایت استفاده می‌کند، مرورگر منحصراً یک کپی یا یک ورژن از سایت دینامیک را دانلود می‌کند. به‌طور مشابه عامل سیار هم از  نسخه برداری از اطلاعات برای انجام یک انتقال استفاده می‌کند. زمانی که یک عامل سیار تصمیم به انتقال می‌گیرد، ابتدا موقعیت فعلی خودش را ذخیره می‌کند، سپس این حالت ذخیره شده را به میزبان جدید منتقل می‌کند و اجرای عملیات را از حالت ذخیره شده، ادامه می‌دهد.

عامل سیار شکل خاصی از کدهای سیار است، اگر چه در مقام مقایسه عامل سیار نسبت به  کدهای ارزیابی از راه دور و برنامه نویسی بر اساس تقاضا، پویا به حساب می‌آید. عامل سیار، پویا و متحرک به حساب می‌آید، زیرا توانایی دارد در هر لحظهٔ اجرا، بین کامپیوترها مهاجرت کند. این خصوصیت عامل‌های سیار را به ابزاری قدرتمند برای پیاده‌سازی سیستم‌های توزیع شده در شبکه‌های کامپیوتری تبدیل می‌کند.

سیستم‌های چند عامله باز (MAS) سیستم‌هایی هستند که هر عامل به یک زیر مجموعه تعلق دارد و هر عامل می‌تواند به‌طور پیوسته به محیط تعاملی وارد و خارج شود.

## اعتبار و اعتماد
در تحقیقات مربوط به عامل‌های سیار، مهم‌ترین تهدیدات برای اعتماد و درستی عامل‌ها به صورت زیر است:

۱. منبع اطلاعات مورد اعتماد
* تجربه مستقیم
* اطلاعات گواهی کننده
* قوانین مبتنی بر نقش و جایگاه
* مراجع شخص ثالث

۲. چگونه میزان اعتماد اندازه گیری شده‌است.

۳. ارزش کلی اعتماد

## تفاوت بین اعتماد و اعتبار سیستم چیست؟

اعتماد سیستم به صورت ارزیابی  یک جز نسبت به کل سیستم شکل می‌گیرد. یعنی بر اساس یک دیدگاه منفرد، یک نمره ارزیابی به سیستم داده می‌شود. اما اعتبار سیستم یک نمره ارزیابی است که بیان‌کننده اعتماد کل  جامعه نسبت به یک سیستم است.

بیشتر بخوانید:
* Compare Reputation and Trust

## نتایج و مزایا
برخی از مزایای عامل‌های سیار نسبت به سایر عامل‌های نرم‌افزاری به صورت زیر است:
*بسته‌های محاسباتی-محاسبات رفت و برگشتی بین سرویس دهنده و مشتری را به بسته‌های محاسباتی جابجا پذیر تبدیل می‌کند که این عمل منجر به کاهش بار شبکه می‌شود.
* پردازش موازی- اجرای غیر همزمان بر روی چند میزبان شبکه ناهمگن
*سازگاری پویا- اقدامات صورت گرفته به شرایط میزبان بستگی دارد.
*مقاوم نسبت به شکست‌های شبکه- توانایی انجام عملیات بدون وجود ارتباط مستمر  و فعال بین سرویس دهنده و مشتری
*انعطاف‌پذیری در نگهداری- برای تغییر در عملیات و اهداف یک عامل، تنها منبع(به جای میزبان‌های محاسباتی) باید به روز رسانی شود.

افزایش قابلیت حمل یکی از مزایای خاص نرم‌افزارهایی که از راه دور استقرار می‌یابند، است. اگر چه به این وسیله نیازمندی‌های سیستم  کمتر تحت تأثیر قرار می‌گیرند.

## همچنین مشاهده کنید
* Java Aglets
* Fraglets

## منابع و ماخذ
*Seven Good Reasons for Mobile Agents
*Mobile Agent Technologies, developer of AgentOS agent based operating system. Inventor of Automatic Thread Migration (ATM).
*National Institute for Standards and Technology, hosts a center for investigating security of mobile agents.
*AgentLink III
*Mobile-C, a multi-agent platform for mobile C/C   agents.
*JADE, an OSS mobile agent framework written in JAVA.
*The Foundation for Intelligent Physical Agents, a standards body which defines an interface for agent based interactions.
*Secure Mobile Agents Project, a project to develop a secure mobile agent server (last release 2007).

رده:معماری رایانش توزیع‌شده