Sensors are important part of common data producers at these days. We are searching for effortless and straightforward utilization of existing sensors that are available on the web during the pilot Open Sensor Network. But reusing of existing sensors run by third-party providers comes with lot of questions. These questions reaching from initial searching of these services via satisfactory description by metadata and coming to filtering of found sensor candidates. Very good comparison is that as same as we are searching suitable repairman company in yellow pages, it can be useful to find some universal “yellow pages” for searching appropriate sensors and sensor data producers.
First very promising candidate is IoT Discovery GE from the FIWARE world. According to the documentation, IoT Discovery can be considered as a point for data producers to register the availability of sensors, and for data consumers to discover available data. IoT Discovery is using either the OMA NGSI-9 messaging protocol, or the Sense2Web API that supports Linked Open Data. Both interfaces serve as a service discovery mechanism (SDM) for IoT Descriptions. An SDM is analogous to a registry or directory for IoT entities, where information about the IoT entity can be discovered (e.g. what attributes can be queried, or to get metadata about those attributes providing more detailed information.) It also provides information on how to reach the entity. SDM allows users to discover or check what is available and know where actual context sources are, and avoid unnecessary network overload of IoT context providers.
IoT Discovery consists of two modules:
- NGSI-9 server allows NGSI-9 clients to register and discover descriptions about the availability their IoT entities, which are based on the NGSI context entity model. The main component of the NGSI-9 server is the NGSI-9 handler and the NGSI-9 store. The NGSI-9 handler acts as the configuration manager. The NGSI-9 handler is responsible for handling requests based the corresponding function, and also handling the representation of the request/response based on what the client sends and expects (currently XML or JSON format). The NGSI-9 store is responsible for the storage of registrations and subscriptions, and querying the store based on a client’s discovery request.
- Sense2Web Platform addresses the discovery of IoT objects, by providing a repository for IoT Context Producers to register their IoT Things, Resources, and Devices using semantically-annotated descriptions. Descriptions are based on the IoT Architecture ontology models. One of the main goals of this component is to make use of semantic annotation in order to apply formal naming and relational conventions to the description of an IoT Object, which is explicitly absent in NGSI-9/10. The component makes use of the Sense2Web IoT Linked Data Platform baseline asset, which provides a repository for the CRUD (Create, Read, Update and Delete) management of semantic IoT descriptions, that complies with the IoT-A ontology models.
Sense2Web provides a set of interfaces. The first is a Web User Interface where an user can perform CRUD operations on the IoT descriptions, and also query the IoT descriptions as well. When registering or updating, a user can either upload an IoT Description or complete a form which is then sent to the server to be converted to RDF, and stored in the RDF database. The second interface is a RESTful CRUD and SPARQL interface. This interface mainly supports M2M interactions. An application can also perform CRUD operations on the IoT descriptions in the repository, and query for a particular piece of information from the descriptions using SPARQL. The third interface allows users to query about an IoT description using keywords or templates that share the same structure as the IoT description. This type of query input is handled by the IoT Search Engine, which will search for the relevant query.
We are testing IoT Discovery at this time and trying to prepare middleware tool for harvesting metadata of SOS services into semantic description.