A collection of CloudTurbine (CT) prototype utilities illustrate the range of capabilities and integration options available to CloudTurbine users, and show the technology in-action.



CTserver is an HTTP web server that makes CloudTurbine data files available via web-compatible URLs. Ubiquitous, standard browsers and/or standard javascript may access data in this fashion. CTserver is a workhorse utility as it provides a very convenient and powerful interface to CloudTurbine data.

Following is an outline of the URL GET command syntax for retrieving data.

The fetch options are in URL parameter format, as summarized in Table 1.

Table 1:  CTserver URL Syntax





time point of fetch (sec)

0 (relative to time reference)


duration of fetch (sec)

0 (single point)


time reference (oldest, newest, absolute)


CTserver  URL  syntax  is  compatible  with  both  the  DataTurbine WebTurbine and     CloudTurbine

WebScan interfaces interchangeably.


The  CTsync utility monitors a file folder    in real-time and converts new files to CloudTurbine format,

    1. under time-stamped subfolders. CTsync has options to produce either uncompressed or zipped output, delete or retain original files, and to monitor one-level or recursively down a folder hierarchy.CTUtils_02

Figure 1:  CTsync Automatically Imports Regular Files to CloudTurbine Folders


The CTandroidAV Android smartphone app streams real-time audio and video data in CT files via FTP from a phone to a desktop computer.  It is meant to show in an interactive fashion how the CT  paradigm provides a range of capabilities:

      • High speed data flow (e.g. 10 fps video + 8KHz audio)
      • Time synchronized channels (“lip synced” audio/video RT and playback)
      • Modularity (multi-device operation:  phone, PC, remote web browser

CTUtils_03Figure 2.  CTandroidAV Phone Screen

Figure 2 shows the Android phone menu to control the CTandroidAV app. Figure 3 demonstrates a WebScan screen showing live CTandroidAV video and audio data. Video plays smoothly, and audio scrolls as stripchart and is also played audibly.


Figure 3:  CTandroidAV WebScan Video/Audio Display


The CTandroidACL Android smartphone app streams accelerometer data (3 axes, 100Hz) to CTfiles via FTP. This app demonstrates the wide range of data types that may be readily streamed via CT, and that data from multiple independent sources may be recorded and displayed together.

This app runs similarly to the CTandroidAV audio/video app, and the two apps can be run simultaneously. Figure 4 demonstrates concurrent accelerometer and audio data from two Android data sources displayed in real-time and playback using the WebScan browser interface.


Figure 4.  CTandroidACL Accelerometer and Audio Streaming Data Display


CTlogger is a file parser that converts lines of comma-separated-value (CSV) log-file data to CloudTurbine zip-file format. It automatically extracts new lines of CSV data as they are added to   the

end of a log file in real-time. This provides a simple interface compatible with a wide range of data- loggers, and is easy to adapt to new data sources.

Figure 5 illustrates a CTlogger to CloudTurbine interface for a Northern Temperate Lakes (NTL) demonstration. Note the simplicity of the data source interface:  simply write updated data to a CSV  file in a shared folder. Authorized collaborators can view data via any connected  viewer  (e.g. WebScan, DataTurbine RDV, Matlab). The Figure 5 system also utilizes the CTplugin utility, a CloudTurbine to DataTurbine connector.


Figure 5:  CTlogger to CloudTurbine Interface (noted in red)


CT2CSV, the inverse of CTlogger, converts CloudTurbine zip files to CSV text files. This works only for numerical sensor values (vs binary data such as images). Figure 6 illustrates CSV data extracted from CloudTurbine files of Android smartphone data.


Figure 6:  CloudTurbine Data Exported to CSV Spreadsheet Format via CT2CSV Utility


The CTudp utility captures UDP packets of user-specified format into time-stamped CloudTurbine files.  This is useful for high speed data packets, such as for capturing streaming video.


Figure 7:  CTudp Captures UDP Packets into CloudTurbine Files


CTexample has two simple “Hello World” Java programs to demonstrate how to write and read CT files via the CTlib interface:

CTsource: Write CT files.  Configurable to write multiple blocks of data.

CTsink: Read CT files.  Reads and displays status of CTsource-written files.