|
Project Eyeballs
Project Eyeballs will be a multi-threaded, multi-processor
capable system modeled after the Computational Grids
architectures for computationally intensive research.
The core component of Eyeballs is the visual layer. Each visual layer is a thread assigned to a specific processor. It pulls visual processed data from any
set of upstream visual layers and applies a set of filter
operations sequentially to the data.
Each visual layer is also a server to any connected
downstream client visual layers, providing post-processed data as requested
by the client(s).
The control thread, along with any satellite control threads, provide control,
monitoring, and reporting of the visual layer processing.
The tap proxy thread provides a means to tap into any visual
layer data edge to provide a streaming (multi)part MIME data to any requesting
client viewer (e.g. web browser).
Eyeballs will provide:
- XML specification to configure specific
visual processing models.
Part of the specification is the visual layer connectivity (plumbing) via
graph vertex-edge XML elements.
Directed cyclic graphs will be supported.
- Open and documented SOAP messaging interface
for control processing.
SOAP allows message extensibility.
- MIME structured visual layer output data.
MIME types can be extended for any conceivalbe data formats.
For example, the hypothetical MIME type 'application/nn'
could represent a neural-network (NN) format for the output NN node values
which can then be fed to a requesting client visual layer for more
NN processing.
- Open, plug-in component interfaces for (pseudo)
video hardware.
- Open, plug-in component interfaces for visual
layer filters.
- Built-in control functionality for processor
resource allocation and monitoring.
- Graph edge tapable points to allow user
monitoring and debugging.
- Manager client provides user management
interfaces to Eyeballs.
One possible Eyeballs configuration is shown in Figure 1.
|