Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Mobile agent
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Multi-agent system}} In [[computer science]], a '''mobile agent''' is a piece of [[software agent]] combined with data that is able to migrate from one computer to another autonomously and continue its execution on the destination with the ability to interact with other agents there. Rather than a [[Client (computing)|client]] requesting data and performing actions, a mobile agent is sent to a [[Server (computing)|server]] to perform those tasks. This paradigm delegates the work from the client and onto the server.<ref name=":0">{{Cite book |url= |title=Mobile Agents and Security |series=Lecture Notes in Computer Science |publisher=[[Springer (publisher)|Springer]] |year=1998 |volume=1419 |isbn=978-3-540-68671-2 |editor-last=Gigna |editor-first=Giovanni |location=Berlin |doi=10.1007/3-540-68671-1 |s2cid=32201981 |oclc=657901937}}</ref>{{Rp|page=vβvi}} ==Definition and overview== A ''mobile agent'' is a type of [[software agent]], with the feature of ''autonomy'', ''social ability'', ''learning'', and most significantly, ''mobility''. More specifically, a mobile agent is a [[Process (computing)|process]] that can transport its state from one environment to another, with its data intact, and be capable of performing appropriately in the new environment. Mobile agents decide when and where to move. Movement is often evolved from [[Remote procedure call|RPC]] methods. Just as a user directs a web browser to "visit" a website (the browser merely downloads a copy of the site, or one version of it in the case of dynamic web sites), a mobile agent accomplishes a move through data duplication. When a mobile agent decides to move, it [[Serialization|saves its own state]] ([[process image]]), transports this saved state to the new host and resumes execution from the saved state. A mobile agent is a specific form of [[mobile code]], within the field of [[code mobility]]. However, in contrast to the [[remote evaluation]] and [[code on demand]] programming paradigms, mobile agents are active in that they can ''choose'' to migrate between computers at any time during their execution. This makes them a powerful tool for implementing [[distributed system|distributed applications]] in a [[computer network]]. There are two types of mobile agents. The classification is based on their migration path. # Mobile agents with predefined path: these have a static migration path. # Free roaming mobile agent:<ref>{{Cite book|date = 2010-06-01|pages = V5β261βV5β265|volume = 5|doi = 10.1109/ICETC.2010.5530034|first1 = Fan|last1 = Linna|first2 = Liu|last2 = Jun| title=2010 2nd International Conference on Education Technology and Computer | chapter=A free-roaming mobile agent security protocol against colluded truncation attack |isbn = 978-1-4244-6367-1|s2cid = 13966113}}</ref> these have a dynamic migration path. Depending on the present network condition, the mobile agent chooses its path. An open multi-agent system (MAS) is a system in which agents, that are owned by a variety of stakeholders, continuously enter and leave the system. ==History and Evolution== {{expand section|date=August 2018}} In the early 1990s, [[General Magic]] created the [[Telescript (programming language)|Telescript]] language and environment for writing and executing mobile agents, and described it with the now-popular "[[cloud computing|cloud]]" metaphor; as described by [[Andy Hertzfeld]]: {{Quote |"The beauty of [[Telescript (programming language)|Telescript]]," says [[Andy Hertzfeld|Andy]], "is that now, instead of just having a device to program, we now have the entire Cloud out there, where a single program can go and travel to many different sources of information and create a sort of a virtual service.<ref>{{cite magazine |first=Steven |last=Levy |url=https://www.wired.com/1994/04/general-magic/ |title=Bill and Andy's Excellent Adventure II |magazine=[[Wired (magazine)|Wired]] |date=April 1994 }}</ref>}} The company was unsuccessful, however. ==Advantages== Some advantages which mobile agents have over conventional agents are: * Computation bundles - converts computational client/server round trips to relocatable data bundles, reducing network load.<ref name=":0" />{{Rp|page=vi}} * Parallel processing -asynchronous execution on multiple [[heterogeneous]] network hosts * Dynamic adaptation - actions are dependent on the state of the host environment * Tolerant to network faults - able to operate without an active connection between client and server * Flexible maintenance - to change an agent's actions, only the source (rather than the computation hosts) must be updated *Bandwidth conversion which is conversion the bandwidth one host to another host. *Reduces compilation time. One particular advantage for remote deployment of software includes increased portability thereby making system requirements less influential. ==References== {{Reflist}} ==External links== *[http://www.moe-lange.com/danny/docs/7reasons.pdf Seven Good Reasons for Mobile Agents] *[http://www.agentos.net/ Mobile Agent Technologies], developer of AgentOS agent-based operating system. The inventor of Automatic Thread Migration (ATM). *[https://web.archive.org/web/20051124151106/http://csrc.nist.gov/mobileagents/projects.html National Institute for Standards and Technology], hosts a center for investigating the security of mobile agents. *[https://web.archive.org/web/20080723185145/http://www.agentlink.org/. AgentLink III] *[http://www.mobilec.org Mobile-C], a multi-agent platform for mobile C/C++ agents. *[https://web.archive.org/web/20100621141053/http://jade.tilab.com/ JADE], an OSS mobile agent framework written in Java. *[http://www.fipa.org/ The Foundation for Intelligent Physical Agents], a standards body that defines an interface for agent-based interactions. *[https://semoa.sourceforge.net/about/about.html Secure Mobile Agents Project], a project to develop a secure mobile agent server (last release 2007). *[https://web.archive.org/web/20080723185145/http://www.agentlink.org/. AgentLink III] {{Authority control}} [[Category:Distributed computing architecture]] [[fr:Agent mobile]]
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)
Pages transcluded onto the current version of this page
(
help
)
:
Template:Authority control
(
edit
)
Template:Cite book
(
edit
)
Template:Expand section
(
edit
)
Template:Multi-agent system
(
edit
)
Template:Quote
(
edit
)
Template:Reflist
(
edit
)
Template:Rp
(
edit
)