What is Time Indexing
The technology for time-indexing provides a way of utilizing a
specialized container
for data that is time-ordered.
The container has been designed from its inception to be optimized
for building applications that have
inherently time-ordered data.
The design is based on some proven academic research that is
being brought to market and commercialised. The original
research had a narrow focus, namely, to record and playback Internet-based
video conferences. This commercial version
has a broader scope than the original work and encapsulates
ideas from commercial applications used in the financial and data
analysis arenas which deal with
time-series data. This has been
done in order to increase the applicability of time-indexing
to a much wider range of data sets and applications.
The concept of time-indexing was novel when the original
research was done, but with the inclusion of the extra ideas
the result is some cutting edge technology.
The design of time-indexing defines two main things. The
first thing defined is the set of operations on the container,
the second thing defined is the set of data formats that the
container can be in. The fundamentals of time-indexing
technology is therefore, programming language independent.
From the definitions of thr operations and the data formats,
a language specific binding can
be written which allows applications to utilize time-indexing
in virtually any programming language.
Time-indexing has a set of
interesting properties and features which allow applications
to store and access data held at particular times.
The data itself is held in a time-indexed container, and
the features provided allow the applications to store and access the data
held at particular times, thus allowing the
applications to process the data in an application specific way.
Time-indexing does not interfere with the data itself, but provides a
time navigation mechanism to get to data.
Time-indexing is not a specific application in its own right,
rather it is a shell for building time-based applications.
This is in a similar way that a traditional database is not a specific
application, but is a shell for building data-centric applications.
In both cases, if there is no data and no application code then,
neither have any specific function. It is only when data is put in them,
and application code is written that some useful function prevails.
In time-indexing, time is the primary item, and time-indexing
is specialized for time-based tasks. Everything is presented
as streams of time, with data attached at particular times.
More general storage mechanisms, such as databases, make many
compromises to do the task of data manipulation well, but do
time-indexing poorly.
|