This page contains information about the latest (as of Feb. '05) source
code release of the Stanford Stream Data Manager prototype (STREAM). More
information about the STREAM project can be found here . This release contains the
code for the main STREAM server and for a GUI client to interact with the
server over a network. The server can also be used as a library, and
directly linked from a C++ program. The code release includes an
extensive user manual, that contains detailed
information about the functionality and design of the STREAM prototype.
The stream source code is released under the BSD
STREAM Prototype Source Code
The code has been packaged using the standard GNU tools, so the usual
technique for installing such packages works. For illustration, we assume
that the code will be extracted, built, and installed in the following set
System Requirements: GNU build tools, bison, and flex. The code
has been built and tested only on Linux platforms.
- Directory where the code is extracted:
- Directory where the binaries, libraries, and headers should be
installed after building:
These four steps generate:
- cd /home/user/stream-0.6.0
The configure script accepts other options for more fine-grained
control of the installation; run ./configure --help for a list
of these options.
- /home/user/stream/bin/net_server: The main server that talks
to the GUI client.
- /home/user/stream/bin/gen_client: A standalone server with
a thin command line client
- /home/user/stream/lib/libdsms.so: The stream library that can
be directly linked to your C++ program.
- /home/user/stream/include/*: The header files for use with
We have provided a collection of test scripts to check if the server
has been built properly. To run the tests:
To remove the temporary files produced while testing:
- Java 5.0 Runtime Environment/JDK 1.5.0 compiler. Earlier versions of JDK
are probably fine too, but we haven't tested these.
- Apache Ant 1.6.2.
Steps: The following steps assume for illustration that the client
code has been extracted to /home/user/stream-vis-0.3.0/.
These four steps generate the jar file STREAMvis.jar at
chmod +x geninit.sh
The most convenient way of using STREAM is to start the net-version of
the server (net_server) and connect to it using the GUI
client. The GUI client allows you to register streams and queries
with the server, view the query plans generated by the server, and
monitor the performance of the server. The links below provide
information on how to start the server and use the client.
There are two other ways of using the STREAM prototype: You can use
the command-line version of the server (gen_client) or
directly link server library to a C++ program. These two methods are
more suitable for profiling purposes. Please see the user manual for more details.
Please send your questions and comments to firstname.lastname@example.org.
Last modified: Nov. 08, 2004.