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

軟考 責任編輯:wwdwdfref 2008-01-09

添加老師微信

備考咨詢

加我微信

摘要:MobilityMobility—themostimportantattributeofmobileagents—describestheabilitytomovefromoneexecutionenvironmenttoanother.Forexample,themobilityconceptenablescodetomovetothelocationwherethedataithastoworkwitharelocated,thustakingadvantageoflocalinteraction.

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]  

更多資料
更多課程
更多真題
溫馨提示:因考試政策、內容不斷變化與調整,本網(wǎng)站提供的以上信息僅供參考,如有異議,請考生以權威部門公布的內容為準!

軟考備考資料免費領取

去領取

!
咨詢在線老師!