The Transport Sample Protocol (TSP) goal is to provide a standard interface for data distribution between a provider and several consumers on different hosts, allowing both flexibility and performance aiming at the ease of sampling analysis.

The TSP protocol, which is based on TCP/IP, allows a client to register to a TSP provider for synchronous (or asynchronous) sample delivery. It permits to select a subset of bench symbols at a selected update frequency.

The protocol may be used by several TSP consumer (text, graphical, ...) which will use the obtained symbols for real-time or batch display or post-processing.

Today, this protocol has been implemented as C library based on POSIX calls, running on Linux, Windows, Solaris, OSF1 and VxWorks (provider side only).
There is a pure Java implementation for the consumer-side too.

The original need for this project comes from the space industry satellite validation benches. In the use of a validation bench, many parts of the running software and connected hardware should be monitored. This monitoring traces the evolution over the time of huge numbers of parameters at high frequency (example 100 up to 5000 variables at 128Hz). This is the essence of "sampling" bench variables subsequently called bench symbols or sample symbols.
The different parts of the validation bench may then send a stream of data containing the different values of the queried symbols over time.