Information Personalization Agent Manager


User Interfaces

Inputs

Version  Document

Handlers

Architecture

Outputs

The Executive

Interfaces to other "Web" products 


iPAM

The Information Personalization Agent Manager (iPAM) is a software framework that facilitates building information channels. iPAM serves as a "glue" layer between information suppliers and information dissemination tools. iPAM consists of information agents and a manager of those agents, built as a single Java "executable." 

iPAM is an information administrators toolset that allows administrators to build information collection and dissemination services. Such services, or "channels" can be based on: 

  • Sources - FTP, HTTP, SMTP, POP, web sites, files, others
  • Dissemination protocols and tools - FTP, HTTP, SMTP, email, BackWeb, Castanet, AOL Instant Messenger, others
  • Agents written in Java to retrieve, process, and forward information

iPAM is "glueware" that can be used to bridge information sources to sinks with dissimilar formats and/or protocols. 

iPAM has an open architecture that allows administrators to write custom agents to get, process, or distribute information. Small custom Java agents can be added to the iPAM toolset and easily interconnected with existing ones. 

iPAM is not an end user tool. It does not address content browsing, or subscribing for content. Many commercial tools by many vendors address those needs. 

Example channels: 

  • A channel that queries AltaVistaô once a week concerning push technology. The findings are forwarded via email to several users
  • A channel that gets the local travel advisory checks for accidents and forwards the accident notification in the morning and evening to a personal pager
  • A channel that monitors a sofware distributors FTP URL (perhaps weekly) and creates a message identifying changes to end users 
  • A channel that takes your mail and sends subject lines to your pager


Architecture

The software is written in Java. The architecture makes extensive use of Java Interfaces. There is a built in web service as well as support for mail, ftp, and many other protocols. Further information can be found in the developer's documentation


Executive

The heart of iPAM is the executive. It provides the services that Inputs, Outputs, Handlers, and Daemons use. Some of these services are tracking directories, understanding the mapping between working directories and remote URLs, and scheduling. The executive can be configured via a number of parameters. 


Inputs

Input agents are the entry point for information into the system. They are responsible for getting information using the appropriate protocol and converting the input into a standard internal representation. 


Handlers

Handlers are agents that handle the information on its way from the sources to the outputs. They can be activated on a time schedule to collect/aggregate products into information channels. Jugglers can accept input from source agents sources and provide output to multiple output agents. Handlers share several common configuration variables


Outputs

Output agents can distribute products. They can be connected to multiple Sources and/or Handlers simultaneously. 


Daemons

Daemons are agents that can be scheduled (just like a Handlers) but they have neither inputs or outputs. See schedule for information on scheduling options. 

  • makeBackWebSubscriptionPage - builds a BackWeb subscriptions page 
  • checkpoint - commands Executive checkpointing on a schedule
  • bytesPerMinuteResourcePool - coordinates throttleBytesPerMinute Handlers
  • deleteExpiredAgents - deletes agents if the agent they depend on has run once
  • exceptionChecker - looks for exceptions in the log and notifies an administrator via Email 
  • infer - allows the Java Expert System Shell (Jess) to be embeded in iPAM to monitor and control agents
  • logFilter - examines the log file and filters out old info to keep the log file from growing without bound 
  • remoteAgentEditor - allows iPAM to be controlled externally via Java RMI


Test
Agents 

These agents are useful for testing and for making demonstrations. Most of then input agents create different types of "canned" products. 

  • getPIM1
  • getPIMByteArray
  • getPIMComplex
  • getPIMContinuous
  • getPIMDictionary
  • getPIMExpired
  • getPIMIndexed
  • passOneRandomProduct - pass one simple product from a complex input
  • putDIM1 - displays its input in a local window on the host that is executing iPAM
  • putQueuedDIM - displays a "rolling" list of id's for products sent to it


Interfaces
with Web
Products

iPAM can output via email, BackWeb, Castanet and StarBurst MFTP or it can display information on Object/FX SpatialX maps. There is also message input and output using America Online's Instant Messenger service. iPAM is extensible with custom Java "plugins." Contact cda@mitre.org for further information. 

Revised: 8 March 2000