Upload
qh
View
223
Download
3
Embed Size (px)
Citation preview
104 Computer
C O M M U N I C A T I O N S
T he networks that connecthandheld wireless devicessuch as cell phones and PDAssuffer from low bandwidthand a high incidence of net-
work errors. Mobility can also resultin the loss or degradation of wirelessconnections.
By employing mobile agents, suchdevices could provide a reliable tech-nology for message transport overwireless links. Mobile agents are inher-ently distributed software entities thatreduce the load on the network whenthey move. In addition, they supportdisconnected operations because theycontinue to execute after they move,even if they lose network connectivitywith their dispatchers.
Mobile agents can be employed inwireless handheld devices in two ways:An agent platform could be installedon the device, enabling mobile agentsto run directly on it, or devices couldaccess and use remote mobile agentsrunning on wired networks.
Each approach is viable and has itsown advantages and domain-specificapplications. Some high-end deviceswould benefit from running a mobileagent platform that lets agents runlocally, but this would not be benefi-cial to others because of processingpower and memory constraints or forsecurity reasons.
DEVICES FOR AGENTSResearchers are developing a num-
ber of mobile agent platforms forhandheld devices. For example, theLightweight Extensible Agent Platform
(http://leap.crm-paris.com) can exe-cute on small devices, is scalable inboth size and functionality, is “oper-ating system agnostic,” and complieswith Foundation for Intelligent PhysicalAgents (www.fipa.org/) standards.Initiated by a number of companiesincluding Motorola, Siemens, andBritish Telecom, LEAP is currently im-plemented as a lightweight extensiblekernel for the Java Agent DevelopmentFramework (http://sharon.cselt.it/projects/jade) and will offer knowledgeand travel management services.
Other proposed mobile agent plat-forms contain several common featuresin existing platforms such as agent mes-saging, events, and an agent executionenvironment. Primarily designed tooffer mobile commerce services, suchplatforms are embedded directly into aK virtual machine (http://java.sun.com/products/cldc) rather than define addi-tional classes on top of the KVM.
This approach has several disad-vantages. As a practical matter, manyhandheld devices do not currently havesufficient processing power and mem-ory to run an agent platform. In addi-tion, running agents on wirelesshandhelds makes the devices and their
data vulnerable to malicious code.Such platforms tend to concentrate onmobile agent features rather than secu-rity or quality.
Interoperability is also a problem.For example, a proprietary KVM isincompatible with the standard KVM.Because KVMs do not support objectserialization, other mechanisms suchas XML must be used to transmitmobile agents to and from the wirelessdevice. Users will thus have to install
new software components as well asinstall and configure the agent plat-form itself.
AGENTS FOR DEVICESInstead of running an agent platform
and executing agents locally, wirelesshandheld devices can include an inter-face that accesses and executes remotemobile agents. We have developedMobiAgent, a prototype agent-basedframework and software infrastructurethat minimizes the load on the wirelesslink and supports disconnected opera-tions.
System componentsAs Figure 1 shows, the MobiAgent
system consists of four major compo-nents: clients, the communicationmanager, the agent gateway, andMobiAgent services. Both wired andwireless links connect these compo-nents.
Clients are wireless applications orJava 2 Micro Edition MIDlets that runon the handheld device to provide theuser with an interface for creating pro-files and accessing MobiAgent services.Like applets, applications downloadedto the device run in a sandbox, a
Mobile Agents inWireless DevicesLuminita Vasiu, Middlesex UniversityQusay H. Mahmoud, University of Guelph
Mobile agents offer apotential solution tonetwork problemsassociated with handhelds.
restricted environment with no accessto the underlying resources. Clientsrequest a service from the communi-cation manager.
The communication manager medi-ates between the wireless device andthe wired network. It manages all sys-tem connections and communicateswith the agent gateway. A client usingMobiAgent services for the first timedownloads a wireless application orMIDlet from the communication man-ager that provides facilities for creat-ing a user profile. Java servlets andcommon gateway interface (CGI)scripts communicate the user profile’sidentification and addressing proper-ties to the agent gateway.
The agent gateway provides an inter-face to the communication managerand MobiAgent services to create andupdate user profiles, which are storedin a database. For security reasons,clients cannot directly access the userprofiles database. The agent gatewaycan also run a mobile agent platform,although the agent platform can runon another host as well. MobiAgentruns Voyager, but it could use anyagent platform.
MobiAgent services perform actionson behalf of clients that range fromaccessing network resources—such asWeb sites containing informationabout books, cars, or travel informa-tion—to controlling remote applica-tions. MobiAgent services have uniqueidentifiers and accept requests from theagent gateway.
Operating scenarioFigure 2 shows how a cell phone
user might apply the MobiAgent sys-tem to locate price information abouta particular book. When using the sys-tem, the user can disconnect from thenetwork while waiting for results tobecome available. If the user remainsdisconnected when the agent has fin-ished its task, the agent gateway willinform the user that the results areavailable via Short Message Service.After reconnecting, the user can down-load the results.
AdvantagesThe major advantage of the
MobiAgent system is that the user doesnot have to install or configure a mobileagent platform on the device. The sys-tem also reduces communications overwireless links to overcome low band-width and network disconnection. Inaddition, MobiAgent enhances servicefunctionality by operating without con-stant user input. Finally, the system isplatform independent.
M obile agents must have animportant role in wireless com-puting if software applications
for handheld devices are to be trulyuseful and intelligent. However, secu-rity concerns present a major obstacle.For agents to collaborate, they must beable to meet somewhere and thenreturn home with results for their dis-patchers. One possible way to getaround this problem is to let agents run
on handheld devices but exclude for-eign agents. �
Luminita Vasiu heads the Wireless ITResearch Centre, School of Comput-ing Science, Middlesex University, andis Chair of the British Computer Soci-ety Wireless IT Specialist Group. Con-tact her at [email protected].
Qusay H. Mahmoud is an assistantprofessor in the University of Guelph’sDepartment of Computing and Infor-mation Science and associate chair ofthe Distributed Computing and Com-munications Systems Technology pro-gram at the University of Guelph-Humber. Contact him at [email protected].
February 2004 105
Communicationmanager
HTTP
Agentgateway
Profiles
Agent platform
MobiAgentservices
CGIservletsMIDletsClient
Figure 1. MobiAgent system components. Both wired and wireless links connect clients,the communication manager, the agent gateway, and MobiAgent services.
Editor: Upkar Varshney, Department of CIS, Georgia State University, Atlanta GA30002-4015; [email protected]
Figure 2. BookAgent service. (a) The user requests the service and (b) is prompted tosearch by title or author. (c) The user enters the book’s title, and the mobile agent beginsits task. (d) The agent returns to its host environment and sends the results to the agentgateway, which in turn forwards them to the user.
(a) (d)(c)(b)