Problem. Most agent systems rely on unique and extensive infrastructures that must be widely available if the systems are to be widely used. This is an obstacle to the widespread adoption of agent technology.
Objective. We wanted to demonstrate that agent technology could scale to global proportions by leveraging an existing infrastructure, rather than propagating a new one.
Approach. eGents is, basically, agents communicating over email. Email is pervasive and robust and already provides many functions an agent system needs - message queuing, encryption, filtering, firewall traversal, support for mobile users. The eGent platform is a multi-threaded Java app with access to an email account on an SMTP/POP3 server. Individual eGents are identified by their name and the email address of the platform, and are managed as threads in the eGent platform's process. Messages are in a subset of FIPA ACL (subscribe & inform), encoded in XML, and sent as the body of an email message.
Recent Progress: (a) We ported eGents to a wireless Palm using Sun's newly released Java for devices, KVM, a troublesome port because of KVM's bleeding-edge nature, lack of tools, and because most Java code will not run under KVM, including most of Sun's Java class libraries, and all of the third party code on which eGents depended. The result runs, but is slow. The main benefit is that it should port easily to other devices (set top boxes, smart phones). (b) We built the eGentGridAgent proxy which extends the grid by demonstrating interoperability of GridAgents with agents that are less "connected". We could have just made a proxy for the PSM demo, but spent a little more time coming up with a generic proxy. We didn't want the eGents platform or an individual eGent to know anything about the Grid, or vice versa. The only component of the system that knows anything about both is the eGentGridAgent, which is just an eGent to eGents and just a GridAgent to the Grid. We wanted to keep the protocol situation simple. We didn't want an eGent to have to know LAN protocols, like Jini or HTTP or RMI or anything that made the eGent less mobile, disconnected, and asynchronous. So, an eGent can be "on the Grid" without knowing anything about the Grid. Another alternative for integrating eGents and the grid would be to extend the grid to provide multiple native communication protocols.
Demonstrations. The initial eGents demonstration was a technical report subscription service. For the Science Fair, we developed an eGents demo for a NEO-like scenario. We assume that NEO evacuees have Personal Status Monitors (PSMs) that monitor location, medical status, threats, etc. These PSMs contain eGent platforms and periodically exchange status updates with subscribers, e.g., command posts, medevac units, state department monitors.
Plans. (a) install Java version of eGents on 7x24 Grid, (b) integrate eGents into Grid as an alternate transport, esp. for LAN-to-LAN bridging, and install on 7x24 Grid, (c) insert eGents into MIATA and/or CoAX TIEs, (d) prepare a public release of the Java version, (e) speed up eGents on the Palm under KVM, if possible, else port to C++, (f) prepare a public release of Palm version, (g) demonstrate email-based eGent installation, (h) integrate Java security and make eGentsí security policy easier for the user to understand and trust, (i) use eGents to study grid control schemes.
Technology Transition. We developed an application demonstration involving NEO evacuee status monitoring for the Science Fair, since ported to the PalmOS. The encoding of FIPA ACL in XML and the JavaMail/MAPI API are candidates for standards, and so we submitted these to the FIPA-99 Call for Proposals.
System Requirements. (a) eGents should run on any Java platform, but has only been tested on Windows NT 4.0 SP3. It requires Sun's Java JDK 1.2.2, 5MB of free disk space, and an email (SMTP/POP3) account for each machine on which the eGents platform will run. (b) eGents also runs on KVM (J2ME CLDC 1.0 FCS) on the Palm Vx, the PalmOS Emulator 3.0a5, or under Windows NT. Wireless communications from the Palm is currently via the Novatel Minstrel V wireless modem, Omnisky's wireless Internet access, and AT&T's CDPD digital cellular network. (c) The eGentGridAgent has been tested with CoABS Grid v1.5.0 beta.