  In the last decade, many semantic-based routing protocols had been designed
for peer-to-peer systems. However, they are not suitable for IoT systems,
mainly due to their high demands in memory and computing power which are not
available in many IoT devices. In this paper, we develop a semantic-based
routing protocol for dynamic IoT systems to facilitate dynamic IoT capability
discovery and composition. Our protocol is a fully decentralized routing
protocol. To reduce the space requirement for routing, each node maintains a
summarized routing table. We design an ontology-based summarization algorithm
to smartly group similar capabilities in the routing tables and support
adaptive routing table compression. We also design an ontology coding scheme to
code keywords used in the routing tables and query messages. To complete the
summarization scheme, we consider the metrics for choosing the summarization
candidates in an overflowing routing table. Some of these metrics are novel and
are difficult to measure, such as coverage and stability. Our solutions
significantly reduce the routing table size, ensuring that the routing table
size can be bounded by the available memory of the IoT devices, while
supporting efficient IoT capability lookup. Experimental results show that our
approach can yield significantly lower network traffic and memory requirement
for IoT capability lookup when compared with existing semantic-based routing
algorithms including a centralized solution, a DHT-based approach, a controlled
flooding scheme, and a cache-based solution.
