TriggerMan and Vigilert (Database Alerting Software)

  • Update - November 17, 2009:

The source code for TriggerMan and it's successor Vigilert was released under a very-BSD-like license (free and open source as long as you put in the copyright attribution notice) and is available for download here: http://github.com/aevernon/triggerman/

It currently has these system requirements:

    • Vigilert is available as a middleware on Windows NT/2000/XP for the following database information sources: Oracle 8i and higher, Microsoft SQL Server 7.0 and higher, and Informix Dynamic Server 9.2 and higher.

    • Vigilert is also available as a DataBlade for Informix Dynamic Server 9.2 and higher on Windows NT/2000/XP, Solaris 8 and higher, HPUX 11.0, and Linux.

But the author told me that they intend to make it work under PostgreSQL and offer optional commercial support for it via his company:

http://vegainformatics.biz/services.php

TriggerMan

TriggerMan was a project done at the University of Florida under the direction of Dr. Eric N. Hanson under a grant from the Air Force Research Laboratory.  The final technical report is here:

Support of Intelligent Integration of Information Using an Asynchronous Trigger Processsor
AFRL-IF-RS-TR-2000-72, Final Technical Report, June 2000

The TriggerMan architecture is made up of the following components:
  1. the TriggerMan DataBlade which lives inside of Informix,
  2. data source applications, which are programs that transmit a sequence of update descriptors to TriggerMan describing updates that have occurred in data sources,
  3. TriggerMan client applications, which create triggers, drop triggers, register for events, receive event notifications when triggers fire, etc.,
  4. one or more instances of the TriggerMan driver program, each of which periodically invokes a special TmanTest() function in the TriggerMan DataBlade, allowing trigger condition testing and action execution to be performed,
  5. the TriggerMan console, a special application program that lets a user directly interact with the system to create triggers, drop triggers, start the system, shut it down, etc.

Here were the requirements for TriggerMan at the time:

Window NT 4.0, Informix Dynamic Server version 9.14 or later for Windows NT, Microsoft Visual C++ 6.0, and Microsoft Visual Basic 6.0 are required to compile and run the software.  The main body of the TriggerMan cocde consists of 26,000 lines of C.

Other papers written about this project, design documents, and instructions for it's use are available here:

    http://www.dbcenter.cise.ufl.edu/triggerman/

Vigilert

The developers of TriggerMan decided to commercialize their product in what became Vigilert under the company Velara Software. The company folded in 2002, apparently before they were able to produce in a form deliverable to any customers. "Velara released an alpha version of its scalable alerting system, Vigilert, in March 2001."

Vigilert integrates automated alert recognition directly into digital business processes, which proactively and immediately recognizes when important events take place. The server then instantly notifies, or alerts, any designated tool, application or device (fixed or wireless) that is able to receive a message.

Middleware Vigilert

The first version of Vigilert, which supports Oracle, Informix, and Microsoft SQL server, and runs on
Windows NT 4.0 or higher, functions as a middleware process separate from the database system.
This version is the primary product platform, because it is the appropriate mechanism for integrating
and monitoring information from multiple sources. The middleware version covers a broad range of
database platforms, since it can connect to a database over the company’s network. The database
server can be running on any type of machine or operating system.

DataBlade Vigilert

This version is a unique alternative to the middleware version and has special benefits for existing users
of Informix, processing certain types of rules that involve multiple database tables several times faster.
This version gives Velara an advantage in the market in being able to target specific users, because the
profile of the typical Informix customer is that of a technology-driven, early adopter.
Both versions streamline business processes by reducing latency (dead time) in business workflow,
strengthen relationships by immediately providing customers and suppliers with relevant information,
reduce costs by permitting enterprises to work more efficiently and act on exceptional events early,
before they become expensive, and increase revenue my providing superior alerting products and
services to customers.

Program Source Code

It's possible that we may be able to get the source code to Triggerman or Vigilert from the University of Florida. The University of Florida may want money for it, however. Here are the email replys I received from the authors of Triggerman/Vigilert::

From: Eric Hanson (SQL SERVER) [Eric.N.Hanson@microsoft.com]
Sent: Tuesday, April 21, 2009 6:39 PM
To: Langley, Scott E
Subject: RE: Triggerman Project

Hi Scott,

This is a blast from the past. Back from 99-2002 I actually started a company to sell this but I left the company and the company eventually failed. I don’t know where the latest source code is, or whether you could get rights to it from the University of Florida. The person most likely to know is Albert Vernon (my co-founder and a former student at UF, aev@vernon.nu).  

Best regards,

Eric




From: Albert Vernon [aev@vernon.nu]
Sent: Wednesday, April 22, 2009 11:36 AM
To: Langley, Scott E
Subject: Re: Triggerman Project

Hi, Scott.

After our company went under, the license to the code reverted to the University of Florida Office of Technology Licensing.  As far as I know, it remains available for licensing from UF OTL, assuming they haven't lost it.

If I were doing a new database alerting project, I'd probably write something from scratch based on the ideas in the TriggerMan paper or perhaps the NigaraCQ paper.  I'd also make the fundamental change-capture mechanism a queue instead of a database table.  There are wonderful tools now for writing large scale systems that were not not available to us in the 90s such as the Erlang programming language, Amazon's Elastic Compute Cloud, and FreeBSD's kqueue facility.  In addition, the Vigilert code base is in C, only runs on Windows, and has certainly suffered software rot since it has not been maintained since 2002.

You may also wish to look at StreamBase.com.

Those are interesting scenarios you described. We explored adverse event reporting and disease surveillance as possible applications of TriggerMan.

One reason we had difficulty in selling it as a product is that companies who needed alerting already had their own in-house tools that worked just fine. I imagine that is even more the case now, a decade later, with better hardware and more productive programming languages.

I don't know how illuminating the TriggerMan source code would be. I'd recommend reading our original paper, which I have attached. Negotiating a license from UF OTL is time consuming. It took me six months when I did it. They also tried to insert many onerous clauses wanting royalties, stock options, and profit sharing. If you do decide to pursue it, the person below was my contact, assuming he still works there.

Bruce Clary
University of Florida Office of Technology Licensing
(352) 392-8929
bclary@ufl.edu

An approach worth considering for your organization is throwing data (or perhaps just metadata) into a central queue and have various programs monitor it for events of interest. Amazon Simple Queue Service combined with RSS feeds might be a cheap way to accomplish your goals.

http://aws.amazon.com/sqs/




-- ScottLangley - 23 Apr 2009


This topic: PopSci/SCHARP > WebHome > TSS > IS > XappsSpace > XappsRSSFinance > DatabaseChangeNotificationsToRSS > TriggerMan
Topic revision: r3 - 2009-11-17 - 14:07:18 - ScottLangley
 
This
                      site is powered by the TWiki collaboration
                      platformCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback