Software agents: proactive help for Web users
Software agents have emerged from university laboratories to play an increasingly important role in supporting user activities on the Web. Agents are software programs that act on behalf of the user by seeking and retrieving information, performing automated tasks or negotiating with other agents. They are also referred to as intelligent agents or autonomous agents. An agent may, for example, visit several Web sites to find the best price on a particular item, monitor and report activities by a specified company, or alert the user when a stock has dropped below a certain level. They are ideally suited to business intelligence activities but have many other applications as well.
Although the definition varies, agents typically have several distinguishing features. First, they execute their activities autonomously--the user does not need to initiate each event. Second, agents are aware of their environment and can detect changes. Finally, they communicate with the user, or sometimes with other agents, to present actionable information. Agents are only as intelligent and autonomous as they are programmed to be. But as a product of the artificial intelligence and computer sciences disciplines, agents are operating at a higher level than batch programs and producing a qualitatively different user experience. For example, many software agents receive their instructions and return their answers in natural language.
Agents track Congress in real time
Congressional Quarterly has been providing information on Congressional activities for over 50 years, and its online service has been available for more than 20 years. Its publications and data are used by government agencies, lobbyists, law firms and others to monitor the progress of legislation through Congress. The online system allowed users to search interactively or receive e-mail notifications, but notifications were sent out just once a day based on a user-defined inquiry. When the service was migrated to the Web, the new system incorporated Verity's agent technology. That capability, for the first time, allowed alerts to be sent out in real time as information changed.
Larry Tunks, IT director at Congressional Quarterly, points out the subtle but important difference in how the system processes information using software agents.
"In the past, the system was running a query and matching against the data source," says Tunks. "Now, we are taking an individual piece of data and running it across a query to see if there is a match."
When the database is in terabytes, processing a single data element is much faster than searching the entire database for new information. The key difference is that the system knows when a data element changes and can initiate the alerts. That is critical in an environment where committee meeting times may change at the last minute, or when the outcome of a vote on a bill will spark an action in the organization monitoring its status.
When it comes to advice, Tunks' comments are not about technology but about relationships.
"It's important to develop a strong working relationship with your strategic partners when you implement these systems," he says. "Inevitably your project will face challenges, and a solid rapport will help you get through them."
CQ has been pleased with its three-year partnership with Verity, and hopes to extend the relationship into the realm of XML to make the printed and electronic versions of its documents compatible. Tunks also notes that judicious use of outsourcing can leverage in-house knowledge while drawing expertise from outside.
CQ developed the front end of its system in-house because skilled programming resources (in Java, for example) were available. The company was also able to apply its own knowledge of the content in developing the front end. But it sought support in developing the XML-based back end, and now is positioned to deploy that standardized data with a robust set of delivery tools.
Managing the fleet
Another application for agents involves the use of data warehouses to provide customers with critical information when and where they need it. MicroStrategy Broadcaster can send out alerts in a wide variety of formats to virtually any platform. A MicroStrategy Broadcaster-based system is being used to support GE Capital Fleet Services, which manages about 250,000 vehicles for 5,000 companies. Although the customer can log on at any time and view comprehensive maintenance reports, the system provides extra value by detecting deadlines for maintenance and alerting drivers. Managers can also use view comparative data such as the relative costs of maintaining different models, the drivers' accident records or total mileage.
When drivers are alerted to the need for maintenance, they receive a page. However, the system could as easily send an e-mail message or a text message to a mobile phone. Broadcaster is based on XML technology, which provides easy interchange of data.
"This platform independence allows MicroStrategy Broadcaster great flexibility," says Leena Mukhey, product manager for Broadcaster. "For example, the customer can set up the system to be accessible to suppliers or their own customers, without being restricted to a particular delivery mode."
While most messages are sent in natural language, data could also be routed to an Excel spreadsheet. Messages can also be delivered by MicroStrategy Telecaster in the form of intelligent dialogs to telephone, voice mail and mobile phone. The use of Telecaster Markup Language (TML), a derivative of XML, aids text-to-speech synthesis. The timing of messages is flexible, with alerts sent in real time or on a schedule.
The next step in the use of agents is to allow the user to take action in response to information. In the near future, users will be able to respond to information delivered to a by MicroStrategy Telecaster to a mobile phone or other platform through an interactive interface. For example, the user might receive a stock alert and respond by buying or selling shares. The underlying philosophy in both Broadcaster and Telecaster is that the user should receive only the information he or she needs at a given time, thus reducing the information glut, and that it should be deliverable to any platform in any location.
Logical and physical
When the founders of nQuire Software began quietly developing their product three years ago, they perceived a need to access structured data regardless of its location or format. They had observed that constructing a data warehouse was itself a major task. If that task could be avoided, implementation would be less time-consuming and less costly. The resulting product, nQuire, converts logical requests into multiple physical queries that tap into structured data sets to produce answers to complex questions. Based on user-defined parameters, notification alerts can be provided by e-mail, cell phone or pager.
One application of such a notification system is in fraud detection. A Midwest company that manages mall properties throughout the United States has implemented a system using nQuire to detect potential misuse of a promotional program in which customers receive points for shopping at specified retail outlets. The nQuire system monitors the award of points to customers by sales associates in real time. Since the points are a form of currency, the management company incurs a loss if the points are misused. Therefore, if the daily allocation exceeds the associate's average by more than 15%, an alert is sent to the management company's fraud detection group for possible action. The data, drawn from multiple sources, did not need to be put into a data warehouse but was accessed from its original location.
The advantage of such a system is evident in the time to implement, which ranges from a day to a month, assuming the data is of good quality. The key to a successful system is a good definition of the logical subject area.
"Sophisticated analyses are straightforward with nQuire," says Kurt Wolff, nQuire program director. "For example, users can request that notification be sent when an inventory drops to a certain level, or to a certain percent of the number of new orders, or to less than the average for the past six months." No matter where the data resides, the appropriate calculations can be made and integrated into the response to the user.
The MIT Media Laboratory at the Massachusetts Institute of Technology (MIT) has an active research program that encompasses many aspects of agent functioning. Remembrance agents monitor user activities and suggest other information sources of which the user may not be aware. The intent is to alleviate the problems posed by "you don't know what you don't know."
The laboratory is also working on projects relating to e-commerce, such as the application of agents to complex, dynamic marketplaces. In those settings, the agent is given a variety of conditions such as a price and a time frame, as well as a strategic direction. The agent then attempts to make the best deal for the user. Another area of research is a software product that uses natural language processing, text analysis and statistical analysis to identify and track trends and themes within textual information.
Carnegie Mellon University is working on multi-agent systems to solve problems beyond those that can be addressed by individual agents. The Software Agents Group has developed a language that allows incompatible agents to communicate with each other. A project called Retsina is developing reusable agents. Modules are used for communicating and scheduling tasks and processing requests from other agents. Applications include a multi-agent system for mission planning, personal calendar management, a news reader and a financial management system.
In the relatively near future, agents may be operating in far more sophisticated ways. Reticular Systems, which provides software that assists in developing agents, has developed a model for the Electric Power Research Institute in which agents manage the buying and selling of electric power. Each agent represents a stakeholder in the power industry--for example, a generator of electric power, a distributor or a large consumer.
"The agents have the ability to buy and sell, negotiate and conduct auctions based on unique requirements," says Reticular Systems' President Dan Ballard. Various strategies were embodied in each agent. Some are cautious, while others are aggressive, waiting until the last minute to see if prices would go down. As Web-based commerce becomes more complex, agents will provide a means of making such transactions faster and more efficient.
Another change on the horizon, though farther ahead, involves the development of agents. Right now, software agents are developed by programmers. Even with Reticular Systems' AgentBuilder tool, developers need a solid programming background in Java or another object-oriented language such as C++. However, Reticular Systems plans to develop a product that will let business users sketch out the "conversation" they want the agents to have and create the agents themselves. Just as users can now query data warehouses using OLAP tools rather than turning to the IT staff, they will be able to define their own personal agents to manage increasingly voluminous stores of information.