One conversation topic I hear these days is: the Internet of Things is coming and all the devices will be intelligent. It will be achieved by embedding some kind of AI technology or machine learning or reasoning or whatever into the devices themselves.
But all this makes me think of Rube Goldberg machines, there’s a nice animation too.
Why do I say that? Because with the IOT of devices potentially reaching into the billions, the mainstream artificial intelligence and reasoning approaches have not been proven to reach into that kind of complexity: the kind of complexity where everything could interact with anything. The complexity in which smart choices need to be made by, what we have today as, dumb devices.
Of course, there is a lot of technology pouring out of companies and most of it written be engineers that have an imperative mindset. What I mean is that they see the world as if through a soda-straw, a very narrow field of view, buried in the minutea of codifying instructions that not only tell machines whatto do but also how to do it. And in this is hidden a myriad troubles!
For example, suppose a couple live in an IOT home. The locks are smart and know your fingerprints and other bio-metrics, the garage doors open and close because they know when you arrive, when you want to leave and whether or not someone is a visitor or a stranger to your home. In effect, your devices know who you and your spouse are, and, they are personalized in service to your family. Your car knows about other cars and about roads. Your home and all its devices are in your family service.
Then life happens and you divorce each other: so sorry, so sad.
It goes from bad to worse: you are now in a fight over assets, rights and dues. Arriving home one evening, you notice that your spouse still has full access to all kinds of devices and that the garage door opened, the TV is missing and so is your sports car, which you paid for. Of course you retaliate and turn of access online to the TV and the car devices – they will not work properly with your estranged spouse. Returning to work the next day, working hard, then arriving back at your home, you discover that nothing works: the doors don’t work and the remaining devices treat you like a stranger. The devices sound the alarm and police arrive to arrest you, at what you thought was your home.
Obviously this is drama. I am trying to envision the possible cases.
People are smart. They can work together and figure things out. Why cannot computers work together and figure things out? Societies at the level of small tribal groups, villages, towns, cities, states and nations are simply amazing adaptive communicative systems of human beings. People work and interact together overcoming the brittleness of facts and rules, engaging and creating productive outcomes together. They can handle spousal divorce, moderate, mediate and dampen the aggression even when things get really bad.
Why can’t computers work together and figure things out too?
A paradigm shift is what is needed. One aspect of the problem boils down to moving from an imperative mindset to a declarative mindset. The declarative mind is focused on the end intentions: the outcomes desired, and, working backwards from that goal, what policies are appropriate down to the nitty gritty protocols and their semantic operational exchanges (between devices).
In today’s paradigm, in the imperative world, where engineers still control how devices ought to do things, we have wonderful possibilities of having Botnets made up of televisions and refridgerators that can attack businesses or countries. Take, for example the case what I can only call an Appliance-BotNet:
“Security researchers at Proofpoint have uncovered the very first wide-scale hack that involved television sets and at least one refrigerator. … The hack happened between December 23, 2013 and January 6, 2014, and featured waves of malicious email, typically sent in bursts of 100,000, three times per day, targeting enterprises and individuals worldwide.”
Unless we figure out how to address this problem, the Internet of Things may turn out be the crash course in crash and burn breakdowns. The idea that one can apply current imperative technology approaches for data analysis, routing, recognition, security, command and control for the Internet of Things faces large hurdles that may not be immediately obvious. Hurdles such as predicting automation surprises: when things do not behave as expected due to unforeseen consequences of interaction. This is where declarative technologies and systems based on Software Defined Networking (SDN) composed declaratively could provide superior risk mitigation.
The first idea which is that intelligence can be embedded within a device is a great idea. Make the devices smart like people so that they can reason about and work through various situations even when their human masters aren’t around. If a breakdown happens with the sonic detector in the alarm system of the home, for example, the telephone turns itself on and substitutes as the new sonic alarm while sending a message to the owner.
But then how many messages and at what level of detail should the owner get? With just 10 devices there could be hundreds of inter-device messages and message cascades sent to the owner. Of course, that assumes that your wireless communications protocols allow all the home devices to inter-operate with mutually understandable or interchangeable messages and protocols.
But how do you get that interchangeability? How can devices with one protocol know how to adapt appropriately to the protocol of another device when the messages are “close enough” to get compatibility but still far apart that contexts of meaning are not the same. As an example, imagine that your home has a router hub technology but that your new additions include a mesh technology: how will these two inter-operate? Can your Samsung TV talk to your Sony stereo system? Can the microwave communicate with the stove? Even if the devices are on the same network their protocols may not be compatible.
The challenges become even worse when doing things in the right order matters. Who goes first? The stove or the microwave? Who is in control and for how long?
The key issue facing IBM, Intel, Samsung, Apple and all the rest is that of designing clever integrated circuits and software that do not require super-computing or desktop machines to produce workable, intelligent, inter-device networking and protocol adaptation. Think of two people who don’t speak the same language. Give them a few minutes and they will develop a means to communicate between themselves.
An old story, but a good one that I think is very timely is the news that “NASA lost a $125 million Mars orbiter because a Lockheed Martin engineering team used English units of measurement while the agency’s team used the more conventional metric system for a key spacecraft operation, according to a review finding released Thursday.” – CNN
So the cornerstone challenge in IOT, I believe, will not only be in ensuring protocols and standards but will also be in the design of sufficiently powerful technology to reason, adapt and understand the intention of the humans and applicability of security as well as governance (laws) to any given situation: or at least, to have the ability to not create automation surprises and unintended consequences.
And my last few points: who controls and owns all the data? When services such as Gmail or Facebook are used for “free”, the consumer is actually the “product”: or rather, the data that the consumer produces is that actual product for services received that are actually paid for with this data. Therefore, what do consumers have to pay for Internet-connected infrastructure in terms of data? How about the data from their devices? The question is about who owns the data that is created in either the infrastructure or devices and what control and access rights to consumers have, if any?
Here are two lists that might be of value to all the would-be IOT developers or business managers out there: first, what choices do you need to make in IOT and second, what are the potential obstacles.
Choices to Make in IOT:
1. What is the power consumption need of the device and for how long can it operate – what happens if the battery runs out? Do you need to think about power-harvesting and material design?
2. How will you implement security? At what levels will risks be mitigated – personal data, infrastructure, device? What are the security policy designs that are rigorous but still permit fluid network operations.
3. What are the execution platforms and application programming frameworks and how should they properly work together? In other words, how does Cloud and device, protocol and data sharing standards get specified and implemented in accord with all best interests?
And, lastly, here is my short list of possible obstacles (without much explanation, but a couple of points below, only because anyone is free to ask and write me about this – else this post would just get way too long!):
- OBSTACLE #1: Design Pattern Paradigm Conlicts:
(e.g imperative versus declarative patterns) - OBSTACLE #2 : Disaster Propagation
- OBSTACLE #3 : Schema Interoperability Conflicts
- OBSTACLE #4 : Architectural and Infrastructure Aspectual Conflicts
- OBSTACLE #5 : Representation Conflicts : Agent/Document /Object Models
- OBSTACLE #6 : Interface & Event Driven Conflicts in State Loss
- OBSTACLE #7 : Content & Semantic Mismatch Conflicts
- OBSTACLE #8 : Process Choreography Conflicts
- OBSTACLE #9 : Service Orchestration Context Conflicts
- OBSTACLE #10 : Model Based Architecture Conflicts
- OBSTACLE #11 : Mission Theme: MDA – Federation Pattern Conflicts
- OBSTACLE #12 : Policies and Device Rules Interaction Conflicts
- OBSTACLE #13 : Intensional / Extensional Identiy & Trust Conflicts
- OBSTACLE #14 : Arbitration & Event Exception Conflicts
- OBSTACLE #15 : Conflicted Non-Functional Network Influences(IOT has at least two non-functional quality dimensions of, firstly, theact and experience of participation in the IOT environment or device and, secondly, the modality and intangible aspects of IOT renderingfor example, customer-relationship management, aspects of branding, human form-fit factors and entertaining, pleasing, interfaces).
At Kyndi, we’re contemplating these issues since we are building logic programming and augmented intelligence capable platforms to serve a wide variety of future needs, not the least of which would be to consider applications in the IOT world.
Thank you for reading! Comments welcome.
Don’t forget to follow SemiWiki on LinkedIn HERE…Thank you for your support!
Share this post via:
Build a 100% Python-based Design environment for Large SoC Designs