专注在线职业教育23年
下载APP
小程序
希赛网小程序
导航

Technologies for the Development of Agent-based Distributed Applications[2]

责编:wwdwdfref 2008-01-09

Mobility

Mobility—the most important attribute of mobile agents—describes the ability to move from one execution environment to another. For example, the mobility concept enables code to move to the location where the data it has to work with are located, thus taking advantage of local interaction. In the following, the term "mobility" will be used to refer to a mobile agent's ability to relocate itself to another place.

Autonomy

Autonomy means that mobile agents can in a way act "autonomously," i.e., perform actions based on their own situative assessment of circumstances. For example, a mobile agent decides on its own when and where to move, whereas in traditional systems such decisions are taken by a central (server) component. Hence, the autonomy property potentially enables mobile agents to deal independently with situations like unavailable servers and other resources.

Persistence

The concept of persistence is tightly coupled to mobility [9]. When an agent moves from one place to another, it preserves its internal state and data. In particular, it retains any computing results obtained during execution in the execution environment it is transported from.

Advantages of mobile agents over traditional client-server designs

This section discusses several relative advantages of mobile agent systems over conventional client-server design principles. None of these advantages are uniquely available through mobile agent technology; instead, the strength of mobile agent systems emerges from the aggregate of the advantages. This combination facilitates several improvements, such as the following [5]:

Mobile agents provide a general-purpose, open framework for the development of distributed, networked systems, i.e., a universal computing platform.

New, derivative network services could be based on mobile agent technology that extend or even replace existing services.

Because mobile agents are powerful tools for end-users, they may appeal strongly to them. The Internet community is a very large possible target audience.

The aforementioned advantages include high bandwidth remote interaction, support for disconnected operation, support for weak clients, semantic routing, scalability, reduced overhead for secure transactions, and comparatively robust remote interactions.

High bandwidth remote interaction

If there is a large amount of remotely stored data to be processed, it can be considerably cheaper to bring the processing method to the location where the data is stored ("function shipping"), than to transfer the data to the client ("data shipping") [5, 13, 6, 10]. Function shipping can be accomplished by means of a mobile agent. One might argue that the same can be achieved through stored procedures or similar mechanisms; while this is certainly correct, the power of the mobile agent approach is highlighted when proper processing methods are not known in advance but are data-dependent. Rothermel [13] mentions analysis of huge amounts of meteorological data and real-time analysis of stock prices as examples.

Support for disconnected operation and weak clients

Mobile agents improve the support for mobile computing, i.e., mobile devices that are only intermittently connected. Mobile devices, such as personal digital assistants (PDAs), web pads, and mobile phones, are not general-purpose computing devices in the sense of personal computers, but exhibit two key characteristics relevant in this discussion [5]:

Non-persistent and/or low-bandwidth connection to the network.

Limited storage and processing capacity.

A user might choose to put together a query (a "task" for the agent), connect to the network, launch the agent with the respective task, disconnect from the network, and at a later time retrieve the agent along with the results it has collected. This is beneficial not only when considering devices that are occasionally disconnected but also when looking at devices, like cell phones, that might be connected persistently, but only with a very low bandwidth [5, 7].

Semantic routing

Interactions in client-server applications typically require detailed knowledge about locations, functions, and protocols on both the server and the client side. One of the promises of mobile agent computing is that the client (and the user) can be relieved of a great portion of that burden through the concept of semantic routing [5]. The idea is that the "intention," i.e., the task to be performed, by the agent should be formulated in an abstract language, called agent communication language [6]. This language enables it to communicate its intention to other components able to understand that language in order to find sources of information or services to fulfill its mission. A user would translate her natural language query into the agent communication language, which in turn would enable the agent to look for appropriate servers that it could query or migrate to in order to gather relevant information.

Scalability

Better scalability of mobile agent computing, which is by nature asynchronous, as compared to RPC-based applications, is entirely the result of its inherent usage of a messaging communication mechanism. Therefore, mobile agent computing benefits from the higher scalability that messaging provides. Nevertheless, problems might arise from the requirements regarding security, resource management, and running the agent, that execution environments have to meet; these could lead to significant additional computational load on agent systems.

[1]  [2]  [3]  [4]  [5]  [6]  [7]  

更多资料
更多课程
更多真题
温馨提示:因考试政策、内容不断变化与调整,本网站提供的以上信息仅供参考,如有异议,请考生以权威部门公布的内容为准!
相关阅读
查看更多

加群交流

公众号

客服咨询

考试资料

每日一练

咨询客服