Mobile Agents on Mobile Devices
Guanling Chen, David Kotz, Robert Gray
Mobile computing is getting more attention nowadays and it is the ideal environment for mobile agent applications. Handheld devices carried by mobile users have shown a dramatic influx into the consumer market. With this in mind, we are interested in building a mobile agent system on current Windows CE platform, to test the system's performance and develop mobile agent applications in real world.
The hardware includes a Windows NT machine and several Windows CE handheld and palm-size computers. The CE devices are connected to Ethernet using PC card and 10BaseT cables. There are several different CE OS such as CE HPC 2.0, CE HPCPro 2.11 and CE PPC 2.01. Also, those CE devices have different processors, such as MIPS, SH3 and StrongArm. The system includes Agent VM and moving agent, both of which are developed using Microsoft Visual C++.
The agents are dynamic link libraries (DLL) stored on a web server. When an agent requests to move, the Agent VM on which the agent is running packs its state and sends to the destination Agent VM, which unpacks its state and finds the agent's URL. Then the agent's code gets downloaded using HTTP protocol and resumes running with transferred state. The agent system is completely event driven with each agent has its own event queue, while a dispatcher thread of the Agent VM is responsible for distributing the incoming and outgoing events. This light-weighted agent system supports weak mobility only.
On top of this system, Debbie Chyi built an infrastructure to provide a mobile user with a personalized information retrieval service. This "Personal Agent System" gathers information from the Internet and uses context-aware mechanisms to manage the information according to a mobile user's needs and preferences. The user's schedule and location are the context indicators in this system. These indicators are critical in ensuring that users obtain only the information they want, receive information in a form that is most useful for viewing on their mobile device, and is notified of new information in a minimally intrusive manner. The system incorporates a rule-based learning system to enhance the personalization achieved by the system.
Relevant projects, inside D'Agents:
These papers address mobile agents in the mobile computing environment:
An Infrastructure for a Mobile-Agent System that Provides Personalized Services to Mobile Devices: Debbie O. Chyi. Technical Report TR2000-370, Dartmouth College. Hanover, NH. May 2000.
Mobile Code: The Future of the Internet: David Kotz and Robert S. Gray. In Proceedings of the Workshop ``Mobile Agents in the Context of Competition and Cooperation (MAC3)'' at Autonomous Agents '99, pages 6-12, May 1999.
Agent Tcl: Targeting the Needs of Mobile Computers: David Kotz, Robert Gray, Saurab Nog and Daniela Rus, Sumit Chawla and George Cybenko. IEEE Internet Computing, 1(4):58-67, July/August 1997.
Mobile Agents: The Next Generation in Distributed Computing: Robert Gray, David Kotz, Saurab Nog, Daniela Rus and George Cybenko. In Proceedings of the Second Aizu International Symposium on Parallel Algorithms/Architectures Synthesis (pAs '97), pages 8-24, Fukushima, Japan, March 1997. IEEE Computer Society Press.
Relevant projects, outside D'Agents:
The TACOMA project
Kjetil Jacobsen and Dag Johansen: Mobile Software on Mobile Hardware -- Experiences with TACOMA on PDAs.
Kjetil Jacobsen and Dag Johansen: Ubiquitous Devices United: Enabling Distributed Computing Through Mobile Code.