Most TripleBlind operations such as training or generating a report are a
single-shot operation, but there are use-cases where it would be useful to run
an inference repeatedly.  For example, an inference that takes in the last 30
seconds of data in order to predict some near-future event.

In this example we will illustrate two companies cooperating to provide
real-time predictions.  The first organization (team_id = 1) will own data which
can be used to predict future demand.  The second company (team_id = 2) wants to
utilize this prediction to adjust their operations in real-time to meet that
demand.  However the actual data used in the prediction is sensitive and cannot
be exposed to the second company.

For this example, the data itself is held by the first company and stored in a
MongoDB database.  The prediction will be generated from a 30-second window of
data, and initial training is performed on a dataset containing this sort of
training data.  This produces the trained model asset.

For the real-time inference operation, the data-owner creates a view on their
live database that returns only the last 30 seconds of data.  This example
includes a script for simulating this locally in a MongoDB database.

The output of this streaming inference is made available to both the data owner
and the model owner.  The 4b_continuous_inference.py script launches and
monitors the process for the data owner, the 4c_stream_updates.py script
connects to the output stream for the model owner.

NOTE: This demo requires a local installation of MongoDB.
