9
0018-9162/01/$10.00 © 2001 IEEE March 2001 73 RESEARCH FEATURE Mobile Agent Middleware for Mobile Computing T he integration of the Internet with telecom- munication networks promises a distributed computing infrastructure that provides glob- ally available services. The Internet’s diffusion permits an almost ubiquitous availability of attachment points, allowing users access to its infor- mation services irrespective of their location. In addi- tion, advances in cellular telecommunications and device miniaturization let increasing numbers of portable devices connect to the Internet. 1 Several forms of mobility emerge in this scenario. User mobility requires providing users with a uniform view of their preferred working environments—user preferences and subscribed services—independent of their current positions in the network. 2 Terminal mobility allows devices to transparently move and con- nect to different points of attachment. Mobile access is an emerging issue that involves the dynamic adap- tation of mobile-aware resources and services that mobile users and terminals can automatically retrieve regardless of their current location. 3 Mobile computing requires an advanced infrastruc- ture that integrates suitable support protocols, mecha- nisms, and tools. This mobility middleware should dynamically reallocate and trace mobile users and ter- minals and permit communication and coordination of mobile entities. In addition, open and untrusted envi- ronments must overcome system heterogeneity and grant the appropriate security level. Solutions to these issues require compliance with standards to interoper- ate with different systems and legacy components and a reliable security infrastructure based on standard cryp- tographic mechanisms and tools. Many proposals suggest using mobile agent technology middleware to address these issues. 4-6 A mobile agent (MA) moves entities in execution together with code and achieved state, making it possible to upgrade distributed computing environments without suspending service. We propose three mobile computing services: user vir- tual environment (UVE), mobile virtual terminal (MVT), and virtual resource management (VRM). UVE provides users with a uniform view of their working environments independent of current locations and specific terminals. MVT extends traditional terminal mobility by preserv- ing the terminal execution state for restoration at new locations, including active processes and subscribed ser- vices. VRM permits mobile users and terminals to main- tain access to resources and services by automatically requalifying the bindings and moving specific resources or services to permit load balancing and replication. MOBILE AGENTS IN MOBILE COMPUTING Mobile computing benefits from the asynchronicity between user requests and terminal operations and their execution. For example, wireless connections impose strict constraints on available bandwidth and communication reliability minimizing connection time for wireless device support. The MA paradigm does not need continuous network connectivity because con- nections last only long enough to inject agents from mobile terminals into the fixed network. With autonomous agents, users can access services even if the terminal disconnects because the agents deliver the results upon reconnection. 4-6 Mobility middleware’s location awareness facilitates service-specific optimization and allows users to adapt to Mobile agent-based middleware shows promise for providing an advanced infrastructure that integrates support protocols, mechanisms, and tools to permit communication and coordination of mobile entities. Paolo Bellavista Antonio Corradi University of Bologna Cesare Stefanelli University of Ferrara

Mobile agent middleware for mobile computing

  • Upload
    c

  • View
    213

  • Download
    1

Embed Size (px)

Citation preview

Page 1: Mobile agent middleware for mobile computing

0018-9162/01/$10.00 © 2001 IEEE March 2001 73

R E S E A R C H F E A T U R E

Mobile AgentMiddleware forMobile Computing

The integration of the Internet with telecom-munication networks promises a distributedcomputing infrastructure that provides glob-ally available services. The Internet’s diffusionpermits an almost ubiquitous availability of

attachment points, allowing users access to its infor-mation services irrespective of their location. In addi-tion, advances in cellular telecommunications anddevice miniaturization let increasing numbers ofportable devices connect to the Internet.1

Several forms of mobility emerge in this scenario.User mobility requires providing users with a uniformview of their preferred working environments—userpreferences and subscribed services—independent oftheir current positions in the network.2 Terminalmobility allows devices to transparently move and con-nect to different points of attachment. Mobile accessis an emerging issue that involves the dynamic adap-tation of mobile-aware resources and services thatmobile users and terminals can automatically retrieveregardless of their current location.3

Mobile computing requires an advanced infrastruc-ture that integrates suitable support protocols, mecha-nisms, and tools. This mobility middleware shoulddynamically reallocate and trace mobile users and ter-minals and permit communication and coordination ofmobile entities. In addition, open and untrusted envi-ronments must overcome system heterogeneity andgrant the appropriate security level. Solutions to theseissues require compliance with standards to interoper-ate with different systems and legacy components anda reliable security infrastructure based on standard cryp-tographic mechanisms and tools.

Many proposals suggest using mobile agent technologymiddleware to address these issues.4-6 A mobile agent(MA) moves entities in execution together with code andachieved state, making it possible to upgrade distributedcomputing environments without suspending service.

We propose three mobile computing services: user vir-tual environment (UVE), mobile virtual terminal (MVT),and virtual resource management (VRM). UVE providesusers with a uniform view of their working environmentsindependent of current locations and specific terminals.MVT extends traditional terminal mobility by preserv-ing the terminal execution state for restoration at newlocations, including active processes and subscribed ser-vices. VRM permits mobile users and terminals to main-tain access to resources and services by automaticallyrequalifying the bindings and moving specific resourcesor services to permit load balancing and replication.

MOBILE AGENTS IN MOBILE COMPUTING Mobile computing benefits from the asynchronicity

between user requests and terminal operations andtheir execution. For example, wireless connectionsimpose strict constraints on available bandwidth andcommunication reliability minimizing connection timefor wireless device support. The MA paradigm doesnot need continuous network connectivity because con-nections last only long enough to inject agents frommobile terminals into the fixed network. Withautonomous agents, users can access services even ifthe terminal disconnects because the agents deliver theresults upon reconnection.4-6

Mobility middleware’s location awareness facilitatesservice-specific optimization and allows users to adapt to

Mobile agent-based middleware shows promise for providing an advancedinfrastructure that integrates support protocols, mechanisms, and tools topermit communication and coordination of mobile entities.

Paolo BellavistaAntonio CorradiUniversity ofBologna

CesareStefanelliUniversity ofFerrara

Page 2: Mobile agent middleware for mobile computing

74 Computer

local resources. Mobile users can change location anddynamically tailor mobility-enabled applications to theproperties and characteristics of their network con-nections and hardware devices. Location awarenessfacilitates allocation visibility up to the application levelsupporting dynamic quality of service (QoS) adapta-tion to local needs.5,6 In addition, MA simplifiesdynamic personalization by following user movementsand tailoring service depending on personal preferences.

Mobility stresses the importance of flexible andextensible middleware. The dynamic distribution ofcode typical of MA platforms requires new compo-nents and protocols to adapt to evolving service anduser requirements. Mobile agents provide flexibility

by moving code and preserving the state the compu-tation produces.

Mobility raises significant security issues for auth-entication of mobile users and terminals, authoriza-tion to access system resources, and communications’secrecy and integrity assurance. After the pioneeringwork of IBM Aglets,7 recent MA platforms provideflexible mechanisms and policies to grant the mostsuitable security level.8,9 For example, many MA sys-tems integrate with public key infrastructures, sim-plifying authentication of mobile users and terminals.The “Approaches and Solutions to Mobile Comput-ing” sidebar provides a summary of the findings inrecent studies investigating mobility issues.

Current research focuses on threeaspects of deploying services in a mobilecomputing environment: user mobility,terminal mobility, and mobile access toresources.

User Mobility Facilitating user mobility independent

of both terminal properties and currentphysical location requires an infrastruc-ture that authenticates user access andorganizes the working environmentaccording to information in the user pro-file. The profile includes the graphicalinterface information and all user prefer-ences such as the default language,required security level, and subscribed ser-vices. Profiles can also include user-spec-ified information to adapt the workingenvironment to the current terminal’shardware characteristics. For example, ifthe user connects via a PDA with limitedbandwidth and limited graphic resolu-tion, discarding large images makes sense.

The Universal Mobile Telecommuni-cations System proposes a service infra-structure based on the concept of a virtualhome environment1 in which users haveaccess to the same personalized features,interfaces, and services regardless of thecurrent hosting network. Profile prefer-ences, terminal equipment, and currentnetwork conditions determine the user’sworking environment. The World WideWeb Consortium promotes the compositecapability/preference profile, a standard

proposal for the representation of profileinformation and the exchange protocol,based on the resource description formatencoded in XML.2 Developers are con-sidering CC/PP to tailor the provision ofInternet services to the specific character-istics of WAP mobile phones.3 In addition,the Foundation for Intelligent andPhysical Agents is working to define anagent interoperability framework fornomadic support that provides informa-tion for user profile management andmobile device characteristics.4

Several proposals integrate both userpreferences and information about cur-rent terminal characteristics in the userprofile. Although personalization andadaptation of services both need user- andterminal-dependent information, the twodimensions should be cleanly decoupled.User profiles should contain only user-related information, and devices shouldindependently inform the support infra-structure of their characteristics. Thisapproach achieves maximum flexibilityand reusability so that the same user canexploit a set of different terminals withdifferent characteristics.

Terminal Mobility Many state-of-the-art proposals address

terminal mobility at the lower layers of theOSI protocol stack. Network layer proto-cols such as mobile IP5 associate a mobilehost with two IP addresses. The firstaddress represents the current point of

attachment to the network, while the sec-ond reflects the mobile host’s homeaddress—the address of a fixed care-ofentity that traces the mobile host’s currentposition. Mobile IP is backward compat-ible with IP but cannot achieve optimalrouting because it always requires packetsto pass through the care-of entity. Anothersolution, IPv6,5 adopts an approach sim-ilar to mobile IP but also provides accept-able performance and excellent scalabilityby permitting senders to cache informa-tion about the current location of theirmobile destinations. As with all new pro-tocol proposals, however, accepting andadopting IPv6 is likely to be a longprocess.

The IEEE 802.11 standard addressesthe issue of wireless communication inlocal area networks. This standard cov-ers a broad area ranging from the physi-cal-media layer that defines frequenciesand their usage to the media-access layerthat defines basic packet framing andheaders. Unfortunately, not all wirelessdevice producers have accepted 802.11,which makes full multivendor interoper-ability a long-term hope at best.6

The lengthy acceptance process newprotocols undergo has motivated pro-posals for programmable network archi-tectures that simplify protocol proto-typing and deployment.7 While program-mable networks are still an open researchissue, other TCP/IP-based solutions forspecific aspects of mobility support exist.

Approaches and Solutions to Mobile Computing

Page 3: Mobile agent middleware for mobile computing

Interoperability allows mobile users and terminalsto interact with available resources and services whenmoving between hosting environments. To addresssimilar problems, MA research promotes interopera-ble and standard interfaces. For example, some MAplatforms already are compliant with Corba andrelated standards, such as the Mobile Agent SystemsInteroperability Facility and the Foundation forIntelligent Physical Agents specifications.10 MASIFdefines standard interfaces for the basic functions ofagent management and transfer between heteroge-neous MA systems. FIPA standardizes the generalarchitecture of agent platforms and focuses on inter-operable agent communication languages.

Some MA environments support various forms ofmobility. MA research mainly focuses on terminalmobility. Using a mobile application support envi-ronment, the ACTS OnTheMove project adapted anexisting MA system to provide a gateway for mobil-ity between fixed and wireless networks.4 DartmouthAgent TCL writes agents in different languages—suchas TCL, Java, and Scheme—and implements a dock-ing station in charge of forwarding agents and mes-sages to mobile terminals.5 The Discovery MA systemsupports terminal mobility by implementing an infra-structure that notifies all interested agents of distrib-uted events, such as the connection and disconnectionof a mobile device.11 Other MA proposals concentrate

March 2001 75

For example, the Dynamic Host Config-uration Protocol can automate the con-figuration of nomadic hosts by dynamic-ally assigning temporary IP addresses.8

Network-layer approaches may notprovide a flexible enough solution to fun-damental mobility issues such as securityand interoperability that appear at ahigher level of abstraction and can bene-fit from standard tools at the applicationlevel.9

Mobile Access to ResourcesResearch activities have not fully

addressed the issue of maintaining accessto available resources and services whilemoving. This capability requires mobility-enabled naming solutions to maintain theinformation about availability and allo-cation of resources and services. The twomain categories of naming solutions suit-able to mobility applications are discov-ery and directory services.

Discovery services usually employ sim-ple protocols to obtain information aboutentity location, such as address and sim-ple configuration data, with a minimalknowledge of hosting environments.Recent research has produced widelyaccepted distributed protocols to main-tain information about current resourceavailability in local networks and toanswer simple queries. Different imple-mentations reflect the different types ofresources they classify, from simpleembedded devices, as in Microsoft’s sim-

ple service discovery protocol for its pro-prietary Universal Plug and Play,10 tomore complex service components, suchas those in Jini and the Service LocationProtocol.8

Directory services usually organizenames and properties for registered enti-ties flexibly and facilitate browsing allregistered information with complexsearch patterns. Apart from the tradi-tional work on directory standards, suchas the X.500 directory access protocol,the Internet community has defined thesimplified Lightweight Directory AccessProtocol that runs directly on top ofTCP/IP.

Using discovery and directory servicesto automatically maintain and updatebindings to resources and services inmobility scenarios is still in its infancy.The first proposals agree on the necessityof using middleware to transparentlyreestablish TCP/IP connections in no-madic computing11 and the need for auto-matic adaptation of service flows to thetype of resources currently available toPDAs.12

References1. European Telecommunications Standards

Institute, Universal Mobile Telecommu-nications Systems; http://www.etsi.org/umts/.

2. W3 Consortium, “Composite Capabil-

ity/Preference Profiles (CC/PP)”; http://www.w3.org/TR/NOTE-CCPP/.

3. Wireless Application Protocol (WAP)Forum; http://www.wapforum.org/.

4. Foundation of Intelligent Physical Agents(FIPA); http://www.fipa.org/.

5. P. Bhagwat, C. Perkins, and S. Tripathi,“Network Layer Mobility: An Architec-ture and Survey,” IEEE Personal Comm.,June 1996, pp. 54-64.

6. Wireless Local Area Networks Commit-tee, “IEEE P802.11”; http://grouper.ieee.org/groups/802/11/index.html.

7. K. Psounis, “Active Networks: Applica-tions, Security, Safety, and Architec-tures,” IEEE Comm. Surveys; http://www.comsoc.org/pubs/surveys, 1999.

8. C. Perkins, “Plug & Play Internet,” Inter-net Computing, July/Aug. 1999, pp. 42-44.

9. J. Bolliger, and T. Gross, “A Framework-Based Approach to the Development ofNetwork-Aware Applications,” IEEETrans. Software Eng., May 1998, pp.376-390.

10. Microsoft Corp., “Universal Plug andPlay Forum Resources”; http://www.upnp.org/resources.htm.

11. J.S. Hansen et al., “Dynamic Adaptationof Network Connections in Mobile Envi-ronments,” Internet Computing, Jan./Feb. 1998, pp. 39-48.

12. A. Fox et al., “Adapting to Network andClient Variation Using InfrastructuralProxies: Lessons and Perspectives,” IEEEPersonal Comm., Oct. 1998, pp. 8-24.

Page 4: Mobile agent middleware for mobile computing

76 Computer

on user profiling, VHE, and directory services.6 Howto maintain and requalify the bindings of mobile enti-ties with (possibly mobile) resource and service com-ponents remains an open research area.

MA-BASED MOBILITY MIDDLEWAREImplementing MA-based middleware to support

mobile computing requires extending the MA plat-form architecture, which is generally organized in lay-ered services.8,9 In particular, MA implementationentails adding a new layer of mobility services to refinethe usually provided core services. As Figure 1 shows,this layer includes a mobility-enabled naming serviceand three services—user virtual environment, mobilevirtual terminal, and virtual resource management—to support user mobility, terminal mobility, andmobile access to resources.

Mobility naming services A mobility-enabled naming service capable of trac-

ing entities that move in the global Internet environ-ment requires basic mechanisms to assign globallyunique identifiers (Guids). For mobile purposes, a sin-gle centralized identification authority would intro-duce unacceptable reliability and overload problems.Frequently, proposed solutions partition the globalenvironment in non-overlapping regions, with eachregional identification authority in charge of servingits zone. Guids are usually very low-level identifiers;naming services can associate entities with severalnames that are Guid aliases, suitable for service devel-opers and final users.

Naming services not only translate a high-levelname into the corresponding Guid, but also maintaininformation about current entity location. Conse-quently, mobility stresses the naming service to thelimit because it should intervene at any migration andat any mobile entity search. Different naming ser-vices—discovery and directory—can support mobility,and applications should choose the most suitable ser-vice depending on their specific domain. The discov-ery service generally provides information to its clientson a local scale without requiring specific knowledge;a client typically requests the service with a broadcast

in the local network. Independent distributed serversthat provide information for a specific locality usuallyimplement discovery services. Because of restrictedvisibility scope and limited query flexibility, many dis-covery services exhibit excellent performance.

The directory service gives global visibility to allauthorized clients. It permits entities to register in flex-ible hierarchies and can answer advanced queries withpattern matching on complex attributes. Distributedservers implement scalable directory services: theymanage partially replicated copies of the names spaceand coordinate with each other to answer globalrequests. Caching copies of frequently asked infor-mation can improve performance.

Discovery and directory services differ in visibilityscope—local versus global; flexibility—rigidly prede-fined and simple structure versus flexible content andorganization; and performance—limited low-level effi-cient protocols versus complete but expensive high-level searching and registering operations. All theseproperties are relevant for mobile computing and sug-gest that a naming service should integrate the differ-ent solutions. Because of the overhead of registeringoperations, only globally available entities that do notmove too often should take advantage of directoryservices. Discovery solutions, on the other hand, pro-vide access to entities that move often within the samelocality. Both naming services require security solu-tions to restrict access only to authorized users.

User virtual environmentThe UVE service lets users connect to the Internet at

different locations, possibly via heterogeneous termi-nals, while maintaining the personal configurationsindicated in their user profiles. Users specify profileinformation at the first registration, which they canmodify at any time. This information includes com-mon attributes such as the preferred icon arrangementon the display, as well as more complex data such aspersonal X.509 certificates, the resources requested tothe hosting environment for ordinary tasks, and userconstraints to direct QoS adaptation to the currentterminal type. For example, in a connection estab-lished via mobile phone, the user can direct the mobil-

Mobility-enablednaming

User virtualenvironment

Mobile virtualterminal

Mobility services

Core MA services (identification, transport, . . .)

Heterogeneous distribution system

Virtual resourcemanagement

Figure 1. MA-basedmiddleware. Thearchitecture is orga-nized in layered ser-vices. The coreservices layer isrefined by the additionof a mobility serviceslayer that supportsuser mobility, terminalmobility, and mobileaccess to resources.

Page 5: Mobile agent middleware for mobile computing

ity middleware to discard large attachments fromincoming mail.

UVE stores user profiles at the “user home”—afixed host where the user first registered. For increasedreliability and efficiency, UVE replicates and cachesuser profile copies at several other locations. UVEmakes user profiles globally available by exploiting adirectory service that can transparently map requeststo the most convenient UVE server available, accord-ing to any user-preferred metric such as network dis-tance, response time, load balancing, and so on.

UVE benefits greatly from an MA-based imple-mentation because mobile agents simplify dynamicdistribution of UVE information. In addition, MAsupport provides automatic and manual mechanismsthat save the user session’s state and then transportsand restores those settings to a new location wherethe user can find previously configured services, pos-sibly adapted and scaled. UVE also yields executionresults to users regardless of their current location.When a user is disconnected, UVE commands theMA-based middleware to temporarily freeze theagents with the results. These agents then restart onlyat user reconnection.

UVE must ensure privacy of user profile informa-tion. Towards this end, the security service mustenforce user authentication and support a secure com-munication channel. There are several cryptographicprotocols and infrastructures that offer standard solu-tions suitable for the Internet environment, for exam-ple, secure socket layer and public key infrastructures.

Add-ons can enhance the UVE service. For a regu-larly mobile user, the MA infrastructure can arrangeresult delivery in advance. If the user expressesrepeated interest in a particular query’s results, such asthose for selected stock updates, the MA can send theresults to locations that the user specifies.

Mobile virtual terminalMVT supports the migration of mobile devices

among different locations by permitting the mobileterminal to continue execution while preserving thestate of its interactions with the network. The proto-cols cited in the sidebar provide the first steps towardMVT support, but they address only network con-nectivity. MA-based mobility infrastructures, instead,simplify the tracing of mobile terminals, dynamicrebinding of resources and services, support of out-of-band computations, and persistence of the inter-action state.

MA platforms facilitate the tracing of mobile ter-minals. We generally use care-of solutions, discoveryservices, and directory services to establish traceabil-ity after migration. An agent at a fixed location canact as the care-of entity, forwarding messages for itsmobile device. A discovery service might keep track

of a mobile terminal within a network locality.A directory service makes mobile devices visibleto all authorized entities in the global systembut imposes a larger run-time overhead. Anintegrated middleware architecture must pro-vide service developers with support for anysolution.

In addition, any mobile terminal should con-tinue to access the needed network resourcesand services independently of its location. MVTinteracts with VRM to provide several solu-tions. MVT requalifies terminal references bybinding to equivalent resources and services inthe new locality. If requalification is impossibleor undesired, MVT maintains references to cur-rently remote resources. It also supports the creationof new bindings to previously unknown resources andservices.

The MA-based MVT implementation supports out-of-band computations—noninteractive operationsperformed while the terminal is disconnected. Beforeterminal disconnection, MVT commands agents run-ning on the mobile device to migrate to hosts in thefixed network. Agents operate asynchronously withthe disconnected terminal. When a mobile terminalreconnects at another attachment point, MVT deliv-ers waiting agents and messages to that device.

In addition, MA platforms provide a migration ser-vice that serializes both agent code and execution stateinto streams suitable for network transfer and stor-age persistency. MVT exploits MA serialization tomarshal and unmarshal the terminal session state onstable storage media and continue the execution fromrecovered information. This persistency checkpoint ishelpful in critical situations like a connectivity loss ora power shortage.

MVT addresses the security and interoperabilityissues also inherent in MA-based implementation.MVT exploits MA security tools—authentication viaX.509 certificates, flexible authorization policies, andstandard cryptographic libraries—to grant security tomobile terminals. It employs the interoperability solu-tions available in MA platforms—Internet protocolsadoption and Corba compliance—to integrate mobileterminals with heterogeneous resources and services.

Virtual resource managementVRM maintains information about the properties

and current location of available resources and ser-vices. For terminal mobility, VRM implements theserver-side functions to establish dynamic connectionsbetween mobile terminals and needed resources, justas MVT provides the client-side functions.

An MA-based implementation of VRM facilitatesthe modification and migration of system resourcesand services at runtime, enabling complex manage-

March 2001 77

MA platformsprovide a migration

service that serializes both agentcode and executionstate into streams

suitable for networktransfer and storage

persistency.

Page 6: Mobile agent middleware for mobile computing

78 Computer

ment operations. For example, an administrator canconfigure VRM to favor locality in resource access andto balance the system load by dynamically redistrib-uting components. Moreover, MA-based middlewarecan maintain pending bindings to agent-wrappedmigrated resources.

MA’s flexible naming service is beneficial for mobileresources and services. VRM employs discovery anddirectory solutions depending on resource and servicerequirements. For example, VRM can direct the dis-covery service to retrieve a folder for one developerteam working locally on a LAN. If the project requiresthe collaboration of other departments, VRM can reg-

ister the resource at the directory service to providewider accessibility to all authorized developers.

Global scenarios require VRM to address resourceand service heterogeneity. MA systems employ Javaobject technology to wrap resources into agents thatstandardize interfaces and control access; MA frame-works also use Corba to simplify integration withlegacy systems.8,9 Agent wrapping makes it possibleto use established MA security mechanisms and poli-cies to control, monitor, and log accesses to resources.Migrating mobile agents during network transmissionand hosted execution requires additional measures toensure the security of resources and service components.

Defaultplace

Place 3

Place 2

Place 1Domain A

Defaultplace

Place 2

Place 1

Domain C

Place 2

Place 1

Domain B

Mobileplace

Mobileplace

Defaultplace

Corbalegacy system Corba

Figure 2. SOMA architecture. The layered infrastructureincludes mobilitymiddleware, core services, a Java vir-tual machine, and aheterogeneous distri-buted system fordesigning, imple-menting, and deploy-ing MA-based Internetapplications.

User virtualenvironment

Mobility virtualterminal

Virtual resourcemanagement

Mobility middleware

SOMA core services

Java virtual machine

Heterogeneous distribution system

Communication Migration Naming Security Interoperation Persistency QoSAdaptation

Figure 3. SOMA local-ity abstractions. Eachnode provides at leastone place for agentexecution, and placesare grouped intodomains. Eachdomain has a defaultplace in charge ofinterdomain routingand Corba-basedinteroperability.

Page 7: Mobile agent middleware for mobile computing

The MA technology has already faced similar problemsto ensure the integrity and privacy of mobile agents dur-ing both network transmission and hosted execution.

SOMA-BASED MIDDLEWARE The secure and open mobile agent (SOMA) dis-

tributed programming framework9 is a Java-basedplatform that provides a layered service infrastructurefor designing, implementing, and deploying MA-basedInternet applications. As Figure 2 shows, SOMA’sarchitecture consists of four layers. The mobility mid-dleware layer implements UVE, MVT, and VRM ser-vices. The core services layer includes communication,migration, naming, security, interoperability, persis-tency, and QoS adaptation services. The architecture’sother two layers are a Java virtual machine and a het-erogeneous distributed system.

SOMA offers locality abstractions to describe anykind of interconnected system, from simple intranetLANs to the Internet. Each node provides at least oneenvironment for agent execution called place—anagent execution environment. SOMA groups severalplaces into domain abstractions that correspond tonetwork localities. In each domain, a default placecontrols interdomain routing and integration withlegacy components via Corba. In the example shownin Figure 3, a mobile place has migrated from domainC to domain B. The mobile place enhances the placelocality abstraction with specific functions for auto-matic reconfiguration when changing domains.

SOMA mobility services SOMA’s persistency service lets application designers

and system administrators suspend agent execution bystoring the agent’s state on disk. The persistency ser-vice uses SOMA’s migration service to serialize bothagent code and data, saving the information in persis-tent storage. Persistency minimizes the consumption ofsystem resources while agents wait for a disconnectedresource. In addition, persistency provides fault-tolerance by duplicating and storing agent copies beforestarting critical operations. MVT employs persistencyto freeze and wake up agents and messages when userand terminal disconnects and reconnects occur.

SOMA naming derives from care-of mechanismsfor locating mobile agents and places. The care-of forany mobile agent to be traced should be located whereit was first created (agent home). Similarly, the care-of for any mobile place is located at the instantiationdomain’s default place (place home). SOMA’s mid-dleware transparently updates agent homes at theirmigration and places homes at their connection or dis-connection. SOMA mobile agents and places haveGuids independent of their current position. Guidsconsist of the corresponding home’s identifier associ-ated with a number unique in the home locality. For

example, a mobile place owns a Guid of the formDomainID, progNumber where DomainID is theaddress of its place home. This solution permits imme-diate identification of the home, without querying thenaming service.9 In addition to providing basic nam-ing mechanisms, SOMA middleware integrates a dis-covery protocol and an LDAP-based directory service.

The discovery service provides the default solutionfor resource naming within a SOMA domain. Abroadcast protocol registers and deregisters resourcesat the discovery server located at the default place.The expected low frequency of resource migrationand locality resource access suggest the choice of dis-covery. To date, SOMA has used a proprietary dis-covery protocol, but we are implementing anSLP-compliant solution.8

All entities that need global visibility register to theLDAP-based SOMA directory service. The LDAPdirectory server keeps its entity names and coordi-nates with other servers to maintain global consis-tency and to resolve external names. For example, inour department, the LIA user profiles shown in Figure4 are registered at the directory service to providemobile users with corresponding preferences from anylocation. After migration, resources can override thedefault discovery solution and register with theSOMA directory for wider accessibility.

SOMA mobility usage scenarioFigure 5a shows the UVE interface for profile mod-

ification. The profile reports personal data, user secu-rity requirements, user suggestions for the SOMA QoS

March 2001 79

Figure 4. SOMA’s LDAP directory service as applied in a university computer sciencedepartment. The SOMA-based UVE exploits the directory service to retrieve the LIA userprofiles independently of the user’s current point of attachment.

Page 8: Mobile agent middleware for mobile computing

80 Computer

adaptation service, and the availability of X.509 cer-tificates in the SOMA directory.

In the example in Figure 5b, the MP1 mobile placeis coming from the Bologna domain and requestingentrance to the new hosting domain at Ferrara. MVTupdates the care-of at the MP1 home with Ferrara’scurrent location information. One mobile agent andtwo messages sent to agents in execution are frozenat the MP1 home during MP1 disconnection. MVTforwards all suspended entities to MP1 in Ferrara.Then, VRM provides for requalification of Web accessaccording to the user profile.

Before leaving Bologna, the user owned a bindingto the corresponding Web proxy server in the Bolognadomain. At reconnection in Ferrara, VRM first inter-rogates the discovery service about the availability ofone equivalent Web proxy. If a local proxy is avail-able, VRM rebinds MP1 to it; otherwise, VRM asks

the directory. If many functionally equivalent Webproxies were available, as in Figure 3, MVT wouldhave prompted the user for a choice. Finally, MVTupdates the Ferrara discovery server to include MP1,which can work as a SOMA fixed place.

SOMA mobile agents implement the UVE, MVT,and VRM services. This facilitates distribution of themobility middleware and simplifies enforcement ofbalancing and replication policies. In addition, theJava-based implementation of the mobility middle-ware overcomes platform heterogeneity and appliesto the open Internet.

M obile-code technologies already address theproblems that stem from changing the allo-cation of executing entities. Guidelines drawn

from these solutions help identify and fulfill mobilecomputing requirements. Available mobile-code tech-nologies only partially address the problems raisedby changing the allocation of executing entities. Theimplementation of our mobility middleware con-firmed that a layered and modular MA-based serviceinfrastructure can support a wide range of mobilecomputing requirements. SOMA’s UVE, MVT, andVRM service layer provides a coordinated and flexi-ble middleware that application designers can use todesign and deploy Internet services that operate in anenvironment where users, terminals, resources, andservices are all mobile. ✸

AcknowledgmentsThis research was supported by the Italian National

Research Council through the Global Applications inthe Internet Area and by the Italian Ministry ofUniversity in Infrastructure for QoS in Web Multi-media Services with Heterogeneous Access.

References1. T. Lewis, “Information Appliances: Gadget Netopia,”

Computer, Jan. 1998, pp. 59-68. 2. A. Kumar, “Third-Generation Personal Communication

Systems,” Proc. IEEE Int’l Conf. Personal WirelessComm., IEEE Press, Piscataway, N.J., 1996, pp. 313-318.

3. J. Jing, A.S. Helal, and A. Elmagarmid, “Client-ServerComputing in Mobile Environments,” ACM Comput-ing Surveys, June 1999, pp. 117-157.

4. E. Kovacs, K. Rohrle, and M. Reich, “Integrating MobileAgents into the Mobile Middleware,” Proc. MobileAgents Int’l Workshop, Springer-Verlag, Berlin, 1998,pp. 124-135.

5. D. Kotz et al., “Agent TCL: Targeting the Needs ofMobile Computers,” Internet Computing, July/Aug.1997, pp. 58-67.

Figure 5. SOMA usage scenario. (a) UVE user profile information summary. (b) Mobileplace interactions with the MVT and VRM services at reconnection in the Ferrara domain.Using SOMA mobile agents to implement UVE, MVT, and VRM services facilitates mobilitymiddleware distribution and simplifies enforcement of balancing and replication policies.

(a)

(b)

Page 9: Mobile agent middleware for mobile computing

6. S. Lipperts and A. Park, “An Agent-Based Middleware:A Solution for Terminal and User Mobility,” ComputerNetworks, Sept. 1999, pp. 2053-2062.

7. D. Lange and M. Oshima, Programming and Deploy-ing Java Mobile Agents with Aglets, Addison-WesleyProfessional, Boston, Mass., 1998.

8. A. Tripathi et al., “Distributed Collaborations UsingNetwork Mobile Agents,” Symp. Agent Systems andApplications/Mobile Agents, Springer-Verlag, Berlin,2000, pp. 126-138.

9. P. Bellavista, A. Corradi, and C. Stefanelli, “Protectionand Interoperability for Mobile Agents: A Secure andOpen Programming Environment,” IEICE Trans.Comm., May 2000, pp. 961-972.

10. D. Milojicic et al., “MASIF: the OMG Mobile Agent Sys-tem Interoperability Facility,” Proc. Mobile Agents Int’lWorkshop, Springer-Verlag, Berlin, 1998, pp. 50-67.

11. S. Lazar, I. Weerakoon, and D. Sidhu, “A Scalable Loca-tion Tracking and Message Delivery Scheme for MobileAgents,” IEEE Int’l Workshop on Enabling Technolo-gies, IEEE Press, Piscataway, N.J., 1998, pp. 243-248.

Paolo Bellavista is a PhD student in computer scienceengineering at the University of Bologna. His researchinterests include distributed computing, distributedobjects, mobile agents, network and systems manage-ment, adaptive multimedia systems, and mobile com-

puting. He received a Laurea in electronic engineeringfrom the University of Bologna. He is a student mem-ber of the IEEE, the ACM, and the Italian Associa-tion for Computing. Contact him at [email protected].

Antonio Corradi is a full professor of computer sci-ence at the University of Bologna. His research inter-ests include distributed systems, object and agentsystems, network management, and distributed andparallel architectures. He received an MS in electricalengineering from Cornell University. He is a memberof the IEEE, the ACM, and the Italian Associationfor Computing. Contact him at [email protected].

Cesare Stefanelli is an associate professor of computerscience at the University of Ferrara. His research inter-ests include distributed and mobile computing, mobilecode, network and systems management, and networksecurity. He received a PhD in computer science fromthe University of Bologna. He is a member of theIEEE and the Italian Association for Computing.Contact him at [email protected].

March 2001 81

SETINDUSTRY

STANDARDS

computer.org/standards/

HELP SHAPE FUTURE TECHNOLOGIES • JOIN A COMPUTER SOCIETY STANDARDS WORKING GROUP AT

Computer Society members work together to define standards like IEEE 1003, 1394, 802, 1284, and many more.

Posix

FireWiretoken rings

gigabit Ethernet

wirelessnetworks

enhanced parallel ports