2
104 Computer COMMUNICATIONS T he networks that connect handheld wireless devices such as cell phones and PDAs suffer from low bandwidth and a high incidence of net- work errors. Mobility can also result in the loss or degradation of wireless connections. By employing mobile agents, such devices could provide a reliable tech- nology for message transport over wireless links. Mobile agents are inher- ently distributed software entities that reduce the load on the network when they move. In addition, they support disconnected operations because they continue to execute after they move, even if they lose network connectivity with their dispatchers. Mobile agents can be employed in wireless handheld devices in two ways: An agent platform could be installed on the device, enabling mobile agents to run directly on it, or devices could access and use remote mobile agents running on wired networks. Each approach is viable and has its own advantages and domain-specific applications. Some high-end devices would benefit from running a mobile agent platform that lets agents run locally, but this would not be benefi- cial to others because of processing power and memory constraints or for security reasons. DEVICES FOR AGENTS Researchers are developing a num- ber of mobile agent platforms for handheld devices. For example, the Lightweight Extensible Agent Platform (http://leap.crm-paris.com) can exe- cute on small devices, is scalable in both size and functionality, is “oper- ating system agnostic,” and complies with Foundation for Intelligent Physical Agents (www.fipa.org/) standards. Initiated by a number of companies including Motorola, Siemens, and British Telecom, LEAP is currently im- plemented as a lightweight extensible kernel for the Java Agent Development Framework (http://sharon.cselt.it/ projects/jade) and will offer knowledge and travel management services. Other proposed mobile agent plat- forms contain several common features in existing platforms such as agent mes- saging, events, and an agent execution environment. Primarily designed to offer mobile commerce services, such platforms are embedded directly into a K 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, many handheld devices do not currently have sufficient processing power and mem- ory to run an agent platform. In addi- tion, running agents on wireless handhelds makes the devices and their data vulnerable to malicious code. Such platforms tend to concentrate on mobile agent features rather than secu- rity or quality. Interoperability is also a problem. For example, a proprietary KVM is incompatible with the standard KVM. Because KVMs do not support object serialization, other mechanisms such as XML must be used to transmit mobile agents to and from the wireless device. Users will thus have to install new software components as well as install and configure the agent plat- form itself. AGENTS FOR DEVICES Instead of running an agent platform and executing agents locally, wireless handheld devices can include an inter- face that accesses and executes remote mobile agents. We have developed MobiAgent, a prototype agent-based framework and software infrastructure that minimizes the load on the wireless link and supports disconnected opera- tions. System components As Figure 1 shows, the MobiAgent system consists of four major compo- nents: clients, the communication manager, the agent gateway, and MobiAgent services. Both wired and wireless links connect these compo- nents. Clients are wireless applications or Java 2 Micro Edition MIDlets that run on the handheld device to provide the user with an interface for creating pro- files and accessing MobiAgent services. Like applets, applications downloaded to the device run in a sandbox, a Mobile Agents in Wireless Devices Luminita Vasiu, Middlesex University Qusay H. Mahmoud, University of Guelph Mobile agents offer a potential solution to network problems associated with handhelds.

Mobile agents in wireless devices

  • 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)