Serving Sensor Data

Posted on June 22, 2010 by Markus Stocker, Recommended 0 | Recommend

I’m assuming a given repository for time-series as it is common for sensor data. Such a repository may be any kind of RDBMS. In the following, I discuss what may be one possible way to serve data managed in the repository to client applications. I’m further assuming that a standard client operation is to retrieve time-series for a time interval [t1, t2] for a specific sensor managed by the repository. Finally, we may have a number of different clients, e.g. users connecting with a browser and applications that reuse the data for some purpose.

A solution could be to expose the data in the repository using a RESTful framework, e.g. Restlet. Part of the elegance of this approach lies in URI templates. For the purpose discussed here, we could route the following URI template to a specific resource,

and replace the templates for sensorId, t1 and t2 with values for a specific request, being t1 and t2 points in time representing an interval. The approach is also elegant because content negotiation allows us to serve multiple representations of the resource, i.e. serve different representations of the time-series depending on the user agent. Notably, a user calling the resource within a browser may want to see a plot of the time-series while an application calling the same resource would be better served with an RDF/XML representation of the time-series, e.g.

Naturally, XML or SensorML may be served also, possibly as a separate representation.

Post to Twitter Post to Yahoo Buzz Post to Delicious Post to Digg Post to Facebook Post to Reddit Post to StumbleUpon

Comments

2 Responses to “Serving Sensor Data”

  1. Markus Stocker
    July 5th, 2010 @ 4:19 pm

    Pachube described at [1] is a system that resembles the description above, aside from RDF/XML.

    [1] http://www.pachube.com/

  2. RESTful Sensor Server : Markus Stocker
    August 5th, 2010 @ 8:33 pm

    [...] in June I wrote a short note on how sensor data could be served to applications such that the interface is platform and language [...]

Share Your Thoughts - We'd Like To Learn From You!





Before you send your comment, make sure to enter the two words displayed
below in the input field. If you can't read the two words, use the reload icon
to get a new pair.

 

You need to log in to vote

The blog owner requires users to be logged in to be able to vote for this post.

Alternatively, if you do not have an account yet you can create one here.

Powered by Vote It Up