TrakHound DataClient reads MTConnect® streams and sends the data to TrakHound DataServers to be stored.
DataClients communicate with MTConnect using the standard request structure of Probe, Current, and subsequent Sample streams. MTConnect data is then converted into StreamData which is categorized into AgentDefinitions, DeviceDefinitions, DataItemDefinitions, ComponentDefinitions, and SampleData.
Data is sent to DataServers in the JSON (Javascript Object Notation) format over a streaming TCP connection. Data is sent in both directions in that the DataClient sends a single StreamData item and then waits for a response from the DataServer. The response from the DataServer is used to validate the format and, when used with the TrakHound Data Hosting service, validate the Api Key and Device ID. Possible DataServer responses are listed below:
By using TCP, the connection also supports SSL(TLS) which can be used to both encrypt data and verify the connection to the DataServer. Certificates are setup on the DataServer and the DataClient is configured to use SSL by setting the UseSSL parameter in the DataClient's configuration.
A Buffer is used to store data that was unsuccessfully sent to the DataServer in the case of a temporary loss of connection. The buffer is composed of multiple csv files. By storing the buffer on the filesystem (as opposed to in memory), this makes the buffer 'non-volatile' and is automatically recovered on power loss. This system insures that data is never lost and allows for easy DataServer maintenance.