Knowbot Programs

CNRI is developing an infrastructure for Knowbot Programs. Knowbot Programs are mobile agents intended for use in widely distributed systems like the Internet. They provide an easy-to-use architecture for the development of secure distributed agent systems. Agents can be any kind of software, and the architecture allows multiple programming languages. Agents are clearly defined, self-contained entities that interoperate with their environment in "service stations", according to specific rules.

Knowbot software could be used in a variety of applications, e.g., in data mining, to support protocol negotiation between geographically distributed systems, and to mediate access to information in a network environment. One target application for an agent-based system is digital libraries that contain sensitive documents. Using an agent-based system for access could enable any entity to view any document in the library, but restrict editing or removing a document to entities with a required security clearance. Opening up digital libraries to trusted agents would allow more flexible searches over larger data sets.

A Java implementation is being developed that has digitally signed knowbots and uses the Handle System for identifying service stations. For more information, contact hdladmin@cnri.reston.va.us. See also "Knowbot System Software", an earlier experimental prototype implementation in Python.