FlowRunner is a high performance
matching engine for
processing events in near real-time
The software enables continuous
query on incoming data stream. The
processing engine is a set of
components that enables
applications to easily incorporate
efficient processing of large volume
of events. The incoming data streams
are processed and dispatched on
publish-subscribe basis. This
architectural data model defines
very granular and flexible interface
to other subsystems.
|
|
The software is an enabling
component for "on the fly" decision
making, notification and alerting. |
What platforms does the software
run on?
The software is a set of Windows
.NET assemblies that do not rely on
external database. |
What interfaces are used to
interface with other subsystems?
All native .NET interfaces are
supported including remoting.
Subscription and triggering objects are strongly-typed via XSD
which can be extended. |
 |
Does the system sends emails
when subscriptions have been matched?
No. The system does not handle
delivery of matched subscriptions.
The software is a toolkit, and it is
the responsibility of a host system
to integrate various notification
mechanisms. |
How does the software work?
The software employs a very
efficient B-Tree like traversal
algorithm to trigger subscriptions
based on events. The resulting trees
are very memory efficient and
self-rebalancing. |
How efficient is the system?
The software is heavily
multithreaded so performance
improves with additional CPUs. The
performance depends on number of
outstanding subscriptions, their
complexity, and the number of
incoming events per second. A
reasonably complex subscription list
with 100,000 items is can be
traversed in under a second. |
Is the software a real complex
event processing engine?
No. Some of the more advanced
features such as the ability to
process and correlate multiple
streams, "window of time" based
computations are not available. |
Is the source code available?
Yes. The source code is available
for licensed users. |
Are dynamic queries
(subscriptions) declared using SQL
syntax?
No. The subscriptions are
declared using XML-based API. This
XSD-based model is extendable using
derived types. User defined
functions (operators) are also
supported. |
|
|
|