LWTSD in Clayster

Access tokens

LWTSD supports something called Accesstokens. These are used to let foreign APIs supply tokens to the data storage.

In Clayster there are natural keys for a client (consumer or controller) that can be supplied to the serving party to make things easier. Data Session IDs should be included as access tokens when communicating via LWTSD. However, you may only supply one session id. This is to simplify for a storage point and to reduce the security risk in complex aggregation implementations.

The name of the accesstoken shall be urn:clayster:cdo:sessionid.

Note

Supply one and only one accesstoken in the form of a data session id.

Time outs

LWTSD supports relative and absolute time outs. Relative time outs are not perfect with XMPP core because there are no time stamp of when the messages were actually sent or received. Therefor Clayster uses absolute time outs and a synchronized time. It is recommended that when using LWTSD together with Clayster that absolute time outs are used. The absolute time out should be set in UTC. More about this below.

Note

Use absolute time outs with UTC timestamps.

Timestamps

When possible it is recommended to use UTC as timezone for all timestamps. Localization is problematic. The only way to do proper localization is by shipping databases. And since time zones is a political matter the data bases may be obsolote at any given time. In high-level applications this is rarely a problem, however, in legacy devices this often becomes an hassle and support is unfortunately often done with hard coded time zones.

Note

To make life easier for everyone we recommend using UTC when it is possible.

Schematics

Clayster contains a high-level registry of resources and their capabilities. For lowlevel details we recommend the usage of data transfer protocols schematics. In LWTSD there are two different schemas; Simplified or Extended. We will only focus on Simplified.

The Simplified schema - from now on just schema - contains information about data types, valid ranges and supported operations.

Schema version

The schema has a version (revision id). When making a read-out the current schema version is returned together with the data. This allows the reader to update the schema if the version changes.

Clayster Verbs in LWTSD

Supported Verbs from Clayster in LWTSD are;

  • GET - Used for read-data.
  • SET - Used for write-data.

Note

Unknown verbs must be ignored in LWTSD.