![]() |
Summary and discussion
Session 5:
Gred Jorstad Slides: PowerPoint (257K) |
Greg Jorstad was one of the main developers of Lockheed Martin's mobile-agent system, DAIS, which uses mobile agents for information retrieval (IR) and dissemination in military intelligence applications. His talk focused on mobile IR agents.
A mobile IR agent must meet three expectations: it must find the data regardless of its location, find the data quickly, and find the data even if the network goes down. It must deal with unreliable, low-bandwidth and overloaded networks (particularly in a battlefield environment) and with duplicate sources of the same information.
The four main challenges that must be faced in an IR system uses mobile agents are (1) describing the content of data sources effectively, (2) providing directory services, (3) allowing agents to access heterogeneous data sources, and (4) allowing agents to easily replan their itinerary in response to changing network conditions.
For content descriptions, the main issue is whether there should be one or many ontologies (and the exact contents of those ontologies). For directory services, the main issues are how to organize the directories hierarchically and how to support agent queries efficiently (e.g., periodic polls versus change notifications). For heterogeneous data access, the main issue is providing agents with appropriate access and manipulation operations. For dynamic replanning, issues include how to sense the current state of the network and which planning algorithm(s) is most appropriate for agents.
If the challenges can be met, mobile agents should make IR faster, easier, more comprehensive and more robust.
Greg closed with a motivating scenario. Imagine that there are two subnetworks. Internally each subnetwork uses normal 10 Mb/s Ethernet, but the two subnetworks are connected with a much lower bandwidth link, say a 28.8 Kb/s modem line. One machine on each subnetwork has a terrorist database that contains biographical information about some known terrorists (name, organization, modes of operation, and so on). Also multiple machines on each network contain databases of observations being entered by field observers. All databases are large with large entries.
An analyst is sitting at a machine in one subnetwork. Her task is to find all terrorists that meet some criteria, and then to find any and all field observations that might indicate activity by those terrorists. Now, in the normal client/server model, the analyst would first have to send a query to the terrorist database in the other subnetwork and get the information about the terrorists that meet her criteria; then she would have to send this information back over the slow link to the observational databases so that the terrorist biographies can be compared against current observations. With mobile agents on the other hand, a mobile agent can be dispatched to the remote subnetwork where it obtains the terrorist information and then, without any intermediate use of the slow link, obtains the observations.
In addition, if the databases do not provide high-level operations (perhaps most observations are simply free-text entries for example), the mobile agent can carry filtering code to the databases, further reducing network traffic.
Most of the discussion centered around whether a full mobile-agent system was actually required for this application. It appears at first glance that it could be done with a single remote evaluation call, i.e., send some procedure to a proxy site on the remote subnetwork and then invoke that procedure with certain parameters. However, if the databases are mainly free-text, this procedure would need to do further remote evaluation calls to the database machines themselves so that filtering could be done locally to the database. In the end, the general consensus seemed to be that any system that allows a chain of arbitrary remote evaluations is essentially a mobile-agent system, although a full mobile-agent system allows more flexible communication (and sometimes provides a JUMP operation that makes migration easier).