Engineering Resilient IoT Systems

Internet of Things image
Omnipresent, constant connectivity has created the whole slew of mobile devices, things, objects and subjects properly called the Internet of Things IoT [1]. Miniaturization of devices, technology advances and changed social circumstances, has led to a climate of high expectations for the forthcoming markets for 30-50 billion IoT devices. As IoT represents an intricate mix of devices, objects and living things, it could be rightly compared to a living ecosystem: impossible to understand fully or control entirely.

Looking into nature as the best model for a resilient ecosystem, and into biology as inspiration for the discovery of new technologies, we believe that artificial, engineered systems should strive to emulate (as best as possible) natural ecosystems. Engineering, as one of the oldest human disciplines (lat. ‘ingenerare’ meaning ‘to invent’, ‘to create’), is about using science and technology to design, build and maintain devices, structures and systems. In this post, we will outline our idea of emulating natural ecosystems with devices, structures and systems exhibiting superior resilience.

Artificial Versus Natural Worlds

Resilience is the capability of a system to resist threats, evolutionary changes and internal weaknesses; to maintain essential services, and learn to adapt and improve. In other words, artificial or man-made systems will be able to exhibit a certain level of intelligence. In the natural world, a hierarchical order of species is used for model and description, and we will make an analogy in the proposed artificial system. Table 1 combines intelligence level with reaction latency and a typical volume of data to be handled – as pseudo requirements for our IoT ecosystem.

Engineering a highly complex, constantly evolving and adapting system implies a very careful tradeoff among cost, performances and resilience. This trio obeys an old engineering chestnut: pick any two and forget the third. So, if you want a performant and resilient system, forget the cost – it will be very expensive.

Layered, Hierarchical and Resilient Architectures 

In the previous century, one of the forefathers of Artificial Intelligence and Complex Systems, Herbert Simon [2], described the hierarchical structure of complex systems as the best model to exhibit superior performances.  Simon viewed these structures, roughly speaking, as a set of embedded control loops able to operate autonomously while in synch with inside and outside loops.   Along these lines, we suggested the following conceptual IoT architecture, consisting of three engineering layers which we will describe briefly.

On top, the Cloud level will exhibit intelligence comparable to human, that is to exhibit  resourcefulness. The distinguishing characteristic of a resourceful system is that it is able to adapt its behavior automatically in a changing environment. For example, in a computer chess playing game, if the program loses its queen it is able to formulate a new plan for winning the game. Generating code or procedures based on AI techniques to maintain service when losing a resource will take a certain amount of time which has an impact on latency. Resourcefulness also implies the ability to deliver any scale, speed or capacity of resources.

The middle layer, called opportunistically Intelligent Edge, is about redundant and resilient communication ensuring permanent connectivity even in a catastrophic situation: reduced capacity and capability, but available. The mechanisms used in this layer are the typical network and system detect, failover, recover and repair techniques for network and software high availability.

The bottom layer, consists of smart Edge devices embodying an insect-style of intelligence which implies a high level of autonomy and redundancy. The mechanisms for resilience at this level are pre-established rules that encode the reactions to changing environmental conditions with safety as the primary concern. Very little processing can be done in order to satisfy the very low latency requirements, similar to the way we instinctively withdraw our hands when touching a very hot surface without thinking about it.

When taken all together, engineering a resilient IoT system will treat, provide and ensure resilience in all three layers while providing orchestrated, coordinated and coherent behavior of the system as a whole. Early research in Artificial Intelligence has explored and developed models of such systems. It seems the time has come that contemporary technologies may enable construction of such superior and resilient systems. And if we recall the saying of the brilliant Leonard da Vinci [3], we still have a lot to learn from Mother Nature. Therefore, we will be facing interesting times in IoT developments.

References

[1] Jeffrey Voas – NIST, Network of ‘Things’, https://www.nist.gov/sites/default/files/documents/itl/antd/Jeff_Voas.pdf

[2] Herbert Simon, The Sciences of the Artificial, The MIT Press, September 1969

[3] Leonardo Da Vinci, ‘Trattato della pittura’ – Those who took other inspiration than from Nature, master of masters, were laboring in vain. [Leonardo da Vinci – 1500] – Quegli che pigliavano per altore altro che la natura maestra de’ maestri s’affaticavano invano. LEONARDO DA VINCI, Trattato della pittura, 1500 c.

David M. Penkler

Author: David M. Penkler

Dave is a technologist at HPE where he is responsible for forward looking technology in the Internet of Things for service providers. He has 35 years of experience in networks and telecommunication systems. Other interests include silicon photonics, open source, LISP and APL.

Kemal A. Delic

Author: Kemal A. Delic

Kemal A Delic is a senior technologist with DXC Technology. He is also an Adjunct Professor at PMF University in Grenoble, Advisor to the European Commission FET 2007-2013 Programme and Expert Evaluator for Horizon 2020. He can be found on Twitter @OneDelic.