Part 1: Cloud & REST | Part 2: HTML5 WebSockets | Part 3: Physical Mashups
A few weeks ago, I started posting a series about the project we were working on while at MIT: applying the Web of Things patterns and blueprints to the RFID global network (EPC Network). Better late than never, here is the last part of the posts series: Physical Mashups.
Physical Mashups are applications unifying the Web of today and tomorrow’s Web of Things. Tech-savvies, i.e., end-users at ease with new technologies, can create Physical Mashups by composing virtual and physical services. Following the trend of Web 2.0 participatory services and in particular Web mashups, users can create applications mixing real-world devices such as home appliances or sensors with virtual services on the Web.
Thanks to the deployment of the EPC software stack in the cloud and the implementation of a RESTful architecture for RFID, we can now implement Physical Mashup editors for enabling users to flexibly model use-cases of RFID infrastructures. Let us think for instance of an Electronic Article Surveillance system (aka EAS). For this use-case, we design new mashup building-blocks:
If it is the case, nothing happens. If it isn’t the case (i.e., the goods were stolen), the Video Camera block is triggered. This components represents a Webcam that can be used to take snapshots through a RESTful API. The URI of the snapshot is then sent to all subscribers of a particular topic (i.e., URI) through t-Pusher. As an example we developed a small mobile Web application with Sencha Touch which subscribes to the topic and loads the corresponding image alongside with the EPC number of the stolen good (see mobile phone in the figure below). Such an application can be used to push information about the theft to all staff members in a store.
Once a mashup has been successfully created and tested locally with Clickscript, it can be exported to our Physical Mashup Engine where is it going to be deployed remotely executed. This illustrates well the benefits of transforming every standard in the EPC Network to offer RESTful Web APIs: development is streamlined to Web development and cross-integration with existing services on the Web (e.g., social networks, visualization tools, could infrastructures, mashups) becomes very straightforward.
The full use-case was tested in a lab deployment at the MIT Auto-ID Labs featuring a standard gate (LLRP) RFID reader and an off-the-shelf Webcam as shown in the figure below. The average observed RTT (round trip time: from the reader, to the Amazon Cloud instance, through the mashup engine and finally to the mobile Web application) was around 1 second. However, it is worth noting that this RTT stronlgy depends on factors such as the available connection bandwidth, the type of instances used on Amazon EC2, the current load of the cloud appliance, etc. Since these factors cannot all be controlled this is a real challenge for IoT / WoT applications in the cloud and we are eager to hear about your real-world experiences in the comments!
For more details about the project, have a look at the published paper or the slides below: