In the last 30 years, messaging middleware software (MOM) has been offering store and forward services by decoupling senders (publishers) and receivers (subscribers) while offering various levels of QOS and transport protocol options. As hardware options became multi-core and with the aid of developments in Service Oriented Architecture (SOA), Event Driven Architecture (EDA) and cloud computing, a plethora of MOM products have emerged most of them based on the popular publish-subscribe paradigm. This has also led to standardisation efforts both at the API level (JMS) or the transport protocol level (MQTT, AMQP) and an ever increasing developer user base.
The majority of today’s IOT architectures involve a gateway node that bridges sensor/field networks with the internet. This is typically done either by using the consumer internet subscription or by leveraging new long range WAN technology such as SigFox and LoRa. In the majority of real world cases, the gateways use advanced software to buffer / support back pressure, an unavoidable result of the network diversity and intermittent connectivity of IOT and mobile nodes.
In an effort to find a killer application for DTN that is immediately useful and based on technology available today, we have researched an IOT gateway architecture that acts as a bi-directional convergence layer between MQTT events and RFC 5050 Bundle protocol packets. This allows existing MQTT based sensor applications to leverage DTN services without the need to make any code modifications. At the same time, the approach allows the definition of alternate DTN based routing paths between the gateway and the accompanying data ingestion cloud services, without being restricted from the typically tiny routing table size. Geographically dispersed such gateways can now also provide routing services for each other by further converging over Licklider Transmission Protocol (LTP) for all or a subset of the messaging namespace payloads. Finally the cost of data ingestion from occasionally connected field networks is greatly reduced due to the simplicity of developing applications for them.